From fbbf2dd48c4f60e2d2c451f516f7f0803f4c2191 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 24 Sep 2020 22:27:57 +1000 Subject: [PATCH 01/10] Move block test vectors into separate files And refactor them into their own module. --- zebra-test/src/vectors.rs | 34 +----- .../src/vectors/block-main-0-000-000.txt | 1 + .../src/vectors/block-main-0-000-001.txt | 1 + .../src/vectors/block-main-0-000-002.txt | 1 + .../src/vectors/block-main-0-000-003.txt | 1 + .../src/vectors/block-main-0-000-004.txt | 1 + .../src/vectors/block-main-0-000-005.txt | 1 + .../src/vectors/block-main-0-000-006.txt | 1 + .../src/vectors/block-main-0-000-007.txt | 1 + .../src/vectors/block-main-0-000-008.txt | 1 + .../src/vectors/block-main-0-000-009.txt | 1 + .../src/vectors/block-main-0-000-010.txt | 1 + .../src/vectors/block-main-0-415-000.txt | 1 + .../src/vectors/block-main-0-434-873.txt | 1 + .../src/vectors/block-test-0-000-000.txt | 1 + .../src/vectors/block-test-0-000-001.txt | 1 + .../src/vectors/block-test-0-000-002.txt | 1 + .../src/vectors/block-test-0-000-003.txt | 1 + .../src/vectors/block-test-0-000-004.txt | 1 + .../src/vectors/block-test-0-000-005.txt | 1 + .../src/vectors/block-test-0-000-006.txt | 1 + .../src/vectors/block-test-0-000-007.txt | 1 + .../src/vectors/block-test-0-000-008.txt | 1 + .../src/vectors/block-test-0-000-009.txt | 1 + .../src/vectors/block-test-0-000-010.txt | 1 + zebra-test/src/vectors/block.rs | 108 ++++++++++++++++++ 26 files changed, 135 insertions(+), 31 deletions(-) create mode 100644 zebra-test/src/vectors/block-main-0-000-000.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-001.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-002.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-003.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-004.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-005.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-006.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-007.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-008.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-009.txt create mode 100644 zebra-test/src/vectors/block-main-0-000-010.txt create mode 100644 zebra-test/src/vectors/block-main-0-415-000.txt create mode 100644 zebra-test/src/vectors/block-main-0-434-873.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-000.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-001.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-002.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-003.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-004.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-005.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-006.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-007.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-008.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-009.txt create mode 100644 zebra-test/src/vectors/block-test-0-000-010.txt create mode 100644 zebra-test/src/vectors/block.rs diff --git a/zebra-test/src/vectors.rs b/zebra-test/src/vectors.rs index 869a7915a86..879dde58ea2 100644 --- a/zebra-test/src/vectors.rs +++ b/zebra-test/src/vectors.rs @@ -1,7 +1,9 @@ use hex::FromHex; - use lazy_static::lazy_static; +mod block; +pub use block::*; + // Copied from librustzcash // From mainnet block 415000. // https://explorer.zcha.in/blocks/415000 @@ -234,12 +236,6 @@ pub const GENERIC_TESTNET_TX: [u8; 2005] = [ ]; lazy_static! { - pub static ref TEST_BLOCKS: Vec<&'static [u8]> = vec![&BLOCK_MAINNET_GENESIS_BYTES, &BLOCK_MAINNET_1_BYTES, &BLOCK_MAINNET_415000_BYTES, &BLOCK_MAINNET_434873_BYTES]; - - pub static ref BLOCK_MAINNET_415000_BYTES: Vec = >::from_hex("040000005274b43b9e4ad8f43e93f78463d24dcfe531aeb4719819f4f97f7e0300000000663073bc4bfa95c9bec36aad7268a573049797bdfc5aa4c743fbe4820aa393ce0000000000000000000000000000000000000000000000000000000000000000a8becc5be1ab031cc2fd607c776a7a0000000000000000000000000000000000000000003eb21819fd400500949d55de0cc633e0cce41e4649ef4aa3349f0100290ffe281b947b3b53fbd2f35b1ce292649b96ac6e0883af3a6844b95592e74556da344b4701961cd4130c68219cfa1341d5afb5049eb0e8be4a2d92d678c40785e33705548b5f3a54f0a4c39a2f58ee784a24163cd86f54812327df55e1d55ca84b6e7b887a7cbfb9091a585bdb8ea4759307c56c1b3dafc669245a6f654b6f730052266a01ad4f9c0b59ed4e17712b3e72df0498aa8de4888f993531c60acded1d4b66e89de0b6482cccd4a712f5cf9d4ca83be0f922de2c1dbb3a1407480dbe8795993d8be640988abfe7a8a1b33a12131c451e1abc0d83fb851862c637ce724d5fe97aa9a806cf34bab509f4554b0cd10a7ddfd5821b091ad2c90c1aa1d81eb3d72db41993b648f41e2138ff9531a30ff73b22140e4ebd7baa33848e512d99300c5c131c6e75f5714a5c6dcb178b4a4978dac83ad412fbd692019250c553049aad457984bedfc96ae701c659bc7007a97d0a9002b945bdec45a945ef6285b2cd553b4c09d907c627863f0399e8725b4ff7fc5979e3cff22814508448ef8b9831c285959333396aa362a51cf205097afabec15e41fb6e30b622374bf58b37ef9d1b241ead5a682b98b65749a57568e238d50afd417e1e960e7b5a064fd9f694d783a2cbcd58552dedbb9e5e1123674ef73a524196cf05d3e524660549ffe7bd6568057135ffd5afd943f6da11cbb597e8ccecd77ecbe909de0631bfa29cd3e3d5544671ba80256153d6e9990b88ad8e0cf4989bef4be457f9c7b0f1aacd6e0ef320605c29ed0cd2eb6cfce216c52a317580201cad7a0943d24b7b06d5bf758761dd96e11970b5ded697222b2c77e7f256a605ac755549c1651f25adfc9d53d9117e3a0bb409eee4a600120472949c7dda1c2edb3c330c7f96179982916457d331e96309dd24df74eedd00e7db497ee130f77de666eb557fb316e87adaf1813ce426a458a6eee3a85b2ab88f6553aadae8de652e211a1d9f334d596b5eb6173407efcc2e8154bb9ca1212aa9a1a1121d2f5a7712cf25cc8148b8052e0d2e09f20e5ba2a98277e975b0eed9a89206966337163f215c9d04a6598b0958d333d846773c69e5abfd0a0427f3660614dd82b79adb851a0d58b62df5f0b3ac836e6e25f3a51f49a99ade57796fe9fcc26f0a1f94ff0819fe52b75087edbed3a81626eb5416c66557f11c0fcedff223d6aa8cd5c35386e5b4b95a0f0392ca301a38b3687d094493b9e9d264d07a190ce57d116804382a3fabe15af4df4fa043f0287aa1ed5568d9ef5d12510d010ccdab4eb616f6df13bb3126ef43d9d65735e4e4c04b576348d040b535055a3d5ae191b75f0612f3b24066a05245f27fe57bda66bd6dec7e4fc9cb236802062adde3cd0e313482c92a0c721102b1f38b015ab8d01559cbcb40f674e9efad5ee9c2fe133faa55ca1dd0ff26710f9da819cc1459cb7ed260dad3db0596258d47c74c32a8b852b671c5a0caa2001603d90c91a7df2e2d4ee9ae9bf1a6b1ec88151c62360d03024d2e2d0114084f6b88c5bba24aa7cecfac16e91e0baf3d8653e218093e81d2a63c32eff1d9030f9e1414ece420daa24e0dd5b845b3274bb839ca1c53bcc0194242d74b2631b9495a654fbbdcbfad779f7322b60736249880604821d96924e3fa397f354a5ecca34f614da5456f9b36338c37d8f6fbf626be983477766022872746da10a1771ceb02dd8aac01ba186bf1488630479e1284da0190fce8b59ac6b0fd416bee56b72f0a5845153557ff0f4950a0dc5be65ce942d22e18534c4e0efabb2d1525dc4858b9b0f77d474a125ebc250e08fedbfaa66f453d90932cab3ff45221909968e51e6bc254d509adeb75cba76d48fe024e3e66d8df5e01030000807082c403010000000000000000000000000000000000000000000000000000000000000000ffffffff1a03185506152f5669614254432f48656c6c6f20776f726c64212fffffffff0200ca9a3b000000001976a914fb8a6a4c11cb216ce21f9f371dfc9271a469bd6d88ac80b2e60e0000000017a914e0a5ea1340cc6b1d6a82c06c0a9c60b9898b6ae987000000000000000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_GENESIS_BYTES: Vec = >::from_hex("040000000000000000000000000000000000000000000000000000000000000000000000db4d7a85b768123f1dff1d4c4cece70083b2d27e117b4ac2e31d087988a5eac4000000000000000000000000000000000000000000000000000000000000000090041358ffff071f5712000000000000000000000000000000000000000000000000000000000000fd4005000a889f00854b8665cd555f4656f68179d31ccadc1b1f7fb0952726313b16941da348284d67add4686121d4e3d930160c1348d8191c25f12b267a6a9c131b5031cbf8af1f79c9d513076a216ec87ed045fa966e01214ed83ca02dc1797270a454720d3206ac7d931a0a680c5c5e099057592570ca9bdf6058343958b31901fce1a15a4f38fd347750912e14004c73dfe588b903b6c03166582eeaf30529b14072a7b3079e3a684601b9b3024054201f7440b0ee9eb1a7120ff43f713735494aa27b1f8bab60d7f398bca14f6abb2adbf29b04099121438a7974b078a11635b594e9170f1086140b4173822dd697894483e1c6b4e8b8dcd5cb12ca4903bc61e108871d4d915a9093c18ac9b02b6716ce1013ca2c1174e319c1a570215bc9ab5f7564765f7be20524dc3fdf8aa356fd94d445e05ab165ad8bb4a0db096c097618c81098f91443c719416d39837af6de85015dca0de89462b1d8386758b2cf8a99e00953b308032ae44c35e05eb71842922eb69797f68813b59caf266cb6c213569ae3280505421a7e3a0a37fdf8e2ea354fc5422816655394a9454bac542a9298f176e211020d63dee6852c40de02267e2fc9d5e1ff2ad9309506f02a1a71a0501b16d0d36f70cdfd8de78116c0c506ee0b8ddfdeb561acadf31746b5a9dd32c21930884397fb1682164cb565cc14e089d66635a32618f7eb05fe05082b8a3fae620571660a6b89886eac53dec109d7cbb6930ca698a168f301a950be152da1be2b9e07516995e20baceebecb5579d7cdbc16d09f3a50cb3c7dffe33f26686d4ff3f8946ee6475e98cf7b3cf9062b6966e838f865ff3de5fb064a37a21da7bb8dfd2501a29e184f207caaba364f36f2329a77515dcb710e29ffbf73e2bbd773fab1f9a6b005567affff605c132e4e4dd69f36bd201005458cfbd2c658701eb2a700251cefd886b1e674ae816d3f719bac64be649c172ba27a4fd55947d95d53ba4cbc73de97b8af5ed4840b659370c556e7376457f51e5ebb66018849923db82c1c9a819f173cccdb8f3324b239609a300018d0fb094adf5bd7cbb3834c69e6d0b3798065c525b20f040e965e1a161af78ff7561cd874f5f1b75aa0bc77f720589e1b810f831eac5073e6dd46d00a2793f70f7427f0f798f2f53a67e615e65d356e66fe40609a958a05edb4c175bcc383ea0530e67ddbe479a898943c6e3074c6fcc252d6014de3a3d292b03f0d88d312fe221be7be7e3c59d07fa0f2f4029e364f1f355c5d01fa53770d0cd76d82bf7e60f6903bc1beb772e6fde4a70be51d9c7e03c8d6d8dfb361a234ba47c470fe630820bbd920715621b9fbedb49fcee165ead0875e6c2b1af16f50b5d6140cc981122fcbcf7c5a4e3772b3661b628e08380abc545957e59f634705b1bbde2f0b4e055a5ec5676d859be77e20962b645e051a880fddb0180b4555789e1f9344a436a84dc5579e2553f1e5fb0a599c137be36cabbed0319831fea3fddf94ddc7971e4bcf02cdc93294a9aab3e3b13e3b058235b4f4ec06ba4ceaa49d675b4ba80716f3bc6976b1fbf9c8bf1f3e3a4dc1cd83ef9cf816667fb94f1e923ff63fef072e6a19321e4812f96cb0ffa864da50ad74deb76917a336f31dce03ed5f0303aad5e6a83634f9fcc371096f8288b8f02ddded5ff1bb9d49331e4a84dbe1543164438fde9ad71dab024779dcdde0b6602b5ae0a6265c14b94edd83b37403f4b78fcd2ed555b596402c28ee81d87a909c4e8722b30c71ecdd861b05f61f8b1231795c76adba2fdefa451b283a5d527955b9f3de1b9828e7b2e74123dd47062ddcc09b05e7fa13cb2212a6fdbc65d7e852cec463ec6fd929f5b8483cf3052113b13dac91b69f49d1b7d1aec01c4a68e41ce1570101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff071f0104455a6361736830623963346565663862376363343137656535303031653335303039383462366665613335363833613763616331343161303433633432303634383335643334ffffffff010000000000000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_1_BYTES: Vec = >::from_hex("0400000008ce3d9731b000c08338455c8a4a6bd05da16e26b11daa1b917184ece80f04000946edb9c083c9942d92305444527765fad789c438c717783276a9f7fbf61b850000000000000000000000000000000000000000000000000000000000000000ac7a1358ffff071f7534e8cf161ff2e49d54bdb3bfbcde8cdbf2fc5963c9ec7d86aed4a67e975790fd4005002b2ee0d2f5d0c1ebf5a265b6f5b428f2fdc9aaea07078a6c5cab4f1bbfcd56489863deae6ea3fd8d3d0762e8e5295ff2670c9e90d8e8c68a54a40927e82a65e1d44ced20d835818e172d7b7f5ffe0245d0c3860a3f11af5658d68b6a7253b4684ffef5242fefa77a0bfc3437e8d94df9dc57510f5a128e676dd9ddf23f0ef75b460090f507499585541ab53a470c547ea02723d3a979930941157792c4362e42d3b9faca342a5c05a56909b046b5e92e2870fca7c932ae2c2fdd97d75b6e0ecb501701c1250246093c73efc5ec2838aeb80b59577741aa5ccdf4a631b79f70fc419e28714fa22108d991c29052b2f5f72294c355b57504369313470ecdd8e0ae97fc48e243a38c2ee7315bb05b7de9602047e97449c81e46746513221738dc729d7077a1771cea858865d85261e71e82003ccfbba2416358f023251206d6ef4c5596bc35b2b5bce3e9351798aa2c9904723034e5815c7512d260cc957df5db6adf9ed7272483312d1e68c60955a944e713355089876a704aef06359238f6de5a618f7bd0b4552ba72d05a6165e582f62d55ff2e1b76991971689ba3bee16a520fd85380a6e5a31de4dd4654d561101ce0ca390862d5774921eae2c284008692e9e08562144e8aa1f399a9d3fab0c4559c1f12bc945e626f7a89668613e8829767f4116ee9a4f832cf7c3ade3a7aba8cb04de39edd94d0d05093ed642adf9fbd9d373a80832ffd1c62034e4341546b3515f0e42e6d8570393c6754be5cdb7753b4709527d3f164aebf3d315934f7b3736a1b31052f6cc5699758950331163b3df05b9772e9bf99c8c77f8960e10a15edb06200106f45742d740c422c86b7e4f5a52d3732aa79ee54cfc92f76e03c268ae226477c19924e733caf95b8f350233a5312f4ed349d3ad76f032358f83a6d0d6f83b2a456742aad7f3e615fa72286300f0ea1c9793831ef3a5a4ae08640a6e32f53d1cba0be284b25e923d0d110ba227e54725632efcbbe17c05a9cde976504f6aece0c461b562cfae1b85d5f6782ee27b3e332ac0775f681682ce524b32889f1dc4231226f1aada0703beaf8d41732c9647a0a940a86f8a1be7f239c44fcaa7ed7a055506bdbe1df848f9e047226bee1b6d788a03f6e352eead99b419cfc41741942dbeb7a5c55788d5a3e636d8aab7b36b4db71d16700373bbc1cdeba8f9b1db10bf39a621bc737ea4f4e333698d6e09b51ac7a97fb6fd117ccad1d6b6b3a7451699d5bfe448650396d7b58867b3b0872be13ad0b43da267df0ad77025155f04e20c56d6a9befb3e9c7d23b82cbf3a534295ebda540682cc81be9273781b92519c858f9c25294fbacf75c3b3c15bda6d36de1c83336f93e96910dbdcb190d6ef123c98565ff6df1e903f57d4e4df167ba6b829d6d9713eb2126b0cf869940204137babcc6a1b7cb2f0b94318a7460e5d1a605c249bd2e72123ebad332332c18adcb285ed8874dbde084ebcd4f744465350d57110f037fffed1569d642c258749e65b0d13e117eaa37014a769b5ab479b7c77178880e77099f999abe712e543dbbf626ca9bcfddc42ff2f109d21c8bd464894e55ae504fdf81e1a7694180225da7dac8879abd1036cf26bb50532b8cf138b337a1a1bd1a43f8dd70b7399e2690c8e7a5a1fe099026b8f2a6f65fc0dbedda15ba65e0abd66c7176fb426980549892b4817de78e345a7aeab05744c3def4a2f283b4255b02c91c1af7354a368c67a11703c642a385c7453131ce3a78b24c5e22ab7e136a38498ce82082181884418cb4d6c2920f258a3ad20cfbe7104af1c6c6cb5e58bf29a9901721ad19c0a260cd09a3a772443a45aea4a5c439a95834ef5dc2e26343278947b7b796f796ae9bcadb29e2899a1d7313e6f7bfb6f8b0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025100ffffffff0250c30000000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875acd43000000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_434873_BYTES: Vec = >::from_hex("0000002095f4f680b726de8a0a1fe2e77bb52acf0f959b46e4f035fc40165001000000004cf8f74f6a426819cbc390bf99f8c53b941bd57861fa5a3376c2091b7971e3b017951a08906ff5feaf33ff2fd1a148121035db654ad224cb46d141bc9931e3561770fa5b16c1021c5c0c0000000000005000316c000000000000e000000000000000000000000000fd40050049085037233d9f7c61722324a6e4bafee15e242442e7fcaaec6f0cf1dfbbd77806f50a5e97f4d9f44707d6c5221bd30005309a9150b1f24d6d8823f6bea70f4f346b5319427fb817818d796c85538fefbd8473005e3bdfab42c2d1792fe5af6bc77091f25a5e08ca08e0ee142c1ff1a3e8cc70bb7e37f02e7b7f9e886b1d43c128fcd7c62db3a52a156febb96bcd0b1e7c685047adb2c91a2a150fd656b628eefe2627adfb9f1400e0813df3ed3bb1bde000b482dc325925f3188aff15939e07fb88faa92b86c50f4f36ea49e33b121049031815dc03d2a4b7ec4cd1d638a5dd02a386deb9001bafe95b5e0f99c0fd77f8718a472442449a1f79a70e3828ac216b361d6360d115ffd2534de05f1b0148213d7c03855874eb7d32a314d4ca3811bd8a31d1df300ad2030d91e0a743b1c48d89bd4bd52e9c76f3ad523d9f38b05ea21b37ce5860e179fd638d53df294c00b233ee220948b17ffd52e960da5428ca1c0cdaa166343cce2adca2399f06b7daa5d3cc567d30b828fe2a759b6459de8131b1ce5303dbc7cde566042e4ae5370064f6979b3bffdecfb5062ede79aea13dd5daad06676bb2d79498117274381fd462871a33bf14be223d521d303cdd9d81f603c62be9665ff59f07f5b14316468f07d9618817cf83416e47e9458e139ebac17e29e0c26abccf4e5d5985c595cbec0ad59229377f61071e02e8930770db42b402dc577f6ca0cf67bbad202f304e5694d8d726f734246608ee5ec537fa0b40d30cd983078ccac691b92fb79f22f819536e849d90ef0ecf94d37611f6074590529f5ffbc0dd2f0b9cfdfd0d5e2207360ce47671d9a31fc22b1f0d2b356e6b1628dd0aa7addd2a97a8179382527196fd64e9f09b4114833b1a6527959f7afb93244e6151fdb0b55df19441c0edb09f134b4917104bec066109bb88455d2e2600688a3a3c16001f0a5ee34bc2a67681b19af7641c25377acffb197551ccf2e3d7963f1d7b13485a8d52337a3ea412d2ba61a0f0240b0f5c083a7ba519850435409bed99aeba357609b4e8cda7bae15f9ff5415b0af751f1c5ddeca3383f922dc5fea935f02b76980b0fd06c0c812f3df381b0c15c1be8f89763c6bc45740c401c79c293ec25ea0c058e16b835a5bba4787a1d0cbb08e6c50cc91aea9eb0cdc86c113c77ea9c45d70236ce2ddf0cd1918d4435b51e467cca574ad9c234095a005d60ce9355eff1a93d857eacdec081fe8ed2097bd2d40e984b9341d543257d7a5fcd1f2abf15f61a014c16560f2806e34ec49113d2ee2a019bd0fd940891d50675f11501c3adb17b2d98ecc4d31c4a4cf52553bfa1fe597785abbc035e296ecb2d967453d7ba26b8cca5e6d55896fa23c3e34c39671a7e21bce2c34316af81b8dfdcb9dc2ac48434eced639f45bff32500edf3a5c24bc3fdba70c3af589eccfb2554f9e7873006136ceb9262b5161413da02408306c3b19712ef0a2f2f11ad86b363d5b3543efc7d46056a2d5e78f5339fbb8319928bbec642e7e1fed2b88ead85dd0b0c03c50ea9e74f1213b980d5e43ee4d96a83787463a3264456b3961816e1349c7ad78f79c70b5952bd66980e8f86b9fd8e18ef6ac43187e8d0774a52f5f5118d1e5a35327510ee2ec0b0b74025ebaf660428d37a2809498ebb1f6c1fd3888f76c9c7d4ce7e189a9a82d73d935af8f93732d3e4a127361d6b9d760363d9df6c10d260a303c880792bcef6bc09e1d332493353779826ebce92f19ec8b13beaa2bd8da15b72c06d7c693916509c87a51a769f084611bbeabd60e9d54dd1bc3b5b578d7754e875c77351865c3ee408eec0e2fadcba18342d2a048f3d2feb9108dc1c5486d30f4c7f29a845c84c72fb58491f03afc6f8cbc2c44ace24dc51b00c0400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff1c03b9a206174d696e656420627920416e74506f6f6c2087205bfa7017ffffffff0280b2e60e0000000017a9144fd89a8512e083965f79d92eb1019f850acee5ec87ad769c3b000000001976a914abe7f622bee66b2761c446167723cbc74f02756588ac000000000000000000000000000000000000000400008085202f890135876168b13fd0b61281f9a117035c8fa0263b05ddc5e17561d03bfea7363497000000006a4730440220165d398beba90238c40aac95d5b78be68d090ee8104ec77634e84cc0d9e85a680220278382ffec60b95bc7b52fd379198c3fb608bbb5936d9b6453d8c558245565de0121036120b78294acc5c63b2c15efbbba01b8947d68a6c65a6273a4ce318bcedd2207feffffff02b2801e15530000001976a91405bbbbac7a0a45101ecf637bc1556986f8a37f3f88ace028933b000000001976a91453548b070f951d500039fae96f1a6162b0cf00b988acaea20600cda2060000000000000000000000000400008085202f89115ace17f622d6656e38fed1c1102c8cc62a411e81f5b8404174952d2588e57c3e090000006b483045022100e2a601492b245ff7f14ca3b014ac1ac61ff19e4f346d1f6eacc5aedeba1e506a02203765f41d3b3bc97845e6af67106c6831a56480c49ffffacf56a3390ffd7ae52c0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff727f26494145ca762dabfc2f58e736df82ac7286ff0aaca4c2d8bc6eff57a8eb070000006a4730440220123ae3a8cd7215a6e420b1b187155bb3115d76a772c92d8435ea86adfe60a7fc02201fba3fc607360a51d9dfb78c7f30020d481441492a94332397cb18f7c49edbb70121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff25298416a43e5641fac7c9e5947ec4f0e1d5e599d68a37628220157f114f4e5e2e0000006a4730440220125125f326d93eb9adba6cb2d95440d14da4e1b74e29296c7c893a5b0f2ae3b9022042687c05b29f1dc9424f68eba1111f6cce95c14b6ce79ad6b0538ceee69e53e20121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff7059b11d6810c760103de0676ae1ea56339c87d8f9e00e31d9235a8690aa7f001b0000006b483045022100c29aebd7c7d89d4bb4d05733b178ad1e73d6090c35cde800f1c796bbf22b3af302200c6d0fa7692840513781cdf3eb849b159f5e269b00b45a5c07f785d3ef6c23190121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff9221f8e63ae155da79301915067d0e3e384c20460a974cb0041cd14ef2bc85741b0000006b483045022100930eceb70ee7f0eb81d4c004eb1cee3f74464e77d7034f3dc0169cbcae3f66a002204e5eb9d1ae3ec1ad4301eac9ddfc23b5af24781e3a4500376585740fb6e07e5a0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffffc7137b2498c9d2c76799d5a1419c3485b7c60227ef92947289d143d1bc52a411150000006b483045022100daa6e27a5565c5049d3e93907e17416e8abbfc740e1dec1abb642a099f7d5f4d0220016bc838eedb2aa72682634cac3f1614bcf2b04783736a45baf72da5a34327630121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff55f710fdffe710a1f1d7631b5aa6dcdb33ebdfe14da04f7e2e86e81aee4e42da170000006b483045022100e9c0809b72378081f78f42da7f31e3388d33d458e785247cf042a1c1cb15468f02204fbff2679246f3ff48626a3aed15aaa913ddac7f17c026f396296e696deee0fd0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffffbfd294026fc4ba55b49262add6abfd93eaf54eb127cf10bf3172065c6481c59b380000006b483045022100f5074841a60d85561fdb8c147d64792e35091ee180c3e65cce714656d0b67184022025222c98a8f44621e8ea4b3483bc2546d47ae3352059e5fdd15b36a6733d0c1b0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408afffffffff5ae8eb7782733919e0575807fa037e98bd5b4e3cf38c8898f515cf855c06b931a0000006a47304402200a9a2c7184ec37ef9a3c76188f018c0a8cc5ffc25a78e098d5dd87a5478c620002206c97bc7d169075e5ce4ff29141ec4673debb8753e302f02442b1e163ea864a0d0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408afffffffff29dbaa351d0c813831a9572c07fc6fe5b35af25f27c870555210e47d2444e53060000006a4730440220593c95cf370ed68302e98ff8217338af7a54dee8f9864bf974a3c043f7fcf6b502206d7cdea1a55ff43baed5b52c4492426508b074a07da54b86f633d2d238c926b50121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffffff134ba21417da9a4d34854c8c35d20b9b4e77e52c06d6b48c3a99c632d11c34260000006a4730440220405a409019d112b620721cf33d7e51aac6cf5fa85daf4674e9dd4e722bae27ae02200d747f8e07cbb91975e5c04fd75130bcf49c0d28ca34384079e27b180dc731740121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408afffffffff6e044cfde662d269003d71f3ed4356e16aecf88da75e7dadae9c8b0d3e7fea9060000006b483045022100902e1bc1108e5f0f63b9c248df39887c5c3e34097e972439f2201980dd62038502204e2e0a0f49aeb266be58155d6cc7ed698de80d2ca4b521861e87529849d59c800121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff33ced214ff3d86791c56d0af7ee3a4de84ce0eac96fd96b887b45f19847e4ae9190000006a4730440220159f450f7c2dc56519fab1b0665962b51d497063da1a59e9657df9cbb741a281022032e97a21d19bda1f91c5e2db38b33c7ed77877e1f0c2adcfe14bf2f50da9b5520121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff810e65c127749164b24a605960429a97b8570e347055d689d998169bf5150428000000006b483045022100f19c5516c0615436707f5e68b190a88bf6c5fefd99e932a18bf9e4cfa6f5212c02207df137b0df6cac24ba87170282ff8682a3062b64b7febde51255fb23747403c00121024b19c8b5d932a646f27db45992333eb1cf1cefef8739ce96ff718901176c5c29ffffffff27ba241a39e1b20eab40c56143ee50c3cbca75ae60656c85dbc488de00173adf170000006a47304402205d663644f03d334c589d0abeb91d01bacbf36e2de822eeb3c9f2c5deb45da7a702205e134fcb6a024dbf94881d0b610377edae3d2a1ec2f921631134e8ffee6881b90121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff4132869188b0ccfa2afef66257c0df0f96c8ad99abdc5ae1eadf25708cc5ad300f0000006a47304402200efbec7df701e560b45e7a920cb4d401dec7f0c3439423aab5acde67fee16eb002201f3ec1eeb08b0aa8641079bdda3f63157e08ceebc0623a9c68f73f42556a78a90121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffffa18e350fdabd5ee9e2feef3e250b94e01897bff1d01f329de81b49c33b023430110000006a47304402206c0ef6738dbfc2636d4a5a1a890d2dc02cd4b83d63c9ebc8a8f84cb797f892dd0220367cb2c26421537466d3f09a00688efbcd1000708ee43921df492c5bf20cb1120121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff01fdaa5b0a000000001976a914fa4384c589ac8cd35370431f90cc669cb825642c88ac000000000000000000000000000000000000000400008085202f8901ac4e3bb66d7e9064fcb5ab1855bc7ef959313ac36c95792f628a4340c70626d8000000006a4730440220044775c6545d7ec31db0502d51d805684853b2f1817efbfcc97eb1bd1b66f13b02201ca910479b5ad9260b29bd53699b12f897937aa0978342c32e8116de4bbf7f480121025ac9f95eb625cbff0616440e17ef7a442ae536d2aa39268d130cc7732ea7700ffeffffff02bc7b60590c0000001976a914e62bf5200512759a8a6375e35c55f2d42127be3888ac00b3d409000000001976a914706acde3aa0e44659824fa4fdb43a9db2f22b17888acaea20600cda2060000000000000000000000000400008085202f890491d4bda1a1cc6313552965afad66f2f9fd4ecc0cac7d23666261568e26a569ba000000006a473044022069deb712d4762b845e3e1886a5fbddcdc312479d329e5d7aa9dc4e34f4ff5e170220140899d4150c376e0e8b1b6db7f2a7f7dfe05a8dcb0c8bdf5c797282ad9add0e0121022e4cd0e959062d95eb79f797689f48168624b1cc144be6c4b18ec593096b276fffffffffc7bc38f1eb19ce4bbb1042c58d069631fa4b169594eb72c1a7cc0ecfa5dec5c0000000006b4830450221009f831aac45c02e5d02508f12776578ee1d3c3f8d6ed54651db3fdf19ff55c9b902207953ae493c3fcccb18ccf944af3215060e412f7de30356fe0520882281e9729c012103900b40c2a4f21a87df16b169d98834174833f62f65cde5e1fa0b88e121b53097ffffffff224a03167565c57f303945cf2fe68cb9b00091326f7f0e9793d1c645e883c619000000006b483045022100b46c08795e52047797608d58b42bb82964ed87dee569b992e13d99c8ccca76730220223c4813b782e622093715acd2801cd6cc569a9ccb19b0f4b4b76a157208a2570121034c88cf59a41ff7082bb2fd55bdb700373f7d3166c542f683ba110d3f95ae86fcffffffff9e0a2842454f5037a8a9fec0df41119bb5cf35a1ed30282bc46a65e02787d11c000000006b483045022100c9e2dad60bc2886e6de6c0c04184253c73d77e52bdc62309008b7c24493f164802204c153c973e32abf780408b1a62ea78198a35235559ab4afac0151ed1d65490cb012102ad2ed643b71290ce0d496df39d2e7ede9c17786e6bbecf3fc87c7ce3e74bdf9dffffffff0167060753000000001976a91496dfa3baf6bd8d6a9d063bc21dab6f9b89af782388ac000000000000000000000000000000000000000400008085202f89011becd211cd5c56207d74d77a2fecd9a7797fedf92ee89ec0952e6a2a98f5eb2f010000006a473044022041c474323521be2ee5cdaec25003fb5c536d72f32c0b4e186ac0fa8f5cb3467702205759b9a0f162a1f2afc7e7d77db13aced5c5233844779743784163a228272c910121029cf995fbec5950eefb19ad42d6575eb5752bcbf270d620d2153d6ec15a652410ffffffff02809245070000000017a9146f0bf9400d728251ad20ab4e14fd3affd335b53c87145c514e000000001976a9143e63cb144993bc8aa429110ea0bee39b4fbd9e3d88ac000000000000000000000000000000000000000400008085202f89012fbdfd02b15318cc8bb35e44773febbf025408a477e3788ffce515f382a5c0ad020000006b483045022100b6e74e80d6982c41f33f3755c39e5200c3fd089987aec9a20e6a14f819c75cce022061f71e9ba793031c468a08213378be021c689dab28935646802aaa65dfbc25fc012103cfaeaebca2cebf7ca013845caca9dadd21421c2fcf951f2f602b1022a201f635ffffffff0209a33602000000001976a914f66b82b3b5a4244c289b871ff674f97706bf688688ac99412c04000000001976a9141c1c3ce2a149caad4085310646518a76e39df67d88ac00000000cda2060000000000000000000000000400008085202f8902224a03167565c57f303945cf2fe68cb9b00091326f7f0e9793d1c645e883c619010000006a473044022078314b582678d9d0c018445e58c8afa561a151dffbf60cee86627153218d703e02207a20a0aeae7d43922b4b81d50d00de11f2911d26c831520a16e7569cdc4b34260121033aa706b444f605bef8a95023b836cc5217d0a02b70361a7656272ae131bc2050ffffffff6be50ba74e89e64b09664718a138d13e960dbfa6a1bd009e65c64bb7b36a53fb010000006a47304402203fb3f3dcedf8a69e8591e01708b2d068c46e449c02e4904f49e7a173adadd4af022077d45458c8d4bda178b5a3b2d127ee42cc445e35d876d6ac407ca71bd9a5306f012103ed85aa3aa5f144a74565b058e6bf86f7743f207b94fc195cea4e38c1edd11f94ffffffff02802b530b000000001976a914cc0ca0d1a3b4d1e440c981cadddb0f0eecf6cb3888acbefc7448000000001976a914f7f5cbbaa6706e92f3fc0bc97a8d341edf607adb88ac000000000000000000000000000000000000000400008085202f8901077fd56d65177fae5cf4263de4dd934bb9bb088f9ff42c2ba5d910976c15a06a010000006b483045022100d48c14bd9d024b74219ee592c72920f65a3909f06dc6e9bd15d1da90a15ec7c402204a0711a97120224208a2ac1a6c73f62198a0bc4b4dfdd3bf21cc386562df97270121027447a7184ab49f484de98c58ab7907bd12f16ceb3a086e61008632bbc309562bffffffff0280f8a932000000001976a91477af1ed0aef2a4b26c833ecabf8f20011271957888ac2eddca15000000001976a9142fe27b53a8c65b3563d3659f987540b8e9dce8a388ac000000000000000000000000000000000000000400008085202f890138e37605d90d8a1c567ba1e2beb36013caa507d6a431de698677717caa791252010000006b48304502210093d6881cdacfbe18a01c0f30982787bca7c6ba8719873212dcf2d4329956085702204233e0e265ff258f4b34556821bc23c6b408907c4249334aedafa1fa9bc94625012102a29793f1f9cee06a600b3e02a740aaeacfc1b666bd1bb1c1e9ba02f4e6fb2e6bffffffff028066ab13000000001976a9147293b82abc5cc994a5380ebea8fe933ad0dc4ec188ac9e4f1f02000000001976a914fe2f2738ed40c7d437a3bd4400d4e6fa5df9657788ac000000000000000000000000000000000000000400008085202f89017942b3fb048a1e73e90c37d7347eb35d37f0a19b678494c75971002700cd161d000000006b4830450221009b13e55e73334188c2b09bb079068c09cc1d763fe77da1956e5acb60e0321da802205dfd2f7e6599716b8fe34e00a2ef47fdca875ac6a8ff9b564205ce169113bf500121038b9a767c2eb28bf50f740ff8a5a2ce8a98f06a8f304a022a1d1da72a0caae621ffffffffbedb271300000000001976a9142fc1e89bfe0725ad4879387e0991b5a86414cb5b88acf2c90f00000000001976a9143293f122daf2baf9b75d4e46d48802f945ad3c2188acf4840f00000000001976a91450fc643c358d5031cd24093548062ca58310111288ac70e93200000000001976a91464f9f503fd5d2bca70c347ab4ab5a2c0b0dca88588ac4f011100000000001976a9147ef2e8b5a26220b4cb414ad55d41dc411634c28788acbf291400000000001976a91496d369cded2bdac7edb6ad9980c1d4e80a0319cb88ac55121300000000001976a914b3a297905c079941d33ceac9109dac2dabb3493688acf0710f00000000001976a914c8f1c418216494ab67d8efb9a9e466453d1c673388acf13c0100000000001976a9147a868ab629a4cc8a06f27c127e78f3da1e9f17df88ac04311000000000001976a9147f231f473813d228c4a1387d74d4addf81f6ced988ac13289900000000001976a914a9639e3537d64c0602b85c797bd3f411dc85a36188ace9950f00000000001976a9144a2669602019e49a2e3e86969acc27421f42805c88acff941e00000000001976a91461b2bfd825f59a5cfabf710971d977ec6ed0498288acae1a1100000000001976a9145a267ba827476c6aa73293c511fa0a1bd488010688acde510d06000000001976a91463314c74a438dd78620a346f6fd71e648017851288ac79141400000000001976a9146be4f6f28a56ee3f9d3214714749fb9590eb83f988ac77031400000000001976a914a16dce989a9bfe693d5fe5e658eb150f32a7dc5f88ac0c401000000000001976a914b18d919a90f71466e0d6e9acd615923f6d1d89e388ac37450f00000000001976a91438900b5a3eff94d1578c79c4608f29e2959144a188ac167f1100000000001976a9142b14cdcf533e46132826e160ec91bcef32268fcc88aceb9d0f00000000001976a914656458ea0756811fdc180511c5984e6e82773f2188acb8601000000000001976a91479ec46a5d1e1396e1032432b976a91eb97020c9088acab480f00000000001976a914810cf1390260a3592aacf161b0c8c469d0b06ce288acc3d31100000000001976a91481aec48be53e00d7b7255b079eb4025822784e8e88ac318a1600000000001976a914a5d07355463b28d99ada5b4dcaf8f64fe49859f388ac383d1400000000001976a91407136bf193c12f1d588f2d13dcb84f1b5fee3df688ac03eee600000000001976a91428cb491ca091f81887dcf2519e0ed84635c6372b88acd1ab1e00000000001976a914a9782a584de62c08255a869d63aadf256ca3275d88ac14720f00000000001976a914e2c61fc9a3846ac5c1894c59c5a287f4c8c7d9bf88ac09681500000000001976a91474b1a156f5b7570514e246d367ae1f30f3c0241b88accad90f00000000001976a914c64d1432d11dbf81dea355ca3a554fd2c31137bf88ac961e4d00000000001976a914d9b3dfe3da64d0f3ec79a2a742c30cdd4252cb7b88ac747f1500000000001976a91425c243f0a58b2fde302d55b0372881b221c183ef88ac8f461500000000001976a9143523831934f264221812be99769c2617d935b41288ac85440f00000000001976a9144047ed2b1c04ec89c81b8e490531b748724903e488ac62470f00000000001976a91480abb472db15c957095f70f9db57006a4777711188aca0b99800000000001976a9149225b5435e36fdd79306474cc5efaffee9b4085b88ac915b0f00000000001976a914c10a6f5a8e8e4b9464c3818f4935da18fad08cdb88aceebe1400000000001976a914e8bc90f4875134b5bd6cc36ad098fc02a86fe89088ace1671100000000001976a914e4fcbc5cf718baefb8302f85928eb652c294b25288ac711f1300000000001976a9142e9ce814270861c79d25766cb9861b1eccfa4b6b88ac12650f00000000001976a91465db45b5fc934b6efe4c683a42d42b3a1abdba2a88ac85e80f00000000001976a914a69d4a9df38b072236848a7bd2b0f2ffee9b7c5e88aca84d0f00000000001976a914b7fc076ece98f74fbe26d06f6eb92eb53988334788ac2df80f00000000001976a914e39fe2179e3d2e008470d6d414cb156313e60a7b88ac67870f00000000001976a91417d5e2abe60d6b1a818c08d84482a226a4438ef388ac89061200000000001976a9141d78e981386c351bacbb3c36cb40c29e874fa19e88ac56d72d00000000001976a9145c5c1a1c58a1ee93280d2c9a3574098da98426e588ac9d841000000000001976a914b4a98cfc3881a7fa80d0c523015abb57ef4c970188ac903e2600000000001976a914dad95d6c00ca3e49a490520badf37e43e5cffc6488ac78111100000000001976a914279bdeabb723b4170ab8d514758f6273c7f8303e88ac625d8f00000000001976a91438d411a1b9a61b8aaf94f383fc21fd6460c9bbc188ac95872b00000000001976a914a9689485a7070f922f5d5595328224a61c4dc03488acfb750f000000000017a914e85a97e9afab0335be4420e2494461f2613e0fba8775981500000000001976a914b420dec5107134816bf38cde1b9d3c0c69a2f06a88ac02111100000000001976a914248053ca51c85e5eb02e8903ae6cfdafbbc7bd5f88ac58bd1000000000001976a914139bf6a5462e28098fba88207dd370025138ef1788ac3caf1300000000001976a9143539c7f6e1ea045f306537819d78ad991d16816b88ac3a5d0f00000000001976a91470c47752de9794107d5398e51ddf6bbd891b566d88aca7481100000000001976a9147ba992181fc09513ae0a423d6f6f85afb762bbb488ac74011400000000001976a91487312841b7f30180d3b0baa40400c3eaeb84bace88ac12011400000000001976a914b35b7352fe46305d06762e3c62da3965844c9e2788ac02a60f00000000001976a914d9db616f7ca7456b7ff605257d8177769a3d9d5588ac25551000000000001976a9149411fe96e90926ebde67f292f41629b54960677688acd2392300000000001976a914a5ca26b5970ebf5d0bc1d7de2d1629c8a71cd75588acd2984d00000000001976a9141afcbb1155d4b22293fd188faeb94c531fe6cf8588ace2691000000000001976a91491453b1b95ee722fd4e9ea6a903a05f04809206d88acc9b42100000000001976a9140656f0d7cad8cdb3c387f037ae283958dd7b7d6588acbebf4c00000000001976a914079a22f6f0f76af49ec36b0e1cdd25490918dc6c88acad981200000000001976a9143c3ee9629c853ac3b7e14143f4bb3fd9c2ad89d788ac1fa21000000000001976a9148697db8f3d23af4eea5be02b05e18f1b3ac5e0b788ac7c041000000000001976a914fcae54913f9ba427f12d3af34204f1ea2657422688acda4c0f00000000001976a914fd44f6273ec3740bfb7816ce4a1f710d4c1c269a88acc3ef2000000000001976a914f8efe6ac4d540683494a15b29cc25938ee6a419c88ac60c90400000000001976a9141864c0a5f3529aa4ec8e51bc9ddc22ce4b4e157588acd3f81200000000001976a914286aa9d5367941592c587cc9f12f6f2d01b9c49188acb4831000000000001976a9145ec7f2d857f1afd9124632a124b858c243824e0688ac2afe1000000000001976a914c6f6cb74ac77b327191b4751739871db3c31145488ac1cb30f00000000001976a914cf4f53cd8154f7de610666481cf371e54a5edab288ac9f480f00000000001976a9141551dbcd39928508eff7f39afbefa91f9ad926db88acf0801f00000000001976a91421239cd7c315f5005496cc3c53636d760c67fd2588acc64b0f00000000001976a914e7e90f75a8662b3fcdc655a12e399f54acba96c188ac7c441000000000001976a914ff4ac4ec519780c8bf9ee8ab28a1f5ac53dcbe2688acdba70f00000000001976a914439cc08d45784b51e38fc12ec9ca85f9d02bac3588ac50b21700000000001976a914a0054b86fd678eb5719fd2bac37718f7bca12f1e88aca9420f00000000001976a914e311db3b077e9436a25a97203a29e9a20423be2688ac254a1100000000001976a914e1d015d15169a3bf15c3a9492b4ec9a8355146ec88ac3aed4f00000000001976a914d030e8b5034508cc7f961b3eb9e13899b81139af88ac77580f00000000001976a914db658934bc6a44688f502e4fe9835b4414f7107b88ac57b7cb01000000001976a914e39250cc294b3be3d198e7817c9867254a589ec388ac9e0e1000000000001976a914f52220601aae51f5e6db37eefc7520d4af44435b88ac4e510f00000000001976a9141ac3eddcbafb2099a966dbffba2417d8b36fc1ce88ac5ded0f00000000001976a9145c3d7e8e327ca280b1c97988ffb1129449516d3b88acc7d91300000000001976a914b28517de1dfe045f269e52706a4b405b24856e3a88ac58841100000000001976a914bec87f89bf7d3b559f5b28a5673e37338661a11d88ac22251000000000001976a9147d193f74ce7e78ca3c38a4c8b9eda2257b60d4ff88acf9750f00000000001976a91489be62b64973ac3bdeb5b6f9f0873891793f570288acda3aa000000000001976a914659e40a17b0888d457f92b4b923ac2d867e997db88ac31d90f00000000001976a9147427a849f936ee264c131ea97e7da94066f94af088acb5201000000000001976a914f9e28dbb4ba9cee3bcad81b4703dc4740c8094c988ac55611600000000001976a914feb639f6adcc177617ea86fab17fa1c8fa09015e88ac19111100000000001976a91411084657ab9aa3d311561ab532b5db488ad8772488ac2d459900000000001976a914188bfafc2a5a67e6e79ec11438db612fc825070988ac14301000000000001976a914753a1448db0479d3b29490eea4a4ef02931858b088acd7051100000000001976a914823c58f257798e1f4ec4a99d3e6862af85860a7c88aca6ae0f00000000001976a914d52abe8429a6955afe9ebb224e0527480b974e8c88ac23ae0f00000000001976a914f241928fc454540b7e0a258ff2be7f085cdecc9388ac68121100000000001976a9148f21b0d7fdff914d52bccd4a58a4a7b75d551e6f88ac485b0f00000000001976a9142adbb7e041d14b8838d81653f8a57d08df4d1b9588ac48441101000000001976a914602606d441b263883a98ac7396700acc789541cd88acff8a0f00000000001976a914692a05e4e7e8b648f907ae860d45363152c432b888ace9c61000000000001976a91478c5a1f419b6aa2b247462f2bddf3139492605c888ac02ed1300000000001976a9147a0c64f98187cdff7a0844d3e088f42424cbc33588ac53810f00000000001976a9149d824bdca3ccfba6b2ae09d9e9e392f456440dd488ac8a7a0f00000000001976a914d0fa032a59dc1d94244353d72b1d2b22bec99b0488acb45a0f00000000001976a914dedf21cfbbd6f546d82c33f8bd29bac97854a61188ac84331e00000000001976a914acbddc1ad4d7f6b9484226a76f55dacb6467464088acb3951600000000001976a914040cbe8adb0d386dcf2814288e2ee232f347b36b88acd96f1100000000001976a91416f54e41ac7e0572500eb38078cea0fb54c7ec0888ac10980f00000000001976a914cc1d20c43acbbe2e117a9a8c3a81d03784d0677d88ac60841600000000001976a914cc3c84aedfbb5580e73785ec9a447224ba8da3f988ac5bd91f00000000001976a914347239845637a4ba24c8e8a92d9d1bda6472a3c788acb0bb1000000000001976a9146d034fcc469c361eb7f325318c4f3f02c59db5a988accbab1300000000001976a9146d134c6009a87d629149ac18f708fc15459d717888ac6a371100000000001976a9149ee0df84191ab83f55f68836c3115eb40d0d4ef488acbe622000000000001976a914c427307199f741f0f718f8468d6c2ef29cfc861088ac95ca1100000000001976a9142a5601532e379b1c327c8f250ef5cd0e90c9bcf388ac41311100000000001976a914836f6217a7c3e1d3a4428060041cded94d812e5b88acec63a300000000001976a914ab0dc2ca76932a5d810ec9f67c38aacf31aeeeb988aca8b61100000000001976a9147d24fdf26cea37168f143f73d1d941a6ca7b37ae88ac95911400000000001976a91481efeedd8c4171eb575633143991253a1f01ecb488ac76a30f00000000001976a9145733e14e3aff4f9cb82c63d7a48133c5ef25a13a88ac3a6b2f00000000001976a91477e0cd572d6e09709ab1269d71120165398faee488ac16460f00000000001976a9147381b2b673a016df5875bc810e9110c0ce4aa8ff88ac45591300000000001976a914d5536f34987ed1a691d4351110e6039224535b0788acd3212100000000001976a914e29c11748114a121bb9e1748a9180abb72c3e96988ac09c73501000000001976a914e6766b39306450cf922eb139a63afbafd565adca88ac56451000000000001976a914efd0c55e8ac56abd7da087f45cac46d26e24379688acc3011500000000001976a91428fc598ecef1b343f3b0131faf864291e23a5f5688acffad1400000000001976a914440b60242fa983ba5a83a35bb09581bbd9a644ab88ac072c1800000000001976a9145ef848cfd5a888fe5c5999e133c6fb27584fab6b88aca0744301000000001976a9148a5a8410d00aeb4dbafa2b5ffc13c72b7da1277088acd0d17800000000001976a914c9e6ab854cd3bff4c42d92ff3b98a2be42b1e59588aca3478100000000001976a91412fda64e5551a560a8536bc62d8146a12debfd2c88ac6d660f00000000001976a9141222c6b463f6844cacdabcd3185f689587ca337b88ac5a421100000000001976a9144bbfac3fb6e1f2c0f60adb7aa8342cce67184d0688ac20481000000000001976a91472a28214eb64298a92357de5a18178259097c73a88acf76b0f00000000001976a914970770c1c61c717b622edfda36a38d717105f9b488acd1d71100000000001976a91492c259d951597c3921642cde546c4fee83cab5f688acb3192c00000000001976a914b6a07e6302e8eba1cf1d2f8d1cabcd62c3ed99c588ac309b0f00000000001976a914e1238e80122a94f1bae3f2bbdaa719e4c6e69a9e88acffcf1000000000001976a9142e1fe9946c2d2a0ab73ad155790fb1c8d444aa5988acb5c9fb02000000001976a9143a2c03adb92becd5374ce338e841627aeb13642888ac8e771000000000001976a91443a93e19e7b508596451097933a4f6cae352a7a588acbd3d1300000000001976a9144b2a41a411a053930d7080331949b84878a6913088acc7471400000000001976a914a8a8fc2361c0b5e197cc4b4b9976c2f38943be3b88ac6ee810000000000017a914d1347e5f703a42eb5aa776ae6d8fe8dfeb54c6a38732bb1500000000001976a914d380da2823e7721d8f4ba12817bed0324c29c64e88ac20460f00000000001976a9140a2716c74cc42c314a04216c212658815a0b96cb88acb6a60f00000000001976a9141fda7c9387198cf19e39354f5d1bd1664507ad4a88ac7f8d1300000000001976a914247b512c0fc9633cf0faeeb2b04b7813dede4cf688acf64f0f00000000001976a9142b3536a43c18799e4821eef23a29b5d013ae2b6788ace1d70f00000000001976a9149c4177f410a28b9e1f6cfb798b699300f621cc0f88acfe830f00000000001976a914b131c258f1a1fcec4ccaced0cedd85e4032f2a4f88ac71480f00000000001976a914130ffb5bda2a9cddbc21e88de9abf05da2456b0f88ac24520f00000000001976a9144bffb24e4f7a8e03f1290adf7c670ad914da145488ac0c211000000000001976a9147f9c457f7d6f1cf534bac363602dd64a05cdc2a588aca0171000000000001976a914fae4ed560e3ab1c770aadc30dba9692c199bc2a188ac145f4c00000000001976a9142b497a4327e2db897eb8976c710cfcc55e58db3b88ac21540f00000000001976a9144b77d779ab402f852aa976d4360c21d5a26ca9ec88ac74a11e00000000001976a9148177e0a5ad88f1d10d7a3e74aeaaea890169602a88ac7ee31300000000001976a914827fa756eaf9d64388b9f4264c91fb6903aa5c4588acfbf70f00000000001976a914b4c7bc14e00f73af61aecce2dc583168c31c4b9d88ac0d820f00000000001976a91410d28402d5bd0160fe4d5eb40a9c3568a5d42fe188ac75c80f00000000001976a9144af63196a28bff87a9ca0155f538cc244fbbcdf888ac88af1c00000000001976a9149f0b4cfd64e900906ac67d6753da91a9a504562a88ac2bb01f00000000001976a914c6733fb8a1caa92ed3aadf3f83f878ecb5d56e9988ac1efb1000000000001976a91442cb831fda7fc20201ad85b9ab82bb8b367863d388ac84b70f00000000001976a9144d011ca4b5c575d9065da51a54b59eba5c4f5d9888accbd40f00000000001976a9147b77ca275144d150f1b9f0ffe08f6c63abd315ca88ac81b10f00000000001976a9148979925d61f9a9dbdf85ff5130e7dfc55f3a4dc488ac93520f00000000001976a914f01ec5c5b81cf2ebffc576fa374a56e0bd29d49388acb2e20100000000001976a91444e4b9f602c81fa9ff7bfe7020cd2210717d36ce88ac921c1200000000001976a9146d577cd0a7ee95ee98eced1838ac141c0fd06db088ac0cce9800000000001976a91477dd8c6ebeb2cc5a7f193bb3ac1817ad4c6011f988ac6c610f00000000001976a91481af8c00f9d052fd4ce7cb5d2638b86ff1f2787788ace0ad6302000000001976a9149534939288c542fe80c2cfa3ae4feb36aea5db9f88acaa790f00000000001976a914c885a86642001305a8f69a2df4064b56fe5baf0b88ac95a50f00000000001976a914e989fb3c4e488bc83fe3e10b1439eecb2670698e88acb4f0dddf050000001976a914e2b7aa42a291a23908161c9071a3dad51d02e10888ac00000000cda2060000000000000000000000000400008085202f8903c88f79329b0c4eae2777582d304c0e976d0febebc116bf8b35d5c8ce5cb5cd324c0000006b483045022100d17d5dc13d1eff9358e53cf3b74bc6550b2fcd1b4d5dc50fc143f19d11098a5d02206990e0b009814b5d5b14e2923406cdaf6950e766302eb61b7047e7671fd2a21a01210317ad10576b806c1824c46e5517e979e7a161b76315ba93e6fca5a3b4bf66f5e4feffffff6c2877d3879245810ebb32a2664a708677e20b30e1e5be5516c5e024af968f96020000006b483045022100e91f329f1dfa5e777c3db5204b05916c48e049213a11084356b66033a7557c7a02207adc7ddfc736be69840274f1ec94e3657614a2683a0a832a06b11bcff4893196012103d8c7454c1b13457d66980610122fc84e2ca876c251f65b4f94211e75955080d9feffffff59152d5ad96891a193920e241bad45efdbe153d7c5b0d4652526af5405b3de37000000006a47304402204fa72cabb5ceff3b3da9ebe1127c441b9840acd4b8c7e5a3599d8f28687d659a02206506df0f7ac1e0d331cb66edec89c92fce4d129234784bf0c007a5a5d526b879012103a633a7efb4b409a7e2135ae87a2a800450b9d91f1f28d69072b273f318e611bffeffffff03de3812000000000017a91439dec991976767ded3f51515033201049401710d8733231a00000000001976a914c743b8321f3116a169069aaf9f05d091ec6afe4b88ac809a10000000000017a91430b3cce69378a7c661368c669e135f951f3e63d987aea20600cda206000000000000000000000000") .expect("Block bytes are in valid hex representation"); pub static ref DUMMY_HEADER : Vec = >::from_hex("040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003d000000000000000000000000000000000000000000000000000000000000000000000000000000fd4005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").expect("Header bytes are in valid hex representation"); pub static ref DUMMY_TX1 : Vec = >::from_hex("01000000019921d81f33e0c8b53a23d2e60643807bfe00e59fbb5f3d3e6fba20e73c2049a00000000000ffffffff0140420f00000000001976a914588cff9d4339d754758ade214b3edc69ce57b7f588ac00000000").expect("Block bytes are in valid hex representation"); pub static ref DUMMY_INPUT1 : Vec = >::from_hex("1d322261f61dd7093b1880b735152cf0ed19beabee374046e69559c9fb8858bba0000000000ffffffff0").expect("Input bytes are in valid hex representation"); @@ -254,28 +250,4 @@ lazy_static! { pub static ref ZIP243_2 : Vec = >::from_hex("0400008085202f89020bbe32a598c22adfb48cef72ba5d4287c0cefbacfd8ce195b4963c34a94bba7a175dae4b0465ac656353708915090f47a068e227433f9e49d3aa09e356d8d66d0c0121e91a3c4aa3f27fa1b63396e2b41d090063535300ac53ac514e97056802da071b970d4807000152a844550bdc2002000752526a65520052d7034302011b9a076620edc067ff0200000353e3b8a71face1c9f37745ed36883529304bfd5a390b37bc5a3445241f03f64a818820dfeddd75375159fbd21eca9872104f8d7b3c8c869703a1e7848a5c941e45a9c7943446d0dc9627cb31f80e7aa596d4821dc99a7d777cd57e194842a023471f0f6288a150647b2afe9df7cccf01f5cde5f04680bbfed87f6cf429fb27ad6babe791766611cf5bc20e48bef119259b9b8a0e39c3df28cb9582ea338601cdc481b32fb82adeebb3dade25d1a3df20c37e712506b5d996c49a9f0f30ddcb91fe9004e1e83294a6c9203d94e8dc2cbb449de4155032604e47997016b304fd437d8235045e255a19b743a0a9f2e336b44cae307bb3987bd3e4e777fbb34c0ab8cc3d67466c0a88dd4ccad18a07a8d1068df5b629e5718d0f6df5c957cf71bb00a5178f175caca944e635c5159f738e2402a2d21aa081e10e456afb00b9f62416c8b9c0f7228f510729e0be3f305313d77f7379dc2af24869c6c74ee4471498861d192f0ff0f508285dab6b6a36ccf7d12256cc76b95503720ac672d08268d2cf7773b6ba2a5f664847bf707f2fc10c98f2f006ec22ccb5a8c8b7c40c7c2d49a6639b9f2ce33c25c04bc461e744dfa536b00d94baddf4f4d14044c695a33881477df124f0fcf206a9fb2e65e304cdbf0c4d2390170c130ab849c2f22b5cdd3921640c8cf1976ae1010b0dfd9cb2543e45f99749cc4d61f2e8aabfe98bd905fa39951b33ea769c45ab9531c57209862ad12fd76ba4807e65417b6cd12fa8ec916f013ebb8706a96effeda06c4be24b04846392e9d1e6930eae01fa21fbd700583fb598b92c8f4eb8a61aa6235db60f2841cf3a1c6ab54c67066844711d091eb931a1bd6281aedf2a0e8fab18817202a9be06402ed9cc720c16bfe881e4df4255e87afb7fc62f38116bbe03cd8a3cb11a27d568414782f47b1a44c97c680467694bc9709d32916c97e8006cbb07ba0e4180a3738038c374c4cce8f32959afb25f303f5815c4533124acf9d18940e77522ac5dc4b9570aae8f47b7f57fd8767bea1a24ae7bed65b4afdc8f1278c30e2db98fd172730ac6bbed4f1127cd32b04a95b205526cfcb4c4e1cc955175b3e8de1f5d81b18669692350aaa1a1d797617582e54d7a5b57a683b32fb1098062dad7b0c2eb518f6862e83db25e3dbaf7aed504de932acb99d735992ce62bae9ef893ff6acc0ffcf8e3483e146b9d49dd8c7835f43a37dca0787e3ec9f6605223d5ba7ae0ab9025b73bc03f7fac36c009a56d4d95d1e81d3b3ebca7e54cc1a12d127b57c8138976e791013b015f06a624f521b6ee04ec980893c7e5e01a336203594094f82833d74427880084d35863c8e7ebb5c9eed98e72572ec40c79b26623b58022f489b0893d88be63f3f8c0d23249ebcde13db9312941c36c1d1cbcabac0c78cb3b1912db0dcbfe1893d9b51be4af1d000bac1ad0a3ae2ce1e73225fb114d05af4cefc06e875f074ffeae0cba7da3a516c173be1c513323e119f635e8209a074b216b7023fadc2d25949c90037e71e3e550726d210a2c688342e52440635e9cc14afe10102621a9c9accb782e9e4a5fa87f0a956f5b85509960285c22627c59483a5a4c28cce4b156e551406a7ee8355656a21e43e38ce129fdadb759eddfa08f00fc8e567cef93c6792d01df05e6d580f4d5d48df042451a33590d3e8cf49b2627218f0c292fa66ada945fa55bb23548e33a83a562957a3149a993cc472362298736a8b778d97ce423013d64b32cd172efa551bf7f368f04bdaec6091a3004a757598b801dcf675cb83e43a53ae8b254d333bcda20d4817d3477abfba25bb83df5949c126f149b1d99341e4e6f9120f4d41e629185002c72c012c414d2382a6d47c7b3deaba770c400ca96b2814f6b26c3ef17429f1a98c85d83db20efad48be8996fb1bff591efff360fe1199056c56e5feec61a7b8b9f699d6012c2849232f329fef95c7af370098ffe4918e0ca1df47f275867b739e0a514d3209325e217045927b479c1ce2e5d54f25488cad1513e3f44a21266cfd841633327dee6cf810fbf7393e317d9e53d1be1d5ae7839b66b943b9ed18f2c530e975422332c3439cce49a29f2a336a4851263c5e9bd13d731109e844b7f8c392a5c1dcaa2ae5f50ff63fab9765e016702c35a67cd7364d3fab552fb349e35c15c50250453fd18f7b855992632e2c76c0fbf1ef963ea80e3223de3277bc559251725829ec03f213ba8955cab2822ff21a9b0a4904d668fcd77224bde3dd01f6ffc4828f6b64230b35c6a049873494276ea1d7ed5e92cb4f90ba83a9e49601b194042f2900d99d312d7b70508cf176066d154dbe96ef9d4367e4c840e4a17b5e5122e8ebe2158a3c5f4cbae21ea3fa1ae6c25a9462ebcbb0fd5f14554bc97747c33e34da90c816d8d0d50bfe37618c5812891484fa259322c15092d4155d8696d6f12f24fd364496b3be0871ca3dd9625348a614b59bde45885649bae36de34def8fcec85343475d976ae1e9b27829ce2ac5efd0b399a8b448be6504294ee6b3c1c6a5342d7c01ae9d8ad3070c2b1a91573af5e0c5e4cbbf4acdc6b54c9272200d9970250c17c1036f06085c41858ed3a0c48150bc697e4a695fef335f7ad07e1a46dc767ff822db70e6669080b9816b2232c81a4c66cc586abfe1eaa8ca6cf41fc30eb8dc57c37a3c39c59c94232df9d388dbfa35c2cd5c75f328e9fea78f65568f2bb934c82c4142da69d12ca7de9a7df706400ec79878d868e17e8f71ea31495a8bae7bdc2e48b5118771c2fca078cca1fce0d7ef0af3478cf36f69e85a41dd29b4294a65d3e055ff718dd9dc8c75e7e5b2efe442637371b7c48f6ee99e3ea38a4b0f2f67fc2b908cda657eae754e037e262e9a9f9bd7ec4267ed8e96930e1084783c37d6f9dd15fd29f4cc477e66f130d630430dcc0104899b4f9f46eb090ef7fc90b479abf61f93955ee00e6a1848f1ab14ad334f2b68035808cdf1bb9e9d9a816baf728a955b960b7701fa626687dc3c9cba646337b53e29816e9482ddf5578a8768aae477fce410ac2d5de6095861c111d7feb3e6bb4fbb5a54955495972798350a253f05f66c2ecfcbc0ed43f5ec2e6d8dba15a51254d97b1821107c07dd9a16ef8406f943e282b95d4b362530c913d6ba421df6027de5af1e4745d5868106954be6c1962780a2941072e95131b1679df0637625042c37d48ffb152e5ebc185c8a2b7d4385f1c95af937df78dfd8757fab434968b0b57c66574468f160b447ac8221e5060676a842a1c6b7172dd3340f764070ab1fe091c5c74c95a5dc043390723a4c127da14cdde1dc2675a62340b3e6afd0522a31de26e7d1ec3a9c8a091ffdc75b7ecfdc7c12995a5e37ce3488bd29f8629d68f696492448dd526697476dc061346ebe3f677217ff9c60efce943af28dfd3f9e59692598a6047c23c4c01400f1ab5730eac0ae8d5843d5051c376240172af218d7a1ecfe65b4f75100638983c14de4974755dade8018c9b8f4543fb095961513e67c61dbc59c607f9b51f8d09bdcad28bcfb9e5d2744ea8848b2623ac07f8ef61a81a35910b8a1baf39a919a7b60bc604d63185f759221d847cc54a22765a4c33475b5791e9af3271fc8d9350667090d8184ec50522d804f23c4fb44ffa481bc92ae408d1b9f2b131904f9705c59e2f4bde7a3b2c085d93fd2abc5e14d163001a12f51938d021afa92239b873dc6c357eaa8af4ee6d00540657fe32914103b5d98f68bd3e2b5359f08ccd88d0c811e4c31fbb49f3a90bbd05dce62f344e7077593159ae35050b04c9e6b86bc432dc8b048c73c0018ca5b69411297732a4e1aa99a928c71e7a24fd277856aa42501e51b012aea9446a2104e93f815a0b3a29b458314f3d8be2b9823d342f46213e942a7e19a46e970b5c506708430317b1bb3b35df68ae33a4926a03e6bfeb5510416fcbb0524c9ca5074156cc5a5d6fe1c995edc60a2f550411aa41e3da3bdcf64bcf04a0510571b936d47e55cec0330008dfe73563404f047d7f3a8a3d7743bc554955210f1eb0d08599ea77d5f974d87176d37d98b9c0ad440407209ed6a9f08464d565593e1a63b938536b49244e97d").expect("Transaction bytes are in valid hex representation"); // https://github.com/zcash/zips/blob/master/zip-0243.rst#test-vector-3 pub static ref ZIP243_3 : Vec = >::from_hex("0400008085202f8901a8c685478265f4c14dada651969c45a65e1aeb8cd6791f2f5bb6a1d9952104d9010000006b483045022100a61e5d557568c2ddc1d9b03a7173c6ce7c996c4daecab007ac8f34bee01e6b9702204d38fdc0bcf2728a69fde78462a10fb45a9baa27873e6a5fc45fb5c76764202a01210365ffea3efa3908918a8b8627724af852fc9b86d7375b103ab0543cf418bcaa7ffeffffff02005a6202000000001976a9148132712c3ff19f3a151234616777420a6d7ef22688ac8b959800000000001976a9145453e4698f02a38abdaa521cd1ff2dee6fac187188ac29b0040048b004000000000000000000000000").expect("Transaction bytes are in valid hex representation"); - - // Mainnet block 2-10 - pub static ref BLOCK_MAINNET_2_BYTES: Vec = >::from_hex("040000008392336da29773c56b1649ab555156ceb7e700ad7c230ea7a4571c7e22bc0700f4b084a7c2fc5a5aa2985f2bcb1d4a9a65562a589d628b0d869c5f1c8dd074890000000000000000000000000000000000000000000000000000000000000000ca7a1358ffff071fa5556cd346010000000000000000000000000000000000000000000000000002fd4005005605e4490c2e7fc1acf199d7401e18ab8d2be4c843103a7ebdd34046d5514559e6ecbe29c00b9adf6f1aa49f1d63b9c20fd9bca4d9bbb381cb82f59cee9f387deb34ec4fd6b1e12f656a554bc21db88bd1560a033e64099c0bef439cdd6055aaa4f79c360ad37d1f1df1fbd35214e17fc5a0b3c0d272b1e693d6ba9e5e0ae71c6ff58545776838c18b756bf98a83a6b9739b4dec356117b2b227f6f6ea3f04fd854aadf27b40b302d3fa50719aa02f99c2003b51eab8c64cfd145117054dcadb604ba65a8854a095bd9f02884a65225baf0547a7ee44882b11343d40b1a6511cbc4db1d2fd840a8cd63610d29c47bd5c920fe13c349d1044185cd40854f8e60a212d59e1fe281e8bd1343a682e95f3ea23fb5ca83f9913bbcb11232ffd7165ea4a475273df1f3bb53cb721548b28f772acf56060da5d26fab50c4f8b87781bf28843bea805340531a61f002b5aad9a0427b597af1a08659f1a7b4b6d69d53b13191cf35512bc3521359dda47911112d06ae5410281d918bf53049f8295f067f2b3794a90cc15358e294c6cbd7896108d7c897e4bf61aa72451a280cfce72e0515b8dc510a52743b7615b25ba2f13419d562f6148fa36132622953c0fb74ea0b4870f86ccc1ece9661b29516a2226ea16b7100dbeb718a674eedbbe9d23ab02fe1c634234f3c1275ae9d7f74c754c66dec0af7331fc1407075a06cba62098a9be09d24889e7d0a6cf77d875131fe1278e6fdea2bfd9423903e1cb4502edcef971c60b064d4d8a9703ff324574e3d0535a59ab091355185499545be1baffddf6c2b654e5c30e7e1291763fd70896217d91d876a9be914a8472fa292ea3cfdc4be84f4c645f62d8ccff990ac4f5c84e0775b147d1532e2d4f3a8fb92fda899280a3e42f2b927dbef872ec6058254eb20e2770efde7c57905e7741321e833533e0006344a4c6deb9a78e8496de1ae1464ef8367ae97714700e76658e2390cb9702d1413b333d7f04fb89dd09cefeb34e0ead616cd5d352a2f348758e0f5fc4220c6a0693acc90b8dcd7a372ecb688d86356c151d9703576af8e904adea9941d1a6296774ba62b4dae7bf0a078f740af040c584f0245ed2ffa351f0b550c8b80e192ba1a75eb40fc42d67b722ea04ea947ed53e831fe057153a8bd6897ddcd43cb558d2766fb05640ed0c1d14eae0739b11ec07e34f3ea6acbd9f807b9ea6476bda5964a9fca1819c854680f75857e57fbf3fc50e3f5b0d25cadadcd9b3428b85b70b95080c9423a836e9e9e2cbd485075a29452d65acf3d5762111d70a0fd389ac7214b96b11eb14ae48ff1e4930ea50d8261472fd8d04877af717b4d463c0d9a6cf397b5b91fb1a898b329c4b46b8c350e3c0122e186bc393fe6d361e117963d38e44e0ccf1c45f33440aaebd8f99ad7b019c6411bb070178fb6b76e085e3bdae4c883f1f4112e7db91c519c48769fe96f56350cc8687679747730f0aad3bc58b78f87d162104beee449e55eab45558241f32cb5a0f30fea0f38632adfc8a2b7292ff89641581bb6e0111af26dad9199596ce8d432e6f7d0a7415aacc473acfb8af68c9c6ef8b60c535da095cd3a02598fd82fe20481dc87bf6ed25fb95633dc7ff8bcf3f81c323546084170e567536b5c4ce9392ae1dc1f201d732134597e3c9353416fa40ff8f2628815e9b980f27a9c05adefa779ef1a35fdfe6423e9f671677311971bd91d9aeb6adf4c45769d07df7a24955f4082730fb0d3f6467472f75add86b827a7b664005931130029553fdb62ad9ffdb64b44701c0d94e7c5f5ba2340e641d9e34737e29b47e619659f458a161648c9fb81dddbcc73f1eebc92fd7f7b70356635f0de19912d82c9a978c2750aacbfbeee3ab62e96f7df7ce918fa30101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025200ffffffff02a0860100000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875aca86100000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_3_BYTES: Vec = >::from_hex("04000000ed73e297d7c51cb8dc53fc2213d7e2e3f116eb4f26434496fc1926906ca2020083bebac375d107dbfd4a5901765da703c2953acbba6a7125720c1de2ea70364e0000000000000000000000000000000000000000000000000000000000000000cd7a1358ffff071fa5556cd3ad000000000000000000000000000000000000000000000000000000fd40050028fea86051a02aefa905dc4fec427af4f7b8ab3e05bfcd446add3cff9b5ec2100ce57229c1d1d9ae5c1a4f7d7730d7ddeae724e2dabb1c6392d2843775cd32b4e4dae21eeecd1fcf3400a47bf7c9b922ae6d1d02285c8f8d0ed46d2f0c91034127028304071c645a205a0d1dcdd059bb90f5d45d59503b69aaed7fc7a6053c8c9fa918830d4625f2baecf6d720ba6e9694a123be44509b92bc6cb0488324d9fe4aece2a95b895a04f353979ec729dd06b961ee0563680099ac7443333d8e054d27542b517db2448c45df9a95564134b980193b7dd8e850c667bcece58ab9bcaae16b686c748c3389a4b3a621b96bd15655931a3522eab5771770d205ddb84174e518e35a77209b5f1e2d9147effa708c0c3fcb4eeea1d2ad42c787fd99d32ac64053b5230c069ca13dcad0b6cfff7ec5f324eb32a681dc7956ff143b3735a24b3f3dde1a51bd58e833ac831912f6cb00f8d79aac97954efbeaf2696df52711fab278cbc3125594bcd9bc6055e6346349aa627780fb9b9b7c4a0ae161f990d0fca33b41b414766c6111ad1d91386e18a0dee812878a0ffdc491cfb8fce36d76b48d0dc7099e42b9448e041cad883115e44a60b12782ee34cd18a44d9f9110169dc3e675bcd874deb2b13997fd3711bc038531943600addc0559bd77d711836a543cae23f04e146139e209fb5de772a9cb3e0bc10bffb70d0b60d87d5b45758782f311b349e9ee2487100629d121428bf1a7099345cfd0c254b625f2f8c9059256aa1b29e4a78b64461fffc8b4a1f4e11ef9293b10e0223c8853f2b85ad61bab1fb7eef7cd96e291695ea3b00be19f3c03612b3795a503bbc49ecd71a2687ff0c01c94b6e958ee973d9d0532d1bd3e432e3afd153914132f5918d41b9f87a1dbd1fdbdd9024d86753e81ce1eb32bab2d92d8a7017195a1a5b345358139db90f10070c6fd5ab4e3e1f5c49550f632f72f143d191ad70381a6daafaba6bbf36e8ad79bd973039a30dee16a01cf252fe3ccc66b3904a103ec14f12dc9ab6fff540d08a2de25e14d710e421178ae24a8a5dc597e23980744697d079c15eb2a60a6df003ae5be770d1b5cd3187baa87418d8740f5861ae79ddb1aef3bdb3e5e470a61c0fcb8d2673ad050c13bdc57d2855ca1adf9eb2730055dfe1d618d23603499146d083dc2363dd7f80bf94781a24814df6b1a221e8b7b36688a4398621b33b24c996a91f7e13edbf4ffd7f8612db709359a303bb7a5d3689f9e7bf645a4289c36d48dbd73f270044c9c6d550b310ebfd18b7630e7fd61c5cc271310620ff7317b899faef5cff6c9c9defc0326c618f6f6bd225c25d0b56190e18aae433eb8f8458ae252b9ce082134f6b3ffd271753c7f0260fbf46a5e9811999d992c14b6ac88d04829b4d883ea1a78cb6da876930060012ec17bf94f9768f172f525296f78862faa12b9b5170346a647cdd2f5dabfe34c88733f91314b77821f0d7d0b8ccee03b5bec6571ebc66619c4c08e1e11fa38d395d2805160d79152b41f85479e727daf753dad05754db24e533d19f21f23ed4f4f5c91d4c7d597b33f309dc8e8de4711b99b64e9eb580a42ae1b5f2cf51b2729fce62799774d81921e5ba616fac006ffe5b52f007bec41149c41295385cc7d6dd45ee566d7e71d0284708fd842b0e021e81a2c54f9082788295f10101e924954ef8a0f388191144738367bf9d7f5fc078b03bd6da2a3860f4e3840e51fc2432617a9223eda674b4ccf72222d859da4c8b6b56d4d7e49d6201fd3a802daf9fe32612153dbb933b609f2ae9d27cd53354d21ad7b8837097c6ae00ab4cb5848638d4f9ecd52b90c134d1f45cf107d055054018dd95add753e0ffb271b641e4bc95f013745f212021c3d64911901ec7b810101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025300ffffffff02f0490200000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac7c9200000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_4_BYTES: Vec = >::from_hex("040000007fc6ea65cae94cd84309ed9e0f35a67087cd4bfcf3c95ad6978ebbe5c4f606006e44e2f6865c547769a8ce02e148c83f3f15bfd8afd31e4c05318816b0b91b780000000000000000000000000000000000000000000000000000000000000000d07a1358ffff071f7534e5d60c000000000000000000000000000000000000000000000000000000fd4005008d16b18e21dff532f88087062f3919bee13ca6e204b89baa18973860fdaad24710b3ae6cd68297296c205f997e678d134bfebb3bfc4d61fdd746c45a8a3933f4ad6ca895f3e540b95978b3d1e4530b5059068706b476d21115a054da1ba3d6fa607f19caaaff109008d50ac5c145a9bcd71cb2999aca9144ae2d1d8a981f1f66ee54ef445dc25286eb40d7549a5261f808a133ae1e7dd86b7a21b57b64b0e8d7f38f265cfd881c0808c42029deaa632ef700ee483bdc4e7c95dac5a12235aa5902f470fdb0b5d640a259538b05af5aadaf1cedb48ed1691f3fbc51935728cb28566bb71eca9f1d650355c28ecfc97805820560771b34e6a0ec7c871641ebf574ef5207aaf008042ffa9eef45febf87bb447ee6fa64a726e965dea67491ee0a5a46a83ead4818282be5b72820738a5dd469cd38d8da252cb3ba621880653121062bb5cfbbd648ccd7b6bd9ca43e356006b64b7adf0833bc6c91228e95b0a68540517ccae80ed3eb9346474b8d1780017e85ab11a1f02dbfe8870ba7f9a0b80942a4d785b2661277f730bd2ff8ffb70c4dbdfb3c933b8d3fc0c20e634eae792f1d70c218095570f454c88b0aae3af5b5a1b1fcc9f18f1c29ef2379c560787545a5d404174582fd6d5a57e93964d409aa6bb60586e6a09cace3b2bc38c4e907bbd1da7a4a0445f9c9e0d80d57e4f5889749c89def7f98f6e30811587906d351a3835da235fd5ec8bd77d39c323710f96424954a2160ec2f82ba02620466a901d92b4732ace45ca3d9f86f742ff33ea31d5f4919b89a8504534d6b5199faa1a7ec2db8e61df3ee82dcf377e1ee099727c8654b9ce9c83e93f3b1de5eea0c6d111bc3350f7dfb989c20fbe578461d57d24a92254adbbc390e061fd028c82daf62cfe727bde25046704798bf3e2e87dd87c712185f805d09cf797060be7cb8f9ca6400b4bc5c8256c8ed5b0fd04139d9c5301ae7fd37ea062805bd7fe97b97589705dcec54e2a6c2d15a46e602492382f18afe2d63266229909593a6e9f5ba155f4b4693b563e85fd1abd0e6f81d3f5dc1c9a3fd9b44038d3669428a495ad8a60223876c6b51e6441ce4351a3e3a5657e53065e6c742e2715bb7eb81eabee52009d9f1aa5e5b1c8edf9233f87fe68081d5acbebf1759045cf0e5a95f0953077864dc57d656309574412a0209e097d2f1880fc1de0054c326a0b915a0141fbc03d0e2252cc3c1293cdd6639b86d33862290f8f31702d71c3a3bd61a56d108071c49ee1a5a627f167c4c2d2cfea51428b147e769a50a33adfb8eba3757f0e20646ff72b4115dc1b911a1c7b268f25cbd31a859dc0b51ac67c7f5cecbdb1e2220f7b06d852e2d956d3416067f34305d8c3f1c9f11c77163ec95f23b3f737232836272de1c6fedc76424a878f833e94c498eba5e0190d444b7c19fb4d466c0be3dc804108c4ef1f71910155504301eff1d9b4f5bf6b6e532ab41bdfa30250f05708718cf928681b631949f9fd5bba44cbf750812ab9aa409e19b6f62e911a506effbfd95cbb5699509a9ca7c6b457633d0f19205b5fe05e19f9cf8c71817ec98e4053a7833e3e604e97bea7b62bcdbfccac928d63c1944dd3f8f17d438f0f3d4dde6f5bf9e82d24cf3062c911702af8a8875260733bb369ef5f828370294a32f300d7ad8cf5f4467d9cdd83e48df7806ef1d1cf1a3f393c4f50257d2de8b9a117cec381db8f70519d6a52dd745d0bb4357b562e7339291263ae9d715e733187923689dcae662e96fc59142070336f4b61925f7b3bea72b23a534b458f1af6ad15bc87a5fbb2bcfa1dbef1d4831cfd3d526467fd92228ab16a5a927084c3754e907ab9d5e66d567cb8777bcd53f1b272c7deda98d27a1e16255174b69bcd14e017c38e8620101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025400ffffffff02400d0300000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac50c300000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_5_BYTES: Vec = >::from_hex("04000000139800c8af9bcb6156678ac8959a5464acb41722e63c242e274327c38eaa020039a9c13e74d011141664139cc44124ef000edb3270403416eb183895f3da4a9a0000000000000000000000000000000000000000000000000000000000000000d27a1358ffff071f7534e3ae00000000000000000000000000000000000000000000000000000004fd40050000de1e2f4c54fe9d58b0278bffd734bb9fe63be8007937463fe3c88339f3c819d96ffdbe4eccf3ed2609f930e223d0fdfaff1292b9379b4924b647a88eba0f6647c5b71b95afdd10456ba8b65a9e13ee3304f901086913415ccc59fd9295813cbac5397600de25590f02e8abf1b2c3a7e3e446d4f23723e2dd30592b530448a6d59c563da9f8176182e2da0fc4a4a3595a9824a605ab321115a8daf762559b9e49dadababeadcf0101a933a41985cb9023e4b000f462dec9e81b094f0f46e37a660519cc7ef0b2b83a453a8694c7dbd6470acf6443de0f56c07f5e340695b684037250dcfc582c945728866b8ae7c5c743310d435b6abd73fef2ce0133a70ee16cb98b7f644778107e3c5244b4f2539e0fff6abc0dce9effdde85127a3e2c6028dbd554b391abe8a816113ec94f956751d6b4956fa8e23f7864021792693cd796c79f66234048040eaa1dc6bda43a90536966f0e131c13940c00d90f78f44937545d66a9126781d097a9b995b2e726850cc9483ecac838de4b140a0c2a3e489861cb6151ec4daafd9657933ab681171bff9ad5c6f789bbcd342eb8e8dff293f674ffb312cd5a94665725e4f4dc14f0c74b328164ed9f9f9e3efd3bfcaa5e1225d302da23986136f30738bb729d3dc8bae1feecfe83c68de5f60c2fba1593d010530c412c468459986a65740c181e155eeaaaae629ef2d205c4fe46e64bbec87b5d417cd0c5e5a6c93b97d92833197bf21aa5042dbb274821bde04ebeefe77826622a3d5e55fa1790b1790993915244fdc922c99c4abd35034cc7eb171297855427fa75fdb0a20a7932775d0ef5ce616cc90ed30ea873e8fe39b55f3c4dbf6f421c2c83d3999b7c235aa311ee98a1464a7d1c7b996b10b33dce22d75d2eea48e68822c7ef05af74dacbee29694673c9a11a7b69a529a4bfd40bee91c2dadfaa0078734503d0bc9bc306e272f9287983045b1eb32d05c4146bb81ecd1b96a9f191832c282a902e1bd4071f51330a2412e0590d13744949d1fa3e1945f9f1742eebd4393fdd6647eee9353e47d30d11f07a525d310204cc892b02613e1a46b2bb56b61f013d92db1f7d05714ee08fa375a3ac259698934fd7ddcc10dc4f86163c621ee9a4774ba53621d4bf4620e612a9f5362638ac02b15cd6d575e71d4493125cdd453ab66dc07d03e916bbb767a135e56d0a0c6964cb86d06a78d99829064ae0a01c698f6b98e50fb53c4ab5d06e395e2a09f7dabada4eb32cfd0de8f2e075fe86a6681543cc387317919e1b9e9d936633979c3b2ef64fb67411b107bb8c0fb6d2a589a0939094b9a2c9e6e09f18fd0345514326539e6faffddf85f800d9f91acee03f53c00c0ccd3f2a13c64196fe62dc781cffca257678dcaa580a8ebbf2564f35404f76dec037c2fe029dbe9cf6023a39be39e87bbda4fdf05fa6ef6658dcb23eed2c1878edf3699c1f05a9451230ccb2e6bde4b330df7c1c51f1080550be7da45fb8ebd65246af3072dab40d271b14a6b866a44b912a76fc9bd56f4b04089f037805f7335c7b5442f31f9ba44011dc80f15e785af73d47decdb75112dce36fdc668ff36f5529bf11d753af1b2137a822920f62a2c07455c37791a5738091db5d665716fe621c09756fc60c0bf9fdef0b161e1cf93005a2c373e00e178f16d390b17aace4885ef82a103807c750e9b7545f3b0aca05430ebfc461828393e59917651a2ab5df2ff98972169eb6d93e866633d911f72f27aa3057521c4bab3a73e4b2eac2f51f086b97f40fbb80a7396eeeabc39bc445662b0cb9a9f159f9ac2e3b6e1d9628b1175b71f44b73a5a386a0d4351f08203233ff9732a95fb85235dc43ed9a61979ddfd91a41151293525650a0b2d4048bdb741896bdbd76aef10101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025500ffffffff0290d00300000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac24f400000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_6_BYTES: Vec = >::from_hex("040000000ab1fcee2ef969e2a09e2b3980b0b3ba5ec9157554482643d22acb9d31c60100e16f00205b1652836619615b0317d21a7eb3ac65c54ecae7fe2c54234406d21d0000000000000000000000000000000000000000000000000000000000000000d57a1358ffff071f7534e30203000000000000000000000000000000000000000000000000000002fd4005001e3081d6d8c3b791b69170c1aa8ed483f58e8d3b3c78ce75371fe30b392f7a787cf7fc3ed1f2789e0e06c8bf7d0bc88d18778e3098b211dbe95d8479dc9807f23de32aa128190a4ef49d41e85355fd1a9b5f4304dba9be234397a45de842575430f0fe20cc12539c05612e714cd948cff196d33fa5744642eca5390e2124630e401333cbc1fe8dc44543d80abee1da9e387e39241eaff9f8b153e07f07b695f203ba05969c24510048d04f3a4162c2b7e36100befb93d94fbd0f753911936e7f3c5d9fd0ee5bf3d98abb6355eb7d5cb5a710ef4f6536fa9167dd3cf4e201b6c36dc77c3f0b815bdcbed13a25fec54cbac88daece3596ce92390303038cf27bafe8869be19120460cc624b98edfae11670eea017566094d87b8d215308dcaef117cb4385e7d12681c0b9b944e0bf49066fbecefba9288977add581a48d6a66a669677566a3286717aa5dce67e52062e002e02e7ae8264331d596280a5ee62e16e8598243e335c620262ac9d4dab9b480ce17d31ead83efefe6e0b40c77054d9e1893939032b31e800fd5ae4324ef2290b097362250d69750d4a3d08dc0c3b08e17e31a407bd5f7e95581055e86b32cfd5aa6dc9194b7583d73101d72336dcb22980b4432cf3c2d46207edff47661a4c929f6ce67fe7fd314587fcb57db6ba4e383d5039a02602634f3d7bd8095be9e0ee4bdf20165fbb1e016ee6095556850bb442d25c5cb10d95aa97df1e700dbcee17f590e9a75fb022fe39f45d1a8944debc1412da37adeaf027fbe51cd7e06f47912682033c7e3d2af443e3df7378bbb6be23760fb3d8e9506bfe91f205826f6d830eddfdd5316522597944c258f23f4fb23cb7ad9e7996c4d5ff5f5a0c9d7e5602b1a2b7ef062618945221d2ec4bc94654c22f529171b9aa5bc33e32e986c91b56d93bd528e64badf8341611475606cc00cc4893190a0932c1b38388b0e07fb0efa4530ba30b6ff72e10e3fbcdde3082d0e2e3b5571158fa7d9b0571a05f33e8c04953d5282ddc514a6b07dffaaf403a681fd02b9b8657c4b2572129e941ee37a4f9e9a612ec04b659fb8cc9df59524ab2d99f10a11b8c445f2cdab31dee18c0250f99a33302a3454a3601d3b07618f762390c9a4c0ed56cb385504fe6ca09d953f0953cf334a5876101af6d2d23d3d3b4229ddb7192db4903b1a84ba59c9c8f168b5667f76d1193ac96bd9440146842dfb70a31b4b2c5741c5cad29b90940bf4bf2082b1d31da9299279c61a2059dd79ac621cdb849701547cb549d657125de6cf388b338d9813d76dee0b8053a32c9b29207abc98632b898af0e1edaa8b8b1b90f6ca97735293ceff499456d892e82ce849a77bc160e3907e4bbf2ccafedd6b44967cd03f1198852aa363648cba7d7641b2bd4ace888446e6d9aedcc3e8d0f03b5125f905bf367fe0e8073908668c25ff7b3686a1022fe6213125caec5c632752baa3464b4abb2c69305fa644014d433dda8b60185e863f7f86d5925f66c0e3aa5fc7b4546c28f93a282b72c8d719dcb1fa541048c6db2aea125c76f12231e7c5717cdd1d54eca301c3b1e4f15083458ff80d332d33924eb4fc8bf80c80a04c2fa0f906e076b125640f0efec15a1880ee8c50d8b13b9c81611e1c9cd92b5157bd85ce035799928054d0bdf3584bae4437ec18efdb3cd206aa16ca3a41acdbd1c74a90657ce9bb2b4a660c228d079683ef01482336e9556d453256ec25cac5288a0b56ba734802739c529235ced15aa8ff709bfd1c571ee5c96a4b40e46c5eb8894ddd6c64a01b304a516e505437e88484a9452891096dd1dcb3777712cc14ff29eec96965d0f4541e092db5a0d6a47d3602e7b9ce5c3f69e196024f49eb9fb297dcbe7e1d41d783a37c1b34112905c0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025600ffffffff02e0930400000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875acf82401000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_7_BYTES: Vec = >::from_hex("04000000e392c6c979e3346649badce0e5af8c3557b9ad5eec372e34bf16f6bc1a2700008d32b888cfb9c60eacb8c8c5ba6cc7b5e78ea74c9d51416b5e013f74b013b8260000000000000000000000000000000000000000000000000000000000000000d77a1358ffff071f7534e5cf43000000000000000000000000000000000000000000000000000004fd400500365c22e751f6fd21af42fd7e76f875b7493a7492053d29631aa21c0d8a9df10e88889b753276197d4d0c02e268e68ff4a3ce9ae40573cc74ea4bc154bb2d44126679359c2c09cf9246f2ae448b8ba9e9bf170f024e15fe8c47f4b7c66466e35743de62db783b998c1f9e2c9512957de0fdf3928268a2de4da258b8cd9a2d507b1a74ec32d3c547aa379b59e83b60ed5b7eaf2e2172a38e2328831a66357030c4661dc2dc54565f02e8772e901b5b6b0a01648fc4ed464a6a7654459610bfce0f22624683e37626510c533fe5981a7d75740fba28aa5d043e8c6a1501c29ab6866dfbdf3013ea16592ccb56087294d777d7402bc0e6add24ef4cb631c2df1a7e412c02f72bf22ba57d6f9f0b5c2f684572797d50fe2514ba9626b44bf60718e319b3ffb8f0f30b24ffb7466f051fc85767c06435af25078966a2d5a6d93ec306949bd6119369414f07ff289c85f7117008bf06f3793227e9ea9114888a4b9c88a1d55b96d19995fc1d3211d55a11ca4b425aa203fef689f9a8c1afd89116b4d5e2ffe948402e0b5b1e158b0eb777d3076c1a1907750ddd1a2d508a2d5f3d2358b57080711c802ebe69032a9bfd07ae0e95d3807558affaa4338260e50c0d74276e9e3352859dc4dc5baed15fbb83ae36db5ed10f3e34fd8a41dbaf740e97f7e2f0aa3414b33bb08615f31e0e03546d5bd628a726497a55d02c0620ed01275e52fe540689c1cf444f9457a8aa00f92972ddfb97115cfee41dec9394e7524790ba2f3079c3c4543061009ef42e28e45f95a6969ef3f54400d498b069ecf21cb87f6c400f0e17f19ac068f0e980ce28f911e21d321131d6326501e5089c3ea50c0951437c47bfc1849fbbf41d3ff5345acfad576796f630f1bfa45cca1a3cd7aad228cfd57e984f5759efa9e1d1642aee09819c73bc0fbd3ffe10e1f12a07da74402057ba30501b41ebaee421dc72de2c5bf3d57a7e0254ed6ace9f609dbb7155872b2e40a6a833c168d4318c932e76749318357979397ae54958250e59cbe2e3c1d75026292bda1b78ff52717d137456cf0adbdae1775f595110937c0613b961f2ddad34ecee23a2a73183389ae76d7c3ef3c5015e6643a73a9dc187ecfb7234a5322251061aaa4a6089c89e86e1b6f2fbdbd5c7f1077517e602a8d741eb84fe9dd092f8e25dfd0ea05846505730a24952f39140895bd8611d7d5fabe90688d96d8e7dab507756a3779da6326dad15a3ee72915df8c3599931f611d07757f297f5a95d5af3e2b6015ec7536eeea88017e301446df7837a5ac0db45f1f165d96ef388e52e943e8058987d79ef6473a555ada47b57694742b42b3be729a41a6f0c932c5ec96b68a23bb033ecf69d40f8f0fa6922ec2e19bb3d85da4ac38419b0534dbd9b91857d6127abc56cf6bc4fd75e7033500233ac128d3f04705ab12c307e30eb7bdb1ec374a1c0ed8132b1feda485965a497431eaf8794300156bee2f0d30dc41889e83b663eb11c1efe5f282a62bbde69da91e0417e76664ba67aa40c5b310bf841d07baa731bd772a33c8b090f8ef6bfa459be4dd82680f3aef9f262db5cf7a73e2ddf426380111cc4eb5a10be7d88f3608870b7b5e8871c45d93be2c77b749cd18f1f9621d308a0ffa91e46134db88de649fb94c0b06c654e36faa851dd117435649468eaebdd17d4cd71ab736aebc71438b9230874f455124027e43372df418404abe6a8b7ea47bf152f75f52ce7191fa5b4203184b2b9e805f681db17b519bbd26571ce8e8aa581a099c61e36d07ae197580862798d073b2e92b78a42a0b53d49f57cbffa09b6b71b3042dd95d740317bde70d6160a0f34a989e6a1bd1522337424543704b848e863e1f68287da92ff777fab265d8bee3a3d21ebc460101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025700ffffffff0230570500000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875accc5501000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_8_BYTES: Vec = >::from_hex("04000000045ae2a7ae1a5ea25a3d531dde8a42f5bb20f67f49d930acacd98fae05b8040003de449d65aec6f3c2dadf9a53a5e3dff9d972a41ba6f034fcbbe6e86f2e777a0000000000000000000000000000000000000000000000000000000000000000147b1358ffff071fa5556cd0fb280000000000000000000000000000000000000000000000000000fd4005001235028584cb4d1b9f928d34441d86ee727fa0f90f79f4fa8c09d681c0a143283c302af3706adde77e143a694bf163b759f17574989f3b0277b11a7e780e16f8afe5aa632be73ad5fa5fd3fb3602e985fa3add0341fc63b08eb93f9c5e63467f752c49fc25cfea5d0916c6ff4e4c1d427ad634d77836ceaed2f4daeb8126f7775c0ff0495da4a0e414c8e57d49bf74529359554713c2a32a9e35e4097593d6360cf99f991cf17a03e04d7b90422edbfa6e9086d77408d1c592ff22551bee749f10d73fdf048e52c5d75dc926519a9ad8fc0ab48bab37abbd07d3e770b56eff92cd7158f0e3963cc072aa459c6535c9176832a745eddf4c20be8cfb050bb67009c7c17570ab45a227fb8005846dd2014405da319b55c28bdea270b4da58bc613af78a9ebfcb081b54ae9b9f28bdeef513fc9623a2e5b5fb345cdb278b0c3a971c2f5beb74038df6c951738ae29df8d300d3ec7c18501b74ae166505ec46bb9143dd1290cb014a68613103353b8d42d0f671b348b4835dfc88cd01dd60ed698e3445c8a6e1c698bf6691b7a9bb07a41942d1e280e3ac235718732f78c2675df4a5968d1605f2bd7ca54386c67328e7a645d9bd42a657f8d01c06d5bde9cf06bc68af3a91b1e7f3b1fa8a301bc84911ef6937beeb5dc98ed5e21d8a2345ed71965076534d42d6769ce0f1f754781b8f08732f274f679f880202373e9f4bf45afbb786c15031246991d64851f3b65c74451b67dd482dad69274ec07e4721eb005d805d08add53956c3fec6a958235429e874e1ec44735bdd0f50b4a8b0ca3debd5c7a1588866f9b15aabfe3b1a1817047acbccdaf779c142f626d0245625d558dcf54122f58086f1b30fa24ec5a3a5eea48de90f9a7644242955324420c3a9b8c68351c2a28769a07d72c930301bf77020d93eece767a322f45746f72512bf54d100cbbbdea701d03517f6c3264fdf93b1eb5cbb42fb155a66ee1c9133b6ba346bfa0bfbe0cb04f0f8e9c82810757766569176b516439990ed77bea4da1dc2cd43dc06efad2ff52d7fd724e0535ad16142c6b667b01b21c3b961c8c7c74d0b26a9b87defaacefe9d987d34a9f49aa9dea7b1a057aa8f38e4906ebf66ffcac8213fa25a7cc8686acd50d40e5ece1061fdd891265544e9c35776da026f22ff7add026c7d03aec0df83e9028a4f8e43039f4b59ff212b4fd9d4ed8456fa0fe709b9f6ba03c422722b4854a0383a70693b7e7d8960132fa4c78b3bd017ef399274bc48b7b0d85873bf8625fa24367ccaba215e5622d55caf13d982316d481d0627ba5e1929284fdd6b73f6693b608f10e0bb3c190c1a04728a52945ea92f131a3ca3d529718c1dc86513b862437b111585356e64e011df896541a29be4266b9c46bf7e612fb951602707423db862b4e81990d70115483b9504f8bfacb754e0966d914a1ec3b9c2b70bfb2d30de4b4ad5b4e711048ed1bd4d1d817201cf03c4ecb163051054abbf10e06ab84b3888d0ad03922fa5f6865e6070f783bdc54ae868ad32c61f36825b02d0c8f4a7915a43956a6050341fd1656518f9b21b3a2e9e4d8a32643bd581e8076c656a1a30f4dbe6eb0810b90d24c2fc88cb73c8ee45e9d95a521a394efb363c21d0b6f83821d10da81d1f761c9a5dc9de5ad0047a2fd883052a4873e183dd05d595eaaedb96c89e357be5920467da93c2f194d207bce93e7ec1d5c5130abd4513521a464ee1ebbd7c3e70debf75f15f8a9c1f914f377d16b121c25ab3eab07efe1124a915798212c46b51ff73f741e8ef756ca8cd7f816f21f7083f22acaba8fb195bcecf7f12af757a3e6e304c32dc453ae4ce6ed1d60b3517db141355e3303d55992e11d7598f5c3fe8a10f4979b686c1025771c5be1d37a6830101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025800ffffffff02801a0600000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875aca08601000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_9_BYTES: Vec = >::from_hex("04000000012b0ebc452f335bee12d2dfd9558cd100aa29db6e55498c795c33beda770600dc7cc27c90a1b6e9a6142e3be2536f37fb117fca7db495d16ae4f31b62ab24ff00000000000000000000000000000000000000000000000000000000000000005f7b1358ffff071fa5556ccb4b000000000000000000000000000000000000000000000000000002fd4005006acfefed0dfac1235a490effda752ec897fecb01393c029e23a3269be448c7cfe24436267f25d9011502e69d803a81b2c75112e3882b63f5e9f4b99fa68630085c3163104ec2b822e42d4bf358c7878d3e236b02652b144a9a0b119e5635af07e3a8e65a153d8dd018feeea5bba9ac1defa552193bcbf7d602f1726a880ede7f9bb590ed7d0ce161c27bf314cd4e3f5edbd9171ccc15e0504dc78944753805c3423aa5e5f5b3ee079a165bfdc25edd87b4373ca2d6ae79f758bc7b7030f53e16b71d13caf43436d3703d524f464ebbe2c90f26da9b7586bed1c3244d2471eb24c3bd657f910c34779dfb1e4e09f7bcabb4c165c5b815ce636ff47617cf7c9787480d4f542a61bdb4ebb59dc60e55e73c285725e0b05bd0b3a851934cfd74f4615ed2ec0f5418235df4bf4ee9b2956035622ee80cc6019df057072d57d77df3262f159ae709598868b6e6fedb1f8502030f97cb2b9d5ef9d17ca24c2296b168d7897352d317662acf0015918757e9a99a3ae5891b982d7d9e23246886aaca9660498400e85eff7e4572262ad708ce3879c77e0e608833ea65b66a5a584386f2059f1b9f12678b870f2d40dbfc33d3ee70a41a0373cd9d99dc18573238bd48afbfa02b540ce04f8652b9771a24d63be7ad2bee3cba69f0d09baadbec1de71902d90ad6729dd62529e7f14fa89e5b1323eebec70867ff117e071d9645955e6c9dd47913409db30d6d6c03b69c610bdaef451a4bce3fecd80674dd671e6efbb47952ea2a53d457cc1857f73d7a941963ada0d5fe0e9a0b3a4450e5394de516034066d4b379375db2e8a83b62a8086641d5efd28245001cb8233c71242a93827faca73ab76c30dca58ba9bcc405cb92e51305f5d5bff6c30b1217777ee68fa97c7855dda2c6319ebc5e7f5ab562d27dc9cea9a9695bc9373a0feb855e44e138334e00be9a8da904eb31aef186fd39ee21c6e035378c4e06c8c4dd7993bd2fd76b716738b5984234e53a280304dd40d1bd17aeb4c72a92c1dab4b152f47d793f410b5bd9628c06092ddd46f1a973ef2b8080b1caa38a09d411542a0da4a92b66336c0972d260dba491ab7512009d6281f1c229b237c73db9ff1fbadabd986f2d0b471970ea4dfee8e506e0b7664562dc7a70a6b6571ffd85d1abe2ddf165a3525551ee818d683a306f3001c6dbb71991132d72f7d3d4b7b1d9b620455a75c80337be27fc06086453a4a0566d7ab17e302753e8390dcbfb0fe0ec884578ba13cec0678266c8d13678734d685d8403de5bef7f26e877c97e7d4e99f0bccec704347da2d8d12aa49b2723133fa40e2b97af7d4ff22c2ff709a45ba5e1c7d8a6491a52649dac6cbed2e70c7aca082ed7d9695498b22b99e9ca3cfe8daab5211a4cdd50e2508dc139253294433bf40689df56ab18019744a82099a6bd22f3203757b73266206b364b8d01e478bb81032ffdd361c6cfd375b28e1041d60f990b74dd3f9f4469f7dbfb849a59ff6f72cd00dcdea051521f5d1be05d75760e961530fb13163bda3ef9ad0826c7a0f89346173468d1570b0c4f34ad2c07dab617a2578a3bd2c0a76b1936b0963b1246223ef3359018e21cf2a0ece5517033e5a285bd29121c34d745b5239b99db4e2340b3c70d97b70bf6245252db9372b3026946861b143e3922b1969417dc67a5a7e1cdfc0a06f842b7c10c478b064be56aa3e76a098e853a15940f7b37438e08a6df32b0e456c1ce76b243599aa0302ce9e3b8b49156c1cacc641861d8a4830d48fad44e04827c32d048f834d189a0634583f314c265ed1037385a9f3f17b4c39dae1c43aff1c497a6de619f8def2527aeb47ccf9e42d407258a7477f40fd3dfffddc264f477e9a9f8fc53e1f687943c69a04699b4f8eed10101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025900ffffffff02d0dd0600000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac74b701000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_10_BYTES: Vec = >::from_hex("040000000caa280b9f75c09ec407a2026a4f578a9e1d12b4b560e381474772741f2c06004825e397cf36e2dc4d32c09924231940e14da73bdaf0d37a72d8f18a7002275f0000000000000000000000000000000000000000000000000000000000000000617b1358ffff071fa5556b2500000000000000000000000000000000000000000000000000000000fd400500778fe70985278d941565e13644e59de26059395818bcfdbe4ea2fcadf573b30269e7b576acb4db93af134dc74ff4f013158b6084633ed7084e3e2f19f0a220e589af2457cf4ff103d41114516c25759a8c825d087f853e8686bfa926f724c8b4481fe550b2cdf94a259412c28cb4a099b5d8b513fefaf1ce66607447681994029c3911814b964592b58aa660452dc9dc62474633c514619ee4ed4561a5b273d695a9dc5ffbf3da0352afb9f85815af5998154b39e3a4d96ac5575fcb0fbf0895cc95f256e7f2628b43ebd49d7baa37e9da123bb0cebaca84cd13c5f15c17759af18d973d88e32f593a62a44fac293812a82ea8c885e6f8835f81e603aedbfba0c4198bd5f59aaa515650babda3db61140cc7c29b6d329975ee7a738ba8a3bdd5cea18ffb1235738fe520ada885a4bb648202422e8e56657f40d059d8dbf50bdd66e1adab87ceb8c252fb51db1b26be05ff099ba0978db3c18a20c33a0b8e44c45188a5d2541d047ee195343fe04f77c3b1f7da72c60b1f5dde0924ff3a7b227ac3686d97857ebe9fb627bd350eb410b82a2844667d2b70b0514601c1dd0085553cb232069f550567cc1a72c2c430ff1e94d5add89f74d62d1cbeb581bb1428f94cda53e3ede73cf5d1dbfa5a67179644604f8b3b7ca1b455c59e48c6ca8ba3d5b9921d867da7b2479cb925f9f3fce8f8135165b5df7c7706e4a852fad55d13ab1020de4190e09f023affc9a42fbbfef1e795f743914c44c7a7bf242bd0a21f032d1cab9dea6a97588cda66d405e44b5fe2d680ddfcc83c47dec15f2cf55395018826f0c57ef649455b01480912db9a94b35f51bea3f2007162c83ef43afc5fba0d0c6f9509ecb23d76cb228237dbc82abcf67ee83f11435bfbcae2419bb125a4eabbf9dce2b7af97b7101fe36a5d70503325c3d2921bb911a480877286c9a800c031733b461d75368f833fb6b9241602df969bf930344ba54623745dd451b54efb35f7a18dd19b7b6a282da76988148f735d2a77441541732def1c30d0ce2ed4d4c3479c4963997ff3bc5dad69a1b7274e113700ea354b01ab6751ddced371985cff394c6f1949221dd436d8b34ac2a465b165d0c1310283b39fff1b7e1acc1ce6269b350f961a3275b742dbcd62538f50f3403c5f34f16ee36fa051c4a75aeba2e7dd7dbf0f65074c246cb071d1859fb0d1b8c1f25bea36b3de32ac471c77457a52c105ef88a603e43264cf1c4739fb3a133e7259f9732cafda26a4eea6f5f916770f5b10fe1b59ceffe0d5e775ddfa8352b0fbfab2378bda73f70d547b9dcd0e8009932391140ff28b26d4e676d06c349c93b9fda424cf7924c3603479a1d659833bb54817db3cf6ade12c95bf3d3377367fa9b336dc5a327e539566fca1ebefe7f1dd362e13df7b3dbf618f602203c8176b45a84819d0ba8537b0ae5222d85e1ee76d2048668413f99dc9ddcb829690d0f1b146cc2be8db20293173f5e481a9434233d72d2b4b19bba25321013c58158abc11ea9d79a0157fa5556b2614031b6dc20ed3eb335408d9991952c3805aab3dfac7d61abf322a971b62738ae5967fc79446c2bec7fa3f0f1e150517efdc857fd2e6470daa9284a6a0bc5a705d16277f3bb74cb70b185c59d8cfd43d95a51d310f910bccf60c0048b6d398da33e56011c897a34d05a744157e8b11a501ec010cc9396da6521f6434e3ca9797dbe9e21eb493c05a8cd833741ce5726efb5eee294fbc4b6851e22b7cdc62b177458af9cef6e57a7e808a54c16e11aabc23b997476700e386a6cdbc8dbf310d1fc9cf48fcb24e9d9dd679927056e4d64e24eaa5121d5d242aea07d29ea9c571e813c4aa257837014ad09e0c1e343f6d6b1dcff114df64e45cf6d05bc54c6f9a4d430101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025a00ffffffff0220a10700000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac48e801000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000").expect("Block bytes are in valid hex representation"); - - // Testnet block 0-10 - pub static ref BLOCK_TESTNET_GENESIS_BYTES: Vec = >::from_hex("040000000000000000000000000000000000000000000000000000000000000000000000db4d7a85b768123f1dff1d4c4cece70083b2d27e117b4ac2e31d087988a5eac40000000000000000000000000000000000000000000000000000000000000000a11e1358ffff07200600000000000000000000000000000000000000000000000000000000000000fd400500a6a51259c3f6732481e2d035197218b7a69504461d04335503cd69759b2d02bd2b53a9653f42cb33c608511c953673fa9da76170958115fe92157ad3bb5720d927f18e09459bf5c6072973e143e20f9bdf0584058c96b7c2234c7565f100d5eea083ba5d3dbaff9f0681799a113e7beff4a611d2b49590563109962baa149b628aae869af791f2f70bb041bd7ebfa658570917f6654a142b05e7ec0289a4f46470be7be5f693b90173eaaa6e84907170f32602204f1f4e1c04b1830116ffd0c54f0b1caa9a5698357bd8aa1f5ac8fc93b405265d824ba0e49f69dab5446653927298e6b7bdc61ee86ff31c07bde86331b4e500d42e4e50417e285502684b7966184505b885b42819a88469d1e9cf55072d7f3510f85580db689302eab377e4e11b14a91fdd0df7627efc048934f0aff8e7eb77eb17b3a95de13678004f2512293891d8baf8dde0ef69be520a58bbd6038ce899c9594cf3e30b8c3d9c7ecc832d4c19a6212747b50724e6f70f6451f78fd27b58ce43ca33b1641304a916186cfbe7dbca224f55d08530ba851e4df22baf7ab7078e9cbea46c0798b35a750f54103b0cdd08c81a6505c4932f6bfbd492a9fced31d54e98b6370d4c96600552fcf5b37780ed18c8787d03200963600db297a8f05dfa551321d17b9917edadcda51e274830749d133ad226f8bb6b94f13b4f77e67b35b71f52112ce9ba5da706ad9573584a2570a4ff25d29ab9761a06bdcf2c33638bf9baf2054825037881c14adf3816ba0cbd0fca689aad3ce16f2fe362c98f48134a9221765d939f0b49677d1c2447e56b46859f1810e2cf23e82a53e0d44f34dae932581b3b7f49eaec59af872cf9de757a964f7b33d143a36c270189508fcafe19398e4d2966948164d40556b05b7ff532f66f5d1edc41334ef742f78221dfe0c7ae2275bb3f24c89ae35f00afeea4e6ed187b866b209dc6e83b660593fce7c40e143beb07ac86c56f39e895385924667efe3a3f031938753c7764a2dbeb0a643fd359c46e614873fd0424e435fa7fac083b9a41a9d6bf7e284eee537ea7c50dd239f359941a43dc982745184bf3ee31a8dc850316aa9c6b66d6985acee814373be3458550659e1a06287c3b3b76a185c5cb93e38c1eebcf34ff072894b6430aed8d34122dafd925c46a515cca79b0269c92b301890ca6b0dc8b679cdac0f23318c105de73d7a46d16d2dad988d49c22e9963c117960bdc70ef0db6b091cf09445a516176b7f6d58ec29539166cc8a38bbff387acefffab2ea5faad0e8bb70625716ef0edf61940733c25993ea3de9f0be23d36e7cb8da10505f9dc426cd0e6e5b173ab4fff8c37e1f1fb56d1ea372013d075e0934c6919393cfc21395eea20718fad03542a4162a9ded66c814ad8320b2d7c2da3ecaf206da34c502db2096d1c46699a91dd1c432f019ad434e2c1ce507f91104f66f491fed37b225b8e0b2888c37276cfa0468fc13b8d593fd9a2675f0f5b20b8a15f8fa7558176a530d6865738ddb25d3426dab905221681cf9da0e0200eea5b2eba3ad3a5237d2a391f9074bf1779a2005cee43eec2b058511532635e0fea61664f531ac2b356f40db5c5d275a4cf5c82d468976455af4e3362cc8f71aa95e71d394aff3ead6f7101279f95bcd8a0fedce1d21cb3c9f6dd3b182fce0db5d6712981b651f29178a24119968b14783cafa713bc5f2a65205a42e4ce9dc7ba462bdb1f3e4553afc15f5f39998fdb53e7e231e3e520a46943734a007c2daa1eda9f495791657eefcac5c32833936e568d06187857ed04d7b97167ae207c5c5ae54e528c36016a984235e9c5b2f0718d7b3aa93c7822ccc772580b6599671b3c02ece8a21399abd33cfd3028790133167d0a97e7de53dc8ff0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff071f0104455a6361736830623963346565663862376363343137656535303031653335303039383462366665613335363833613763616331343161303433633432303634383335643334ffffffff010000000000000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_1_BYTES: Vec = >::from_hex("04000000382c4a332661c7ed0671f32a34d724619f086c61873bce7c99859dd9920aa605755f7c7d27a811596e9fae6dd30ca45be86e901d499909de35b6ff1f699f7ef30000000000000000000000000000000000000000000000000000000000000000e9851358ffff0720000056c2264c31261d597c6fcea7c5e00160cf6be1cd89ca96a0389473e50000fd40050053f4438864bc5d6dfc009d4bba545ac5e5feaaf46f9455b975b02115f842a966e26517ce678f1c074d09cc8d0049a190859eb505af5f3e760312fbbe54da115db2bc03c96408f39b679891790b539d2d9d17a801dc6af9af14ca3f6ba060edce2a1dd45aa45f11fe37dbaf1eb2647ae7c393f6680c3d5d7e53687e34530f48edf58924a04d3e0231c150b1c8218998f674bc171edd222bcb4ac4ba4ea52d7baa86399f371d5284043e1e166f9069dd0f2904ff94c7922a70fa7c660e0553cc40a20d9ee08eb3f47278485801ddae9c270411360773f0b74e03db2d92c50952c9bd4924bbca2a260e1235e99df51fe71e75744232f2d641ef94f394110a5ad05f51a057e4cb515b92c16cb1404a8cdcc43d4a4bb2caa54ca35dccf41aa7d832da65123b7029223c46ed2a13387d598d445435d3cb32fdad9e27672903864c90d86353b162033078327b5b7aaffc89b40096ae004f2d5c6bd2c99188574348518db66e9b6020f93f12ee1c06f7b00fe346fefceaffb1da9e3cdf08285057f549733eb10825737fcd1431bfdfb155f323f24e95a869212baacf445b30f2670206645779110e6547d5da90a5f2fe5151da911d5ecd5a833023661d1356b6c395d85968947678d53efd4db7b06f23b21125e74492644277ea0c1131b80d6a4e3e8093b82332556fbb3255a55ac3f0b7e4844c0e12bf577c37fd02323ae5ef4781772ed501d63b568032a3d31576c5104a48c01ac54f715286932351a8adc8cf2467a84a0572e99f366ee00f82c3735545fd4bb941d591ce70070425a81304272db89887949bc7dd8236bb7e82190f9815da938cd6e8fec7660e91354326a7a9bfe38120e97997fca3c289d54513ed00286c2b825fbe84f91a39528f335674b5e957425a6edfdd00f2feb2c2df575616197998c1e964e069875d4d934f419a9b02b100848d023b76d47bd4e284c3895ef9227a40d8ea8826e86c7155d6aa95b8f9175812523a32cd611efc700688e03f7c245c5bff01718281b5d75cefe8318b2c08962236b14a0bf79534c203df735fd9cced97cbae07c2b4ee9cda8c9993f3f6277ff3fec261fb94d3961c4befe4b0893dcf67b312c7d8d6ff7adc8539cb2b1d3534fccf109efddd07a9f1e77b94ab1e505b164221dca1c34621b1e9d234c31a032a401267d95f65b800d579a2482638dfeade804149c81e95d7ef5510ac0b6212231506b1c635a2e1d2f0c9712989f9f246762fadb4c55c20f707dcc0e510a33e9465fc5d5bdbfa524dab0d7a1c6a1baaa36869cf542aa2257c5c44ef07547a570343442c6091e13bc04d559dc0e6db5b001861914bf956816edce2a86b274bd97f27e2dbb08608c16a3e5d8595952faa91fb162d7fa6a7a47e849a1ad8fab3ba620ee3295a04fe13e5fb655ac92ae60d01020b8999526af8d56b28733e69c9ffb285de27c61edc0bf62261ac0787eff347d0fcd62257301ede9603106ea41650a3e3119bd5c4e86a7f6a3f00934f3a545f7f21d41699f3e35d38cf925a8bdaf2bf7eedea11c31c3d8bf6c527c77c6378281cdf02211a58fa5e46d28d7e7c5fb79d69b31703fd752395da115845952cf99aaeb2155c2ab951a69f67d938f223185567e52cfa3e57b62c790bf78674c4b02c12b7d3225fe8f705b408ba11c24245b3924482e2f3480994461b550641a88cd941d371139f3498afacdcba1249631402b20695760eaada5376e68df0e45139c410700effc9420dc3726515e7fcb3f349320f30511451964bd9b6530682efec65910ceb548aa2ab05ac3309e803161697213631ae8e13cc7d223ac28446c1bf94a19a8782ac16ff57df7ee4f10fb6e488c02c68d6b6dee6987f6d2c39227da366c59f54ff67e312ca530e7c467c3dc80101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03510101ffffffff0250c30000000000002321025229e1240a21004cf8338db05679fa34753706e84f6aebba086ba04317fd8f99acd43000000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_2_BYTES: Vec = >::from_hex("04000000238d665a062b9007836a7d8f968ba2f3847af5f542733389a952cf9b86795502d5b3ccfd5e7828c4b2d221bae3178c500e21d33399c39a2508a0a82d53c022580000000000000000000000000000000000000000000000000000000000000000898c1358ffff072000005b7d311fedc046109a4482bd0eccdf21a6089c99fce43633d03352530000fd400500282db5ba22a2c122aba42724a991196cd01cc2b7013318f691d61171db79202d2e5979b0b6d5692cd129eb37b7541ff51b7b2a840b45273f86d2509acfaa39183bb3850f9916ec8246ad9ee785462c9cda0ea202f12c7ccba8cc155096016a87a6fc40a6a44f5f3b309a868f30d9080b128c75234a6c3d019fb7fbe29708d01daaab84e4891a00d15ffdd9a598dd678899102265e2090a4b7b26ec55764febbfd1f5fe791aef8500619578359cb2abfb19844981b5c0e67e86b6549765bd638f3a701b0fc8a56d00c4efb87b55883f1d81012e5b02d44e10ec9bf620f20ad62ca549be934d11103f9142b3201ff31b7791c1636aaeadc512b2c0f801a64959300d5d526c2fc58e2838162659fe59168f2214b41d1ec963d543e2660ea630d031e2671c8c841fa9c1b58f7475bfe958724cf89c038d29306dc0043b93148ab95f6e99017ec5863db2f9130c48187bfd013924b34eaefd1db6b2818f4f6a604185fa774c2c069455c6eb195a5382403404c47db312b29b5d84e44c4a645f06ef7899f0b78962e95d5476bc989dcb9458c24733a435b151c9fb46c32cbebd3318cf3ed7310533cfa0b087d58c687505070858765968d1f7077f0e6dd75ebf15d74bb8c7466ef2f4974df537f5dd64097f4adf8b1cff61c00181ad26f94cca9c01960db31edc454c1650da4f4390b4aa0efd46c9ed527ed8bb068494285da2680993e8d355caf6a0bd42a4d681780db2312eef129aa76c6081ceff231311ea93fd65fb0b80df077c49ca69d8996b1ebcfd74bad793d7914b4748af45f31ad018dd12997bfcf809df3894bbd7a10cc585797915356389b744f71ee58ac25484b635fe12a1b20909c97edb1d7ae20b1ef1c776260ebab06e16a34c2789fb5555ddc954cc38f07ac551ac3b46c1370f4fa1ba22ac35d82134eaa0d3f3198eeef723030072214ede447893a03f706d389ea60ef8a81ff7e20ae920cb1a5219e93e1bd2058df6296dc8ba39e4d403199d2c209c3d6b3b2d462aecc04b0e248e7f1e9d204a1f6b7df51073ae2faab55be3353713743c5db40555bebda203a5c79fc3324cb8fb7629c9391931a1268c97fad6d6ab7ebc583330356372df8c5e9e885422c75ab956932351858452c5904a5aad3d9fd840e356abd580479d9a531cda6de08277008bb3a1bdf08604c1df0d8e8cd475cb455161bfe5d9710bc0dfac4214afeeed4bca6148b54241b8f4ab221502917f261705715c7388d9e91d3685a1f67c484a24b716912fe33a89ca7ebc3a5b77e6b36657c7e2b2e1e8b2b699690ca749339b7b2673fb1083496bbc753fdfc49ff6e921c5e35f27d9175afa7da3793d6a7ad5eb0ab8c9ee0e60a8ae438e3145cf64b5f6417625ca934b9d7acc150efa9b53618c15b4d8318be5de0855696d92ef2e018d97ebd24102e824bbd040aed958a51016a91661180e64932f2316b5ee55923263d19d293996118f511f22912e8c9c435af630099fc47b7c4ab581b7d760418314c0e6e814b3bbddb486517436d56ddc774701072cd77beada2cc94cad87f3d1cb83db4da05c2e141bc175bc8848e548c27584995333ef1d9eadd8d7f028cae60d5b0e9642db7245d388ff58c6a31556319a29c0dc14362b957b6220a428966d66d6c3339a12a503806de7dc4c4561bab6968245e41b27ae89fffbfd1bd2f4104d074f0f2b759576f9e16c0e2f73bedc7c0e0da97698e07ca1d729b113938a6b29c3b19d9b8225303f80d6dc0e39bec343ac9a2d23926ab414666e079e68745998ff73dacbe1645bd004dd06236f615f11d47e9b2d54cf8573d9a295bda88af4b2c6c603db0c0757485a543725b1cc04f7e9f38445ed875ec54317418600b4113600e137417e5d1fc333159a7e365d0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03520103ffffffff02a086010000000000232102acce9f6c16986c525fd34759d851ef5b4b85b5019a57bd59747be0ef1ba62523aca86100000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_3_BYTES: Vec = >::from_hex("04000000181ac2d6dc0ae73a82d7db472ac2879a7c24d8b12e5f73efc33a55549ea4f10050953b3d2510d8708ca94daf3daf9a220997fa8a0c892334f9aea314f8f33b4a000000000000000000000000000000000000000000000000000000000000000034901358ffff0720000086f667ba6cc97829497a0e1b8f20ab15b3e930aabc445e613bac0eb30000fd4005001be24c401d01d9b72310669956a0b87f75fee8f6127c2117d005045283f955dcd03cd783d990ff199c08142849aae7ca97965243ef2238cd3d5179edb4a809e610fe8ee0697f8472c5480bc9065e635f3d5e7f0cd6b1a7018830c7c07ba69d48495a977a611dc5ad12044db353c95729ad01424788f804f92b48db257112e0e5468692bedadd9b03bfc8387044f612bde6244d2a15fa0d186363a04355c10576bb3f26825b66d50078cbfccbd303e9c6a4e978af7af4f7913fbe76420e9554efa0d06d673455728e4cf97d7dd7dc9d3b5602543374d16222452e8a54dbe6c75a531dc5dde6a64e982f0a299a8c773a36865ce2fcefbb57bedca75d069da903795d0d3188468275ebdb3b1e8085b6068a11ae35b8620db5ac967832f6029dcb136cac7d27d010af925cdd2e3d457ec68323da25f7564a851433a9136b9d64e2299499f177718a80181ecf64bd5e4f6f005dd63747149ae0af7ca048812ce495c3a2b4629b04666ff27847d1544e9682221fa0dbed35840e3a45099d7c36058829eb6fc5b1d999a6619d76834e50af1c450b69a7aaf041bf9f23853655ac0e584e5d88970f84e1b917ceae9b8352b587fd6428e5828ade986d2263b2c0b2a87e73e18e82e671a5a5aa025cd4ee611ba123ade8695ad1a6f6e558c4b8ecca4a64f593242b39ac094caa778f58a463ba15c9aa69247d2a56a502013b72f657aa094e8ab3378ca53fa141100ede78124011a3deb1e0bfd65a22fd666a50b50dfbbc44c221d603a4ef2ce0f3cc636634adf7fae21a95b8b3f03ad0bdf86450caf3d9f9290eabf39f5eb9bd3c4de306c8405f9ac2688556d4409e7945362cd0a6d4716109ef3dd735a47d7fde7a328892c358071d54b9dfcc0c9fd7bc76844195d75b732bec4a1ce97471f2c4061fcecde4998ea838f0331239bb5a996ace40fe1b1201b0bc4eb3a3f2cb2ee5a40f64ac821346859c857238cffed09823381d3d5809eb915c90a67c853976ce092969d11b5e2a97ddbf10b03893f231bd025b144426f85ebe0d5acc599f88a3752637b30dc0df325eaa05365fd87532f8f9a746bc0bb16126e359223c265e2328d5ec2c09c919b23a582108c46753b9709e6e340835f41eeb86122ebf1234827f59cb2d69037089c7108bb769001565936a199591f54053aa5fae3f1ad701b989f576d1f4437b91011af2f35aba8bac3f3bfc15e717ae400744aa7553220939f250e5a0cdf7b09316cf6c6b0d06832977c6f378cdbf161f69683c735d35e8621614919bb69048a3775821b2ca9d7f1b4e3403f6ef6c79093ff89dcdc39415736f29638a12091005e55672eac17e33f485b46138fc52bb1f8cfd0e47067f61d32187fe6c50f4642cd8d88d7dff13735ed45de02d819e9ad03fe58ec844fbef3302ba4eb8821d020df8b7b71d1cc1b45ac3fe995db0a952cdd9e39c319d1691c1d310277bbcf5c0fc68f64992e7dc99b0195339b2eda0d96d70feb82a8572e26674bd1e05ff48ea7eae9bd27a6b5867b95dc152314f376c9d5ac5070abeffa61e56a1018c50f9dd088b2a8f0e76a76d550c8b4a01d6df03e5146695adce140e141ed8f3eb13b26296ab573414ba7416ccc8fd5e165ff656a40345d2e6d231b96b6dfc54285cb8ee552e2ade7756b309886e4a941b738d2c8920e4f04062b94756d369e80a4bf062900858430e8d20cef434561f51dd1d75450ff5d0b2c6d681f8f2ac5269b078080e90a57549a05f0bac317eb13f038cf4280a634198c25bfef47fe70dbf20f071db395f1145047693a919a92db5f8d7270efa7e0bbb1ccc8191dde4d7abdaf631f018b8842f29b4156f0d5123a705374371ab7eda9110d8abe7945e74ce02dcde3383a252e8c14ce8ec2682c7567c840101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03530105ffffffff02f049020000000000232102b24776315475d2db96268d6f60cf66db445a3c50f6a3a7a2cb07be45e87b8346ac7c9200000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_4_BYTES: Vec = >::from_hex("04000000453d3894900251af96173487ba0c01acdc2c8093ad06a4035b0320dae841e1000bf847a21ad1ce24a12ea04cb38029e592dbdfb58d78d810f33011eb6ded7333000000000000000000000000000000000000000000000000000000000000000080901358ffff0720010051fee29af2af0763d676ccde3905e3bdd94eceb50ec735e4ae507e620000fd400501e4876165d8a5feda2bf303ecdcaec1a588b792581b29173a2516a0dd3a5521e6b4d20cda02cb1d16ca1348d3b733e5956dda564bed73f6565f84827cfd352713a2433dd5e3ebd306dac7cbdef0676c211eb4340b5297fe3a078aef438d949d27e3535647f11e2e6f4d047f0250152d53affbe78f414248d2552dbf5ad30d7e2cb96648e64bac1ea3a16d37644add3658afd112de84c44806dbafdd6592fd26a50f8e0994d1bea302392273102614a9b70b9196eee8d095e8523435cd1d0fa787068ea9f8ef2f93a72ce3e3df24ecbf8d5a1769f26b4f966c03487d618e67b129a98de25947cc1e04c612f7d55d893837b48f8f4ee4fae87b9e76b002ce471a29c7414597edc11e366a6f8550f09a21c41c3ac6b02b1eb27978a5c2b48470673dce121d635f1700b2afabeb5439f2941327e52af84a940579c2821e2a743aa9c8aa6d0f7f12699ad50cdd57a18e69b5056db6ff5b4febc8b69ef44bedad99220992f2590b5584adbd4956fc1fe7edb68a977031c5d36d4ff59814276389a9af90018b4add95747a0f8767779cdeac1d585c83849c4a571b66e2f9c0ca68c5884edaba6b0ad30919d0262e4f57bed38634561c2d1409d1c7072ccda4b0a7ec3dbfb83814da9f2a1d91848d2fb1ba4721fc9a26daeb72f6ea06819aea8526160bbfa5d077c6174d7b76967dd99a3b74f4f0732f10837fd91a08936ec2ea9263dff29bd69f63ba361228d3198dee2ffcb526a90d026ae830c5ff05f7073e0440daeb7c359f96cd4d51ee530ed90417e0f4b75663c234431c68fd1fc43a728f9fa6745a67a97e5c3f7f39ddcbf80c97d4b395e01a77cfa573b807d28ec95791111b5944c25d8c35da01a2ddaab47b5cda6e95d6887b385e10959964291f3a35463387d2234624c681007d761019259de4e56120ad7ce264aec2a8897305d87906e902a0659f29dcf31beafbb0dded9ce504bf95d8f48b161f1d3d5107678a628be192922978d4ece0353e672ec34efb6cf2b361e8c59c8999fbe6772591dc8079401aed5bae348663c8d6e63dd1ee1be2c924f9a6220a435401f5eb5b4fc45e015421b14a2eb47977838424475b20f88bf2d51661d783f767ac3628785524ee0c047879019ddb01bee450e2d190dc5077f52a23a73819270443344809baefc78bf5fc3495ed7d6fabce0cdfad678ddde9d0fea0aaa430748712d51d5902042e7e4e2f044d6e15b0eda3789e792c5900ddd5f0a70e2ad48f5322157d3b16c38ff0ea1c0d0f41b9fd76122b66db925fd0e7b9e8828344f66f4a23f31edb3d1225fd4e0a0a4145a74d7240ca923b0bbbe95ed633145bec3aee4571055263920621e2f9c0acd6fe906e162967b7c85d9601ea1432d124ad53a9e8e5141e481add1dd63b2fc0b787afd59924f0504b4af7fbe99e03922f85ca2bb42d7d1373c385d676b6c7a73f52421658fad5c159a774ce55954ddbe3cbf76855dc864d0d6979128654edf99716833605e729c2a83b5b81b91a3d6f95d456571f47b3e250bff456e4cccbb5a8b704621be030c9ef5ace0d9367a852d9825894f8638607f96b154b65ab09f053240123e16aa1446a7fac030535c911d6a08ef5679d72a2a46cbff8f3da3b012a5c728599409e30acf902066263b4d115b6bb3c38f303f4b9eb97c30ecf307ae13fa21cba0459898d9eb1146b432a9b46655e437a53d77fa8f2a35dc8fd6c8b0689309602937818b53ef14cb57def2c6268a8156607aac28eb1934b9d119f23d77849a1623a92f675e617778a39755aac5d2cb324e1cd618812601b75ff972d24ad3123ce67f3c4cbd44bcfbde909ccd83cb8aa271c05b2d60ed58d9304844ff6bfe472682cdec63a7aa577e24be4c5bff405682c86db407e92d63553e30101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03540109ffffffff02400d03000000000023210387c8c8f56c95c1a8d40efb54db56158fcdeb5a26a8f57d8be47b7b826223bf76ac50c300000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_5_BYTES: Vec = >::from_hex("0400000075ef21ee166efb6223f039afb800896ac0a949e02b77a38a79479036ae746b03ee7bcc689bc163057062897c62e689c396a9fe9288d7b9399e0a58c2f780644700000000000000000000000000000000000000000000000000000000000000008f911358ffff072000007e734241db55374b13093622fbfea74696b2ce28e5abb2c8e989b8450000fd4005004b0b0380a079754eb8a20959e9f83d631d18496d0a4a26600d4e36447a92a1f7efe3ce1284537c3ecd16ad112d78a3428f38bf373f1e6959125679db218729e67ab858627aa1ebec06c3c94c8c96a0f27bf29e11879579a713ecdf1e7ab199d0c77182585a95dc224fe5dbdf4a7215d99ccc45c2804f1cf648a51e241a2f11535e4dccc944aa67a81e5eec079778a19c3e313053442a77543142b5a9d501c44d33f1867e19a88b03bd00c7ae9a269bfbd8c2e27662296740591d126f19f755746bd45561e89714f3d92af31d5a36922e830c3d3d0727465ae971134199b6dcbe7129a9b908d831baae4497a6c5c5e7c1d380fb1ea541cf509e3b3e112683f07c4c7e509292965849d3af759ea651c2fb4b9d5b7c4f2fffdb9483f55a89c82ed368fb3ebb7b13d58ee531e671d7e6faf8486275d87ea386bd40e22942a742bab2fa61a9a4260499f96136b6c07dfa95039fe4961e160f5eb2bfc0f4dd3ac7f8e0b64e5e4c48bba44f4deb612d81acf71b5c5545fa3358f3967d07df7e7ba08d5738769be08c4ea1789372249d51850bf30112c0d2bbc5999e180a05d59262eb4f5a5bbf085d0d870770db99b997f2c3bd50bf9d9bfb1fc0b31f6d2287f08a6416ee8a72801edaa6a334055a43b516fe7fe6010efc62b60992762c7ebb4940ab8a32b831943a9b9861330b71026980a4e7981efe4db87bac03f17459f15545a5698cf05e106be3e932df76e009232d6d89bfcb9b155912a3d01fd45fc26896fa26410dd14c5a223367b9c3b7c5c27efbc6dec6fc5eb9a927e781e0cf954b332406d2b11f2515862008bdc97c05a40f31732912d9faec90ea2257b0f990accf92dd18ccd5905e8b4af49308f1d3f8ca1626e6e7f8ebc90988c789be90d5138b52e38161f9f7ad01529e22c12d3dce6693974b55664e17ec0b7e61a215777de23700f9e105d35fe579864d61dcede0c45591fc5ca2c13841da4cc49575533e63842e77d0213dfc0b52f3f5246839f306ce0169afd6c27affdc96ea1dd13470e34267343c3b7131b1b632a56922fad72dba4bfd3c3202be0a821057a674f750f292cff8aaded117fdda4107a748ec1c04cdbb4b3da20f89fcc7ad7ade12be802d72acdbdacde6b29eb623ccdf3c4e6147933a4c50318e7b3650cdc2beacf9b490cbbfa3724d9d928697048673900405a2314046b19345a3ce1d589c7f5c5b1ed80a7ff1a42487cd3366cb68c7812266e39fc0f705d0314b8d5ca67182e1236b034a53f1dcb1fae1342f17d748b528d2a5a8f10692fd6fb1c628e8b656b5051f6b2706961e9155e001f91d2150bcee4652e19f17a7b23e354b1e9d15e962daecb65ff265ccd3c7231bb4c58a86ebcd0b8aa8065e42fcbbaa138b74f4c63d36b670f2efca1bf06b783c99e3f6e37ed0fed9e7017d4f6b6c481f4a92a277060c69ee41ff4ed1219813683e45ab491a57b09b96c584e3725dd044fa60660dae8ac00729b973c75ed23bee451d72aa97769322173811cb61cc8f63ac38a54eb25492a5c20b5b326d024c5c7c88a92bd9cc64402a4e916a2d5c652be6931503b575438a06dbcfcfa238409bac21349152279c26f2bc3be523f1a979ffc2ec0ca7a640db7d2c2ae431f07db5e11c80b5840517a091745c32465c9be8b50362f143911f421d624b23d46e421dd5a5b058e89806c3627151c8219f682247941f3dbe1617093596ea20acf77565345f5fe502f37ddac962c710583fd85e5251bf858af3f6a1f37dc57bd2ee06be2691f32ecb0401d7e4f7e0bacb26f7146c1ad6730b1bc27f2ca04c95c46c3579f289de2d07fcdccf9e0350b71dabd6048db1c9d1adfd037483c074fcf05efd8dc27965550e9b6bf478d4889bded6417eb1496437917d5dad240101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03550103ffffffff0290d0030000000000232102171c07a26a7b7f5e8fed66755b01b0ad0d36121ef1979679ca4bddc29da664b9ac24f400000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_6_BYTES: Vec = >::from_hex("040000001e2fae054aea69254a5c830f1fba7a4149b5238b31bb0841e4e81883006e6600ab572c332b8774335745715c260810ed0713cfecaceadf09eb5f828d40f8da23000000000000000000000000000000000000000000000000000000000000000029931358ffff0720010046f28cf56b736b908558004e821fe51569a2b61059b9b983e130778e0000fd4005002b168f966710339db5e4d51c708b4d47fdddc8022f5fb581f9d923772ac3f47b7de424a1c647bd8cf10e2be7c97090455a9700b543cbcd0ac31153ddc151359e75bed32269438e12f67a6beec586b99e7ab40a0203d641375486f1f38f81d1796429a1b294d53f270b8dd8ed9f8d67e77e1c449ae0f2a8be011f3a43110aa701111050fe738c37b84bb8450d9618a0d726863e69ff2ba4d0e063eee65475842666d26b6cf43e8003d2f71a0b679e7dc3d143da6ac9ac7bc554deb33f31147519321372abc75279b9ebd2009ec7a9df564709fbd7521f03ee422a9f27e7b7d572aa0498b7e83b150a5cc2370597df45a2e2086fb329809f54a8f50d110bbe0636058aa28eb2989162ccf46388269edee86362b31c1ae27deb7783e89c36dcac626d4cbbe8e9170817cc1acc08ad00ad04b04552611eb256f6580e5e94b606ffe6e38f58b10762c56ca192bc043f7ef10071dd48fbc0c6f7944cd03df3eda964152d0e18772547ae16370cfadda050a4f7617d03562f7e1ea5f6023660309782eeefae566341c6fb0fecfbd8b5ff20400db6b5d319d061fbea6529b24203621ca814b59401aac65564082b74d997c425d0a23c728221dfc73401d5562e0b0e37297493d3132af2db1903e2ac89b509e7ecdcf22230d72f5653001e450955a10d6e4bbe0b88db4d11a00f111ec432eb64b01786115ab806ed05111ea44d323f33bcf9614aaf44e440806fc5f9be635d7f566d9d33bb3ac338a892dbc9e27c88b7e3e420c93a95464981b84dd08423c8b7a5a1eb3b9d614623a7dfd3f58991ee9d87292a9e63b2b78e87fee59b06c53c4d5caa92bfda8fb90810e899c26f0eddcecb071dcc1b66682fd1df9b5678106fad4a3bc852a9bc13170ffed758522ad2628572aacfd5ed978c8fa7481ee80e955196b561a5eb969fabcaf94383321cd54a00cf976ca9ad11cd843e117d25a786a0652e75ed8d165b964a59d959bb5aed22353fcf9cc8f35655152508be66fee821860d24e0b4e0024a426206fadc204216a8cebef04bb2d4eab9834586f58f15fbe21854a003b0596a2a59c8cee21311f33b9c7760a750ac0b2a15a222347bb8ae7dd5b3c43f05a95dc6453d7b27ce03c6256c100fb07d178070bce6946ae0ccf00f47ce17d5cfac26b05dc7acd4124c5149c7d9f4363ce39e0378710f171bd79be82ac0fe37f5445a31d25deba304081e506a5f1f35b02640c51289ecea16ab57dd3509ed4cb0e3184279b9b370ce2d98ec7881dbbbeaf4103636103ca3bf55e0b0410c9b3d0a5495594b0fea053639052ec20454e7fe90c0142649e1091e91e36122ab21dfa60fa342fb8114dfc46a4eaa4ae9bca6f82c0d3749de27493d6a5036ea8fd836c6b0157cea2c2e5f9cb5962b391b87f7c5c59f7ba649e265dc0080019676369b245d372cabd81a8a4a054ac9e2ddb1942744eb1f0c17c8e2c556e4400fd5cc4ed253192702058226c70a20b3c7473f365754e0c821d8c0b25b6c502adb162631abfbaba7a672be6a054210e65f2f7102de979406cf8fbad303a80f9a4fcf120a50b7164929a533d217e42c2991ee89a94ce1223e85e2755d99083004a98686bc04dbf330a28d7ce3dbbd417df9532dd364204d555f070e9e0786437d73ee761cdf1c28041c6a156f1984c7760b868e99e63aade32137b9a80d29bd170af31027f15a41e44aa01fc2ba629fbcaf05aba68c0e8367c8cd3d6920bfe020f2f3f5dcd8381f74a7b4756801b5b906a2584dd3f610bf1d9bfcb904afa3ca3cd26f171fa1038c2ccb952674049d04740b9344dedbe5b37d65a05500e54faf5d8c2f30dd4011ae78946c0d501ced1781ad5ffc7e24b3ee87bb4b1d67b930984d55c1476164c19bfe2cb947e217b1960101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03560102ffffffff02e093040000000000232103aa3e2d213d453dab046457a98d908e81b8e79ee71bb400e3b1868844d85de054acf82401000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_7_BYTES: Vec = >::from_hex("04000000b8863fb0b1361519059c4ad552bf007d321c2a9a710c6f71dda84050eb637e06f21731288dc961bc400ecc1f70099b0bb4b887bb319a51199c81597100bdae4700000000000000000000000000000000000000000000000000000000000000005a951358ffff07200300a345864053594c184c6750b57343974a3eaf2aa3e7c4426f524eb2460000fd4005008eeb245cc7cf1d37fcf0a704f9985aca2e36ef05295984fb42ea40a78ae523869e70cd617937b31ef6028713e9f9ce07bf7bf582cd6b2f5096888019b63f13a224146d4e9805917ee44d64fa0b014805db796903e671e5110132baf4be7506d86315833075bcfaf621c97b778758543f679d632d0e72d6f63a45b6dab775f41d31b525f11d66cc1c9d1efe971f41933a5b327a2137b4fae268fb841028853ddd50aacd9c58325c05bd34653c4337a0bf771484185362e26ec2dbb956069f415ad59c980fe1f1924741cd656e0ae39cc7fc0c9d45586bcef71079be7357b11c60f1c55e2e9b2f24080ccbc4155e4f315333eb62e88a9d166f4c9b201160a09ff71f047b8bd0b2c266be5953a1995f174011a22a384de1d87171f8e3502e44f720dfb29e472d156aa6bbeb29e39b95b344a6a0e84f4af4a03aa8713af7022522a14f5f294883e4b860069e041291cd6800a0db3987d48577b37d9277ee2bbe68ceb2957aa63206f6cd0a9a3791efad876057eaa4a28ec9dd59970d63b21ef644d7aa7361b383044f1992c93dfdf2e2118e08e4bd0b9741f117f6fe69d188fa936915672b0fe546fbd12c20cf7e5d43c0fca470cd5aa77178c81bff7c5b5fcebadfc37954a44d324b06cb34586b841b027cae76c851969f0af2232ce97e19e8f39977831b2af7191c601fb34f52e69cc7df9d9b68621c39ac00c4563e50913398cbb760a170499628f1c9a90ee20cc8fd26b6e1c697a024419e9153d1b08fa4f6a8101f774e5140540777974ff3c3cd3fc82daa6e3a752e4652caf331924ed4e23137c3206c5be20aad9275531013834072167002bd02515c59161f88c4f49df57a1c0376512c54547ab6b655c52ef0f1b99aeebefff81bc487cdba34309daff946fce5e20c1336e01c220e229013bd195436659fdb087b404b57ce29483393f000c266da348a9119924065ed556165f6758b9e6c4a1fffb75b3a4d0d8d2372aa9240739026f4525fe4de161832bd72d1e40f3f1c02a61672a42e3bb192c90747605ea8e2983023b4eb96ff0ae9aa2a22a0d9cbe804eb40fbbb119423ca080540067796aeb75cfd97be1de1126cf16865fbbe35342953d6325a6c703cc6b8267c731d0f342d7bc4a9a36afc2592ae0fa95310af6023779d685d5047b06c79e7e755949af2aad9b9c904b76a95f3054814ad7a415cbfa39bfe85937901df32dca63ad05ba7abc3d2845ce3dab2b35bb53d859e0d8a03823a87f035d57c252237c997cd983e70f58b2fcf9a721b1e8ded257398814fdc9af69757f7027f058801155f8f5ee7652b15787bcb5882dad01a82011dbbe94ab38b0117e3cbb24e69d22bd4eec21918e3095d8fd1b716493b9fa053c7227d0d43c3ff5fed28289c4457561bc521b43f93a7df724b69ea9576f30d026727a276c41b95f4fa1862e4694b7f21c3fcf16f4a5cc496646508a7b35415f68b40251a9fa4355a8318f34bb0904edbd7cf21024c5b5141ddaad3d600962348c311788f71c3ab8512999874bf651734f6e57d05bdfcbafc4da352ffd004c27565010b7ad3deb6914a9a9260e19623430ae538fa39f936f25d369b6094079f8ea7c510132563f5b31a88467436e78cf9fcf0207e5d29bfe92f1b8d6642a63c4e03b5cc1514ab990423222216d3d9fda362a2c9f1d631158e085c25e20d6c9d31886271012eb46587f0e23a2da22aef1e2c11d3ed6710cf876e8df3c71002509345d329b9e3a618b44c7665528db4d2b0595f2e7989cf6720dc17f6042f8187d1e54fdbb653f5f02dba00feebf73cd7370b494790b1d2fd5f9e905319a0b1258248fe7b04080de14668aadb52911125882befd99346851dd5dc1f27c212ae3797a3057197a2c329c691293e74180c1e0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03570101ffffffff023057050000000000232103b5ca53d1dbbc1f9896f3a5fd59715d066f98cecc1f15dfc33d0762f8409e29ddaccc5501000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_8_BYTES: Vec = >::from_hex("040000009602d22138bce598c396bc4691d4cef0b67fd3a7f84a9a35a60d921881052f0343a443c43f281258a8aba067ddb775c1423ffdecf0007273d8c908e22b98f8290000000000000000000000000000000000000000000000000000000000000000cd951358ffff072001000d3233ddab5818d448041684dfe38f0448cf2e12ea44818478f35ad70000fd40050068d4c9b1c19f884b49d8bcc74b398a97a1ba17d028602fab3820f2ad2f194345c73555f1079fb5a93c33f15ebe85f99efbebd349cb78e27e369ccd9642e5581a7f9c9c180b92c56f86890d71a7bb7f2fbd84470650fe26fdc7fb55c5f7c221137252711e4cb483710e12590419661ed14a0624aad7e094d9e29a19eba116c0cd3eeb2245839d29668aad5b16a31aaf5b16c829c1d4d26e99a7c55a1543c060e783e57cfb2fc6ec00793892031eed07a0f0e170e9f47bfdf7e897dea319ecb7f5b53976c9e72c8911bd50677b16635fc5b80e4c0ee0334ef5a771ffc639fff15a05b4c9b39f201743ec30206e119f8aa33489b5b084ea75d7d41ac500d17ed2ebb78389fe67f1c4617c6e632ce6dcbb471b1ea11fbc19e969dcdf424286ff213974253b03e3061ba25a92f40b81d68d956fd5bef0e6693ebabfae156f1a224a8ff9ef4542a460ce78e5522e4c9bbe3707cfb6920aeebdf1edd85205b617a96564ab6c723639f3a49b5727d8cd447e640ff73deee9357e92b39709509b9ee5026126fbad62587a25b1349a4c4c54dd108aabb1ae9c444592087176e830e3acc4a113d4f90c5cc9c995138f2aef85f63566ee8de29d249aae0f1920ce13b3212e0b4d1288093dd12d9eec457921eb1262ef1f39e3e50931ca65d9ab78d439eff1b071975691dce80e60933f9f7335deb24700a61f7f5ed69a11e73e9c6914627b80d2e46dd376d3e5ee3db07ceb178a3e052020097d73bba236a7df20c4b41c14c8b914f80662cc4b5e1fa237372ad7c57cc332933dadb831e354619e536c3b896ec36a42497ec4ffec111f52130bb497f2c5710356d795a2eb7c6ac1c20e9bcfc4318e63e71a5b3e3bc3eb16bcfb3c4e71b677cfa3e81560ad909ce362c9835371ac6226b344b22c94936317970aa653cd54e1d20124a868e4d215593d32e55e0101cac9690ed901e9af411e6dd9108050a6e3e07d17918526a86a6f2be652f427367c10b9f8679eba7a18ddb2614ac7479f0ce6c42f3c35852a76c99f8b2f2e069ed13718d3133ed225b0b8b2f68a56225e2f81019034eb9d031ca9a66567dd68729e86b6295cb9350df1087aad8a34dfc8e694a83acb39d97726b378ee0d236f6ee7b19dabbd5887fa9ad439d6a87d1e10714b98a5e459727205fdf6150735ed8035f8d6567c820594328f51754a65d0a7935cabc17871f0ccb3b66c2654cb2ab4e459b9d9f983af5b49486e60b615290e0843f9fe528aee3dfa74959ae3cc1601d94efe1c2d164be7ad17de0e15f12f22a6d8b0ee4d89276c55950e8c83a465050b926a94e5203e7f6109b298717dab18d95e2dda7a19a1d61a433c02efda5db75ed97900101ea48cf890a91cc706927dd6769bce34725b4b6e18837c71c665f41bebce22aa2350d679c1b5b4682001a7ebb73e1f3c8d7281f0cb95e684f061d5c3b52104888bc1a37733d1bc5ba389875a93154937afe8733806b633444f26370b96341ea36205929b52f4efca5615e65cf660ec815b0978dceed6b89bc417de3d6904a91219b0882803431c10665b399e6aa130b8e66c1edaef47b50c5137ea7fd60c576e5d4d86d370185114808256ec1a9fd9d0fd46686bf0046eec525870bc33bed6dc74d115774f0b7496c9455155c2ee1bfa390caa737e5acca8772e3ef25d6e7c7c475c25fcf75e31d65f94671f709d5261b3955b504ede2d6c9fd0fc19e3169a46983296fa0601cab0765b44843f857b4c1c365179e660b0f5107982d0ce23fad13b372c95541389068b709b47cb4c4e884a83696c562ded73b67e271ff5db14a3122d35f4652f05548bc7d179beaf962bf2cb85d15c569755534335ad4ed7a8fc447cc240320a4472e31db763ac1643b1a6f55a2dd2b3b7e91f0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03580102ffffffff02801a0600000000002321035e017ce17274f75539e35e93ffaae48b91c2cbdf1a982fe37a7ff0e97cac9b19aca08601000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_9_BYTES: Vec = >::from_hex("040000003dae23446feb7b12c2d68c735985ea2d7667208ff684d86877c989dd32d5a4051c78590780f87bccbc7eb483f92fce9f2236c3c3cb729461a02af7f5dc40ec9e00000000000000000000000000000000000000000000000000000000000000007d971358ffff0720000022fa6efc3e750a2fa56348232d3cd50ed5d1f75ef6c9de076cff4f140000fd4005003cb52025dcd523b0117646aae7559dd7ca35723a2f51fbd4dbb2c9c3c942440f12db079327cd194d880a480311552574bb88a5e24a03bf9d2d4ca65fb08018e792142f67ee85876cc4a647ab3a7dcff28e882f04ac6c8142d22e00ad7e107147450ed025249d1b473dcafbbc809bf88f5ba2c453b2e31c4efb1ebd35ee085295c73612c04b6e33830878ecf01273d053a8970ac581dcd90603d75931d134f8b75935f276930e0413f87d7b02cd628d0d9193f660d53c461885fc690d2c245642eb4e3c1111bfa435e2b7c736c3529ed3d82a9022b0621dfc2bc24eb68ffbc68fee434a7eaa36349ac4b1e50df379ab36b3d260a915f2c7a1bf3dba193cca15ab50d57541a074c491fd14b534afd063d8256e8bb658e5e2854026034b94f0b0cd1975787c002d7acd8ab4d162ddc9a6c5669eecd67167ca5428f13b0867c0991f7b2fe36a14a1044cb21adc911c9dc000882047ea81b8bd946601f5319287063c2637f23c0cc18439ad83a6ac6275a450faf35211ab8f1053ff40b28320ac27f2c196b148fbe2d798ea59ecd8d1a261b56c148021eab1a6bb36b3a6d50ae1db4cf0f5f6026253433a4e3a3bb431d0e78cc831706530fc2f4c69a24e602fdb562736ff7be4f7ebcdbb09d57d5baa037ba9176e1784d4bcd6a284d8e127ba5692bd82601e382a8a6d9ca04322c983200758f693ac515e76f00d2a87fab1917c0d1c9901397630d75583ba529c8a3999fd5fff0ed6573268190dbb782be286b5fd208b19f4237dc7509875509ba5c85ec5a97ef432394f911eb3650550d4bd21ca5de624c5c68a6e2536ffe21b1376ff143e237ff1f131317e9c7261530a39dc5d443f019361159a55e3f08218bd8350eceba5d77ff9141a0804c89a86ff068605ac0d316b42f78c52feee072b4324b959d37f6382c9858b054f8dd3002918faa900584e6faa8aa2e586f8721015a2e52d5b1db2fc2213a193a312b1f985f4e60614ff78f4f9f811f77f8d0a03c6a48d6f74e3d395e5913be4b9e24f6ef3928840e0eb2fbd95a6f0ca9ab74d9f3c835e4f4a9837bf04fe86597be6a74bee251112a6a3f958bd09c9aeb5600acb83da6b93f3fa5f8659a3cf2fb9c9991dda9f0d798e88dd45a6aa9ed86747cdd3604237bad9cdaa2426cf3eec6dce9198ae72bf6f58fcfa2cfb5feadd0b9819443a11c97fee8c93a062f58f758105b5f23c1898e3045e4c62f55e44860d3255d851a3dfff492a15a7860ab46916d37dd3f60b713ef92e489b77da6767717431226304c19860b79c776b797e83c65abe7c1bc1a2ce188da1d6c4ce444a63708862de34d99e5c4cdb3d35c36130b751e935fe9335c555c55693308037c42dea27924cb391bf45c427b8fc966f4d1fa72e48278c3449e45f71d6a6798ddffbfedbabafffa378012c6367fddeb097bc4341565045ee95d3ab5dbfee14f8ae724d0827fa7226e37ef24c96bd8b3efac033185a8b91be31f2adff36a80ff27a02f2adb8de9a5c1a54e8fe1f628871e9a9c7dfe166d9628bdbf7f97a149c360049b24d25e26f23d38153e1c6a34cfe32cf2c1163131d18d1b4eec2536580454395957eb806ae328045e5d762137533d1958a94545a096cde5377403c8cb67cfcaa7163dd72a76bb0bc46bdf187919daa028157918c905a5302d0906bf81b24188d1a33190a15a629d437956520ede9543ba12bd5818f205eb43f225762c39df2ab43fee6527e8ce3e222f4575bd2f86aa95cd3eb338725ed291987e3cf85130bf49bdab50433a5e8a10f096900a73114c429aec5ca2732f98e21546588d54d271ebf75a5504df0c13185b29e32820a473181480933a083fe01d60264c380ca4c8825010e5945d09d0dd78c950ee401e8f0d6e1474aefc9f40101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03590101ffffffff02d0dd060000000000232103aa5dc719593db872a724acc3b73f1aa9b9f27ef495732a610ba1a1c7a26bbbefac74b701000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_10_BYTES: Vec = >::from_hex("04000000b6088ea3f1c30d9ab14b551f18fca4441ff4fd8f723b82bb901b981bcdcc35022edaa1188cc82324f77ab6c52d37a30c2837b4c985681beae1256c321b188738000000000000000000000000000000000000000000000000000000000000000081971358ffff07200100059812b5da85543a1c4f96478e93a3b4184d3bce80d12d78bb5e6c660000fd40050021f6b9661ee6bfa83b25520fc1df97c3195e9bef12938416af931943089413c5a4a087a5e206966ab5164dd67522722751c2c5d495053ee06e3d6a5bd0a618ef0a831fe75f9197dab273a2c6a06e3f971d8a9a0afced428e66788b8dd0b33c5a5f8ec6d23078d07c20b10ed32b332cddbb3a064189c075d2013058d8780bc22509cf247ba330688798624785066e261517a610d77a3ead8b74dcde5ad6106bc933c9c4213dd03214746b7fe9e9ccebe69163b72fd759d0febd5accd023b451f32763851bfd5f72a995f0ca9546301ac5ab24c13636f49cf37db96a2375f8db3fa4fcc59faa1766f3e5518aadac05acb6f6a96bf69cb263a4deafc014e09332adb0feffa613a5066ba8e2eeceee3916a751ea0dd1f46b3c89a2a82547903dd4879dfcbd682622d96a55e7ce956d4c01f7b3af737d9e6bcb1bd6b527aac51e018aa88dbdfc3cc45071036fd1ba1f1b4b03a27207262b13855a31823980a5030d0c033fcb532ee2a626d714e883442ac6082fdd6126808cfee394164adf1a26cd01df48bc05e2cc627b5398dcde9edb242486e9679db29334b5e5aae5f8c6ae10c1dd9df305e827c6a7887bf784d601a21313c37e4a309a9ef013cf328e17dd41710839926b065902e49f39e8c67b0e88a4fbbac3f5cc5b15b656c4e32706395857fb3a2da5a6b76aec7b598898d7687a692f1af67c9f3e370d3c42c06c3d1e37fe2a547de0df7aa9e70e51fdb432ebab7730996cbddd01b37b5aa87026c3f2b7eb7f1ad4ca08d691c7fff8ad77e1efddeafed82f3835363046f643c5b34ff9f581971d8dc26085cec7743937129cd2e45a8fc47f5b05418f015012ca372c74b5902ba95efb568f47c484c594c920b5b0a39d0b1ede7e3a169d9daa6303738276b4be2e5423c2253b7a36844c627dd4189b70e73cd04610fed6dc7246645e5de10109fdb2d7d469b974ca406a1dd928d82890d64a5a19fbe150bc2834c7e22012b9eb5d3644c361da345b0ce38a0e87edb1bda4d665f09dfeb285d9c51062f022710fc6fb4a51d14557456eccea5a464c3d1a924c0af371e9f8573fe12ac461aab171214de83cfe36610d28a3feca0e9712adf1031b94e9d2170d0199cd7d10ccbe569488ea824c1362ea2a7d515186bf11b7eb4d7d62e9b5d7bdf76edb49897160d076dd64b8b0910266ea9a158a50f5be0923c5fb1f246aafa17cc25d113ec4fce458c943d68462c15fc10a39d6a7fefed0336c2f09d216f84ba3216504903ac5ba3920f943703451d7a4855944f534cef72abaee55fdf7c29a224f03880999f91a73ab594e51fe7f184a90d87648bdb52585d18c264ee201161732b2db56acb4c3401df3970574e5493acbc82a8682e59f136a09176e547de26a1b3863351787c581760081b3dc3a1fa517f6162ef305845a8dfdcbf948a713d1b49bb103657a38151cd6320fb6a181d48c5ff88063dd6cf69de225f0361d241603596ee3e647dbc50b559a1e5c35c1cf6dde923226312faafd3be345ed5229bcf4fdbe0f0191fd294d08542cd3cf095e6ad52e81796a225964614f189aca10186d975ed9d65d8563b1968bca4d41b5b69fa0de1f3e49415a24b97f58b3d2b6fdd0f1fdb6c2de99aa2de3cfa3e5e9503b60d98790956c16fa3cf2de56570ae43d32dcb20fdfa286846a3d348f9b7204fbe7930c2e29ae6dd2e917d457b26c187c36e282a09efcf918286f6920604843ad0446f3074168838bd97ec08874d5971491dddeadd6060c12b9738b8f0964f9649e168ff378340c780bcd7478ae32dc74fb604fdb22a55849a7f0c763207d6a35a9071567925a4c12d3b3a2182f38d2c8882627ab9dc18f0f9077e972c1306fc21d90b9c259235677ac31f60415e20bb65426d5308a0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff035a0101ffffffff0220a1070000000000232103a42464b10ec3441beddd662ba25898dd244e7dacc4f06c01a23af82decf95759ac48e801000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000").expect("Block bytes are in valid hex representation"); } diff --git a/zebra-test/src/vectors/block-main-0-000-000.txt b/zebra-test/src/vectors/block-main-0-000-000.txt new file mode 100644 index 00000000000..5706f214c6b --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-000.txt @@ -0,0 +1 @@ +040000000000000000000000000000000000000000000000000000000000000000000000db4d7a85b768123f1dff1d4c4cece70083b2d27e117b4ac2e31d087988a5eac4000000000000000000000000000000000000000000000000000000000000000090041358ffff071f5712000000000000000000000000000000000000000000000000000000000000fd4005000a889f00854b8665cd555f4656f68179d31ccadc1b1f7fb0952726313b16941da348284d67add4686121d4e3d930160c1348d8191c25f12b267a6a9c131b5031cbf8af1f79c9d513076a216ec87ed045fa966e01214ed83ca02dc1797270a454720d3206ac7d931a0a680c5c5e099057592570ca9bdf6058343958b31901fce1a15a4f38fd347750912e14004c73dfe588b903b6c03166582eeaf30529b14072a7b3079e3a684601b9b3024054201f7440b0ee9eb1a7120ff43f713735494aa27b1f8bab60d7f398bca14f6abb2adbf29b04099121438a7974b078a11635b594e9170f1086140b4173822dd697894483e1c6b4e8b8dcd5cb12ca4903bc61e108871d4d915a9093c18ac9b02b6716ce1013ca2c1174e319c1a570215bc9ab5f7564765f7be20524dc3fdf8aa356fd94d445e05ab165ad8bb4a0db096c097618c81098f91443c719416d39837af6de85015dca0de89462b1d8386758b2cf8a99e00953b308032ae44c35e05eb71842922eb69797f68813b59caf266cb6c213569ae3280505421a7e3a0a37fdf8e2ea354fc5422816655394a9454bac542a9298f176e211020d63dee6852c40de02267e2fc9d5e1ff2ad9309506f02a1a71a0501b16d0d36f70cdfd8de78116c0c506ee0b8ddfdeb561acadf31746b5a9dd32c21930884397fb1682164cb565cc14e089d66635a32618f7eb05fe05082b8a3fae620571660a6b89886eac53dec109d7cbb6930ca698a168f301a950be152da1be2b9e07516995e20baceebecb5579d7cdbc16d09f3a50cb3c7dffe33f26686d4ff3f8946ee6475e98cf7b3cf9062b6966e838f865ff3de5fb064a37a21da7bb8dfd2501a29e184f207caaba364f36f2329a77515dcb710e29ffbf73e2bbd773fab1f9a6b005567affff605c132e4e4dd69f36bd201005458cfbd2c658701eb2a700251cefd886b1e674ae816d3f719bac64be649c172ba27a4fd55947d95d53ba4cbc73de97b8af5ed4840b659370c556e7376457f51e5ebb66018849923db82c1c9a819f173cccdb8f3324b239609a300018d0fb094adf5bd7cbb3834c69e6d0b3798065c525b20f040e965e1a161af78ff7561cd874f5f1b75aa0bc77f720589e1b810f831eac5073e6dd46d00a2793f70f7427f0f798f2f53a67e615e65d356e66fe40609a958a05edb4c175bcc383ea0530e67ddbe479a898943c6e3074c6fcc252d6014de3a3d292b03f0d88d312fe221be7be7e3c59d07fa0f2f4029e364f1f355c5d01fa53770d0cd76d82bf7e60f6903bc1beb772e6fde4a70be51d9c7e03c8d6d8dfb361a234ba47c470fe630820bbd920715621b9fbedb49fcee165ead0875e6c2b1af16f50b5d6140cc981122fcbcf7c5a4e3772b3661b628e08380abc545957e59f634705b1bbde2f0b4e055a5ec5676d859be77e20962b645e051a880fddb0180b4555789e1f9344a436a84dc5579e2553f1e5fb0a599c137be36cabbed0319831fea3fddf94ddc7971e4bcf02cdc93294a9aab3e3b13e3b058235b4f4ec06ba4ceaa49d675b4ba80716f3bc6976b1fbf9c8bf1f3e3a4dc1cd83ef9cf816667fb94f1e923ff63fef072e6a19321e4812f96cb0ffa864da50ad74deb76917a336f31dce03ed5f0303aad5e6a83634f9fcc371096f8288b8f02ddded5ff1bb9d49331e4a84dbe1543164438fde9ad71dab024779dcdde0b6602b5ae0a6265c14b94edd83b37403f4b78fcd2ed555b596402c28ee81d87a909c4e8722b30c71ecdd861b05f61f8b1231795c76adba2fdefa451b283a5d527955b9f3de1b9828e7b2e74123dd47062ddcc09b05e7fa13cb2212a6fdbc65d7e852cec463ec6fd929f5b8483cf3052113b13dac91b69f49d1b7d1aec01c4a68e41ce1570101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff071f0104455a6361736830623963346565663862376363343137656535303031653335303039383462366665613335363833613763616331343161303433633432303634383335643334ffffffff010000000000000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000 diff --git a/zebra-test/src/vectors/block-main-0-000-001.txt b/zebra-test/src/vectors/block-main-0-000-001.txt new file mode 100644 index 00000000000..f5ffa4ff053 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-001.txt @@ -0,0 +1 @@ +0400000008ce3d9731b000c08338455c8a4a6bd05da16e26b11daa1b917184ece80f04000946edb9c083c9942d92305444527765fad789c438c717783276a9f7fbf61b850000000000000000000000000000000000000000000000000000000000000000ac7a1358ffff071f7534e8cf161ff2e49d54bdb3bfbcde8cdbf2fc5963c9ec7d86aed4a67e975790fd4005002b2ee0d2f5d0c1ebf5a265b6f5b428f2fdc9aaea07078a6c5cab4f1bbfcd56489863deae6ea3fd8d3d0762e8e5295ff2670c9e90d8e8c68a54a40927e82a65e1d44ced20d835818e172d7b7f5ffe0245d0c3860a3f11af5658d68b6a7253b4684ffef5242fefa77a0bfc3437e8d94df9dc57510f5a128e676dd9ddf23f0ef75b460090f507499585541ab53a470c547ea02723d3a979930941157792c4362e42d3b9faca342a5c05a56909b046b5e92e2870fca7c932ae2c2fdd97d75b6e0ecb501701c1250246093c73efc5ec2838aeb80b59577741aa5ccdf4a631b79f70fc419e28714fa22108d991c29052b2f5f72294c355b57504369313470ecdd8e0ae97fc48e243a38c2ee7315bb05b7de9602047e97449c81e46746513221738dc729d7077a1771cea858865d85261e71e82003ccfbba2416358f023251206d6ef4c5596bc35b2b5bce3e9351798aa2c9904723034e5815c7512d260cc957df5db6adf9ed7272483312d1e68c60955a944e713355089876a704aef06359238f6de5a618f7bd0b4552ba72d05a6165e582f62d55ff2e1b76991971689ba3bee16a520fd85380a6e5a31de4dd4654d561101ce0ca390862d5774921eae2c284008692e9e08562144e8aa1f399a9d3fab0c4559c1f12bc945e626f7a89668613e8829767f4116ee9a4f832cf7c3ade3a7aba8cb04de39edd94d0d05093ed642adf9fbd9d373a80832ffd1c62034e4341546b3515f0e42e6d8570393c6754be5cdb7753b4709527d3f164aebf3d315934f7b3736a1b31052f6cc5699758950331163b3df05b9772e9bf99c8c77f8960e10a15edb06200106f45742d740c422c86b7e4f5a52d3732aa79ee54cfc92f76e03c268ae226477c19924e733caf95b8f350233a5312f4ed349d3ad76f032358f83a6d0d6f83b2a456742aad7f3e615fa72286300f0ea1c9793831ef3a5a4ae08640a6e32f53d1cba0be284b25e923d0d110ba227e54725632efcbbe17c05a9cde976504f6aece0c461b562cfae1b85d5f6782ee27b3e332ac0775f681682ce524b32889f1dc4231226f1aada0703beaf8d41732c9647a0a940a86f8a1be7f239c44fcaa7ed7a055506bdbe1df848f9e047226bee1b6d788a03f6e352eead99b419cfc41741942dbeb7a5c55788d5a3e636d8aab7b36b4db71d16700373bbc1cdeba8f9b1db10bf39a621bc737ea4f4e333698d6e09b51ac7a97fb6fd117ccad1d6b6b3a7451699d5bfe448650396d7b58867b3b0872be13ad0b43da267df0ad77025155f04e20c56d6a9befb3e9c7d23b82cbf3a534295ebda540682cc81be9273781b92519c858f9c25294fbacf75c3b3c15bda6d36de1c83336f93e96910dbdcb190d6ef123c98565ff6df1e903f57d4e4df167ba6b829d6d9713eb2126b0cf869940204137babcc6a1b7cb2f0b94318a7460e5d1a605c249bd2e72123ebad332332c18adcb285ed8874dbde084ebcd4f744465350d57110f037fffed1569d642c258749e65b0d13e117eaa37014a769b5ab479b7c77178880e77099f999abe712e543dbbf626ca9bcfddc42ff2f109d21c8bd464894e55ae504fdf81e1a7694180225da7dac8879abd1036cf26bb50532b8cf138b337a1a1bd1a43f8dd70b7399e2690c8e7a5a1fe099026b8f2a6f65fc0dbedda15ba65e0abd66c7176fb426980549892b4817de78e345a7aeab05744c3def4a2f283b4255b02c91c1af7354a368c67a11703c642a385c7453131ce3a78b24c5e22ab7e136a38498ce82082181884418cb4d6c2920f258a3ad20cfbe7104af1c6c6cb5e58bf29a9901721ad19c0a260cd09a3a772443a45aea4a5c439a95834ef5dc2e26343278947b7b796f796ae9bcadb29e2899a1d7313e6f7bfb6f8b0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025100ffffffff0250c30000000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875acd43000000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-000-002.txt b/zebra-test/src/vectors/block-main-0-000-002.txt new file mode 100644 index 00000000000..795b6faf68a --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-002.txt @@ -0,0 +1 @@ +040000008392336da29773c56b1649ab555156ceb7e700ad7c230ea7a4571c7e22bc0700f4b084a7c2fc5a5aa2985f2bcb1d4a9a65562a589d628b0d869c5f1c8dd074890000000000000000000000000000000000000000000000000000000000000000ca7a1358ffff071fa5556cd346010000000000000000000000000000000000000000000000000002fd4005005605e4490c2e7fc1acf199d7401e18ab8d2be4c843103a7ebdd34046d5514559e6ecbe29c00b9adf6f1aa49f1d63b9c20fd9bca4d9bbb381cb82f59cee9f387deb34ec4fd6b1e12f656a554bc21db88bd1560a033e64099c0bef439cdd6055aaa4f79c360ad37d1f1df1fbd35214e17fc5a0b3c0d272b1e693d6ba9e5e0ae71c6ff58545776838c18b756bf98a83a6b9739b4dec356117b2b227f6f6ea3f04fd854aadf27b40b302d3fa50719aa02f99c2003b51eab8c64cfd145117054dcadb604ba65a8854a095bd9f02884a65225baf0547a7ee44882b11343d40b1a6511cbc4db1d2fd840a8cd63610d29c47bd5c920fe13c349d1044185cd40854f8e60a212d59e1fe281e8bd1343a682e95f3ea23fb5ca83f9913bbcb11232ffd7165ea4a475273df1f3bb53cb721548b28f772acf56060da5d26fab50c4f8b87781bf28843bea805340531a61f002b5aad9a0427b597af1a08659f1a7b4b6d69d53b13191cf35512bc3521359dda47911112d06ae5410281d918bf53049f8295f067f2b3794a90cc15358e294c6cbd7896108d7c897e4bf61aa72451a280cfce72e0515b8dc510a52743b7615b25ba2f13419d562f6148fa36132622953c0fb74ea0b4870f86ccc1ece9661b29516a2226ea16b7100dbeb718a674eedbbe9d23ab02fe1c634234f3c1275ae9d7f74c754c66dec0af7331fc1407075a06cba62098a9be09d24889e7d0a6cf77d875131fe1278e6fdea2bfd9423903e1cb4502edcef971c60b064d4d8a9703ff324574e3d0535a59ab091355185499545be1baffddf6c2b654e5c30e7e1291763fd70896217d91d876a9be914a8472fa292ea3cfdc4be84f4c645f62d8ccff990ac4f5c84e0775b147d1532e2d4f3a8fb92fda899280a3e42f2b927dbef872ec6058254eb20e2770efde7c57905e7741321e833533e0006344a4c6deb9a78e8496de1ae1464ef8367ae97714700e76658e2390cb9702d1413b333d7f04fb89dd09cefeb34e0ead616cd5d352a2f348758e0f5fc4220c6a0693acc90b8dcd7a372ecb688d86356c151d9703576af8e904adea9941d1a6296774ba62b4dae7bf0a078f740af040c584f0245ed2ffa351f0b550c8b80e192ba1a75eb40fc42d67b722ea04ea947ed53e831fe057153a8bd6897ddcd43cb558d2766fb05640ed0c1d14eae0739b11ec07e34f3ea6acbd9f807b9ea6476bda5964a9fca1819c854680f75857e57fbf3fc50e3f5b0d25cadadcd9b3428b85b70b95080c9423a836e9e9e2cbd485075a29452d65acf3d5762111d70a0fd389ac7214b96b11eb14ae48ff1e4930ea50d8261472fd8d04877af717b4d463c0d9a6cf397b5b91fb1a898b329c4b46b8c350e3c0122e186bc393fe6d361e117963d38e44e0ccf1c45f33440aaebd8f99ad7b019c6411bb070178fb6b76e085e3bdae4c883f1f4112e7db91c519c48769fe96f56350cc8687679747730f0aad3bc58b78f87d162104beee449e55eab45558241f32cb5a0f30fea0f38632adfc8a2b7292ff89641581bb6e0111af26dad9199596ce8d432e6f7d0a7415aacc473acfb8af68c9c6ef8b60c535da095cd3a02598fd82fe20481dc87bf6ed25fb95633dc7ff8bcf3f81c323546084170e567536b5c4ce9392ae1dc1f201d732134597e3c9353416fa40ff8f2628815e9b980f27a9c05adefa779ef1a35fdfe6423e9f671677311971bd91d9aeb6adf4c45769d07df7a24955f4082730fb0d3f6467472f75add86b827a7b664005931130029553fdb62ad9ffdb64b44701c0d94e7c5f5ba2340e641d9e34737e29b47e619659f458a161648c9fb81dddbcc73f1eebc92fd7f7b70356635f0de19912d82c9a978c2750aacbfbeee3ab62e96f7df7ce918fa30101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025200ffffffff02a0860100000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875aca86100000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-000-003.txt b/zebra-test/src/vectors/block-main-0-000-003.txt new file mode 100644 index 00000000000..d3a704301e9 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-003.txt @@ -0,0 +1 @@ +04000000ed73e297d7c51cb8dc53fc2213d7e2e3f116eb4f26434496fc1926906ca2020083bebac375d107dbfd4a5901765da703c2953acbba6a7125720c1de2ea70364e0000000000000000000000000000000000000000000000000000000000000000cd7a1358ffff071fa5556cd3ad000000000000000000000000000000000000000000000000000000fd40050028fea86051a02aefa905dc4fec427af4f7b8ab3e05bfcd446add3cff9b5ec2100ce57229c1d1d9ae5c1a4f7d7730d7ddeae724e2dabb1c6392d2843775cd32b4e4dae21eeecd1fcf3400a47bf7c9b922ae6d1d02285c8f8d0ed46d2f0c91034127028304071c645a205a0d1dcdd059bb90f5d45d59503b69aaed7fc7a6053c8c9fa918830d4625f2baecf6d720ba6e9694a123be44509b92bc6cb0488324d9fe4aece2a95b895a04f353979ec729dd06b961ee0563680099ac7443333d8e054d27542b517db2448c45df9a95564134b980193b7dd8e850c667bcece58ab9bcaae16b686c748c3389a4b3a621b96bd15655931a3522eab5771770d205ddb84174e518e35a77209b5f1e2d9147effa708c0c3fcb4eeea1d2ad42c787fd99d32ac64053b5230c069ca13dcad0b6cfff7ec5f324eb32a681dc7956ff143b3735a24b3f3dde1a51bd58e833ac831912f6cb00f8d79aac97954efbeaf2696df52711fab278cbc3125594bcd9bc6055e6346349aa627780fb9b9b7c4a0ae161f990d0fca33b41b414766c6111ad1d91386e18a0dee812878a0ffdc491cfb8fce36d76b48d0dc7099e42b9448e041cad883115e44a60b12782ee34cd18a44d9f9110169dc3e675bcd874deb2b13997fd3711bc038531943600addc0559bd77d711836a543cae23f04e146139e209fb5de772a9cb3e0bc10bffb70d0b60d87d5b45758782f311b349e9ee2487100629d121428bf1a7099345cfd0c254b625f2f8c9059256aa1b29e4a78b64461fffc8b4a1f4e11ef9293b10e0223c8853f2b85ad61bab1fb7eef7cd96e291695ea3b00be19f3c03612b3795a503bbc49ecd71a2687ff0c01c94b6e958ee973d9d0532d1bd3e432e3afd153914132f5918d41b9f87a1dbd1fdbdd9024d86753e81ce1eb32bab2d92d8a7017195a1a5b345358139db90f10070c6fd5ab4e3e1f5c49550f632f72f143d191ad70381a6daafaba6bbf36e8ad79bd973039a30dee16a01cf252fe3ccc66b3904a103ec14f12dc9ab6fff540d08a2de25e14d710e421178ae24a8a5dc597e23980744697d079c15eb2a60a6df003ae5be770d1b5cd3187baa87418d8740f5861ae79ddb1aef3bdb3e5e470a61c0fcb8d2673ad050c13bdc57d2855ca1adf9eb2730055dfe1d618d23603499146d083dc2363dd7f80bf94781a24814df6b1a221e8b7b36688a4398621b33b24c996a91f7e13edbf4ffd7f8612db709359a303bb7a5d3689f9e7bf645a4289c36d48dbd73f270044c9c6d550b310ebfd18b7630e7fd61c5cc271310620ff7317b899faef5cff6c9c9defc0326c618f6f6bd225c25d0b56190e18aae433eb8f8458ae252b9ce082134f6b3ffd271753c7f0260fbf46a5e9811999d992c14b6ac88d04829b4d883ea1a78cb6da876930060012ec17bf94f9768f172f525296f78862faa12b9b5170346a647cdd2f5dabfe34c88733f91314b77821f0d7d0b8ccee03b5bec6571ebc66619c4c08e1e11fa38d395d2805160d79152b41f85479e727daf753dad05754db24e533d19f21f23ed4f4f5c91d4c7d597b33f309dc8e8de4711b99b64e9eb580a42ae1b5f2cf51b2729fce62799774d81921e5ba616fac006ffe5b52f007bec41149c41295385cc7d6dd45ee566d7e71d0284708fd842b0e021e81a2c54f9082788295f10101e924954ef8a0f388191144738367bf9d7f5fc078b03bd6da2a3860f4e3840e51fc2432617a9223eda674b4ccf72222d859da4c8b6b56d4d7e49d6201fd3a802daf9fe32612153dbb933b609f2ae9d27cd53354d21ad7b8837097c6ae00ab4cb5848638d4f9ecd52b90c134d1f45cf107d055054018dd95add753e0ffb271b641e4bc95f013745f212021c3d64911901ec7b810101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025300ffffffff02f0490200000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac7c9200000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-000-004.txt b/zebra-test/src/vectors/block-main-0-000-004.txt new file mode 100644 index 00000000000..ed9776fdc3c --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-004.txt @@ -0,0 +1 @@ +040000007fc6ea65cae94cd84309ed9e0f35a67087cd4bfcf3c95ad6978ebbe5c4f606006e44e2f6865c547769a8ce02e148c83f3f15bfd8afd31e4c05318816b0b91b780000000000000000000000000000000000000000000000000000000000000000d07a1358ffff071f7534e5d60c000000000000000000000000000000000000000000000000000000fd4005008d16b18e21dff532f88087062f3919bee13ca6e204b89baa18973860fdaad24710b3ae6cd68297296c205f997e678d134bfebb3bfc4d61fdd746c45a8a3933f4ad6ca895f3e540b95978b3d1e4530b5059068706b476d21115a054da1ba3d6fa607f19caaaff109008d50ac5c145a9bcd71cb2999aca9144ae2d1d8a981f1f66ee54ef445dc25286eb40d7549a5261f808a133ae1e7dd86b7a21b57b64b0e8d7f38f265cfd881c0808c42029deaa632ef700ee483bdc4e7c95dac5a12235aa5902f470fdb0b5d640a259538b05af5aadaf1cedb48ed1691f3fbc51935728cb28566bb71eca9f1d650355c28ecfc97805820560771b34e6a0ec7c871641ebf574ef5207aaf008042ffa9eef45febf87bb447ee6fa64a726e965dea67491ee0a5a46a83ead4818282be5b72820738a5dd469cd38d8da252cb3ba621880653121062bb5cfbbd648ccd7b6bd9ca43e356006b64b7adf0833bc6c91228e95b0a68540517ccae80ed3eb9346474b8d1780017e85ab11a1f02dbfe8870ba7f9a0b80942a4d785b2661277f730bd2ff8ffb70c4dbdfb3c933b8d3fc0c20e634eae792f1d70c218095570f454c88b0aae3af5b5a1b1fcc9f18f1c29ef2379c560787545a5d404174582fd6d5a57e93964d409aa6bb60586e6a09cace3b2bc38c4e907bbd1da7a4a0445f9c9e0d80d57e4f5889749c89def7f98f6e30811587906d351a3835da235fd5ec8bd77d39c323710f96424954a2160ec2f82ba02620466a901d92b4732ace45ca3d9f86f742ff33ea31d5f4919b89a8504534d6b5199faa1a7ec2db8e61df3ee82dcf377e1ee099727c8654b9ce9c83e93f3b1de5eea0c6d111bc3350f7dfb989c20fbe578461d57d24a92254adbbc390e061fd028c82daf62cfe727bde25046704798bf3e2e87dd87c712185f805d09cf797060be7cb8f9ca6400b4bc5c8256c8ed5b0fd04139d9c5301ae7fd37ea062805bd7fe97b97589705dcec54e2a6c2d15a46e602492382f18afe2d63266229909593a6e9f5ba155f4b4693b563e85fd1abd0e6f81d3f5dc1c9a3fd9b44038d3669428a495ad8a60223876c6b51e6441ce4351a3e3a5657e53065e6c742e2715bb7eb81eabee52009d9f1aa5e5b1c8edf9233f87fe68081d5acbebf1759045cf0e5a95f0953077864dc57d656309574412a0209e097d2f1880fc1de0054c326a0b915a0141fbc03d0e2252cc3c1293cdd6639b86d33862290f8f31702d71c3a3bd61a56d108071c49ee1a5a627f167c4c2d2cfea51428b147e769a50a33adfb8eba3757f0e20646ff72b4115dc1b911a1c7b268f25cbd31a859dc0b51ac67c7f5cecbdb1e2220f7b06d852e2d956d3416067f34305d8c3f1c9f11c77163ec95f23b3f737232836272de1c6fedc76424a878f833e94c498eba5e0190d444b7c19fb4d466c0be3dc804108c4ef1f71910155504301eff1d9b4f5bf6b6e532ab41bdfa30250f05708718cf928681b631949f9fd5bba44cbf750812ab9aa409e19b6f62e911a506effbfd95cbb5699509a9ca7c6b457633d0f19205b5fe05e19f9cf8c71817ec98e4053a7833e3e604e97bea7b62bcdbfccac928d63c1944dd3f8f17d438f0f3d4dde6f5bf9e82d24cf3062c911702af8a8875260733bb369ef5f828370294a32f300d7ad8cf5f4467d9cdd83e48df7806ef1d1cf1a3f393c4f50257d2de8b9a117cec381db8f70519d6a52dd745d0bb4357b562e7339291263ae9d715e733187923689dcae662e96fc59142070336f4b61925f7b3bea72b23a534b458f1af6ad15bc87a5fbb2bcfa1dbef1d4831cfd3d526467fd92228ab16a5a927084c3754e907ab9d5e66d567cb8777bcd53f1b272c7deda98d27a1e16255174b69bcd14e017c38e8620101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025400ffffffff02400d0300000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac50c300000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-000-005.txt b/zebra-test/src/vectors/block-main-0-000-005.txt new file mode 100644 index 00000000000..2eed02f7513 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-005.txt @@ -0,0 +1 @@ +04000000139800c8af9bcb6156678ac8959a5464acb41722e63c242e274327c38eaa020039a9c13e74d011141664139cc44124ef000edb3270403416eb183895f3da4a9a0000000000000000000000000000000000000000000000000000000000000000d27a1358ffff071f7534e3ae00000000000000000000000000000000000000000000000000000004fd40050000de1e2f4c54fe9d58b0278bffd734bb9fe63be8007937463fe3c88339f3c819d96ffdbe4eccf3ed2609f930e223d0fdfaff1292b9379b4924b647a88eba0f6647c5b71b95afdd10456ba8b65a9e13ee3304f901086913415ccc59fd9295813cbac5397600de25590f02e8abf1b2c3a7e3e446d4f23723e2dd30592b530448a6d59c563da9f8176182e2da0fc4a4a3595a9824a605ab321115a8daf762559b9e49dadababeadcf0101a933a41985cb9023e4b000f462dec9e81b094f0f46e37a660519cc7ef0b2b83a453a8694c7dbd6470acf6443de0f56c07f5e340695b684037250dcfc582c945728866b8ae7c5c743310d435b6abd73fef2ce0133a70ee16cb98b7f644778107e3c5244b4f2539e0fff6abc0dce9effdde85127a3e2c6028dbd554b391abe8a816113ec94f956751d6b4956fa8e23f7864021792693cd796c79f66234048040eaa1dc6bda43a90536966f0e131c13940c00d90f78f44937545d66a9126781d097a9b995b2e726850cc9483ecac838de4b140a0c2a3e489861cb6151ec4daafd9657933ab681171bff9ad5c6f789bbcd342eb8e8dff293f674ffb312cd5a94665725e4f4dc14f0c74b328164ed9f9f9e3efd3bfcaa5e1225d302da23986136f30738bb729d3dc8bae1feecfe83c68de5f60c2fba1593d010530c412c468459986a65740c181e155eeaaaae629ef2d205c4fe46e64bbec87b5d417cd0c5e5a6c93b97d92833197bf21aa5042dbb274821bde04ebeefe77826622a3d5e55fa1790b1790993915244fdc922c99c4abd35034cc7eb171297855427fa75fdb0a20a7932775d0ef5ce616cc90ed30ea873e8fe39b55f3c4dbf6f421c2c83d3999b7c235aa311ee98a1464a7d1c7b996b10b33dce22d75d2eea48e68822c7ef05af74dacbee29694673c9a11a7b69a529a4bfd40bee91c2dadfaa0078734503d0bc9bc306e272f9287983045b1eb32d05c4146bb81ecd1b96a9f191832c282a902e1bd4071f51330a2412e0590d13744949d1fa3e1945f9f1742eebd4393fdd6647eee9353e47d30d11f07a525d310204cc892b02613e1a46b2bb56b61f013d92db1f7d05714ee08fa375a3ac259698934fd7ddcc10dc4f86163c621ee9a4774ba53621d4bf4620e612a9f5362638ac02b15cd6d575e71d4493125cdd453ab66dc07d03e916bbb767a135e56d0a0c6964cb86d06a78d99829064ae0a01c698f6b98e50fb53c4ab5d06e395e2a09f7dabada4eb32cfd0de8f2e075fe86a6681543cc387317919e1b9e9d936633979c3b2ef64fb67411b107bb8c0fb6d2a589a0939094b9a2c9e6e09f18fd0345514326539e6faffddf85f800d9f91acee03f53c00c0ccd3f2a13c64196fe62dc781cffca257678dcaa580a8ebbf2564f35404f76dec037c2fe029dbe9cf6023a39be39e87bbda4fdf05fa6ef6658dcb23eed2c1878edf3699c1f05a9451230ccb2e6bde4b330df7c1c51f1080550be7da45fb8ebd65246af3072dab40d271b14a6b866a44b912a76fc9bd56f4b04089f037805f7335c7b5442f31f9ba44011dc80f15e785af73d47decdb75112dce36fdc668ff36f5529bf11d753af1b2137a822920f62a2c07455c37791a5738091db5d665716fe621c09756fc60c0bf9fdef0b161e1cf93005a2c373e00e178f16d390b17aace4885ef82a103807c750e9b7545f3b0aca05430ebfc461828393e59917651a2ab5df2ff98972169eb6d93e866633d911f72f27aa3057521c4bab3a73e4b2eac2f51f086b97f40fbb80a7396eeeabc39bc445662b0cb9a9f159f9ac2e3b6e1d9628b1175b71f44b73a5a386a0d4351f08203233ff9732a95fb85235dc43ed9a61979ddfd91a41151293525650a0b2d4048bdb741896bdbd76aef10101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025500ffffffff0290d00300000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac24f400000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-000-006.txt b/zebra-test/src/vectors/block-main-0-000-006.txt new file mode 100644 index 00000000000..edd1ee7690a --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-006.txt @@ -0,0 +1 @@ +040000000ab1fcee2ef969e2a09e2b3980b0b3ba5ec9157554482643d22acb9d31c60100e16f00205b1652836619615b0317d21a7eb3ac65c54ecae7fe2c54234406d21d0000000000000000000000000000000000000000000000000000000000000000d57a1358ffff071f7534e30203000000000000000000000000000000000000000000000000000002fd4005001e3081d6d8c3b791b69170c1aa8ed483f58e8d3b3c78ce75371fe30b392f7a787cf7fc3ed1f2789e0e06c8bf7d0bc88d18778e3098b211dbe95d8479dc9807f23de32aa128190a4ef49d41e85355fd1a9b5f4304dba9be234397a45de842575430f0fe20cc12539c05612e714cd948cff196d33fa5744642eca5390e2124630e401333cbc1fe8dc44543d80abee1da9e387e39241eaff9f8b153e07f07b695f203ba05969c24510048d04f3a4162c2b7e36100befb93d94fbd0f753911936e7f3c5d9fd0ee5bf3d98abb6355eb7d5cb5a710ef4f6536fa9167dd3cf4e201b6c36dc77c3f0b815bdcbed13a25fec54cbac88daece3596ce92390303038cf27bafe8869be19120460cc624b98edfae11670eea017566094d87b8d215308dcaef117cb4385e7d12681c0b9b944e0bf49066fbecefba9288977add581a48d6a66a669677566a3286717aa5dce67e52062e002e02e7ae8264331d596280a5ee62e16e8598243e335c620262ac9d4dab9b480ce17d31ead83efefe6e0b40c77054d9e1893939032b31e800fd5ae4324ef2290b097362250d69750d4a3d08dc0c3b08e17e31a407bd5f7e95581055e86b32cfd5aa6dc9194b7583d73101d72336dcb22980b4432cf3c2d46207edff47661a4c929f6ce67fe7fd314587fcb57db6ba4e383d5039a02602634f3d7bd8095be9e0ee4bdf20165fbb1e016ee6095556850bb442d25c5cb10d95aa97df1e700dbcee17f590e9a75fb022fe39f45d1a8944debc1412da37adeaf027fbe51cd7e06f47912682033c7e3d2af443e3df7378bbb6be23760fb3d8e9506bfe91f205826f6d830eddfdd5316522597944c258f23f4fb23cb7ad9e7996c4d5ff5f5a0c9d7e5602b1a2b7ef062618945221d2ec4bc94654c22f529171b9aa5bc33e32e986c91b56d93bd528e64badf8341611475606cc00cc4893190a0932c1b38388b0e07fb0efa4530ba30b6ff72e10e3fbcdde3082d0e2e3b5571158fa7d9b0571a05f33e8c04953d5282ddc514a6b07dffaaf403a681fd02b9b8657c4b2572129e941ee37a4f9e9a612ec04b659fb8cc9df59524ab2d99f10a11b8c445f2cdab31dee18c0250f99a33302a3454a3601d3b07618f762390c9a4c0ed56cb385504fe6ca09d953f0953cf334a5876101af6d2d23d3d3b4229ddb7192db4903b1a84ba59c9c8f168b5667f76d1193ac96bd9440146842dfb70a31b4b2c5741c5cad29b90940bf4bf2082b1d31da9299279c61a2059dd79ac621cdb849701547cb549d657125de6cf388b338d9813d76dee0b8053a32c9b29207abc98632b898af0e1edaa8b8b1b90f6ca97735293ceff499456d892e82ce849a77bc160e3907e4bbf2ccafedd6b44967cd03f1198852aa363648cba7d7641b2bd4ace888446e6d9aedcc3e8d0f03b5125f905bf367fe0e8073908668c25ff7b3686a1022fe6213125caec5c632752baa3464b4abb2c69305fa644014d433dda8b60185e863f7f86d5925f66c0e3aa5fc7b4546c28f93a282b72c8d719dcb1fa541048c6db2aea125c76f12231e7c5717cdd1d54eca301c3b1e4f15083458ff80d332d33924eb4fc8bf80c80a04c2fa0f906e076b125640f0efec15a1880ee8c50d8b13b9c81611e1c9cd92b5157bd85ce035799928054d0bdf3584bae4437ec18efdb3cd206aa16ca3a41acdbd1c74a90657ce9bb2b4a660c228d079683ef01482336e9556d453256ec25cac5288a0b56ba734802739c529235ced15aa8ff709bfd1c571ee5c96a4b40e46c5eb8894ddd6c64a01b304a516e505437e88484a9452891096dd1dcb3777712cc14ff29eec96965d0f4541e092db5a0d6a47d3602e7b9ce5c3f69e196024f49eb9fb297dcbe7e1d41d783a37c1b34112905c0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025600ffffffff02e0930400000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875acf82401000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-000-007.txt b/zebra-test/src/vectors/block-main-0-000-007.txt new file mode 100644 index 00000000000..b92cfb1c1fa --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-007.txt @@ -0,0 +1 @@ +04000000e392c6c979e3346649badce0e5af8c3557b9ad5eec372e34bf16f6bc1a2700008d32b888cfb9c60eacb8c8c5ba6cc7b5e78ea74c9d51416b5e013f74b013b8260000000000000000000000000000000000000000000000000000000000000000d77a1358ffff071f7534e5cf43000000000000000000000000000000000000000000000000000004fd400500365c22e751f6fd21af42fd7e76f875b7493a7492053d29631aa21c0d8a9df10e88889b753276197d4d0c02e268e68ff4a3ce9ae40573cc74ea4bc154bb2d44126679359c2c09cf9246f2ae448b8ba9e9bf170f024e15fe8c47f4b7c66466e35743de62db783b998c1f9e2c9512957de0fdf3928268a2de4da258b8cd9a2d507b1a74ec32d3c547aa379b59e83b60ed5b7eaf2e2172a38e2328831a66357030c4661dc2dc54565f02e8772e901b5b6b0a01648fc4ed464a6a7654459610bfce0f22624683e37626510c533fe5981a7d75740fba28aa5d043e8c6a1501c29ab6866dfbdf3013ea16592ccb56087294d777d7402bc0e6add24ef4cb631c2df1a7e412c02f72bf22ba57d6f9f0b5c2f684572797d50fe2514ba9626b44bf60718e319b3ffb8f0f30b24ffb7466f051fc85767c06435af25078966a2d5a6d93ec306949bd6119369414f07ff289c85f7117008bf06f3793227e9ea9114888a4b9c88a1d55b96d19995fc1d3211d55a11ca4b425aa203fef689f9a8c1afd89116b4d5e2ffe948402e0b5b1e158b0eb777d3076c1a1907750ddd1a2d508a2d5f3d2358b57080711c802ebe69032a9bfd07ae0e95d3807558affaa4338260e50c0d74276e9e3352859dc4dc5baed15fbb83ae36db5ed10f3e34fd8a41dbaf740e97f7e2f0aa3414b33bb08615f31e0e03546d5bd628a726497a55d02c0620ed01275e52fe540689c1cf444f9457a8aa00f92972ddfb97115cfee41dec9394e7524790ba2f3079c3c4543061009ef42e28e45f95a6969ef3f54400d498b069ecf21cb87f6c400f0e17f19ac068f0e980ce28f911e21d321131d6326501e5089c3ea50c0951437c47bfc1849fbbf41d3ff5345acfad576796f630f1bfa45cca1a3cd7aad228cfd57e984f5759efa9e1d1642aee09819c73bc0fbd3ffe10e1f12a07da74402057ba30501b41ebaee421dc72de2c5bf3d57a7e0254ed6ace9f609dbb7155872b2e40a6a833c168d4318c932e76749318357979397ae54958250e59cbe2e3c1d75026292bda1b78ff52717d137456cf0adbdae1775f595110937c0613b961f2ddad34ecee23a2a73183389ae76d7c3ef3c5015e6643a73a9dc187ecfb7234a5322251061aaa4a6089c89e86e1b6f2fbdbd5c7f1077517e602a8d741eb84fe9dd092f8e25dfd0ea05846505730a24952f39140895bd8611d7d5fabe90688d96d8e7dab507756a3779da6326dad15a3ee72915df8c3599931f611d07757f297f5a95d5af3e2b6015ec7536eeea88017e301446df7837a5ac0db45f1f165d96ef388e52e943e8058987d79ef6473a555ada47b57694742b42b3be729a41a6f0c932c5ec96b68a23bb033ecf69d40f8f0fa6922ec2e19bb3d85da4ac38419b0534dbd9b91857d6127abc56cf6bc4fd75e7033500233ac128d3f04705ab12c307e30eb7bdb1ec374a1c0ed8132b1feda485965a497431eaf8794300156bee2f0d30dc41889e83b663eb11c1efe5f282a62bbde69da91e0417e76664ba67aa40c5b310bf841d07baa731bd772a33c8b090f8ef6bfa459be4dd82680f3aef9f262db5cf7a73e2ddf426380111cc4eb5a10be7d88f3608870b7b5e8871c45d93be2c77b749cd18f1f9621d308a0ffa91e46134db88de649fb94c0b06c654e36faa851dd117435649468eaebdd17d4cd71ab736aebc71438b9230874f455124027e43372df418404abe6a8b7ea47bf152f75f52ce7191fa5b4203184b2b9e805f681db17b519bbd26571ce8e8aa581a099c61e36d07ae197580862798d073b2e92b78a42a0b53d49f57cbffa09b6b71b3042dd95d740317bde70d6160a0f34a989e6a1bd1522337424543704b848e863e1f68287da92ff777fab265d8bee3a3d21ebc460101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025700ffffffff0230570500000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875accc5501000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-000-008.txt b/zebra-test/src/vectors/block-main-0-000-008.txt new file mode 100644 index 00000000000..e5dc04ce0b8 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-008.txt @@ -0,0 +1 @@ +04000000045ae2a7ae1a5ea25a3d531dde8a42f5bb20f67f49d930acacd98fae05b8040003de449d65aec6f3c2dadf9a53a5e3dff9d972a41ba6f034fcbbe6e86f2e777a0000000000000000000000000000000000000000000000000000000000000000147b1358ffff071fa5556cd0fb280000000000000000000000000000000000000000000000000000fd4005001235028584cb4d1b9f928d34441d86ee727fa0f90f79f4fa8c09d681c0a143283c302af3706adde77e143a694bf163b759f17574989f3b0277b11a7e780e16f8afe5aa632be73ad5fa5fd3fb3602e985fa3add0341fc63b08eb93f9c5e63467f752c49fc25cfea5d0916c6ff4e4c1d427ad634d77836ceaed2f4daeb8126f7775c0ff0495da4a0e414c8e57d49bf74529359554713c2a32a9e35e4097593d6360cf99f991cf17a03e04d7b90422edbfa6e9086d77408d1c592ff22551bee749f10d73fdf048e52c5d75dc926519a9ad8fc0ab48bab37abbd07d3e770b56eff92cd7158f0e3963cc072aa459c6535c9176832a745eddf4c20be8cfb050bb67009c7c17570ab45a227fb8005846dd2014405da319b55c28bdea270b4da58bc613af78a9ebfcb081b54ae9b9f28bdeef513fc9623a2e5b5fb345cdb278b0c3a971c2f5beb74038df6c951738ae29df8d300d3ec7c18501b74ae166505ec46bb9143dd1290cb014a68613103353b8d42d0f671b348b4835dfc88cd01dd60ed698e3445c8a6e1c698bf6691b7a9bb07a41942d1e280e3ac235718732f78c2675df4a5968d1605f2bd7ca54386c67328e7a645d9bd42a657f8d01c06d5bde9cf06bc68af3a91b1e7f3b1fa8a301bc84911ef6937beeb5dc98ed5e21d8a2345ed71965076534d42d6769ce0f1f754781b8f08732f274f679f880202373e9f4bf45afbb786c15031246991d64851f3b65c74451b67dd482dad69274ec07e4721eb005d805d08add53956c3fec6a958235429e874e1ec44735bdd0f50b4a8b0ca3debd5c7a1588866f9b15aabfe3b1a1817047acbccdaf779c142f626d0245625d558dcf54122f58086f1b30fa24ec5a3a5eea48de90f9a7644242955324420c3a9b8c68351c2a28769a07d72c930301bf77020d93eece767a322f45746f72512bf54d100cbbbdea701d03517f6c3264fdf93b1eb5cbb42fb155a66ee1c9133b6ba346bfa0bfbe0cb04f0f8e9c82810757766569176b516439990ed77bea4da1dc2cd43dc06efad2ff52d7fd724e0535ad16142c6b667b01b21c3b961c8c7c74d0b26a9b87defaacefe9d987d34a9f49aa9dea7b1a057aa8f38e4906ebf66ffcac8213fa25a7cc8686acd50d40e5ece1061fdd891265544e9c35776da026f22ff7add026c7d03aec0df83e9028a4f8e43039f4b59ff212b4fd9d4ed8456fa0fe709b9f6ba03c422722b4854a0383a70693b7e7d8960132fa4c78b3bd017ef399274bc48b7b0d85873bf8625fa24367ccaba215e5622d55caf13d982316d481d0627ba5e1929284fdd6b73f6693b608f10e0bb3c190c1a04728a52945ea92f131a3ca3d529718c1dc86513b862437b111585356e64e011df896541a29be4266b9c46bf7e612fb951602707423db862b4e81990d70115483b9504f8bfacb754e0966d914a1ec3b9c2b70bfb2d30de4b4ad5b4e711048ed1bd4d1d817201cf03c4ecb163051054abbf10e06ab84b3888d0ad03922fa5f6865e6070f783bdc54ae868ad32c61f36825b02d0c8f4a7915a43956a6050341fd1656518f9b21b3a2e9e4d8a32643bd581e8076c656a1a30f4dbe6eb0810b90d24c2fc88cb73c8ee45e9d95a521a394efb363c21d0b6f83821d10da81d1f761c9a5dc9de5ad0047a2fd883052a4873e183dd05d595eaaedb96c89e357be5920467da93c2f194d207bce93e7ec1d5c5130abd4513521a464ee1ebbd7c3e70debf75f15f8a9c1f914f377d16b121c25ab3eab07efe1124a915798212c46b51ff73f741e8ef756ca8cd7f816f21f7083f22acaba8fb195bcecf7f12af757a3e6e304c32dc453ae4ce6ed1d60b3517db141355e3303d55992e11d7598f5c3fe8a10f4979b686c1025771c5be1d37a6830101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025800ffffffff02801a0600000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875aca08601000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-000-009.txt b/zebra-test/src/vectors/block-main-0-000-009.txt new file mode 100644 index 00000000000..ca048077f17 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-009.txt @@ -0,0 +1 @@ +04000000012b0ebc452f335bee12d2dfd9558cd100aa29db6e55498c795c33beda770600dc7cc27c90a1b6e9a6142e3be2536f37fb117fca7db495d16ae4f31b62ab24ff00000000000000000000000000000000000000000000000000000000000000005f7b1358ffff071fa5556ccb4b000000000000000000000000000000000000000000000000000002fd4005006acfefed0dfac1235a490effda752ec897fecb01393c029e23a3269be448c7cfe24436267f25d9011502e69d803a81b2c75112e3882b63f5e9f4b99fa68630085c3163104ec2b822e42d4bf358c7878d3e236b02652b144a9a0b119e5635af07e3a8e65a153d8dd018feeea5bba9ac1defa552193bcbf7d602f1726a880ede7f9bb590ed7d0ce161c27bf314cd4e3f5edbd9171ccc15e0504dc78944753805c3423aa5e5f5b3ee079a165bfdc25edd87b4373ca2d6ae79f758bc7b7030f53e16b71d13caf43436d3703d524f464ebbe2c90f26da9b7586bed1c3244d2471eb24c3bd657f910c34779dfb1e4e09f7bcabb4c165c5b815ce636ff47617cf7c9787480d4f542a61bdb4ebb59dc60e55e73c285725e0b05bd0b3a851934cfd74f4615ed2ec0f5418235df4bf4ee9b2956035622ee80cc6019df057072d57d77df3262f159ae709598868b6e6fedb1f8502030f97cb2b9d5ef9d17ca24c2296b168d7897352d317662acf0015918757e9a99a3ae5891b982d7d9e23246886aaca9660498400e85eff7e4572262ad708ce3879c77e0e608833ea65b66a5a584386f2059f1b9f12678b870f2d40dbfc33d3ee70a41a0373cd9d99dc18573238bd48afbfa02b540ce04f8652b9771a24d63be7ad2bee3cba69f0d09baadbec1de71902d90ad6729dd62529e7f14fa89e5b1323eebec70867ff117e071d9645955e6c9dd47913409db30d6d6c03b69c610bdaef451a4bce3fecd80674dd671e6efbb47952ea2a53d457cc1857f73d7a941963ada0d5fe0e9a0b3a4450e5394de516034066d4b379375db2e8a83b62a8086641d5efd28245001cb8233c71242a93827faca73ab76c30dca58ba9bcc405cb92e51305f5d5bff6c30b1217777ee68fa97c7855dda2c6319ebc5e7f5ab562d27dc9cea9a9695bc9373a0feb855e44e138334e00be9a8da904eb31aef186fd39ee21c6e035378c4e06c8c4dd7993bd2fd76b716738b5984234e53a280304dd40d1bd17aeb4c72a92c1dab4b152f47d793f410b5bd9628c06092ddd46f1a973ef2b8080b1caa38a09d411542a0da4a92b66336c0972d260dba491ab7512009d6281f1c229b237c73db9ff1fbadabd986f2d0b471970ea4dfee8e506e0b7664562dc7a70a6b6571ffd85d1abe2ddf165a3525551ee818d683a306f3001c6dbb71991132d72f7d3d4b7b1d9b620455a75c80337be27fc06086453a4a0566d7ab17e302753e8390dcbfb0fe0ec884578ba13cec0678266c8d13678734d685d8403de5bef7f26e877c97e7d4e99f0bccec704347da2d8d12aa49b2723133fa40e2b97af7d4ff22c2ff709a45ba5e1c7d8a6491a52649dac6cbed2e70c7aca082ed7d9695498b22b99e9ca3cfe8daab5211a4cdd50e2508dc139253294433bf40689df56ab18019744a82099a6bd22f3203757b73266206b364b8d01e478bb81032ffdd361c6cfd375b28e1041d60f990b74dd3f9f4469f7dbfb849a59ff6f72cd00dcdea051521f5d1be05d75760e961530fb13163bda3ef9ad0826c7a0f89346173468d1570b0c4f34ad2c07dab617a2578a3bd2c0a76b1936b0963b1246223ef3359018e21cf2a0ece5517033e5a285bd29121c34d745b5239b99db4e2340b3c70d97b70bf6245252db9372b3026946861b143e3922b1969417dc67a5a7e1cdfc0a06f842b7c10c478b064be56aa3e76a098e853a15940f7b37438e08a6df32b0e456c1ce76b243599aa0302ce9e3b8b49156c1cacc641861d8a4830d48fad44e04827c32d048f834d189a0634583f314c265ed1037385a9f3f17b4c39dae1c43aff1c497a6de619f8def2527aeb47ccf9e42d407258a7477f40fd3dfffddc264f477e9a9f8fc53e1f687943c69a04699b4f8eed10101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025900ffffffff02d0dd0600000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac74b701000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-000-010.txt b/zebra-test/src/vectors/block-main-0-000-010.txt new file mode 100644 index 00000000000..f8265f054d8 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-000-010.txt @@ -0,0 +1 @@ +040000000caa280b9f75c09ec407a2026a4f578a9e1d12b4b560e381474772741f2c06004825e397cf36e2dc4d32c09924231940e14da73bdaf0d37a72d8f18a7002275f0000000000000000000000000000000000000000000000000000000000000000617b1358ffff071fa5556b2500000000000000000000000000000000000000000000000000000000fd400500778fe70985278d941565e13644e59de26059395818bcfdbe4ea2fcadf573b30269e7b576acb4db93af134dc74ff4f013158b6084633ed7084e3e2f19f0a220e589af2457cf4ff103d41114516c25759a8c825d087f853e8686bfa926f724c8b4481fe550b2cdf94a259412c28cb4a099b5d8b513fefaf1ce66607447681994029c3911814b964592b58aa660452dc9dc62474633c514619ee4ed4561a5b273d695a9dc5ffbf3da0352afb9f85815af5998154b39e3a4d96ac5575fcb0fbf0895cc95f256e7f2628b43ebd49d7baa37e9da123bb0cebaca84cd13c5f15c17759af18d973d88e32f593a62a44fac293812a82ea8c885e6f8835f81e603aedbfba0c4198bd5f59aaa515650babda3db61140cc7c29b6d329975ee7a738ba8a3bdd5cea18ffb1235738fe520ada885a4bb648202422e8e56657f40d059d8dbf50bdd66e1adab87ceb8c252fb51db1b26be05ff099ba0978db3c18a20c33a0b8e44c45188a5d2541d047ee195343fe04f77c3b1f7da72c60b1f5dde0924ff3a7b227ac3686d97857ebe9fb627bd350eb410b82a2844667d2b70b0514601c1dd0085553cb232069f550567cc1a72c2c430ff1e94d5add89f74d62d1cbeb581bb1428f94cda53e3ede73cf5d1dbfa5a67179644604f8b3b7ca1b455c59e48c6ca8ba3d5b9921d867da7b2479cb925f9f3fce8f8135165b5df7c7706e4a852fad55d13ab1020de4190e09f023affc9a42fbbfef1e795f743914c44c7a7bf242bd0a21f032d1cab9dea6a97588cda66d405e44b5fe2d680ddfcc83c47dec15f2cf55395018826f0c57ef649455b01480912db9a94b35f51bea3f2007162c83ef43afc5fba0d0c6f9509ecb23d76cb228237dbc82abcf67ee83f11435bfbcae2419bb125a4eabbf9dce2b7af97b7101fe36a5d70503325c3d2921bb911a480877286c9a800c031733b461d75368f833fb6b9241602df969bf930344ba54623745dd451b54efb35f7a18dd19b7b6a282da76988148f735d2a77441541732def1c30d0ce2ed4d4c3479c4963997ff3bc5dad69a1b7274e113700ea354b01ab6751ddced371985cff394c6f1949221dd436d8b34ac2a465b165d0c1310283b39fff1b7e1acc1ce6269b350f961a3275b742dbcd62538f50f3403c5f34f16ee36fa051c4a75aeba2e7dd7dbf0f65074c246cb071d1859fb0d1b8c1f25bea36b3de32ac471c77457a52c105ef88a603e43264cf1c4739fb3a133e7259f9732cafda26a4eea6f5f916770f5b10fe1b59ceffe0d5e775ddfa8352b0fbfab2378bda73f70d547b9dcd0e8009932391140ff28b26d4e676d06c349c93b9fda424cf7924c3603479a1d659833bb54817db3cf6ade12c95bf3d3377367fa9b336dc5a327e539566fca1ebefe7f1dd362e13df7b3dbf618f602203c8176b45a84819d0ba8537b0ae5222d85e1ee76d2048668413f99dc9ddcb829690d0f1b146cc2be8db20293173f5e481a9434233d72d2b4b19bba25321013c58158abc11ea9d79a0157fa5556b2614031b6dc20ed3eb335408d9991952c3805aab3dfac7d61abf322a971b62738ae5967fc79446c2bec7fa3f0f1e150517efdc857fd2e6470daa9284a6a0bc5a705d16277f3bb74cb70b185c59d8cfd43d95a51d310f910bccf60c0048b6d398da33e56011c897a34d05a744157e8b11a501ec010cc9396da6521f6434e3ca9797dbe9e21eb493c05a8cd833741ce5726efb5eee294fbc4b6851e22b7cdc62b177458af9cef6e57a7e808a54c16e11aabc23b997476700e386a6cdbc8dbf310d1fc9cf48fcb24e9d9dd679927056e4d64e24eaa5121d5d242aea07d29ea9c571e813c4aa257837014ad09e0c1e343f6d6b1dcff114df64e45cf6d05bc54c6f9a4d430101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025a00ffffffff0220a10700000000002321027a46eb513588b01b37ea24303f4b628afd12cc20df789fede0921e43cad3e875ac48e801000000000017a9147d46a730d31f97b1930d3368a967c309bd4d136a8700000000 diff --git a/zebra-test/src/vectors/block-main-0-415-000.txt b/zebra-test/src/vectors/block-main-0-415-000.txt new file mode 100644 index 00000000000..d80d4839cb0 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-415-000.txt @@ -0,0 +1 @@ +040000005274b43b9e4ad8f43e93f78463d24dcfe531aeb4719819f4f97f7e0300000000663073bc4bfa95c9bec36aad7268a573049797bdfc5aa4c743fbe4820aa393ce0000000000000000000000000000000000000000000000000000000000000000a8becc5be1ab031cc2fd607c776a7a0000000000000000000000000000000000000000003eb21819fd400500949d55de0cc633e0cce41e4649ef4aa3349f0100290ffe281b947b3b53fbd2f35b1ce292649b96ac6e0883af3a6844b95592e74556da344b4701961cd4130c68219cfa1341d5afb5049eb0e8be4a2d92d678c40785e33705548b5f3a54f0a4c39a2f58ee784a24163cd86f54812327df55e1d55ca84b6e7b887a7cbfb9091a585bdb8ea4759307c56c1b3dafc669245a6f654b6f730052266a01ad4f9c0b59ed4e17712b3e72df0498aa8de4888f993531c60acded1d4b66e89de0b6482cccd4a712f5cf9d4ca83be0f922de2c1dbb3a1407480dbe8795993d8be640988abfe7a8a1b33a12131c451e1abc0d83fb851862c637ce724d5fe97aa9a806cf34bab509f4554b0cd10a7ddfd5821b091ad2c90c1aa1d81eb3d72db41993b648f41e2138ff9531a30ff73b22140e4ebd7baa33848e512d99300c5c131c6e75f5714a5c6dcb178b4a4978dac83ad412fbd692019250c553049aad457984bedfc96ae701c659bc7007a97d0a9002b945bdec45a945ef6285b2cd553b4c09d907c627863f0399e8725b4ff7fc5979e3cff22814508448ef8b9831c285959333396aa362a51cf205097afabec15e41fb6e30b622374bf58b37ef9d1b241ead5a682b98b65749a57568e238d50afd417e1e960e7b5a064fd9f694d783a2cbcd58552dedbb9e5e1123674ef73a524196cf05d3e524660549ffe7bd6568057135ffd5afd943f6da11cbb597e8ccecd77ecbe909de0631bfa29cd3e3d5544671ba80256153d6e9990b88ad8e0cf4989bef4be457f9c7b0f1aacd6e0ef320605c29ed0cd2eb6cfce216c52a317580201cad7a0943d24b7b06d5bf758761dd96e11970b5ded697222b2c77e7f256a605ac755549c1651f25adfc9d53d9117e3a0bb409eee4a600120472949c7dda1c2edb3c330c7f96179982916457d331e96309dd24df74eedd00e7db497ee130f77de666eb557fb316e87adaf1813ce426a458a6eee3a85b2ab88f6553aadae8de652e211a1d9f334d596b5eb6173407efcc2e8154bb9ca1212aa9a1a1121d2f5a7712cf25cc8148b8052e0d2e09f20e5ba2a98277e975b0eed9a89206966337163f215c9d04a6598b0958d333d846773c69e5abfd0a0427f3660614dd82b79adb851a0d58b62df5f0b3ac836e6e25f3a51f49a99ade57796fe9fcc26f0a1f94ff0819fe52b75087edbed3a81626eb5416c66557f11c0fcedff223d6aa8cd5c35386e5b4b95a0f0392ca301a38b3687d094493b9e9d264d07a190ce57d116804382a3fabe15af4df4fa043f0287aa1ed5568d9ef5d12510d010ccdab4eb616f6df13bb3126ef43d9d65735e4e4c04b576348d040b535055a3d5ae191b75f0612f3b24066a05245f27fe57bda66bd6dec7e4fc9cb236802062adde3cd0e313482c92a0c721102b1f38b015ab8d01559cbcb40f674e9efad5ee9c2fe133faa55ca1dd0ff26710f9da819cc1459cb7ed260dad3db0596258d47c74c32a8b852b671c5a0caa2001603d90c91a7df2e2d4ee9ae9bf1a6b1ec88151c62360d03024d2e2d0114084f6b88c5bba24aa7cecfac16e91e0baf3d8653e218093e81d2a63c32eff1d9030f9e1414ece420daa24e0dd5b845b3274bb839ca1c53bcc0194242d74b2631b9495a654fbbdcbfad779f7322b60736249880604821d96924e3fa397f354a5ecca34f614da5456f9b36338c37d8f6fbf626be983477766022872746da10a1771ceb02dd8aac01ba186bf1488630479e1284da0190fce8b59ac6b0fd416bee56b72f0a5845153557ff0f4950a0dc5be65ce942d22e18534c4e0efabb2d1525dc4858b9b0f77d474a125ebc250e08fedbfaa66f453d90932cab3ff45221909968e51e6bc254d509adeb75cba76d48fe024e3e66d8df5e01030000807082c403010000000000000000000000000000000000000000000000000000000000000000ffffffff1a03185506152f5669614254432f48656c6c6f20776f726c64212fffffffff0200ca9a3b000000001976a914fb8a6a4c11cb216ce21f9f371dfc9271a469bd6d88ac80b2e60e0000000017a914e0a5ea1340cc6b1d6a82c06c0a9c60b9898b6ae987000000000000000000 diff --git a/zebra-test/src/vectors/block-main-0-434-873.txt b/zebra-test/src/vectors/block-main-0-434-873.txt new file mode 100644 index 00000000000..1d989679b56 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-434-873.txt @@ -0,0 +1 @@ +0000002095f4f680b726de8a0a1fe2e77bb52acf0f959b46e4f035fc40165001000000004cf8f74f6a426819cbc390bf99f8c53b941bd57861fa5a3376c2091b7971e3b017951a08906ff5feaf33ff2fd1a148121035db654ad224cb46d141bc9931e3561770fa5b16c1021c5c0c0000000000005000316c000000000000e000000000000000000000000000fd40050049085037233d9f7c61722324a6e4bafee15e242442e7fcaaec6f0cf1dfbbd77806f50a5e97f4d9f44707d6c5221bd30005309a9150b1f24d6d8823f6bea70f4f346b5319427fb817818d796c85538fefbd8473005e3bdfab42c2d1792fe5af6bc77091f25a5e08ca08e0ee142c1ff1a3e8cc70bb7e37f02e7b7f9e886b1d43c128fcd7c62db3a52a156febb96bcd0b1e7c685047adb2c91a2a150fd656b628eefe2627adfb9f1400e0813df3ed3bb1bde000b482dc325925f3188aff15939e07fb88faa92b86c50f4f36ea49e33b121049031815dc03d2a4b7ec4cd1d638a5dd02a386deb9001bafe95b5e0f99c0fd77f8718a472442449a1f79a70e3828ac216b361d6360d115ffd2534de05f1b0148213d7c03855874eb7d32a314d4ca3811bd8a31d1df300ad2030d91e0a743b1c48d89bd4bd52e9c76f3ad523d9f38b05ea21b37ce5860e179fd638d53df294c00b233ee220948b17ffd52e960da5428ca1c0cdaa166343cce2adca2399f06b7daa5d3cc567d30b828fe2a759b6459de8131b1ce5303dbc7cde566042e4ae5370064f6979b3bffdecfb5062ede79aea13dd5daad06676bb2d79498117274381fd462871a33bf14be223d521d303cdd9d81f603c62be9665ff59f07f5b14316468f07d9618817cf83416e47e9458e139ebac17e29e0c26abccf4e5d5985c595cbec0ad59229377f61071e02e8930770db42b402dc577f6ca0cf67bbad202f304e5694d8d726f734246608ee5ec537fa0b40d30cd983078ccac691b92fb79f22f819536e849d90ef0ecf94d37611f6074590529f5ffbc0dd2f0b9cfdfd0d5e2207360ce47671d9a31fc22b1f0d2b356e6b1628dd0aa7addd2a97a8179382527196fd64e9f09b4114833b1a6527959f7afb93244e6151fdb0b55df19441c0edb09f134b4917104bec066109bb88455d2e2600688a3a3c16001f0a5ee34bc2a67681b19af7641c25377acffb197551ccf2e3d7963f1d7b13485a8d52337a3ea412d2ba61a0f0240b0f5c083a7ba519850435409bed99aeba357609b4e8cda7bae15f9ff5415b0af751f1c5ddeca3383f922dc5fea935f02b76980b0fd06c0c812f3df381b0c15c1be8f89763c6bc45740c401c79c293ec25ea0c058e16b835a5bba4787a1d0cbb08e6c50cc91aea9eb0cdc86c113c77ea9c45d70236ce2ddf0cd1918d4435b51e467cca574ad9c234095a005d60ce9355eff1a93d857eacdec081fe8ed2097bd2d40e984b9341d543257d7a5fcd1f2abf15f61a014c16560f2806e34ec49113d2ee2a019bd0fd940891d50675f11501c3adb17b2d98ecc4d31c4a4cf52553bfa1fe597785abbc035e296ecb2d967453d7ba26b8cca5e6d55896fa23c3e34c39671a7e21bce2c34316af81b8dfdcb9dc2ac48434eced639f45bff32500edf3a5c24bc3fdba70c3af589eccfb2554f9e7873006136ceb9262b5161413da02408306c3b19712ef0a2f2f11ad86b363d5b3543efc7d46056a2d5e78f5339fbb8319928bbec642e7e1fed2b88ead85dd0b0c03c50ea9e74f1213b980d5e43ee4d96a83787463a3264456b3961816e1349c7ad78f79c70b5952bd66980e8f86b9fd8e18ef6ac43187e8d0774a52f5f5118d1e5a35327510ee2ec0b0b74025ebaf660428d37a2809498ebb1f6c1fd3888f76c9c7d4ce7e189a9a82d73d935af8f93732d3e4a127361d6b9d760363d9df6c10d260a303c880792bcef6bc09e1d332493353779826ebce92f19ec8b13beaa2bd8da15b72c06d7c693916509c87a51a769f084611bbeabd60e9d54dd1bc3b5b578d7754e875c77351865c3ee408eec0e2fadcba18342d2a048f3d2feb9108dc1c5486d30f4c7f29a845c84c72fb58491f03afc6f8cbc2c44ace24dc51b00c0400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff1c03b9a206174d696e656420627920416e74506f6f6c2087205bfa7017ffffffff0280b2e60e0000000017a9144fd89a8512e083965f79d92eb1019f850acee5ec87ad769c3b000000001976a914abe7f622bee66b2761c446167723cbc74f02756588ac000000000000000000000000000000000000000400008085202f890135876168b13fd0b61281f9a117035c8fa0263b05ddc5e17561d03bfea7363497000000006a4730440220165d398beba90238c40aac95d5b78be68d090ee8104ec77634e84cc0d9e85a680220278382ffec60b95bc7b52fd379198c3fb608bbb5936d9b6453d8c558245565de0121036120b78294acc5c63b2c15efbbba01b8947d68a6c65a6273a4ce318bcedd2207feffffff02b2801e15530000001976a91405bbbbac7a0a45101ecf637bc1556986f8a37f3f88ace028933b000000001976a91453548b070f951d500039fae96f1a6162b0cf00b988acaea20600cda2060000000000000000000000000400008085202f89115ace17f622d6656e38fed1c1102c8cc62a411e81f5b8404174952d2588e57c3e090000006b483045022100e2a601492b245ff7f14ca3b014ac1ac61ff19e4f346d1f6eacc5aedeba1e506a02203765f41d3b3bc97845e6af67106c6831a56480c49ffffacf56a3390ffd7ae52c0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff727f26494145ca762dabfc2f58e736df82ac7286ff0aaca4c2d8bc6eff57a8eb070000006a4730440220123ae3a8cd7215a6e420b1b187155bb3115d76a772c92d8435ea86adfe60a7fc02201fba3fc607360a51d9dfb78c7f30020d481441492a94332397cb18f7c49edbb70121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff25298416a43e5641fac7c9e5947ec4f0e1d5e599d68a37628220157f114f4e5e2e0000006a4730440220125125f326d93eb9adba6cb2d95440d14da4e1b74e29296c7c893a5b0f2ae3b9022042687c05b29f1dc9424f68eba1111f6cce95c14b6ce79ad6b0538ceee69e53e20121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff7059b11d6810c760103de0676ae1ea56339c87d8f9e00e31d9235a8690aa7f001b0000006b483045022100c29aebd7c7d89d4bb4d05733b178ad1e73d6090c35cde800f1c796bbf22b3af302200c6d0fa7692840513781cdf3eb849b159f5e269b00b45a5c07f785d3ef6c23190121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff9221f8e63ae155da79301915067d0e3e384c20460a974cb0041cd14ef2bc85741b0000006b483045022100930eceb70ee7f0eb81d4c004eb1cee3f74464e77d7034f3dc0169cbcae3f66a002204e5eb9d1ae3ec1ad4301eac9ddfc23b5af24781e3a4500376585740fb6e07e5a0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffffc7137b2498c9d2c76799d5a1419c3485b7c60227ef92947289d143d1bc52a411150000006b483045022100daa6e27a5565c5049d3e93907e17416e8abbfc740e1dec1abb642a099f7d5f4d0220016bc838eedb2aa72682634cac3f1614bcf2b04783736a45baf72da5a34327630121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff55f710fdffe710a1f1d7631b5aa6dcdb33ebdfe14da04f7e2e86e81aee4e42da170000006b483045022100e9c0809b72378081f78f42da7f31e3388d33d458e785247cf042a1c1cb15468f02204fbff2679246f3ff48626a3aed15aaa913ddac7f17c026f396296e696deee0fd0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffffbfd294026fc4ba55b49262add6abfd93eaf54eb127cf10bf3172065c6481c59b380000006b483045022100f5074841a60d85561fdb8c147d64792e35091ee180c3e65cce714656d0b67184022025222c98a8f44621e8ea4b3483bc2546d47ae3352059e5fdd15b36a6733d0c1b0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408afffffffff5ae8eb7782733919e0575807fa037e98bd5b4e3cf38c8898f515cf855c06b931a0000006a47304402200a9a2c7184ec37ef9a3c76188f018c0a8cc5ffc25a78e098d5dd87a5478c620002206c97bc7d169075e5ce4ff29141ec4673debb8753e302f02442b1e163ea864a0d0121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408afffffffff29dbaa351d0c813831a9572c07fc6fe5b35af25f27c870555210e47d2444e53060000006a4730440220593c95cf370ed68302e98ff8217338af7a54dee8f9864bf974a3c043f7fcf6b502206d7cdea1a55ff43baed5b52c4492426508b074a07da54b86f633d2d238c926b50121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffffff134ba21417da9a4d34854c8c35d20b9b4e77e52c06d6b48c3a99c632d11c34260000006a4730440220405a409019d112b620721cf33d7e51aac6cf5fa85daf4674e9dd4e722bae27ae02200d747f8e07cbb91975e5c04fd75130bcf49c0d28ca34384079e27b180dc731740121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408afffffffff6e044cfde662d269003d71f3ed4356e16aecf88da75e7dadae9c8b0d3e7fea9060000006b483045022100902e1bc1108e5f0f63b9c248df39887c5c3e34097e972439f2201980dd62038502204e2e0a0f49aeb266be58155d6cc7ed698de80d2ca4b521861e87529849d59c800121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff33ced214ff3d86791c56d0af7ee3a4de84ce0eac96fd96b887b45f19847e4ae9190000006a4730440220159f450f7c2dc56519fab1b0665962b51d497063da1a59e9657df9cbb741a281022032e97a21d19bda1f91c5e2db38b33c7ed77877e1f0c2adcfe14bf2f50da9b5520121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff810e65c127749164b24a605960429a97b8570e347055d689d998169bf5150428000000006b483045022100f19c5516c0615436707f5e68b190a88bf6c5fefd99e932a18bf9e4cfa6f5212c02207df137b0df6cac24ba87170282ff8682a3062b64b7febde51255fb23747403c00121024b19c8b5d932a646f27db45992333eb1cf1cefef8739ce96ff718901176c5c29ffffffff27ba241a39e1b20eab40c56143ee50c3cbca75ae60656c85dbc488de00173adf170000006a47304402205d663644f03d334c589d0abeb91d01bacbf36e2de822eeb3c9f2c5deb45da7a702205e134fcb6a024dbf94881d0b610377edae3d2a1ec2f921631134e8ffee6881b90121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff4132869188b0ccfa2afef66257c0df0f96c8ad99abdc5ae1eadf25708cc5ad300f0000006a47304402200efbec7df701e560b45e7a920cb4d401dec7f0c3439423aab5acde67fee16eb002201f3ec1eeb08b0aa8641079bdda3f63157e08ceebc0623a9c68f73f42556a78a90121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffffa18e350fdabd5ee9e2feef3e250b94e01897bff1d01f329de81b49c33b023430110000006a47304402206c0ef6738dbfc2636d4a5a1a890d2dc02cd4b83d63c9ebc8a8f84cb797f892dd0220367cb2c26421537466d3f09a00688efbcd1000708ee43921df492c5bf20cb1120121028f566fdfd99ff14057d5ef953b31cca6944d5dd33f008e6e2cef3ffc7764408affffffff01fdaa5b0a000000001976a914fa4384c589ac8cd35370431f90cc669cb825642c88ac000000000000000000000000000000000000000400008085202f8901ac4e3bb66d7e9064fcb5ab1855bc7ef959313ac36c95792f628a4340c70626d8000000006a4730440220044775c6545d7ec31db0502d51d805684853b2f1817efbfcc97eb1bd1b66f13b02201ca910479b5ad9260b29bd53699b12f897937aa0978342c32e8116de4bbf7f480121025ac9f95eb625cbff0616440e17ef7a442ae536d2aa39268d130cc7732ea7700ffeffffff02bc7b60590c0000001976a914e62bf5200512759a8a6375e35c55f2d42127be3888ac00b3d409000000001976a914706acde3aa0e44659824fa4fdb43a9db2f22b17888acaea20600cda2060000000000000000000000000400008085202f890491d4bda1a1cc6313552965afad66f2f9fd4ecc0cac7d23666261568e26a569ba000000006a473044022069deb712d4762b845e3e1886a5fbddcdc312479d329e5d7aa9dc4e34f4ff5e170220140899d4150c376e0e8b1b6db7f2a7f7dfe05a8dcb0c8bdf5c797282ad9add0e0121022e4cd0e959062d95eb79f797689f48168624b1cc144be6c4b18ec593096b276fffffffffc7bc38f1eb19ce4bbb1042c58d069631fa4b169594eb72c1a7cc0ecfa5dec5c0000000006b4830450221009f831aac45c02e5d02508f12776578ee1d3c3f8d6ed54651db3fdf19ff55c9b902207953ae493c3fcccb18ccf944af3215060e412f7de30356fe0520882281e9729c012103900b40c2a4f21a87df16b169d98834174833f62f65cde5e1fa0b88e121b53097ffffffff224a03167565c57f303945cf2fe68cb9b00091326f7f0e9793d1c645e883c619000000006b483045022100b46c08795e52047797608d58b42bb82964ed87dee569b992e13d99c8ccca76730220223c4813b782e622093715acd2801cd6cc569a9ccb19b0f4b4b76a157208a2570121034c88cf59a41ff7082bb2fd55bdb700373f7d3166c542f683ba110d3f95ae86fcffffffff9e0a2842454f5037a8a9fec0df41119bb5cf35a1ed30282bc46a65e02787d11c000000006b483045022100c9e2dad60bc2886e6de6c0c04184253c73d77e52bdc62309008b7c24493f164802204c153c973e32abf780408b1a62ea78198a35235559ab4afac0151ed1d65490cb012102ad2ed643b71290ce0d496df39d2e7ede9c17786e6bbecf3fc87c7ce3e74bdf9dffffffff0167060753000000001976a91496dfa3baf6bd8d6a9d063bc21dab6f9b89af782388ac000000000000000000000000000000000000000400008085202f89011becd211cd5c56207d74d77a2fecd9a7797fedf92ee89ec0952e6a2a98f5eb2f010000006a473044022041c474323521be2ee5cdaec25003fb5c536d72f32c0b4e186ac0fa8f5cb3467702205759b9a0f162a1f2afc7e7d77db13aced5c5233844779743784163a228272c910121029cf995fbec5950eefb19ad42d6575eb5752bcbf270d620d2153d6ec15a652410ffffffff02809245070000000017a9146f0bf9400d728251ad20ab4e14fd3affd335b53c87145c514e000000001976a9143e63cb144993bc8aa429110ea0bee39b4fbd9e3d88ac000000000000000000000000000000000000000400008085202f89012fbdfd02b15318cc8bb35e44773febbf025408a477e3788ffce515f382a5c0ad020000006b483045022100b6e74e80d6982c41f33f3755c39e5200c3fd089987aec9a20e6a14f819c75cce022061f71e9ba793031c468a08213378be021c689dab28935646802aaa65dfbc25fc012103cfaeaebca2cebf7ca013845caca9dadd21421c2fcf951f2f602b1022a201f635ffffffff0209a33602000000001976a914f66b82b3b5a4244c289b871ff674f97706bf688688ac99412c04000000001976a9141c1c3ce2a149caad4085310646518a76e39df67d88ac00000000cda2060000000000000000000000000400008085202f8902224a03167565c57f303945cf2fe68cb9b00091326f7f0e9793d1c645e883c619010000006a473044022078314b582678d9d0c018445e58c8afa561a151dffbf60cee86627153218d703e02207a20a0aeae7d43922b4b81d50d00de11f2911d26c831520a16e7569cdc4b34260121033aa706b444f605bef8a95023b836cc5217d0a02b70361a7656272ae131bc2050ffffffff6be50ba74e89e64b09664718a138d13e960dbfa6a1bd009e65c64bb7b36a53fb010000006a47304402203fb3f3dcedf8a69e8591e01708b2d068c46e449c02e4904f49e7a173adadd4af022077d45458c8d4bda178b5a3b2d127ee42cc445e35d876d6ac407ca71bd9a5306f012103ed85aa3aa5f144a74565b058e6bf86f7743f207b94fc195cea4e38c1edd11f94ffffffff02802b530b000000001976a914cc0ca0d1a3b4d1e440c981cadddb0f0eecf6cb3888acbefc7448000000001976a914f7f5cbbaa6706e92f3fc0bc97a8d341edf607adb88ac000000000000000000000000000000000000000400008085202f8901077fd56d65177fae5cf4263de4dd934bb9bb088f9ff42c2ba5d910976c15a06a010000006b483045022100d48c14bd9d024b74219ee592c72920f65a3909f06dc6e9bd15d1da90a15ec7c402204a0711a97120224208a2ac1a6c73f62198a0bc4b4dfdd3bf21cc386562df97270121027447a7184ab49f484de98c58ab7907bd12f16ceb3a086e61008632bbc309562bffffffff0280f8a932000000001976a91477af1ed0aef2a4b26c833ecabf8f20011271957888ac2eddca15000000001976a9142fe27b53a8c65b3563d3659f987540b8e9dce8a388ac000000000000000000000000000000000000000400008085202f890138e37605d90d8a1c567ba1e2beb36013caa507d6a431de698677717caa791252010000006b48304502210093d6881cdacfbe18a01c0f30982787bca7c6ba8719873212dcf2d4329956085702204233e0e265ff258f4b34556821bc23c6b408907c4249334aedafa1fa9bc94625012102a29793f1f9cee06a600b3e02a740aaeacfc1b666bd1bb1c1e9ba02f4e6fb2e6bffffffff028066ab13000000001976a9147293b82abc5cc994a5380ebea8fe933ad0dc4ec188ac9e4f1f02000000001976a914fe2f2738ed40c7d437a3bd4400d4e6fa5df9657788ac000000000000000000000000000000000000000400008085202f89017942b3fb048a1e73e90c37d7347eb35d37f0a19b678494c75971002700cd161d000000006b4830450221009b13e55e73334188c2b09bb079068c09cc1d763fe77da1956e5acb60e0321da802205dfd2f7e6599716b8fe34e00a2ef47fdca875ac6a8ff9b564205ce169113bf500121038b9a767c2eb28bf50f740ff8a5a2ce8a98f06a8f304a022a1d1da72a0caae621ffffffffbedb271300000000001976a9142fc1e89bfe0725ad4879387e0991b5a86414cb5b88acf2c90f00000000001976a9143293f122daf2baf9b75d4e46d48802f945ad3c2188acf4840f00000000001976a91450fc643c358d5031cd24093548062ca58310111288ac70e93200000000001976a91464f9f503fd5d2bca70c347ab4ab5a2c0b0dca88588ac4f011100000000001976a9147ef2e8b5a26220b4cb414ad55d41dc411634c28788acbf291400000000001976a91496d369cded2bdac7edb6ad9980c1d4e80a0319cb88ac55121300000000001976a914b3a297905c079941d33ceac9109dac2dabb3493688acf0710f00000000001976a914c8f1c418216494ab67d8efb9a9e466453d1c673388acf13c0100000000001976a9147a868ab629a4cc8a06f27c127e78f3da1e9f17df88ac04311000000000001976a9147f231f473813d228c4a1387d74d4addf81f6ced988ac13289900000000001976a914a9639e3537d64c0602b85c797bd3f411dc85a36188ace9950f00000000001976a9144a2669602019e49a2e3e86969acc27421f42805c88acff941e00000000001976a91461b2bfd825f59a5cfabf710971d977ec6ed0498288acae1a1100000000001976a9145a267ba827476c6aa73293c511fa0a1bd488010688acde510d06000000001976a91463314c74a438dd78620a346f6fd71e648017851288ac79141400000000001976a9146be4f6f28a56ee3f9d3214714749fb9590eb83f988ac77031400000000001976a914a16dce989a9bfe693d5fe5e658eb150f32a7dc5f88ac0c401000000000001976a914b18d919a90f71466e0d6e9acd615923f6d1d89e388ac37450f00000000001976a91438900b5a3eff94d1578c79c4608f29e2959144a188ac167f1100000000001976a9142b14cdcf533e46132826e160ec91bcef32268fcc88aceb9d0f00000000001976a914656458ea0756811fdc180511c5984e6e82773f2188acb8601000000000001976a91479ec46a5d1e1396e1032432b976a91eb97020c9088acab480f00000000001976a914810cf1390260a3592aacf161b0c8c469d0b06ce288acc3d31100000000001976a91481aec48be53e00d7b7255b079eb4025822784e8e88ac318a1600000000001976a914a5d07355463b28d99ada5b4dcaf8f64fe49859f388ac383d1400000000001976a91407136bf193c12f1d588f2d13dcb84f1b5fee3df688ac03eee600000000001976a91428cb491ca091f81887dcf2519e0ed84635c6372b88acd1ab1e00000000001976a914a9782a584de62c08255a869d63aadf256ca3275d88ac14720f00000000001976a914e2c61fc9a3846ac5c1894c59c5a287f4c8c7d9bf88ac09681500000000001976a91474b1a156f5b7570514e246d367ae1f30f3c0241b88accad90f00000000001976a914c64d1432d11dbf81dea355ca3a554fd2c31137bf88ac961e4d00000000001976a914d9b3dfe3da64d0f3ec79a2a742c30cdd4252cb7b88ac747f1500000000001976a91425c243f0a58b2fde302d55b0372881b221c183ef88ac8f461500000000001976a9143523831934f264221812be99769c2617d935b41288ac85440f00000000001976a9144047ed2b1c04ec89c81b8e490531b748724903e488ac62470f00000000001976a91480abb472db15c957095f70f9db57006a4777711188aca0b99800000000001976a9149225b5435e36fdd79306474cc5efaffee9b4085b88ac915b0f00000000001976a914c10a6f5a8e8e4b9464c3818f4935da18fad08cdb88aceebe1400000000001976a914e8bc90f4875134b5bd6cc36ad098fc02a86fe89088ace1671100000000001976a914e4fcbc5cf718baefb8302f85928eb652c294b25288ac711f1300000000001976a9142e9ce814270861c79d25766cb9861b1eccfa4b6b88ac12650f00000000001976a91465db45b5fc934b6efe4c683a42d42b3a1abdba2a88ac85e80f00000000001976a914a69d4a9df38b072236848a7bd2b0f2ffee9b7c5e88aca84d0f00000000001976a914b7fc076ece98f74fbe26d06f6eb92eb53988334788ac2df80f00000000001976a914e39fe2179e3d2e008470d6d414cb156313e60a7b88ac67870f00000000001976a91417d5e2abe60d6b1a818c08d84482a226a4438ef388ac89061200000000001976a9141d78e981386c351bacbb3c36cb40c29e874fa19e88ac56d72d00000000001976a9145c5c1a1c58a1ee93280d2c9a3574098da98426e588ac9d841000000000001976a914b4a98cfc3881a7fa80d0c523015abb57ef4c970188ac903e2600000000001976a914dad95d6c00ca3e49a490520badf37e43e5cffc6488ac78111100000000001976a914279bdeabb723b4170ab8d514758f6273c7f8303e88ac625d8f00000000001976a91438d411a1b9a61b8aaf94f383fc21fd6460c9bbc188ac95872b00000000001976a914a9689485a7070f922f5d5595328224a61c4dc03488acfb750f000000000017a914e85a97e9afab0335be4420e2494461f2613e0fba8775981500000000001976a914b420dec5107134816bf38cde1b9d3c0c69a2f06a88ac02111100000000001976a914248053ca51c85e5eb02e8903ae6cfdafbbc7bd5f88ac58bd1000000000001976a914139bf6a5462e28098fba88207dd370025138ef1788ac3caf1300000000001976a9143539c7f6e1ea045f306537819d78ad991d16816b88ac3a5d0f00000000001976a91470c47752de9794107d5398e51ddf6bbd891b566d88aca7481100000000001976a9147ba992181fc09513ae0a423d6f6f85afb762bbb488ac74011400000000001976a91487312841b7f30180d3b0baa40400c3eaeb84bace88ac12011400000000001976a914b35b7352fe46305d06762e3c62da3965844c9e2788ac02a60f00000000001976a914d9db616f7ca7456b7ff605257d8177769a3d9d5588ac25551000000000001976a9149411fe96e90926ebde67f292f41629b54960677688acd2392300000000001976a914a5ca26b5970ebf5d0bc1d7de2d1629c8a71cd75588acd2984d00000000001976a9141afcbb1155d4b22293fd188faeb94c531fe6cf8588ace2691000000000001976a91491453b1b95ee722fd4e9ea6a903a05f04809206d88acc9b42100000000001976a9140656f0d7cad8cdb3c387f037ae283958dd7b7d6588acbebf4c00000000001976a914079a22f6f0f76af49ec36b0e1cdd25490918dc6c88acad981200000000001976a9143c3ee9629c853ac3b7e14143f4bb3fd9c2ad89d788ac1fa21000000000001976a9148697db8f3d23af4eea5be02b05e18f1b3ac5e0b788ac7c041000000000001976a914fcae54913f9ba427f12d3af34204f1ea2657422688acda4c0f00000000001976a914fd44f6273ec3740bfb7816ce4a1f710d4c1c269a88acc3ef2000000000001976a914f8efe6ac4d540683494a15b29cc25938ee6a419c88ac60c90400000000001976a9141864c0a5f3529aa4ec8e51bc9ddc22ce4b4e157588acd3f81200000000001976a914286aa9d5367941592c587cc9f12f6f2d01b9c49188acb4831000000000001976a9145ec7f2d857f1afd9124632a124b858c243824e0688ac2afe1000000000001976a914c6f6cb74ac77b327191b4751739871db3c31145488ac1cb30f00000000001976a914cf4f53cd8154f7de610666481cf371e54a5edab288ac9f480f00000000001976a9141551dbcd39928508eff7f39afbefa91f9ad926db88acf0801f00000000001976a91421239cd7c315f5005496cc3c53636d760c67fd2588acc64b0f00000000001976a914e7e90f75a8662b3fcdc655a12e399f54acba96c188ac7c441000000000001976a914ff4ac4ec519780c8bf9ee8ab28a1f5ac53dcbe2688acdba70f00000000001976a914439cc08d45784b51e38fc12ec9ca85f9d02bac3588ac50b21700000000001976a914a0054b86fd678eb5719fd2bac37718f7bca12f1e88aca9420f00000000001976a914e311db3b077e9436a25a97203a29e9a20423be2688ac254a1100000000001976a914e1d015d15169a3bf15c3a9492b4ec9a8355146ec88ac3aed4f00000000001976a914d030e8b5034508cc7f961b3eb9e13899b81139af88ac77580f00000000001976a914db658934bc6a44688f502e4fe9835b4414f7107b88ac57b7cb01000000001976a914e39250cc294b3be3d198e7817c9867254a589ec388ac9e0e1000000000001976a914f52220601aae51f5e6db37eefc7520d4af44435b88ac4e510f00000000001976a9141ac3eddcbafb2099a966dbffba2417d8b36fc1ce88ac5ded0f00000000001976a9145c3d7e8e327ca280b1c97988ffb1129449516d3b88acc7d91300000000001976a914b28517de1dfe045f269e52706a4b405b24856e3a88ac58841100000000001976a914bec87f89bf7d3b559f5b28a5673e37338661a11d88ac22251000000000001976a9147d193f74ce7e78ca3c38a4c8b9eda2257b60d4ff88acf9750f00000000001976a91489be62b64973ac3bdeb5b6f9f0873891793f570288acda3aa000000000001976a914659e40a17b0888d457f92b4b923ac2d867e997db88ac31d90f00000000001976a9147427a849f936ee264c131ea97e7da94066f94af088acb5201000000000001976a914f9e28dbb4ba9cee3bcad81b4703dc4740c8094c988ac55611600000000001976a914feb639f6adcc177617ea86fab17fa1c8fa09015e88ac19111100000000001976a91411084657ab9aa3d311561ab532b5db488ad8772488ac2d459900000000001976a914188bfafc2a5a67e6e79ec11438db612fc825070988ac14301000000000001976a914753a1448db0479d3b29490eea4a4ef02931858b088acd7051100000000001976a914823c58f257798e1f4ec4a99d3e6862af85860a7c88aca6ae0f00000000001976a914d52abe8429a6955afe9ebb224e0527480b974e8c88ac23ae0f00000000001976a914f241928fc454540b7e0a258ff2be7f085cdecc9388ac68121100000000001976a9148f21b0d7fdff914d52bccd4a58a4a7b75d551e6f88ac485b0f00000000001976a9142adbb7e041d14b8838d81653f8a57d08df4d1b9588ac48441101000000001976a914602606d441b263883a98ac7396700acc789541cd88acff8a0f00000000001976a914692a05e4e7e8b648f907ae860d45363152c432b888ace9c61000000000001976a91478c5a1f419b6aa2b247462f2bddf3139492605c888ac02ed1300000000001976a9147a0c64f98187cdff7a0844d3e088f42424cbc33588ac53810f00000000001976a9149d824bdca3ccfba6b2ae09d9e9e392f456440dd488ac8a7a0f00000000001976a914d0fa032a59dc1d94244353d72b1d2b22bec99b0488acb45a0f00000000001976a914dedf21cfbbd6f546d82c33f8bd29bac97854a61188ac84331e00000000001976a914acbddc1ad4d7f6b9484226a76f55dacb6467464088acb3951600000000001976a914040cbe8adb0d386dcf2814288e2ee232f347b36b88acd96f1100000000001976a91416f54e41ac7e0572500eb38078cea0fb54c7ec0888ac10980f00000000001976a914cc1d20c43acbbe2e117a9a8c3a81d03784d0677d88ac60841600000000001976a914cc3c84aedfbb5580e73785ec9a447224ba8da3f988ac5bd91f00000000001976a914347239845637a4ba24c8e8a92d9d1bda6472a3c788acb0bb1000000000001976a9146d034fcc469c361eb7f325318c4f3f02c59db5a988accbab1300000000001976a9146d134c6009a87d629149ac18f708fc15459d717888ac6a371100000000001976a9149ee0df84191ab83f55f68836c3115eb40d0d4ef488acbe622000000000001976a914c427307199f741f0f718f8468d6c2ef29cfc861088ac95ca1100000000001976a9142a5601532e379b1c327c8f250ef5cd0e90c9bcf388ac41311100000000001976a914836f6217a7c3e1d3a4428060041cded94d812e5b88acec63a300000000001976a914ab0dc2ca76932a5d810ec9f67c38aacf31aeeeb988aca8b61100000000001976a9147d24fdf26cea37168f143f73d1d941a6ca7b37ae88ac95911400000000001976a91481efeedd8c4171eb575633143991253a1f01ecb488ac76a30f00000000001976a9145733e14e3aff4f9cb82c63d7a48133c5ef25a13a88ac3a6b2f00000000001976a91477e0cd572d6e09709ab1269d71120165398faee488ac16460f00000000001976a9147381b2b673a016df5875bc810e9110c0ce4aa8ff88ac45591300000000001976a914d5536f34987ed1a691d4351110e6039224535b0788acd3212100000000001976a914e29c11748114a121bb9e1748a9180abb72c3e96988ac09c73501000000001976a914e6766b39306450cf922eb139a63afbafd565adca88ac56451000000000001976a914efd0c55e8ac56abd7da087f45cac46d26e24379688acc3011500000000001976a91428fc598ecef1b343f3b0131faf864291e23a5f5688acffad1400000000001976a914440b60242fa983ba5a83a35bb09581bbd9a644ab88ac072c1800000000001976a9145ef848cfd5a888fe5c5999e133c6fb27584fab6b88aca0744301000000001976a9148a5a8410d00aeb4dbafa2b5ffc13c72b7da1277088acd0d17800000000001976a914c9e6ab854cd3bff4c42d92ff3b98a2be42b1e59588aca3478100000000001976a91412fda64e5551a560a8536bc62d8146a12debfd2c88ac6d660f00000000001976a9141222c6b463f6844cacdabcd3185f689587ca337b88ac5a421100000000001976a9144bbfac3fb6e1f2c0f60adb7aa8342cce67184d0688ac20481000000000001976a91472a28214eb64298a92357de5a18178259097c73a88acf76b0f00000000001976a914970770c1c61c717b622edfda36a38d717105f9b488acd1d71100000000001976a91492c259d951597c3921642cde546c4fee83cab5f688acb3192c00000000001976a914b6a07e6302e8eba1cf1d2f8d1cabcd62c3ed99c588ac309b0f00000000001976a914e1238e80122a94f1bae3f2bbdaa719e4c6e69a9e88acffcf1000000000001976a9142e1fe9946c2d2a0ab73ad155790fb1c8d444aa5988acb5c9fb02000000001976a9143a2c03adb92becd5374ce338e841627aeb13642888ac8e771000000000001976a91443a93e19e7b508596451097933a4f6cae352a7a588acbd3d1300000000001976a9144b2a41a411a053930d7080331949b84878a6913088acc7471400000000001976a914a8a8fc2361c0b5e197cc4b4b9976c2f38943be3b88ac6ee810000000000017a914d1347e5f703a42eb5aa776ae6d8fe8dfeb54c6a38732bb1500000000001976a914d380da2823e7721d8f4ba12817bed0324c29c64e88ac20460f00000000001976a9140a2716c74cc42c314a04216c212658815a0b96cb88acb6a60f00000000001976a9141fda7c9387198cf19e39354f5d1bd1664507ad4a88ac7f8d1300000000001976a914247b512c0fc9633cf0faeeb2b04b7813dede4cf688acf64f0f00000000001976a9142b3536a43c18799e4821eef23a29b5d013ae2b6788ace1d70f00000000001976a9149c4177f410a28b9e1f6cfb798b699300f621cc0f88acfe830f00000000001976a914b131c258f1a1fcec4ccaced0cedd85e4032f2a4f88ac71480f00000000001976a914130ffb5bda2a9cddbc21e88de9abf05da2456b0f88ac24520f00000000001976a9144bffb24e4f7a8e03f1290adf7c670ad914da145488ac0c211000000000001976a9147f9c457f7d6f1cf534bac363602dd64a05cdc2a588aca0171000000000001976a914fae4ed560e3ab1c770aadc30dba9692c199bc2a188ac145f4c00000000001976a9142b497a4327e2db897eb8976c710cfcc55e58db3b88ac21540f00000000001976a9144b77d779ab402f852aa976d4360c21d5a26ca9ec88ac74a11e00000000001976a9148177e0a5ad88f1d10d7a3e74aeaaea890169602a88ac7ee31300000000001976a914827fa756eaf9d64388b9f4264c91fb6903aa5c4588acfbf70f00000000001976a914b4c7bc14e00f73af61aecce2dc583168c31c4b9d88ac0d820f00000000001976a91410d28402d5bd0160fe4d5eb40a9c3568a5d42fe188ac75c80f00000000001976a9144af63196a28bff87a9ca0155f538cc244fbbcdf888ac88af1c00000000001976a9149f0b4cfd64e900906ac67d6753da91a9a504562a88ac2bb01f00000000001976a914c6733fb8a1caa92ed3aadf3f83f878ecb5d56e9988ac1efb1000000000001976a91442cb831fda7fc20201ad85b9ab82bb8b367863d388ac84b70f00000000001976a9144d011ca4b5c575d9065da51a54b59eba5c4f5d9888accbd40f00000000001976a9147b77ca275144d150f1b9f0ffe08f6c63abd315ca88ac81b10f00000000001976a9148979925d61f9a9dbdf85ff5130e7dfc55f3a4dc488ac93520f00000000001976a914f01ec5c5b81cf2ebffc576fa374a56e0bd29d49388acb2e20100000000001976a91444e4b9f602c81fa9ff7bfe7020cd2210717d36ce88ac921c1200000000001976a9146d577cd0a7ee95ee98eced1838ac141c0fd06db088ac0cce9800000000001976a91477dd8c6ebeb2cc5a7f193bb3ac1817ad4c6011f988ac6c610f00000000001976a91481af8c00f9d052fd4ce7cb5d2638b86ff1f2787788ace0ad6302000000001976a9149534939288c542fe80c2cfa3ae4feb36aea5db9f88acaa790f00000000001976a914c885a86642001305a8f69a2df4064b56fe5baf0b88ac95a50f00000000001976a914e989fb3c4e488bc83fe3e10b1439eecb2670698e88acb4f0dddf050000001976a914e2b7aa42a291a23908161c9071a3dad51d02e10888ac00000000cda2060000000000000000000000000400008085202f8903c88f79329b0c4eae2777582d304c0e976d0febebc116bf8b35d5c8ce5cb5cd324c0000006b483045022100d17d5dc13d1eff9358e53cf3b74bc6550b2fcd1b4d5dc50fc143f19d11098a5d02206990e0b009814b5d5b14e2923406cdaf6950e766302eb61b7047e7671fd2a21a01210317ad10576b806c1824c46e5517e979e7a161b76315ba93e6fca5a3b4bf66f5e4feffffff6c2877d3879245810ebb32a2664a708677e20b30e1e5be5516c5e024af968f96020000006b483045022100e91f329f1dfa5e777c3db5204b05916c48e049213a11084356b66033a7557c7a02207adc7ddfc736be69840274f1ec94e3657614a2683a0a832a06b11bcff4893196012103d8c7454c1b13457d66980610122fc84e2ca876c251f65b4f94211e75955080d9feffffff59152d5ad96891a193920e241bad45efdbe153d7c5b0d4652526af5405b3de37000000006a47304402204fa72cabb5ceff3b3da9ebe1127c441b9840acd4b8c7e5a3599d8f28687d659a02206506df0f7ac1e0d331cb66edec89c92fce4d129234784bf0c007a5a5d526b879012103a633a7efb4b409a7e2135ae87a2a800450b9d91f1f28d69072b273f318e611bffeffffff03de3812000000000017a91439dec991976767ded3f51515033201049401710d8733231a00000000001976a914c743b8321f3116a169069aaf9f05d091ec6afe4b88ac809a10000000000017a91430b3cce69378a7c661368c669e135f951f3e63d987aea20600cda206000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-0-000-000.txt b/zebra-test/src/vectors/block-test-0-000-000.txt new file mode 100644 index 00000000000..a04d27d0c54 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-000.txt @@ -0,0 +1 @@ +040000000000000000000000000000000000000000000000000000000000000000000000db4d7a85b768123f1dff1d4c4cece70083b2d27e117b4ac2e31d087988a5eac40000000000000000000000000000000000000000000000000000000000000000a11e1358ffff07200600000000000000000000000000000000000000000000000000000000000000fd400500a6a51259c3f6732481e2d035197218b7a69504461d04335503cd69759b2d02bd2b53a9653f42cb33c608511c953673fa9da76170958115fe92157ad3bb5720d927f18e09459bf5c6072973e143e20f9bdf0584058c96b7c2234c7565f100d5eea083ba5d3dbaff9f0681799a113e7beff4a611d2b49590563109962baa149b628aae869af791f2f70bb041bd7ebfa658570917f6654a142b05e7ec0289a4f46470be7be5f693b90173eaaa6e84907170f32602204f1f4e1c04b1830116ffd0c54f0b1caa9a5698357bd8aa1f5ac8fc93b405265d824ba0e49f69dab5446653927298e6b7bdc61ee86ff31c07bde86331b4e500d42e4e50417e285502684b7966184505b885b42819a88469d1e9cf55072d7f3510f85580db689302eab377e4e11b14a91fdd0df7627efc048934f0aff8e7eb77eb17b3a95de13678004f2512293891d8baf8dde0ef69be520a58bbd6038ce899c9594cf3e30b8c3d9c7ecc832d4c19a6212747b50724e6f70f6451f78fd27b58ce43ca33b1641304a916186cfbe7dbca224f55d08530ba851e4df22baf7ab7078e9cbea46c0798b35a750f54103b0cdd08c81a6505c4932f6bfbd492a9fced31d54e98b6370d4c96600552fcf5b37780ed18c8787d03200963600db297a8f05dfa551321d17b9917edadcda51e274830749d133ad226f8bb6b94f13b4f77e67b35b71f52112ce9ba5da706ad9573584a2570a4ff25d29ab9761a06bdcf2c33638bf9baf2054825037881c14adf3816ba0cbd0fca689aad3ce16f2fe362c98f48134a9221765d939f0b49677d1c2447e56b46859f1810e2cf23e82a53e0d44f34dae932581b3b7f49eaec59af872cf9de757a964f7b33d143a36c270189508fcafe19398e4d2966948164d40556b05b7ff532f66f5d1edc41334ef742f78221dfe0c7ae2275bb3f24c89ae35f00afeea4e6ed187b866b209dc6e83b660593fce7c40e143beb07ac86c56f39e895385924667efe3a3f031938753c7764a2dbeb0a643fd359c46e614873fd0424e435fa7fac083b9a41a9d6bf7e284eee537ea7c50dd239f359941a43dc982745184bf3ee31a8dc850316aa9c6b66d6985acee814373be3458550659e1a06287c3b3b76a185c5cb93e38c1eebcf34ff072894b6430aed8d34122dafd925c46a515cca79b0269c92b301890ca6b0dc8b679cdac0f23318c105de73d7a46d16d2dad988d49c22e9963c117960bdc70ef0db6b091cf09445a516176b7f6d58ec29539166cc8a38bbff387acefffab2ea5faad0e8bb70625716ef0edf61940733c25993ea3de9f0be23d36e7cb8da10505f9dc426cd0e6e5b173ab4fff8c37e1f1fb56d1ea372013d075e0934c6919393cfc21395eea20718fad03542a4162a9ded66c814ad8320b2d7c2da3ecaf206da34c502db2096d1c46699a91dd1c432f019ad434e2c1ce507f91104f66f491fed37b225b8e0b2888c37276cfa0468fc13b8d593fd9a2675f0f5b20b8a15f8fa7558176a530d6865738ddb25d3426dab905221681cf9da0e0200eea5b2eba3ad3a5237d2a391f9074bf1779a2005cee43eec2b058511532635e0fea61664f531ac2b356f40db5c5d275a4cf5c82d468976455af4e3362cc8f71aa95e71d394aff3ead6f7101279f95bcd8a0fedce1d21cb3c9f6dd3b182fce0db5d6712981b651f29178a24119968b14783cafa713bc5f2a65205a42e4ce9dc7ba462bdb1f3e4553afc15f5f39998fdb53e7e231e3e520a46943734a007c2daa1eda9f495791657eefcac5c32833936e568d06187857ed04d7b97167ae207c5c5ae54e528c36016a984235e9c5b2f0718d7b3aa93c7822ccc772580b6599671b3c02ece8a21399abd33cfd3028790133167d0a97e7de53dc8ff0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff071f0104455a6361736830623963346565663862376363343137656535303031653335303039383462366665613335363833613763616331343161303433633432303634383335643334ffffffff010000000000000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000 diff --git a/zebra-test/src/vectors/block-test-0-000-001.txt b/zebra-test/src/vectors/block-test-0-000-001.txt new file mode 100644 index 00000000000..eba9b29d12c --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-001.txt @@ -0,0 +1 @@ +04000000382c4a332661c7ed0671f32a34d724619f086c61873bce7c99859dd9920aa605755f7c7d27a811596e9fae6dd30ca45be86e901d499909de35b6ff1f699f7ef30000000000000000000000000000000000000000000000000000000000000000e9851358ffff0720000056c2264c31261d597c6fcea7c5e00160cf6be1cd89ca96a0389473e50000fd40050053f4438864bc5d6dfc009d4bba545ac5e5feaaf46f9455b975b02115f842a966e26517ce678f1c074d09cc8d0049a190859eb505af5f3e760312fbbe54da115db2bc03c96408f39b679891790b539d2d9d17a801dc6af9af14ca3f6ba060edce2a1dd45aa45f11fe37dbaf1eb2647ae7c393f6680c3d5d7e53687e34530f48edf58924a04d3e0231c150b1c8218998f674bc171edd222bcb4ac4ba4ea52d7baa86399f371d5284043e1e166f9069dd0f2904ff94c7922a70fa7c660e0553cc40a20d9ee08eb3f47278485801ddae9c270411360773f0b74e03db2d92c50952c9bd4924bbca2a260e1235e99df51fe71e75744232f2d641ef94f394110a5ad05f51a057e4cb515b92c16cb1404a8cdcc43d4a4bb2caa54ca35dccf41aa7d832da65123b7029223c46ed2a13387d598d445435d3cb32fdad9e27672903864c90d86353b162033078327b5b7aaffc89b40096ae004f2d5c6bd2c99188574348518db66e9b6020f93f12ee1c06f7b00fe346fefceaffb1da9e3cdf08285057f549733eb10825737fcd1431bfdfb155f323f24e95a869212baacf445b30f2670206645779110e6547d5da90a5f2fe5151da911d5ecd5a833023661d1356b6c395d85968947678d53efd4db7b06f23b21125e74492644277ea0c1131b80d6a4e3e8093b82332556fbb3255a55ac3f0b7e4844c0e12bf577c37fd02323ae5ef4781772ed501d63b568032a3d31576c5104a48c01ac54f715286932351a8adc8cf2467a84a0572e99f366ee00f82c3735545fd4bb941d591ce70070425a81304272db89887949bc7dd8236bb7e82190f9815da938cd6e8fec7660e91354326a7a9bfe38120e97997fca3c289d54513ed00286c2b825fbe84f91a39528f335674b5e957425a6edfdd00f2feb2c2df575616197998c1e964e069875d4d934f419a9b02b100848d023b76d47bd4e284c3895ef9227a40d8ea8826e86c7155d6aa95b8f9175812523a32cd611efc700688e03f7c245c5bff01718281b5d75cefe8318b2c08962236b14a0bf79534c203df735fd9cced97cbae07c2b4ee9cda8c9993f3f6277ff3fec261fb94d3961c4befe4b0893dcf67b312c7d8d6ff7adc8539cb2b1d3534fccf109efddd07a9f1e77b94ab1e505b164221dca1c34621b1e9d234c31a032a401267d95f65b800d579a2482638dfeade804149c81e95d7ef5510ac0b6212231506b1c635a2e1d2f0c9712989f9f246762fadb4c55c20f707dcc0e510a33e9465fc5d5bdbfa524dab0d7a1c6a1baaa36869cf542aa2257c5c44ef07547a570343442c6091e13bc04d559dc0e6db5b001861914bf956816edce2a86b274bd97f27e2dbb08608c16a3e5d8595952faa91fb162d7fa6a7a47e849a1ad8fab3ba620ee3295a04fe13e5fb655ac92ae60d01020b8999526af8d56b28733e69c9ffb285de27c61edc0bf62261ac0787eff347d0fcd62257301ede9603106ea41650a3e3119bd5c4e86a7f6a3f00934f3a545f7f21d41699f3e35d38cf925a8bdaf2bf7eedea11c31c3d8bf6c527c77c6378281cdf02211a58fa5e46d28d7e7c5fb79d69b31703fd752395da115845952cf99aaeb2155c2ab951a69f67d938f223185567e52cfa3e57b62c790bf78674c4b02c12b7d3225fe8f705b408ba11c24245b3924482e2f3480994461b550641a88cd941d371139f3498afacdcba1249631402b20695760eaada5376e68df0e45139c410700effc9420dc3726515e7fcb3f349320f30511451964bd9b6530682efec65910ceb548aa2ab05ac3309e803161697213631ae8e13cc7d223ac28446c1bf94a19a8782ac16ff57df7ee4f10fb6e488c02c68d6b6dee6987f6d2c39227da366c59f54ff67e312ca530e7c467c3dc80101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03510101ffffffff0250c30000000000002321025229e1240a21004cf8338db05679fa34753706e84f6aebba086ba04317fd8f99acd43000000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block-test-0-000-002.txt b/zebra-test/src/vectors/block-test-0-000-002.txt new file mode 100644 index 00000000000..8b3dc0c4307 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-002.txt @@ -0,0 +1 @@ +04000000238d665a062b9007836a7d8f968ba2f3847af5f542733389a952cf9b86795502d5b3ccfd5e7828c4b2d221bae3178c500e21d33399c39a2508a0a82d53c022580000000000000000000000000000000000000000000000000000000000000000898c1358ffff072000005b7d311fedc046109a4482bd0eccdf21a6089c99fce43633d03352530000fd400500282db5ba22a2c122aba42724a991196cd01cc2b7013318f691d61171db79202d2e5979b0b6d5692cd129eb37b7541ff51b7b2a840b45273f86d2509acfaa39183bb3850f9916ec8246ad9ee785462c9cda0ea202f12c7ccba8cc155096016a87a6fc40a6a44f5f3b309a868f30d9080b128c75234a6c3d019fb7fbe29708d01daaab84e4891a00d15ffdd9a598dd678899102265e2090a4b7b26ec55764febbfd1f5fe791aef8500619578359cb2abfb19844981b5c0e67e86b6549765bd638f3a701b0fc8a56d00c4efb87b55883f1d81012e5b02d44e10ec9bf620f20ad62ca549be934d11103f9142b3201ff31b7791c1636aaeadc512b2c0f801a64959300d5d526c2fc58e2838162659fe59168f2214b41d1ec963d543e2660ea630d031e2671c8c841fa9c1b58f7475bfe958724cf89c038d29306dc0043b93148ab95f6e99017ec5863db2f9130c48187bfd013924b34eaefd1db6b2818f4f6a604185fa774c2c069455c6eb195a5382403404c47db312b29b5d84e44c4a645f06ef7899f0b78962e95d5476bc989dcb9458c24733a435b151c9fb46c32cbebd3318cf3ed7310533cfa0b087d58c687505070858765968d1f7077f0e6dd75ebf15d74bb8c7466ef2f4974df537f5dd64097f4adf8b1cff61c00181ad26f94cca9c01960db31edc454c1650da4f4390b4aa0efd46c9ed527ed8bb068494285da2680993e8d355caf6a0bd42a4d681780db2312eef129aa76c6081ceff231311ea93fd65fb0b80df077c49ca69d8996b1ebcfd74bad793d7914b4748af45f31ad018dd12997bfcf809df3894bbd7a10cc585797915356389b744f71ee58ac25484b635fe12a1b20909c97edb1d7ae20b1ef1c776260ebab06e16a34c2789fb5555ddc954cc38f07ac551ac3b46c1370f4fa1ba22ac35d82134eaa0d3f3198eeef723030072214ede447893a03f706d389ea60ef8a81ff7e20ae920cb1a5219e93e1bd2058df6296dc8ba39e4d403199d2c209c3d6b3b2d462aecc04b0e248e7f1e9d204a1f6b7df51073ae2faab55be3353713743c5db40555bebda203a5c79fc3324cb8fb7629c9391931a1268c97fad6d6ab7ebc583330356372df8c5e9e885422c75ab956932351858452c5904a5aad3d9fd840e356abd580479d9a531cda6de08277008bb3a1bdf08604c1df0d8e8cd475cb455161bfe5d9710bc0dfac4214afeeed4bca6148b54241b8f4ab221502917f261705715c7388d9e91d3685a1f67c484a24b716912fe33a89ca7ebc3a5b77e6b36657c7e2b2e1e8b2b699690ca749339b7b2673fb1083496bbc753fdfc49ff6e921c5e35f27d9175afa7da3793d6a7ad5eb0ab8c9ee0e60a8ae438e3145cf64b5f6417625ca934b9d7acc150efa9b53618c15b4d8318be5de0855696d92ef2e018d97ebd24102e824bbd040aed958a51016a91661180e64932f2316b5ee55923263d19d293996118f511f22912e8c9c435af630099fc47b7c4ab581b7d760418314c0e6e814b3bbddb486517436d56ddc774701072cd77beada2cc94cad87f3d1cb83db4da05c2e141bc175bc8848e548c27584995333ef1d9eadd8d7f028cae60d5b0e9642db7245d388ff58c6a31556319a29c0dc14362b957b6220a428966d66d6c3339a12a503806de7dc4c4561bab6968245e41b27ae89fffbfd1bd2f4104d074f0f2b759576f9e16c0e2f73bedc7c0e0da97698e07ca1d729b113938a6b29c3b19d9b8225303f80d6dc0e39bec343ac9a2d23926ab414666e079e68745998ff73dacbe1645bd004dd06236f615f11d47e9b2d54cf8573d9a295bda88af4b2c6c603db0c0757485a543725b1cc04f7e9f38445ed875ec54317418600b4113600e137417e5d1fc333159a7e365d0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03520103ffffffff02a086010000000000232102acce9f6c16986c525fd34759d851ef5b4b85b5019a57bd59747be0ef1ba62523aca86100000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block-test-0-000-003.txt b/zebra-test/src/vectors/block-test-0-000-003.txt new file mode 100644 index 00000000000..4dfb2a5e998 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-003.txt @@ -0,0 +1 @@ +04000000181ac2d6dc0ae73a82d7db472ac2879a7c24d8b12e5f73efc33a55549ea4f10050953b3d2510d8708ca94daf3daf9a220997fa8a0c892334f9aea314f8f33b4a000000000000000000000000000000000000000000000000000000000000000034901358ffff0720000086f667ba6cc97829497a0e1b8f20ab15b3e930aabc445e613bac0eb30000fd4005001be24c401d01d9b72310669956a0b87f75fee8f6127c2117d005045283f955dcd03cd783d990ff199c08142849aae7ca97965243ef2238cd3d5179edb4a809e610fe8ee0697f8472c5480bc9065e635f3d5e7f0cd6b1a7018830c7c07ba69d48495a977a611dc5ad12044db353c95729ad01424788f804f92b48db257112e0e5468692bedadd9b03bfc8387044f612bde6244d2a15fa0d186363a04355c10576bb3f26825b66d50078cbfccbd303e9c6a4e978af7af4f7913fbe76420e9554efa0d06d673455728e4cf97d7dd7dc9d3b5602543374d16222452e8a54dbe6c75a531dc5dde6a64e982f0a299a8c773a36865ce2fcefbb57bedca75d069da903795d0d3188468275ebdb3b1e8085b6068a11ae35b8620db5ac967832f6029dcb136cac7d27d010af925cdd2e3d457ec68323da25f7564a851433a9136b9d64e2299499f177718a80181ecf64bd5e4f6f005dd63747149ae0af7ca048812ce495c3a2b4629b04666ff27847d1544e9682221fa0dbed35840e3a45099d7c36058829eb6fc5b1d999a6619d76834e50af1c450b69a7aaf041bf9f23853655ac0e584e5d88970f84e1b917ceae9b8352b587fd6428e5828ade986d2263b2c0b2a87e73e18e82e671a5a5aa025cd4ee611ba123ade8695ad1a6f6e558c4b8ecca4a64f593242b39ac094caa778f58a463ba15c9aa69247d2a56a502013b72f657aa094e8ab3378ca53fa141100ede78124011a3deb1e0bfd65a22fd666a50b50dfbbc44c221d603a4ef2ce0f3cc636634adf7fae21a95b8b3f03ad0bdf86450caf3d9f9290eabf39f5eb9bd3c4de306c8405f9ac2688556d4409e7945362cd0a6d4716109ef3dd735a47d7fde7a328892c358071d54b9dfcc0c9fd7bc76844195d75b732bec4a1ce97471f2c4061fcecde4998ea838f0331239bb5a996ace40fe1b1201b0bc4eb3a3f2cb2ee5a40f64ac821346859c857238cffed09823381d3d5809eb915c90a67c853976ce092969d11b5e2a97ddbf10b03893f231bd025b144426f85ebe0d5acc599f88a3752637b30dc0df325eaa05365fd87532f8f9a746bc0bb16126e359223c265e2328d5ec2c09c919b23a582108c46753b9709e6e340835f41eeb86122ebf1234827f59cb2d69037089c7108bb769001565936a199591f54053aa5fae3f1ad701b989f576d1f4437b91011af2f35aba8bac3f3bfc15e717ae400744aa7553220939f250e5a0cdf7b09316cf6c6b0d06832977c6f378cdbf161f69683c735d35e8621614919bb69048a3775821b2ca9d7f1b4e3403f6ef6c79093ff89dcdc39415736f29638a12091005e55672eac17e33f485b46138fc52bb1f8cfd0e47067f61d32187fe6c50f4642cd8d88d7dff13735ed45de02d819e9ad03fe58ec844fbef3302ba4eb8821d020df8b7b71d1cc1b45ac3fe995db0a952cdd9e39c319d1691c1d310277bbcf5c0fc68f64992e7dc99b0195339b2eda0d96d70feb82a8572e26674bd1e05ff48ea7eae9bd27a6b5867b95dc152314f376c9d5ac5070abeffa61e56a1018c50f9dd088b2a8f0e76a76d550c8b4a01d6df03e5146695adce140e141ed8f3eb13b26296ab573414ba7416ccc8fd5e165ff656a40345d2e6d231b96b6dfc54285cb8ee552e2ade7756b309886e4a941b738d2c8920e4f04062b94756d369e80a4bf062900858430e8d20cef434561f51dd1d75450ff5d0b2c6d681f8f2ac5269b078080e90a57549a05f0bac317eb13f038cf4280a634198c25bfef47fe70dbf20f071db395f1145047693a919a92db5f8d7270efa7e0bbb1ccc8191dde4d7abdaf631f018b8842f29b4156f0d5123a705374371ab7eda9110d8abe7945e74ce02dcde3383a252e8c14ce8ec2682c7567c840101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03530105ffffffff02f049020000000000232102b24776315475d2db96268d6f60cf66db445a3c50f6a3a7a2cb07be45e87b8346ac7c9200000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block-test-0-000-004.txt b/zebra-test/src/vectors/block-test-0-000-004.txt new file mode 100644 index 00000000000..11fbb61df4d --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-004.txt @@ -0,0 +1 @@ +04000000453d3894900251af96173487ba0c01acdc2c8093ad06a4035b0320dae841e1000bf847a21ad1ce24a12ea04cb38029e592dbdfb58d78d810f33011eb6ded7333000000000000000000000000000000000000000000000000000000000000000080901358ffff0720010051fee29af2af0763d676ccde3905e3bdd94eceb50ec735e4ae507e620000fd400501e4876165d8a5feda2bf303ecdcaec1a588b792581b29173a2516a0dd3a5521e6b4d20cda02cb1d16ca1348d3b733e5956dda564bed73f6565f84827cfd352713a2433dd5e3ebd306dac7cbdef0676c211eb4340b5297fe3a078aef438d949d27e3535647f11e2e6f4d047f0250152d53affbe78f414248d2552dbf5ad30d7e2cb96648e64bac1ea3a16d37644add3658afd112de84c44806dbafdd6592fd26a50f8e0994d1bea302392273102614a9b70b9196eee8d095e8523435cd1d0fa787068ea9f8ef2f93a72ce3e3df24ecbf8d5a1769f26b4f966c03487d618e67b129a98de25947cc1e04c612f7d55d893837b48f8f4ee4fae87b9e76b002ce471a29c7414597edc11e366a6f8550f09a21c41c3ac6b02b1eb27978a5c2b48470673dce121d635f1700b2afabeb5439f2941327e52af84a940579c2821e2a743aa9c8aa6d0f7f12699ad50cdd57a18e69b5056db6ff5b4febc8b69ef44bedad99220992f2590b5584adbd4956fc1fe7edb68a977031c5d36d4ff59814276389a9af90018b4add95747a0f8767779cdeac1d585c83849c4a571b66e2f9c0ca68c5884edaba6b0ad30919d0262e4f57bed38634561c2d1409d1c7072ccda4b0a7ec3dbfb83814da9f2a1d91848d2fb1ba4721fc9a26daeb72f6ea06819aea8526160bbfa5d077c6174d7b76967dd99a3b74f4f0732f10837fd91a08936ec2ea9263dff29bd69f63ba361228d3198dee2ffcb526a90d026ae830c5ff05f7073e0440daeb7c359f96cd4d51ee530ed90417e0f4b75663c234431c68fd1fc43a728f9fa6745a67a97e5c3f7f39ddcbf80c97d4b395e01a77cfa573b807d28ec95791111b5944c25d8c35da01a2ddaab47b5cda6e95d6887b385e10959964291f3a35463387d2234624c681007d761019259de4e56120ad7ce264aec2a8897305d87906e902a0659f29dcf31beafbb0dded9ce504bf95d8f48b161f1d3d5107678a628be192922978d4ece0353e672ec34efb6cf2b361e8c59c8999fbe6772591dc8079401aed5bae348663c8d6e63dd1ee1be2c924f9a6220a435401f5eb5b4fc45e015421b14a2eb47977838424475b20f88bf2d51661d783f767ac3628785524ee0c047879019ddb01bee450e2d190dc5077f52a23a73819270443344809baefc78bf5fc3495ed7d6fabce0cdfad678ddde9d0fea0aaa430748712d51d5902042e7e4e2f044d6e15b0eda3789e792c5900ddd5f0a70e2ad48f5322157d3b16c38ff0ea1c0d0f41b9fd76122b66db925fd0e7b9e8828344f66f4a23f31edb3d1225fd4e0a0a4145a74d7240ca923b0bbbe95ed633145bec3aee4571055263920621e2f9c0acd6fe906e162967b7c85d9601ea1432d124ad53a9e8e5141e481add1dd63b2fc0b787afd59924f0504b4af7fbe99e03922f85ca2bb42d7d1373c385d676b6c7a73f52421658fad5c159a774ce55954ddbe3cbf76855dc864d0d6979128654edf99716833605e729c2a83b5b81b91a3d6f95d456571f47b3e250bff456e4cccbb5a8b704621be030c9ef5ace0d9367a852d9825894f8638607f96b154b65ab09f053240123e16aa1446a7fac030535c911d6a08ef5679d72a2a46cbff8f3da3b012a5c728599409e30acf902066263b4d115b6bb3c38f303f4b9eb97c30ecf307ae13fa21cba0459898d9eb1146b432a9b46655e437a53d77fa8f2a35dc8fd6c8b0689309602937818b53ef14cb57def2c6268a8156607aac28eb1934b9d119f23d77849a1623a92f675e617778a39755aac5d2cb324e1cd618812601b75ff972d24ad3123ce67f3c4cbd44bcfbde909ccd83cb8aa271c05b2d60ed58d9304844ff6bfe472682cdec63a7aa577e24be4c5bff405682c86db407e92d63553e30101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03540109ffffffff02400d03000000000023210387c8c8f56c95c1a8d40efb54db56158fcdeb5a26a8f57d8be47b7b826223bf76ac50c300000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block-test-0-000-005.txt b/zebra-test/src/vectors/block-test-0-000-005.txt new file mode 100644 index 00000000000..775e8fc49d8 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-005.txt @@ -0,0 +1 @@ +0400000075ef21ee166efb6223f039afb800896ac0a949e02b77a38a79479036ae746b03ee7bcc689bc163057062897c62e689c396a9fe9288d7b9399e0a58c2f780644700000000000000000000000000000000000000000000000000000000000000008f911358ffff072000007e734241db55374b13093622fbfea74696b2ce28e5abb2c8e989b8450000fd4005004b0b0380a079754eb8a20959e9f83d631d18496d0a4a26600d4e36447a92a1f7efe3ce1284537c3ecd16ad112d78a3428f38bf373f1e6959125679db218729e67ab858627aa1ebec06c3c94c8c96a0f27bf29e11879579a713ecdf1e7ab199d0c77182585a95dc224fe5dbdf4a7215d99ccc45c2804f1cf648a51e241a2f11535e4dccc944aa67a81e5eec079778a19c3e313053442a77543142b5a9d501c44d33f1867e19a88b03bd00c7ae9a269bfbd8c2e27662296740591d126f19f755746bd45561e89714f3d92af31d5a36922e830c3d3d0727465ae971134199b6dcbe7129a9b908d831baae4497a6c5c5e7c1d380fb1ea541cf509e3b3e112683f07c4c7e509292965849d3af759ea651c2fb4b9d5b7c4f2fffdb9483f55a89c82ed368fb3ebb7b13d58ee531e671d7e6faf8486275d87ea386bd40e22942a742bab2fa61a9a4260499f96136b6c07dfa95039fe4961e160f5eb2bfc0f4dd3ac7f8e0b64e5e4c48bba44f4deb612d81acf71b5c5545fa3358f3967d07df7e7ba08d5738769be08c4ea1789372249d51850bf30112c0d2bbc5999e180a05d59262eb4f5a5bbf085d0d870770db99b997f2c3bd50bf9d9bfb1fc0b31f6d2287f08a6416ee8a72801edaa6a334055a43b516fe7fe6010efc62b60992762c7ebb4940ab8a32b831943a9b9861330b71026980a4e7981efe4db87bac03f17459f15545a5698cf05e106be3e932df76e009232d6d89bfcb9b155912a3d01fd45fc26896fa26410dd14c5a223367b9c3b7c5c27efbc6dec6fc5eb9a927e781e0cf954b332406d2b11f2515862008bdc97c05a40f31732912d9faec90ea2257b0f990accf92dd18ccd5905e8b4af49308f1d3f8ca1626e6e7f8ebc90988c789be90d5138b52e38161f9f7ad01529e22c12d3dce6693974b55664e17ec0b7e61a215777de23700f9e105d35fe579864d61dcede0c45591fc5ca2c13841da4cc49575533e63842e77d0213dfc0b52f3f5246839f306ce0169afd6c27affdc96ea1dd13470e34267343c3b7131b1b632a56922fad72dba4bfd3c3202be0a821057a674f750f292cff8aaded117fdda4107a748ec1c04cdbb4b3da20f89fcc7ad7ade12be802d72acdbdacde6b29eb623ccdf3c4e6147933a4c50318e7b3650cdc2beacf9b490cbbfa3724d9d928697048673900405a2314046b19345a3ce1d589c7f5c5b1ed80a7ff1a42487cd3366cb68c7812266e39fc0f705d0314b8d5ca67182e1236b034a53f1dcb1fae1342f17d748b528d2a5a8f10692fd6fb1c628e8b656b5051f6b2706961e9155e001f91d2150bcee4652e19f17a7b23e354b1e9d15e962daecb65ff265ccd3c7231bb4c58a86ebcd0b8aa8065e42fcbbaa138b74f4c63d36b670f2efca1bf06b783c99e3f6e37ed0fed9e7017d4f6b6c481f4a92a277060c69ee41ff4ed1219813683e45ab491a57b09b96c584e3725dd044fa60660dae8ac00729b973c75ed23bee451d72aa97769322173811cb61cc8f63ac38a54eb25492a5c20b5b326d024c5c7c88a92bd9cc64402a4e916a2d5c652be6931503b575438a06dbcfcfa238409bac21349152279c26f2bc3be523f1a979ffc2ec0ca7a640db7d2c2ae431f07db5e11c80b5840517a091745c32465c9be8b50362f143911f421d624b23d46e421dd5a5b058e89806c3627151c8219f682247941f3dbe1617093596ea20acf77565345f5fe502f37ddac962c710583fd85e5251bf858af3f6a1f37dc57bd2ee06be2691f32ecb0401d7e4f7e0bacb26f7146c1ad6730b1bc27f2ca04c95c46c3579f289de2d07fcdccf9e0350b71dabd6048db1c9d1adfd037483c074fcf05efd8dc27965550e9b6bf478d4889bded6417eb1496437917d5dad240101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03550103ffffffff0290d0030000000000232102171c07a26a7b7f5e8fed66755b01b0ad0d36121ef1979679ca4bddc29da664b9ac24f400000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block-test-0-000-006.txt b/zebra-test/src/vectors/block-test-0-000-006.txt new file mode 100644 index 00000000000..cae5abab049 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-006.txt @@ -0,0 +1 @@ +040000001e2fae054aea69254a5c830f1fba7a4149b5238b31bb0841e4e81883006e6600ab572c332b8774335745715c260810ed0713cfecaceadf09eb5f828d40f8da23000000000000000000000000000000000000000000000000000000000000000029931358ffff0720010046f28cf56b736b908558004e821fe51569a2b61059b9b983e130778e0000fd4005002b168f966710339db5e4d51c708b4d47fdddc8022f5fb581f9d923772ac3f47b7de424a1c647bd8cf10e2be7c97090455a9700b543cbcd0ac31153ddc151359e75bed32269438e12f67a6beec586b99e7ab40a0203d641375486f1f38f81d1796429a1b294d53f270b8dd8ed9f8d67e77e1c449ae0f2a8be011f3a43110aa701111050fe738c37b84bb8450d9618a0d726863e69ff2ba4d0e063eee65475842666d26b6cf43e8003d2f71a0b679e7dc3d143da6ac9ac7bc554deb33f31147519321372abc75279b9ebd2009ec7a9df564709fbd7521f03ee422a9f27e7b7d572aa0498b7e83b150a5cc2370597df45a2e2086fb329809f54a8f50d110bbe0636058aa28eb2989162ccf46388269edee86362b31c1ae27deb7783e89c36dcac626d4cbbe8e9170817cc1acc08ad00ad04b04552611eb256f6580e5e94b606ffe6e38f58b10762c56ca192bc043f7ef10071dd48fbc0c6f7944cd03df3eda964152d0e18772547ae16370cfadda050a4f7617d03562f7e1ea5f6023660309782eeefae566341c6fb0fecfbd8b5ff20400db6b5d319d061fbea6529b24203621ca814b59401aac65564082b74d997c425d0a23c728221dfc73401d5562e0b0e37297493d3132af2db1903e2ac89b509e7ecdcf22230d72f5653001e450955a10d6e4bbe0b88db4d11a00f111ec432eb64b01786115ab806ed05111ea44d323f33bcf9614aaf44e440806fc5f9be635d7f566d9d33bb3ac338a892dbc9e27c88b7e3e420c93a95464981b84dd08423c8b7a5a1eb3b9d614623a7dfd3f58991ee9d87292a9e63b2b78e87fee59b06c53c4d5caa92bfda8fb90810e899c26f0eddcecb071dcc1b66682fd1df9b5678106fad4a3bc852a9bc13170ffed758522ad2628572aacfd5ed978c8fa7481ee80e955196b561a5eb969fabcaf94383321cd54a00cf976ca9ad11cd843e117d25a786a0652e75ed8d165b964a59d959bb5aed22353fcf9cc8f35655152508be66fee821860d24e0b4e0024a426206fadc204216a8cebef04bb2d4eab9834586f58f15fbe21854a003b0596a2a59c8cee21311f33b9c7760a750ac0b2a15a222347bb8ae7dd5b3c43f05a95dc6453d7b27ce03c6256c100fb07d178070bce6946ae0ccf00f47ce17d5cfac26b05dc7acd4124c5149c7d9f4363ce39e0378710f171bd79be82ac0fe37f5445a31d25deba304081e506a5f1f35b02640c51289ecea16ab57dd3509ed4cb0e3184279b9b370ce2d98ec7881dbbbeaf4103636103ca3bf55e0b0410c9b3d0a5495594b0fea053639052ec20454e7fe90c0142649e1091e91e36122ab21dfa60fa342fb8114dfc46a4eaa4ae9bca6f82c0d3749de27493d6a5036ea8fd836c6b0157cea2c2e5f9cb5962b391b87f7c5c59f7ba649e265dc0080019676369b245d372cabd81a8a4a054ac9e2ddb1942744eb1f0c17c8e2c556e4400fd5cc4ed253192702058226c70a20b3c7473f365754e0c821d8c0b25b6c502adb162631abfbaba7a672be6a054210e65f2f7102de979406cf8fbad303a80f9a4fcf120a50b7164929a533d217e42c2991ee89a94ce1223e85e2755d99083004a98686bc04dbf330a28d7ce3dbbd417df9532dd364204d555f070e9e0786437d73ee761cdf1c28041c6a156f1984c7760b868e99e63aade32137b9a80d29bd170af31027f15a41e44aa01fc2ba629fbcaf05aba68c0e8367c8cd3d6920bfe020f2f3f5dcd8381f74a7b4756801b5b906a2584dd3f610bf1d9bfcb904afa3ca3cd26f171fa1038c2ccb952674049d04740b9344dedbe5b37d65a05500e54faf5d8c2f30dd4011ae78946c0d501ced1781ad5ffc7e24b3ee87bb4b1d67b930984d55c1476164c19bfe2cb947e217b1960101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03560102ffffffff02e093040000000000232103aa3e2d213d453dab046457a98d908e81b8e79ee71bb400e3b1868844d85de054acf82401000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block-test-0-000-007.txt b/zebra-test/src/vectors/block-test-0-000-007.txt new file mode 100644 index 00000000000..c9fa50efd35 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-007.txt @@ -0,0 +1 @@ +04000000b8863fb0b1361519059c4ad552bf007d321c2a9a710c6f71dda84050eb637e06f21731288dc961bc400ecc1f70099b0bb4b887bb319a51199c81597100bdae4700000000000000000000000000000000000000000000000000000000000000005a951358ffff07200300a345864053594c184c6750b57343974a3eaf2aa3e7c4426f524eb2460000fd4005008eeb245cc7cf1d37fcf0a704f9985aca2e36ef05295984fb42ea40a78ae523869e70cd617937b31ef6028713e9f9ce07bf7bf582cd6b2f5096888019b63f13a224146d4e9805917ee44d64fa0b014805db796903e671e5110132baf4be7506d86315833075bcfaf621c97b778758543f679d632d0e72d6f63a45b6dab775f41d31b525f11d66cc1c9d1efe971f41933a5b327a2137b4fae268fb841028853ddd50aacd9c58325c05bd34653c4337a0bf771484185362e26ec2dbb956069f415ad59c980fe1f1924741cd656e0ae39cc7fc0c9d45586bcef71079be7357b11c60f1c55e2e9b2f24080ccbc4155e4f315333eb62e88a9d166f4c9b201160a09ff71f047b8bd0b2c266be5953a1995f174011a22a384de1d87171f8e3502e44f720dfb29e472d156aa6bbeb29e39b95b344a6a0e84f4af4a03aa8713af7022522a14f5f294883e4b860069e041291cd6800a0db3987d48577b37d9277ee2bbe68ceb2957aa63206f6cd0a9a3791efad876057eaa4a28ec9dd59970d63b21ef644d7aa7361b383044f1992c93dfdf2e2118e08e4bd0b9741f117f6fe69d188fa936915672b0fe546fbd12c20cf7e5d43c0fca470cd5aa77178c81bff7c5b5fcebadfc37954a44d324b06cb34586b841b027cae76c851969f0af2232ce97e19e8f39977831b2af7191c601fb34f52e69cc7df9d9b68621c39ac00c4563e50913398cbb760a170499628f1c9a90ee20cc8fd26b6e1c697a024419e9153d1b08fa4f6a8101f774e5140540777974ff3c3cd3fc82daa6e3a752e4652caf331924ed4e23137c3206c5be20aad9275531013834072167002bd02515c59161f88c4f49df57a1c0376512c54547ab6b655c52ef0f1b99aeebefff81bc487cdba34309daff946fce5e20c1336e01c220e229013bd195436659fdb087b404b57ce29483393f000c266da348a9119924065ed556165f6758b9e6c4a1fffb75b3a4d0d8d2372aa9240739026f4525fe4de161832bd72d1e40f3f1c02a61672a42e3bb192c90747605ea8e2983023b4eb96ff0ae9aa2a22a0d9cbe804eb40fbbb119423ca080540067796aeb75cfd97be1de1126cf16865fbbe35342953d6325a6c703cc6b8267c731d0f342d7bc4a9a36afc2592ae0fa95310af6023779d685d5047b06c79e7e755949af2aad9b9c904b76a95f3054814ad7a415cbfa39bfe85937901df32dca63ad05ba7abc3d2845ce3dab2b35bb53d859e0d8a03823a87f035d57c252237c997cd983e70f58b2fcf9a721b1e8ded257398814fdc9af69757f7027f058801155f8f5ee7652b15787bcb5882dad01a82011dbbe94ab38b0117e3cbb24e69d22bd4eec21918e3095d8fd1b716493b9fa053c7227d0d43c3ff5fed28289c4457561bc521b43f93a7df724b69ea9576f30d026727a276c41b95f4fa1862e4694b7f21c3fcf16f4a5cc496646508a7b35415f68b40251a9fa4355a8318f34bb0904edbd7cf21024c5b5141ddaad3d600962348c311788f71c3ab8512999874bf651734f6e57d05bdfcbafc4da352ffd004c27565010b7ad3deb6914a9a9260e19623430ae538fa39f936f25d369b6094079f8ea7c510132563f5b31a88467436e78cf9fcf0207e5d29bfe92f1b8d6642a63c4e03b5cc1514ab990423222216d3d9fda362a2c9f1d631158e085c25e20d6c9d31886271012eb46587f0e23a2da22aef1e2c11d3ed6710cf876e8df3c71002509345d329b9e3a618b44c7665528db4d2b0595f2e7989cf6720dc17f6042f8187d1e54fdbb653f5f02dba00feebf73cd7370b494790b1d2fd5f9e905319a0b1258248fe7b04080de14668aadb52911125882befd99346851dd5dc1f27c212ae3797a3057197a2c329c691293e74180c1e0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03570101ffffffff023057050000000000232103b5ca53d1dbbc1f9896f3a5fd59715d066f98cecc1f15dfc33d0762f8409e29ddaccc5501000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block-test-0-000-008.txt b/zebra-test/src/vectors/block-test-0-000-008.txt new file mode 100644 index 00000000000..5d562addc06 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-008.txt @@ -0,0 +1 @@ +040000009602d22138bce598c396bc4691d4cef0b67fd3a7f84a9a35a60d921881052f0343a443c43f281258a8aba067ddb775c1423ffdecf0007273d8c908e22b98f8290000000000000000000000000000000000000000000000000000000000000000cd951358ffff072001000d3233ddab5818d448041684dfe38f0448cf2e12ea44818478f35ad70000fd40050068d4c9b1c19f884b49d8bcc74b398a97a1ba17d028602fab3820f2ad2f194345c73555f1079fb5a93c33f15ebe85f99efbebd349cb78e27e369ccd9642e5581a7f9c9c180b92c56f86890d71a7bb7f2fbd84470650fe26fdc7fb55c5f7c221137252711e4cb483710e12590419661ed14a0624aad7e094d9e29a19eba116c0cd3eeb2245839d29668aad5b16a31aaf5b16c829c1d4d26e99a7c55a1543c060e783e57cfb2fc6ec00793892031eed07a0f0e170e9f47bfdf7e897dea319ecb7f5b53976c9e72c8911bd50677b16635fc5b80e4c0ee0334ef5a771ffc639fff15a05b4c9b39f201743ec30206e119f8aa33489b5b084ea75d7d41ac500d17ed2ebb78389fe67f1c4617c6e632ce6dcbb471b1ea11fbc19e969dcdf424286ff213974253b03e3061ba25a92f40b81d68d956fd5bef0e6693ebabfae156f1a224a8ff9ef4542a460ce78e5522e4c9bbe3707cfb6920aeebdf1edd85205b617a96564ab6c723639f3a49b5727d8cd447e640ff73deee9357e92b39709509b9ee5026126fbad62587a25b1349a4c4c54dd108aabb1ae9c444592087176e830e3acc4a113d4f90c5cc9c995138f2aef85f63566ee8de29d249aae0f1920ce13b3212e0b4d1288093dd12d9eec457921eb1262ef1f39e3e50931ca65d9ab78d439eff1b071975691dce80e60933f9f7335deb24700a61f7f5ed69a11e73e9c6914627b80d2e46dd376d3e5ee3db07ceb178a3e052020097d73bba236a7df20c4b41c14c8b914f80662cc4b5e1fa237372ad7c57cc332933dadb831e354619e536c3b896ec36a42497ec4ffec111f52130bb497f2c5710356d795a2eb7c6ac1c20e9bcfc4318e63e71a5b3e3bc3eb16bcfb3c4e71b677cfa3e81560ad909ce362c9835371ac6226b344b22c94936317970aa653cd54e1d20124a868e4d215593d32e55e0101cac9690ed901e9af411e6dd9108050a6e3e07d17918526a86a6f2be652f427367c10b9f8679eba7a18ddb2614ac7479f0ce6c42f3c35852a76c99f8b2f2e069ed13718d3133ed225b0b8b2f68a56225e2f81019034eb9d031ca9a66567dd68729e86b6295cb9350df1087aad8a34dfc8e694a83acb39d97726b378ee0d236f6ee7b19dabbd5887fa9ad439d6a87d1e10714b98a5e459727205fdf6150735ed8035f8d6567c820594328f51754a65d0a7935cabc17871f0ccb3b66c2654cb2ab4e459b9d9f983af5b49486e60b615290e0843f9fe528aee3dfa74959ae3cc1601d94efe1c2d164be7ad17de0e15f12f22a6d8b0ee4d89276c55950e8c83a465050b926a94e5203e7f6109b298717dab18d95e2dda7a19a1d61a433c02efda5db75ed97900101ea48cf890a91cc706927dd6769bce34725b4b6e18837c71c665f41bebce22aa2350d679c1b5b4682001a7ebb73e1f3c8d7281f0cb95e684f061d5c3b52104888bc1a37733d1bc5ba389875a93154937afe8733806b633444f26370b96341ea36205929b52f4efca5615e65cf660ec815b0978dceed6b89bc417de3d6904a91219b0882803431c10665b399e6aa130b8e66c1edaef47b50c5137ea7fd60c576e5d4d86d370185114808256ec1a9fd9d0fd46686bf0046eec525870bc33bed6dc74d115774f0b7496c9455155c2ee1bfa390caa737e5acca8772e3ef25d6e7c7c475c25fcf75e31d65f94671f709d5261b3955b504ede2d6c9fd0fc19e3169a46983296fa0601cab0765b44843f857b4c1c365179e660b0f5107982d0ce23fad13b372c95541389068b709b47cb4c4e884a83696c562ded73b67e271ff5db14a3122d35f4652f05548bc7d179beaf962bf2cb85d15c569755534335ad4ed7a8fc447cc240320a4472e31db763ac1643b1a6f55a2dd2b3b7e91f0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03580102ffffffff02801a0600000000002321035e017ce17274f75539e35e93ffaae48b91c2cbdf1a982fe37a7ff0e97cac9b19aca08601000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block-test-0-000-009.txt b/zebra-test/src/vectors/block-test-0-000-009.txt new file mode 100644 index 00000000000..5f5b4d9cd99 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-009.txt @@ -0,0 +1 @@ +040000003dae23446feb7b12c2d68c735985ea2d7667208ff684d86877c989dd32d5a4051c78590780f87bccbc7eb483f92fce9f2236c3c3cb729461a02af7f5dc40ec9e00000000000000000000000000000000000000000000000000000000000000007d971358ffff0720000022fa6efc3e750a2fa56348232d3cd50ed5d1f75ef6c9de076cff4f140000fd4005003cb52025dcd523b0117646aae7559dd7ca35723a2f51fbd4dbb2c9c3c942440f12db079327cd194d880a480311552574bb88a5e24a03bf9d2d4ca65fb08018e792142f67ee85876cc4a647ab3a7dcff28e882f04ac6c8142d22e00ad7e107147450ed025249d1b473dcafbbc809bf88f5ba2c453b2e31c4efb1ebd35ee085295c73612c04b6e33830878ecf01273d053a8970ac581dcd90603d75931d134f8b75935f276930e0413f87d7b02cd628d0d9193f660d53c461885fc690d2c245642eb4e3c1111bfa435e2b7c736c3529ed3d82a9022b0621dfc2bc24eb68ffbc68fee434a7eaa36349ac4b1e50df379ab36b3d260a915f2c7a1bf3dba193cca15ab50d57541a074c491fd14b534afd063d8256e8bb658e5e2854026034b94f0b0cd1975787c002d7acd8ab4d162ddc9a6c5669eecd67167ca5428f13b0867c0991f7b2fe36a14a1044cb21adc911c9dc000882047ea81b8bd946601f5319287063c2637f23c0cc18439ad83a6ac6275a450faf35211ab8f1053ff40b28320ac27f2c196b148fbe2d798ea59ecd8d1a261b56c148021eab1a6bb36b3a6d50ae1db4cf0f5f6026253433a4e3a3bb431d0e78cc831706530fc2f4c69a24e602fdb562736ff7be4f7ebcdbb09d57d5baa037ba9176e1784d4bcd6a284d8e127ba5692bd82601e382a8a6d9ca04322c983200758f693ac515e76f00d2a87fab1917c0d1c9901397630d75583ba529c8a3999fd5fff0ed6573268190dbb782be286b5fd208b19f4237dc7509875509ba5c85ec5a97ef432394f911eb3650550d4bd21ca5de624c5c68a6e2536ffe21b1376ff143e237ff1f131317e9c7261530a39dc5d443f019361159a55e3f08218bd8350eceba5d77ff9141a0804c89a86ff068605ac0d316b42f78c52feee072b4324b959d37f6382c9858b054f8dd3002918faa900584e6faa8aa2e586f8721015a2e52d5b1db2fc2213a193a312b1f985f4e60614ff78f4f9f811f77f8d0a03c6a48d6f74e3d395e5913be4b9e24f6ef3928840e0eb2fbd95a6f0ca9ab74d9f3c835e4f4a9837bf04fe86597be6a74bee251112a6a3f958bd09c9aeb5600acb83da6b93f3fa5f8659a3cf2fb9c9991dda9f0d798e88dd45a6aa9ed86747cdd3604237bad9cdaa2426cf3eec6dce9198ae72bf6f58fcfa2cfb5feadd0b9819443a11c97fee8c93a062f58f758105b5f23c1898e3045e4c62f55e44860d3255d851a3dfff492a15a7860ab46916d37dd3f60b713ef92e489b77da6767717431226304c19860b79c776b797e83c65abe7c1bc1a2ce188da1d6c4ce444a63708862de34d99e5c4cdb3d35c36130b751e935fe9335c555c55693308037c42dea27924cb391bf45c427b8fc966f4d1fa72e48278c3449e45f71d6a6798ddffbfedbabafffa378012c6367fddeb097bc4341565045ee95d3ab5dbfee14f8ae724d0827fa7226e37ef24c96bd8b3efac033185a8b91be31f2adff36a80ff27a02f2adb8de9a5c1a54e8fe1f628871e9a9c7dfe166d9628bdbf7f97a149c360049b24d25e26f23d38153e1c6a34cfe32cf2c1163131d18d1b4eec2536580454395957eb806ae328045e5d762137533d1958a94545a096cde5377403c8cb67cfcaa7163dd72a76bb0bc46bdf187919daa028157918c905a5302d0906bf81b24188d1a33190a15a629d437956520ede9543ba12bd5818f205eb43f225762c39df2ab43fee6527e8ce3e222f4575bd2f86aa95cd3eb338725ed291987e3cf85130bf49bdab50433a5e8a10f096900a73114c429aec5ca2732f98e21546588d54d271ebf75a5504df0c13185b29e32820a473181480933a083fe01d60264c380ca4c8825010e5945d09d0dd78c950ee401e8f0d6e1474aefc9f40101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff03590101ffffffff02d0dd060000000000232103aa5dc719593db872a724acc3b73f1aa9b9f27ef495732a610ba1a1c7a26bbbefac74b701000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block-test-0-000-010.txt b/zebra-test/src/vectors/block-test-0-000-010.txt new file mode 100644 index 00000000000..75df3c1ec51 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-000-010.txt @@ -0,0 +1 @@ +04000000b6088ea3f1c30d9ab14b551f18fca4441ff4fd8f723b82bb901b981bcdcc35022edaa1188cc82324f77ab6c52d37a30c2837b4c985681beae1256c321b188738000000000000000000000000000000000000000000000000000000000000000081971358ffff07200100059812b5da85543a1c4f96478e93a3b4184d3bce80d12d78bb5e6c660000fd40050021f6b9661ee6bfa83b25520fc1df97c3195e9bef12938416af931943089413c5a4a087a5e206966ab5164dd67522722751c2c5d495053ee06e3d6a5bd0a618ef0a831fe75f9197dab273a2c6a06e3f971d8a9a0afced428e66788b8dd0b33c5a5f8ec6d23078d07c20b10ed32b332cddbb3a064189c075d2013058d8780bc22509cf247ba330688798624785066e261517a610d77a3ead8b74dcde5ad6106bc933c9c4213dd03214746b7fe9e9ccebe69163b72fd759d0febd5accd023b451f32763851bfd5f72a995f0ca9546301ac5ab24c13636f49cf37db96a2375f8db3fa4fcc59faa1766f3e5518aadac05acb6f6a96bf69cb263a4deafc014e09332adb0feffa613a5066ba8e2eeceee3916a751ea0dd1f46b3c89a2a82547903dd4879dfcbd682622d96a55e7ce956d4c01f7b3af737d9e6bcb1bd6b527aac51e018aa88dbdfc3cc45071036fd1ba1f1b4b03a27207262b13855a31823980a5030d0c033fcb532ee2a626d714e883442ac6082fdd6126808cfee394164adf1a26cd01df48bc05e2cc627b5398dcde9edb242486e9679db29334b5e5aae5f8c6ae10c1dd9df305e827c6a7887bf784d601a21313c37e4a309a9ef013cf328e17dd41710839926b065902e49f39e8c67b0e88a4fbbac3f5cc5b15b656c4e32706395857fb3a2da5a6b76aec7b598898d7687a692f1af67c9f3e370d3c42c06c3d1e37fe2a547de0df7aa9e70e51fdb432ebab7730996cbddd01b37b5aa87026c3f2b7eb7f1ad4ca08d691c7fff8ad77e1efddeafed82f3835363046f643c5b34ff9f581971d8dc26085cec7743937129cd2e45a8fc47f5b05418f015012ca372c74b5902ba95efb568f47c484c594c920b5b0a39d0b1ede7e3a169d9daa6303738276b4be2e5423c2253b7a36844c627dd4189b70e73cd04610fed6dc7246645e5de10109fdb2d7d469b974ca406a1dd928d82890d64a5a19fbe150bc2834c7e22012b9eb5d3644c361da345b0ce38a0e87edb1bda4d665f09dfeb285d9c51062f022710fc6fb4a51d14557456eccea5a464c3d1a924c0af371e9f8573fe12ac461aab171214de83cfe36610d28a3feca0e9712adf1031b94e9d2170d0199cd7d10ccbe569488ea824c1362ea2a7d515186bf11b7eb4d7d62e9b5d7bdf76edb49897160d076dd64b8b0910266ea9a158a50f5be0923c5fb1f246aafa17cc25d113ec4fce458c943d68462c15fc10a39d6a7fefed0336c2f09d216f84ba3216504903ac5ba3920f943703451d7a4855944f534cef72abaee55fdf7c29a224f03880999f91a73ab594e51fe7f184a90d87648bdb52585d18c264ee201161732b2db56acb4c3401df3970574e5493acbc82a8682e59f136a09176e547de26a1b3863351787c581760081b3dc3a1fa517f6162ef305845a8dfdcbf948a713d1b49bb103657a38151cd6320fb6a181d48c5ff88063dd6cf69de225f0361d241603596ee3e647dbc50b559a1e5c35c1cf6dde923226312faafd3be345ed5229bcf4fdbe0f0191fd294d08542cd3cf095e6ad52e81796a225964614f189aca10186d975ed9d65d8563b1968bca4d41b5b69fa0de1f3e49415a24b97f58b3d2b6fdd0f1fdb6c2de99aa2de3cfa3e5e9503b60d98790956c16fa3cf2de56570ae43d32dcb20fdfa286846a3d348f9b7204fbe7930c2e29ae6dd2e917d457b26c187c36e282a09efcf918286f6920604843ad0446f3074168838bd97ec08874d5971491dddeadd6060c12b9738b8f0964f9649e168ff378340c780bcd7478ae32dc74fb604fdb22a55849a7f0c763207d6a35a9071567925a4c12d3b3a2182f38d2c8882627ab9dc18f0f9077e972c1306fc21d90b9c259235677ac31f60415e20bb65426d5308a0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff035a0101ffffffff0220a1070000000000232103a42464b10ec3441beddd662ba25898dd244e7dacc4f06c01a23af82decf95759ac48e801000000000017a914ef775f1f997f122a062fff1a2d7443abd1f9c6428700000000 diff --git a/zebra-test/src/vectors/block.rs b/zebra-test/src/vectors/block.rs new file mode 100644 index 00000000000..07d564ab0e0 --- /dev/null +++ b/zebra-test/src/vectors/block.rs @@ -0,0 +1,108 @@ +//! Block test vectors + +use hex::FromHex; +use lazy_static::lazy_static; + +// Mainnet +// +// for i in `seq 0 9`; do +// zcash-cli getblock $i 0 > main-0-000-00$i.txt +// done +const BLOCK_MAINNET_GENESIS_HEX: &str = include_str!("block-main-0-000-000.txt"); +const BLOCK_MAINNET_1_HEX: &str = include_str!("block-main-0-000-001.txt"); +const BLOCK_MAINNET_2_HEX: &str = include_str!("block-main-0-000-002.txt"); +const BLOCK_MAINNET_3_HEX: &str = include_str!("block-main-0-000-003.txt"); +const BLOCK_MAINNET_4_HEX: &str = include_str!("block-main-0-000-004.txt"); +const BLOCK_MAINNET_5_HEX: &str = include_str!("block-main-0-000-005.txt"); +const BLOCK_MAINNET_6_HEX: &str = include_str!("block-main-0-000-006.txt"); +const BLOCK_MAINNET_7_HEX: &str = include_str!("block-main-0-000-007.txt"); +const BLOCK_MAINNET_8_HEX: &str = include_str!("block-main-0-000-008.txt"); +const BLOCK_MAINNET_9_HEX: &str = include_str!("block-main-0-000-009.txt"); +// zcash-cli getblock 10 0 > block-main-0-000-010.txt +const BLOCK_MAINNET_10_HEX: &str = include_str!("block-main-0-000-010.txt"); + +// zcash-cli getblock 415000 0 > block-main-0-415-000.txt +const BLOCK_MAINNET_415000_HEX: &str = include_str!("block-main-0-415-000.txt"); +// zcash-cli getblock 434873 0 > block-main-0-434-873.txt +const BLOCK_MAINNET_434873_HEX: &str = include_str!("block-main-0-434-873.txt"); + +// Testnet +// +// for i in `seq 0 9`; do +// zcash-cli -testnet getblock $i 0 > block-test-0-000-00$i.txt +// done +const BLOCK_TESTNET_GENESIS_HEX: &str = include_str!("block-test-0-000-000.txt"); +const BLOCK_TESTNET_1_HEX: &str = include_str!("block-test-0-000-001.txt"); +const BLOCK_TESTNET_2_HEX: &str = include_str!("block-test-0-000-002.txt"); +const BLOCK_TESTNET_3_HEX: &str = include_str!("block-test-0-000-003.txt"); +const BLOCK_TESTNET_4_HEX: &str = include_str!("block-test-0-000-004.txt"); +const BLOCK_TESTNET_5_HEX: &str = include_str!("block-test-0-000-005.txt"); +const BLOCK_TESTNET_6_HEX: &str = include_str!("block-test-0-000-006.txt"); +const BLOCK_TESTNET_7_HEX: &str = include_str!("block-test-0-000-007.txt"); +const BLOCK_TESTNET_8_HEX: &str = include_str!("block-test-0-000-008.txt"); +const BLOCK_TESTNET_9_HEX: &str = include_str!("block-test-0-000-009.txt"); +// zcash-cli -testnet getblock 10 0 > block-test-0-000-010.txt +const BLOCK_TESTNET_10_HEX: &str = include_str!("block-test-0-000-010.txt"); + +lazy_static! { + pub static ref TEST_BLOCKS: Vec<&'static [u8]> = vec![ + &BLOCK_MAINNET_GENESIS_BYTES, + &BLOCK_MAINNET_1_BYTES, + &BLOCK_MAINNET_415000_BYTES, + &BLOCK_MAINNET_434873_BYTES + ]; + pub static ref BLOCK_MAINNET_GENESIS_BYTES: Vec = + >::from_hex(BLOCK_MAINNET_GENESIS_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_1_BYTES: Vec = >::from_hex(BLOCK_MAINNET_1_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_2_BYTES: Vec = >::from_hex(BLOCK_MAINNET_2_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_3_BYTES: Vec = >::from_hex(BLOCK_MAINNET_3_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_4_BYTES: Vec = >::from_hex(BLOCK_MAINNET_4_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_5_BYTES: Vec = >::from_hex(BLOCK_MAINNET_5_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_6_BYTES: Vec = >::from_hex(BLOCK_MAINNET_6_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_7_BYTES: Vec = >::from_hex(BLOCK_MAINNET_7_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_8_BYTES: Vec = >::from_hex(BLOCK_MAINNET_8_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_9_BYTES: Vec = >::from_hex(BLOCK_MAINNET_9_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_10_BYTES: Vec = + >::from_hex(BLOCK_MAINNET_10_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_415000_BYTES: Vec = + >::from_hex(BLOCK_MAINNET_415000_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_434873_BYTES: Vec = + >::from_hex(BLOCK_MAINNET_434873_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_GENESIS_BYTES: Vec = + >::from_hex(BLOCK_TESTNET_GENESIS_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_1_BYTES: Vec = >::from_hex(BLOCK_TESTNET_1_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_2_BYTES: Vec = >::from_hex(BLOCK_TESTNET_2_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_3_BYTES: Vec = >::from_hex(BLOCK_TESTNET_3_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_4_BYTES: Vec = >::from_hex(BLOCK_TESTNET_4_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_5_BYTES: Vec = >::from_hex(BLOCK_TESTNET_5_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_6_BYTES: Vec = >::from_hex(BLOCK_TESTNET_6_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_7_BYTES: Vec = >::from_hex(BLOCK_TESTNET_7_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_8_BYTES: Vec = >::from_hex(BLOCK_TESTNET_8_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_9_BYTES: Vec = >::from_hex(BLOCK_TESTNET_9_HEX.trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_10_BYTES: Vec = + >::from_hex(BLOCK_TESTNET_10_HEX.trim()) + .expect("Block bytes are in valid hex representation"); +} From 0851123706c1505de23f49e9c6cd4180dc2edd62 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 24 Sep 2020 22:48:17 +1000 Subject: [PATCH 02/10] Reword some test vector except messages Also: * tidy up some formatting * add some comments --- zebra-test/src/vectors.rs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/zebra-test/src/vectors.rs b/zebra-test/src/vectors.rs index 879dde58ea2..66871d5c0af 100644 --- a/zebra-test/src/vectors.rs +++ b/zebra-test/src/vectors.rs @@ -236,18 +236,23 @@ pub const GENERIC_TESTNET_TX: [u8; 2005] = [ ]; lazy_static! { - pub static ref DUMMY_HEADER : Vec = >::from_hex("040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003d000000000000000000000000000000000000000000000000000000000000000000000000000000fd4005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").expect("Header bytes are in valid hex representation"); - pub static ref DUMMY_TX1 : Vec = >::from_hex("01000000019921d81f33e0c8b53a23d2e60643807bfe00e59fbb5f3d3e6fba20e73c2049a00000000000ffffffff0140420f00000000001976a914588cff9d4339d754758ade214b3edc69ce57b7f588ac00000000").expect("Block bytes are in valid hex representation"); - pub static ref DUMMY_INPUT1 : Vec = >::from_hex("1d322261f61dd7093b1880b735152cf0ed19beabee374046e69559c9fb8858bba0000000000ffffffff0").expect("Input bytes are in valid hex representation"); - pub static ref DUMMY_OUTPUT1 : Vec = >::from_hex("0140420f00000000001976a914588cff9d4339d754758ade214b3edc69ce57b7f588ac").expect("Output bytes are in valid hex representation"); + pub static ref DUMMY_HEADER: Vec = >::from_hex("040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003d000000000000000000000000000000000000000000000000000000000000000000000000000000fd4005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").expect("Header bytes are in valid hex representation"); + + // Generated transaction test vectors + pub static ref DUMMY_TX1: Vec = >::from_hex("01000000019921d81f33e0c8b53a23d2e60643807bfe00e59fbb5f3d3e6fba20e73c2049a00000000000ffffffff0140420f00000000001976a914588cff9d4339d754758ade214b3edc69ce57b7f588ac00000000").expect("Transaction bytes are in valid hex representation"); + pub static ref DUMMY_INPUT1: Vec = >::from_hex("1d322261f61dd7093b1880b735152cf0ed19beabee374046e69559c9fb8858bba0000000000ffffffff0").expect("Transaction input bytes are in valid hex representation"); + pub static ref DUMMY_OUTPUT1: Vec = >::from_hex("0140420f00000000001976a914588cff9d4339d754758ade214b3edc69ce57b7f588ac").expect("Transaction output bytes are in valid hex representation"); + + // ZIP transaction test vectors + // // https://github.com/zcash/zips/blob/master/zip-0143.rst#test-vector-1 - pub static ref ZIP143_1 : Vec = >::from_hex("030000807082c4030002e7719811893e0000095200ac6551ac636565b2835a0805750200025151481cdd86b3cc431800").expect("Transaction bytes are in valid hex representation"); + pub static ref ZIP143_1: Vec = >::from_hex("030000807082c4030002e7719811893e0000095200ac6551ac636565b2835a0805750200025151481cdd86b3cc431800").expect("Transaction bytes are in valid hex representation"); // https://github.com/zcash/zips/blob/master/zip-0143.rst#test-vector-2 - pub static ref ZIP143_2 : Vec = >::from_hex("030000807082c403024201cfb1cd8dbf69b8250c18ef41294ca97993db546c1fe01f7e9c8e36d6a5e29d4e30a703ac6a0098421c69378af1e40f64e125946f62c2fa7b2fecbcb64b6968912a6381ce3dc166d56a1d62f5a8d7056363635353e8c7203d02d2da86387ae60100080063656a63ac5200a7622997f4ff0400075151005353656597b0e4e4c705fc05020000000000000000000000000000000076495c222f7fba1e31defa3d5a57efc2e1e9b01a035587d5fb1a38e01d94903d3c3e0ad3360c1d3710acd20b183e31d49f25c9a138f49b1a537edcf04be34a9851a7af9db6990ed83dd64af3597c04323ea51b0052ad8084a8b9da948d320dadd64f5431e61ddf658d24ae67c22c8d1309131fc00fe7f235734276d38d47f1e191e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476f21a482ec9378365c8f7393c94e2885315eb4671098b79535e790fe53e29fef2b3766697ac32b4f473f468a008e72389fc03880d780cb07fcfaabe3f1a84b27db59a4a153d882d2b2103596555ed9494c6ac893c49723833ec8926c1039586a7afcf4a0d9c731e985d99589c03b838e8aaf745533ed9e8ae3a1cd074a51a20da8aba18d1dbebbc862ded42435e02476930d069896cff30eb414f727b89e001afa2fb8dc3436d75a4a6f26572504b0b2232ecb9f0c02411e52596bc5e90457e745939ffedbd12863ce71a02af117d417adb3d15cc54dcb1fce467500c6b8fb86b12b56da9c382857deecc40a98d5f2903395ee4762dd21afdbb5d47fa9a6dd984d567db2857b927b7fae2db587105415d0242789d38f50b8dbcc129cab3d17d19f3355bcf73cecb8cb8a5da01307152f13902a270572670dc82d39026c6cb4cd4b0f7f5aa2a4f5a5341ec5dd715406f2fdd2a02733f5f641c8c21862a1bafce2609d9eecfa158cfb5cd79f88008e315dc7d8388036c1782fd2795d18a763624c25fa959cc97489ce75745824b77868c53239cfbdf73caec65604037314faaceb56218c6bd30f8374ac13386793f21a9fb80ad03bc0cda4a44946c00e1b1a1df0e5b87b5bece477a709649e950060591394812951e1fe3895b8cc3d14d2cf6556df6ed4b4ddd3d9a69f53357d7767f4f5ccbdbc596631277f8fecd08cb056b95e3025b9792fff7f244fc716269b926d62e9596fa825c6bf21aff9e68625a192440ea06828123d97884806f15fa08da52754a1095e3ff1abd5ce4fddfccfc3a6128aef784a64610a89d1a7099216d0814d3a2d452431c32d411ac1cce82ad0229407bbc48985675e3f874a4533f1d63a84dfa3e0f460fe2f57e34fbc75423c3737f5b2a0615f5722db041a3ef66fa483afd3c2e19e59444a64add6df1d963f5dd5b5010d3d025f0287c4cf19c75f33d51ddddba5d657b43ee8da645443814cc7329f3e9b4e54c236c29af3923101756d9fa4bd0f7d2ddaacb6b0f86a2658e0a07a05ac5b950051cd24c47a88d13d659ba2a46ca1830816d09cd7646f76f716abec5de07fe9b523410806ea6f288f8736c23357c85f45791e1708029d9824d90704607f387a03e49bf9836574431345a7877efaa8a08e73081ef8d62cb780ab6883a50a0d470190dfba10a857f82842d3825b3d6da0573d316eb160dc0b716c48fbd467f75b780149ae8808f4e68f50c0536acddf6f1aeab016b6bc1ec144b4e553acfd670f77e755fc88e0677e31ba459b44e307768958fe3789d41c2b1ff434cb30e15914f01bc6bc2307b488d2556d7b7380ea4ffd712f6b02fe806b94569cd4059f396bf29b99d0a40e5e1711ca944f72d436a102fca4b97693da0b086fe9d2e7162470d02e0f05d4bec9512bfb3f38327296efaa74328b118c27402c70c3a90b49ad4bbc68e37c0aa7d9b3fe17799d73b841e751713a02943905aae0803fd69442eb7681ec2a05600054e92eed555028f21b6a155268a2dd6640a69301a52a38d4d9f9f957ae35af7167118141ce4c9be0a6a492fe79f1581a155fa3a2b9dafd82e650b386ad3a08cb6b83131ac300b0846354a7eef9c410e4b62c47c5426907dfc6685c5c99b7141ac626ab4761fd3f41e728e1a28f89db89ffdeca364dd2f0f0739f0534556483199c71f189341ac9b78a269164206a0ea1ce73bfb2a942e7370b247c046f8e75ef8e3f8bd821cf577491864e20e6d08fd2e32b555c92c661f19588b72a89599710a88061253ca285b6304b37da2b5294f5cb354a894322848ccbdc7c2545b7da568afac87ffa005c312241c2d57f4b45d6419f0d2e2c5af33ae243785b325cdab95404fc7aed70525cddb41872cfcc214b13232edc78609753dbff930eb0dc156612b9cb434bc4b693392deb87c530435312edcedc6a961133338d786c4a3e103f60110a16b1337129704bf4754ff6ba9fbe65951e610620f71cda8fc877625f2c5bb04cbe1228b1e886f4050afd8fe94e97d2e9e85c6bb748c0042d3249abb1342bb0eebf62058bf3de080d94611a3750915b5dc6c0b3899d41222bace760ee9c8818ded599e34c56d7372af1eb86852f2a732104bdb750739de6c2c6e0f9eb7cb17f1942bfc9f4fd6ebb6b4cdd4da2bca26fac4578e9f543405acc7d86ff59158bd0cba3aef6f4a8472d144d99f8b8d1dedaa9077d4f01d4bb27bbe31d88fbefac3dcd4797563a26b1d61fcd9a464ab21ed550fe6fa09695ba0b2f10e00000000000000000000000000000000ea6468cc6e20a66f826e3d14c5006f0563887f5e1289be1b2004caca8d3f34d6e84bf59c1e04619a7c23a996941d889e4622a9b9b1d59d5e319094318cd405ba27b7e2c084762d31453ec4549a4d97729d033460fcf89d6494f2ffd789e98082ea5ce9534b3acd60fe49e37e4f666931677319ed89f85588741b3128901a93bd78e4be0225a9e2692c77c969ed0176bdf9555948cbd5a332d045de6ba6bf4490adfe7444cd467a09075417fcc0062e49f008c51ad4227439c1b4476ccd8e97862dab7be1e8d399c05ef27c6e22ee273e15786e394c8f1be31682a30147963ac8da8d41d804258426a3f70289b8ad19d8de13be4eebe3bd4c8a6f55d6e0c373d456851879f5fbc282db9e134806bff71e11bc33ab75dd6ca067fb73a043b646a70339cab4928386786d2f24141ee120fdc34d6764eafc66880ee0204f53cc1167ed02b43a52dea3ca7cff8ef35cd8e6d7c111a68ef44bcd0c1513ad47ca61c659cc5d0a5b440f6b9f59aff66879bb6688fd2859362b182f207b3175961f6411a493bffd048e7d0d87d82fe6f990a2b0a25f5aa0111a6e68f37bf6f3ac2d26b84686e569038d99c1383597fad81193c4c1b16e6a90e2d507cdfe6fbdaa86163e9cf5de310003ca7e8da047b090db9f37952fbfee76af61668190bd52ed490e677b515d0143840307219c7c0ee7fc7bfc79f325644e4df4c0d7db08e9f0bd024943c705abff899403a605cfbc7ed746a7d3f7c37d9e8bdc433b7d79e08a12f738a8f0dbddfef2f26502f3e47d1b0fd11e6a13311fb799c79c641d9da43b33e7ad012e28255398789262275f1175be8462c01491c4d842406d0ec4282c9526174a09878fe8fdde33a29604e5e5e7b2a025d6650b97dbb52befb59b1d30a57433b0a351474444099daa371046613260cf3354cfcdada663ece824ffd7e44393886a86165ddddf2b4c41773554c86995269408b11e6737a4c447586f69173446d8e48bf84cbc000a807899973eb93c5e819aad669413f8387933ad1584aa35e43f4ecd1e2d0407c0b1b89920ffdfdb9bea51ac95b557af71b89f903f5d9848f14fcbeb1837570f544d6359eb23faf38a0822da36ce426c4a2fbeffeb0a8a2e297a9d19ba15024590e3329d9fa9261f9938a4032dd34606c9cf9f3dd33e576f05cd1dd6811c6298757d77d9e810abdb226afcaa4346a6560f8932b3181fd355d5d391976183f8d99388839632d6354f666d09d3e5629ea19737388613d38a34fd0f6e50ee5a0cc9677177f50028c141378187bd2819403fc534f80076e9380cb4964d3b6b45819d3b8e9caf54f051852d671bf8c1ffde2d1510756418cb4810936aa57e6965d6fb656a760b7f19adf96c173488552193b147ee58858033dac7cd0eb204c06490bbdedf5f7571acb2ebe76acef3f2a01ee987486dfe6c3f0a5e234c127258f97a28fb5d164a8176be946b8097d0e317287f33bf9c16f9a545409ce29b1f4273725fc0df02a04ebae178b3414fb0a82d50deb09fcf4e6ee9d180ff4f56ff3bc1d3601fc2dc90d814c3256f4967d3a8d64c83fea339c51f5a8e5801fbb97835581b602465dee04b5922c2761b54245bec0c9eef2db97d22b2b3556cc969fbb13d06509765a52b3fac54b93f421bf08e18d52ddd52cc1c8ca8adfaccab7e5cc2f4573fbbf8239bb0b8aedbf8dad16282da5c9125dba1c059d0df8abf621078f02d6c4bc86d40845ac1d59710c45f07d585eb48b32fc0167ba256e73ca3b9311c62d109497957d8dbe10aa3e866b40c0baa2bc492c19ad1e6372d9622bf163fbffeaeee796a3cd9b6fbbfa4d792f34d7fd6e763cd5859dd26833d21d9bc5452bd19515dff9f4995b35bc0c1f876e6ad11f2452dc9ae85aec01fc56f8cbfda75a7727b75ebbd6bbffb43b63a3b1b671e40feb0db002974a3c3b1a788567231bf6399ff89236981149d423802d2341a3bedb9ddcbac1fe7b6435e1479c72e7089d029e7fbbaf3cf37e9b9a6b776791e4c5e6fda57e8d5f14c8c35a2d270846b9dbe005cda16af4408f3ab06a916eeeb9c9594b70424a4c1d171295b6763b22f47f80b53ccbb904bd68fd65fbd3fbdea1035e98c21a7dbc91a9b5bc7690f05ec317c97f8764eb48e911d428ec8d861b708e8298acb62155145155ae95f0a1d1501034753146e22d05f586d7f6b4fe12dad9a17f5db70b1db96b8d9a83edadc966c8a5466b61fc998c31f1070d9a5c9a6d268d304fe6b8fd3b4010348611abdcbd49fe4f85b623c7828c71382e1034ea67bc8ae97404b0c50b2a04f559e49950afcb0ef462a2ae024b0f0224dfd73684b88c7fbe92d02b68f759c4752663cd7b97a14943649305521326bde085630864629291bae25ff8822a14c4b666a9259ad0dc42a8290ac7bc7f53a16f379f758e5de750f04fd7cad47701c8597f97888bea6fa0bf2999956fbfd0ee68ec36e4688809ae231eb8bc4369f5fe1573f57e099d9c09901bf39caac48dc11956a8ae905ead86954547c448ae43d315e669c4242da565938f417bf43ce7b2b30b1cd4018388e1a910f0fc41fb0877a5925e466819d375b0a912d4fe843b76ef6f223f0f7c894f38f7ab780dfd75f669c8c06cffa43eb47565a50e3b1fa45ad61ce9a1c4727b7aaa53562f523e73952").expect("Transaction bytes are in valid hex representation"); + pub static ref ZIP143_2: Vec = >::from_hex("030000807082c403024201cfb1cd8dbf69b8250c18ef41294ca97993db546c1fe01f7e9c8e36d6a5e29d4e30a703ac6a0098421c69378af1e40f64e125946f62c2fa7b2fecbcb64b6968912a6381ce3dc166d56a1d62f5a8d7056363635353e8c7203d02d2da86387ae60100080063656a63ac5200a7622997f4ff0400075151005353656597b0e4e4c705fc05020000000000000000000000000000000076495c222f7fba1e31defa3d5a57efc2e1e9b01a035587d5fb1a38e01d94903d3c3e0ad3360c1d3710acd20b183e31d49f25c9a138f49b1a537edcf04be34a9851a7af9db6990ed83dd64af3597c04323ea51b0052ad8084a8b9da948d320dadd64f5431e61ddf658d24ae67c22c8d1309131fc00fe7f235734276d38d47f1e191e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476f21a482ec9378365c8f7393c94e2885315eb4671098b79535e790fe53e29fef2b3766697ac32b4f473f468a008e72389fc03880d780cb07fcfaabe3f1a84b27db59a4a153d882d2b2103596555ed9494c6ac893c49723833ec8926c1039586a7afcf4a0d9c731e985d99589c03b838e8aaf745533ed9e8ae3a1cd074a51a20da8aba18d1dbebbc862ded42435e02476930d069896cff30eb414f727b89e001afa2fb8dc3436d75a4a6f26572504b0b2232ecb9f0c02411e52596bc5e90457e745939ffedbd12863ce71a02af117d417adb3d15cc54dcb1fce467500c6b8fb86b12b56da9c382857deecc40a98d5f2903395ee4762dd21afdbb5d47fa9a6dd984d567db2857b927b7fae2db587105415d0242789d38f50b8dbcc129cab3d17d19f3355bcf73cecb8cb8a5da01307152f13902a270572670dc82d39026c6cb4cd4b0f7f5aa2a4f5a5341ec5dd715406f2fdd2a02733f5f641c8c21862a1bafce2609d9eecfa158cfb5cd79f88008e315dc7d8388036c1782fd2795d18a763624c25fa959cc97489ce75745824b77868c53239cfbdf73caec65604037314faaceb56218c6bd30f8374ac13386793f21a9fb80ad03bc0cda4a44946c00e1b1a1df0e5b87b5bece477a709649e950060591394812951e1fe3895b8cc3d14d2cf6556df6ed4b4ddd3d9a69f53357d7767f4f5ccbdbc596631277f8fecd08cb056b95e3025b9792fff7f244fc716269b926d62e9596fa825c6bf21aff9e68625a192440ea06828123d97884806f15fa08da52754a1095e3ff1abd5ce4fddfccfc3a6128aef784a64610a89d1a7099216d0814d3a2d452431c32d411ac1cce82ad0229407bbc48985675e3f874a4533f1d63a84dfa3e0f460fe2f57e34fbc75423c3737f5b2a0615f5722db041a3ef66fa483afd3c2e19e59444a64add6df1d963f5dd5b5010d3d025f0287c4cf19c75f33d51ddddba5d657b43ee8da645443814cc7329f3e9b4e54c236c29af3923101756d9fa4bd0f7d2ddaacb6b0f86a2658e0a07a05ac5b950051cd24c47a88d13d659ba2a46ca1830816d09cd7646f76f716abec5de07fe9b523410806ea6f288f8736c23357c85f45791e1708029d9824d90704607f387a03e49bf9836574431345a7877efaa8a08e73081ef8d62cb780ab6883a50a0d470190dfba10a857f82842d3825b3d6da0573d316eb160dc0b716c48fbd467f75b780149ae8808f4e68f50c0536acddf6f1aeab016b6bc1ec144b4e553acfd670f77e755fc88e0677e31ba459b44e307768958fe3789d41c2b1ff434cb30e15914f01bc6bc2307b488d2556d7b7380ea4ffd712f6b02fe806b94569cd4059f396bf29b99d0a40e5e1711ca944f72d436a102fca4b97693da0b086fe9d2e7162470d02e0f05d4bec9512bfb3f38327296efaa74328b118c27402c70c3a90b49ad4bbc68e37c0aa7d9b3fe17799d73b841e751713a02943905aae0803fd69442eb7681ec2a05600054e92eed555028f21b6a155268a2dd6640a69301a52a38d4d9f9f957ae35af7167118141ce4c9be0a6a492fe79f1581a155fa3a2b9dafd82e650b386ad3a08cb6b83131ac300b0846354a7eef9c410e4b62c47c5426907dfc6685c5c99b7141ac626ab4761fd3f41e728e1a28f89db89ffdeca364dd2f0f0739f0534556483199c71f189341ac9b78a269164206a0ea1ce73bfb2a942e7370b247c046f8e75ef8e3f8bd821cf577491864e20e6d08fd2e32b555c92c661f19588b72a89599710a88061253ca285b6304b37da2b5294f5cb354a894322848ccbdc7c2545b7da568afac87ffa005c312241c2d57f4b45d6419f0d2e2c5af33ae243785b325cdab95404fc7aed70525cddb41872cfcc214b13232edc78609753dbff930eb0dc156612b9cb434bc4b693392deb87c530435312edcedc6a961133338d786c4a3e103f60110a16b1337129704bf4754ff6ba9fbe65951e610620f71cda8fc877625f2c5bb04cbe1228b1e886f4050afd8fe94e97d2e9e85c6bb748c0042d3249abb1342bb0eebf62058bf3de080d94611a3750915b5dc6c0b3899d41222bace760ee9c8818ded599e34c56d7372af1eb86852f2a732104bdb750739de6c2c6e0f9eb7cb17f1942bfc9f4fd6ebb6b4cdd4da2bca26fac4578e9f543405acc7d86ff59158bd0cba3aef6f4a8472d144d99f8b8d1dedaa9077d4f01d4bb27bbe31d88fbefac3dcd4797563a26b1d61fcd9a464ab21ed550fe6fa09695ba0b2f10e00000000000000000000000000000000ea6468cc6e20a66f826e3d14c5006f0563887f5e1289be1b2004caca8d3f34d6e84bf59c1e04619a7c23a996941d889e4622a9b9b1d59d5e319094318cd405ba27b7e2c084762d31453ec4549a4d97729d033460fcf89d6494f2ffd789e98082ea5ce9534b3acd60fe49e37e4f666931677319ed89f85588741b3128901a93bd78e4be0225a9e2692c77c969ed0176bdf9555948cbd5a332d045de6ba6bf4490adfe7444cd467a09075417fcc0062e49f008c51ad4227439c1b4476ccd8e97862dab7be1e8d399c05ef27c6e22ee273e15786e394c8f1be31682a30147963ac8da8d41d804258426a3f70289b8ad19d8de13be4eebe3bd4c8a6f55d6e0c373d456851879f5fbc282db9e134806bff71e11bc33ab75dd6ca067fb73a043b646a70339cab4928386786d2f24141ee120fdc34d6764eafc66880ee0204f53cc1167ed02b43a52dea3ca7cff8ef35cd8e6d7c111a68ef44bcd0c1513ad47ca61c659cc5d0a5b440f6b9f59aff66879bb6688fd2859362b182f207b3175961f6411a493bffd048e7d0d87d82fe6f990a2b0a25f5aa0111a6e68f37bf6f3ac2d26b84686e569038d99c1383597fad81193c4c1b16e6a90e2d507cdfe6fbdaa86163e9cf5de310003ca7e8da047b090db9f37952fbfee76af61668190bd52ed490e677b515d0143840307219c7c0ee7fc7bfc79f325644e4df4c0d7db08e9f0bd024943c705abff899403a605cfbc7ed746a7d3f7c37d9e8bdc433b7d79e08a12f738a8f0dbddfef2f26502f3e47d1b0fd11e6a13311fb799c79c641d9da43b33e7ad012e28255398789262275f1175be8462c01491c4d842406d0ec4282c9526174a09878fe8fdde33a29604e5e5e7b2a025d6650b97dbb52befb59b1d30a57433b0a351474444099daa371046613260cf3354cfcdada663ece824ffd7e44393886a86165ddddf2b4c41773554c86995269408b11e6737a4c447586f69173446d8e48bf84cbc000a807899973eb93c5e819aad669413f8387933ad1584aa35e43f4ecd1e2d0407c0b1b89920ffdfdb9bea51ac95b557af71b89f903f5d9848f14fcbeb1837570f544d6359eb23faf38a0822da36ce426c4a2fbeffeb0a8a2e297a9d19ba15024590e3329d9fa9261f9938a4032dd34606c9cf9f3dd33e576f05cd1dd6811c6298757d77d9e810abdb226afcaa4346a6560f8932b3181fd355d5d391976183f8d99388839632d6354f666d09d3e5629ea19737388613d38a34fd0f6e50ee5a0cc9677177f50028c141378187bd2819403fc534f80076e9380cb4964d3b6b45819d3b8e9caf54f051852d671bf8c1ffde2d1510756418cb4810936aa57e6965d6fb656a760b7f19adf96c173488552193b147ee58858033dac7cd0eb204c06490bbdedf5f7571acb2ebe76acef3f2a01ee987486dfe6c3f0a5e234c127258f97a28fb5d164a8176be946b8097d0e317287f33bf9c16f9a545409ce29b1f4273725fc0df02a04ebae178b3414fb0a82d50deb09fcf4e6ee9d180ff4f56ff3bc1d3601fc2dc90d814c3256f4967d3a8d64c83fea339c51f5a8e5801fbb97835581b602465dee04b5922c2761b54245bec0c9eef2db97d22b2b3556cc969fbb13d06509765a52b3fac54b93f421bf08e18d52ddd52cc1c8ca8adfaccab7e5cc2f4573fbbf8239bb0b8aedbf8dad16282da5c9125dba1c059d0df8abf621078f02d6c4bc86d40845ac1d59710c45f07d585eb48b32fc0167ba256e73ca3b9311c62d109497957d8dbe10aa3e866b40c0baa2bc492c19ad1e6372d9622bf163fbffeaeee796a3cd9b6fbbfa4d792f34d7fd6e763cd5859dd26833d21d9bc5452bd19515dff9f4995b35bc0c1f876e6ad11f2452dc9ae85aec01fc56f8cbfda75a7727b75ebbd6bbffb43b63a3b1b671e40feb0db002974a3c3b1a788567231bf6399ff89236981149d423802d2341a3bedb9ddcbac1fe7b6435e1479c72e7089d029e7fbbaf3cf37e9b9a6b776791e4c5e6fda57e8d5f14c8c35a2d270846b9dbe005cda16af4408f3ab06a916eeeb9c9594b70424a4c1d171295b6763b22f47f80b53ccbb904bd68fd65fbd3fbdea1035e98c21a7dbc91a9b5bc7690f05ec317c97f8764eb48e911d428ec8d861b708e8298acb62155145155ae95f0a1d1501034753146e22d05f586d7f6b4fe12dad9a17f5db70b1db96b8d9a83edadc966c8a5466b61fc998c31f1070d9a5c9a6d268d304fe6b8fd3b4010348611abdcbd49fe4f85b623c7828c71382e1034ea67bc8ae97404b0c50b2a04f559e49950afcb0ef462a2ae024b0f0224dfd73684b88c7fbe92d02b68f759c4752663cd7b97a14943649305521326bde085630864629291bae25ff8822a14c4b666a9259ad0dc42a8290ac7bc7f53a16f379f758e5de750f04fd7cad47701c8597f97888bea6fa0bf2999956fbfd0ee68ec36e4688809ae231eb8bc4369f5fe1573f57e099d9c09901bf39caac48dc11956a8ae905ead86954547c448ae43d315e669c4242da565938f417bf43ce7b2b30b1cd4018388e1a910f0fc41fb0877a5925e466819d375b0a912d4fe843b76ef6f223f0f7c894f38f7ab780dfd75f669c8c06cffa43eb47565a50e3b1fa45ad61ce9a1c4727b7aaa53562f523e73952").expect("Transaction bytes are in valid hex representation"); // https://github.com/zcash/zips/blob/master/zip-0243.rst#test-vector-1 - pub static ref ZIP243_1 : Vec = >::from_hex("0400008085202f890002e7719811893e0000095200ac6551ac636565b2835a0805750200025151481cdd86b3cc4318442117623ceb0500031b3d1a027c2c40590958b7eb13d742a997738c46a458965baf276ba92f272c721fe01f7e9c8e36d6a5e29d4e30a73594bf5098421c69378af1e40f64e125946f62c2fa7b2fecbcb64b6968912a6381ce3dc166d56a1d62f5a8d7551db5fd931325c9a138f49b1a537edcf04be34a9851a7af9db6990ed83dd64af3597c04323ea51b0052ad8084a8b9da948d320dadd64f5431e61ddf658d24ae67c22c8d1309131fc00fe7f235734276d38d47f1e191e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476f21a482ec9378365c8f7393c94e2885315eb4671098b79535e790fe53e29fef2b3766697ac32b4f473f468a008e72389fc03880d780cb07fcfaabe3f1a84b27db59a4a153d882d2b2103596555ed9494c6ac893c49723833ec8926c1039586a7afcf4a0d9c731e985d99589c8bb838e8aaf745533ed9e8ae3a1cd074a51a20da8aba18d1dbebbc862ded42435e92476930d069896cff30eb414f727b895a4b7be1769367e1fe8ad18de11e58d88a0ad5511d3525122b7b0a6f25d28b16457e745939ffedbd12863ce71a02af117d417adb3d15cc54dcb1fce467500c6b8fb86b12b56da9c382857deecc40a98d5f2935395ee4762dd21afdbb5d47fa9a6dd984d567db2857b927b7fae2db587105415d4642789d38f50b8dbcc129cab3d17d19f3355bcf73cecb8cb8a5da01307152f13936a270572670dc82d39026c6cb4cd4b0f7f5aa2a4f5a5341ec5dd715406f2fdd2afa733f5f641c8c21862a1bafce2609d9eecfa158cfb5cd79f88008e315dc7d8388e76c1782fd2795d18a763624c25fa959cc97489ce75745824b77868c53239cfbdf73caec65604037314faaceb56218c6bd30f8374ac13386793f21a9fb80ad03bc0cda4a44946c00e1b1a1df0e5b87b5bece477a709649e950060591394812951e1fe3895b8cc3d14d2cf6556df6ed4b4ddd3d9a69f53357d7767f4f5ccbdbc596631277f8fecd08cb056b95e3025b9792fff7f244fc716269b926d62e9596fa825c6bf21aff9e68625a6b4cbc4b700a364fa76bd8298bc3ec608d4cf7f3566658d5588714ec9448b0f0396128aef884a646114c9f1a6df56319033c3199cc7a09e9e9567482c92695390229407bbc48985675e3f874a4533f1d63a84dfa3e0f460fe2f57e34fbc75423b6883a50a0d470190dfba10a857f82842d3825b3d6da0573d316eb160dc0b716c48fbd467f75b780149ae8808f4e68f50c0536acddf6f1aeab016b6bc1ec144b4e553acfd670f77e755fc88e0677e31ba459b44e307768958fe3789d41c2b1ff434cb30e15914f01bc6bc2307b488d2556d7b7380ea4ffd712f6b02fe806b94569cd4059f396bf29b99d0a40e5e1711ca944f72d436a102fca4b97693da0b086fe9d2e7162470d02e0f05d4bec9512bfb3f38327296efaa74328b118c27402c70c3a90b49ad4bbc68e37c0aa7d9b3fe17799d73b841e751713a02943905aae0803fd69442eb7681ec2a05600054e92eed555028f21b6a155268a2dd6640a69301a52a38d4d9f9f957ae35af7167118141ce4c9be0a6a492fe79f1581a155fa3a034999c538f7a758bb5b1d28fd218fba1938744bdb77b4a4dfa7a5fae96e8cd49b26907dfc6685c5c99b7141ac626ab4761fd3f41e728e1a28f89db89ffdeca364e4b22d81d9968d0119e4c7a189adf22ad96830a54e40dc73eaba6b2aaf14f7ca942e7370b247c046f8e75ef8e3f8bd821cf577491864e20e6d08fd2e32b555c92c661f19588b72a89599710a88061253ca285b6304b37da2b5294f5cb354a894322848ccbdc7c2545b7da568afac87ffa005c312241c2d57f4b45d6419f0d2e2c5af33ae243785b325cdab95404fc7aed70525cddb41872cfcc214b13232edc78609753dbff930eb0dc156612b9cb434bc4b693392deb87c530435312edcedc6a961133338d786c4a3e103f60110a16b1337129704bf4754ff6ba9fbe65951e610620f71cda8fc877625f2c5bb04cbe1228b1e886f4050afd8fe94e97d2e9e85c6bb748c0042d3249abb1342bb0eebf62058bf3de080d94611a3750915b5dc6c0b3899d41222bace760ee9c8818ded599e34c56d7372af1eb86852f2a732104bdb750739de6c2c6e0f9eb7cb17f1942bfc9f4fd6ebb6b4cdd4da2bca26fac4578e9f543405acc7d86ff59158bd0cba3aef6f4a8472d144d99f8b8d1dedaa9077d4f01d4bb27bbe31d88fbefac3dcd4797563a26b1d61fcd9a464ab21ed550fe6fa09695ba0b2f10eea6468cc6e20a66f826e3d14c5006f0563887f5e1289be1b2004caca8d3f34d6e84bf59c1e04619a7c23a996941d889e4622a9b9b1d59d5e319094318cd405ba27b7e2c084762d31453ec4549a4d97729d033460fcf89d6494f2ffd789e98082ea5ce9534b3acd60fe49e37e4f666931677319ed89f85588741b3128901a93bd78e4be0225a9e2692c77c969ed0176bdf9555948cbd5a332d045de6ba6bf4490adfe7444cd467a09075417fcc0062e49f008c51ad4227439c1b4476ccd8e97862dab7be1e8d399c05ef27c6e22ee273e15786e394c8f1be31682a30147963ac8da8d41d804258426a3f70289b8ad19d8de13be4eebe3bd4c8a6f55d6e0c373d456851879f5fbc282db9e134806bff71e11bc33ab75dd6ca067fb73a043b646a7cf39cab4928386786d2f24141ee120fdc34d6764eafc66880ee0204f53cc1167ed20b43a52dea3ca7cff8ef35cd8e6d7c111a68ef44bcd0c1513ad47ca61c659cc5d325b440f6b9f59aff66879bb6688fd2859362b182f207b3175961f6411a493bffd048e7d0d87d82fe6f990a2b0a25f5aa0111a6e68f37bf6f3ac2d26b84686e569d58d99c1383597fad81193c4c1b16e6a90e2d507cdfe6fbdaa86163e9cf5de3100fbca7e8da047b09079362d7792deb3ca9dc1561b87c82e3cb99eb5837319582216a3226774efa90efb7bfc79f425644e4e98c2d7d8642b9db82aa739bf2d71cc4117227db227cf0a05ad9a95832e23c94f271ca0e4694fac6322282ebac6986b8fdc8ad863084ff10fd11e6a13311fb799c79c641d9da43b33e7ad012e28255398789262275f1175be8462c01491c4d842406d0ec4282c9526174a09878fe8fdde33a29604e5e5e7b2a025d6650b97dbb52befb59b1d30a57433b0a351474444099daa371046613260cf3354cfcdada663ece824ffd7e44393886a86165ddddf2b4c41773554c86995269408b11e6737a4c447586f69173446d8e48bf84cbc000a807899973eb93c5e819aad669413f8387933ad1584aa35e43f4ecd1e2d0407c0b1b89920ffdfdb9bea51ac95b557af71b89f903f5d9848f14fcbeb1837570f544d6359eb23faf38a0822da36ce426c4a2fbeffeb0a8a2e297a9d19ba15024590e3329d9fa9261f9938a4032dd34606c9cf9f3dd33e576f05cd1dd6811c6298757d77d9e810abdb226afcaa4346a6560f8932b3181fd355d5d391976183f8d99388839632d6354f666d09d3e5629ea19737388613d38a34fd0f6e50ee5a0cc9677177f50028c141378187bd2819403fc534f80076e9380cb4964d3b6b45819d3b8e9caf54f051852d671bf8c1ffde2d1510756418cb4810936aa57e6965d6fb656a760b7f19adf96c173488552193b147ee58858033dac7cd0eb204c06490bbdedf5f7571acb2ebe76acef3f2a01ee987486dfe6c3f0a5e234c127258f97a28fb5d164a8176be946b8097d0e317287f33bf9c16f9a545409ce29b1f4273725fc0df02a04ebae178b3414fb0a82d50deb09fcf4e6ee9d180ff4f56ff3bc1d3601fc2dc90d814c3256f4967d3a8d64c83fea339c51f5a8e5801fbb97835581b602465dee04b5922c2761b54245bec0c9eef2db97d22b2b3556cc969fbb13d06509765a52b3fac54b93f421bf08e18d52ddd52cc1c8ca8adfaccab7e5cc2f4573fbbf8239bb0b8aedbf8dad16282da5c9125dba1c059d0df8abf621078f02d6c4bc86d40845ac1d59710c45f07d585eb48b32fc0167ba256e73ca3b9311c62d109497957d8dbe10aa3e866b40c0baa2bc492c19ad1e6372d9622bf163fbffeaeee796a3cd9b6fbbfa4d792f34d7fd6e763cd5859dd26833d21d9bc5452bd19515dff9f4995b35bc0c1f876e6ad11f2452dc9ae85aec01fc56f8cbfda75a7727b75ebbd6bbffb43b63a3b1b671e40feb0db002974a3c3b1a788567231bf6399ff89236981149d423802d2341a3bedb9ddcbac1fe7b6435e1479c72e7089b51bfe2ff345857da9b545e88e3221f3f5f72d1e069c9a85dd2236d390989587be005cda16af4408f3ab06a916eeeb9c9594b70424a4c1d171295b6763b22f4712ba7beff0ff27883afaff26034b895735709cf937bd2231891e70eb2771e9927c97f8764eb48e911d428ec8d861b708e8298acb62155145155ae95f0a1d1501034753146e22d05f586d7f6b4fe12dad9a17f5db70b1db96b8d9a83edadc966c8a5466b61fc998c31f1070d9a5c9a6d268d304fe6b8fd3b4010348611abdcbd49fe4f85b623c7828c71382e1034ea67bc8ae97404b0c50b2a04f559e49950afcb0ef462a2ae024b0f0224dfd73684b88c7fbe92d02b68f759c4752663cd7b97a14943649305521326bde085630864629291bae25ff8822a14c4b666a9259ad0dc42a8290ac7bc7f53a16f379f758e5de750f04fd7cad47701c8597f97888bea6fa0bf2999956fbfd0ee68ec36e4688809ae231eb8bc4369f5fe1573f57e099d9c09901bf39caac48dc11956a8ae905ead86954547c448ae43d315e669c4242da565938f417bf43ce7b2b30b1cd4018388e1a910f0fc41fb0877a5925e466819d375b0a912d4fe843b76ef6f223f0f7c894f38f7ab780dfd75f669c8c06cffa43eb47565a50e3b1fa45ad61ce9a1c4727b7aaa53562f523e73952bbf33d8a4104078ade3eaaa49699a69fdf1c5ac7732146ee5e1d6b6ca9b9180f964cc9d0878ae1373524d7d510e58227df6de9d30d271867640177b0f1856e28d5c8afb095ef6184fed651589022eeaea4c0ce1fa6f085092b04979489172b3ef8194a798df5724d6b05f1ae000013a08d612bca8a8c31443c10346dbf61de8475c0bbec5104b47556af3d514458e2321d146071789d2335934a680614e83562f82dfd405b54a45eb32c165448d4d5d61ca2859585369f53f1a137e9e82b67b8fdaf01bda54a317311896ae10280a032440c420a421e944d1e952b70d5826cd3b08b7db9630fe4fd5f22125de840fcc40b98038af11d55be25432597b4b65b9ec1c7a8bbfd052cbf7e1c1785314934b262d5853754f1f17771cfb7503072655753fa3f54ecc587e9f83b581916092df26e63e18994cb0db91a0bbdc7b6119b32222adf5e61d8d8ae89dae4954b54813bb33f08d562ba513fee1b09c0fcd516055419474dd7fda038a89c84ea7b9468287f0eb0c10c4b132520194d3d8d5351fc10d09c15c8cc101aa1663bbf17b84111f38bb439f07353bdea3596d15e713e1e2e7d3f1c383135b47fa7f81f46df7a902a404699ec912f5656c35b85763e4de583aecaa1dfd5d2677d9c8ffee877f63f40a5ca0d67f6e554124700f805af876aeede53aa8b0f8e5604a73c30cbd09dad963d6f8a5dcc40def40797342113ba206fae8ebe4f3bc3caf69259e462eff9ba8b3f4bfaa1300c26925a87").expect("Transaction bytes are in valid hex representation"); + pub static ref ZIP243_1: Vec = >::from_hex("0400008085202f890002e7719811893e0000095200ac6551ac636565b2835a0805750200025151481cdd86b3cc4318442117623ceb0500031b3d1a027c2c40590958b7eb13d742a997738c46a458965baf276ba92f272c721fe01f7e9c8e36d6a5e29d4e30a73594bf5098421c69378af1e40f64e125946f62c2fa7b2fecbcb64b6968912a6381ce3dc166d56a1d62f5a8d7551db5fd931325c9a138f49b1a537edcf04be34a9851a7af9db6990ed83dd64af3597c04323ea51b0052ad8084a8b9da948d320dadd64f5431e61ddf658d24ae67c22c8d1309131fc00fe7f235734276d38d47f1e191e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476f21a482ec9378365c8f7393c94e2885315eb4671098b79535e790fe53e29fef2b3766697ac32b4f473f468a008e72389fc03880d780cb07fcfaabe3f1a84b27db59a4a153d882d2b2103596555ed9494c6ac893c49723833ec8926c1039586a7afcf4a0d9c731e985d99589c8bb838e8aaf745533ed9e8ae3a1cd074a51a20da8aba18d1dbebbc862ded42435e92476930d069896cff30eb414f727b895a4b7be1769367e1fe8ad18de11e58d88a0ad5511d3525122b7b0a6f25d28b16457e745939ffedbd12863ce71a02af117d417adb3d15cc54dcb1fce467500c6b8fb86b12b56da9c382857deecc40a98d5f2935395ee4762dd21afdbb5d47fa9a6dd984d567db2857b927b7fae2db587105415d4642789d38f50b8dbcc129cab3d17d19f3355bcf73cecb8cb8a5da01307152f13936a270572670dc82d39026c6cb4cd4b0f7f5aa2a4f5a5341ec5dd715406f2fdd2afa733f5f641c8c21862a1bafce2609d9eecfa158cfb5cd79f88008e315dc7d8388e76c1782fd2795d18a763624c25fa959cc97489ce75745824b77868c53239cfbdf73caec65604037314faaceb56218c6bd30f8374ac13386793f21a9fb80ad03bc0cda4a44946c00e1b1a1df0e5b87b5bece477a709649e950060591394812951e1fe3895b8cc3d14d2cf6556df6ed4b4ddd3d9a69f53357d7767f4f5ccbdbc596631277f8fecd08cb056b95e3025b9792fff7f244fc716269b926d62e9596fa825c6bf21aff9e68625a6b4cbc4b700a364fa76bd8298bc3ec608d4cf7f3566658d5588714ec9448b0f0396128aef884a646114c9f1a6df56319033c3199cc7a09e9e9567482c92695390229407bbc48985675e3f874a4533f1d63a84dfa3e0f460fe2f57e34fbc75423b6883a50a0d470190dfba10a857f82842d3825b3d6da0573d316eb160dc0b716c48fbd467f75b780149ae8808f4e68f50c0536acddf6f1aeab016b6bc1ec144b4e553acfd670f77e755fc88e0677e31ba459b44e307768958fe3789d41c2b1ff434cb30e15914f01bc6bc2307b488d2556d7b7380ea4ffd712f6b02fe806b94569cd4059f396bf29b99d0a40e5e1711ca944f72d436a102fca4b97693da0b086fe9d2e7162470d02e0f05d4bec9512bfb3f38327296efaa74328b118c27402c70c3a90b49ad4bbc68e37c0aa7d9b3fe17799d73b841e751713a02943905aae0803fd69442eb7681ec2a05600054e92eed555028f21b6a155268a2dd6640a69301a52a38d4d9f9f957ae35af7167118141ce4c9be0a6a492fe79f1581a155fa3a034999c538f7a758bb5b1d28fd218fba1938744bdb77b4a4dfa7a5fae96e8cd49b26907dfc6685c5c99b7141ac626ab4761fd3f41e728e1a28f89db89ffdeca364e4b22d81d9968d0119e4c7a189adf22ad96830a54e40dc73eaba6b2aaf14f7ca942e7370b247c046f8e75ef8e3f8bd821cf577491864e20e6d08fd2e32b555c92c661f19588b72a89599710a88061253ca285b6304b37da2b5294f5cb354a894322848ccbdc7c2545b7da568afac87ffa005c312241c2d57f4b45d6419f0d2e2c5af33ae243785b325cdab95404fc7aed70525cddb41872cfcc214b13232edc78609753dbff930eb0dc156612b9cb434bc4b693392deb87c530435312edcedc6a961133338d786c4a3e103f60110a16b1337129704bf4754ff6ba9fbe65951e610620f71cda8fc877625f2c5bb04cbe1228b1e886f4050afd8fe94e97d2e9e85c6bb748c0042d3249abb1342bb0eebf62058bf3de080d94611a3750915b5dc6c0b3899d41222bace760ee9c8818ded599e34c56d7372af1eb86852f2a732104bdb750739de6c2c6e0f9eb7cb17f1942bfc9f4fd6ebb6b4cdd4da2bca26fac4578e9f543405acc7d86ff59158bd0cba3aef6f4a8472d144d99f8b8d1dedaa9077d4f01d4bb27bbe31d88fbefac3dcd4797563a26b1d61fcd9a464ab21ed550fe6fa09695ba0b2f10eea6468cc6e20a66f826e3d14c5006f0563887f5e1289be1b2004caca8d3f34d6e84bf59c1e04619a7c23a996941d889e4622a9b9b1d59d5e319094318cd405ba27b7e2c084762d31453ec4549a4d97729d033460fcf89d6494f2ffd789e98082ea5ce9534b3acd60fe49e37e4f666931677319ed89f85588741b3128901a93bd78e4be0225a9e2692c77c969ed0176bdf9555948cbd5a332d045de6ba6bf4490adfe7444cd467a09075417fcc0062e49f008c51ad4227439c1b4476ccd8e97862dab7be1e8d399c05ef27c6e22ee273e15786e394c8f1be31682a30147963ac8da8d41d804258426a3f70289b8ad19d8de13be4eebe3bd4c8a6f55d6e0c373d456851879f5fbc282db9e134806bff71e11bc33ab75dd6ca067fb73a043b646a7cf39cab4928386786d2f24141ee120fdc34d6764eafc66880ee0204f53cc1167ed20b43a52dea3ca7cff8ef35cd8e6d7c111a68ef44bcd0c1513ad47ca61c659cc5d325b440f6b9f59aff66879bb6688fd2859362b182f207b3175961f6411a493bffd048e7d0d87d82fe6f990a2b0a25f5aa0111a6e68f37bf6f3ac2d26b84686e569d58d99c1383597fad81193c4c1b16e6a90e2d507cdfe6fbdaa86163e9cf5de3100fbca7e8da047b09079362d7792deb3ca9dc1561b87c82e3cb99eb5837319582216a3226774efa90efb7bfc79f425644e4e98c2d7d8642b9db82aa739bf2d71cc4117227db227cf0a05ad9a95832e23c94f271ca0e4694fac6322282ebac6986b8fdc8ad863084ff10fd11e6a13311fb799c79c641d9da43b33e7ad012e28255398789262275f1175be8462c01491c4d842406d0ec4282c9526174a09878fe8fdde33a29604e5e5e7b2a025d6650b97dbb52befb59b1d30a57433b0a351474444099daa371046613260cf3354cfcdada663ece824ffd7e44393886a86165ddddf2b4c41773554c86995269408b11e6737a4c447586f69173446d8e48bf84cbc000a807899973eb93c5e819aad669413f8387933ad1584aa35e43f4ecd1e2d0407c0b1b89920ffdfdb9bea51ac95b557af71b89f903f5d9848f14fcbeb1837570f544d6359eb23faf38a0822da36ce426c4a2fbeffeb0a8a2e297a9d19ba15024590e3329d9fa9261f9938a4032dd34606c9cf9f3dd33e576f05cd1dd6811c6298757d77d9e810abdb226afcaa4346a6560f8932b3181fd355d5d391976183f8d99388839632d6354f666d09d3e5629ea19737388613d38a34fd0f6e50ee5a0cc9677177f50028c141378187bd2819403fc534f80076e9380cb4964d3b6b45819d3b8e9caf54f051852d671bf8c1ffde2d1510756418cb4810936aa57e6965d6fb656a760b7f19adf96c173488552193b147ee58858033dac7cd0eb204c06490bbdedf5f7571acb2ebe76acef3f2a01ee987486dfe6c3f0a5e234c127258f97a28fb5d164a8176be946b8097d0e317287f33bf9c16f9a545409ce29b1f4273725fc0df02a04ebae178b3414fb0a82d50deb09fcf4e6ee9d180ff4f56ff3bc1d3601fc2dc90d814c3256f4967d3a8d64c83fea339c51f5a8e5801fbb97835581b602465dee04b5922c2761b54245bec0c9eef2db97d22b2b3556cc969fbb13d06509765a52b3fac54b93f421bf08e18d52ddd52cc1c8ca8adfaccab7e5cc2f4573fbbf8239bb0b8aedbf8dad16282da5c9125dba1c059d0df8abf621078f02d6c4bc86d40845ac1d59710c45f07d585eb48b32fc0167ba256e73ca3b9311c62d109497957d8dbe10aa3e866b40c0baa2bc492c19ad1e6372d9622bf163fbffeaeee796a3cd9b6fbbfa4d792f34d7fd6e763cd5859dd26833d21d9bc5452bd19515dff9f4995b35bc0c1f876e6ad11f2452dc9ae85aec01fc56f8cbfda75a7727b75ebbd6bbffb43b63a3b1b671e40feb0db002974a3c3b1a788567231bf6399ff89236981149d423802d2341a3bedb9ddcbac1fe7b6435e1479c72e7089b51bfe2ff345857da9b545e88e3221f3f5f72d1e069c9a85dd2236d390989587be005cda16af4408f3ab06a916eeeb9c9594b70424a4c1d171295b6763b22f4712ba7beff0ff27883afaff26034b895735709cf937bd2231891e70eb2771e9927c97f8764eb48e911d428ec8d861b708e8298acb62155145155ae95f0a1d1501034753146e22d05f586d7f6b4fe12dad9a17f5db70b1db96b8d9a83edadc966c8a5466b61fc998c31f1070d9a5c9a6d268d304fe6b8fd3b4010348611abdcbd49fe4f85b623c7828c71382e1034ea67bc8ae97404b0c50b2a04f559e49950afcb0ef462a2ae024b0f0224dfd73684b88c7fbe92d02b68f759c4752663cd7b97a14943649305521326bde085630864629291bae25ff8822a14c4b666a9259ad0dc42a8290ac7bc7f53a16f379f758e5de750f04fd7cad47701c8597f97888bea6fa0bf2999956fbfd0ee68ec36e4688809ae231eb8bc4369f5fe1573f57e099d9c09901bf39caac48dc11956a8ae905ead86954547c448ae43d315e669c4242da565938f417bf43ce7b2b30b1cd4018388e1a910f0fc41fb0877a5925e466819d375b0a912d4fe843b76ef6f223f0f7c894f38f7ab780dfd75f669c8c06cffa43eb47565a50e3b1fa45ad61ce9a1c4727b7aaa53562f523e73952bbf33d8a4104078ade3eaaa49699a69fdf1c5ac7732146ee5e1d6b6ca9b9180f964cc9d0878ae1373524d7d510e58227df6de9d30d271867640177b0f1856e28d5c8afb095ef6184fed651589022eeaea4c0ce1fa6f085092b04979489172b3ef8194a798df5724d6b05f1ae000013a08d612bca8a8c31443c10346dbf61de8475c0bbec5104b47556af3d514458e2321d146071789d2335934a680614e83562f82dfd405b54a45eb32c165448d4d5d61ca2859585369f53f1a137e9e82b67b8fdaf01bda54a317311896ae10280a032440c420a421e944d1e952b70d5826cd3b08b7db9630fe4fd5f22125de840fcc40b98038af11d55be25432597b4b65b9ec1c7a8bbfd052cbf7e1c1785314934b262d5853754f1f17771cfb7503072655753fa3f54ecc587e9f83b581916092df26e63e18994cb0db91a0bbdc7b6119b32222adf5e61d8d8ae89dae4954b54813bb33f08d562ba513fee1b09c0fcd516055419474dd7fda038a89c84ea7b9468287f0eb0c10c4b132520194d3d8d5351fc10d09c15c8cc101aa1663bbf17b84111f38bb439f07353bdea3596d15e713e1e2e7d3f1c383135b47fa7f81f46df7a902a404699ec912f5656c35b85763e4de583aecaa1dfd5d2677d9c8ffee877f63f40a5ca0d67f6e554124700f805af876aeede53aa8b0f8e5604a73c30cbd09dad963d6f8a5dcc40def40797342113ba206fae8ebe4f3bc3caf69259e462eff9ba8b3f4bfaa1300c26925a87").expect("Transaction bytes are in valid hex representation"); // https://github.com/zcash/zips/blob/master/zip-0243.rst#test-vector-2 - pub static ref ZIP243_2 : Vec = >::from_hex("0400008085202f89020bbe32a598c22adfb48cef72ba5d4287c0cefbacfd8ce195b4963c34a94bba7a175dae4b0465ac656353708915090f47a068e227433f9e49d3aa09e356d8d66d0c0121e91a3c4aa3f27fa1b63396e2b41d090063535300ac53ac514e97056802da071b970d4807000152a844550bdc2002000752526a65520052d7034302011b9a076620edc067ff0200000353e3b8a71face1c9f37745ed36883529304bfd5a390b37bc5a3445241f03f64a818820dfeddd75375159fbd21eca9872104f8d7b3c8c869703a1e7848a5c941e45a9c7943446d0dc9627cb31f80e7aa596d4821dc99a7d777cd57e194842a023471f0f6288a150647b2afe9df7cccf01f5cde5f04680bbfed87f6cf429fb27ad6babe791766611cf5bc20e48bef119259b9b8a0e39c3df28cb9582ea338601cdc481b32fb82adeebb3dade25d1a3df20c37e712506b5d996c49a9f0f30ddcb91fe9004e1e83294a6c9203d94e8dc2cbb449de4155032604e47997016b304fd437d8235045e255a19b743a0a9f2e336b44cae307bb3987bd3e4e777fbb34c0ab8cc3d67466c0a88dd4ccad18a07a8d1068df5b629e5718d0f6df5c957cf71bb00a5178f175caca944e635c5159f738e2402a2d21aa081e10e456afb00b9f62416c8b9c0f7228f510729e0be3f305313d77f7379dc2af24869c6c74ee4471498861d192f0ff0f508285dab6b6a36ccf7d12256cc76b95503720ac672d08268d2cf7773b6ba2a5f664847bf707f2fc10c98f2f006ec22ccb5a8c8b7c40c7c2d49a6639b9f2ce33c25c04bc461e744dfa536b00d94baddf4f4d14044c695a33881477df124f0fcf206a9fb2e65e304cdbf0c4d2390170c130ab849c2f22b5cdd3921640c8cf1976ae1010b0dfd9cb2543e45f99749cc4d61f2e8aabfe98bd905fa39951b33ea769c45ab9531c57209862ad12fd76ba4807e65417b6cd12fa8ec916f013ebb8706a96effeda06c4be24b04846392e9d1e6930eae01fa21fbd700583fb598b92c8f4eb8a61aa6235db60f2841cf3a1c6ab54c67066844711d091eb931a1bd6281aedf2a0e8fab18817202a9be06402ed9cc720c16bfe881e4df4255e87afb7fc62f38116bbe03cd8a3cb11a27d568414782f47b1a44c97c680467694bc9709d32916c97e8006cbb07ba0e4180a3738038c374c4cce8f32959afb25f303f5815c4533124acf9d18940e77522ac5dc4b9570aae8f47b7f57fd8767bea1a24ae7bed65b4afdc8f1278c30e2db98fd172730ac6bbed4f1127cd32b04a95b205526cfcb4c4e1cc955175b3e8de1f5d81b18669692350aaa1a1d797617582e54d7a5b57a683b32fb1098062dad7b0c2eb518f6862e83db25e3dbaf7aed504de932acb99d735992ce62bae9ef893ff6acc0ffcf8e3483e146b9d49dd8c7835f43a37dca0787e3ec9f6605223d5ba7ae0ab9025b73bc03f7fac36c009a56d4d95d1e81d3b3ebca7e54cc1a12d127b57c8138976e791013b015f06a624f521b6ee04ec980893c7e5e01a336203594094f82833d74427880084d35863c8e7ebb5c9eed98e72572ec40c79b26623b58022f489b0893d88be63f3f8c0d23249ebcde13db9312941c36c1d1cbcabac0c78cb3b1912db0dcbfe1893d9b51be4af1d000bac1ad0a3ae2ce1e73225fb114d05af4cefc06e875f074ffeae0cba7da3a516c173be1c513323e119f635e8209a074b216b7023fadc2d25949c90037e71e3e550726d210a2c688342e52440635e9cc14afe10102621a9c9accb782e9e4a5fa87f0a956f5b85509960285c22627c59483a5a4c28cce4b156e551406a7ee8355656a21e43e38ce129fdadb759eddfa08f00fc8e567cef93c6792d01df05e6d580f4d5d48df042451a33590d3e8cf49b2627218f0c292fa66ada945fa55bb23548e33a83a562957a3149a993cc472362298736a8b778d97ce423013d64b32cd172efa551bf7f368f04bdaec6091a3004a757598b801dcf675cb83e43a53ae8b254d333bcda20d4817d3477abfba25bb83df5949c126f149b1d99341e4e6f9120f4d41e629185002c72c012c414d2382a6d47c7b3deaba770c400ca96b2814f6b26c3ef17429f1a98c85d83db20efad48be8996fb1bff591efff360fe1199056c56e5feec61a7b8b9f699d6012c2849232f329fef95c7af370098ffe4918e0ca1df47f275867b739e0a514d3209325e217045927b479c1ce2e5d54f25488cad1513e3f44a21266cfd841633327dee6cf810fbf7393e317d9e53d1be1d5ae7839b66b943b9ed18f2c530e975422332c3439cce49a29f2a336a4851263c5e9bd13d731109e844b7f8c392a5c1dcaa2ae5f50ff63fab9765e016702c35a67cd7364d3fab552fb349e35c15c50250453fd18f7b855992632e2c76c0fbf1ef963ea80e3223de3277bc559251725829ec03f213ba8955cab2822ff21a9b0a4904d668fcd77224bde3dd01f6ffc4828f6b64230b35c6a049873494276ea1d7ed5e92cb4f90ba83a9e49601b194042f2900d99d312d7b70508cf176066d154dbe96ef9d4367e4c840e4a17b5e5122e8ebe2158a3c5f4cbae21ea3fa1ae6c25a9462ebcbb0fd5f14554bc97747c33e34da90c816d8d0d50bfe37618c5812891484fa259322c15092d4155d8696d6f12f24fd364496b3be0871ca3dd9625348a614b59bde45885649bae36de34def8fcec85343475d976ae1e9b27829ce2ac5efd0b399a8b448be6504294ee6b3c1c6a5342d7c01ae9d8ad3070c2b1a91573af5e0c5e4cbbf4acdc6b54c9272200d9970250c17c1036f06085c41858ed3a0c48150bc697e4a695fef335f7ad07e1a46dc767ff822db70e6669080b9816b2232c81a4c66cc586abfe1eaa8ca6cf41fc30eb8dc57c37a3c39c59c94232df9d388dbfa35c2cd5c75f328e9fea78f65568f2bb934c82c4142da69d12ca7de9a7df706400ec79878d868e17e8f71ea31495a8bae7bdc2e48b5118771c2fca078cca1fce0d7ef0af3478cf36f69e85a41dd29b4294a65d3e055ff718dd9dc8c75e7e5b2efe442637371b7c48f6ee99e3ea38a4b0f2f67fc2b908cda657eae754e037e262e9a9f9bd7ec4267ed8e96930e1084783c37d6f9dd15fd29f4cc477e66f130d630430dcc0104899b4f9f46eb090ef7fc90b479abf61f93955ee00e6a1848f1ab14ad334f2b68035808cdf1bb9e9d9a816baf728a955b960b7701fa626687dc3c9cba646337b53e29816e9482ddf5578a8768aae477fce410ac2d5de6095861c111d7feb3e6bb4fbb5a54955495972798350a253f05f66c2ecfcbc0ed43f5ec2e6d8dba15a51254d97b1821107c07dd9a16ef8406f943e282b95d4b362530c913d6ba421df6027de5af1e4745d5868106954be6c1962780a2941072e95131b1679df0637625042c37d48ffb152e5ebc185c8a2b7d4385f1c95af937df78dfd8757fab434968b0b57c66574468f160b447ac8221e5060676a842a1c6b7172dd3340f764070ab1fe091c5c74c95a5dc043390723a4c127da14cdde1dc2675a62340b3e6afd0522a31de26e7d1ec3a9c8a091ffdc75b7ecfdc7c12995a5e37ce3488bd29f8629d68f696492448dd526697476dc061346ebe3f677217ff9c60efce943af28dfd3f9e59692598a6047c23c4c01400f1ab5730eac0ae8d5843d5051c376240172af218d7a1ecfe65b4f75100638983c14de4974755dade8018c9b8f4543fb095961513e67c61dbc59c607f9b51f8d09bdcad28bcfb9e5d2744ea8848b2623ac07f8ef61a81a35910b8a1baf39a919a7b60bc604d63185f759221d847cc54a22765a4c33475b5791e9af3271fc8d9350667090d8184ec50522d804f23c4fb44ffa481bc92ae408d1b9f2b131904f9705c59e2f4bde7a3b2c085d93fd2abc5e14d163001a12f51938d021afa92239b873dc6c357eaa8af4ee6d00540657fe32914103b5d98f68bd3e2b5359f08ccd88d0c811e4c31fbb49f3a90bbd05dce62f344e7077593159ae35050b04c9e6b86bc432dc8b048c73c0018ca5b69411297732a4e1aa99a928c71e7a24fd277856aa42501e51b012aea9446a2104e93f815a0b3a29b458314f3d8be2b9823d342f46213e942a7e19a46e970b5c506708430317b1bb3b35df68ae33a4926a03e6bfeb5510416fcbb0524c9ca5074156cc5a5d6fe1c995edc60a2f550411aa41e3da3bdcf64bcf04a0510571b936d47e55cec0330008dfe73563404f047d7f3a8a3d7743bc554955210f1eb0d08599ea77d5f974d87176d37d98b9c0ad440407209ed6a9f08464d565593e1a63b938536b49244e97d").expect("Transaction bytes are in valid hex representation"); + pub static ref ZIP243_2: Vec = >::from_hex("0400008085202f89020bbe32a598c22adfb48cef72ba5d4287c0cefbacfd8ce195b4963c34a94bba7a175dae4b0465ac656353708915090f47a068e227433f9e49d3aa09e356d8d66d0c0121e91a3c4aa3f27fa1b63396e2b41d090063535300ac53ac514e97056802da071b970d4807000152a844550bdc2002000752526a65520052d7034302011b9a076620edc067ff0200000353e3b8a71face1c9f37745ed36883529304bfd5a390b37bc5a3445241f03f64a818820dfeddd75375159fbd21eca9872104f8d7b3c8c869703a1e7848a5c941e45a9c7943446d0dc9627cb31f80e7aa596d4821dc99a7d777cd57e194842a023471f0f6288a150647b2afe9df7cccf01f5cde5f04680bbfed87f6cf429fb27ad6babe791766611cf5bc20e48bef119259b9b8a0e39c3df28cb9582ea338601cdc481b32fb82adeebb3dade25d1a3df20c37e712506b5d996c49a9f0f30ddcb91fe9004e1e83294a6c9203d94e8dc2cbb449de4155032604e47997016b304fd437d8235045e255a19b743a0a9f2e336b44cae307bb3987bd3e4e777fbb34c0ab8cc3d67466c0a88dd4ccad18a07a8d1068df5b629e5718d0f6df5c957cf71bb00a5178f175caca944e635c5159f738e2402a2d21aa081e10e456afb00b9f62416c8b9c0f7228f510729e0be3f305313d77f7379dc2af24869c6c74ee4471498861d192f0ff0f508285dab6b6a36ccf7d12256cc76b95503720ac672d08268d2cf7773b6ba2a5f664847bf707f2fc10c98f2f006ec22ccb5a8c8b7c40c7c2d49a6639b9f2ce33c25c04bc461e744dfa536b00d94baddf4f4d14044c695a33881477df124f0fcf206a9fb2e65e304cdbf0c4d2390170c130ab849c2f22b5cdd3921640c8cf1976ae1010b0dfd9cb2543e45f99749cc4d61f2e8aabfe98bd905fa39951b33ea769c45ab9531c57209862ad12fd76ba4807e65417b6cd12fa8ec916f013ebb8706a96effeda06c4be24b04846392e9d1e6930eae01fa21fbd700583fb598b92c8f4eb8a61aa6235db60f2841cf3a1c6ab54c67066844711d091eb931a1bd6281aedf2a0e8fab18817202a9be06402ed9cc720c16bfe881e4df4255e87afb7fc62f38116bbe03cd8a3cb11a27d568414782f47b1a44c97c680467694bc9709d32916c97e8006cbb07ba0e4180a3738038c374c4cce8f32959afb25f303f5815c4533124acf9d18940e77522ac5dc4b9570aae8f47b7f57fd8767bea1a24ae7bed65b4afdc8f1278c30e2db98fd172730ac6bbed4f1127cd32b04a95b205526cfcb4c4e1cc955175b3e8de1f5d81b18669692350aaa1a1d797617582e54d7a5b57a683b32fb1098062dad7b0c2eb518f6862e83db25e3dbaf7aed504de932acb99d735992ce62bae9ef893ff6acc0ffcf8e3483e146b9d49dd8c7835f43a37dca0787e3ec9f6605223d5ba7ae0ab9025b73bc03f7fac36c009a56d4d95d1e81d3b3ebca7e54cc1a12d127b57c8138976e791013b015f06a624f521b6ee04ec980893c7e5e01a336203594094f82833d74427880084d35863c8e7ebb5c9eed98e72572ec40c79b26623b58022f489b0893d88be63f3f8c0d23249ebcde13db9312941c36c1d1cbcabac0c78cb3b1912db0dcbfe1893d9b51be4af1d000bac1ad0a3ae2ce1e73225fb114d05af4cefc06e875f074ffeae0cba7da3a516c173be1c513323e119f635e8209a074b216b7023fadc2d25949c90037e71e3e550726d210a2c688342e52440635e9cc14afe10102621a9c9accb782e9e4a5fa87f0a956f5b85509960285c22627c59483a5a4c28cce4b156e551406a7ee8355656a21e43e38ce129fdadb759eddfa08f00fc8e567cef93c6792d01df05e6d580f4d5d48df042451a33590d3e8cf49b2627218f0c292fa66ada945fa55bb23548e33a83a562957a3149a993cc472362298736a8b778d97ce423013d64b32cd172efa551bf7f368f04bdaec6091a3004a757598b801dcf675cb83e43a53ae8b254d333bcda20d4817d3477abfba25bb83df5949c126f149b1d99341e4e6f9120f4d41e629185002c72c012c414d2382a6d47c7b3deaba770c400ca96b2814f6b26c3ef17429f1a98c85d83db20efad48be8996fb1bff591efff360fe1199056c56e5feec61a7b8b9f699d6012c2849232f329fef95c7af370098ffe4918e0ca1df47f275867b739e0a514d3209325e217045927b479c1ce2e5d54f25488cad1513e3f44a21266cfd841633327dee6cf810fbf7393e317d9e53d1be1d5ae7839b66b943b9ed18f2c530e975422332c3439cce49a29f2a336a4851263c5e9bd13d731109e844b7f8c392a5c1dcaa2ae5f50ff63fab9765e016702c35a67cd7364d3fab552fb349e35c15c50250453fd18f7b855992632e2c76c0fbf1ef963ea80e3223de3277bc559251725829ec03f213ba8955cab2822ff21a9b0a4904d668fcd77224bde3dd01f6ffc4828f6b64230b35c6a049873494276ea1d7ed5e92cb4f90ba83a9e49601b194042f2900d99d312d7b70508cf176066d154dbe96ef9d4367e4c840e4a17b5e5122e8ebe2158a3c5f4cbae21ea3fa1ae6c25a9462ebcbb0fd5f14554bc97747c33e34da90c816d8d0d50bfe37618c5812891484fa259322c15092d4155d8696d6f12f24fd364496b3be0871ca3dd9625348a614b59bde45885649bae36de34def8fcec85343475d976ae1e9b27829ce2ac5efd0b399a8b448be6504294ee6b3c1c6a5342d7c01ae9d8ad3070c2b1a91573af5e0c5e4cbbf4acdc6b54c9272200d9970250c17c1036f06085c41858ed3a0c48150bc697e4a695fef335f7ad07e1a46dc767ff822db70e6669080b9816b2232c81a4c66cc586abfe1eaa8ca6cf41fc30eb8dc57c37a3c39c59c94232df9d388dbfa35c2cd5c75f328e9fea78f65568f2bb934c82c4142da69d12ca7de9a7df706400ec79878d868e17e8f71ea31495a8bae7bdc2e48b5118771c2fca078cca1fce0d7ef0af3478cf36f69e85a41dd29b4294a65d3e055ff718dd9dc8c75e7e5b2efe442637371b7c48f6ee99e3ea38a4b0f2f67fc2b908cda657eae754e037e262e9a9f9bd7ec4267ed8e96930e1084783c37d6f9dd15fd29f4cc477e66f130d630430dcc0104899b4f9f46eb090ef7fc90b479abf61f93955ee00e6a1848f1ab14ad334f2b68035808cdf1bb9e9d9a816baf728a955b960b7701fa626687dc3c9cba646337b53e29816e9482ddf5578a8768aae477fce410ac2d5de6095861c111d7feb3e6bb4fbb5a54955495972798350a253f05f66c2ecfcbc0ed43f5ec2e6d8dba15a51254d97b1821107c07dd9a16ef8406f943e282b95d4b362530c913d6ba421df6027de5af1e4745d5868106954be6c1962780a2941072e95131b1679df0637625042c37d48ffb152e5ebc185c8a2b7d4385f1c95af937df78dfd8757fab434968b0b57c66574468f160b447ac8221e5060676a842a1c6b7172dd3340f764070ab1fe091c5c74c95a5dc043390723a4c127da14cdde1dc2675a62340b3e6afd0522a31de26e7d1ec3a9c8a091ffdc75b7ecfdc7c12995a5e37ce3488bd29f8629d68f696492448dd526697476dc061346ebe3f677217ff9c60efce943af28dfd3f9e59692598a6047c23c4c01400f1ab5730eac0ae8d5843d5051c376240172af218d7a1ecfe65b4f75100638983c14de4974755dade8018c9b8f4543fb095961513e67c61dbc59c607f9b51f8d09bdcad28bcfb9e5d2744ea8848b2623ac07f8ef61a81a35910b8a1baf39a919a7b60bc604d63185f759221d847cc54a22765a4c33475b5791e9af3271fc8d9350667090d8184ec50522d804f23c4fb44ffa481bc92ae408d1b9f2b131904f9705c59e2f4bde7a3b2c085d93fd2abc5e14d163001a12f51938d021afa92239b873dc6c357eaa8af4ee6d00540657fe32914103b5d98f68bd3e2b5359f08ccd88d0c811e4c31fbb49f3a90bbd05dce62f344e7077593159ae35050b04c9e6b86bc432dc8b048c73c0018ca5b69411297732a4e1aa99a928c71e7a24fd277856aa42501e51b012aea9446a2104e93f815a0b3a29b458314f3d8be2b9823d342f46213e942a7e19a46e970b5c506708430317b1bb3b35df68ae33a4926a03e6bfeb5510416fcbb0524c9ca5074156cc5a5d6fe1c995edc60a2f550411aa41e3da3bdcf64bcf04a0510571b936d47e55cec0330008dfe73563404f047d7f3a8a3d7743bc554955210f1eb0d08599ea77d5f974d87176d37d98b9c0ad440407209ed6a9f08464d565593e1a63b938536b49244e97d").expect("Transaction bytes are in valid hex representation"); // https://github.com/zcash/zips/blob/master/zip-0243.rst#test-vector-3 - pub static ref ZIP243_3 : Vec = >::from_hex("0400008085202f8901a8c685478265f4c14dada651969c45a65e1aeb8cd6791f2f5bb6a1d9952104d9010000006b483045022100a61e5d557568c2ddc1d9b03a7173c6ce7c996c4daecab007ac8f34bee01e6b9702204d38fdc0bcf2728a69fde78462a10fb45a9baa27873e6a5fc45fb5c76764202a01210365ffea3efa3908918a8b8627724af852fc9b86d7375b103ab0543cf418bcaa7ffeffffff02005a6202000000001976a9148132712c3ff19f3a151234616777420a6d7ef22688ac8b959800000000001976a9145453e4698f02a38abdaa521cd1ff2dee6fac187188ac29b0040048b004000000000000000000000000").expect("Transaction bytes are in valid hex representation"); + pub static ref ZIP243_3: Vec = >::from_hex("0400008085202f8901a8c685478265f4c14dada651969c45a65e1aeb8cd6791f2f5bb6a1d9952104d9010000006b483045022100a61e5d557568c2ddc1d9b03a7173c6ce7c996c4daecab007ac8f34bee01e6b9702204d38fdc0bcf2728a69fde78462a10fb45a9baa27873e6a5fc45fb5c76764202a01210365ffea3efa3908918a8b8627724af852fc9b86d7375b103ab0543cf418bcaa7ffeffffff02005a6202000000001976a9148132712c3ff19f3a151234616777420a6d7ef22688ac8b959800000000001976a9145453e4698f02a38abdaa521cd1ff2dee6fac187188ac29b0040048b004000000000000000000000000").expect("Transaction bytes are in valid hex representation"); } From 1a6ba3cea5df96209b4ed53a7fb30c4cb00a32ef Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 24 Sep 2020 22:45:18 +1000 Subject: [PATCH 03/10] Remove some duplicate test vector data --- zebra-test/src/vectors.rs | 101 +------------------------------------- 1 file changed, 2 insertions(+), 99 deletions(-) diff --git a/zebra-test/src/vectors.rs b/zebra-test/src/vectors.rs index 66871d5c0af..f6842aebb44 100644 --- a/zebra-test/src/vectors.rs +++ b/zebra-test/src/vectors.rs @@ -4,105 +4,6 @@ use lazy_static::lazy_static; mod block; pub use block::*; -// Copied from librustzcash -// From mainnet block 415000. -// https://explorer.zcha.in/blocks/415000 -pub const HEADER_MAINNET_415000_BYTES: [u8; 1487] = [ - 0x04, 0x00, 0x00, 0x00, 0x52, 0x74, 0xb4, 0x3b, 0x9e, 0x4a, 0xd8, 0xf4, 0x3e, 0x93, 0xf7, 0x84, - 0x63, 0xd2, 0x4d, 0xcf, 0xe5, 0x31, 0xae, 0xb4, 0x71, 0x98, 0x19, 0xf4, 0xf9, 0x7f, 0x7e, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x66, 0x30, 0x73, 0xbc, 0x4b, 0xfa, 0x95, 0xc9, 0xbe, 0xc3, 0x6a, 0xad, - 0x72, 0x68, 0xa5, 0x73, 0x04, 0x97, 0x97, 0xbd, 0xfc, 0x5a, 0xa4, 0xc7, 0x43, 0xfb, 0xe4, 0x82, - 0x0a, 0xa3, 0x93, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xa8, 0xbe, 0xcc, 0x5b, 0xe1, 0xab, 0x03, 0x1c, 0xc2, 0xfd, 0x60, 0x7c, - 0x77, 0x6a, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xb2, 0x18, 0x19, 0xfd, 0x40, 0x05, 0x00, - 0x94, 0x9d, 0x55, 0xde, 0x0c, 0xc6, 0x33, 0xe0, 0xcc, 0xe4, 0x1e, 0x46, 0x49, 0xef, 0x4a, 0xa3, - 0x34, 0x9f, 0x01, 0x00, 0x29, 0x0f, 0xfe, 0x28, 0x1b, 0x94, 0x7b, 0x3b, 0x53, 0xfb, 0xd2, 0xf3, - 0x5b, 0x1c, 0xe2, 0x92, 0x64, 0x9b, 0x96, 0xac, 0x6e, 0x08, 0x83, 0xaf, 0x3a, 0x68, 0x44, 0xb9, - 0x55, 0x92, 0xe7, 0x45, 0x56, 0xda, 0x34, 0x4b, 0x47, 0x01, 0x96, 0x1c, 0xd4, 0x13, 0x0c, 0x68, - 0x21, 0x9c, 0xfa, 0x13, 0x41, 0xd5, 0xaf, 0xb5, 0x04, 0x9e, 0xb0, 0xe8, 0xbe, 0x4a, 0x2d, 0x92, - 0xd6, 0x78, 0xc4, 0x07, 0x85, 0xe3, 0x37, 0x05, 0x54, 0x8b, 0x5f, 0x3a, 0x54, 0xf0, 0xa4, 0xc3, - 0x9a, 0x2f, 0x58, 0xee, 0x78, 0x4a, 0x24, 0x16, 0x3c, 0xd8, 0x6f, 0x54, 0x81, 0x23, 0x27, 0xdf, - 0x55, 0xe1, 0xd5, 0x5c, 0xa8, 0x4b, 0x6e, 0x7b, 0x88, 0x7a, 0x7c, 0xbf, 0xb9, 0x09, 0x1a, 0x58, - 0x5b, 0xdb, 0x8e, 0xa4, 0x75, 0x93, 0x07, 0xc5, 0x6c, 0x1b, 0x3d, 0xaf, 0xc6, 0x69, 0x24, 0x5a, - 0x6f, 0x65, 0x4b, 0x6f, 0x73, 0x00, 0x52, 0x26, 0x6a, 0x01, 0xad, 0x4f, 0x9c, 0x0b, 0x59, 0xed, - 0x4e, 0x17, 0x71, 0x2b, 0x3e, 0x72, 0xdf, 0x04, 0x98, 0xaa, 0x8d, 0xe4, 0x88, 0x8f, 0x99, 0x35, - 0x31, 0xc6, 0x0a, 0xcd, 0xed, 0x1d, 0x4b, 0x66, 0xe8, 0x9d, 0xe0, 0xb6, 0x48, 0x2c, 0xcc, 0xd4, - 0xa7, 0x12, 0xf5, 0xcf, 0x9d, 0x4c, 0xa8, 0x3b, 0xe0, 0xf9, 0x22, 0xde, 0x2c, 0x1d, 0xbb, 0x3a, - 0x14, 0x07, 0x48, 0x0d, 0xbe, 0x87, 0x95, 0x99, 0x3d, 0x8b, 0xe6, 0x40, 0x98, 0x8a, 0xbf, 0xe7, - 0xa8, 0xa1, 0xb3, 0x3a, 0x12, 0x13, 0x1c, 0x45, 0x1e, 0x1a, 0xbc, 0x0d, 0x83, 0xfb, 0x85, 0x18, - 0x62, 0xc6, 0x37, 0xce, 0x72, 0x4d, 0x5f, 0xe9, 0x7a, 0xa9, 0xa8, 0x06, 0xcf, 0x34, 0xba, 0xb5, - 0x09, 0xf4, 0x55, 0x4b, 0x0c, 0xd1, 0x0a, 0x7d, 0xdf, 0xd5, 0x82, 0x1b, 0x09, 0x1a, 0xd2, 0xc9, - 0x0c, 0x1a, 0xa1, 0xd8, 0x1e, 0xb3, 0xd7, 0x2d, 0xb4, 0x19, 0x93, 0xb6, 0x48, 0xf4, 0x1e, 0x21, - 0x38, 0xff, 0x95, 0x31, 0xa3, 0x0f, 0xf7, 0x3b, 0x22, 0x14, 0x0e, 0x4e, 0xbd, 0x7b, 0xaa, 0x33, - 0x84, 0x8e, 0x51, 0x2d, 0x99, 0x30, 0x0c, 0x5c, 0x13, 0x1c, 0x6e, 0x75, 0xf5, 0x71, 0x4a, 0x5c, - 0x6d, 0xcb, 0x17, 0x8b, 0x4a, 0x49, 0x78, 0xda, 0xc8, 0x3a, 0xd4, 0x12, 0xfb, 0xd6, 0x92, 0x01, - 0x92, 0x50, 0xc5, 0x53, 0x04, 0x9a, 0xad, 0x45, 0x79, 0x84, 0xbe, 0xdf, 0xc9, 0x6a, 0xe7, 0x01, - 0xc6, 0x59, 0xbc, 0x70, 0x07, 0xa9, 0x7d, 0x0a, 0x90, 0x02, 0xb9, 0x45, 0xbd, 0xec, 0x45, 0xa9, - 0x45, 0xef, 0x62, 0x85, 0xb2, 0xcd, 0x55, 0x3b, 0x4c, 0x09, 0xd9, 0x07, 0xc6, 0x27, 0x86, 0x3f, - 0x03, 0x99, 0xe8, 0x72, 0x5b, 0x4f, 0xf7, 0xfc, 0x59, 0x79, 0xe3, 0xcf, 0xf2, 0x28, 0x14, 0x50, - 0x84, 0x48, 0xef, 0x8b, 0x98, 0x31, 0xc2, 0x85, 0x95, 0x93, 0x33, 0x39, 0x6a, 0xa3, 0x62, 0xa5, - 0x1c, 0xf2, 0x05, 0x09, 0x7a, 0xfa, 0xbe, 0xc1, 0x5e, 0x41, 0xfb, 0x6e, 0x30, 0xb6, 0x22, 0x37, - 0x4b, 0xf5, 0x8b, 0x37, 0xef, 0x9d, 0x1b, 0x24, 0x1e, 0xad, 0x5a, 0x68, 0x2b, 0x98, 0xb6, 0x57, - 0x49, 0xa5, 0x75, 0x68, 0xe2, 0x38, 0xd5, 0x0a, 0xfd, 0x41, 0x7e, 0x1e, 0x96, 0x0e, 0x7b, 0x5a, - 0x06, 0x4f, 0xd9, 0xf6, 0x94, 0xd7, 0x83, 0xa2, 0xcb, 0xcd, 0x58, 0x55, 0x2d, 0xed, 0xbb, 0x9e, - 0x5e, 0x11, 0x23, 0x67, 0x4e, 0xf7, 0x3a, 0x52, 0x41, 0x96, 0xcf, 0x05, 0xd3, 0xe5, 0x24, 0x66, - 0x05, 0x49, 0xff, 0xe7, 0xbd, 0x65, 0x68, 0x05, 0x71, 0x35, 0xff, 0xd5, 0xaf, 0xd9, 0x43, 0xf6, - 0xda, 0x11, 0xcb, 0xb5, 0x97, 0xe8, 0xcc, 0xec, 0xd7, 0x7e, 0xcb, 0xe9, 0x09, 0xde, 0x06, 0x31, - 0xbf, 0xa2, 0x9c, 0xd3, 0xe3, 0xd5, 0x54, 0x46, 0x71, 0xba, 0x80, 0x25, 0x61, 0x53, 0xd6, 0xe9, - 0x99, 0x0b, 0x88, 0xad, 0x8e, 0x0c, 0xf4, 0x98, 0x9b, 0xef, 0x4b, 0xe4, 0x57, 0xf9, 0xc7, 0xb0, - 0xf1, 0xaa, 0xcd, 0x6e, 0x0e, 0xf3, 0x20, 0x60, 0x5c, 0x29, 0xed, 0x0c, 0xd2, 0xeb, 0x6c, 0xfc, - 0xe2, 0x16, 0xc5, 0x2a, 0x31, 0x75, 0x80, 0x20, 0x1c, 0xad, 0x7a, 0x09, 0x43, 0xd2, 0x4b, 0x7b, - 0x06, 0xd5, 0xbf, 0x75, 0x87, 0x61, 0xdd, 0x96, 0xe1, 0x19, 0x70, 0xb5, 0xde, 0xd6, 0x97, 0x22, - 0x2b, 0x2c, 0x77, 0xe7, 0xf2, 0x56, 0xa6, 0x05, 0xac, 0x75, 0x55, 0x49, 0xc1, 0x65, 0x1f, 0x25, - 0xad, 0xfc, 0x9d, 0x53, 0xd9, 0x11, 0x7e, 0x3a, 0x0b, 0xb4, 0x09, 0xee, 0xe4, 0xa6, 0x00, 0x12, - 0x04, 0x72, 0x94, 0x9c, 0x7d, 0xda, 0x1c, 0x2e, 0xdb, 0x3c, 0x33, 0x0c, 0x7f, 0x96, 0x17, 0x99, - 0x82, 0x91, 0x64, 0x57, 0xd3, 0x31, 0xe9, 0x63, 0x09, 0xdd, 0x24, 0xdf, 0x74, 0xee, 0xdd, 0x00, - 0xe7, 0xdb, 0x49, 0x7e, 0xe1, 0x30, 0xf7, 0x7d, 0xe6, 0x66, 0xeb, 0x55, 0x7f, 0xb3, 0x16, 0xe8, - 0x7a, 0xda, 0xf1, 0x81, 0x3c, 0xe4, 0x26, 0xa4, 0x58, 0xa6, 0xee, 0xe3, 0xa8, 0x5b, 0x2a, 0xb8, - 0x8f, 0x65, 0x53, 0xaa, 0xda, 0xe8, 0xde, 0x65, 0x2e, 0x21, 0x1a, 0x1d, 0x9f, 0x33, 0x4d, 0x59, - 0x6b, 0x5e, 0xb6, 0x17, 0x34, 0x07, 0xef, 0xcc, 0x2e, 0x81, 0x54, 0xbb, 0x9c, 0xa1, 0x21, 0x2a, - 0xa9, 0xa1, 0xa1, 0x12, 0x1d, 0x2f, 0x5a, 0x77, 0x12, 0xcf, 0x25, 0xcc, 0x81, 0x48, 0xb8, 0x05, - 0x2e, 0x0d, 0x2e, 0x09, 0xf2, 0x0e, 0x5b, 0xa2, 0xa9, 0x82, 0x77, 0xe9, 0x75, 0xb0, 0xee, 0xd9, - 0xa8, 0x92, 0x06, 0x96, 0x63, 0x37, 0x16, 0x3f, 0x21, 0x5c, 0x9d, 0x04, 0xa6, 0x59, 0x8b, 0x09, - 0x58, 0xd3, 0x33, 0xd8, 0x46, 0x77, 0x3c, 0x69, 0xe5, 0xab, 0xfd, 0x0a, 0x04, 0x27, 0xf3, 0x66, - 0x06, 0x14, 0xdd, 0x82, 0xb7, 0x9a, 0xdb, 0x85, 0x1a, 0x0d, 0x58, 0xb6, 0x2d, 0xf5, 0xf0, 0xb3, - 0xac, 0x83, 0x6e, 0x6e, 0x25, 0xf3, 0xa5, 0x1f, 0x49, 0xa9, 0x9a, 0xde, 0x57, 0x79, 0x6f, 0xe9, - 0xfc, 0xc2, 0x6f, 0x0a, 0x1f, 0x94, 0xff, 0x08, 0x19, 0xfe, 0x52, 0xb7, 0x50, 0x87, 0xed, 0xbe, - 0xd3, 0xa8, 0x16, 0x26, 0xeb, 0x54, 0x16, 0xc6, 0x65, 0x57, 0xf1, 0x1c, 0x0f, 0xce, 0xdf, 0xf2, - 0x23, 0xd6, 0xaa, 0x8c, 0xd5, 0xc3, 0x53, 0x86, 0xe5, 0xb4, 0xb9, 0x5a, 0x0f, 0x03, 0x92, 0xca, - 0x30, 0x1a, 0x38, 0xb3, 0x68, 0x7d, 0x09, 0x44, 0x93, 0xb9, 0xe9, 0xd2, 0x64, 0xd0, 0x7a, 0x19, - 0x0c, 0xe5, 0x7d, 0x11, 0x68, 0x04, 0x38, 0x2a, 0x3f, 0xab, 0xe1, 0x5a, 0xf4, 0xdf, 0x4f, 0xa0, - 0x43, 0xf0, 0x28, 0x7a, 0xa1, 0xed, 0x55, 0x68, 0xd9, 0xef, 0x5d, 0x12, 0x51, 0x0d, 0x01, 0x0c, - 0xcd, 0xab, 0x4e, 0xb6, 0x16, 0xf6, 0xdf, 0x13, 0xbb, 0x31, 0x26, 0xef, 0x43, 0xd9, 0xd6, 0x57, - 0x35, 0xe4, 0xe4, 0xc0, 0x4b, 0x57, 0x63, 0x48, 0xd0, 0x40, 0xb5, 0x35, 0x05, 0x5a, 0x3d, 0x5a, - 0xe1, 0x91, 0xb7, 0x5f, 0x06, 0x12, 0xf3, 0xb2, 0x40, 0x66, 0xa0, 0x52, 0x45, 0xf2, 0x7f, 0xe5, - 0x7b, 0xda, 0x66, 0xbd, 0x6d, 0xec, 0x7e, 0x4f, 0xc9, 0xcb, 0x23, 0x68, 0x02, 0x06, 0x2a, 0xdd, - 0xe3, 0xcd, 0x0e, 0x31, 0x34, 0x82, 0xc9, 0x2a, 0x0c, 0x72, 0x11, 0x02, 0xb1, 0xf3, 0x8b, 0x01, - 0x5a, 0xb8, 0xd0, 0x15, 0x59, 0xcb, 0xcb, 0x40, 0xf6, 0x74, 0xe9, 0xef, 0xad, 0x5e, 0xe9, 0xc2, - 0xfe, 0x13, 0x3f, 0xaa, 0x55, 0xca, 0x1d, 0xd0, 0xff, 0x26, 0x71, 0x0f, 0x9d, 0xa8, 0x19, 0xcc, - 0x14, 0x59, 0xcb, 0x7e, 0xd2, 0x60, 0xda, 0xd3, 0xdb, 0x05, 0x96, 0x25, 0x8d, 0x47, 0xc7, 0x4c, - 0x32, 0xa8, 0xb8, 0x52, 0xb6, 0x71, 0xc5, 0xa0, 0xca, 0xa2, 0x00, 0x16, 0x03, 0xd9, 0x0c, 0x91, - 0xa7, 0xdf, 0x2e, 0x2d, 0x4e, 0xe9, 0xae, 0x9b, 0xf1, 0xa6, 0xb1, 0xec, 0x88, 0x15, 0x1c, 0x62, - 0x36, 0x0d, 0x03, 0x02, 0x4d, 0x2e, 0x2d, 0x01, 0x14, 0x08, 0x4f, 0x6b, 0x88, 0xc5, 0xbb, 0xa2, - 0x4a, 0xa7, 0xce, 0xcf, 0xac, 0x16, 0xe9, 0x1e, 0x0b, 0xaf, 0x3d, 0x86, 0x53, 0xe2, 0x18, 0x09, - 0x3e, 0x81, 0xd2, 0xa6, 0x3c, 0x32, 0xef, 0xf1, 0xd9, 0x03, 0x0f, 0x9e, 0x14, 0x14, 0xec, 0xe4, - 0x20, 0xda, 0xa2, 0x4e, 0x0d, 0xd5, 0xb8, 0x45, 0xb3, 0x27, 0x4b, 0xb8, 0x39, 0xca, 0x1c, 0x53, - 0xbc, 0xc0, 0x19, 0x42, 0x42, 0xd7, 0x4b, 0x26, 0x31, 0xb9, 0x49, 0x5a, 0x65, 0x4f, 0xbb, 0xdc, - 0xbf, 0xad, 0x77, 0x9f, 0x73, 0x22, 0xb6, 0x07, 0x36, 0x24, 0x98, 0x80, 0x60, 0x48, 0x21, 0xd9, - 0x69, 0x24, 0xe3, 0xfa, 0x39, 0x7f, 0x35, 0x4a, 0x5e, 0xcc, 0xa3, 0x4f, 0x61, 0x4d, 0xa5, 0x45, - 0x6f, 0x9b, 0x36, 0x33, 0x8c, 0x37, 0xd8, 0xf6, 0xfb, 0xf6, 0x26, 0xbe, 0x98, 0x34, 0x77, 0x76, - 0x60, 0x22, 0x87, 0x27, 0x46, 0xda, 0x10, 0xa1, 0x77, 0x1c, 0xeb, 0x02, 0xdd, 0x8a, 0xac, 0x01, - 0xba, 0x18, 0x6b, 0xf1, 0x48, 0x86, 0x30, 0x47, 0x9e, 0x12, 0x84, 0xda, 0x01, 0x90, 0xfc, 0xe8, - 0xb5, 0x9a, 0xc6, 0xb0, 0xfd, 0x41, 0x6b, 0xee, 0x56, 0xb7, 0x2f, 0x0a, 0x58, 0x45, 0x15, 0x35, - 0x57, 0xff, 0x0f, 0x49, 0x50, 0xa0, 0xdc, 0x5b, 0xe6, 0x5c, 0xe9, 0x42, 0xd2, 0x2e, 0x18, 0x53, - 0x4c, 0x4e, 0x0e, 0xfa, 0xbb, 0x2d, 0x15, 0x25, 0xdc, 0x48, 0x58, 0xb9, 0xb0, 0xf7, 0x7d, 0x47, - 0x4a, 0x12, 0x5e, 0xbc, 0x25, 0x0e, 0x08, 0xfe, 0xdb, 0xfa, 0xa6, 0x6f, 0x45, 0x3d, 0x90, 0x93, - 0x2c, 0xab, 0x3f, 0xf4, 0x52, 0x21, 0x90, 0x99, 0x68, 0xe5, 0x1e, 0x6b, 0xc2, 0x54, 0xd5, 0x09, - 0xad, 0xeb, 0x75, 0xcb, 0xa7, 0x6d, 0x48, 0xfe, 0x02, 0x4e, 0x3e, 0x66, 0xd8, 0xdf, 0x5e, -]; - // Copied from librustzcash // TxID: 64f0bd7fe30ce23753358fe3a2dc835b8fba9c0274c4e2c54a6f73114cb55639 // From testnet block 280003. @@ -236,6 +137,8 @@ pub const GENERIC_TESTNET_TX: [u8; 2005] = [ ]; lazy_static! { + pub static ref HEADER_MAINNET_415000_BYTES: &'static [u8] = &BLOCK_MAINNET_415000_BYTES[..1487]; + pub static ref DUMMY_HEADER: Vec = >::from_hex("040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003d000000000000000000000000000000000000000000000000000000000000000000000000000000fd4005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").expect("Header bytes are in valid hex representation"); // Generated transaction test vectors From a0baab5fe290a5dd5aaa5aab8ea7334e2ffbed97 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 24 Sep 2020 23:00:40 +1000 Subject: [PATCH 04/10] Update the TEST_BLOCKS list And put it in a more obvious place --- zebra-test/src/vectors/block.rs | 37 +++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/zebra-test/src/vectors/block.rs b/zebra-test/src/vectors/block.rs index 07d564ab0e0..a525d0b1fac 100644 --- a/zebra-test/src/vectors/block.rs +++ b/zebra-test/src/vectors/block.rs @@ -3,6 +3,37 @@ use hex::FromHex; use lazy_static::lazy_static; +// Update this list of test blocks when you add a new block test vector to +// this file +lazy_static! { + pub static ref TEST_BLOCKS: Vec<&'static [u8]> = vec![ + &BLOCK_MAINNET_GENESIS_BYTES, + &BLOCK_MAINNET_1_BYTES, + &BLOCK_MAINNET_2_BYTES, + &BLOCK_MAINNET_3_BYTES, + &BLOCK_MAINNET_4_BYTES, + &BLOCK_MAINNET_5_BYTES, + &BLOCK_MAINNET_6_BYTES, + &BLOCK_MAINNET_7_BYTES, + &BLOCK_MAINNET_8_BYTES, + &BLOCK_MAINNET_9_BYTES, + &BLOCK_MAINNET_10_BYTES, + &BLOCK_MAINNET_415000_BYTES, + &BLOCK_MAINNET_434873_BYTES, + &BLOCK_TESTNET_GENESIS_BYTES, + &BLOCK_TESTNET_1_BYTES, + &BLOCK_TESTNET_2_BYTES, + &BLOCK_TESTNET_3_BYTES, + &BLOCK_TESTNET_4_BYTES, + &BLOCK_TESTNET_5_BYTES, + &BLOCK_TESTNET_6_BYTES, + &BLOCK_TESTNET_7_BYTES, + &BLOCK_TESTNET_8_BYTES, + &BLOCK_TESTNET_9_BYTES, + &BLOCK_TESTNET_10_BYTES, + ]; +} + // Mainnet // // for i in `seq 0 9`; do @@ -45,12 +76,6 @@ const BLOCK_TESTNET_9_HEX: &str = include_str!("block-test-0-000-009.txt"); const BLOCK_TESTNET_10_HEX: &str = include_str!("block-test-0-000-010.txt"); lazy_static! { - pub static ref TEST_BLOCKS: Vec<&'static [u8]> = vec![ - &BLOCK_MAINNET_GENESIS_BYTES, - &BLOCK_MAINNET_1_BYTES, - &BLOCK_MAINNET_415000_BYTES, - &BLOCK_MAINNET_434873_BYTES - ]; pub static ref BLOCK_MAINNET_GENESIS_BYTES: Vec = >::from_hex(BLOCK_MAINNET_GENESIS_HEX.trim()) .expect("Block bytes are in valid hex representation"); From c9b4c5a2fa8f3abe8bb04877bacefcb49974fb73 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 24 Sep 2020 23:37:38 +1000 Subject: [PATCH 05/10] Add mainnet block test vectors for each network upgrade Also simplify the block declarations --- .../src/vectors/block-main-0-347-499.txt | 1 + .../src/vectors/block-main-0-347-500.txt | 1 + .../src/vectors/block-main-0-347-501.txt | 1 + .../src/vectors/block-main-0-419-199.txt | 1 + .../src/vectors/block-main-0-419-200.txt | 1 + .../src/vectors/block-main-0-419-201.txt | 1 + .../src/vectors/block-main-0-653-599.txt | 1 + .../src/vectors/block-main-0-653-600.txt | 1 + .../src/vectors/block-main-0-653-601.txt | 1 + .../src/vectors/block-main-0-902-999.txt | 1 + .../src/vectors/block-main-0-903-000.txt | 1 + .../src/vectors/block-main-0-903-001.txt | 1 + zebra-test/src/vectors/block.rs | 186 +++++++++++------- 13 files changed, 130 insertions(+), 68 deletions(-) create mode 100644 zebra-test/src/vectors/block-main-0-347-499.txt create mode 100644 zebra-test/src/vectors/block-main-0-347-500.txt create mode 100644 zebra-test/src/vectors/block-main-0-347-501.txt create mode 100644 zebra-test/src/vectors/block-main-0-419-199.txt create mode 100644 zebra-test/src/vectors/block-main-0-419-200.txt create mode 100644 zebra-test/src/vectors/block-main-0-419-201.txt create mode 100644 zebra-test/src/vectors/block-main-0-653-599.txt create mode 100644 zebra-test/src/vectors/block-main-0-653-600.txt create mode 100644 zebra-test/src/vectors/block-main-0-653-601.txt create mode 100644 zebra-test/src/vectors/block-main-0-902-999.txt create mode 100644 zebra-test/src/vectors/block-main-0-903-000.txt create mode 100644 zebra-test/src/vectors/block-main-0-903-001.txt diff --git a/zebra-test/src/vectors/block-main-0-347-499.txt b/zebra-test/src/vectors/block-main-0-347-499.txt new file mode 100644 index 00000000000..b836ec0f512 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-347-499.txt @@ -0,0 +1 @@ +040000006d1358b9015d0d939ad2a8992283c1fc17b59821e0f10cd169f8040700000000e0d370560a7295f19301e6b980a8f380dcf423e373d3dc523810fc6fe5e6930c00000000000000000000000000000000000000000000000000000000000000007c98315bc0240e1c05e89f80ac000000000000000000000000ef1a31000000000000000000000000fd400500304dfdb2a5bc755899d0a78db3afc8cd2197ef820a33212a90b50ba1f6fda0ad659d8d5aed3f1774d51aa5be2da8e3f5f5987a9800596f41caa37c35c4f034762b2c2570204db90f5420d333dbd2402b9ed80802fb3b63fb4ca1ad32ac6187b35642ee94b4d518b70331695de8c8128e795036b8c9f7b1977966de046713a0d724fcf0dc03f891317fda2bac5ef60dbf379875330498d1e7b775c7c0897f2ff6376b127bfc289e0689daac61d341fd08579349bc22281f98441f1c96174489b87c1ecc27a80c72c1bf6355512295fc749c33cc0c62e6137bfdeafad6eb3de8304b19325e200734af0a4cb5d73e9557dca4c63aaa65a1a5b8d9fac006eaa4eabe6586ebeb63b1bf49d2928d44651bd1fd6b945fc2f82193cbe6703712dd756eef46b35c67b35478e457a761ba3988158945064ee7f6c7b0da5c04a5c546b4e4b5da1bef2fba9a55e0222ec45f3885070262bc7b66be568df72a509d76d3ba28683df638ea0ae4c2ee4c145039e744461f55dc2359d68a7712460e5fbb1c599413e0aa8c72f3514aef90db4c6f628c10e3041535d96551f6a62358a03bd5cad593db8f2e05d6df965691b6c2e74642437c92928dc2b955db1d38bf9dfa0c26da11391aa52e972b5f8384afffdc460e77a96e88cff9e361f241357a9701a656a8b42163343733d6d51c432f7751882e89d1b5e7333bda58b208949c0e680d942f27fea11566ca3d6cb148b4f32f11c0d3eadda6e33b7e36f14a16e6481f47289fda6309b98ea386870f7f2799e2825054a38a754cdcc4a93cd6ab688dea2dff9caaf4eac73ef531fd2579caf411051b4ad2555053c9bd23bdf5e7c28293143ed71d31659d4c65d75a811d2f43baecd066a2e634f9fe692e997c4c0efc176be8d7c6e6584dc441c3695470ad5618ec39911aa64d059d969efafba6af5b903afac30187adeeb7334a8f9ec5f13c1fdee4e05da55805120a7cfbf7754dfd47759d43f3d5f4b3ba8d3a5a386313e8f9718cb69f35d93be57cd9b1a5edf54d5980bc6648639c142a393f95686773204ab28a4fb2b44f9a1040f37d547d35d7ec5af5902d75eb8a0fc4f661861e49995e36194d6edc8386739d58e6bdde023987201c263aa96fdc62b7da87e3adb832fc554f9dd30a271dfdd4f232202119a11bd325d89a32025fdafa825204317fe06aca5191462a465b9e6e6eee4f097e186c04de60d2384cef39d88c010c4bfd4815c65212c56922cfacc4308eeffd7d659492005d835133ffefc0eb5f2d551c80eb6815d894161fc84d864a28329df2d704e8e519db6a1ba563b3d258d4cf9a7793ce1e1d5549a90596f759dd7d3d1519c5fe7e374f76e77e6bdf0a99f6a8d812998f7dbd6796e85428d775479c18db22f801725b310e33b6fd545b2a3781959c90fba28903b8ce8328d67c07de4ee3d806300bf524bb7f5cf32ab42d3557955c8fe6cb32ea0724baee04253f815418ad6be2b3c8bfdf59a54328a3486d456edc318c6855b845836ab476bbc1d425cc97f9f6a68940b9d7aa05b9a6030267cb6553d200c205d054c1dc897ace0e0748fa1fed4a6317a2f038e517d21c738ba0df2f2317edc4449447d54dd2f4e4f4774a00a547a1bdbc1158b41d6737da53f755833b9d51ef98b70d1c18837108ccb7d5420d11c5cc5e833574e2c739deed92caa8173d363bd1a7b443b9c2a7e7f053475ea664dc241d09cf8d6779ce0217a0e8522e22e55d4d1933bd7726130176faba5851e2e28a75d947de555f15315f26610bc5a54598525be1da7fc274ac60c39971b55a11d4433ea2a1bd5306cce3c2543e16562b5137d1acaa1821c874d2bbaa767db8766256b535fb617bd01bddce25d4950d961151ad5edc03d0d2fd58713b2c1ad0730a01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff05036b4d0500ffffffff0230bc9b3b000000001976a914588219b4d6bba2e535c2f92af7f85f5687ce82ce88ac80b2e60e0000000017a9141b71afad5f3185b75457bdab3fabc297b56694e287000000000100000002e9c26dedfbe1fdf508c48227bb0799ced16137e52b4da34f38c4c368dccb06b43f0000006b4830450221008d9ece32246c1ebb7d82642baa9e1703573514ea31d6e130443c8136bda4a2a802201099e2bdb08cd09a68ae02858d8f9e5f593deec4a79d4b68180609e36853c4d20121031e4e6acdfd3894722bdff12ebb16e1aed351fd028034e34154400c95952da1b0ffffffff9dc9de6f75552b77aa8938ad525c9396ce19cb26cd092e1edacf1716e16deb09000000006a4730440220037ec2b0b29a8e0a7decccb8b8991e0ae0e846938fbc070c7afee3ccc9efa70702203e6d7e3f2432a53e2ff1c434f8dfb695c2d0c1a7866fa7c6ca78e6424c61ff88012102b591eb2bf70b4a6f4538d0c2051a3eab3041fac1d6d6d4f57f9bc32bd47259f0ffffffff0240b31100000000001976a9147e9bec932532ed81f088b3eefb834b16bc6c820688aca1451400000000001976a914771696591a40b525e244efdd99ef95a2a50bc8a088ac000000000100000002015884cd75b8d1f4a5767fe691c30d44e99be9596fc72bab9987423e8a8b7159020000006b483045022100858dc82763aa43f631d2e36bd96ff934844ffe63f34b5ba66d59a7e6876fee430220338a94403dee83f9b16c6ed028ec42c2314a8b15373386bfdb40067bb7f70b65012102d5e15f012e1cdad54f2adf3147d80afdf17da5f0cd77768785f2a84e4187bae7ffffffffce63e046378ce8d0eff5b73a94d7b658a159dc3acb6166bbc87d76c5fcc78600020000006a473044022072dc7aa6cfefe08af9466caaaf49f056d1d9d1f05ea6031021c226255a6b4e3902203a620c9cdeedc9a0a1d630c0bb41844352693008604a088da31890b22e0cac6e012102d5e15f012e1cdad54f2adf3147d80afdf17da5f0cd77768785f2a84e4187bae7ffffffff021bb71100000000001976a914b66e6431c93242bb2895267aa1010c261768a6a388ac64000000000000001976a91438fef011da24095f9fcaf2a8be83af8d478c753b88ac0000000001000000056c1d039a28fc691a60ddd54f2800596c2f36ab15bd006eb19ad92b39977edb6e1b0000006b4830450221008d787066ab3d945808c27f59634938e1eac805f49cd135303f7dc1b00bba029b02201ea21534cafefa3c2bce4a845b69be239d0871e2e7a16cf2435b73e0a9a99857012103a2e7ba1fe253226538f0576d225668a1ef895971e3f6a1657abbb5e2bf0edd4affffffff3a1d828447ebcb0486da8833ed1b17b59bd416035c4207aaee4e7de143369c347d0000006a47304402204bba95ea954ab589e69ef4255c13e49313ed5d7024bc38550d8d1cad45455493022008258c00172c239c62299c33536d1c2f899018506dac8a0140c6bacb4e7f3194012103a2e7ba1fe253226538f0576d225668a1ef895971e3f6a1657abbb5e2bf0edd4affffffff8090a399547fd151e7894c0792c51cb9ee22356850a92aa20cb65994c3390e51520000006a473044022061d34bb827a5518872960fb963d7705fa41af9803ac9749c211b388f5577a8140220696242e2835ad5d2d2381b5f703614ac36a2e4c6ab6159500b38445b4c6f3133012103a2e7ba1fe253226538f0576d225668a1ef895971e3f6a1657abbb5e2bf0edd4affffffff8e08832c8a1792347f6eba270b3275063d3ee650b9be3b37dfecf7f89953806f970000006b483045022100dc93dea15b7158ac65ef595d8b40211e67b2ae46ea8e49b0302a8093ee92c803022059271b149a61a59e831b2002fb13eb0b41fbe7f355d6c1a59c28ba56505ac178012103a2e7ba1fe253226538f0576d225668a1ef895971e3f6a1657abbb5e2bf0edd4affffffff4e3615526e2f326a257a64c38c41b10c8bb0e3ca0c7ded67b8ae96a0743a2a19480000006a473044022002af21eac439896a2d8a56ac16def17897c6b7a1afc3f22882d337ffcbbfbab9022055b8c9455c380ad9c8b6e99190d4fbff9d02f03b7f40b4e63dbee87bdfc594d9012103a2e7ba1fe253226538f0576d225668a1ef895971e3f6a1657abbb5e2bf0edd4affffffff0140985400000000001976a9141e478fc506b04c4f41b6ca9efd71cee4a7cadd3088ac00000000010000000552add3e7b4429f7f41f42a241cd237f8047de141e98701a3c91a8a624f0d4118020000006a47304402207a9762d157724b30e53739ed740c4d23a0e9cfa406978b1459fa464eb30160380220494366f0ab99e59c9d5c09ef8c5841563c84da206e9e04df862b7ed7df1a66a4012103a4aa2cf3d59d6fe5eaa5be657d6b7cdb3ac46b19441fe63e04557ba7ae6aba10ffffffff242ba06e210bd5dbfcb4a0b4729229de6ccb01d7b93ea5842df6e672858be027020000006a4730440220136d0750212326ea4f8fdaaa55c38376ecc1d50b26dc8a6a97adad30b887f9f002206fbaf758c30a1044ab9016035c840f1c70c751af103d79c48a367a4d50ea04fe012103a4aa2cf3d59d6fe5eaa5be657d6b7cdb3ac46b19441fe63e04557ba7ae6aba10ffffffff804fbb0a70914e4f030b45fdf71b14c62d418a1fddd076fa05669413bcfd04ec020000006a47304402206693a151e31cd3d94ba6f7eac16570ff3d219947672253ddc1492fdd9b5906290220147e4a3c7f3abae5a4acb0697cbcd1d2c0c62213c9d473ef426b697279930873012103a4aa2cf3d59d6fe5eaa5be657d6b7cdb3ac46b19441fe63e04557ba7ae6aba10ffffffff763930d15f0593a520d29c2edf5a3cc2d874c8ca2ec11128025c15edd3c692c0020000006a473044022010ffa4378a3c536fa197d6b92c5504c0d58879a24cb9b79404e46dfe0214b1cb02205136d45faf155031f322a297f49a324ae94861a6b3fc6d5b47c2ae7287f177c7012103a4aa2cf3d59d6fe5eaa5be657d6b7cdb3ac46b19441fe63e04557ba7ae6aba10ffffffff2a6acde41ee29cce30194b930aa4ae1a5bb5ba51381468dfe263a85e7cd3cf3c020000006b4830450221008086f3280eec68bf91ddfb0bac1ef2c278ddba2e6a2dc266e181028eb49c6c0902202d693c60708bc3410a5b41ed9e61f512ab7a2e1bfb598ac874c66384202e0c54012103a4aa2cf3d59d6fe5eaa5be657d6b7cdb3ac46b19441fe63e04557ba7ae6aba10ffffffff02a73f0500000000001976a914b66e6431c93242bb2895267aa1010c261768a6a388ac64000000000000001976a91438fef011da24095f9fcaf2a8be83af8d478c753b88ac000000000200000000000000000001000000000000000010270000000000002a1f32a5781a427a610c3a810f2b114e2e14c818099d21a6261808b724e3773e720349cf590f516240f0795d666ba3dc5d731ca2da7bc952d9b9725ba0daccbe4068b18c1be4c8ee447271e3ee56959a8f84487b93dd141b5516ffd28742de44ff2615ce809a585d4351907c184d9051ed3ce043743c23bdb9fde82bca8dd8dd854519e2789f5049267211d42e35934d6536371660d1bc610f33216d95909b4f14076ef095d3354346f928f5b1778dec39cf7d3a2bff4ea3a71101e1df0e976287cc9293993f4bec41e40114593a38210d8d787fa0f212f4eea36faba0fd5fe54104ec6fe434fa881169fbaff39a298c2f8193b2168331eda37462b1ab5c37d035ede235ab9025094be6222e76639b4253ea74c9e04789a3bab04d48bc3c7fc2022f5bc5d1c79648e188e549dabb86af74fcf6215917ee6313af4a45ae086bb941022a2fe135164f5be9002d58bd136a1e52d89df83202cf7da857540c285f315f4a0a00ead0bcb077837f871c36e8100d01bb9dd707ed1f6c0b69a60b16dcff522f97d9e137a6e307afeb5bb3fe6f18369ce631b40f2903cffcd7ac97cf4884bca2eb032779fe5cf69c5a65a522ab4613314e390ebf60f0c12044a43267fd1e7dff2142022b28e0e38dd4dd1e3dbb2b6e7f00009bdcf0d187b44956a037c732757f0a2dc3021866cc64965594b0a7bc17c91a264abbb41458d73cfdfa336ab9199960778ee503009594d48383d655b3e19547064bb760b19df854d9cdc749454aeaea095b9f8f0327cc01cc9b05a4fd303346b8463397bda8b2860b0d910309a5b96089b33d7d6549c635d659a45a196d19ed17391b6b061033c70388b863ba4c148dec884a7c15f42101585e83e86452ee0925d8629203d5d723a5e61a66f39ae5a8c9ca074fa8952c9b639a0fb88086842973c6498f412c5b790bd961d955e1c6dc7b923fe0428ac43125c6234c7f99933ac645f5ce9bd8322d0a521ede23e022bfae7b588b83f7faac62f4589ef4b87304f115e8623cfcabe9803012dfc3e67f7aa4e490c4ec0a18e4179c9ff5c201ead91dad752853165a4c2d2730e6c90db97a8e529f106bb04f9bb2ff73efd9cacf1ea6c1d8284425d5cb372dc3d34a9759afbb7687d304bd064b4fd888475a5db87ead695521e6beac248d0fe13bfd9d60552f16af63e1de7059e7852535e2b22b3f813a8f8d4de28d661086ee616889626a05d25a64d9c00344aeb8d52cdfb3676ada5257890860dcdec27a68d67740ceb45b6dfc58558f6c8a272bc1e5cb750c1f2453819ed689949ff7f08dfc10a95758dfd2e704c9b551ccb74abee1f130a8a4f62840e24cee2520f399920cd2fc2844213fb64f92757599b6cbe4e4e571af85c03eeb0a43a7cccf0574965f71577cd8a71a727fa4f3e390299846d40c91a64e69f1d07230e75e234f0b29147c199720261a5a127ca3dbc3f423c3ccaec72dc82fd5c198f797eca47c4294e620eb94527d376483836fc831ee4d6e3b55a5f8e02f21ec2b5210749bd30dae153e7e6db689dbfead9bb1ec5e68b4284d5ab7440f92de3fb1be4b1c387405d74120fb0783b775eace3a3c8cdf50d3b93e5a052dc156f381908901c033d83edabb31252d870e157950a5a11b892b2b850acb85b40842ef5fbaee06f51f6f9bc81348d7188d0042a36797548b9e64f2c7ecc4172b0a0c48880b0d00ebb2fd62f2b7da13cbf1e66f56e2170801a1c93f6fa543930134598b680656b158dfc8fe6ea73f7e3eed09f2ae21dbd40ea6f356b97d073141947b94379dec54a16dce491216f866a093eb027a767129da35831aae11fe1ab63d8ef74e868f1db77aa2d2573b3c7fe5d45c35928a782d4e81559ec880668c58b34d149ba3c67f53d80be2dc901c78575960fa53809702f93ccca8a85ab44a4d608c6c1845f9f2aa106d5b7b6f512a3f7976fe3470f9c8f0698e3153b5fd906d057d96f05b6c008a6f7aaa6701c74f1c121157801512b79a26aaecea1d9c5691021e5810f7753a7c3084047e8ee746a6a46ab17e3411934525178548a5170a952fc428d9839edb1947ad788d372ad351c533fa2bd111c92201a8d2aeaebdc0d7b8d7f32ba028102c101f9cd3ad5439e7a6cb73b2ea99cf0521b6f39db396f3ca8166116ba5a0f298455c65f5080df3e38fb4696bded803375fd0c599f645ebe2858d6fad5b11c377e3218b69be7dd581868f433ae154725f956b87891059e9845e94ee1ebf578fbc63cf0d91eb97c465e5258b81c1fcf5a1cc5e7a02ceaff7641404fbbb52f48a6723350514e3a87c0cb588ae237a68b06e31441ba327de43a75683b0640114dc02df3ab3efde0e13b17839d1f384a15308e9e77ca91163d80f5d7ececdd6e2b26595fcd4691eeabf635e05aeaf2c75b57ce77ff8c151204bbac288c686f1f39172071ed938e5ec040fb1d113aa2adb619e222c3bba5035b8b4ace790970edb4e8e1659c04230a30d23e8bec1655a4a124418b4fb328be2d748817f034343abbedb56efe90ac153934e5f6ef8902a6e39647b86117d5c8ddb73c3b6d932c1fa36b35e9cd4cf83d89a20911f21e2f7bace67452874ec9e7d13c081bba784513b2e68921c620cd7512dbfca3e8e3ba96215893acd02a75b0320a80e6b8377261e800e020000000068d0a11000000000001976a914e8b23e32c7c498b211903feb6069f12b424a581788acc07a1000000000001976a914d08868550f53b1a31d2febb3a7d573b31c268a4c88ac40420f00000000001976a9149e49af9fc6b23731426d7dd1a3daf412a126779e88acd0c15e00000000001976a91470dfbd592acd410cccec573e6468dd54ad2ec37088acd0a11000000000001976a914643662e9d09a6b4e0586c5a8b9ad65577a00d27c88ac00881300000000001976a914bc85ab845e92ed0ae46578798515c09ae1f41cf888acc07a1000000000001976a9141e7476ffdd010d586f25d2fdc9e550c5d687d72288acd0a11000000000001976a914f9e67c6fa9d38b2ece0256cab238ab47c5b01d8688ac40420f00000000001976a9140eef8cf589ee7b540e217173ec35bcdf402483f588ac50690f00000000001976a9143831e91dca1825e081416609cc416247c2b026e988ac40420f00000000001976a91494a8ca32454f719a2381a7f09f89af07a1e8ad9d88ac50690f00000000001976a914a7633e9d651d871ce2d8cf5ef3749652f384df4388ac90051000000000001976a91469e95f7f40a1891aff88a3cc6d86b7473be4826288acd0a11000000000001976a9143277f09f954f5f7d14a447db0839e2aa4dd7f90288aca0db5b00000000001976a914ef7000d7c1d6c6f00f95bd20ae254cf5ab5b8eed88ac60900f00000000001976a914ab8ce26dfe82948d717b0f297ee6b7d8d3449f5388ac40420f00000000001976a91452dc69eeb30a1da219506e941aa64f25142f757588ac50690f00000000001976a91448365d8885aa73874b8e0d80577357e50879973688ac404b4c00000000001976a9148b7a9caa4a90deeacc4a6af72a9e1081021a9d3f88acb0531000000000001976a914239b4f340379023bd6f3c4501b1cf270dea2edeb88ace0c12600000000001976a9142d4e98376a173e6d154fb0dbcc471ef9b70e406d88ac70b70f00000000001976a9146350586add6b63c9610bb999ff8a131bbcf80db288acb0f91e00000000001976a914e39e0707950a81ab61ec5e244c3cb2746ae4d04e88ac50690f00000000001976a9146682e6fa6b166629a69b90cad95d6f60d1d477fc88ac40420f00000000001976a914d2220ae82a0991b55700a3c7c98ad6121f1fb9c888ac60a72000000000001976a9145c65308bb3e33c1f37e8e24f574341bbce7e3d5088ac50690f00000000001976a914d1254bfa9a23690817d698018334a091b6a27bc788ac00cf9900000000001976a9140e446b0d619b6cdefd277f2889f317cd11ca786188ace0142e00000000001976a91403ff1f215687476526e8886ca9ad09c212133db888ac40420f00000000001976a914c3d1bc4512bf0227e9bf426253469ebf4cd15ef488acc07a1000000000001976a91415a9c7853e7b9501e41c22f1440edfc09d5315e988ac90051000000000001976a914f5aaaf98e2d9155d4ca0c7899a0feb8cc0574cbf88ac80de0f00000000001976a91402aae5d666ab8d305068ea9ef20b96af66fbf36988ac70b70f00000000001976a914a64532d9d2dcb469f06137ab71ac3f6745b649f088acb0531000000000001976a9148e30aa0941e03d1f2bb5e5f5b9fd3e4defc2396b88ac50690f00000000001976a914714f2b345c11619d3f116ee004d171763edcd61f88ace0c81000000000001976a914d65688569f0421ab20e7c46f93e4a551de2d4efa88acd0121300000000001976a914858294be6a9f7b394fba8804a2bf356ce0bb84fd88acc0eb1200000000001976a91459644e33163e0318b9517f2a613508f549b2269088ac70b70f00000000001976a9142e9039af18da9cd1be654c85f1417944b34d1e8888acc07a1000000000001976a914e2a239247f2ebd4c51faa64d626379b693386b3088acb0531000000000001976a9147b2e8e4ecd4208a8c792273868650709037f62ea88ac10f60a03000000001976a914f81adc0aa35799b7e4b52868f307fd475b2a132d88ac50690f00000000001976a914d82a8133c679f51d97f235128a2e71e24b46967188ac50690f00000000001976a9140c3a160c7673b905a0fd18e937088afbd791961a88ac103e1100000000001976a91456ea5b9136ad66d3619bd486fcde61041d3e773988ac40420f00000000001976a91427208add2ae1ef3564a111a51d98d346fde7a82e88ac504b1400000000001976a914c32fd6a2c2a18412834b3bd6e054c886560d08ac88ac00171100000000001976a9141c451b7cef87d6f8909d36ebc070c1e90d9bbd9b88ac70281200000000001976a914d9bc3848b868e0d228af51047f12ba1fb67cc29a88aca02c1000000000001976a9147dd78d78ddd18aa54eb5a7e7a11dfb303a4e875e88ac00db1a00000000001976a914146b73a13e9af627ea55b63b171165d66cc2910588ac60900f00000000001976a914d0bced111ba23b3875ae7e72c46cf651d6d9400388ac90581700000000001976a9148f88e6f17f6be8b1ba64a68d83c17da52d5968c288ac20d61300000000001976a914b8d6b2f5a781b7e645f8ca8d8999e71c3fb76ad088acb0531000000000001976a914731725594a1c92050e36ea5e1457f85013f18a6288ac70b70f000000000017a914fb76c803dea607c621ce0fa325647487313ab7a587d0a11000000000001976a914a1de00374b8d119038a9a915beccc9435fcb352d88ac40420f00000000001976a9142f063eeba96cf073112b5ae8f8ef1a741206eb9088ac30fd1300000000001976a914d9abdaf8991a4fd962ae2d9c565ada881b6489a988ac903a1c00000000001976a914ca64e5ab3248a9b91ea10d472f42db0f4c39a5f288acb0bd2800000000001976a9145f4f6f4fa2d02acf6c9c849abf2bfe3a7cf6aa7288ac40420f00000000001976a914da739613e0d225061a9d90532e86274c23d8a05c88ac20651100000000001976a9148c45f89fd77ba650aff44e8aff54716e9fcdd33588ac00171100000000001976a914883116722a166abc748a3d4423f882c2623aae8088ac60900f00000000001976a914cad4137ae91560f11c183def1b4a8191e91abb3e88ac60900f00000000001976a914a7c52b251eb5189eaf2117ff0733a73553db4bfd88ace0df2100000000001976a914096f7b0369dd7d5adf86735ed8580d488104627f88ac70281200000000001976a914a801cda4c0ea160b3f193664091bca7ca15ecb2188ac103e1100000000001976a914d266dd07bfae1a1c55fc9a68def906a45d428e0e88ac80de0f00000000001976a914852ac06360feca4d0be2850738fa6b1b2d56bbdd88ac50690f00000000001976a914c4e445cef1d36d42c24d6015078e11aebc0dc77f88aca02c1000000000001976a91497978ff3b98419ea93a832dac5047bd7fe2fca1388acc0201f00000000001976a914c07a5754e60c18bd68e61ea48b0487d1f07353a088acb0531000000000001976a914026b84afe6eb2749537f3f62b38c64ee8709b0d288ace0c81000000000001976a9141e6d0f721d34de3ec968ed5e1dcd892c192cdf3088ac50690f00000000001976a9141a777121d4e74c7047e0b919a0bd17c7f6daa54388ac30a32200000000001976a914475a4cbf4ab8c50816ddd6f4ef723980dd6a76ec88ac90ab1e00000000001976a914789d6379b620feb7dfd029dde6258d7c4c3e60ca88ac50690f00000000001976a914b0b88aa891403ec814aa9395f0a81109b0cd984788ac80de0f00000000001976a91458b668c7a93b8627c29d2b71c87666008d0227be88ac60900f00000000001976a914f8a756a6a8f0e29ec34a94ba6de87762a9008e4588acd0121300000000001976a91400e5d479ff1a8ff5e64044cb9392704747759d9588ac70b70f00000000001976a9145d48804ef6b62e86a46c1dc8593ecbf8918b8f0d88ace0391300000000001976a91423fbefa265899dcba70251e17bf4f9570811ef8588ac40420f00000000001976a914e6fd58e8e721f5a4eb81a3480ccef75bd760cf2c88aca09d1200000000001976a9143c03f3f7ff36b88e7c9fcc1e569ad10aec7988bd88ac103e1100000000001976a9143248fca2490734eddbeb5257ab19d34b6a92024188aca02c1000000000001976a914308586e04d935fa6b277a4a9e0f6e763a3d2c0aa88ac50690f00000000001976a914562eebe29d539b72441ef75ac9d5f5e55af8746088ac80de0f00000000001976a914b6a2fcd9e1de40fe5d93effee2e6d32a5d96068d88aca02c1000000000001976a9148b4dccd9eb9dc845c1138e33ed8d7f3121d87e4888ac103e1100000000001976a91442a73259cead322a98346d22e468395d609be55388ac60900f00000000001976a9142c082cb8dec072464adf9e8173141af575114aab88acc07a1000000000001976a914381049cbc996a9ded6abfd097390f718d5be317488ac50690f00000000001976a914cce2051947f0dad2a5555f623c7c40109f3b915b88ac60900f00000000001976a914ccccae1574e32cd6d522ab7603d54ba4e40afb8a88ac40420f00000000001976a914c18acfa69c02c4778f73b041be54396dbc800ff688acc07a1000000000001976a9147efbb84951ced5ebe59f3d2b744d62213ca75ea188ac20223100000000001976a914517d3348f55df297faadb2d984620284fabb042988ac40420f00000000001976a9141a315fa40241a32ad82dede617fa4434ebba294488ac103e1100000000001976a91418024026d4a0ad3ab3ee0c1fa827d53217a7e66988ac80de0f00000000001976a914cd7add0853ba52726599201969eb00218e3f78bc88ac404e0102000000001976a914eb2376d99f066cf1ac716eb567cd4e026703804b88ac00000000010000000000000000c031dd0d000000002a1f32a5781a427a610c3a810f2b114e2e14c818099d21a6261808b724e3773e9664f1dfad0e7bf8a972166054dddfabd0fa4ff1adbf9db67aa550bc887763bf0f6c01193e0f81b46b202f9d6fd3cf73d46d40d18b17fc2e52d1854e1d5b4384e077c5309453d6c43f0b3aab11db51e2bb05de05f34de5bb620d250b8d5c2fa21fed2202c4cf8d196b77e365afb4f8f5c6810a2f6e0242bdff5df7da270847f1cfdedb48b49cdfefbdea9babc47f73ba2bcaef556210b793c909ab52f506511e0e55923e3f8e9ed1c106423da1903cba35b18420b23c2e2f95a8e13815eb7cb31278fb009dc131dd78c2a6da32e8bc6e3a130b44d7126f2139f5fdd40ea9616b0565581825552981a1bec2bfd0553ec6ad942f6e6d6b36ac6fa069bcc54f27d10325001ae7def923f60b254479b0ea43cc823644d39765a33b6a22ed8c6e3f0eca032c8a273f37b544be32430fd20838e10dd9c4eff79babd65458883b487ce8a22c0b02a9ff986ec63106ebd265766b7d568ff5f0a4e2fce4674ef60d198648ca4dd44a682e4fa7e76204e989e194a00f31f2a30d9e65de6cb5345b6a238be3a0038e022964d56e9c06e380d05101394927dc8189367343e449276667fb704672b5d456021884fa0633ce62ac3f6924c32f1e3f9e4024fbc179939cbb0e75a909adcde483021a54bd0062748a90125a4f2ec1dbffcc936980cf950310370cd20b632cccb76602300add4c8a2fd86eddd6bc1f1711b3e2d94c12b84d83bbb699dabbd5f2374f48032462a844aaf941ab6eacc791b89cfdf952958a5964d3bf84e834c995fc8e925ad1e33b15bdc67714325252e3f6ed2ca9f28c5c613361e1f82483fe2b06e9d5b715f80850ffdd31d62c07e3f91322f8c60b91c5470d6c639ed83ef565b52f1c88ec8e843f2e4605bf34afe20f2b925686fe0c68ef7b09566a885dc532a507cdef2e35d093202de2fe2f4d5aeef182f5541d86eaa47cdfed0360b294e4e5f0bba239a0a3b59ffd45228114487939cbabfabcd48a43b60e4587d346bfd972f95ce7bd31dd2fa4677a962fa0406c5cfe68c59c6ac25e19f17fd841e700e4760b58a1180de12a09f55ff659cf68f0e936e33f40068bae75f42c6656cfc1314fc54bf54c4a9866c9df3bb0f3672063a26265c55761d17403defce9c439d7a7f3b76a98efe5ac0972b600184dd93993097a13958008bfe7a10f753c676ccbf7ea2b60ec39470d0da1eab3a327ba32d4fc23f13af2f248abc28578abdbe19a7b9b4c066f02c5be890b55e43ecc2becd381f1d82ff93ef3660cfc80c98e9b238dbffca6d567f8a43c7244bf3c7393d10baeabe2f1b43f88ec8a4d624de4d13c152b590e5fafc40f5a76659ad38ec64b84dee5a0b205d24bd202afb31a219d058050fb87cecfadde4cbdbc894a298def3a9063d0b29b56715dc1a650b34daf8905979cacc0bfcb7bddb6fd2ed1e592a3cc36778eea49d5a6c4675f8a77cfa1a0116455d69342b51b2a93bd81859ae7e4d98d383e370cb597129f40b78a2bee0ed27483c435e4287e878945e52ad349ad41ac91c82fd4e9fc802fa6fef311b269cce1bf11195e49bef1b51171a65c1d8e202d36b8a57b4de8cca440929ad900ede08bd536033b22d97fdfeb3743d98179fbd7a7e1dbc62514bb634a77ec14b545290a11acb630e03d37fb73f45dd51b609f36c346494c8adec8a3c1f83cc53b3ca962725de813386fd516af04945f64ddbe1651086fbaa25ba3f8557743d88ae455003c7b911d23c343c60a9ae5c4ef3b3cea2e87fc339dca95b513c0bd84593cd37aafe990cac8f0749d62b24e65ea8d58a406c4e508123370d652a87c4eebf025f162c8ebeea988901c0159153bec1a6a9fd141ae42eceee0b93f8a46edeedaaa8f44e18cd6c2a4b8165c57cf67e6124ffeb72d133c3a9b4a46cde01d0d1a6ea12c7c0d491fc6ed3650303109e767d07057e04f5628b3eafacfa6c4bd91a9552ac288fafac9658ac1e24268ec23f509f28aa9d049aaec3e16f471508f1e535bf5e8a671ae9a427bbd34b3ff81211159b6b6113a22337544460aa340096c809be07d4254010e5fc2f02a7defde2e883cc467da7ace226a24e7379190f06d0a0b6be17d15a91e1d8f412985f65f7ec13114c415520f577d9680c04bd8aa41806d1b7b4cd38f161138f335049d08394c05f32be6701fdc9445d0f57566a9500968b2ed0ef3a7644beb53d1e6597f0592b225546fd363693259da9b80ced8faa86690aa2ae72b6ff20c8ad50aec50ac8894f4e9874f08e9f6288cc79cdae208dec9a0bb3bc9d509ed66deca8d2fb56f4efb26c32e553d73f9b1b88b2951a6642827d54d22351ab54810d4e8cef99f9bd2be0ed14ae483044dd72e7565ae5c56fb3891ed9aecf26820fab920d2e61100af46911380579e3995de98091a641cc639d0889d0d41ba2a1b39e0d403c3650cb348ccf331b0814af3e9cd2373187a28d506fb80fd9bfe9326ef7af3029b492d09b8d5821aa5d9e0a50a151011240f8d2105e3b364aa472590bba476b2ae93b994394cc3b4bb580ced207090ea8e2cc819a11efba27d8e0b3da56c58686c0a8705cfadab130732bdeb1e5f45711eff9d46527ba2823de8f156df630d7b932bdb6a7dea9935760536060200000000fd2c01e0c81000000000001976a914556b698d742787b383a69c4d2627be08dbbcaa6988ac70ce2000000000001976a914dd6855d7dc13a6d3243732b0cf149f00ea77bbcd88ac205e2700000000001976a91416c877fd5e516c86eb4e6757e5becd9446adb7d188ac60900f00000000001976a9144c580ba7fbad2805e16030463f7ca7607d7b7d6c88ac00171100000000001976a9142aeb9a9e6dad96297f139f399d323e1d2783f57c88ac40420f00000000001976a914a304766f743d16174c344c90019c849fe6be8deb88ac80a21900000000001976a914dce1fa79f54bb5e69b381447827fd41abab0edb288acc0373000000000001976a914db7a5e4bcf9d01338a20993df8d968200872cfd188ac70b70f00000000001976a91430b4b4bcf45b4d0bd0c5f38a05dad08a83e8cbc888ac80841e00000000001976a9145b9472f516e330c9da6b7c8b2b72a040d292cf4588acb0531000000000001976a914f27ae11e8930edaafda7d6f3431a91b4e37abac488ac60e31600000000001976a914b976cca2bfa6af9ef6eb258e99349590c494104488ac90051000000000001976a914fa13c16638437f139339600578971febe558bf5b88acd0a11000000000001976a91443ab8eb80952533a66502856e15a75fc5790b25188ac70b70f00000000001976a914ad6c5e466212c674913857494e681a7673c50e5088ac60900f00000000001976a914cf2b1096236162d0b4546cebcb1b3d92d574580b88ac00171100000000001976a914284c51c5474e616289dd8da2f24f5bb17d38d9d988aca02c1000000000001976a9145efb9f1c422a56868c1c9a1578fe8524365249c588ac40420f00000000001976a9148c010b8d5e38992243d8030d1ecead2a12959a7b88ac80de0f00000000001976a9146cc22268fe6fb0bb173e0c276a52a07e86b38b6788aca00e1500000000001976a9141a2586401f32c89226a6a307aa8a36547a11e8bc88ac60011200000000001976a9145128e2fed4ae17ee006d53d70fcb6b0d7fc0a40888ac40420f00000000001976a9147b08f8ebb0b14b2f69841f2ee1fb0b24dcf05f6788acd01213000000000017a9145af7d290fb6c30cc14dfb6f9c0600452ea81565d8750bc1600000000001976a9142e7acb0d608bffefe9b141e05cb248abf75691b788ac103e1100000000001976a91432168d6f111c2dddaea4a1ca5e85691ae3c416aa88ac50d32700000000001976a9141a56c956b4cea395f34c36973bc38eb74796ff4588ac00171100000000001976a9145962f2b6ad413915b578f65c8390401a71f05e9d88acd0a11000000000001976a914ac63d468331f75f330c545cb871efee77d67c67988ac20402c00000000001976a914f291da405733205ef5b23d32011fe9bb36b65d4388acc07a1000000000001976a91440f5f4d1934f67ad43596ac782822035cfa084c888ac006a1800000000001976a91430bb0a2eefc7159b5370e38f5f692c25cb3f98fe88ac90051000000000001976a9140e8fef338a1eb0967b281b475eb73f060a65503788ace0c81000000000001976a9140c2a49e73b272372ed482c2a11e5eb65163a20db88aca02c1000000000001976a914bc65fba078fd7e6de6c86184a9701e25fba9719d88ac50690f00000000001976a91444106ee59a0834ab14084dd3226b1f6589b91dca88ac00171100000000001976a91487ce92cd29ede91ecc05e04afd89caf9615e8cba88ac40420f00000000001976a914bf83d7b027de05478313bcbfda775a25f8a2c87588acb0351500000000001976a914ad4754864d29afff527f90c78825f8f6c198571888ac40241400000000001976a9148c202a292c58dac53f0d0cdacb624dbee8df874488ac60900f00000000001976a91490456fd8de04f8327c20a12f57c1d132b6a9cdf788ac50690f00000000001976a914f18948bd5bdc48dac83560f51e9a729bc5b1e08588ac50690f00000000001976a91463f72958edc6b0dac46e25fefc8d5b639db489f988ac70b70f00000000001976a9147df1a2e4879a9ca0673d82ee34a990255a52922a88ac50da1100000000001976a91433c36af361ee326704665d7fdb7757988433af9988ac40420f00000000001976a9149fad7c591d2112e1b887822b99b814883a1139e888acb0c41200000000001976a91483a35b85117609c2f306f37620981718e853dd0288ac20651100000000001976a91412b1bf7c925713ea862a1f305c53a6e61a085e2088ac40420f00000000001976a91427bb100aca70390c595939ee5c433e77167ef3a788ac00db1a00000000001976a914c29592366f9436fa695ce815c472ce1782e89b7b88acf0601300000000001976a9148baefa9e8106c1bfde38124dae2e64758c54d77e88ac50690f00000000001976a914227773d236453377145307825a51b7fb7bfd3b5388ac20651100000000001976a914357cf81505727403b54e3a730fb3124f0aea42fc88ac60994c00000000001976a9144b62b3275dd163b38ce73694b947fe0bf9c96dec88ac60be3100000000001976a914c9b294deda240c3c59ab4c7df8c93b77020b7ba188acf0ef1000000000001976a9146ae49804fdf5b3146cb6ac072102ea7815474c0488aca02c1000000000001976a914d264330df541ce06115b9c4522b74a38b065b16288ac50690f00000000001976a9148127cad2ab15244e9e9ea2e4c712341ca25bcab588ac60900f00000000001976a91495eb95e2f40885430ddd31fc010b2b35bd30b62988ac60011200000000001976a9146b25c7c8f3b6593cbe59b2f6ba20f829d17cb2ee88ac60900f00000000001976a91485a12fa6a3d14ea70614d485784d0b86e0208de388ace0fd1c00000000001976a91420722fa3c53a957eae18ec16bd3a7f70a29115b788acc07a1000000000001976a914a71bc182b18800357efd9de8d9af7095c9fa03a788ac80482800000000001976a914003758f71e3dc8fd20ae38ee872831ed13d59cd288ace0c81000000000001976a91491f3ae95ecf64e0d2759f1a504e643be1d5ef41f88acf0ef1000000000001976a914569aab956f946544ec788b58950cd1cbe295da6e88ac70ec1b00000000001976a9148433109f2ad795fcf37fb23a990e0e07ff3cdf1588acf0ef1000000000001976a9147eaeb0084303322ccc57050f5263cb3080be4a7388aca09d1200000000001976a914e619ee0a13f23ed7c0236fe4c41ea41b3dfb7b4188ac40420f00000000001976a914fab856a6ee4fbef08390d95538a053e894aaceb488ac30142500000000001976a914e5564c6b860783273859dedad6aa27c33c96dc6088ac90581700000000001976a914b224cb58baaec0f6077f93b0f3c3bd89d86c9cb588ac308c1100000000001976a914bc8c812ad73dc40bd01b574a9fedbe8924607a6088acb0531000000000001976a914518a913b18e680ab1c256f8ce4c9b458f17e5df588ac00171100000000001976a914b326bc150e0ec611a931fa42436729fe8765310688ac50690f00000000001976a914193eacb039cae4acadf16bdaa6739edc46bc54ff88ac40420f00000000001976a9141c04a681759191b065ff7068a6560ae8cfd0cbe588ac804f1200000000001976a914fac575697332e0a671ee9156806fd0cf2451129088ac10911800000000001976a91418486d649a5485b5fa6bebde6d9e4b0cf00f0fcf88ac30d14400000000001976a9144bb68d6615ad98f14b91e8ffbafc0b9dc1b7394788ac90051000000000001976a9146eec1b44c7ade3d1cf7e7d5b2e1ebd3893f5492288ac80de0f00000000001976a9149071e8f566c3695d60c8977297b3c0f09716e3f488ac308c1100000000001976a914c2ed3ac7d9f81c2fb0732862107ca52d85ed93df88ac703f2300000000001976a91466572e4c0d0b90018ecb5b310ef26c969df4a1be88aca02c1000000000001976a91485bb0a785e6c3b90fb3c2b7f12fa691ea87f64e888ac80de0f00000000001976a9148f86bc15f4f749058e1e4a0d8e66192ffaed55f088ac308c1100000000001976a91460ce56c0b457e414584f742eb7e304ec98ce562c88ac90051000000000001976a9149850df65c71b7d9fb71ad2bd64700123f08907e688ac20651100000000001976a914ef88832687e04d42cff3016bd792b8188f47eb8088ace0aa1500000000001976a91461fc0d899a894dc820c1fdb94910b08f5fc0deea88ac80de0f00000000001976a91407d842fb9784081aec071e194ad5b143bb05542f88acc07a1000000000001976a91428d8269c1adfd96e01f96067cb68eaa17c792da388ac90051000000000001976a9142759a4af7808d7a2659e4f216f8235cb1ee4feaf88ac70b70f00000000001976a9145ee17821c2a484b220cc58b0f4ed144aa9de9d4188ac20651100000000001976a914cf9cb8ef0feddc5678e8ba4b9b511927035b573d88ac50da1100000000001976a91488713bfe1b222fdde7adda0e4dce0a37556f272988aca02c1000000000001976a914836593f3e784a9587b22a5fa9275eb375f496fd288ac308c1100000000001976a914006d8eb28dbec1a5595fba51f25632697235cbf888acf0ef1000000000001976a914f27431e23cf726cb81cd680d6a4f22f5835a7a2788ac70b70f00000000001976a914f2f6d339c59a5476060cb8f87b8078030896663e88ace0dafb02000000001976a914209b3928560f8014ebfe9d290d9d07d7e3354c6988ac60900f00000000001976a91400f00201b18bd3d5426111c555d3b17cfb6b409288ac90051000000000001976a914c11e70d95f7a34970ee84a26eb91f5f3acf01a5b88ac80de0f00000000001976a914d08b13f07662d63ef56a2facc864ecce5fb52f1388ac60900f00000000001976a914977b8f0309e9d8174f456387026e15295fe9cc1588acb0531000000000001976a914c5a5db8c7caea13b0a61c21cadd1eb8c9c5d818d88ac90ab1e00000000001976a914a83be04de6f9c92767b686357585581812ea4dd888acd0a11000000000001976a91429889ad623e7eed64bc22180b7bcac7a80c3e7e088ac60011200000000001976a914c5b46b144e4ff4b8e0e1f265cdbe5ce65211c81088ac201d9a00000000001976a9148bfbda5488d58b6cc6715ebbca9b1959091d734188ac90051000000000001976a91487658170367924433c218d97e6bcc4c07b9cc52188ac90051000000000001976a914e686ac317e8c85894151984e2cb330957fbf5f5288ac50690f00000000001976a914799e1280ef5e7a04b217e111b2d43a42b224263588ac70b70f00000000001976a914b80ab3768fb4c50c4ecc6a6cd8570fe5da034d2288ac804f1200000000001976a914065a0065f8d1c96bc7e4be27bbc04486a46562bd88ac50690f00000000001976a9148509cbdde8cccc8cb7ff72e08b2b0246e27679cc88ac60721400000000001976a914a8f127fffe3471fe000430d38be0be0451658dfc88ac80d03b00000000001976a91449e31d715a71b015c1c7389272b33214e0c620ed88ac90051000000000001976a9146f17f343058b59cec77d127a7c0a6bba2e107b6888ac60cbf605000000001976a91452f270dcfa55f9b3144b8559ea56a73ffe9f759e88acf0ef1000000000001976a9142855bc241acd2199e3ee904d1cd7aafd6e37d5d988ac50690f00000000001976a9149fb6677c642259581cfc1a9a755e8380f2d926eb88ac40420f00000000001976a914712ed76150c3191762fa0260a32f2861a10c042888aca02c1000000000001976a914e661402701a3dbede4d882b90c37944e0af1e00e88acb05c4d00000000001976a914c9954f109b1991a7804676ee2e6a01e0d6f7709c88acd0f41700000000001976a9140e2db69c109e68bd475eb10fdafe08ffe3f331b488ac60011200000000001976a91466f1efc0251426e80107e4e420a0ff3f5cd189c288acf0c34100000000001976a9145321812619efb18f3b7234cf24e9015dacc17ef288ac90051000000000001976a91423d52b20afce641b69053835c6f16eb99c8b988688ac404b4c00000000001976a91495f044c66de11e5d66808206a661dc0dd3dbf92888acf0ef1000000000001976a9145bd228a3eca5d47a50fb69e85f2e20f9fa12b7a088acb0a61700000000001976a914c204ebc4e672d8321c9e278d376b802800f9bcf388aca02c1000000000001976a9142f5f0aa7ea46d055f6e840131914595db73c1b3788ac70b70f00000000001976a914cde34a60cbff2fa6a2b5efabad29045f53a13b7f88acd0a11000000000001976a914e70be65d54317bd4aeb1a1ce0551714bfaa1c77088aca02c1000000000001976a914377559c2bc6dcf41c9fe0c7ba115207f0c651a8e88acb0531000000000001976a914d0f4f5f4a3f55d6dff0d9a40923861e4a1d4a2e488acb0531000000000001976a914e6b9449c8f9a9c6a71f37bc8f79dc13e4a0df0ae88ac703f2300000000001976a9148c88b68ddbba1616d64dccdf2ca1d4869216af3588ac403b2500000000001976a9141d62fb7eebb03448b6c15c67b73191846fa14fdf88ac30fd1300000000001976a9144fcacbcb6b9dcb73c1f9598b8faacc7ef2e528cf88ac50690f00000000001976a9142d656a1dc8b3eb51fd8bedae51565a8797a3fd9588ac90051000000000001976a914dafa617055133fe9d6df5c971d80f90430f1b7a588acd0f41700000000001976a91497f3b1151d4ee54415a964432cce4341366429ed88ac80de0f00000000001976a914595c2e92d0401fde8cedca2e4db44c1208efe95b88ac90051000000000001976a9142caa69426cd6e45ab8bca6a5ae0c3ff4e1ebe1aa88ac90051000000000001976a914556260d9a7bac75ff9b032529e4fd22b1f1e672188ac60e31600000000001976a9147c2ce6818b4aefa0d26498e1dbb2f9c1ca6f0d8188ac200b2000000000001976a914b13227d453eaafbe11c74d3322b4e40cf22de3f088ac006a1800000000001976a914bd76aac03a9bbbe4f736f337ebf87b7088b5866a88ac90e71400000000001976a914a594badf0cca3045e85f7decf17941df06b892ad88ac40f84400000000001976a914478342eacb05828812facd21d3e37fe406c8409088acb0531000000000001976a914acc3a20d1403c7bb38ea037d1533e190b80fda9888acc0732600000000001976a914ed43661967f88eb16d3dae95133ee5349680b12988acc07a1000000000001976a91498b10f48bf7fa0e1132cc42377dac4538452f79088acc07a1000000000001976a9148ab6c9490ea4208ec76411b9345c2ce68640b57088ac103e1100000000001976a914c459f800156c84fb431c9d6bf442ce25047312cb88ac40420f00000000001976a914528f2f41fc7426d4a66882336345668db153babc88ac90051000000000001976a914337f7204bb6625ac12855b2529122fdb24adbcbb88ac70b70f00000000001976a914ab931c06960d6edabe935d13395f7702d3d72b2a88ac60900f00000000001976a9146c0de50ce0cd4830dd34629a225e7dd74102b1f988ac502d1900000000001976a9145033a5f405bfbb2f3c8e3f5703a2f8e73d231cd388ac10911800000000001976a91415fd81715f4e89c4628e7ffdd3d0e37ff470070f88ac70b70f00000000001976a9146f11cad8a75db5c2b6901227df65032135852ed188ac60900f00000000001976a914e3f3f65cb8151c6fc1917edb27cf88a30328c39a88acf0ef10000000000017a914f78cf847796a6966aee65bd22634ad2300b952e38700881300000000001976a914323de387c35b9c5d76aea983f4aafcd5d27a9ecf88ac10d89e00000000001976a91444296da0187189b9c447560d77c0c1bc2b82de3988ac30df1800000000001976a9149963af142b447be626cacdf3e3ca693682f3437c88acf0ef1000000000001976a914d52d7a9216b76091d734e531ac7b7a6eba09b27388ac70b70f00000000001976a914991428598e2393c4deca2c7181e1dbcf982766a588ac30a32200000000001976a9145fd3fee28943253c3ec93cdbdb51977edfb07f0288ac60900f00000000001976a914b61d75e1e0c6f99d020e612342b8a1a46c357f0b88ac60e31600000000001976a9147d247a155e3f066dc7d573d38871dc9a14efde0788ace0391300000000001976a91449b85705223a9e59b5aa698e88928809743a2f4088ac20651100000000001976a91480d549a1eaa08f4166dddba85353ca92d78445a388ac70b70f00000000001976a914438f51f45c18ee120c39588345cb6002a9668d6f88ac00171100000000001976a914c4d3d011230319a0958066e8128f63334ed50e0d88acd0121300000000001976a9147e096de967cee38da322470b00db82a8cad5612388ac70b70f00000000001976a9141bf6be09be04e9eb6843ca82fa74c1ffa8cbbb7588acd0a11000000000001976a914a03fd28b292b09e00ddcbba3bfcb213b34c783cd88ac70665b00000000001976a9144c8b6a1f653b36f480b175e8ba0510dfbd7ca9c888acf0ef1000000000001976a9144d245b03a3a0a7491adb46f560e1cf8bc9da2c9b88ac40420f00000000001976a91447ae2b07694ddc2a67585e1f22335f77fb95559488aca02c1000000000001976a91442dcd7f32445ab4682f4b0898ff52c87724c82e988ac80311700000000001976a9147e763f2276dbf720b478cc9c1ee56008b1c50b8f88ace0c81000000000001976a914967bc97c8431cd81d7ad2c831e7e939a5ab36bc488ac103e1100000000001976a9146445401e48dd88151c93d65d605709d8d10020bc88ac00171100000000001976a914debbba0f2e51044ddc77d9c2b39c5432685b009188ac50690f00000000001976a914cf591ac6e17c23a51d5962ba2567517da67e709788ac70b70f00000000001976a91426345ec6ba151c2eb2c3e3475d97ede467d35d3a88ac50690f00000000001976a914ba17b58cb138674d2deae830e64d2a0604ede56288aca02c1000000000001976a9148a28fce9dd7fb408f436c2aab550ff3dd225909088ac80e74c00000000001976a914046000ff395c346fdd53c08d58c6f5982b22028488ac20651100000000001976a914d06ca27dabb8332f0c7e06ed6f70c5948d85ba2788acb0351500000000001976a9141fd6c464a7a94f882775458a24b44ab543133d7c88ac50690f00000000001976a914a387594a2c5ce43089909f4dec85a93e44de1fae88ac504b1400000000001976a914a88cb49b34384bb168897b98682a15acb4fd320988ac30672c00000000001976a914b9cdbb8c574a4c4796e6b564065a373fcf2d206888acd0a11000000000001976a914a52d0239fc7352b17947bb52e6a8315b87a8b11788ac60900f00000000001976a914970530b508b5d9d580424f8e8fde456d9f356efd88ac504b1400000000001976a914d4063ac0bca5bf37d9108c4d1af454ea2836b6b588ac50da1100000000001976a914891d2f37ef6b9e9a5a22480994b69e51832c40de88ac50690f00000000001976a9146f882911b2f6d25b3edfdaa07e9db4c943fc308f88acc05c1500000000001976a9147303ff1325bc637b212343afb468c58b898fc2bf88ac50da1100000000001976a9142baf09b57843976ca0de2875e95657018629cfae88ac50da1100000000001976a914d3fe1d8cc69c51827bfb02105ca5317a58f975a888ac80de0f00000000001976a914c07732bd3ed33bb69f83624a561f82c25c885b0788ac00093d00000000001976a914791b69e24d64019a2e50825304029188ecd496dd88ac40b31100000000001976a914620e098485c65bbe3c62d1994478b0bb1b01e88188acf0ef1000000000001976a91413db18049683942d5b0c184ee3ee1d581f56fe1e88acc07a1000000000001976a9149d594b2a059c3d0e1880fedda1e86eee628cab8088aca0ef2801000000001976a914ff698fa0b2e68b296f017d3116601b7a6f0aa29188ac70281200000000001976a91474b5c5e86d758e2b35e118b14cd48531d4b4845b88acd0f66a00000000001976a9146b79b249ea377a28c73f42ef3b57c0c01fc332cd88acf0ef1000000000001976a9142265d8aa30a63d62dc5b617a380879e0c7808e3588aca02c1000000000001976a91416848a4ab8dd60cffa282d42e74607adc46eb77a88ace0502400000000001976a91473b775ebb5982c756909d68706ebbaceea5ade0a88ac80de0f00000000001976a91400c833682636058a754730d21425b10a78ca302188ace0391300000000001976a914d473700f36d65760c2d45f7481e4a0b35a46a42188ac80de0f00000000001976a914f23b2fe309c015e5f2fc9b941bc10afd7227baa488ac00171100000000001976a91449b3a150f6aa334488b8dbe4d8e27a04b72fce6888ac40420f00000000001976a914fc97f8741941602d66724b62664ee22b3333f0a488aca0d21e00000000001976a914816371a785b4957f97eec065245faf03bb4edd4488aca02c1000000000001976a9141c9c3429452b11bc22060b421e28739dc77af8b688acf0ef1000000000001976a91472ff73922c3194e4de7be3ab6692f1e818bd977588acf0ef1000000000001976a9148574614f4bfc99a4452c093d59479c8271cfaad688ac40420f000000000017a9145b3964ddab9d64db2e66722a9f30cc335a075ac187b0531000000000001976a914893f3519fe4a6bef11d44454548e50a8e6e7943388ac40241400000000001976a9149576f512449e396daf9217a063109dbb2d9cc33e88ac90051000000000001976a914cd7f02125a1e4327be2d581e88fb26d7c2323ca388ac70b70f00000000001976a914b752139a9948861bef96cd094471124d05638cc588ac80de0f00000000001976a914dc1a1234d431e076e7332a52609efb7a4556e26c88ac50690f00000000001976a91424f0f0db02a5e2e6b425527fc4070c231c3b72fb88acd0a11000000000001976a914e404fc6c37d02beb5e58c0c711538b6d4fbdfa4788ac103e1100000000001976a9147f560d3b4455b0418e3c4740f47944825ae7364488acb0531000000000001976a914d84bb992768c9b223ac6344a24c8afdc23a718bc88ace0c81000000000001976a9144de49c5a42d809829bcdb2b565759a80379f4e1588ac908d2300000000001976a91486775836d8793c9f24d6b51199bb292108479f0588ac80de0f00000000001976a9143a44379155135377271399f7e76245b158bc215588ac502f6c00000000001976a914e3ce9b51793768152d2b1e4eb76062f00808701f88ac401d2a00000000001976a914e3e30b5a1359bd56ee391760bec70b0149115f6b88ac80e74c00000000001976a914fe198f25e3e5eff53fc5f1b84e543aab9b7a80ee88ac00171100000000001976a9147049b2eb329436a3fc4f979e96bc6e8a856e2faa88ac00171100000000001976a914fb3c0c498e683e24880aeb06440b76dc2c30805788ac90e71400000000001976a914e27fbc2f900b2f7a3980eeb69709905e8ac416a888ac60900f00000000001976a91401334cd54a32042b3723a80256290f6e5c4015c088acc07a1000000000001976a9148a786563ac2beb3e55873a98b487d28ee67a6e1388acc07a1000000000001976a9142c22caabef1ad29c8b46ea01a2fcecb0af53bcb388ac80969800000000001976a914c0e69f5620c2db466f7c6c75d3ee3d94056321fe88ac80de0f00000000001976a914180b7e250038bfd67edbd7b6a114e16d1a86c71688ac90761200000000001976a91491d26f9eccddb8426b1d2e221a8ff9ccceef91f488ac20d61300000000001976a91430021196666510d74009cf5b2a1cd1ba988156cb88ac60900f00000000001976a9142599781d95bf8e2f44d9f71cfbbc5b883ce2cb7188acf0e38f00000000001976a914d8a84a0e15f1d654b6d43f69cbe9533df5c4273288ac103e1100000000001976a9141af88a2f98c1ca4cef776baaf202f31e7a86c84d88acc0912100000000001976a91408b5cdb492ad32258c3e3e6da6f4aa81ca3acfa588ac40420f00000000001976a9143b3d871c5dba8b5c43dadb4763b713a262e241eb88ace0c81000000000001976a914c22b98f609367b45a7e440fa026566342b2c459488ace0c81000000000001976a914af4fa43e9d00bf2e060516ca56f298ab1673fa8e88acf0ef1000000000001976a914e61a89fc8ce97593bfa78d0a644d95fa872b017088ace0c81000000000001976a914d853d03f25732f5a2c295d8b66e23526b57c438f88ac70b70f00000000001976a9144506c98da8a72d98bb9f0578e0aaf1111a3dc0ef88acb0f91e00000000001976a9143f927baa0c76845f8f0c1cb225089f2c3364811088acb04c2600000000001976a91426a7ed0a2bf59581b25c6850d4e9572752d0ff6c88ac80de0f00000000001976a914c2876ac5b7f0804d631d9c820b7201ae6ee9868a88ac20651100000000001976a91420b1b291a456c9e9371c6bb84a01665b13fd701c88acb0c41200000000001976a9145aa3606f6a8295dfd0fe81aec7b703f176b8deb988ac50690f00000000001976a914467b9c617f6af933088e46aa68fcaf282ef118d988acd0a11000000000001976a914265efcb9aee7d43528d5ca8e250729a7fb23ed1288ac90bd9800000000001976a914fd81108c6b231d0acc162e4e4a2d54fe98f3ee4e88ac00171100000000001976a9142c4efc4ac4677fbe9f2df6fec8ffba3f4654123c88acc07a1000000000001976a914667babe4a5ebc6143e721c13cd6f0ff388f362cb88ac207c2200000000001976a9144df74379faac7245ac7ed7c73deea57d560801a588ac50690f00000000001976a9144e39e108a35a70a483a3c03e87bd91222daac46a88ac00881300000000001976a91428e090939fa65b3781937c2a90f7778f2178a94888ac60900f00000000001976a91479068e471695e5ebf4f2fa950e4062221b0c7bf888acf0ef1000000000001976a914be0dfc68443e4f077f8422d8c43484023034f4bd88ac90051000000000001976a91403d6c2a70d67e5b83e1341a6f9b38705915f1fc388ac50da1100000000001976a914905a7dfba6ec74110f605e88492bd0f9a4a3adac88ac90051000000000001976a9146a1437916599ce5097041164b723f0f93ff5d1f288acc07a1000000000001976a91487712dda509e1a69ea23b93e7114df6104ce2d1b88ac90051000000000001976a914e24594c16976fc247b2ef026e6f2c472f2028af688ac10474e00000000001976a914456f4281df091a0f662b424de14d647fe9a3812088ac80de0f00000000001976a9149279012d46656316c5b993ee65594f9224ae93e488acc0af1c00000000001976a91490123ebdd8c04d209db44f9f413281e4efd8836488ac90051000000000001976a9149fff4401792ad0df0506006d19a6c8b4cbd89ca388ac80de0f00000000001976a914c2fa3ee1bb44c2df2b205ef8e1282efb21117e6688ac70b70f00000000001976a914ae94d0051daca3c79fde5b29f4e8ccd329cddbaa88acf0ef1000000000001976a914d8c0ec5568207142db70a233e6a833cc44b17a6288ac90051000000000001976a914d19ba8f0778e9cb45ec7b7be4d98d6fb84420e9488acc07a1000000000001976a91492f434b7983d6ed1b894c2d1801807791c0c2c9f88aca00e1500000000001976a914807da386ede31e623f4dff16104949f745472dd288ac70b70f00000000001976a914d2d649d3f9ac6f5d2263c1e15757d2d6b3ebc87d88ac40420f00000000001976a914e9ee87494d08c5cf3c900afbf058d6aaba64a8e488ac50da1100000000001976a9146a4599eef119ccc88539c9a5e4afd516a8c8d3d088ac80de0f00000000001976a914c993c03ceb3ff0585d84d0f14025a4772fdf251888acd0a11000000000001976a914e5f1cab2be9f2ac5e9360c706e4e11882a4e2b6888ac60900f00000000001976a914cd4eeded14eb6fe3146ebeaad5f4991d6b98048088ace0c81000000000001976a91410264c2499fd47f58dabc4ad46be036f6560306e88ac00000000010000000000000000f05a2a26000000002a1f32a5781a427a610c3a810f2b114e2e14c818099d21a6261808b724e3773e62fb5a59b0dbe47060bdc7e57b8e01dca900255cea3ea3f196f60a2872e38e2dd4050e75b4aafbdbce3d69402bf8a04b8e9b21e9b96b3fc9e8b761389f8fff77fabf411c600ef0f992c4edbd2ba7376df1744d9d84dd15c91f3eb48ea4612bb3abd39a21ce7c24133e125130ce76084ed76c435d60ba231ad3024289521352581f93aeb2c79469ed5c4f46b7930ff1120daa069d6ae765a633d323197a0fa341db8bd47b51a56ebbcfafc76285787b0778bb8458225ca5973e5654155866a96cfeaa73e0fd3ee1e540caac58657ee89fd45de2e5697ac87f8933dc68369e7390df60db68872df15d529dcf6dd569e56f80b2727e6384cc34811d60db1e408627031a9aec235168dacf462bd9121028473c68d03217f96be06b3e02d0aa13ce12630223a6c28cd26348f7c655fa5dc5362b1b6cc998fe0d52dd567146647c3e91bd840a05d2dbe75057fb467a91febe51dbf855857ea4a443b34eaeff0a067d09fff5d640b30a6e2d2f33f9715caee7a9814e1079ed73aecd567cd614fed6115e5ca4ca0219448d8658bf2fd76b2d99740dcd7287740738b8abc9fe40de09ca99c196cee203228fffc9d75dff362a72cb86fad920c3756b34cf4cd70ea43bcf89cb86f8d49e02180d6f26282becef01a44e5fa069e30ce328658b523a5bbee4c0da7fcbf5bc57030c0fabfbcc31e988974a1a287e52e420102453c1fa30e064c0f425e9513b3d820219107b2f4d53ccbea9a7a00bbb7942248529e170a9b5187efc490a3917a177c400f1a63422233fec6e37a87db31ee72f9b4257a7da535684db408cac2f92fb8d0aa2ef536c624708ad4088d3b27e24411556680273cd57e7f21a1846c48d86b8a9f8348c046d232bf0efb88c3a7d65546d2dcc7e6d84199614809f42a934bc28cbce02d8dbbbac66ce200f92c9f525b974c3aa4c9f415f53897eca0f094a37ec7807575a420818ee0ce1ffefb3f13c54e36aa3eaeb1ecab1b2e94cc2298d29932ec180488f49a9aeec28c23ee6cde489bcb72b32ebfa48460c0335d1ec71274ae49310c049a3c99ac69dfd59728eb68dc31d48a1f1e8ec67e54fb8763685451c0fa3aa986fc84f3e67aa48fa336174967552befa71c7e4a5f1472a9f311552090fa43dba99b29704c8b032962a954ebe2886cf50d55f2321e5460236cd97f619ad2260dbf4863942d731669dabf4d59e698ae1f7a79d685cb8333e37c1f41f74d2bd7eb9ea68b001f5072694f63e3b4a4bc7e2a2ff21cc721c4b56067a267c3f56b94806ece40a25d467dacbe0f7a17d5d62ab3ce072ca2d92242c3e8e12ae91ad0d7cff1fca7d55712e2786a64182cf5f15a21732d074e269e20bd3ed99bd8dbce63d4d33da3efaffe2bd768a9dd146564a8d3388208ed2da2daeaa81b192cbf521841affda8504cc7da4d08a4cb357b25178aa5faa0267c66c769ef6eab3382ed617195e933537b15bd157a78ce0ea0206b16f27094eff4a953857e3e3f52e720b25aff34f403381686fc48749b84233c9347a7d241529df135bdd9f11fa986a67255f2084b13f4eb75fd5472b12c0fc71caee6f1b90eea41761a5fce05983ca4e9216a9dd18f74bb0a70dbf5c6b6d189c929cb9063ca2a89fef7f1f0fa1d7b7b320dd7e772bf713eb859f29dff4e253a9ac1ccbe10ff492f842b068021562a281edd0b3418312e8a56461fa662d647a8cf02de4a6d3bf88844d75b346249c735b632ea448af118312032b7bc35adabc1256c5c42044bd7c1ed337ab18b5363b3b14f93b97a8f7442b0bbb39d4231b4b09c6764eb039bb0802f3abf1e6dd6f8c93b368106eaa21c75d6852107f0fbca4b2516eb527c3eab2a0c24e9aee278f388453cc310fc47cea05a75c685ee0852fb5f79a7ae2024c4a5d8a2b38b65591f31a96f651155c6283d1b1324b7d5e63b889adb2a41d925ecf18c10114cd04812ece65e2d8cdbb15b67da1b75eba6103e83e41567b48851826370c74860b4b62d31484b8f52c06bcb19e9c62c2ec6dcf7747ab25d34096ab35e983cd28f1a3de03c2772bf38f049905c4d2823a6dcade438d78c463bb1f07199d2cd17c62da5866cf64a764a928af877b3aa786a02c848e323890587ba8decd04e6c339a633c65751ffcd49b632615aef101b2bc464cf7a148a0903d0792957ddaebf85194abb818939cb4c287ecf5a2b2ee039a55ffaa8abfe5874c27eaaa3fd37e0974a0b66b6426f314ccb127dd8b0af577aade16f30773559ba51afa8d5f73c0dcae92b87f45edff1e84887c0381ac67ef89d4c1a56110a6bf70ca7bf186409bd1a30c306f10edce53eb6d57ca7d1b3e470e5fe6c1e071da5750df5b2d1491b932662aa82e5807ddfc95099e9e97c8e331445a0e6bd135f11e55d19ea2871832c52f4fd9d80375fc0fdf857dc3cdd5bb5f6f6463ce884b682dab2d4a30bf1ed588fac12f676160c03cfab2accc2be597dba52fd0b64062aeb772b0997484b2be7e0e0f0a7412ede7c5bd56b8f0ccfab27ea3b12ce4ae9b975e1cd2f818597dedba7553eeffb9f54a1ba209b552fc56316b232ab21aaed45fa8af96194e2634860016bc841fb667481daac7aa4c9aa62aaf1de019287020200000000fd2c01b0531000000000001976a914ed28b8a32d07afe7def23ba7bfe06d259d78550588acf0ef1000000000001976a914b58225c98573f7964a975f40fa6cc4f99ce6d7ab88ac504b1400000000001976a9142c6a1dfa523a15528b3153728339ae4a3355874d88ac60a72000000000001976a914c7f30273677745a1a2489fc09dbeb4b52807607388ac50da1100000000001976a9148aa7bd7150cdcf67ebc6b2c118b39328dd6a64fa88ac60900f00000000001976a9141ee08264adc69e966509c572b6d11a9c24bb9fe888acc0dd3e00000000001976a914a0380aeffc9bdf1a2073e00f0f117b3c4ad1694388ac00812900000000001976a9146af2e6db723d171b7e99b1aee5d01dd7d12db9c888ac50da1100000000001976a914227c649d395eff113a917613480b9b3358f7f2a688aca0611c00000000001976a9140a61296b65a01dbf5fc6635bad1e0d5fd74f6fc888ac0022a100000000001976a914e7629b968fc5e2cb2e6b9bfa7e395775b086bea588ac103e1100000000001976a91423d39ce6b7f122b331dd7be36ade6c880745a22a88acc07a1000000000001976a9146f5db5cd9ff9da820947c2397577673f585c25be88acc0201f00000000001976a9146a48196c8a878f3cfd58e3787095f1ba287a199388aca0b42300000000001976a9140228ac419b02ce95073aac8f9d17ad20419c9f6188acc07a1000000000001976a9148e42b0243909a123e44c43b13fb1833a1d2db96588acd0a11000000000001976a914126411ad9889723bc30b2d0619339be5d9163dc788ac70922a00000000001976a9147e26f4fd9d06dd1544b486e3b7e4501c2d7a939d88ac50690f00000000001976a9140035baed47afeaafd968643fe7bf94033a66015888aca07f1700000000001976a9147fb1ebe806906ea046eb0a7f5b4984f4a7621f0388ac60900f00000000001976a914987fb65999e51c2d07157bff140353235c9e889a88ac50690f00000000001976a9146dd2b5808965b3231d3d107f97af32caa350fde288ac006a1800000000001976a914c203f57e2d7abfaf27abde71ef76e13108446c8b88ac60900f00000000001976a9147ea55484c0776aaa3ead6d80104329b9084eed8a88ac40420f00000000001976a9147e65f82294b58c40e597c12a14aa57b5efd3645088ac50690f00000000001976a914d5e7daed97dc3a267f821d4680ce41b6aa7619d288ac90051000000000001976a91435425e7f2633d345beaf4b0dd99b7d4e6c98861888ac40b31100000000001976a91447b6d4d64c5210175ccc2cff6416cf26d6c43f7b88ac90051000000000001976a914f5c2deb70819e40b337129921de0ef3ff2ca8e2588ac10f69900000000001976a91424d859faac13a5fe5d005831dc2e884e0b544c9b88aca02c1000000000001976a9149b24a0f2103324c3d0edcdb3f1ad5a78e76d375d88ac40420f00000000001976a9140d4e8cc4dd0b0d9c765bf64c77a4c70f69e77fd388ac40b31100000000001976a9142f1d1bb9541922c51b33db3919fca561691304ae88ac90051000000000001976a914f1321fe6d1d2286adbbc8d12d5630393b31fc99388ac404b4c00000000001976a914d2d8955f403abdb0b2faca7e1cc1ea7c71e62e6a88ac00171100000000001976a91452e9887c947f45fc225c7c012d8a2236c1c2d61888ac90051000000000001976a9147d16fc67356c6732f8e11a2f1fb43da00ba3e15f88ac308c1100000000001976a914386639f60156143331199ec615014da3fcc1c4d388ac40420f00000000001976a9149761a601d52ceac6048518d6ee1b951417376ec388acb0eb4a00000000001976a914b4778cb5b0c2253bfcc1a77335814514820bd8f788ac40420f00000000001976a914410822987b67131da42e727f41886921a78775f488ac70032d00000000001976a914c2c088cb0f80c843b8241d378dea9f86433f8d9f88ac103e1100000000001976a914f1390aa72bab568b5c19982f6ddec2b8693342f588acd0a11000000000001976a91441f24dea2e964fd49b38e0e9b1631118b5e99c7588ac90051000000000001976a914773386c2a43758f054d33e5076b4ccdac29780ca88ac80de0f00000000001976a914c8f5eba466440914bb8f5391f0608cbe73ffaced88ac90051000000000001976a9149201e8d40e797ffbb855052f64a8a5335a341d4688aca02c1000000000001976a914f8ea9234805171671de629696edf92f13af8aff788acd0043f00000000001976a91432f2e7bcbf6b42b1b9c4871a312a437a7b4721b488acd0831500000000001976a9149b6240fe302b8d9a6688d0b284d7d70bab9fce2d88ac70b70f00000000001976a914725353d2011a7b8a7bd171cdc50084a17702d3e888ac60011200000000001976a914bf115e73f34d76ab33e872aac69c8ce7f5992e4a88ac70281200000000001976a9146411df101b38522620d3094e8d677a3a78f564c788ac20651100000000001976a9145bd72af519e75be7f529cb99d389aef39153cb3888ace0c81000000000001976a91482a03fcd61c6c4a8e6ad1eed801ee8607227636488ac40420f00000000001976a9142b55260c729cdefaf9d0becadbc61d2589ac3aed88acc05c1500000000001976a914d9073a5c6a79488ce196a8019e3ca75bf4fedec088ac80de0f00000000001976a9145ba980610fb0eab3bdcea4799bc3dbe689942bad88acf0ef1000000000001976a9147df5fc80e509041e1b410dcf27426764e1b443cc88acb0531000000000001976a9149053c7cfad31112ca8f387173fca535cc3b6e33888ac90051000000000001976a9147d1a0052ac80328751a77b6249d080e74149edfe88ace0c81000000000001976a91401a368fcdbf9be33e456e2ef22e7860debff1f6c88acf0951f00000000001976a9146d6dc74fbbea556cd73e6fa7aaf36402a3282c3b88ac40420f00000000001976a91476dec936365130fb9ea33b112a62c29081b110cf88ac30501b00000000001976a9148758b3ffcfab3b65c3bd03f122ab480b0d9d4f1988aca0953701000000001976a9147df62e5d7678d3b30730ce0727c50e06d31cb7c788aca02c1000000000001976a914f2503c5f2df4df6f035ee91de851afe5f83e4e1788ac80de0f00000000001976a91488d49a1269e09e119ea93b8dad245024216ad61a88acd0831500000000001976a914f9d1974ef85198e4e2c023be418677c2770bd3ef88acf0592900000000001976a9149c1da92adb9e458b225cdf4a827cb905cfaa9a1a88ac80de0f00000000001976a914c090939fd0d33afc3619c69752f5f6e2c5d39be888acc07a1000000000001976a914d7ec46bfd8ae60e20432fd5514b26c59f57a2d4b88acc07a1000000000001976a9148beb7ac590ffd99b2ebdc7d8c4e9f28dad795a7d88ac60900f00000000001976a914f4d7059262e7cbc4d4478f6d16c0b24f00333ca988ac308c1100000000001976a9144ae098da045abcff31205333d7619c2842361b0388ace0391300000000001976a914fbdfc8ceff33fd002bf968bd600b309f0396f66488ace0c81000000000001976a914c49b63e81b3cc6f825977946f8da033b7ed80b9e88ac90bd9800000000001976a914656d33b0886121519c02e9737a8a58693d04d92f88ac50690f00000000001976a9141e91e6a54c67a796339b7ea61610cccee01c1ba088ac50690f00000000001976a91446a5e90fd56da165f0c4089215f4405b29d63d9e88aca02c1000000000001976a9141cb0309a83519dc077b33c12ebdeac1daa27e91d88ac700a1700000000001976a914869892f5d751d3434a2bd5d083780404cfd11fd388ac70281200000000001976a9148e3b069d2518ffa65de22c8447d2488d0b1d7ccb88ac60011200000000001976a914e4f14eff728e5ab595dc404f11d4672fe91cae0c88acc07a1000000000001976a914edbab821bb42ce18b6c2fb865b40cc35ce64e62e88ac20d61300000000001976a9143d4a4da196564a005db5a83960ef0c366ce1c1e688ace0c81000000000001976a9142dc1ceafbcfb3ec1926296dbb748b0496a4d7b0588ac20651100000000001976a914f95ce8af3f68071d68257094d857c5d0e6e8ed4088ac90e71400000000001976a9147c9544d43f87a3eae1622bf8bedd3c8b6a0565f988ac50690f00000000001976a914143cbddc39876df67ef2a2d6111af3fcf66650a188ac103e1100000000001976a9148bea8efd9bf767578aba411e4c31bdb25f69cfd288acb0351500000000001976a9149a89eb8e3a0daf14d59e93299986a0fa5ad93ffb88ac60011200000000001976a914e547fa272161a568b6b3b4779ca2bb06d057d29488ac50690f00000000001976a914757313fab815388421fc4e9f752cd470ed8eb43688acb0f91e00000000001976a914c39907e465602d060dcc0f2e1253b8339513e1bd88ac40420f00000000001976a914d3e922b6983b96baf256b37ee7ce44963c0def5688acd0ed2d00000000001976a9148a3289c870cbf66b10a6b05ba28140957ceee9aa88ac103e1100000000001976a914b16411fadaf251bbad61595c87d051be3a6a8e8f88acc0eb1200000000001976a9144489b722c38a0139bd8ca74814964ec87157b32c88acd0a11000000000001976a914b0f5ff64e8293b75c71e182ef011fad1c27a544c88aca09d1200000000001976a914d528ab5b1a5d77a560de950d65ee16cb9c20b2cf88ace0c81000000000001976a91460aebc894265e2cbf9856f678194bec8dcbffa8088acc0eb1200000000001976a914665c5f0e86b0c1ff7fbbc1b263d69033db1f8a9388ac308c1100000000001976a9148d9d4751f988ed44a58a2a1227a2e5403d95c46388ac40420f00000000001976a914188f71f2c031a24f3e37697493e064521b51c78888ac00881300000000001976a914306f9ad9b0e5e5b5454a448815d4b94481116d7a88ac50690f00000000001976a914b462cd731ce30d22d41f73f0892044dc678bf24788ac804f1200000000001976a91407871ec9653f8ee5f0e2fcccddfe879cb19e1c5988ace0391300000000001976a914807aa2cb7dd0faa2ea67789e8c15b1a3ff7c83c788ac60011200000000001976a9141fa51a4ca9002e8d5e5f134b46a470d21e37fca688acb0531000000000001976a914a08bfc50bd2cdc9a0e893b3fe357b131b645559d88ac10e41f00000000001976a91457294c75a047046cd50399da905b688bac7d3e1a88ac00171100000000001976a914b2c9bd5a55631f5893317172ace6450e6992a71988ac70b70f00000000001976a91414d9e5bf92904c00962f5f9c0a518bc764e0ce3288ac80de0f00000000001976a914320b079475ecfea1dd040167905c2df10b73cf7988ac60900f00000000001976a914d269fc49fd3fc73f00bd61f78e9f8ad7a6a387be88ac702cb800000000001976a914ebebb71952a07d2378160ab8b3a60dbaf4ac539588ac40420f00000000001976a9146828a3fa78297f57ffea7a52c0d3117a681eb39188acc07a1000000000001976a9149226893e435c4a1ca04b764ca313b4349dcfa13488ac40420f00000000001976a914c50203bfd00437281dd38fef2e2d997524d405c088ac90051000000000001976a9140bfe8cea4b3c073c58c732684016213ee50638d988ac00db1a00000000001976a914d18abb92bb061eed404b22f4740a91d5c51491a088ac60900f00000000001976a91401adcb85dfa02c47f0a21629f32b69decc47218988ac90051000000000001976a9141ed04f9fe1ced3129c199cd8a00d5173f175e18788ac90761200000000001976a914aacee5395f3391633a5ad6655ca922046facd5c888ac60900f00000000001976a9140491199daf61aa7970f6fa3ad4e0e0f1d0759bdb88ac80de0f00000000001976a91404944a372402db80426a628dfc0815a9c550677688ac80311700000000001976a914fdd2c50c8e969ade1758688c81355276b656b59b88ac50690f00000000001976a914134fd2c4c7a13de20e09fab260a744448b35eb8e88ac20d61300000000001976a914db9757769e4b9588a39e2fd2377d38fe17ce2c9288ace0c81000000000001976a91432cb0432416ff7ada9375d5917d22218886951fd88ac30852700000000001976a9142c8eee0a366f6c654481efa6053ad2933e974c9a88ace0c81000000000001976a9141f163baf0a4cf6cc2c70ae4715eabf5f7da4154a88ac90bb4500000000001976a91408172a2a6686b9cf88aeaec3d894af19a5349e0f88acf0ef1000000000001976a914a78d4e1996da5657a2a46af5cc551b2045e15dc788aca02c1000000000001976a914d4698c3b606afff9234d84d10cd7bfdddc1fbf0888acc07a1000000000001976a91423f1ac33f424e89d3cb635dd36d5921ddc859ad388ac60721400000000001976a91445ee32d2f021736ced7d5d1896109cba50c0511e88ac60721400000000001976a9148af3e1320cc9d4cdd750076e5c07880e8bcdd77f88ac308c1100000000001976a91453b72d6603f1a0163700f6d12d57bebc2e5c2da088ac70b70f00000000001976a914f97e757ade67c868f542aefc417461fdbc25d0a988ac50690f00000000001976a91470e973dd43d0f07ecb27f48dc848799b2d3c798c88ac50690f00000000001976a9144ebc8f26d182b615684399b5a73c3798dc35e1f088acf0ef1000000000001976a9145ec74de7b40658eda6bd67188cb00eb2d1cc387c88acc0eb1200000000001976a9141490c20cc8207e1753773cde64d6a043cbf294ce88ac40b31100000000001976a91495a21956712515e5f4235d719214f78eecbe622888ac60900f00000000001976a9146a7d67b1fe4c26bdb03e974f2edd3f029e99c3d388aca02c1000000000001976a91463b479a33fc04ef35fe257b8f09a04ee122806ae88ac50690f00000000001976a9147f6e25da14f3bf81a88c2f4cb2b1d4cf682393b888ac90051000000000001976a9146229f4d613f30a335ab5f8ea741858f5d91e88dc88ac60900f00000000001976a914ea40f5b297ce629168ac522af152a53f41b27e6088ac50690f00000000001976a914b3f3e6bb11006161f4e19ff1113b49c9b52077c088ac40420f00000000001976a914c632946f9bf688ea5cd608784c156db7aed6e99e88ac103e1100000000001976a914cff9aefeca5aa86e648c3f3139f475968dfb63e788acf0ef1000000000001976a914cf9464d415c2d14a73177f8d147bf92217ad705088ac90051000000000001976a91432e7d48d4ef9d6af410b5581417980887a1e76c488acf0ef1000000000001976a914cdc488b3c5c004c2755cab5fcc82fe78af3c045588ac50690f00000000001976a914a80bd492ae5563b588433aaa7528f933fbf5873288ac900e4d00000000001976a914fa1ffa669bab915af77cb8e3dac4c857fe2c11f688acb0531000000000001976a914d625f2e27d4960afe6239ad6cc5a3bc26d95208888ace0c81000000000001976a914d39b93cc69b07c58a2047c010c6ff2622eb4593588ac10192c00000000001976a91454f73077102b960b3e2038774586cc0cb7fc495688ace0c81000000000001976a9149156029c9e21e3c8acfaeec15bf60baf5bdc096e88ac40241400000000001976a914e309429b9836c7b562c5f492c2d2cb09d7f6486188ac70b70f00000000001976a91462391d83470f2fd58e5f30a90c243a18d31df3cf88aca00e1500000000001976a91401640b3f9149cfe2a507d718cfac2123167ca56588ac40420f00000000001976a914af1bdeac4a157f229ecc34f0cd408376b0c401ba88ac701a3e00000000001976a914cf8fee53eeb3fd9fb6249ea7d6bbf15947385c5788ac20651100000000001976a9144da6415d9859409a01138cd7afe269708d8fb97588acc07a1000000000001976a914ba4695825b629f1eec1b96fa4e5aebcdd507b18988ac60900f00000000001976a914053a14f1dbcbca44eba9a57c898743ea2d900cd088ac804f1200000000001976a914c96e7d9d02f7faeee6d36690c0b3d578175f4c9388ac40420f00000000001976a914eaf252f87a31edce334d59449a8bbe6e34d927c388ac40241400000000001976a9140c1ecacd96525eebb5048b1a90b009315d5b508788ac40420f00000000001976a914989e36988ae71bbe3fd3e5469cd1451762e47fc688ac60900f00000000001976a914f2b0e2d9ddd748f6b898e82396ed7145c9d4357288ac009f2400000000001976a914cd94096d6485a196e2a779bc0d5cc71c7fcd50df88ac30a32200000000001976a9141d51ccad0356e30c40384f0a63b840c370d1675e88acd0a11000000000001976a914db732e21e6fca637123e687a85c87122fcc779e288ac504b1400000000001976a914721a018d2c1f9e331c25e10e9994be06943433ec88ac80f52000000000001976a914d0cc92b8cb6be594e4f26d1fd5bdf99e304a292c88ace02fe500000000001976a914548d9f625ac2afcf4cb08bbb03c5cae7c5b2bb5888ac40592000000000001976a9148d49274bdc9b25f839560b90a164e5a0d10065db88ac700a1700000000001976a914da552699b72d99a32ed0ac9078e9e1c760e6e04188ac70281200000000001976a914547b26c4db83271a4cb36dc69363dca69aa749cc88ac20742906000000001976a91495ae5185332d48a2f827d2b5c54b11bbe8e27e6288acf0ef1000000000001976a91447d07762720eb894e28f182270ec8cd4864a89d088acf0ef1000000000001976a91452e64f05b13d4dba079dbf4f3a08991e085d0bd088acb0531000000000001976a9141b49e913d717c488f0212e1e09192cdf89f6ba0588ac60011200000000001976a9144f83ac551e7f0a60482e8bf3e1dd780c7992a57888ac90051000000000001976a914b20a3642f26f90edda663e9b119dacf21ac6084388ac50690f00000000001976a914f9b24729036c05850f02faa63f0840da53ab1cf088ac60900f00000000001976a91463f0f5d80be6dbf61a198332dac61f983915a93488ac00171100000000001976a914d38850f3bc2bded977ca6865d568ba95cccdeca588ac90051000000000001976a914942c986f23bb828e6b6b7b1290bf02bde864c5ce88acd0a11000000000001976a91488616fd0d2410491b7f54404add1b3addfe84dcc88ace0f10c03000000001976a914444f890f94f521d7277307b8902b8b729979d2cc88ac90761200000000001976a914501c6b79fec02e33f7bfc5083ad4c4f382c403e788acf0601300000000001976a9141f322a75c5340a034f197cf4d0b62b20a7b1225588ac40420f00000000001976a914a81fff9abe2ecd003689cb2c8572af2cab59b0f788acc07a1000000000001976a914c617bae84fc601f733104db3ab463393e4182d2a88ace0d3a000000000001976a914361ac4b9119da26ff756337ff20a368c0a0a49be88ace0391300000000001976a914a6a0c08f270343b02e97ea0f954ae6c59441c67e88ac40420f00000000001976a914403881d0fdef88cf99b37d21ff489eecd213a32688aca02c1000000000001976a9148da4c20cbe9887cf09ca577a95801dffee073d3688ac90051000000000001976a914f363e8ecb899677c85d594bd01a6c5876e773b0b88ac901c2100000000001976a9144cc7d47b225788f8543c56556be43fba3d93fae688ac90051000000000001976a914641a0e3f96ccd4ed483541296a21b487556d15c288acc0a83200000000001976a9143605a5fc88fa6462e6061eb9f6565eb0d5a37e2788ac40e81d00000000001976a9141a832dac0d204971250584cf6907c2a803d6bfdb88aca02c1000000000001976a914fb81b21321483d7e7cf01879c9ad903382e5849588ac50690f00000000001976a9144a989891a1d96fdbb39197e14a5dd641641d52f188ac20ed2400000000001976a914a5968a0d97f57aaba566a37926efd864fe4c58e188ac00171100000000001976a914098a4bfc70a1b1504f7e91e780e7a4eb4361cd0a88ac40420f00000000001976a914454527dead4b2ebc7feb8d21f81d6460afcafa4788ac90ab1e00000000001976a9144e28fc1378b33ccbf1ceaeebf5b0321e44bfabb788ac80de0f00000000001976a914dfed1d3b3e2d0bddc1ca0a0d587d664843f94ec188ac10201600000000001976a914f38a31bc35ee465bb760289049c9adffde6f774088ac40b31100000000001976a9146485dfb721b879ff5eb4d9f94e5f7f85bf31283888ace0809900000000001976a914784b7cd79073c2860919b48fe3d5bb3262dd319188aca02c1000000000001976a914d140596136b7080dbbdeec64350e8c13a0c4d20288ace0c81000000000001976a9149aa33c53072935fe185f6c6e9e7784b63fe0a22088ac90051000000000001976a914b434f15244d3ddcc348c5567c0f1f20dbe88ccd188ac20651100000000001976a91446dc1525a7c4396e387e02960bf2e5681e8323b488ac500f1e00000000001976a914eeca6844643e01ba40174ad9976033f5a3ee0a9f88ac30fd1300000000001976a9143a5d2d5f4bad0f116115991693067b3437f05d4988ac90e71400000000001976a914f21046b230e158a74328076520df5dbeec38fbc988ace0c81000000000001976a914f50451e1100b7b00198791a927f7ef32fa07453688ac60900f00000000001976a914db9523e210094c9993592b4c3379551dcc11b0e188ac50690f00000000001976a914b2a7f0221e83c7fb90b77fa8f815f61db0397e1688ac40420f00000000001976a914af55c31694fb5e1d8be9e620d56fe1e58d41d2d188acf0951f00000000001976a91475c8e36c9762bad9e3cd9986a275e22c7a3705e088acf0ef1000000000001976a91477a5cfbed6cfd456d8329c92bc977be2802c52c788ac308c1100000000001976a9147fa84a3749459d9dead946d3a8828a0de28284b888acb0531000000000001976a9142401f7c2a24d6001c0916aead13645efe5da9a7188ac30e16b00000000001976a914f502bff1f7a6de2a2f76286428bef29f5e9a8c5c88ac306e1600000000001976a914ce4381b22c7ba9fcfc7fcf78f16471016e3e06f488ac90051000000000001976a9144eaeb5f544e66af2e92216aebc8162976f79539c88ac804f1200000000001976a9142a86496638c1419746c53dc83ad1ca98240d378a88acb0531000000000001976a914defc6718c4b4d6bf1eb2817c8ebac2c90aa0e7bb88ac90051000000000001976a9141c3a6d45083a10db3f24f5de1e018b5dcf647eb888ac50d32700000000001976a91458a507c74b6f6e9b2ebe71ebc1f3f826678bf43d88acc0eb1200000000001976a914a50e1305181f06d5fc6eab71b53fc061ead5e88a88ac40420f00000000001976a914cf26f40c38124f9dcf7d0b02d85953a07962f20d88ac80662300000000001976a9147183064453c33b73385372f41986ce302307b95588ac308c1100000000001976a9142afe9f1d6280e29b3b859fa2480d8b0cc773d03988ac50690f00000000001976a914e45991a3750857c30a1de91e6cc8f57ca670af8b88ac60900f00000000001976a914e2f1ed2a6a0188ad8906c90995f8f0a527ed1af988ac50690f00000000001976a914ee5b9beab474d811bb9f3acf9b16b76f6e2e589488ac40420f00000000001976a9140d3cc8b02d424d7e89e3d9f817722754b58f9c3e88ac50690f00000000001976a9146d6323f8f8337862e274e752bc47f79b4c6e726c88aca09d1200000000001976a914fe3bfaf9a87dbf4c8194832cae5ba94ea593a6da88ace0c81000000000001976a914a478436edfe9df0ac3d8b3624edfa60b3d5e609088acd0a11000000000001976a914b4ddcaa0ac67f5c6432bbd5f7737f8e446138c3388ac50690f00000000001976a914661d175440eb323cc1e461adb75cded6416a1a2688ac10201600000000001976a914563cc9041a5fbdc3059cf90218ffc36707c3096288ac00204e00000000001976a9146c2f1d7f363ed1fb38b142e5a80b3cd2f8fd286988acb0c41200000000001976a914c0202e382001521f362a77e3d06b5b58ea48b9e688acb0c41200000000001976a914e3146510331fd3da1f391fd79ceb802ef346ac3a88ac50da1100000000001976a9142e222cf268a816992c6fe3856527f1b52119e65388acb0c41200000000001976a914fdd853154b3554577e1bf54ec752629bd47778ec88ac00171100000000001976a914ca5d365018f2cae27f79879b684139a50095a80a88ac40420f00000000001976a9143f6ea73be79cff6e621b4c77f0510d160ce90d5e88ac90863900000000001976a9148558db3ae0aac0797798499ddaf15d360a48294e88ac50690f00000000001976a914ab2112d751589604612cc3edfb4301c6eaede86588ac00171100000000001976a9145391163178cfecea7caf490852b77aae31fa868c88acf0ef1000000000001976a9149884de8e3a5f3cc524f06f0a49af2fba0af22b4088ac20d61300000000001976a914ccab0263102835606624b7f02c3b3daea0bb534588ac90051000000000001976a9149d865b92a8add4240666a15691e1f7987dc1220988ac40420f00000000001976a9141e6b63b6e6d1f0e34ddc163f9dd03dca11f3c6cd88ac40420f00000000001976a914fbddb0b75d01010f46d3092925196123b5b4e1cd88ac60900f00000000001976a914619ce435020ddf6cd9d460032df8d4e1a0d394d588ac60900f00000000001976a9146ea19c4a65d4b49bb7f33b3bc97f7ca5268b97bf88ace0322900000000001976a9141af99edff67179b1f20232f0210d11a72f35c78b88ac40821c03000000001976a9142216a5f8983e461e05372eef79801a37f2daa22688ac00171100000000001976a914d479a4230566b90858407b5617b74f106b6e946f88acc07a1000000000001976a914fd387e9684a46a4f8c8e703c57064f55b1c4068b88ac70212800000000001976a914d29dadf8938da4b959326013e20899968511588388ac40420f000000000017a914b69f689cd419631d9eefbb873c40498251d2791e87a02c1000000000001976a9143b8ec65f0716c4261592feaa45b03f946b9ea5b688ac50690f00000000001976a9147c4e07c2f6c5708fb3451e0a6442150c6886ca2288acc07a1000000000001976a914e490cc448ac0d7fde5deced690e228973a7152e688ac70b70f00000000001976a914c25b1b3f6fab8ca8ee1b6ba8e7e857712ad8290d88ac103e1100000000001976a9140d707bbc8927c374608b3f321203f7f5cb88a3f788ac90051000000000001976a914b546321b9fc173ee646b0032219aa73130efc6c588ac30c11d00000000001976a914e939a3e8ac8e9e4514bc92c1e64e12f7fb713e4b88aca02c1000000000001976a914e826b08c0a4f8ad3e980724da7a4ff2eddf6627d88ace0c81000000000001976a914cb2e00c066a7a9f286716a430705f82b31eb700a88ac40420f00000000001976a914222d53f9d72ffccd4aa061fbe71b450145ab0bcd88ac90051000000000001976a9149a61e05ac0ad48f6147026b0b7b1e0fda5544adb88ac70c04c00000000001976a9146cc036f1db661db5ef8e706e9f186eab3973897888ac40592000000000001976a914de3d82bb76829012f4222d42f391c33a843f827c88ac10911800000000001976a914cd8f6f0a8061d848b7723b15caff2aa551ae5f6a88ac103e1100000000001976a91432e15eeca25d491473518a9e66d8e990f8eb765d88ac40b31100000000001976a9140163c3af4cf9a6a9213db3eb3eee09ecac8a16b788ac80de0f00000000001976a9140f83b3296d31ba2a79cbaa0a4b50092d8ddca1ae88aca02c1000000000001976a91465ec8132aa9851bbfd23a13da3101f6df3b5398388acf0ef1000000000001976a91499c9606aa0cf380efbe44e7a62ae411e868d254188acd0121300000000001976a9148c1ddb8605fea074dabcc94fd73210d37a7ffb3b88acf0ef1000000000001976a9146eb6934835e9384667195c0a03c1c30f1ccbe97588ac00000000010000000000000000e090412a000000002a1f32a5781a427a610c3a810f2b114e2e14c818099d21a6261808b724e3773e61a3b1814bd980391c9cef44e0b543ab96005f04662df67a3ba31c495b4a39dbf7aacde440d377b203fb63e77578bfea86c68e961d3dce4007a62f3b5215f2f9b933f0d99ca81635d25c2fb1b0796ff5ef7692131961a38a88095401abc2ddfab13f4edc5c71d09d84a8520b8738798022f24ad3d90744fb5faef302855fa27f0a4e138cdcedf9a71b19654eb4c4882582184271a24d8ff0ab183ebed945377014b274cd6880bf2f53c53e9e57fde40f4024a24a1dca15e1687ee690b4946a1f47894d2a5235f8c472aa5dca1abb379d0240d4386a569740e4f41ce3158a98a147b9a99d321e07192f7e6d949fd0a12e1a91c7501b2e452d1534789fe450665402060f5b9ecf94b822fd517f9a0e5d4181d2507f85749fdf51fe24a0e26b77d0c70320230309dfd93d3a8f4c8b7c7cae26ebc1e04655de8afacd5bd4667b98fefb6c0a036f9ed77b7c3c6cb9eb29b55104b1aeab44921d4add4519fcf1fc166c6ad9743baffe66e7361e40359b577832f7990fc9a25615efa9d78087fa77f7094e54bd0310722a563142d58cabe88d5b68a13e0934c1ed55c3944c64c40669c539b6164f02279a3d32c6d0a17d777e7100f9610e96996842a789a1cda66b3593b8ddc7ef0c031957142a7236d114fa5b3e59d5bc09442446ff3169de47317c2b2e3a88392c1e0203ad06a159355541386d3427ce22f3d9cc462862bb489e21ce9cd582cf810cc60228f07969782897d28ab3800d84703a77ca608bdf75b6b291c379f95cf7750dfcb34e4b7c8d02daca57500838c58a0a93c97b4b03774b42e3bf7c553c6fdd1364df0eaeb58aeb57f68fd22f0374581ebe7af780a5b8884525e6b544effb51018583cf760708dbf852d686425bb310a9f0174568f3ac55ab5459b76436bd43af9d7d9155d30d1c115bedabec6c3d3bc56dc693758281c62140248a9011115988fc49be2c1c501e98762c83fc765d8b5b24c82a6bb21639712a9dcc3feaea1990df9ca03db37fab7ba170e48e0ed291db1de3edf8dd5c95f6307f1de2a538fe9cdbe2da6ede7529d6393cbc4e26646664239e086e0c0722412398f27303c9d03a09861dacda3a172f531f91fe01ee5dbfc1296cad6166ea5d4312308f8bda27942f507e13a444533cbe8bff8251e0f8fa3d5760671af31e378aa18ef57a63bfcbe4a5153ce71795e3f528339bc175f8fdfb2beda873abfe4ed45208d21e144db9c4a257fda2876a83d5b49dbb895d3d15aee164459ef1a28fb90c5a4cb0ef804c4021c39caa71e5ca044be4c5ba1ba5c3184d0964179978fe050dbd870ffb61f2ddfc059d7eba02d69c3a5b1d2331b3a0d55a7e00098319c778873074153b13ce08427023733fdc2017e929aa3af58c30581e41c9dee6dc9474b8aeebd4f45e342a234855817b891a279a1e6e88aa804b9e2765e2ea2227038fe4960168bc0ad2c5f1d27267701257a6889ba2d366b2ede9559ab0091bdfe31880d07108c0f5b7abd34af12993fd41807a690720442ab79c385b22a0cb600e8f7c5c1ca5be403be3ae0b849cd38e98378392d7f934a2a817491fec82fa9715d7719322339f41ee8754e665db54a9645dedded301565d2d0dad4a4a438432c300eebb51f6a1d779d011f6ac9a8255a5d2e4997bba42b17dedcc3f198e4b63e7cdd87719fcf09858dcb8e414985d4c82ecd8f2dd791ea080e0ea26ffaeaa51042f027eccec99982f606fed1a602ffaf182df93d9a26111bb019ecffab1c3ec6822b0a42539a7cedaf2b838ac2f3fb91cb3fdad97380e37c1c283736900ced9484a37d27f6e3887399b6bf981ff142abd83eab4d546c9abd9f1b09548a107ca4ebc6cd4aa576851c9649649f4c514adef10891b78040112e23c17c68742c415a931cc51f162a8d60f4ba1513e6fd7fdb93e5bfbdf90224265624e1c27a027cc5d9806e804120a187433963a10aa40ab16db2cb5f340fa0b2be937216d166675c382be30f470329ab8b5eeca31c1ce6b469c8e9ce33627fe60b7520ff15801b131bbe4539222424f8f19b7ffa6a1d8a49bfb1acfc14f79734760ee7c86b0563eda083adf95540f03747547a2541c3fa930ed51f32f7abf5996b2429618f377a2a49dc8351e262bad61179caace97385bfe0aabd91befec48f30c81dde6bf945f73db345228daea6bda977659a54371f364568527974b7bd192fcf881696ded64ef91c1800f4cd91f63e320f1f9cd6afd0316f4d3e1b1fbf74f68879b47f4132d3d31f2a78972a4fe85d5094ec12c6bfe9d204f7588391bb70a776a9588eeaa9ae2d5e930480c6ce8976ee5c11e413a53187733e4a850ce29517a3d9dac63017d3c879f12e9986dfa56e57461c8abb3abc142b1a3dcdf6695c6c43d00a9c8c6c35d9c887f8b71fbceca7fd0c09834b07d5c5c4838767defb355d10b11d780490648b9824a90d840bf2d84a752112b89c3859571568fc9da5341833977a935b2527001ceb157002095d8b15adee631bdcc278996b85610315b1771aac254ee7d67f5f17212e17ba63a32462f3503c1f6c8fca12d46198c7aab532916093ee56020773035a4f53281d36e8f33acb2e7d6d6526319838a769c3919dded0f0200000000fd2c0100171100000000001976a914b2c2922e982e57e7a481133cec8d8bbcc75f7e0588acc05c1500000000001976a914ab5db48ebce7d2590e0e17f721756c565453a14b88acf0ef1000000000001976a9146881e3de877820068c5ff8b520a276a618f4cc4588aca02c1000000000001976a914a4986e6df716e0b83e258b2c575f20cb2f48a71388acf0601300000000001976a914a158d0486e9efe5c482a9fe723842818fe0a1b1288aca02c1000000000001976a91440820a5893cd219b574bd093fb5ef589bda7767f88ac403b2500000000001976a91428f5430eaa3a778308d16ddb36974252eb32ef0088ac40420f00000000001976a914eb2dd09db29536a5f4f6e398e357396192e0e68088ac70b70f00000000001976a9148b53b83475c9e614d9032d571ed504df3edd3a9588ac00171100000000001976a914ac1911cbd1cb4a33c073fd78d1d5ac7a5dd3d7d088ac60541900000000001976a914ea02ec196ff7886c4c85a504f8c2e04b1899d23c88ac103e1100000000001976a914911aecbedc4ff034c8be401fc809403df9b39d9888ac60900f00000000001976a9141d205afeeb35ec76a75dd5cc665a985768d60b6988ac90ab1e00000000001976a9148c9bde9937f2e0d32c9aa46bd713ebbac0202ba388acf0601300000000001976a914c52689d2cb86ec318abf900b56e434d8b32dd6ff88ac70b70f00000000001976a91411f7519727b0ef76fa37939dfc0d266b17efccce88ac60900f00000000001976a914d5d8fde35c0f20cf33c17c2b804a2422da95718d88ac60900f00000000001976a914960eea433f9c80415f1477d292a3dda5c997f2cf88acc07a1000000000001976a914f34a78190afc6fe7d9251fb5e38e34ab06af7ab888acc07a1000000000001976a914c32d454912f196fd49fef1facf92f0c2868c280388aca09d1200000000001976a914f268deb1d5f257a4959bcca1172a01e2797d110288ac40420f00000000001976a9149414843f74ebe6fd7d705dd3c9c8324a5a6d61be88ac70b70f00000000001976a914921ca59d8e3cd38230f66022afa3686dfd08092988ac40420f00000000001976a9140df8d5f43e75d3c10442dc48a2ef00c5bd52d76c88ac10af1300000000001976a914acb0c2669f22f7577b5e45030bc10fe883a0fb0288aca02c1000000000001976a914a423be26565d3a5e47025512c92b89f492bf025188ac60900f00000000001976a914ca8321a8f3f71bf3e12358efb093e9ce2841282788ac80653201000000001976a9147c7201e3f3bddc1cd41f3e78a6660fc29b93dfcc88acd00b2900000000001976a91406b977f51c7628b40e1bd42fb289e5ec5e0dc6f788ac80de0f00000000001976a914157fd0bbf3014d13ef1be0379df3297b3c43fe7888ac103e1100000000001976a91456bf4a8181810df3811f1c56b0287428181a6b9888ac90051000000000001976a9140f74f34ae27d2d058bfaacce84ef77225a2afeb988ac70b70f00000000001976a9140450cfb7dadce54a2152be7f20a6a1414882facd88ac00171100000000001976a91478849d6a81656aba5dbb5810ffcb51b57d1d441a88ac70b70f00000000001976a91432a447bcd9bc7f5fe8b4169758c95bc7914cb38288acb00b9900000000001976a914f24633854bca0e51eb60d5b7ac794c007812922588ac80de0f00000000001976a914160ffbb261f7b178315a80a7aa66183293ce948b88ac80de0f00000000001976a914c558396342c86028c65816c0ca7a8d21163336a488ac40ac2700000000001976a914fe16fe5b83db22c541c895d16dc5aa2de924c8d688ac60900f00000000001976a914f6355f137e08067d6aad3a25668af047ac545d1c88ac103e1100000000001976a9141cb77790b148331e203e80184844999aedf798e688ac80de0f00000000001976a914e4455f1ef7b367d4ba32900945c10426b2eb00a588acf0ef1000000000001976a91465e311addf68f90b80d011f72397e90aeb16331a88ac40420f00000000001976a914715b320512ce4c0c5c53fe1f006913158dff1ceb88acf0ef1000000000001976a914d41d2da691a3f3d751e1199a14c5b38dab7a146188ac90051000000000001976a914f481f014088bd51d9fe16a89b0124b477e66426788ac404b4c00000000001976a914e9c8f6994d95bb2673b51014d5c1ba37ce6b94f488ac90761200000000001976a914f1a9fe0867902a14ed619ef5e473b8495ab8e05188ac00171100000000001976a9142b7a9714b89340ba0faf445ab4a21e7ebc0e0a0b88aca09d1200000000001976a9141164bd230f5efcde90f7fecbbf6227ff409bec5a88ac90051000000000001976a914b4766c2acedfb5a4a78cac0e9eb12f4a6b2459ab88acc0013301000000001976a9149e22ddcfe0cb92fc85d555c5f94f5b6d5ef9e18288aca0636f00000000001976a9149f6281dbb689c54138aee0f24348e19bd2a1448a88ac10c62400000000001976a9142c3d16b3782a084abf972432481f58d4f1366b5688ace0c81000000000001976a9145354143e6b4f165e420e2338c3041a7761b3cd7c88ace0c81000000000001976a914a2da90d48fda92801574b03ec3d003550f78e96988ac70b70f00000000001976a914bbc7be97cb257b8ada60ca8c69c5ac57c644fba488ac90051000000000001976a914e45cd6b4ffe20caeac2138e1d289271b547daf4e88ac804f1200000000001976a9147193f193ef9fbb7fe6f8777bbab52fe2cb2c066388ac60900f00000000001976a914472dd4028f1e46b10840a2e4ef5b64f7daeba36888ac50690f00000000001976a914aef61014b47420a7b7c686ba7b0978ea1a123c7088ac80de0f00000000001976a9147cf9f9d3ab44c9b29cd9a25cfed9af4922a809bd88ac80de0f00000000001976a9140d123f00955c7df89d3363bfaf784039f729926888ac40420f00000000001976a914ca07cf795b2c602d3287452e26e12496fd143dec88ac103e1100000000001976a9142542e8dd391b76553e1b29d56228801998dbef7888ac50690f00000000001976a914b68a4f1d19f298fde6ebbbb11fff71a317d5f90888ac80b24000000000001976a914bc7a89b723383e00fabf8daccc283e3d16380ffa88aca02c1000000000001976a9144e4442e3a507cde551361135c53b4c427794d88588ac3008a400000000001976a91400ab770faa3ec5c8fd6195f61d5a3845fcb79e2d88ac50690f00000000001976a91419354360204b25b1195bf951a6722d148dc5ce1088ac40951600000000001976a914d9a6c715263f21b90cb757ce78a9c5ab5933535d88ac40420f00000000001976a9145d5e74002d2306d16f0109c12c87eeb2efeda43488ac20651100000000001976a9145b46f66d1f7a1e97363b1b17d9b311dbe4507a9b88ac90fe2500000000001976a9146195e6538ec4d37ad98c9133c0e20f970e5c14af88ac00e70c02000000001976a9148450387c21e5acec494c92ecfe56c250ef0247ec88ac40b31100000000001976a91438db6c8adb8e0b654965a97c2e9c59157617996288ace0809900000000001976a91473498e5de632c7cca485569e2f979a6502515e7188ac60ec5300000000001976a914e1dcbeff8edb17205c618c70bc51d599bd69008488ac60900f00000000001976a9141febff162f0b0a45da43d017b785bb6bb9eb0d6b88ac50da1100000000001976a914d01380e7bd01ae4eff2cf073ff8a398f96afb39a88ac504b1400000000001976a914cdac59c07d63bcae8244355aa1ddacaebd11004e88acb0531000000000001976a914b987234a4ffe07502f9cc82f54406a06b0cbca4f88ac50da1100000000001976a9141ae025d180d93b36e7dc76394383a76e7e40b2bb88ac60900f00000000001976a91484b7ce890618efb82b8f7394d7b72807fabc804088ac70b70f00000000001976a914f7628ec6a3e14f9b86b8f857947cc53c38dd835a88ac60900f00000000001976a91420262d48f1d05ee1ec6a209cc58ff8aa4cf6e3e588ac50bc1600000000001976a9148abc7e64c8f86cbe03fe1d4f0e2dc1f2ebc888c788ac50690f00000000001976a914c645aaa039e1d1bb6cc5b7699b9873212b75906c88ac70b70f00000000001976a914d24d9854fe7b14948728aec1b4f454c3cc11b66488ac70b70f00000000001976a9146396369cd4858b445ff1c86e07e54a5dd26576a988acf0ef1000000000001976a914fd5f6713012a3f3eae33f84f5569616967540d2488ac40420f00000000001976a914305c2ded6db9e6105b04248361c71863597bb24788ac50690f00000000001976a914600de96c16951426205400d0bb52984e76404f1288ac308c1100000000001976a914f2b76b74d0279f39f8845c50b23070ec43a91a8a88acb0531000000000001976a914a337a099dbf216b82390df82dbbeaa72edc6ddc588acf0601300000000001976a91474a89edcdda2b8d33c04e8f3f7a7cb4e54809db588ac30fd1300000000001976a9142e12150384533240a465efa451fa549817b08d9088ac103e1100000000001976a914430f1c52d867c488b4ab3298decb49de83086b9b88ac70b70f00000000001976a9145f2c6a9e0767b7dc5486de36a52782172d16bb6a88ac30d5ea00000000001976a914e99efc30cb8909cf3b0e5bfc0907311b175168b588ace0502400000000001976a914308630705881ceeecf506c608f35680dabc764a188ace0aa1500000000001976a91483e7be3c426277488b9326cabdae273a988b584b88ac70281200000000001976a914e95119248f43c7e1383889d3dab1ba75e0fa9ae288ac50442a00000000001976a91438c3fa043af811d06854d1d94cc0151665b5a85988ac60900f00000000001976a9144d66cafb7531a87d5e403cc86c243dce3eae7dbd88acc0c62d00000000001976a9144fd31c2052e8743369fc3dce445941c9b81bf86f88ac50690f00000000001976a914c6395176cadb9d0fccab6dcbad78697d9715083e88ac50690f00000000001976a914669c7b9f27c6d3ce98225fdaae8c1a6df81d1bb788ac40420f00000000001976a9141a837d4ff33501465b422e79bb25131426b56cad88ac103e1100000000001976a914b6df6c79d21847d1a72e69108869dc24461cf33188ac40b31100000000001976a914ceb8267693d3ebfa59df811ba584075016c8800488ac10af1300000000001976a9148b5f7146361a3c253b8ca548b1b2f80405d7251288ac70b70f00000000001976a914b47539a488c838dcb2fbcb6edf6d55a7d6a05bed88aca0e49800000000001976a914664ea64e025240c041c89f69c00b8e984d60748688aca0a64f00000000001976a914283379330a0a3f38f1b3d307e7169833f684c0a888acc07a1000000000001976a914c3198992b0fed961d923e86d9d999c457d7b3eec88ac50690f00000000001976a914278e7914962509bbd496727745d546c891a920c388ac40b31100000000001976a9148dfd5ec7010b81827571471a1b9902535001496088ac70b70f00000000001976a91415999379410a818f97cf10ddf6aea084b3adbc6288ac80de0f00000000001976a91410a20fa7fb391630f914abe2d791977eb3c7b72188ac80c01400000000001976a914a39cd749c7b3a49c0b1c8b11962eb73072dc606f88ac105e5f00000000001976a91416b2bba6441bfae1cbc36b5d2c9e5b2013fbd13988ac70ce2000000000001976a91488929b5d3ecd005ec379cc7cf41974b858a37a3e88acc03e1a00000000001976a914149c24cca4f2391bd1c7f295be8cee739827a70f88ac103e1100000000001976a9143dd9654a67d6ec7c9ee7ba978cbc9a156b63439988acb00b9900000000001976a914dfc422d7ddd08491dd7aee9cdac5fc9bafeeecdb88ac60900f00000000001976a9148f31f55347545fe41b713f63756e6cef256ab2a688ac70b70f00000000001976a9145adda7f959772f961f1b6a41bd8560dd005401ff88ac308c1100000000001976a9143f550a7cb23a59aa9df5ae2acc952f6032aa019b88aca02c1000000000001976a914ab82f0a6622532b9a28b0d161d874f42ace6c52f88acf0d11500000000001976a914c64e188d2fdabfbe39c4fa34014615071b45c55d88acb0351500000000001976a9149b82db0cfb4b64bbdca66a678146bac17c5e196588aca02c1000000000001976a9145542481b38de33e04f545895e4d45870b019473c88ac90051000000000001976a914a80d533f5453d5741b181b00e8029eeee4d99d7488acf0ef1000000000001976a914c6ea1e6eee4f09ecd7b37afa5d251a7948052f8688ac50690f00000000001976a914a255c480a09f85e83b02f6827de654c8a7a7653288ac90761200000000001976a9140f13b8c6f3dac0b5c189b12bad2acf0b8b9e08c788ac50690f00000000001976a9143561b1232d5ea41f7d38823bbece9ac652e6cf0788ac50690f00000000001976a9149196f4c12100ea84081c782408b5efda34c405f888ac50690f00000000001976a914873ac6197ec0da5d82ef58ade8b3bf182fe3865688ac103e1100000000001976a914a7da0ec3e314fac6a68f69f472f7d06ab716d68688acb0160b06000000001976a91414affe9486273ca9bd49bf16276986d6ee7963ba88acc034ec00000000001976a914e135bcf020d87fff8702cfc5a4dd0b09be60f86f88ac70281200000000001976a9144d3d16a874c7a1bc17e983d2acff32cd4394a62e88acf0ef1000000000001976a914312aa2a43cac26e896a902a46ac64d8bb3ecdf6a88ac60dc2c00000000001976a914094e4e72a9d4616663e12d2b1377a3e9f6b8e63188ac20651100000000001976a914575a5a71a6b80929b138ccbed45a23b294a3c12788ace0c81000000000001976a914b8ee31edffababf1d2aa302317f28d2caa82068e88ac504b1400000000001976a9145a07547f524de35e958f0eaf865bc2f812b0394288acb0531000000000001976a91490cc53e59c3df264dad3025f1b0f641a7bdb7d2088ac00171100000000001976a9140a978b6d36dd1e04aa738484484883286ab57d3a88ac90e71400000000001976a9147e2d3d598501f39b3c02f83b263a16fc4c4a941e88acd00b2900000000001976a914c84798ad7bc3316c4aaf835675b383c9ba9a874288acf0ef1000000000001976a914ee3a368a064609cb052aa1056eb6140d1e29101488ac40420f00000000001976a9149a2dd0bbb5a83b6c03d2f07cb663565449908abd88ac90051000000000001976a9149aee19b6ac562e7bbe607956a3ecfea0b0bc772e88acd0cf3200000000001976a914bc1f4c9d863a0ff92ab0d820ff11d21f8a1bdedc88ac90051000000000001976a9143182ad4a7a7a841d21c721d2fdaaa00cf68779f188ac80de0f00000000001976a914032ba5b048c8e1ee8c08876c221ac44f3336278f88ac301d6200000000001976a91478677b05cdd79a00912a1cf92a0ca34cb1f16e6088ac90717b00000000001976a9143a956e7a20b549415945b66b16b1fc41c7d25e1588ac60900f00000000001976a91484ed7ee77f3a6c2b31f25392cb846eea90aa188a88acb0531000000000001976a91404f56e08443c39eaec7b620cbf7ae434fd87d70d88acf0ef1000000000001976a914ea41e777aa0faf5525be76bbb36205def925990188ace0c81000000000001976a9145174887cc4883361c4efa21655faa549a1a33b8688ac80de0f00000000001976a9143bfbc39742988405a57071f1a2155ef0d2d478a288ac90051000000000001976a914a5d44d53bdfe8bc476bd348614d67d7945e055e588acd0a11000000000001976a9149661b6b201b5513e36c499eb770da12e3ce612e388ac103e1100000000001976a9145cb25b24426abf996cd4581e1ede1df9fcce3f8888ac70991400000000001976a9143288dca723cbc99f157af20ad3a6151b3db7204688aca0782d00000000001976a914483bede220550698af38b5bb07356e8bb964b5b588acc07a1000000000001976a914b033b06977e2738b68b099ba2a1f6249c1fdfefd88acd0e64300000000001976a914237e593e195c4e5f6bba583b5a560304698364d488acb0531000000000001976a91434e90ca941e76a53394a75c63f5d62a092ede66488ac00f91500000000001976a9144457956f71c075d587b5f225be2c79d204c276d988ac308c1100000000001976a91467322a31ef77511e1ad34ec39c9348f83f1b1c6f88ac20651100000000001976a91499589480f3f72394d9934fe011d66672ee81994d88acd0a11000000000001976a914a6ba41aea6b3b27f51df0975c2a372ba3415396888ac103e1100000000001976a914ba2292860c571f21a130bc0f3bd67eee74d34ca488ac80de0f00000000001976a9148b7415c75692faaf081f0c2978e936196b14ce0d88ac40420f00000000001976a914a70cc581ead9afd00e3d46aa6d79e00c68aaaa6a88ac70b70f00000000001976a914a5bcf79db7ef0ee934e252319af5574dae35bdbf88ac80de0f00000000001976a91472803f293f6c00602fc455d93368425763d32d3888acb0c41200000000001976a9140ac2ee484de277045b33e8e9b5fcb9b948feda5f88acf0772400000000001976a9144aba774b0f174b01bd9bff8bee3e44f6d9bea18488ac90051000000000001976a91474ccf0fd06985acd06eab8f61d14a7552f19fce888ac00171100000000001976a9145cf8dc246e37040ee5968c8bcad50eda49298d2c88ac20651100000000001976a91412e1659f94855624d4602759839d8c6cc3f0f93888ac00171100000000001976a914ed41c951a970fe83ee78212dde4bfebcbb0903ac88ac40420f00000000001976a91486c9207254e87165e7fad0fe4fabee6d5a95e25488aca0432100000000001976a9148f17174cfdb555f5876b7b09fdd6cf22b4907c0788acd0a11000000000001976a91416a2c5f3f554a044d09247e49944c4c70f40d85088ac70b70f00000000001976a91487be4eac0f44c769319ea4ffdeb207fe109da44288ac60900f00000000001976a9144f6442aadcdb20c5c3706a4d05c0f439e114f83888ac60011200000000001976a9140fdb49ced1ac9ac661dbd5788deba23ccecd4b7c88ac20651100000000001976a914d19f1e953ab3e255e95f119557490513ee1b228888ac50690f00000000001976a91484c7f421f9dc54d869c17a6fe68a9e641f25ff2788acb0c41200000000001976a914683a9595c14e349d36b7e09a7c2f6ce1de73c06088acb0531000000000001976a91452857a96ea80962d443ad0806118f7542faf362688ac20651100000000001976a91469554f67f27b8d010fdccd5fa57dd9d26713a70688ac90051000000000001976a914c23024a6ee88f34a4d4cb4b9cf5821b4be3a43f288ace0a32b00000000001976a914ff298e69aa51dff90b06939a59521e98b11f6a5788acc07a1000000000001976a914369f21a548d70604dd9c68382b47660b277b75f288ac20651100000000001976a9145c1205b64a3b732b0c842b587a76c3ae02b7095388ac40420f00000000001976a9141cdb1c1570b80358c587b402287add992571305988ac80de0f00000000001976a9142e0824b5b366b5b269afc4e0f87cfae5f2eadafd88ac90051000000000001976a914f8d52bffae3e31a5019518806d92606d4c87679a88acf0592900000000001976a914bb4d862fc8bc08f17ba8dc2a33ebbe48369310b788ac40420f00000000001976a91404afea38d7b6aa194ac77453d47f77aaa1c340e788ac00171100000000001976a9142b4bf288322151f0fea04caeb89803f803988ed488ace0aa1500000000001976a914a377228785d455bd0cf26857a82c485af5d3cbc488acd0a11000000000001976a914af1f51117f8a9ed4a00bba420921e80e4eee1e8388acf0ef1000000000001976a914189310fa545154d5c452169a04ec92cf262b741188ace0391300000000001976a9149a250e37ceb9c9278ffd712606ec7c02f1ffd8b688ac70281200000000001976a91411cc1a8780f3f3c22d7380da8bf5cbeac8dfcebb88aca02c1000000000001976a914897113b4d703e7ceb8beff00a2c72380e7bf031888acd0121300000000001976a914069329522d8e7abbb783ba8d35aebb3897fc3ccd88ace0391300000000001976a914aeb937f5ca50d593b2bf12d6e063001c2ee1b70388ac00171100000000001976a91469db1e01451b2d2243d876546ca1c4d6b30603f988ac40420f00000000001976a9147db278523d8f0d64db9122e17ede23343c70319088acc07a1000000000001976a9145899cec46bbbe3a60fc9e973220acdf968e8867188ac80841e00000000001976a914f7b4f114ed6fee02964d26ffa5ff0d681c887a4a88ac40420f00000000001976a914de936768be0dd8f9c6b1029fba8494d818ecdb5488aca02c1000000000001976a914637c51fee7071f4ab074b689a5b3738d28ae8a3688acf0d11500000000001976a914f08a700a05fc898655b2083cf52e20ab57df363988acb0c41200000000001976a914ff142978d706e930c158ccd709fbb4a13e3698a988acf0ef1000000000001976a91418f6979ccff2142d373f995605e1b35eec0db6ed88ac804f1200000000001976a914d91285b6a9a99cf0afafa4eaf9cca9de16eba16588acd00b2900000000001976a914885d6cd29765fcb8c952beadbf955d8b226f344488acc07a1000000000001976a914264b68084940c382b9a7a6beba5e26838c4d663488ac90051000000000001976a914ba33abf73b31b2d18a1740e78ee45592cca640b088acb05310000000000017a914f34cc2fd24826dee693f9aa0d7789dfacf2747278740420f00000000001976a91472515620f3b831fd8855e0be2ea98668187f34ea88ac30fd1300000000001976a9149e220f3c297f788abb2a8289e000e979c847b88b88aca02c1000000000001976a9142d0508aba0e2db796e4d5b60147c8b62ec8823ad88ac308c1100000000001976a914a791ec2722bd7933abbd7fac5bdae1382db6760b88ac00171100000000001976a91400ba008fcad2b3f2db0a49d320fc305025f7740d88ac90761200000000001976a91471d43dae8bf995ccd189a78706d044dc87cd72fe88ac50690f00000000001976a914c6d273d3d0296c0117b975a595e45b252b92939e88ac40b31100000000001976a91488319584657d286bfde5d884101649a4a7c95fa888ac00171100000000001976a914bf067d0dbc6fa28b386cff57b5758b993cdb6f1088acd0a11000000000001976a91424db4c886deedf05060319c302325b003126bcaa88acc07a1000000000001976a91425428bd9e3930ce7e57f6ca2eebfe407c81e6f6b88ac60900f00000000001976a914b9f0ea1cebaf3de8a1c1f0752fb577077d4d711388ac70b70f00000000001976a914353ac406b7af05dbcfbd3dc1b0f56286e31ec1ae88ac50bc1600000000001976a914319f38ec5b93e1704d7dfdb20d82c47204fba86d88acb0531000000000001976a9142bc5cee69382b8dbe42cad98dcd1eb7e827e923588ac50690f00000000001976a914247de5243392d6b7395a56da1ba06d8b32ab355688ac40420f00000000001976a9143773db311369f8742296d35e7b41713abf4ee49a88ac00171100000000001976a914e0f4bbba5151e79bb3f68844c9782cd708ebe5ae88ac40420f00000000001976a914eb1f65834ecd308ccdbbb7c766667c67219ab94188acd0a11000000000001976a914c26dc01b48470c371759efd03b0c03ae1b717a4f88acc07a1000000000001976a914ee32e1af9fb73417c23bd26be0d6e6a9d56becfa88ac70b70f00000000001976a9147eb99facf853690b4fc102a56d02cfcfd36a6f4b88ace0c81000000000001976a914a0661cb14857eb716efb7aabc0c97b4aef8cff5e88acf0ef1000000000001976a914286a7aa1f6577cfd62b24ca224e63fa01731ad6b88ac804f1200000000001976a914e342704b79468f1122b4267a6e1f2fef233af56188ac50802000000000001976a9143158fa1ce94c6bbcff7bf7a055065b963e227d0588ac30df1800000000001976a9141dbbf9133e60be3ef28dbe505326e6dc4e2e3a8888ac40420f00000000001976a914f03253e92ffa3da18a30b3b1caac0186b01b5bbf88ac00171100000000001976a91479ab37e5773b2676b0cab77f313faa2d0e39df0088acf0ef1000000000001976a914c1bda247c4c78a7fe5b35c44d600f474ad0a836288acd0a11000000000001976a9146f285c182b136a31e733fea17a50e1a2c09067c488ac308c1100000000001976a91403d8bd32bfb901e789eb605015077ab4e5c4c20088ac40241400000000001976a9140c1a4a1f4ceaf77c25604c720f69bc59d3911c7088aca02c1000000000001976a914997a1e6f11f85c9ee3425060e40ab140e4db5c9588ac20651100000000001976a914734ab9ad6bee1bec75bd32ab7423f84c1cf23e9b88ac60900f00000000001976a9141df4bfdac01fb4b70d0699475bb520f70d48f6a988ac10911800000000001976a914985c425ad22e0af576fa53d920bbe69af570138f88ac30a32200000000001976a9149d109849dfc218334071d785379484c4efc5641288aca02c1000000000001976a914d2dfe86ccf718125cf2a24e5e3861ffde056ac3a88ac60900f00000000001976a914a412510cc16c93065b788fcfef0c47a1d809155988aca02c1000000000001976a914ba9814f4dca146d4daaf376df41236cc03153f8488ac50da1100000000001976a91441fc4fce3220e03a2fc6473b70fb0eb853e9117988acf0ef1000000000001976a9140400dd00fb561749be941f4f76104b54c6d0bd5588ac40420f00000000001976a91436b7426788e7bd2dc7bcc57c186c8ac28920e0de88ac70991400000000001976a914d47ad2ce7ed36c7ff639edbada0dc23bd49419fa88ac00171100000000001976a9143728d991ef85b411f4c092643fce9743b2d2521f88ac40420f00000000001976a9140255a69d2d30115cf43a00a8e837f643482c8a4b88ac00171100000000001976a9148449c84d1899d8f4f14b73137a36b6bae53b11f188ac40420f00000000001976a9140b079154f563a79701d838ea9f833277d62bc59888ac308c1100000000001976a914089065a91e6caa35480c1549e45395d680384a3588ac90761200000000001976a91425db5bff34976c4a29994f34657e4408bc95216688ac20651100000000001976a91435e64d067cf08d09455dc111ea6dd9b4cc00bf3288ac70991400000000001976a914ef0e2d4f4d8bb70818f25d93fcacf298591dde2688ac40420f00000000001976a9149b846e910d266922d162c473107ce4b8a9cd99cd88aca02c1000000000001976a91430981891cf3d6d2255be11268fc9002b9e97f4fe88acb0531000000000001976a914a10122142384b890da34ffab4291fd373d56cd7988ac40420f00000000001976a914b6faf28e694e341a674c849d091df4a48ab7b50388ac80de0f00000000001976a914a656aee203cc78ce36f7c8212be6b294c797580a88ac00171100000000001976a91443f7f7d733a77c102c750f2a15413c843b98925988acc0eb1200000000001976a9145c23acbf301c0b4f408ee4955083760bd4d10f8c88ac50da1100000000001976a91460020149b78e0fdbaca8e0cfd924f8c221782efd88ac90051000000000001976a91403668b6ef69844c9f2054c7bab9cb2909582656588acf0ef1000000000001976a914228886d50d262663abeb827c1f41d7937be3477888ac40420f00000000001976a9145c387d06434b7accd5fa5d40b2d82dedebda760488ac70281200000000001976a91481eb32a3962dc1a72cc56ae2fc4860317b03cbd888ac20651100000000001976a9148f58095874ee4e8ead41e8e3be7d72f784e9729d88ac40ff2e00000000001976a9149d6e59aeca15e86fd4edfeb9c0b58ee29659074388ac209a1d00000000001976a914f9c1bb1d4dd3072d7926dbbf2dfdb3ef5821f18388ac00000000010000000000000000200b3027000000002a1f32a5781a427a610c3a810f2b114e2e14c818099d21a6261808b724e3773e7b8e00e0b97b0ed0342ccf1de7584d82df3a0ea7ac5d51f9384194fafd1ab030aef945a40a02cb5d2454f868c94057de9c247cee3dce788340054f25eff580bcf18827d68b4718a5a447ff135899338e350e6e2a12bbfe6bee405a5a0e9a9f748147b5d8096a4e2dfede90a24fdb2c45e9147273c2a22998a8c7cd224294e06c637387326cc013d515ef10ac2df6d4b27273252761e0a339eb58ce5f9f81172c142604133da30bb5d316a056e081800633f5704c340c34ee5fc0639c06de8863b6ca92aab1f73e9fd549b6f61a398d12f049bf27c07f66e323776f4822b09ce3be2e11cc43982f9397647f71ad938a8a3f064e58f67858e38b8eff45b215f067031d57ecc6d29a8dbc8cb26e46b8019b2d5803fd72b4d484713fd909c8d703f0c4020603fab76479d8419e3d6e13633c02d21452d5a326a87c5a6aac7216bb24029c0a05a185e5403b274e7b01c87b9e1acf478beccdcb618955abdc914ec2e830245f27e21a264071b0396d8a2eefed57d6964dad23afdefbf988c3469cc0a30639ba02267a8f6e7fe376c711b6e098c333eb2f011735474bc434446755450da8b645b1031a0c2315af22fd168374ecc8db1e6b07ccd8a35de02e09e7e1b2dcb5e4ed1810030c7774edc58c46f5047fd5a704a656e710d24227d7ad6d534e1797e7cc64d847021891a20e7ba6c9d25088320c90cd100ac219303fc81e9360d36de22d53d780bf0323b8733e67f64a5489a40a0ae56dec49902abe8b80e6ad694b072b23d448a7258ecf8741db75fab7bf271a33d8c05077ff9ce1beac11a0af4910dafbd5ae21a54c958e5642c4483c10a11cefcbd50db309372f89eda6ce77193310547389d560b53c8893f3e95a4a434e3c5cfaa4513734fc817c5b2b9303aa8cee85ac1a407c5694894e0da3331989f65baa13aa53f0d8a09eb6f3ae231690d7f147b95744d281a48192677dd741061bfeaa8697113a59d70bf7af2426e89d95864fe6776ca095cbafba1562571f41a6bdb74c49ccddb86efa3c37fbdd092ba24e9699ea3a114534d31908d5aa502d824e73f9ff55942817222022d8b78b413b1db19b42c02fee19ca24d6215cf701ef375337442ed753bde46cf925e64351feae73dccdd9973b85110f3085838b207e38dec22e58bcd6e046eee5062dc351fcc843516358bb33ca03d928c42e204e4ca484f3749d493db8daa073ba9c78dffed1253739a8870b9f328682b3372b6861545987004be60423f9401d03ff868e863b52182c8e6418a1b3f25f126f379d80331b2e1bf0ca63d3ff777494bd8f235af1e32bdde4058c35de5b89a26643cfedfe7d78049787dcf4b4689dda35bbbd17faf9149656f5857c2b76f794a56e4cb2df5a8e7b7a1689896ffe79fac2c82f6dd304b46163bb934b629398ef85a291ef1f535e983c71891226ac4812c7e09af3700aa20d0c62f7766873370e1454b50850ae7f10cbbf08d090316079e3135f576740355456347d511419a04895b193dd5ad7b0439edc41f96c5cbc0c9deb7f0e6570218fff64d42fd4481d686e0582d7e4c9fee3a8ef89b3ebad9e067891b1d62674d6b33ad8dfa7a29fdc13dd5fcd74461f6915749c8da17e6ef38225c86838df343af7e63199a77fdae651669e9beefd9270f0f4b9e1979d5bb5ab0c24aa84e99f0a40e731e7048502486f5d8bf56ddc1109f3a08e9749c4a846137f04e475d2da50f38834b51a07df9ce2e54767352a674a3dfab1b82e1b7b3c91df1ac40a77a0671a68d2d873c5d9618ea5a43889d68f50e4668c3bdcf9d59f0669b318cb41c5f9ac84eaabe19e762cee50c1306db765f85a7cc3a42d07738eea364302d4dff33d12d9d5f57ce35ddc71c103ac25c65719eb30900f415586cb2362a57542c8c7389acd7eea9a6c680e0a8f346c7c6e79c9882e1426d8f5cb8a99a92ea791fd87da7ee0ad84579a866a413c8584bf72fb8ad55b5eb7764a38935fb66ab86bdc950548d98189a1091726bc429e80fdf6a4e8f095a9971d91e427cd1d03021114616093418b7c66c090e1307b8650ac00cde087f2699a568688b06ce2f24072fffcce63c7ff5a823d49dd71005183b4be86b3d756d1cd958328b57784824a3009b538bd1c6c1af7d99edf29046a436bca596c59cfb14d438ed7f80181c3abf4185a03cfc5e9b33e1900bad5d6cb8296ee5b84355aa656fa1149168494b3efb668f9c50ec1ae3493e34b78e4369bd0821acf621198659e5af74a6a3fdaf422b42d73bf6822e4acbb6aa8bc821ee04ffbd1ee7a44880f57442fa9c08f7b1da610aebd078bd9d4d2065b2c67d521702138c8c4cfb00c3e18dd8fe9851aad7b53b2344c756f37242c387e80abb4748c76270c20ae75aab21dc77c8b0bd9e1e6f52c390195051c86a2f071f6a4893be9fff6de07f66c1485c758cad47af79a0ddd760b770484e5f365b35d3c12bd39be6ddb0fceee700eaf46212014b996deb81559bde19913ecda878c7cca55da20607ab4deb75f7b57f134aa211423d003903e93b90959735006ecd22c6cf7014db0e650bf2c78055a9b22adad505a5fd0ffd553e4765e587179a56c23c6b59a72af02afa1fbef8ad4fcd407 diff --git a/zebra-test/src/vectors/block-main-0-347-500.txt b/zebra-test/src/vectors/block-main-0-347-500.txt new file mode 100644 index 00000000000..2711825cd3e --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-347-500.txt @@ -0,0 +1 @@ +0400000002b54f363dead211ff9edeffd69833652859a55cf7d5c113f9124e0c000000000bd2a05dd5f04f48adc990b382d4836e9fe2082a4753092d90cb8089453e607f0000000000000000000000000000000000000000000000000000000000000000db98315ba3730e1c055251dd7fc714db9345d7cc10a68a07d9e16278000000000000000000000000fd4005009051e8deaac3f391a4b5472fe70b8e2e7db8a1e531857b48fde9fba9c568c4c672cfccde4ad6966f14035d0ccbad0bcd41ee2b72be1163012b4ff6bc6e5321c0255821a6aa31c45b58636d727c325b9b5f81a60137e4ce738574f3274cb03f38ed749de7fbaf406608b8d8e81983fe806ac917d597c004524f90144ee6074eaaeac8106373d330a181bb1f056f74ff3dff9349748e092e991299021338feefc8ac5662ba9b4ded019a2d331561880f85b8096e49cd0a0e700f1a1c7b0cb906bee6447d893a19f3ff95ea2a795cf01abe6c143906b3d6222ff162a61851f6c2c2cb1c429bcef018da1fbea9c7c93d082a22a45f198e3d25a4d4641f11390ff09dd24374da2f812456f3ff4c91a27b30016c2c46c4342748b9ae72e7bd9ddbc491f1ee73b441236fccf8154d55130935f261e0dd7dfa1460f8827134cfbe281e8fda98f4fe13d48cd0c77aaf9f787be5078a9a067c366523f1a200d1e8ec69a201773ccaa936ff9431dc2305b3cee0a81ba84fd09a8f737c45e418cee3a6e1c8dd45810ea24ca8f4e2ee8728746a20211a3d2b285c6d6b5d3613b6bb4f855d1fac0b75e00c0d73ce85eea8c59860c31a3ed6de8124e0aba6b216702ed3ba92b028b0b4f7ce0968a76a179c3dbf580d3b773de12b45797302555f2566d2f5d39b1979352f815cee4fd331eb77fbd2ffe3253de9f0dabd6f9807a7a7831948d0c95c4bc148c4d2457537f06f4e44334ca1e364a2a84334c3c51ddcb317f5ec4b17b14f0ef43de5e4575e2b28676364653c0f3d237df970900f8ad434acd9495ed11d6717254a57734fe3be28c21a471a021a591a4b20cee525c9b6ad0700ad5c67d41ea42aa455166537fb99020bcc1c0ba32b69fa625f2115c92a3ed5d175f2c24955b850e0d7bcda9e8bda2a1009b3fa4aa3cfbc2ea37534c61e411a29b79401019e505ab45899cbb92ea39d89e947ad1892322aa058dc8503cb228ec1ffcf36a1f3edea01faf2b5bd04317592e973a48911548cc601a1ba8d634ded7d5e644525aebd9d93cb230f6de8e426c73163a84bbf4061085a92c28d0b558b84d2a67c62606cf5db0fbc5c4d10f4069e56ce4e3dd6f6049ef644ef0a9ea676517f0e05cc9a58857a94c58b33dacb7e1912933955e37515007b0159540b019f21d3466d7fc1ecdb77f8ef9906365dee129f70b7a86e45cfcff805de25a5363d8833d32fcfba56f3f4ba7f166b545fd335c3d6d0490c17e796157f9ff82767d0c3e49b32066da257917f372eab45127430b1e3b00ca40206fcb3e75a72fb0358067c7e1a07adc401a98381a910e0a37c86862813ff5f38d778ecf68c85c6a7460e7161a0274d3cdb2e7c23725f54c7b8c2effb5282ea44a4e10d47cdb6c93042ff2a8bfadd6183f25b246f10c034095d7e0de5f301dba5d9f057b56d6780321ce4d84c3191136cea4b358a93ad802c043dd48515bbfd7d1901a5ef9069fb14c3d73491160c8bb741e5feacb62d69a8d233f5712211ccf51ca1df1775fca78240dc57967efd3cc35c1925e7e875985d20e63faa927ed5c97ad00ebce19b3406f3e29ad98f3505781558c545493f09d7ddede41fd537694092b8a0b7e1b4ce0f64dcab88073f17352bd1175a5c4db7bb2ae4767bd14bcb19dbd39d0d9602e3a6a63b5f7067a88660e5e7f8e11a64c65b68b8124762caab1acbeb840ba27a70e87e8924bd15cd1f13043313651f51b1f37be4d309543b55ff82db46a115697f331f0ddb7184f3c3ce2e2576e946413c526908b42a1e35473cf70c1f58e9acc90e0afdda9d3c6a1281ae4c8a240cf73090c19d16b851e4ae0e2a709b0ebbeac7b0a2d87d6e01f9e5f25063ead89d17748a1820a2d8648ecffda7d558aeefeeeca6417bb3b1e101030000807082c403010000000000000000000000000000000000000000000000000000000000000000ffffffff05036c4d0500ffffffff0200ca9a3b000000001976a914588219b4d6bba2e535c2f92af7f85f5687ce82ce88ac80b2e60e0000000017a9141b71afad5f3185b75457bdab3fabc297b56694e287000000000000000000 diff --git a/zebra-test/src/vectors/block-main-0-347-501.txt b/zebra-test/src/vectors/block-main-0-347-501.txt new file mode 100644 index 00000000000..93eda7b602c --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-347-501.txt @@ -0,0 +1 @@ +0400000043a25e192fe84d760be7d6adeab1bb135642db4bb574390c0d1c76030000000025def76080dd6aa5a8ec2956d93e1aafb6801c517edaa471a970f2d9e46f7eef00000000000000000000000000000000000000000000000000000000000000007599315bc2f90e1c0000000000000000000001035777251300000000000000000000000000000000fd4005008dcb2b4dd04d9eb102990ef3fc7ce28fa41a196106f9fcf7a10ac87b089aa256161bab51cf826fd8c60ac384074363a0f33a8f549fe07e0311352ee9ed102866496a26533050d81032a4674dcf0a33d578ebea0450fe23a25cae897fcc948185f77df6a2ea5944ae0eb5fd2ac92713715fc622769dc89e4e2ff3361657115db5c0a1dfcd919c4a02f8f5e139e276465e61011df4e3187308d58103d189990ee5a012e1ec97f274039d1bb25783d5b2ab32d4eac970c8e991130e086f0f72b7768c080e13232b021a109ea1dec63a17d380170f7ad324cbd51d07e638c0fc6316c6e6ce780ec92d45cc6a09911ebdaf6274d7f5a814d54efc3116330e7f1d921a0e7606ed6384ebdd70c9794ac23d48ed40568ed03ed6548779e5a7661ed177e1daa597975413524d7d71d6b9d2fb44a15e3425683249053421e84f7d07d3da9512a6c0b32a434c664c0727329d584400a4ab8755d052cee8bbe3a201dda12348b4fe500c275c9f89258fd0ed67fa8398fc457f5639c39d81781b6b3b6e28204e15faa4c68056dbe5d5ed57f9504930176ca45a542cc2c03a554220515ffe7352f6affc08fdb433bf8419953b14e4d059fc349a2457162ab3339e059c86e49199afd9543f40ddaab52476916f0a0952f8f2a5302a35fc711374b937dcd0f68ddebaea6d0f14cad2671b419c7c38f92de3d0afd4109f9c8c03fe01a49686be29e350332dc024466d413071836c213d0bdeb650db9f2afae5306b32993e5ea932f5eb3715e39718e274d960a6e53bba61e04320a2998e56490f5deff5631be7db82b75207e631936f037f31ff04b232e8cd2bcaf79bb535227f6b7b92a7a0b8371b1cd4f96a3acd18e0dd84c619d2bd7d59f73958b006128631e50dd6545180f1c51ab144ac76f3131e3259165fca294eb86c81fa98d5272a5979d65d90790f4b039f664ba7794c5ddbaa85fc9a64a1c9d6f53fbf4108b04868e7024bacd440539b08297e7e9cb614f40f102d4ac9de1ac71f00ae02119f5ce161ce6f32926768588fca58684a5b8a9069484f53f12687a3bc06130ef65afbf11ff4ad882dc48958e8035595a4d1989b11c539014159b3dfc85b46477ccfc0bf81cbbe7cf42207b75d9dd2ad3c9bf6b26b8517e481f735be479659b2ed48d9a9cc035b8925ca86766e82281df9bfbc04be1d9322c493ccca19f7ce267babaa1dd9b2e1295e1f9697bb2805219515f834c8e4c5a75ef3bd048b10e70670020911d2d533e65ab77feb4ae3e1fc3c451e8c12f6f9dc337d581df2423070b9f107bbb2f69d185d7441628d4df0d7598a85b4f757cb3b2a7c2dc327d2b60bbf162965512c22d5fb34f1bd6e9f12e8245c83368face9b751b36ea69851ff2b5a25e8bcb0165d37461a17a2a8057f9ac7f612e03c0333863bdff403c85828d78bb5dda71c07417cf7ba567f227a954f09252fa3775d861dbbd96595b064c28a76f858fcb404c83f6a89616fa586e485a2575a65c9c66e347f540acf6dc8f1504b6bbd0f8ade7e5f0fcf87467eeac603d3a7e747951c6fdd90730daa40c835891259147626bc24fd46a087634ba424510a2cabda519a7a78180caa356517855dc431252137c333af606dd053eec636c84fceb74dfb687de51858af753c6e16673eceff05080adb11282d5fee4e122e791cfd38bb4c7fc11a32599342dfd269f10280056252b152f9c29b192f880bf1b55a389efa4f048d10f4bcfe121cf935189ddd0de1c4ee73050bd975487230b87177aa98c0b68dcc0eee82d1d48cf4e12d0f56d91ee9ec2a4bf9dacd3832187318a928c2ad8227b32943f99bad37aaf802662d1a620abdcd36949ff395890a731413290b7f3e883003a7a0c1a860e1e562b3b2d1b8925982201bfacb04030000807082c403010000000000000000000000000000000000000000000000000000000000000000ffffffff20036d4d0500324d696e6572732068747470733a2f2f326d696e6572732e636f6dffffffff02303f9b3b000000001976a914dcb4eb5436bcc1351ced1259289466134e993d5388ac80b2e60e0000000017a9141b71afad5f3185b75457bdab3fabc297b56694e287000000000000000000030000807082c40301deb57a9ce189331593f0260a8ae62aa3fb2b4dd8eb491ed299a751c2e60edc8b010000006b483045022100b6dd20bd2d918feafeea347e40a352e7f2fa02fbde03e2290a72219c53429bcd022058e9b003d6c6361af0bc809246f5a75993987b0e807e8c6e4c23d53f2302222c012103cfaeaebca2cebf7ca013845caca9dadd21421c2fcf951f2f602b1022a201f635ffffffff0278d60500000000001976a91423843255b39dec2c6d6ba6aef4c98b7685ff16c088ac273ea80b000000001976a9141c1c3ce2a149caad4085310646518a76e39df67d88ac00000000814d050000030000807082c403000000000000814d050001000000000000000010270000000000004f728294a989c718a05c571e5b8ec13ccdeef039f2290ae3c0a7ab2540f601ce2e209848c211b649ba9f937bae919a0fc455ab3396507efbd541b295f5c03f9c65ae66d2b65206ec20c1d90b77bc9081be5298e18a16fe1d48e47c6e81fe9cdb34c2b0e1b3b617fde43c9125074e439a70df8772ce59daeb24d485b11a3d9cde7bf602e5807a34ecf5c738af67d45002e1c0c7c9e364ad7f8eec968d24ef49506742a8938f5bda222da5cb5a31a9be61dcabd19601f5a50295e587c8635de51e02c173f13bc90fe7068276b50ad21986fa7be9ea7b373a248f4971aba483ce7b6986346d062bc96cb44b90e774df6f8f830348a036d03d5736822f3832906e0aea51169573f10b5de6189aac25abea321814ba73294c5c40ce1acf0ebc86a7760216f21f14e3fcbe161aaed58b2135b7f4c7984697ab35a06036a46c65fc6b6c4c03085ea323532e3ad7b0568309f0647ffccff0a1cb907965f4d512f43ee193ed860b000d580992745932f17f69bb123f1658327047214da43c532be1404dd03623946a743bc3667ca25cac089d50683278dc5dc98a4e7088320bb5b41a94a67befd202060ad940d63e7459e0d862ac5b187ad052d816dea6f5e83553f6cb37eaf0ebd8031ceb921a5f16b6be6112568680cc71c0a1f53cc3a21e4300a5fa5e33c1558b250217f710b4bd83ec68abd1e0440f75f56eaa97d8232b20b193a25f237a7661c7a30226e801dbae5ffa4d52031e840e4c65f035fbda517c0d4241cfeb1b34b690027e0315510c0200d3f71d919413395aa9169764efcdfec98ab4742beb6d9cdb312369bec83c931959a80460433714fafd04d8888aaeb39a73035ddc825877b88583bd3852c05dd0639f338473b03ab84f6cb1ce208ed1ef2ff591d39672b98a5acc8dc62f7b3a8f680a3b30321e463269ef8345b060bee9b4a2cbeb664b43fb09533ebde8bcc94f7caa53b5249b5771411d142e3dd3b96eea5d5ac05b76e499ed8223de79ca8f976d5507fe4d4ef4ec6c967dfece4e8cc94e989b5f3c2a6ce4f4b33045765259fc40fab8aa5f6777347cd7e78aabb9c2f15f5e20773a7f25f5b16a1061f82789bc3fba79cce5ab5495534293fa361e0c1984c4d8705bfb51c898893b454a7bd4224dd31f8b8449190c3b9c6a73aa4d0294f9e9b0c4665537e1d7769535b43c2aac408ee177fff35f995845cc4fb235f8986224916bb3cce5400f945e55b5a80ee4d23438d1aba7b7b98ef53198e568ea9127c3448dd4458353889e5c34e2f450f99134dc6cbb84686091d6d4c364a65f071294061bd849886220b1e25af66da36696174838cdfebdccabed6be704d91e89b1156d2eae58ed1567317a67eaa696b1850e177b2aa057af8cee59e5fb8799d7e754dd9273164949247d147eccee3e9ef46fb261a5ef9fab7724c10a7cb2076f8f085d44a9ab2be33ca7584799babbdce45ab189bb8783ff7a17ebc04f174cc01ddc2f2068e7b2ab2aa1b05e6dbccbc7b2a49070934f5a890c373a7303e193c2f4e9b9d43a8dc86f339fad5568b69865536d14c3509a89eb58dc861b0b0e0d926da61f10658b63e048a81d952942b31c68b6a73147852595e5d18801b6ec67f309db7c3daeebfa3091b022398e0dcbecd3c3cc0beec710904162ec1655ba27453b9e678f7ab0123e04bcf28b95281e705191597261eac7868150fc5d5a8436d113ce395d3ab0804e266ace834e6c0b24ed363f43df59ac6d5f7ecf544fa06b110baded314adc7d7e6446958cae350e7b6cb9ce3dec284d6b71ccd5b9dea62f53c118e79821c773c287ab69fe29275ea3644022350d2d6db6d212d51ee9467ea4aafe91ffd86babae36517d847598292ac97eb3b8aaa40e755d4cd6a6e09ab3c6e54303c0de5981759c410249deff6ca83fea8190916ae8486713c24560daead553e25ebfd5b64e189dea264622b000959a4019a1d8e68d55e71b1bc229020b58e9f2f6a7f8df803c811485bdab7ce444fdeeb7a4d5d74f904333288d9c0e2253821ea30e665291591acdf2d02325f5a883facadc07c7b1b9d04a21f9b495684a8f7bc3d0260b45bb45a8e5980f1a865494790fd8f666b5ecf36d27b92fb08b2cac7e9780aef366027cb87c71227e1fb2fe827fa9fbcd288816c9ee2f5297ccb4840b8aa21420ac35a84ba478d79ac5b03986c82b2eec2523e3f2fcc94933b89e14191de112293ff596ebeef804c731fbcba8db91bd9ca76ad84a1b8eb2b902fac5c334438045de42ec6babd0f085f812fd504a7fb8160ee2d48a8b1b9259413cf2c45c425bdd8caef29714d901c667ee00bb72cdd470e21d375b5a425a1d5a3ccb0186e04603253086eecc840d942638f233fef95cef6d2ef38a331c899c2cedc61c80e2627bfbe311776b50a012acaac218679feaaba0ee6ec4f1058d31b699073183877ed9a56c1e95421686b18610abeb4b8a8c44c4258c23137600c8b57bf8551476541aea4ee85c8e7a6fd67ecb5627f5960d8c3c2af4bff850b4aefa05280c7720b7cd99ecc011dee3c7d4a9bdae808934352fb1ae2e611399202ef9daa9fae28d2634ede9fd20971cfdc4dee2889f539c5920d9e5b33f5d5a3917ec02bcd0088b84f64ba51436b700c18f19e1007ee8a3361c05339244866a06030000807082c403000180e9f207000000001976a9141624c0a221202e07b2c93819db6a0c0c5e6056c788ac00000000804d05000100000000000000009010f307000000004f728294a989c718a05c571e5b8ec13ccdeef039f2290ae3c0a7ab2540f601ce4e21329eb24fc76136133475882b52f7c8557319be4f77328617a7e1037be6578924c184d98a979e5e765c388fb10a63dcee703edab47af057648f2437cacb3010f1f999b87a4b920cc9a2cf19bbd0581d27db344113d7417f54267e60c178ffe65d2c8828a5d67cd569e3590f262614ce06694b3c5bde53521c8527dcabc876a66ed99a2e904e9d4cbe393cf8a235ad8d9854ca638ae7cbe09eecd9d1130840173d3f5d12079941b271e75e6920dd10ba98e0c136905afb07f6ade36e0b7cc613e70e693335bcceb9f595baa771828ffc0b7ceda4461effd1dbfa09904cd239a1cb3d8bd3b407555b65cd00094ca0c55758b445f2319075743fc9130962f19e0305e0afac29eb46e40a9a4682793af6596360f8c8b97f6f0e84c6afb3486883e90318b212fc1d9556dedac67b5f94b35dae6a5a9aefa14c467c4491aaf6eed5a73f0b0199e6ec60aa99c39d39453249c8978e0c62e17be58e9a2c612f93e41b89d8a84ec6e80843197a24472a2b8baff3f621de548951b2a27759bfc48515313938590314281c4dd199e2bd877379daeb6b397596d03503f32a7389e7497a4cc5d2baec0326478180d595ae27541b5e30bc7c2814e9d549e06eebcf5bb321d71349250c3d020e5aded77c31767608f47cd0c9df211cc41853e428d55653b3022cf13d839dc4020e956b5b30980529d9ac6b77007a99a4857fe2271e746f811a6c4033fd3446f90302bd0bc8388814c6a61c0aa1f1191800cb58a9cc6d74fb36ce19e64adeca4462e2933c372f5680c75b49018cd32770f40560287cac762d6bba986b2aae8f2b6f436c2c873993e6434da46973d7d12814ad1230453d127d935ed70cd4ce39295b90ec5fd3e7797c3407146494ba6d9034eb3dde3438bb19a4d09a96edb59deadd6af2b64fab73ee4df0e1871587ddfebe4c8ac33c56170bd7dc4d2f17217d163a59cd543397b7827065df3c9e4d93112c56e9e1ea0200247e24a68370e5ef8d20b774641c570f73384e1a6406107d066ec3d55e307552d9adcc53899221f62d24185908bef0b9ae4baabe98114ffd742f7b1c7a3a61e2fbcddbd80167bcc979a6d6fc117bf521882aee7eaa33db27c0e1dfc697bd6559f48cac53da042eb30dd0e2150abd19f169496f32256480b41c5713611302ed85db175d351e7ed3f912590e9fb4b5b36c1773b50a5c83308256474433541fdff4e8d7fb27adf37df9970513f3940bdabb4f51cbfc9dab00485b40fc36a0fff33817ff38639cf1e2ddb40157c613746e7f15acc538942bb3bdbe774d02eea6c3a6478f0596354c9671f93c6a9dec0d4c45da84b6b5810d6b61db952465a361b147f153107593ecb67892a98f56201eb419b7fc45b4e631edd8a7ff2fd2e89c8bd8363b0ccf6c2c9edbcb1fe74d4209b69a8fec7b89deb7a53a7597f743f9388ab9256158b094d82cf3b956ca14ef3933fc8ae7ee58527e03dc1f639baf6552f0e4bc843575a99759b7f49c028366cb1a9a90ccee174417bbef7a2698fe17b62fac1d8ba294afdcca945f094fddc475db9c1a794715477a93ee542858f7b4cf976a80e5f2963080a137931d69c94cac320af3bdf39a99193bb2582997c95aabc3da24722820fcec95cc9cb0c325b5c4ef75a9a4d19fb665c8e6dcbef555bd09c0741930e43f716740140d8234111b4c67c0e2208fd7c1a0b36e593acd6429eb8f97951c530ebde40be4282bf383d706f0d79fc0de35e2729b2051d159463e60afc71c2b9040e6d90df6027dfd4fe9451988ec490acb51dcd2b080571bcf19f1cd4369507d71550e1e5befa935a84d87992bbffe2e6fd0a402528380c8a219b7394125fea7ff70cbf16967643dab4377e47904c21ecb9be25dcc979dff0696db5dcf0258115eb1325e160f72ffe807c079071e13bfd2b52348f947470ddd3b1dd42afa193f113621dde8b532439ec2cf374a08e884cbdf76cdec299b6c263f60bb185c3bbbc530e90f46358f0a67ee144a856506894cf0f72d301c7b67ad8f331b4092980cce4d60d89e293557bfdefc6ef5e1f12ad8bf7b9d5a7a977370e170d19148ed9471ffe4371388da3ac2595b61f7a5c5391f57b07d7a7d3a716ad40d8829d173d10dabd39dae68eaac72349d800f193fa65a5e70d7f891c2ffbf6a08582e7dbc155e8fdc7508f4576f83258dd3d64cae7613860e80c78eaf79d3c9c274747e9607f2ac66c5bec0838fa59ca7f0a0bc8bd0e8fc7ea6226539f24d052ce0ba0f378c8d03044708c7fb3ef6bd05f01f8d4cf5bf59f620bf0eee347b965207fadd06a0348ece027760db6f242c76d9c00686f95197f1e8f1db8d366d3447d21c3b7079b8c932e595ad25f214e17110573c48a63884e0b85c76080c93e2c281530dbe6fcf7fbfab0eda586b1215cc372b919f19a3d172eb31b563e3d901d76341bd9420c05f0356de9679943d38b0fad04987a04a85c134160ec645e520ef074a895c9e3d1d311603bd4e5848069d764f646466369972ed927523f5b0ded96e598a3cd4f1fd8f570b7101070c8040cc17193d4d7545bdf08c67941fc95da4203795ea3c9508d9b8ee6b367c0d4edf332479e2581e412210c684404004 diff --git a/zebra-test/src/vectors/block-main-0-419-199.txt b/zebra-test/src/vectors/block-main-0-419-199.txt new file mode 100644 index 00000000000..90759276298 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-419-199.txt @@ -0,0 +1 @@ +04000000a02582dce2aa9419bf43d80df0c0343526e8d76f3b938fa55ad95801000000003c76d03fdd7f7bd670e274e2efe06d59839db250ef865d656de5cd93b050ff130000000000000000000000000000000000000000000000000000000000000000346dd65b4e06041c350b000000000000c0002db50000000000006200000000000000000000000000fd4005008fde5f6908b207161292888571eda1205651df811113a6b2bf5f8a032f10f338d04fd6da1237b82f932c311fa9e85be0a1e9bbc5cda9af1c8e418af48c562f2972e7b354a918c2ee352c33b81dfd67c6da962a0ad24caa74530d5f940da1b581e84c9ce2f3debb950e0769f9027c5df3f9be2622f7c056065ca6d5af9b3cdbec8c3aa5ea4b83ce13dd88d1d74559cebb44555201f4efb7dd62431352a5a976ae50c6caa99e3237014e0b255bd60475c5023447c2aaf281c38c1671f7127d4dbb4b6307bfa47fd2a1cf17aed69c0f178bf011148c2501dacc43a27933dcb0e3e68d551099047f1c89af2c1f24b25b6a4b3229dbe710418ccd566b4501953db701f4557da512716b46c05fbdc11a9c7ae305ac131c0b1cef7188869add1ce20b7331a03e04220373b3104904869f04c100724c1dc7668eeef98c2811d3126bbe8b28ab6743d6c6feea21e2c0609de24a011ff18ae3e3dbb98e0161e7d22126b5bc0ad1a4511a16717ad3179dc4ea5d37d651518052d7603dd91e12953a54441c08f353c602b49d7e52c16308adc03320eb371c3d9d63e1db0a42781bc3c46d73b4f769f807fe7ce86ddb540bcd736750ad58554670555b35bc3184a9fe7bd1fc0d099285b9bce0a5d5f0a4fa44b429b44e329770c059a2e363dc52401f65878dd0b52833f4db5c9bbe1a61fdb674cd06fb8c79878f18739605925b5d30733139b44b00ed891faa50757a5f7052078e3bc14e8c294aab38726a179636266fa7ff5f4b121baac01354de0cd4df439c76aab5b5b786d915a5180340e66fd7953dd21c960d397c137f369bbe94d215c7872ea008390adb3763b6a1ab213b07003d7327186fe7e38455e34d2823093e3bf52d26b3edb6a55a1b4bbf91dd51bfd2b3b707491f46a1a38534df43ff1ce42e36ddecc629e716f2ebcc9a25b5f7f4b3bdc7045582d33e5ea2938a51779d87f502c2821d1b2cd836995dff6015cc31616c6778244d706de1fed3d6e80c63652f1922604d679c517d385206db09d83eacfd17f34df2cd87209852586494aed9129f6e16bd73b007cecab0dcde83e3d1fb539e02588f8d14030edb2427f1d360a090a83b1512c5e2be79b78711ee1eaea114cb9b979b4efb24c3051434344569676d7f9ded891b7b994a7748b4b47f685243e4dec4d665177e1fdb061f703bd1bb1861f22dd531265a6422066ff94534193159017c992545128692b00b9c98b4c78c6930ca0695137bde715117f3ed14000567aaaab14abf819f074fd75b3907178647b455301be5e7bf101efde05d0f3def468f9db6d7e4ee221fb22dac65c33fd7c32c60f6bf968ae5f8ef8b6069bdd26a82f6c588da798514529f1708d99c0d7040b554b9345f79db9f746aea5c63a7be7ffb611de6a176bce174e4da78417e1e8e050ff82a994c1ab8920d41ea01b4f540f5b3f04c110f77a954798e984a9e4282e70fe04e853648caecd81b176ca49e316369b9db934a6ed61312453ddba8ad4b54445eb05862d9b71505ffdf5db5feead9b976fc0756bfddbd704c01ed8c165d0073def72eb21b1b1c09e62b3c360c160bf20a1509a1b248deb22755c7401ab77fe0745044bd6b0dc2e5214ddbc4d675ab8e0023aa2233a029b49df41ad9c4276adc86d7197de54d0eef41773a87befc8d21a2947e3012b1816d93a9312a31224307d12366d62e043d51e5a56b1a4b3cc56223b5f376334c28e30051a251667105aa0f3596c66167833b5ded6501934711e74a04e66b55f3cd5e61e412ae8d67ef167be1c32269edfa70808697bdd7d3261bbb395514c9a83f128e8313f736fa8cf01f1f2c4e1e45b261995e82bbf5c82374b440303e997a7fd5663d04aa3965118d1c93c6a4ea08b2d9ae213e5f35890a030000807082c403010000000000000000000000000000000000000000000000000000000000000000ffffffff1d037f6506184d696e656420627920416e74506f6f6c313408205bd66d34ffffffff0280b2e60e0000000017a914e0a5ea1340cc6b1d6a82c06c0a9c60b9898b6ae987dc5e9d3b000000001976a914abe7f622bee66b2761c446167723cbc74f02756588ac000000000000000000030000807082c4030233c3350e1c36291019c0c39d681b65359ec0d40406c21ea3013b9114a6e2c48e010000006a47304402201f417f15733808ae405ccbd2525ae88f16237a8b09b2b47e9a96e8e559fb455e0220568787d8ddad900e652aa5b6f724664a28702307939db606383423d24e825123012102dce045d83a8d44bd962b9ec767d4690a32adb9022494200a0589acfc1089d85efeffffff1ba4eafe880860bad4fc614b68abc45ea612469195391a5477757895f9985e20000000006b483045022100d065d483b38b55e401d7509ed2fc32b9b7d024efbb1402fc83ee6dca6ae838ee0220683d37dc630b191925fa912a2d4cd485ac3ceaa666bf243f026f83af8c7894bc012102271f2d5c5f4999e339fe743779c40ecbddd887134c6227b1a4d89a6164a2c638feffffff0200e1f505000000001976a914194f6a436046b89a855b816433626e8b7544f48c88ac20d61300000000001976a9149efbbf2436ef16fea8d26719b6e1d53b8c5f847988ac746506007f65060000030000807082c4030538b43fb1d4044d1486e52a24babcedd0ac1729fa964f5201a73b5b85e0ea1b93570000006b4830450221008deab6ecb6fdad4a793c407a929822a6492736a1cad6220c54ccc0c54d99672b022018422a1358cfedcbe7a20ef54e70b7d8b100243dda169a0a4aa1feaf17d525a4012102ffe2b3e1c1cf1a20e67874cb6a78cc58756debc4828ebcdf84bb071e7bd02d02feffffff3476e624b9177e1b64630c23b81cbb6e18c17c42d36794e875faa93f62d76ddc4f0000006a4730440220344adfb5586c1d77fce18b72a3ab1a74d4c9371a91d05f7a60b1d123c4be7715022014d267e394cfc432db23d22a269dd2356acacdc0002af1a30ac928f862964cdc012102ffe2b3e1c1cf1a20e67874cb6a78cc58756debc4828ebcdf84bb071e7bd02d02fefffffff4f2af51a9eacfa24e1f0bc2b634151b57c146427f92fc1ea0267ec53bd29ef5660000006b483045022100d12718819b8080fe891462686d9dd1d9e9ac7828f44b11beea5298084c0bd19d0220333caf384869c8664d8f8ef91148f3224c2a1b2f7307883b175c233c3559eaa8012102ffe2b3e1c1cf1a20e67874cb6a78cc58756debc4828ebcdf84bb071e7bd02d02feffffffad4f7813bd7cc86039b8f34254b1169ef6916bd3ae8476b1b23ca0dfa0ef485d5f0000006b483045022100c7a31388c0b804bd56d1edc411b8256a79b834403fdee95562e57baf5eae3b470220180a610e09b2cba726352d96f2da75bdb072e39b1fbb7a629e8d100e3db1ae6a012102ffe2b3e1c1cf1a20e67874cb6a78cc58756debc4828ebcdf84bb071e7bd02d02feffffff99b4cef22eb91647f29fa720f95eec5b281618a9f8abdeed5a1a2af6fad778da010000006a47304402204d495a84f5c9390735894ad2ecb48c5e840ef9429c10cc6a51e7678c4766ca410220343fe2b0ad36fa7aec52f715a633c021f3053540ec8d86ce88ebef06a5b30af3012103658235528cb92cef5fae91c309968149c06aecec3b9b37635623c618962f8af1feffffff01ec9af801000000001976a91422fe5a1b909b34db84fe98854a89749d707bee9788ac000000000000000000030000807082c40328efb99eb485e0d66d8dee937c66b76f7b82da910e3f04196bb7d45e065ad6d514720000006b483045022100c7194b06e13a715d7c499bfa2d2c86d17469b9d4d5d8f2f568be74d06d9d896202207e8ad9d720aee14153d206ab5e0d4de5e8309d26aad6847527373833777404a40121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffffb1922e84e0cb91fbd0bae2c92c79ad9c7de4d92cf5046525278d9ae0af9dd7958b0000006a47304402201cc9b837dc3da88d3902db6b677cea87408ba749bfcce8d1a950ed89c0d4e8740220734f69b9e15b66f4f230f24754c5d6966a3e18a56458b22f73bf99adefc34bfb0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff01af4f514d6c7e8eb78f9f0c6d321b247d95b7bec89a44eebe61779c8ba7290a730000006b483045022100c8fa9627cb91486dde18fcbca3f8d678d3e3f5d1ccef1176bff4c567730014980220120ddbdd18f784c7456f44a87b5d693a1ecb706f0d5eed28a4d024c8379f72fb0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff79d92be1608033bfbff267ec4f15e01d3a32ad22541976d0f9f7600ba228e711850000006a473044022027bd01e9f50b59392df35525c5f654253eeb7106264fe76a3c3fdbe59d1515cf022019879e47cdf340881195747ca1c0a01c8f161cd1f29bc790991d0ff1ef4cff830121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffffc6aa0974cb83b7b399bd91a6150ca6ceacddae4a19f672e12f7286a9453f59537f0000006b483045022100f1eea86ebd3ca2a964817c0b908ae9ea675e3a76bd3cdcc07bfb7491d271a23d022014d3360fad397b40b1df05a38581c3962703660ade0af5795cbf19317a365c8c0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46fffffffff91e095c0d4d9de7fea852f7d03ba1c45c94acd781d508336cdebd4635211d657a0000006a47304402207204a409eb6a14b14deec767bba3e36c9c1b7e86e44b21c2bb6236625cad0ea70220722ceb2cdcab42b309d752c5ab71693f73e69a248eef075fe6cab823f86e839d0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff0333dc7fe26b87d9e56282ea3ab4cea4d84e6316afc715eaf9bf7e94abcc1b21790000006b483045022100d9a082ff5b3d5e6f4ebf3c91e1c326f3c6a5090cae3e2467954a5267c63fafb20220484e2ebd5b9512139e8a279deee2906dcdb6918dc12f4f1f2da4431fdc3f490d0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff46dd061975bc773741d7291b654bd1d17834d888deb601974108f92a00ddf70c7d0000006b483045022100cc9c0949024d4bbe68fc2d7a658eaf732baf25ccce65ef64b2c515dbe40809c7022079d1ccf560b15e7d51d64dcf33ac0058153c80460883441a5506398d7b3f86310121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff9bf11b99b422b902e5c8d82b8189590ebfb61685336acbb1413c3bb5d6e9e527910000006b483045022100820dc4f2856557538c82c8860eaecfdb1cb1867f3ee317e2df28a9a22da328bb02201a2746d6131f27d8fefd636038bdb14cc9988f4c025d0bec75c6dca1ab8adb140121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffffc13c103577f5db5d02d8d1761a9c1273318708dac42fb9ec8c1cff3155bf8db57a0000006b483045022100c4a3ec66c004b9b18027c2be6bd7386f295416616aa910a30247976dd2f88e460220283d2bb475ae8e6535a68627d36be7d4e8e289e8d81ea913c5ea9fa59c8ff3660121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff9c2e294261577234e786a1ab1cdd9005a3ac65e196593d964c7b8d66a2bd6344970000006b483045022100ac5e2630cd96d473e764f2d3a53422b512d01eff893b3432a3e735500c422c6402201a95fc0881f8d353234a78011193a733f36c6622f06b967f1533908e38b41a4b0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff7d67eca0fdce81405b6a576fe57a48f3d5c22cf65377437d21e2dc2b3b33f6e48a0000006b483045022100f191d58fbccb19c264ff38d5def14c171a66b849825bf97310aa3ddbd2a461b502201daac496927b2c6384e26176ff09bf502c9b35fb41144c1e6a089bdf621fb92f0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff94e58e5aca877996299a1d83b02397c77768adc6561d599d78478d968d2a95668c0000006a4730440220497e629b6b89c10adfe25828bc6fff2f34aa2d06d99885ba14864685e538162502202ef2251cecda4258373036d88efbd89c51304bc4195b41e9459667b464d6299a0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff8af28b1ddcfc73d39e2cda3011a16694b184d0e7176d24746909381c46abd9807a0000006b483045022100a90844bc33cfeb1ab85113dd289802e1239467596fffda063ca5f8b9e797716e02202dbafa8d881140d2c50d1158809e576b9201261f82693afaaa7432b0064af5080121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffffe587e860a070364484e91578162d12c25736f36f482b5c159caeea45a74a7588890000006b483045022100cfd5d5b2f0324c880cc4bb43b2e907fbc868b09d313a4074b196abec1e9cbd7b02205b3e6370db8f6327931cacfade85bbafc023b0525daa2e11e84b710df51905e60121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff7ae9590c82060fe31ea81cdc70a8d60e54f1d2bd82679ac764c4cebd4fdbb1a79f0000006a47304402201b7405106f207b72f496768eb42f35d1f5e9a2ca353ddd11a071f34c99cb2e1202202fe722a412aa14a2ebf9ed7f5d58174f40e770ced9aee190233d50ee0d6e1d900121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff13a5e2fff34236f319f3a426e55f260d6887086d2f388597c14d316eac1df221770000006a473044022069d90c11c260589c07a5526997888407b9d047c57e6373f43c41282da2d64da402201c235b73874d8ab276805e8472dbced7293054b2f16253fd5fe7a7a041f8b0860121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff8dbd34737170c7b2ab51d3cf2a24cc898711e5fdcc32614caddfcf15e8e9fab1760000006b48304502210085fdedfc796b61478dc8c1739557b4bea1ae10b2924a12f688395474543076dd02206e5eee24a4450d4d5410e38110b0d24f78839af2ce76a05ca3b23dbdfd004b810121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff6e6acee14caf4078d4632f748c65d95c8bdc4c22519ad35c0b065b14c1cfcf067d0000006b483045022100e5df92bcf0f5ff280297023bded6a2272bbbeb51bcccc64803544b6293fced1c02203b55d9d2e5fd6406b4375c71e2d99b7e5900baa0dafc131c9588ae974a2b50270121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff2f106cd2db629706c39720d691c0a23f333fb78552d5802b5b2628c8637b269f8c0000006a4730440220711e5ede582d5b208b973f1cb14d1ae3dad30816481cf0c540ab239a8602df91022020cb1f86c79fdeeb7ec16637d55d18045cb1da2a1e9f8fcec24a66e59b161db40121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff36f1da5c83b79d87eccf5e17dc82a86c1223c42bb5398c4fdcada2f7b3be0321830000006a47304402203ecb187c679424c58d3a1b506463374821ac2c599c09b6a300d6623aacfb171b02201b7f13b9256db4c89359778950c05b0b1d263369de210ac5a10aa3f39b6da1d40121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff0858aeee9033fe471f76d54278c61abd0d77fb596f80c9c2d0a487318355dee57c0000006a4730440220580a0da9b609a617e996e73bbbabee44d7d2781304be13418842a07064534d700220245ecebad9219b8d3ab5fd832e1548f85cfeed9b0d95e8d63c923af29106fd800121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff7fd7793d1f05427a2a31805b8028060c9c1cf4caf3be701f1e5532705cd4a92c800000006a4730440220766564d3e588930ba021acdf647a6914c9820df6a538686182c8c1ef13eca475022007cd15c489dd0f81f0618a6facf4f48cb474f59015917803f71005c04b6000ef0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffffc119228c08f1298ad27198c846421b89aac57e60b003088eb74104c029705110710000006a473044022043526a1d9841d798ae658ed267963a01d1d1ce0567fdf6632250c5f945e2e7e10220258b852b0c72b2ebc490bcd9d8010a1e8fbcbfc7d99b69c796636a4e33e7815d0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff2f05bc54a7e65587123832d72550b634c46c7a92bdffa79af3fe80698ad13edd770000006a47304402202a1be03206c0fd45bb85744c41e70fc7c87b6e51842556cbdc54156d313905db0220392e1bdc563da5d63bef7412b19d882895e9c07cc880a04eb284e486aa11fed10121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff6c113cdb2981597164b26c9cbc8a0a16d3e6cc804bf5a6cf2cf99e6649fae936660000006b483045022100d8fa83a0fddac8721512f25b9446bc3597b0c0aee99304128645f12e1dfd5d3102205eb04c7ebcfc064f025ddead851e66e89bf6a619ac3a88c0039cd0fd1521d4480121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff25e306063315306ae1352d88dbc12d4e4f53fd0b550171dd696fb1c98880a445830000006a473044022036c5669e5215e8f53c889b2bcbcf2c135ed749e52bf321e814242fc75121a8230220507efc12aff507394d1766f79d90ca4cb3e3199399f6f20f35542d15ed98ee480121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff6dcbe8982824d523b5b892e7ec11c466dfd08da1f8db8964719d8dcdb4e3c1ce750000006a47304402202c10cf300034cce4f15596d2d8a4bf384df01c169116559e5124b11de96046d2022045e3de5d91713d3232cea580882a286f33366b1d46d9ec106409dbff6969b3430121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff80497f128ba33b5feb9d5573e065443c7c042e319f31406d7384d0dcaa4db2ba7e0000006b48304502210086964acbe46e2aa2127d01da196d1dfe73182fdced1aec29ab491070c83a879d02201de419085b069f2d1eb79cb13eb29b92db1868a3e6a2241350b4b7fb2def41830121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff5c51ff192ec5be9701430c1ed7c568cd3b0026e9f507e6f75ae9d4dcb75c6cab870000006a473044022022a10d1892b7a462a88266e1e10dce648a7d4a0ec384b84453ec4af6d360c6810220401b3f18257cf3d05d44ffa18fc349fe4a9f64cf2ccbff952f7112ed50f9c92c0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff87437fcf10efef14d3c946fea62f1cf7c9232df549e14ac8b81d95fca55c89317d0000006a473044022057a76c81ea42b9c6cb232700afdaf237eea760e8d257c491158abc52c2f9a2a302207cd9027ab63a3c941d4987d1cb8eb2035d5ac90d04cb497b160f2de609bfb41c0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffffb0e652ea04e43a57c93cd3ec42508b1b9c433b03e62158778cee861f81069b60840000006b483045022100d9c2c5d5c72ea7a8b521d1476e28cf2a8de40be1bf32819bb21779b02d58486502206fad3779376acaca98b135b5f435af5652534158adcb79297ad6a3c4ab65a6180121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff67195acb2f2a24bf8ef5e38150504a1a87644b95902b33ed48c8727713beac048e0000006a473044022003cf2b4419d4d8972a3be1c433e492d352bc52b8630fcc5705b774f94ac1cecd0220345d166f68dbb6474880d8904124fdd8bcedd84e7c4d6ed51b5af4d150cf578a0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffffc966caa0e58a4403ad43ce85ce79b97cc2a7ee84b2fb7864ee4614bcdaf8d50e7e0000006a4730440220573d7e1666335eaa27815f5faa9c1bb3ee048169f289c2e94d38e5caf801aa9f02203eaf20f4c6f274aee0878deed2773ca2a4fb724612c7924595ff95dd73d81e1e0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff658a7ee92072d40f8f10b62aad3495a307c321b920ec987a419d5b1d13c19c3d7c0000006a473044022021a4ca1d0f359af5279fe5045a56b3e7d3d4b4deb2e2542231660b6300196880022050cf9b0e5482825cf121e66827e822bf9513a7c8ae47cb04eca75e620e8ee60a0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffffe79cea6e8b0b437bfb8cef2bc46f51dfe0a6ab09201120d64ceb01a2a21e7672750000006a4730440220295be4d4afc9e05a5fee477d34ada1117e3e5a6a5dbffd4b25d02f630c17dafd02206e1a16a31767a1b286205807d763d5a447478429c960461aff6239904a7abfa50121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff3051cbaf0e5aac43c8c2b3dcd0ba90278a5e4c78bcda66e3c4a0b1e3b136080dae0000006a47304402206984c44f9dd787d3a8d5170be9b44682e7f75ae60e973a7c90d231ddab01eede022045ac940ea08ce4f4f40e39a7bbb59bf11df564dcd7381f18966b4997572fdf0b0121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff5f4c5bf124ffa6e4d521db95fc289511cb98f14379b4c2bc056b673c6fb25804780000006a473044022017574d1c07a7af6586cdfa67db16feb48eec2b8b867adfe9b267457d9289ab4e02201382386af1dc1a40b4c78d51ac50c33a85a702698a56cf107a084c04963d8ab20121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff517f649bb4752193d2090704732efad98fab76f0c7d87d36b3f026934a40b333910000006a47304402201077e58e0c7969b72e292cfd951d85244ce632237cc8bf297ec95641414ce24702204075d454f133f1969649698a0f988cf87354dd429138bb63722cc1047bab60370121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffffb680d4c633c3bc314f7f8e8db328c68d490cd778607bcea41467fa85d30680e1a40000006a473044022034e1ed4153c6dcee212919b5c17fa2c9e7fdb59bcda0b2b2cd2dcab6a1dfdaf002207aa257676be62b39ba0d013a6ce24ddeefa0dbcc817901b41d091f6b6b4f28600121029296f269e35c63dd33458d5fb9f734d56b714d41becc18c85722407e04f3ec46ffffffff00000000007f650600012f24c50a000000000000000000000000287a0361013dda33d3587eaa8661d03a01cc89e77ee5e829280b62f8fce75b6e645e9e95873603fc976b02c71642114df0067b23af636432bb2a7765f6b9615b06664d9db39e9866ae44e6748066db74605b283c1c63ba9a9f46094ba4e772ca13ec5eebb18990574cb484467bed60fa65ac359f0c7a2aedb694d6f65e0ca02c01af20a387629ef70aaf91f75458f727e8864410af8607f9170b97e40da4276785291f76acfaeb66f526604cd3e6703b93abb54eb5ee3ca75235df1bd9c69c0362d1d932c0c8ee3d2b8d81220d59d71ea8ce926e6fd78df6424bb4da0a98565b3481dd40ffb4b486c8932f897c7b76c333db470ea7469bba9914c28479faaeb1227c558a5e6d3515d2e60275986bf164015265593f343028b9111d416cb376cb021713d4d2b004f5bf053b559c4e025f18b28b87767a23a1d89462349ea900ebfe0320e23fc2cb4918a4b452c2cccd69b283e381fcf3c86110b19b34a03e5e162f7d0a05dda8f23762ffeb641b87882a7ee7506fd7b8a031b61140aa24c0fd81a34d9cd12cdb949fc90e90c82a6ee810805bcad30d86a3ee00aaa89d30f58d25eeb2e2022939727fc2d0dc90a3e2743d65c12e4d91dc25109d01403097cf9279bffa38e703260d04316cf68c71d7589ee51d6dcc77ad87ccb92450bada399ce9e5cb80c30702046e46c947c311a2b0132252afab564a6316caef643c28de752bff08b33f2bb8032179e73c8f108584dbab88d5df00debba077df90b86bd95d3e5ae92ed01e2109031ce58a009526255b45061f0ceee46b4c70a7c203afe810478740da9d752083e0b5d1f813244e55a9651157c201f4239675879223a70588fbcdb89c730503ee99b9e824e368e2850f6c8f60e57f99bba64910da991a46ad3d304c186f4b8df60c4f115a81de062091f8c5be75607c2cfd3b06c3800165e59ce4aeb99355f8e74fdf6c5d691704f55db458cb619f9f8d2c1ebbf8166cfb23860989c60454475185418b1e41a5da6f6ad5388ac1254746d1f57a3105d6c69264d1384a6144d75902a5a10bf7ddca100d617b9f4ab13243825a6eae8fbbaecd0ad65eb7b4d9cff6b5ba24b279228d56b796cdedd4487f9019c57228877ef6fdbb54cf9c3f924108a06e6367e1c1381f24b82289de161ad7c734d78a29cbeecd54a56806b660848562cb9949e4d6745da86de670ee5efcd651451289ef0dda8e1c25aa7d8ca00a6fa6f2200253419cc612c8808ab4d201d7c9c6e6345bfe2ec89b4b1e6774c520ee81afbee39d8bfd16f2a1eef6ceed25c15526992c2280eb02fd377175e731c70d39e844499e2f1a5f6620add9a52b74ec31a92483fd161a6d8823ad66659f81de6630d930288a636b03389cfd0a386c384b4ddfb4f1bce2445c27cc350feb8532b92a050a9967184899e4ea0cdba438b5b875c3bd0c0029a1db67fba1de28c37ea3a08d0e4798dc773476c7db0b9a872104b6ab3001aa2c5d58203ebe52a65456f2794399e6faa71d8df9db846cd6fb6182d36a9da3db83a63a5be18673694c95fbeaf4ce43719b685c4ef4489f3b2cffdfb0da7db5e1c0680d256d083411dfda1e745e375d938e82cfa447d86b4a5bbee77b7ba63692db8544c48d2f471a442a0b701d84959c57f36f7a98ecfc96dc904be92db71604a3442b78dd37e824f276964a1e33a16dfd5a7eb7f5b4dbcb1660feb6f4d81ec5f3ffba956f243bf2dd9519caeeec468b583637f3e1decc17d91bdbb23213af15b8969014d836daef7c38dfd627e7a8b3c305c385eedad7f4ee1293ff8db6a5c9508e7cdb37e5c207ea9b6b47b954cb4875770d653a26b61bb359c7df040486ec2adfa83ab07c8ccdb990ca0ab431d3380b3e133df9c5715db8c044af4a6229c98c2dbd1d228f97580b89e8122bf6dd35c97d3858459d99442fcfc678bbbda6643cb2867fe02eb7a59bca3b6a9c042cff1c346e24527b05f0598acba7f71249ac9cc9690f50a7f0f2ca91f348f1f3b693066d7c6567bf5388523a07bac43e5e86f5e679480cb2d8397c511deff2278d5e4fcd684c41717ff6e31a52755400c09a868b556591aba619717ea35c4f30647a0522aca4204a18cc2d8aaa4d55330fbc3e55ece9daff0a8bc2365dc2ef9477041fd0fc55240089e8279a5d31130357bf50b51bbe4736c4108d905385be976927b4ff81d3242c30f3c6d371dcfdf41bc51b138bc7ae1988dc5c1acd2ebf037b94c242dc201ac46ee051ad9152b63fa19ca79b4795e3fe0c24371f3470b2d795869831a0bb17a05dcd50fb6259c35866da3048e5c3edba0a4791d5b73813495eb9a7bc2d9617776202d11e57a39b4f4ff7c12008492e54e07c61f9c09846e39079f330b618a2322706db7e040b35fc5aa4a484341b5dfaf8b9b86cc9345794a21f96d862495d82da065d5f20d76df20ac25ea5c9f957629ccdb059093fd53f58d5774113b9e698f82f91f26916d773a2ac21b5c55b0e58fb330117bddc98b2983bcecfae9346a31a5cf6dd506baa7e212e1eba510f4d39911095321ed5d99d51a3390b2e3c4ba064eb56cf8580a64d749ff25a2445955b5f4b3278df9e5443d733c1c4df082f0e2ba1854eddc03f4bfc668b069aeb1dacdda818563584ab672ca5cdd4a9a37d6a4c273b23ba3f06030000807082c40328efb99eb485e0d66d8dee937c66b76f7b82da910e3f04196bb7d45e065ad6d5143f0000006b483045022100cb6483c612e71c1ae95c4cc0128d08def9c2dce77e1dc740858b656037bb34a702201932478b9cd32687a36221d2aefe37a0bee526a74faff6820aee9071fcf794e701210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffffc6aa0974cb83b7b399bd91a6150ca6ceacddae4a19f672e12f7286a9453f5953490000006b483045022100f2efbf4d79f2c461c2c8bcd6cf0bc2afce83857fd94afeb59614925cbb6d8a4e022030cbffbae8c795c7ea6bd5a5c86f4ab74fe5b56348179447ad412b3b7347852f01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff658a7ee92072d40f8f10b62aad3495a307c321b920ec987a419d5b1d13c19c3d3e0000006b483045022100d434d33961ef3046721485a6cb3f53b6a695c7183f9cc4a48433a9ddc8fa37cd02206544c334b0bbe7323ee8dfeefee146ebd3dad5adab1c1f11e3901886606e34f201210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffffe587e860a070364484e91578162d12c25736f36f482b5c159caeea45a74a75884c0000006b483045022100977fd1e247e648ee37f3e068da9e162a97f8d67216c68ffda5bf3dd6973af25a02200f5bc6bbb1b1e15449b226132460a751dedee8a9d0511c0a7433d35b5505afb101210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff7d67eca0fdce81405b6a576fe57a48f3d5c22cf65377437d21e2dc2b3b33f6e4480000006b483045022100b4d8860e0d5650b80221488194d6da488d4fc0f71ea7863981266a4ec2e9b4d402207001c0d12aee1de870f6da409be0739e0e41eb00fb659047e187cfa578c9c82a01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff9c2e294261577234e786a1ab1cdd9005a3ac65e196593d964c7b8d66a2bd6344530000006a473044022044332aeb75e7fb678deccc5926a5fad1f1f843685a82482d1e9db02afc29cd170220203a6f2cd180841e9ea7d8da39ac79587d100aa0a5683ea89cebb453fff436bf01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff0333dc7fe26b87d9e56282ea3ab4cea4d84e6316afc715eaf9bf7e94abcc1b21440000006a4730440220251316a794936c6cae18bb6dce4d138e30cf180b505e7d7b1fb095b0275dbf1b02204f30b3fbf6f9e8a819109ae28748003247ef13ce6c2157b690d8bf3dc2d3ac7801210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff79d92be1608033bfbff267ec4f15e01d3a32ad22541976d0f9f7600ba228e7114c0000006b483045022100ff9361a977276a317b327176c0054c255f954beb31aacfc1a39b6247d3cccf5a0220523b7a532c5063e17299dc8fecaea1ff52344c517e255a1901d28f8e776b6fe101210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559fffffffff91e095c0d4d9de7fea852f7d03ba1c45c94acd781d508336cdebd4635211d65440000006b483045022100c356b8d661a7879cb2cefae08f2d206c6f2d0161afa208a77a76e3e7fe8163f002203e132644f374590bcca44ada3f63a775ec23b3592ff12420707e098d5f725de601210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff94e58e5aca877996299a1d83b02397c77768adc6561d599d78478d968d2a9566490000006b483045022100be9d2aa2103fbe94c46243837040f6e7a12ee3675b9f05aa62d7b7fa995552ef02201e64444e174131ec69b08a9b35bd1a24e85fbe48da151105b0196d19a231eb6401210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff8af28b1ddcfc73d39e2cda3011a16694b184d0e7176d24746909381c46abd980480000006b48304502210083d29b833a1ad631e4eff255de1ec904d3346f4c4400a819c7e9a2713715d8b40220556dffe21f1aa669ec2e1bcb9152f430d80ac0b043e3aa0417644eca3084847c01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffffb1922e84e0cb91fbd0bae2c92c79ad9c7de4d92cf5046525278d9ae0af9dd7954b0000006b483045022100ab8e8d2d1e56c4477c4f8dc1c99c986b19952f5bda26cc9450cf53a00be17a48022059f8285577feb3b99e1d9f3e24b54f047e451ca8a1f7454443f09d9eb4557c1e01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff46dd061975bc773741d7291b654bd1d17834d888deb601974108f92a00ddf70c420000006a47304402207a3b57e4e26da1aa9ada0b354279def6791345255f8f0b8a9438ced255df023802206888e0fc67d9bb081923a5e1040aed8e876ed77d3208ccd0c2ef4fe702a3578201210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff9bf11b99b422b902e5c8d82b8189590ebfb61685336acbb1413c3bb5d6e9e5274b0000006a47304402201f77cd654cf4ee28f54ed2b7f0b039267fda8f5e00cb26690d28b141a287cc1a022035fe9ccaea787a9fe0318f3a81ea0f02a174779a136e880453641b49c645b7b401210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffffc13c103577f5db5d02d8d1761a9c1273318708dac42fb9ec8c1cff3155bf8db5490000006a47304402205259e00680bc2a6a5fabe541f0eb58583b0122e227d4e0fd0916e929c8797ab802207c0318a84c5b5a5eb5715bc32671f5cc2e9f6bd662a22c4adcfb2e593647c18a01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff01af4f514d6c7e8eb78f9f0c6d321b247d95b7bec89a44eebe61779c8ba7290a3f0000006a47304402202ce72eedfd2ff41852fd5fb29091b2a8a68e7862d33d47a784189d10b523aba7022077eea375573bf37f478d8d4714674a3d0af4383806930dc26424a12d1c656ca201210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff5c51ff192ec5be9701430c1ed7c568cd3b0026e9f507e6f75ae9d4dcb75c6cab460000006b483045022100b786b588fd2e84b66cae355b4427505d12ddc7a47f1df87c0a5b312c4367127a022003ca4be19d1c8e643b8927772e421417eb2bb169802cdeffc8896d8c9c802b8f01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff2f106cd2db629706c39720d691c0a23f333fb78552d5802b5b2628c8637b269f520000006b483045022100b8e5f0f9d65d2974caf76c7cad6bd34db261905acc4e8dce3286cd423666d8a802200b3775abff68a7dc63b53ba59a6272ef1ccb15e930b52a9bf809c4f67b08b26701210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff7ae9590c82060fe31ea81cdc70a8d60e54f1d2bd82679ac764c4cebd4fdbb1a7520000006b483045022100b967a6d2629fb67f8f54d00a6e3cc87c3455871fda0aba5f76f6a832ccdb9cdd022001314fc752b8e700575e5198213375d95392f307e7c55eea0315499d9790ee4101210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff6e6acee14caf4078d4632f748c65d95c8bdc4c22519ad35c0b065b14c1cfcf06450000006a4730440220315f59a784e185539ef2103c197574e1e007bbdf8670258b0ae51d013ed7f8e8022022050d657ea9029d49b93959ab34c131553d9cb360874ea7198b1b218129ea2401210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff8dbd34737170c7b2ab51d3cf2a24cc898711e5fdcc32614caddfcf15e8e9fab1410000006b483045022100bf3e30475d33f16d2d8cd3d256d6a2efa3d59335232116e33c84f478ce764d9a0220114817dffe3af28086f34cf1c4deb99512066085578472d9304236b74f6cc1fa01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff36f1da5c83b79d87eccf5e17dc82a86c1223c42bb5398c4fdcada2f7b3be0321470000006b483045022100d0a8a2d320a9764449e023c60011ac1c5bc6058d5143c252d4ae9c1b4d5316fe02206ae3211a78762a876ea2a031185c8ff9b0dbcc4c2caddc71599c9aaabe96c2e501210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff0858aeee9033fe471f76d54278c61abd0d77fb596f80c9c2d0a487318355dee5460000006b483045022100994ab8edb9e77b9aa4074ac97d007c387c5314f872669a412d5655eeabd2a66f0220204ced53c2d6ef46c18d9fd1e697ac015631634ed5ab6ed9d4ee336e4463553501210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff13a5e2fff34236f319f3a426e55f260d6887086d2f388597c14d316eac1df221400000006b483045022100908145d44858d2213219f5ee0a42cbfa1bc4899bb9274f0b500eb31813eddad102206dadc424782994b8c93ab4b9c01646efbbbdb17cb94ebe2dd3e4f74794c1fedf01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff7fd7793d1f05427a2a31805b8028060c9c1cf4caf3be701f1e5532705cd4a92c410000006a47304402203d24722c3705cd656996236f3c512ff5f356420d628073f3d3d1e2655e0332ac02206097288ec84bd3fbe98b89228b68c1b84151cb6c1f173133b2dcb158a69bebd101210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff2f05bc54a7e65587123832d72550b634c46c7a92bdffa79af3fe80698ad13edd410000006a473044022072249e6aef7c2e4bbc69639e54004a17f344085f23fcdcb02748aea2b10cf2fc02206a67537a9455ecfb847ce748ef204c155796e5f7c1fc7532d8e235215e1b7bb901210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff6c113cdb2981597164b26c9cbc8a0a16d3e6cc804bf5a6cf2cf99e6649fae936390000006b483045022100fbac0f359c57968d6de6620e40be86e7289c8f7eb5f26d2387a19967143d766002205650f75c6cc890adf8045185a4b23881a3d543d707b95481878fb0983e9dccdf01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffffc119228c08f1298ad27198c846421b89aac57e60b003088eb74104c029705110420000006b483045022100c68efe8bfb1a7b0aa74662904c55a18a538d217dfbb40f7567bc84be668d87f002200213e689a2ec074adf0d77000c62b26da8f6322c6af13bbe2d01ab58dbb5ffc201210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffffb0e652ea04e43a57c93cd3ec42508b1b9c433b03e62158778cee861f81069b60490000006a47304402204f087432deadd0ec60c45bc1cfad6b5c576220a8c42d91e82962dd7da722354e022005280462be1ea5f3e4a034e300705b39dff2c96f82a4e8d90cdeaa69ee133ae601210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff6dcbe8982824d523b5b892e7ec11c466dfd08da1f8db8964719d8dcdb4e3c1ce3c0000006b483045022100fd5afb36cc5bbf926815c3edbdacfb356b0156288e6d1dd93bca75adbffac575022002f5096a45f6f0ac0773b94c5c5e99031bf34ea0ab366a218703e4688bc3850b01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff25e306063315306ae1352d88dbc12d4e4f53fd0b550171dd696fb1c98880a445450000006a47304402201db5b9d1d09a2e7fbef684d8e728a06ef1877d47ae68dd6f21e8604e82745b160220206936a55cafc8811337e0c308144f7ae3a5297fc07d2080f087a452f830f39801210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff67195acb2f2a24bf8ef5e38150504a1a87644b95902b33ed48c8727713beac044c0000006a4730440220183408e0079b371f1dd65d9620a8d85c26e1f8c5af9a76502984ad63bca7633302206a65b8ef53dd73c0874fb2b609cde353ca6c906fb927c35d2eb5c5dcfd854ff701210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffffc966caa0e58a4403ad43ce85ce79b97cc2a7ee84b2fb7864ee4614bcdaf8d50e480000006a473044022025819ad75f5d4aab9f9ffc0aaf3e295351e48cd12df60d3a68ef4dae23363bfd022060e613db29a1b4472230a7558bfa123aacf88621d623d5ec42dfd11b968f57ba01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffffe79cea6e8b0b437bfb8cef2bc46f51dfe0a6ab09201120d64ceb01a2a21e7672420000006a473044022034d891a42eed219e29017dd0071aa2b642f0546902b7926edd8ce2ce7f2fd357022053ee3c9c2bd755f9d46961f14ed7ca5c4c56ae9d23870cd8a9bfe54c4a24701801210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff5f4c5bf124ffa6e4d521db95fc289511cb98f14379b4c2bc056b673c6fb25804460000006b483045022100ec5840b822b11fd41bb290496bd021ca2d4dd35219065f3b6dabb695f40636ed02207daa9445623e185bb67b18f614ccdf2fef2e0f4eccd02fe84611ca6700accb5b01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff87437fcf10efef14d3c946fea62f1cf7c9232df549e14ac8b81d95fca55c8931440000006a473044022033e273913fa0eb30069c52378bca9b287e719a31ef049cde04098066a0a4967e02200a892b831910ced00913368efe37c265a44b8f8e36fd0105e169f6e629a2f93a01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff80497f128ba33b5feb9d5573e065443c7c042e319f31406d7384d0dcaa4db2ba470000006a473044022004db9aa293ddffa2b3af6d3744ec80980bcb928c6550dff1c0f847a3daedbb2602206a8707a16b472af35a0bb88909dd7628cf4b200624e4ab04756c82b4ebea0b3801210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff3051cbaf0e5aac43c8c2b3dcd0ba90278a5e4c78bcda66e3c4a0b1e3b136080d5c0000006a4730440220226c3b18243f6782244977daec9aa4b3e2dd3a387ce92dd8d9a40d71f8c20d7702203c7d133d57fcbfbb01a596d66bce15f42e41aace01c63fd7a7fdfe9af61f34f601210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff517f649bb4752193d2090704732efad98fab76f0c7d87d36b3f026934a40b3334d0000006b483045022100cc1376dfbc0051e98cc32395b776270e98211d4d30a176bde8af62537f4a0795022011a37e7fe23bc6d2e395a190e5eb917e35057dc85a31b719a548ec228d899d8e01210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffffb680d4c633c3bc314f7f8e8db328c68d490cd778607bcea41467fa85d30680e1550000006a47304402204a0f8f94c0e8d602ae4356b2b5b3cf09abf00fa43700a497d0f53b0c996ed6a202201ad283f88c7a0b814c3369826b85c1b60d6379f9518d59a6453ffc3bb446499601210379b7be9d8ee0d28622f12a672f9981021e0366dc1919aa477fec4e806cd58559ffffffff00000000007f6506000145a29f0a000000000000000000000000287a0361013dda33d3587eaa8661d03a01cc89e77ee5e829280b62f8fce75b6efe70f4e3290321c23ad2ca4334a5b0e7ab208176701e451b9c28c96fdbb44d55c365baf772fc121c53f27b2288de02c7820dba3fbcb13aa5cacbceb5aec7dd3de748dfb4bf15241caf43184ff146c7501de5a6d5ebc6cf20b8afdecfac5ad1039154918bd592e9c488094f8abfa1acba81769af778257ad8cc7affca903e22d153bdcd717153700c79970b9a91062e63534fb3be1993988061af4afec3b38a07d993569abe52869fd3e28e83304049901b3b3f321e96fda51f55ff57d660410e6cdc16820a1e34196d4902a597561ab8bfbb46e62dd19628ed8b32158283d11631f373771261e2e141e941b1da2357b23beb9415d97d39462b5897005c058c1b030a6a680aaa6dcc9ef0b45eeb8ffaca4cb1126067cc65b95465603347260c1eee031783abc0e25cf141bd87df3bfecf0007489d7b701b7e93e4cc3cce50914ba46e0a03a9ab3a405753529adda91e4a88d5c13576784de49e6051ebdcfc5fe9078b105d77da6c3840abcea04e9fcc56dd311989e2a42e94df74eb88da8f2a82c5eaa9021741cc2875dab15cceac0a65d3173d2af95928ea0b5eadb8d2301c7441600a460312a2c57fbf7a89c855a8c467881e166b39e149f49db1ae8c75c78d8e2d8f5cab0315f5a4dd6bbc40d96935626d904ccdd6ba18de1111d77e441cd9b7e9cccbf8c202043fcd807033a353293ba637fa5a184d2cb283b04f6245e2428a752275aeeaff02169bf28cd124b4042632e4cf11d4d4a9b263665cf615c624199018c8cef2f207c37e82bf1741d2165c46eb27103fac88f329b875e0b33355d32876b9652bcc1b422363d915bc3599a4b3c1e23de8684ff93ea434d6c8d6c76f3ef8ef819b45609d51672a5445f10a41042dce9757c4c049ac0d098164c617a3c21f70a738e5cfb86ab2da5d21ec8d004933b006167d571a6eaa86f822c4df16e589609801b9802392c8ddde074f5ac4dbca9c13370115e4ccd3f528a2495685accc94b129d862cc2d3c0e3710dfd611fedf5b8284eae6deec8e85e70c41fd406d02d6098a4a271f5bfe9982a0957db07a4df8f4861cb4b9feb9d2e95462522322fcb9e785127f37013f369e66f9ccc773c6d8d0fca3234dcec5cb9bc0d2565313460fadd80e9190530e1ea65321198a3e8f512b7a38608fba1ccb462d4492ba712c6554ad4bf0e94d9292f3736c90a303cdf66ce1b5c76c7b7b9bc8e621709de4b2272378a388db45daf22ef3d28c686e7b526f530f09232234e037c00bc0775410b61ffad2d904a4243d14c7593b2ff168d44bed7658b792aa098bff55b9f025f7ea97e580018c34863073ced76de193ced16df1705a67ddf59496283e788a7782a948f82458e302f9ea8babbc90a3e160ca82add5bea9fdf60a0ad2a8cfdb8a3dd513295a5a9ff59c758af8b250537cc5962019e2c90c936f6559244614c0fd8fce5865b19bbcd72a324bc1d5fad4c466633b60bb0597c6966a778b6ad427672e9240c39461570ce67f55b78ded2bdbaf1097d347be0739ebde1bb783272ad079c913e4f04ab8bb1c533e7b34a2f252b5a0895f7d42849f94607951c661d083e86d6dd1d63304723a4099e5a2c91d46fdaa4059b5f96e3be49098cd60de5d3007ceec1cdbfdbdb70ddafc6002ed037fbcd7e7833d458fdf8ed56ad6a3269fa7b21911f908068b5e2356253aaa156d504915385ea128e3b1555986ae84431f158c66c8854edd9c04c9662b0f02f3dce4617ba227991dbd5046112e49f17142c944be5759fee84eee31d38b1245d926634cf77ad586cd2973d58ce4a7b38f6f7bcee249b0da91b9c99a370f987490a1254995e29b878f51f01bccd877e4bcf55d69d0e62f4da5c905a1743130ab7001470e9890a40cee9d801d0918f8edfcfbbc80a367f31fd981581751e45a7ff12417fe53d145332ec11ccfb472bf4b40e5e43e27d4acd2a1a20fd482ae42264eca1e5e5e0dcee3d3b1bb5278a4a550f26e3c7f222c3251fab694d2be2928fd3eafb2ee5cee867499faef46548b5d8717f368709a1aef6b208e8f7c833262db2766ce9e216682dde81d30e0f1d20bc911452c67d8df053406fa649092894bd72dce97854f6164ac76ebcd1a7526b6e8780c3a6a41938950780f920589e63b6e42690f25a9e85a92ced82f498778d877cf3c40bff9b573cf41f38f754744a96535612b24f515e7c3f863ac08e947220d878d15fe3f9754900e9fc6742947d94c9fb506b078b1c22cf50ddac7edd8eca1b4754add2615dc3e6d36d02c84735e9f9c144788e8cbd42a50ee86b0a23bff785ecd6bd48893ce233f8f75812f61c06636c579ed3273d2ba6eb7b5983b1f20905bc04bfe126e8b6fa0e4c2d1e356201123a3e8bdf6f63087a6c5ed8508e8b1154b66a6a0ad39bb34d157fbbc741f467759aa0ad58eef457a80532546d467160245bb4e55c7b7b998da68f0eb09e96a839ff16c4362a9db66cb717330254740d4bcf8d93e489f8487f955742c9745578e7aac946cda572cfcbbfb7de08d58e1fa2b30c56acd0d5d3a824d393dc427b3e7999ffba2622a570efd41fdd00f2c0c66a81dab4c4923a6311294a2a7a031defb060d8e4ad796af0815d604030000807082c40328efb99eb485e0d66d8dee937c66b76f7b82da910e3f04196bb7d45e065ad6d514890000006a47304402200235cbad56a5b9ec52f6701e5c9c111f6936204c6fe2505fd8946794d9f15e5502206a82ca115a9e56cdc2875288d7994988156ef0616b2d8a3015a0349f9841df49012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffffe587e860a070364484e91578162d12c25736f36f482b5c159caeea45a74a7588a60000006b483045022100810db62d8f5a5ae1de001463c3cc5f069fe4e5fee0b30cfb18b2c00468054cd9022050f08f9cb5b88d71fbab30842917a658316417bef7df1feedbf96bc8e8dcaadf012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffffb1922e84e0cb91fbd0bae2c92c79ad9c7de4d92cf5046525278d9ae0af9dd795ab0000006b483045022100de12ea83f67ad0ca0819c4d6b08d69af7bf5535a28824ed233c56bffecfdb13302203ba40fbd89c3707ec1fc1de85dfeebe061e92dc7c3a22fb13d516a702e3448b7012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff7d67eca0fdce81405b6a576fe57a48f3d5c22cf65377437d21e2dc2b3b33f6e4a70000006b483045022100f90a831800101cb98ea34ca3dd2fbda18ae948cdfede7bfc17f3fc2df3b5f21702205f3969ab094866ade06ed8fea696267fa31c57c3c269ccd38946e6fdfec7c020012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff9bf11b99b422b902e5c8d82b8189590ebfb61685336acbb1413c3bb5d6e9e527b50000006b483045022100a3a47c9aa3d1c04b7fcc7fe1c62f83bb1f692c45bbc8e236418cd76e343f29f00220788d1272ffa7a1f9d2a38030427c8d416532c4bf59501fc8b3ffb7915c7c82ea012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff94e58e5aca877996299a1d83b02397c77768adc6561d599d78478d968d2a9566ac0000006a473044022008ac95d8279cf1abb1b6c705a83ba27064501e2fb1458d03ee7d41927ef5e63602201474b808fbd4770c8096d48265315dc25c2307365f7b42fc8b456e21e4566eef012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffffc6aa0974cb83b7b399bd91a6150ca6ceacddae4a19f672e12f7286a9453f59539d0000006b483045022100e3c886ddbea873814a131c632ffdd9152f5ef87e0ddaf66096a3c0c425ecd55402207163ba20e2da9cb2e14fdca721c861d4a4f35c98753d3a5bb06cc2aab807643e012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff79d92be1608033bfbff267ec4f15e01d3a32ad22541976d0f9f7600ba228e711a40000006b4830450221008aebad0896b749bea0553b1e2cd6bcaaea3ae3fddf20ce3cad222312b46db2c60220143f1d46101c446b2441f77e9231fdb9b77db0bfc6be8743adf6eac933ace646012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff9c2e294261577234e786a1ab1cdd9005a3ac65e196593d964c7b8d66a2bd6344b60000006b483045022100d88c90cc1ec2881b1dbb65263814ed44fd5af6cc3f5f0a34ad40d97f0fae462702204e57aab75f3dca8d0dec752dc074fed85a93e70b33acdcd465cdd79e2e186f60012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff0333dc7fe26b87d9e56282ea3ab4cea4d84e6316afc715eaf9bf7e94abcc1b21930000006b483045022100b47031406b4dac56c6733cf16933a0901f1d4d7010f5b485e6ba15398674e31e022008be182ccc5817a8af8230b4f59ddfafc0ae3f093395b06ecf5760b64fa3fbfe012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42fffffffff91e095c0d4d9de7fea852f7d03ba1c45c94acd781d508336cdebd4635211d65930000006b483045022100fc4f2338f8fbc7de5463772d7d36208b80c6ed0152e7b659a71f3d71d22497c50220635ca0c59ba049a74164fdce80d8ca83e4c8b4e5f0d4e1bbf1759cb71a8fc562012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff46dd061975bc773741d7291b654bd1d17834d888deb601974108f92a00ddf70c980000006a47304402206ad5396bb88644504575dff2c4f1a0c11791df4b048e411fd1cf0e7883efd0e502204afd03007de31a0f3008f575bd8dda4d809da1fc125eb147476402788fc2290c012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff7ae9590c82060fe31ea81cdc70a8d60e54f1d2bd82679ac764c4cebd4fdbb1a7c20000006b483045022100cc5e93aa5b6ae6924ec3dcd5bfac4083c6a8ca6d5324eefbed9a28c5a87c007c02202ffd8dedfbe38a20c27f40dcdb80c37d9456dadafdf0ffab1b1502521ccd4349012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff8af28b1ddcfc73d39e2cda3011a16694b184d0e7176d24746909381c46abd980910000006a473044022069a7c03280a89cc5b72cae868633f438e50b65e30d1cf6ec59d7f55436288bf00220020fe2b807311b8e2115482dcd883714c26e59fcd1025b54532d4f16a5d69c1d012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff6e6acee14caf4078d4632f748c65d95c8bdc4c22519ad35c0b065b14c1cfcf06980000006a4730440220283ff9f3063cbb1b891b6990ad9af05e3aaaafb1016e73a8422ba32ffd56a87a02205b738c42d530488eddccace5d8a6b9e3bee913170b8b746139743ad3b4c143bc012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffffc13c103577f5db5d02d8d1761a9c1273318708dac42fb9ec8c1cff3155bf8db5930000006a4730440220795620e81594b5cc5bdbb1b065981f10ed00b22fd4b2ddefbb144c741299388002203f3df79beae8f20bdecfdf7b904238254c7f5dd57d082b02f72ae742a2f9c822012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff01af4f514d6c7e8eb78f9f0c6d321b247d95b7bec89a44eebe61779c8ba7290a8a0000006a473044022015543bd5de4914f96fd4da60c93dc9800b5d7a72ab453e37bd1bc8043cd8b4b2022051edb99cc9675eb6d9536034ee6cc89c7a25639e1ec49e545bfea599da64e062012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff36f1da5c83b79d87eccf5e17dc82a86c1223c42bb5398c4fdcada2f7b3be03219e0000006a4730440220788b7f8a964697370cd1d67bfd9564457d6447cb7ca72f4e5bcca0cf6e7be48e022043a8ee60f21392fd39c30d0c642d494e4b97c6c500b81d907870f4086d52c638012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff8dbd34737170c7b2ab51d3cf2a24cc898711e5fdcc32614caddfcf15e8e9fab18c0000006a47304402204de144abb0a6ba441bc19245d451d668cd56e73db8257aeb54e9aff1691a0b6202207d4aedbee63cbf674c2743f17e435762fe60c0afb23a9f007b14bb4d1ae1a444012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff7fd7793d1f05427a2a31805b8028060c9c1cf4caf3be701f1e5532705cd4a92c990000006b483045022100e6b7f75379d8c8fa4a1198351c8587f7c6d42d8ce7650534a7f87b80839f112b0220371be656ac9d795b3683aba40196d673558710de5d8ff360707a0dabe208ee0e012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff2f106cd2db629706c39720d691c0a23f333fb78552d5802b5b2628c8637b269fa80000006b4830450221009e6653c9a29827735186b008966e546f2a7ff4983e5a4ede92304ab0de2204be02203fd7bc700095c5bea27b9b0429b5fc6dd6134623ec8eb3c6c912aba343c11a37012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff6dcbe8982824d523b5b892e7ec11c466dfd08da1f8db8964719d8dcdb4e3c1ce8b0000006b483045022100861bea2d93ec4eb20f015f679520211dfa3b3e3c24cfefa9c593903d7f2ccdaf02204e51a2f94d40aef4fdb2b7f59fe11c823284dffb80f0be8b5acc5436d2b73f96012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff5c51ff192ec5be9701430c1ed7c568cd3b0026e9f507e6f75ae9d4dcb75c6caba30000006b483045022100dcf29e51ffcea2ad73c0acbb9688458ce4273bfc0e0642ec16c0166e0d32fdb8022006ca3fb75bd2e8b486ddf84ca8e32143a12f3c5389c5036b5534b7802f8bc9cb012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff13a5e2fff34236f319f3a426e55f260d6887086d2f388597c14d316eac1df2218c0000006a473044022070253091c1b125b4a8874fd9efa9a2e9b873caaefe99b14ebf9719a2a1c47d3502200130074fbdd023a5a5b262dd1c8b7006a796094e5c79729ac352adfe4028be9c012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff6c113cdb2981597164b26c9cbc8a0a16d3e6cc804bf5a6cf2cf99e6649fae936790000006b483045022100b4efdec03290c2e11e531c330a96c730ba547c7fba2add5cb6538ad8d312fcf402205fb0517ee876c27928c239fc7325cc348396d85112066d77cf42a6afb08926f5012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff2f05bc54a7e65587123832d72550b634c46c7a92bdffa79af3fe80698ad13edd900000006a473044022072a31070bd869d89d4f8d61783ae20f2955f234bd90255a595d2c352e0b2d6fa02207800e1bcc65a47707f2a81c42e24e120317ed54da1a11cfc3a8e1494f04bd435012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff25e306063315306ae1352d88dbc12d4e4f53fd0b550171dd696fb1c98880a4459c0000006b483045022100932ae8229c3927bd4c3749a504dadfe824df83148bf78392e2c4722a82ce83c502204deeb05aa80449f2c4f50d139acab3a1bc03a913e09ba7cf9e062ce9cf0c63ff012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff658a7ee92072d40f8f10b62aad3495a307c321b920ec987a419d5b1d13c19c3d950000006a47304402202c36a136ffa0788fec4303db9ebbcbcfe57a26744f7676e1336e95871fcd364402201585770760024df26d1da047e0b211a30b2dc7213b432c8b58dc2873630fdb7c012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff0858aeee9033fe471f76d54278c61abd0d77fb596f80c9c2d0a487318355dee5990000006a47304402206d18c27beda1a090984ac013e7543711c37bedce54eda0cba39ec8f28fb3e10b022008eaca0b93b399cc983ed5d734cd5b875cf326946da4413234e9ad55f1cc4a08012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff5f4c5bf124ffa6e4d521db95fc289511cb98f14379b4c2bc056b673c6fb25804900000006a4730440220543f5ef9f56c80f40272ace54035701bb439e774931e8a5d5170533b5daa2c790220276d67814f210f7c7a8a0d5d0773d9c46a50df69951d86a15b2019fa767b7fff012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffffc119228c08f1298ad27198c846421b89aac57e60b003088eb74104c0297051108b0000006a47304402202da58824f997a31bdd1dbac0c20cef7a915fe5afff612084ed74a00bb121d2b6022062cbde302f5d07ddfb31501c127adb01f713c78410ebc51b325158af16b13ff5012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff67195acb2f2a24bf8ef5e38150504a1a87644b95902b33ed48c8727713beac04a700000069463043021f67cd38589f633cd3436b657e7e62ba1ee8508030996d18569461f59d83e75f0220398d05a03db2a5deb6ba4fa3b72087d33d5d6af5a08664019939cb2df2b47ce2012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffffb0e652ea04e43a57c93cd3ec42508b1b9c433b03e62158778cee861f81069b609d0000006a473044022071599e525e727305e76bd564558ef7271a116e9530025f8308cc8fecd0409a2d02207024b608efdd300274395aa6533f6fba71776cc74d0c11c051c6c89ec6c30e47012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff87437fcf10efef14d3c946fea62f1cf7c9232df549e14ac8b81d95fca55c8931980000006b483045022100d2ae0f81fe200800fc35a7b53cc1f55b5e62f1809698a84e05756ebb2e3b408f02206fa2fa99c9063fa3e8e354feaaf2e72cf02be7501c7c25dc9b184eee415365c9012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffffc966caa0e58a4403ad43ce85ce79b97cc2a7ee84b2fb7864ee4614bcdaf8d50e980000006a473044022024c036f1f9162a39c73f6b45e36495693ed2dd6d623864b56dcdfdaa78e35161022051d3c297fcaa2710fdc76a3f956715971dd53de61fe9f77a5b20415ab522e312012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffffe79cea6e8b0b437bfb8cef2bc46f51dfe0a6ab09201120d64ceb01a2a21e76728e0000006a473044022050ddcebe7355b2827eba96f6f22db18f0d2e0e65f7798a60f57d320065606a42022058da635698c27e116ffa2005e59ceb724fc8335888e023c9ab62fbe3f44625b3012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff80497f128ba33b5feb9d5573e065443c7c042e319f31406d7384d0dcaa4db2ba950000006a47304402203ba6781e5c0fed937a8264e95662a49acfb2f6c970a5db2cbfa3fd429abf770602202be85055de143d05628f614cd034b783c730141f79852fdff2475b02f73dc0cc012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff3051cbaf0e5aac43c8c2b3dcd0ba90278a5e4c78bcda66e3c4a0b1e3b136080dd80000006b483045022100aa601544a3edf320ddb3555d5f3d364b757f94018e0c079054c695f0b782f4bc0220676089b43916793dcea46ea926e3c38e3d2030343f32fc5580669031b7816722012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff517f649bb4752193d2090704732efad98fab76f0c7d87d36b3f026934a40b333ae0000006b483045022100ebedcb760861453273efe7e6b86625b1fbf5b8c206ec988cd8ff4cce9823e0ee022013cac0ddce41fc8783db057fc633a0c247e3f3620363ea6633545a0d1c7a4146012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffffb680d4c633c3bc314f7f8e8db328c68d490cd778607bcea41467fa85d30680e1c20000006a47304402203fac89998872cd13520b26ad410b2203dab97a73ec81b70506a5e1457f1f47930220280f434a97121f4d6fbd0171396c71ff60c49cecdc1bc88babcab8ede84357bd012102b06014e9baa8ff5496f99f2b09c073c50a37c622ae26a90bb676f69bc9256d42ffffffff00000000007f650600014078a10a000000000000000000000000287a0361013dda33d3587eaa8661d03a01cc89e77ee5e829280b62f8fce75b6e918765e00b3adab115c32388175a81e09fd155eb0a902953fbd55d717308652f402e46c058b27526ef87f3d653a160fea6b2cc8397fb3289a2125a8a69c645bc84349567810ae53c2074dd1376154b17876bede28296ef231cb9819855fbd5a02dc1c31552d6657a2e4dbeba955b581c0090d892db157e9966081ac6dff633d6816d03d738db366932db226c87c0621d31f345d60f53633db724764562c3e42f6cb52f5f9e6bb1387583cf1b22e36865fb10858fcbd820d9e09b114fe762da6e202f5b9529a47da7bbe510ff8d0905ac781efab5690ed9e918879286f7d550ab5d86cb0588b0d607d294e994c55d282a7bdb4bf3ee4a1b3d067f144112d634bf0223df2799cd6c1de0ac4fe68e47076aa6274a109166e3cb587e899febd1c5175103201993f28fabf33a50acd5517a85575c462accbae86b5c5e27e8ecca051c6a940b07c02b48918f98669c2175dd6162572c7b1fd6fe3a196372ad0919c7a9f2cedb0b5d57c9bb360d91f74a136dae0851dab288c4c53157b5aca56f07f1a6f9a165032031fd4ce31fa7b7471b1eca203f92afe8bcc2c1e51529e1da5ec31c239f17190208e6dcb030d6063cd504c0f088148484f95d1e2c2079787c4b90dd2a66b10ea40302daecfab1fbc0fa00a76441d4eccd572f20fa1eaa22b45019b9e220a3872a00030b21ea3c7f8bd4f731fc3e0de183f2d4b3c3a8320e84b383c82a6b658310ba13030f7d70034d5332d708719ad245dd91ca4a60abe21ac6ba7d09c4ddb6ddadc75c7c2e6c5209d2b3eebfc3030ec533f21b1f861abf8636aa80522405b2eb826dc55cbd5640bc182c9f37e9ce3568619dedbc440eec8d267e817bc1a415911712feb8e5e04d6782b8bd503a607fc3862888a9e32fbbdb7cd325a0c9d325afe86bec4271874a25c214efd5644e5e53beb6f25efeac6cf7fe27424ce63d1cd6b540e4c2fd8a900254773d5c7532c5ee052c1689332cbf4a08968a164778b54112098d302e83313d3865ff20d41d458e5a3a91db3c50e754dac88f6f1722a0d1c26b1700fcc3682531f77b104a4ee6346196daa0a2429a1af5ea183f9a13d66d8e99843540614f401323129ce70cb310d883d6a9837a5d6c00078807f4912eb354bbef0802c7e25aa61dddbd09dfc6318a55939e906feaec93f0d8387788c453bbb32b0807f091441f429797a852006c1148d94a836fb38845a9e7b0d790fe09563674b14e01a9508cb556c56d132cf0c38878cb6862627f79e0531a7a8534b1f2a06d5a15f101c725525fe23a34ee785f7c05215debcffafe23aa870f3f2a1dd44f8061d4558ff80ebd35e0fd46d6972dfdd853c5132884d0cfcac2091c2c2a8e920e9e423ebf041291871c9fbe5295b1ae48602f186849a439546ee71a97de2b58fabc968e2520565d59eb71f6f3999bc1772924b717c4f4bb43a67895baaed52e77851e753023e5cf40a91a2c5a08c6af4006f1a9119ede052c62403490096f49703ebb02aafff3a46c9123bcb364bb2ae30d4a673e2d4ad6055d4605d881ebdab772528aeb3f85c4ed1c2bdecd8c14c78d4278f1bd80d0fccd03392512b170b4e83fa6950b231f87cb1daf7011ba93f6196b4ef584598f5fb6d732fc5703c6b92388e9687f362fbb056b0f36be686c2498400812f6182189cb34ed320e1decb77eee95680ff82dc3d759fdff810d7ba8fa8fc52d04b11722047c3e67867f7bd89b6751b4ab3c17b4c97c0f5d11aa0875cc79d1f8db879e6b79eadeff814f0ff7797de4488dbed4df069cff8c0202a3b0db0048c384d09f680b54e04dd6471c2d5be13f863dad17eadf9437ea4e139215610173a07e5329791d1023858f49564f700bcc78686dedad0319731f43f5501216dcd286b5a532d2aa264464472f047e5b8033fbe813b21182b6a388ec129a6939637b539102d06b78cdd9aa438ee29c444f808c88fa4a9164bd3a14d5ffa89149aaf773492281eb6ca6fe279570b4588e98c1e30344a6ab367f09b91e6c11c7963234d2896a1a23c7352789d647bf09d3542a69f60beec77372dd6128fa0296c9e3ddde36add9782f80da1cf7d67692d4ef6c833be1d38684567a9fe341a45e43af3b495b3ccac4e2dee293ae1d0885f0758a29040e2a8c910433fc13964701dbbf9f024cde6772d5ac255056e90b6d72bd80a4fff790433875bf218a3bfb438118c6996069ff92655412effe5ebb13312e240080a54831860befb7c889b8d7b8eb7a6b9148fa1735c72c0df136a9459783a2d9053575d085be13553e4b1ef2b92e9997b964f0d50bd116a562ef2de07a013d2e7e8ec52e7c138c510c2d4c64ce7aa3df567e2be5243225a68d5e9046719706d7ea5da5fcedf875da592223e8c51621558c6a971da4e6609e3a626a4ebafabe1f5be6ec3ccb06a3d9985090494f4212bf02c984c93d5b677c8845cfcd218c61b122b00a78e0f0f8ee14321708148c1870f4f19d3b051387f0f9599ec92c121a55ac921e5e20dd24795b487b1d2251d6603cce9b1ac1f9029c6ef293b5f61a9405df0870fef1067aa7253ab97c022b9dfa25e45bcf9226729e4d18c5c13d833ae612c46ab956a6149e5ee8d4d081170f030000807082c40328efb99eb485e0d66d8dee937c66b76f7b82da910e3f04196bb7d45e065ad6d514530000006a473044022015aa509e02df5bd4f5d0f08b61f6e9fb25d33aba3ce14a6365c88213c9b319a402206f9477d6fbaf3fc1410a93fd82259ede2e2637236b883f18fee21a8ba4f3e654012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff9c2e294261577234e786a1ab1cdd9005a3ac65e196593d964c7b8d66a2bd63446e0000006a473044022075363b82d1cfc00ab22b16971475ebd90dcdfbf0dd1599af8aa17bc75e716a6102204e6e3cfcbf14168a706a34d18c13bb116d37c08510935b71d5548bb777b665bf012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffffc6aa0974cb83b7b399bd91a6150ca6ceacddae4a19f672e12f7286a9453f5953600000006a47304402204174f5b76812931747dd899d74fb7da26823562dfccbd4845a3dddc62d70b5b702204ab1998f454add8d1af7dee20b87b4b5006d6854e5fbdf5d07438494332cd7b6012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffffb1922e84e0cb91fbd0bae2c92c79ad9c7de4d92cf5046525278d9ae0af9dd795660000006a473044022021ea5e6975a5863abb2235ffc5f550f26be426b014c29c5b575a23d209730b0802204669dafd137189296157db887d5d7a879a9d5888c1cfb33de1fffe636dfe418f012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffffe587e860a070364484e91578162d12c25736f36f482b5c159caeea45a74a7588630000006b483045022100de86ca76b5eb99db1ffaef8e5b6d165ba0cac798a4418a10390caf9057de6464022037a34cdcc085f62e7ffcd5d7b069a7ceffc12bd55df1be2fc6bd3ba47004708b012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832fffffffff91e095c0d4d9de7fea852f7d03ba1c45c94acd781d508336cdebd4635211d65590000006a4730440220542917e41d577b5b65fcc940d172f5a2e4e52ae426b4426b01358090a87b270202200189b87972c8fab94d26c40008d429e8bd2aa764e7d783775b33a7ca980b0dd2012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff79d92be1608033bfbff267ec4f15e01d3a32ad22541976d0f9f7600ba228e711630000006a47304402202d12066c178f35e616662eb376511fcf79cd136d305c9f1854c70c20fedf13ed0220097dbe91200511ab9ca9169b10d67ada754feb795e568751c820e177cc4eb5eb012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff7d67eca0fdce81405b6a576fe57a48f3d5c22cf65377437d21e2dc2b3b33f6e4610000006a47304402202a9f0f76ba441f10d49ac568f2aab25ab7d41393c4c56177aee59878f381d19a022005ba2808ba1ea4d7cac7412099a945d5b9b8bce4f63cb2c808a194d28444f2c2012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff94e58e5aca877996299a1d83b02397c77768adc6561d599d78478d968d2a9566630000006b483045022100d376501e478a5a44e35f4b357fd66d1723479e627ba9dfc3462ad5ca27f0c677022042de0056560b090bb9ace8b703c40391a0af7e3140f2905d6ef28c06093d9580012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff01af4f514d6c7e8eb78f9f0c6d321b247d95b7bec89a44eebe61779c8ba7290a540000006a473044022023a8ab8a02f3871bec0477fafb9c1ff6f07e38df09eced779c94bef7e5c5dc4102205a332e320871318d1daaae7eac469e72d70a483bd9b9f3cf9e721d43af412a5d012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff0333dc7fe26b87d9e56282ea3ab4cea4d84e6316afc715eaf9bf7e94abcc1b215b0000006b483045022100ae67b9bba99fb38b3a705b21f3cc09ae045a94cca173cdf50912e1092b4b8bf902206e90ebf0857d64bcba9a58dd7601bfa6bce4b61bd6c7ee5b1c9106fe888c84a4012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff9bf11b99b422b902e5c8d82b8189590ebfb61685336acbb1413c3bb5d6e9e527640000006a47304402201337941592d9b44a102f7a90b14ac0ab50d88d2b1c7c545f5ffa3d4fdb8ae201022042a25376053bc23e3750c06cb83cbbf603a5a3b017af51cd72f22577ca4812a1012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff46dd061975bc773741d7291b654bd1d17834d888deb601974108f92a00ddf70c580000006a473044022006829690b77c43ea34930c6b5883009394c8fc8edd93804b9e21997ddd50e75202205733ffbfdc0a2a3c39b23b73654418dca9f2c64e4394ea5d1ebe36940e33a3a8012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff8af28b1ddcfc73d39e2cda3011a16694b184d0e7176d24746909381c46abd9805d0000006a473044022075c4c4dcbc28fb9adcae42a298b352333eae7d21fce009dfa2c6d90c53b0782402200a7e1ef5bf54f2c58ddf75b9a6063f40c02465b349742e3015def890c12a410f012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff6e6acee14caf4078d4632f748c65d95c8bdc4c22519ad35c0b065b14c1cfcf065d0000006a4730440220579fe1c519f6911d85ec4ff32c1a44f47fd902cf4a6aaa2efce6149ef358319202201f38b29f0b79dd1ec7fe7963a7483304d5060e5bce3b6aee7c0cd7b08651badf012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff2f106cd2db629706c39720d691c0a23f333fb78552d5802b5b2628c8637b269f6b0000006b483045022100ba2d0684ce7b8f5f90b096e9bf2a0ef10d76567fdd66a8da7e3b0127a2f6d2c602203a18ab17682bd973fdea6c03efcaedefd97ae37ba7c5b7a5b1b4444d074d41f8012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffffc13c103577f5db5d02d8d1761a9c1273318708dac42fb9ec8c1cff3155bf8db55b0000006a47304402203872a0c8ee5a8cd3bbe918c0328131e950f8104d8612a953c2398fc1ebeafe0302203db53e6a04d01f13d962bc99f5525d630a1f20389a97a1a030cc087005f7293f012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff7ae9590c82060fe31ea81cdc70a8d60e54f1d2bd82679ac764c4cebd4fdbb1a76f0000006a47304402201510a1ea4ebaeb51c81ff54e5d1ccbeb4b4af780f2faa892967f52e5da134e0602203b5a0e938450b74db294d99cd41d6d1d25e9995bdb7410bb7120bdf5e3e54442012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff2f05bc54a7e65587123832d72550b634c46c7a92bdffa79af3fe80698ad13edd580000006a47304402202d8dd5931d461a155735a67a4c1346291eb3f809e4800586238390b9c8e941c60220521b50b6095e9a67fc4b0a7c7791970433e5e7f169197f6057f451436d3673ff012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff658a7ee92072d40f8f10b62aad3495a307c321b920ec987a419d5b1d13c19c3d560000006b483045022100ecdca566f86b418f99e85db8e2307aa8039342dfb1d62db231b7c515e225d26102204ccc76dcf7be1a06c88db83a3c057679387be43b3f03cd7cacd7cdce9c810dc1012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff13a5e2fff34236f319f3a426e55f260d6887086d2f388597c14d316eac1df221550000006b483045022100b5fc06f4c9ae5c1878396a20c9899f681f45b685c848503ee38a8ba2a3ff642d022079eb54454972b2fda4821647fd7e3bf37d190bb7d39f18b25316bc8ac2272b61012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff6c113cdb2981597164b26c9cbc8a0a16d3e6cc804bf5a6cf2cf99e6649fae9364e0000006a473044022049b115a8ab87283c582aae738c8328ae14f9784caea8b30db77a56873095b89e02205ced1a7edaa7753dff02912280f34317bece9d48142105a999499f384461df1b012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff8dbd34737170c7b2ab51d3cf2a24cc898711e5fdcc32614caddfcf15e8e9fab1550000006b483045022100efd2a0878a965bb23016af2e8694e117a68ade17c34e77f5902b1249350aff5e022032e87b15ad4be1e800ae1c0afadb2d8e34927e17e5a10cfe44a56a93171d25a9012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff36f1da5c83b79d87eccf5e17dc82a86c1223c42bb5398c4fdcada2f7b3be03215e0000006b483045022100e5b009bc5ef435a98ff0c293019d1737312aa894ad6bf07a83ba3d44caf34c38022036bbf992662258c055366e68f51a93cb49fbe6c73361adb0f74978f2d3197a2b012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff6dcbe8982824d523b5b892e7ec11c466dfd08da1f8db8964719d8dcdb4e3c1ce530000006a473044022021125e561a0ef1cc397f82e4c3b4dcaa04d3b6f8a49c5802c3e474ba3cc7f4de02206b261bd2f4e065d259008ee54b6fcf9ad3bff231601bf0e35192d7c19650895a012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff5c51ff192ec5be9701430c1ed7c568cd3b0026e9f507e6f75ae9d4dcb75c6cab5f0000006b48304502210088f9e08e1b89a077cfccc5d15e6492a589c42526bb888648ed01bb0619c42525022061adbbedb51c7c8eb2b48aac76e0a801907c89998ab61007441eb8a71d458298012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff7fd7793d1f05427a2a31805b8028060c9c1cf4caf3be701f1e5532705cd4a92c580000006a4730440220287f618443bbbd4636de295e52781ef0309bc729423ff616f4f3d635b0406ea50220414e1051d87a143dafde036806d1681c46c8c9d392bcf09f0c7fda98c828b2c0012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff67195acb2f2a24bf8ef5e38150504a1a87644b95902b33ed48c8727713beac04660000006b483045022100d2d73d1139fd479d9bd59eb989e0aa40402f0f57b393eda1970517e926a739d3022022ecad42563dc4cc3e2aaed9dc4889a24dbb9b8b206d8b88ca2da4291d8b16d3012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffffc119228c08f1298ad27198c846421b89aac57e60b003088eb74104c029705110570000006b483045022100b3e08dee8fb06df16a2c662be8c9268290af9c03169c4b4f7649e9766dc39d0f0220508e8c3462ed884220ce5c15e9b04a662661faeb71ed916ac0c50a63873e274a012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff80497f128ba33b5feb9d5573e065443c7c042e319f31406d7384d0dcaa4db2ba5c0000006a473044022010c048e2457b9ee02526c0979bd234a6fd1aeae705a45dc9cec71b89ae799d16022024d6f50e2af18e79de4099ff9bc902d57060afbb8f6a39d8b85cca923fd65a86012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffffb0e652ea04e43a57c93cd3ec42508b1b9c433b03e62158778cee861f81069b60620000006a47304402203bb37508f4ab0ef2d0c3a20146efe0927e563db58bc15d24d6d7b9c40b219e5502203618576d6edeb16d660b104071162d495e2130ef4fa39236be8b7d21c374f5b8012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffffc966caa0e58a4403ad43ce85ce79b97cc2a7ee84b2fb7864ee4614bcdaf8d50e5f0000006a47304402203a8ba2457955aa0ce4587c95b66806c3aec6121e308477880558819214a623e002205c0ca498d13a40eaa03a897267af5f91902a40b2f5b5487435e1456518e37534012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff87437fcf10efef14d3c946fea62f1cf7c9232df549e14ac8b81d95fca55c89315a0000006b483045022100f886f11903080af173e78a650305090d004241a6d60890b74870fd6fd8e1885c02201214d7b3034b4e9736d2674269291e60181789afeeb9ab8a5fcdac6d0d9b3ad4012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff25e306063315306ae1352d88dbc12d4e4f53fd0b550171dd696fb1c98880a4455c0000006a47304402205a7b9f6f20fa45a36764d6ff82f7d94e5f1e39ed8829be755376e0c09b4a59a602207f3b3dae65ec10d9b48fb5b12cbd943c68798158573a2b1d054d9328e5381eec012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff0858aeee9033fe471f76d54278c61abd0d77fb596f80c9c2d0a487318355dee55b0000006b483045022100aa28c5f2f2262aa78708a0f7a71dd3efc2cfd2f05f971fe4abd1c401a2fc58fe02201794fdbdb3dcf27f7cf18bdbee1479d3419264634ad718c9c5ec9b56dda7bbe4012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffffe79cea6e8b0b437bfb8cef2bc46f51dfe0a6ab09201120d64ceb01a2a21e7672590000006b483045022100820ca1bf328ab9d40c4b70019501a5c7fc43762ff975ea70b9330c66bf16ea5a02207dcb104c06e6ff293cfca51fbdbcb67ab2af21479e130387e0260e2412455b59012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff5f4c5bf124ffa6e4d521db95fc289511cb98f14379b4c2bc056b673c6fb258045a0000006a47304402200d29ba2a6290b328f0ac8839a8015853a9f79c34edf1273ad94a787815749bff022074de224b1d9f551f7a3731f39df1b05f9260cd6b20429732b42ca9c414611a9f012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff3051cbaf0e5aac43c8c2b3dcd0ba90278a5e4c78bcda66e3c4a0b1e3b136080d7b0000006b48304502210094d448e78cf72210b68a6ac971897f84113440ca82cb88a1b3172e25fffdc66902202fd702abae2df23ee2beedd8dff911f60c9bf214a181b13f8b3c06c972d52656012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff517f649bb4752193d2090704732efad98fab76f0c7d87d36b3f026934a40b333680000006a4730440220406777b5f6642bc7a272d884a6aa2ec1c67a704a4221fd1d6a17ead47802c42c02205e7015b6575a49ba8575c99df08d264337c9ef866e925581d0037b8eae5a1ee5012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffffb680d4c633c3bc314f7f8e8db328c68d490cd778607bcea41467fa85d30680e1730000006a47304402204a41b62d0230d291eb505357cc0ba0e4ff4c62f1ce3da4fd53bc97f1f6a6d327022051316a2e57ab352409e78b059240efa4f9711537467f70fa27294f0311007581012102fbfbb51cc02bf916d7efc67f799328d4ee0becd388dbf004ad5223614bc33832ffffffff00000000007f65060001f65a4d0a0000000000000000000000009cad2b9a2705bc796a63bfa8033e4fe2f880236e41b9e5a338259141dc53825ffecf8bb9e4214b34eeca4a205a1462d681731324f9c5ada021d2b15d5a4f4c0c1ea403f9c1a5308daf0b90fecad635a39b454f6abb820ef09ae86da5aa9e5fed609a851e1979b23aa69d9edcf159e0a12164e7a9181c9d0c2c92611abeb489377e9296f53f494d97c6955ec84e27a994e1f51817c21be5fbb130b85e287b79bc3ba8f490a952abb00d5c7e824f4129ec71c9ce16e20cf9e0839b120f00ef970dddd0dccc58aa33fa945dce981ec8a333d128d5df347794510e87217082c9fa52112bb8fd68b2a819ab318d310263f86b023794a2f434e460f5c5b12dd04d57b7de63cad791558fe4cd95efc75365b9bc327f604be8c98b0446a7210e8c7c8afe021023b3f180e146a2fec78c1f1f41279181564a18176c8c050e3089c795d4583302081a87120b0935915d9fae9fe30e0441bfe18746964c011a2079b8d4b129a2270a0323af51cf1d292ee119576e25a3775d8f9b1760e7a72bccbc03ff59dd44812a7cbfb7de4520284ce5097e9a3e6e13227c5b3e114a3512354812e8a4ab8e367603147d26ef004227a946fa163ee98dd48aa32b46367080aaeffb51f3c9ae126f96021947b891cf158881119fc85e332fe17b3c417ce28d1e1f32e37c7130bda74ee203189a62742bf351624e2fe483c4f33eb71143b3693ea719a8b3edf4e80569e2c1031fa9cf1cc5f1a5fb78f80a0e7db87b823168c8c2cea7f4fbb3928c5824e5bcca0300619a3333d61d62e9f467d98302111f0772eabb9476b20fa883982afba0e8d2df8421d4a4b5c9578979bc314b711220f305253d91210fa3d30ec2b0b9571379b2a5fee0f3ea757c88a1a2aa5d123c9bd2abfe87ca07ae7b32aa0453788f26080088f233991a8ec4d29933985324df069e022b0d865f678367cbfa04f746e33838f7a3c9292568e81f5009731436e2bbf364210de09a240e9ac30adb6cd256e9eed9095b0cae08c06dd5fea424f43a5c4a490f2e1b9213fc8d417ac8422850edfbe62e153d60b6745f2171fbbc649bcdb5963bc6afc8efae962a5b86c278dcc573aab7b2cb54e204899e4a1b5f9e8ca09286e3e8d81b7ff358100abc062b4146ce1bdeff12108f3be0a55906b57f8904968bc64f28f0c9740dadd7da9302b36be3ef59af8687a525ba43d16df3b79b46330a0a49d83bcb14ae2926b5ed4670276f259ca5460dedd0f51575f26241543ab3552d270bf5d16530f0622a0f61fdf209373d28e6707235963ab3d91ac7b0a00a005b55b7098108b1e26d62d1815a4265e312161463a66d1a68c99f6bfbf264b27334260801875edc06495cbbda1bbe588fa09e4dc3afb660ee1150250a9d6485490c5c9d5f0fcafe6e0f37fdd6e83bc57d9d4b6a175f63c9c4101ed33fb45824abb8547e50749b458229d2641f026a32472ee980a44b7766888a8d46a3d5cd7a3ba327bc51ac145ae2a21f2eb2bc4dc1e55fdff5fe21f5df344aafce1749a9163d266cd73e48d539618ca9250e61dc69cbd7ec91ec87ca61474ef18a4b33d92fe3d63b65271faea7c6c1c37f36637821729d4e9cf3b2610db058b2470fe8f40b3f2c39a2ffd7c0b571c34f875ad86f6bf0cd71c30903f04366f047f0bfacd42398975d12cbe5425e6bbabef7b3e83ef72ed11eac4d56a8540ef14336cfce1a7363e993e1f78e3b1d1377bb6b19aa8ee41e5afe0272bed4677e0488e33e68bef5160c57c3bd9e5e0a9f0e728fe3ace1a6d3f3f09e7aec655e557e329c4c758543696aca202983082095d3a2a1d90caaefded253b3850f0df2c917dc05f658922952432bfa87d7ab722ff81386e94c3071cc4ce8036c1b3bd7f8d5e3f39f77f53ebf99a8d9b8aa8beefcaa0c701d8362cbf8853285a29d353269f5db5f9a9a974195eefcdb93615545dd2350b1601e879b2d7130804b1a0f4b861e36f6aa18b590411db6f38bf1875b1ed235a601d7a18dff8c97c36ca5a2b5db1caaea30b2118a3f365fcd9d4dee107483877ec1d152b14e9215009df1b402792b0b37d3af1f541c767ca8f65d68a50721e018866e80126ccafeef7007df3934daa5d3edb2707c213498a70433289c1810d0bb59f37d3b1175390b8c33c452c7ffde8958a001c06dee542f4f1c5812d166df1875946709b4902628a927128f97b7f8fd594ba7b99ef44b41bd08b28f69baeaa6fb7e12f4f0fa089d7a2da133edd90a031f4a8bc1d2ea9f266d60748bb07ded7134f57fa1bfeb2630f1b4c9544f3193e2a524dbdbaf762dbdbc37dbe0b20870a05f2f6cbb413d73b1504a4403fb608d7cdaa8fd000b90fd78d7957acc00b4a124ad6e93c1717a173098a7d27880283a5f6f17346a888f389f082194becbeb7e089ff14edc3a5a9c7cf6322d41232aff631d38fc705b9e8c3e4facadb5cd9024eecac7063dbfb5fbe7e8069f9e86e83ce7335eef1bc78ab39923e1371daa10746a86233648c1ec0b7780e4407f2790cb1239b37ee761fcb76931f7cc873b8804144ebb5f382f8d3eb815095c7dd707165f7927ae9320b3920f2cdc5dd87e045ee55d0b2ae663a2d77c5b35550489ec90a3ecb8e0ac72f3ca23dc4d6750a36a206c52caf09480d8bbad4e125d5b3e675071ba852c2e0a030000807082c4030001b3319b3b000000001976a91449d3f85c4815ef10a8016e67475bae76604dec1088ac000000007f650600010000000000000000c3589b3b000000009cad2b9a2705bc796a63bfa8033e4fe2f880236e41b9e5a338259141dc53825fe4806bee1a768559639c374886b3d7f5986dafd83d7cc4e6a643026d995a6597592eebfbb85fa3c04eccb537aab33aae149466b3ddaeb4b7768e6184f33c75a6b1981e877c527e7e62feae9f4cf76c2b399579a0834a533c02c77adde462f7537b91031f64c7dee2892f0898c4c575faff4a523ba0da8ebf6e123b9b0c88341a1096ea45e1e769cb2cecfc8bdb5562b7561bb77f2e7cb37d81addefb71f6a23361a8866fe6b4e7d9df7294c82141923c7a610fa327679e17c3b1b81c82945dc1b400ea894dff249474a9cb4c7d773021012bd5eef7ea5c5f60b173ca3b8e8924b42df3f6da5dd37eb83726f642a684fbd6a5ff8ceab337ae8240cd337cf5622803165e41157ddb748c0e2dd7a98e2c3e3ef24128c09a118d3d3adbd71d94882613032baa72a7bb925bfe175d0e2f97e642988eed94f7074d546084227d604e369e3a0b058c5f098fffde1407a4cd0cc0b8c8d98c132ba108c7b50630cb5bef260eb98b1d7a3541fb0c77b7aa9f92aee77d08ac89740c418e8bfea190aaa10f7cbb210b0202de235aa0bbf270df0d80c8ab5277f2367d3c1a086153fcf32ca00792ec0bd10326d7589ad36d08c85d8d812daed3c9bc09677d8a7fc80238c01da3ed0e4042c6031cd0b233d2b651adc0d785e64a2ea3b0038328b015f8eb9083ad8c55e83a2a33021182e9efbeb28230b39e8985ca3e12bdf59893982664ae44bcbf4d6f1bbac8c703078e496f3aae5b643b6d78b7d8066ed36d9efefa387f977f5f5b60d48507c833be4e7779f0390872f576c2b6c093a31b0d31cad640193a86b87574c9f801777efdabe524d57ad111d65280215a0c93e6ad3a49c25790ff983925937fe965f0f1733c06ebfb39b641642053976e38f1812fd2a0de25fd8cbbde0609ddbb740e4ed06314b54d76f54cfbb5ac9dd07e34085b6aa54affd5a677132122382a489e7f1e0c69c6be75dedd1cdf1174f92a59be95c3ab1409d8f56dce68d56c948cf8465438bc417d49350b81dd336cbdf4b929554b39279edd27cf813b0340ee117a2fef71052f5c9a754a12ef26079f9fa45da2c31698eac1967919e7edf36265e3d2313dac1bcaa3ee0b1ec2162ca9c334636ba905a843b164cd0b1180ec5a0b67b154212c37a70e2ee117e396c49dbd426e55b0948892da405e700931063adc06e68d61b0d0605d31f02061a3f72853572603f07c5f430ea62e3118cde94c91085b443566346062975fe4a716e3d12eda89408d5b1c50bd673cdc1f65bd996d1512e8d33daee3ec92415210771e990305eefd4715bf1bf915c8babea9afbd3a5b4dad4eb276f73f1fb68e00ba214807252b2f1c5de5fe30257460317ea4c79b228e6ceb5852ff0f1c760bfc051017cddb7034c8f4219d83839dc651cd745176cd805c4521ee1013ff43c1aa1f8841e015e5b840fcb60cc0fa07432bd50a191328cb81029cd2d2721d511f9a945929a07ff64bbac8cd46db4ba37be7c020ba75208c52767af6c36175d5cc9ff6fb7c0050bea84104fa5980472967d86824e785b00bb91d4e7bc185458b69923f7a6de122314e9185f34fb02fc6a32fc095ecb7e0dc958a6d00222b01e2e7e594395cc546d59d9d94c0fb84ac948344a343a89a653b5f10feedb56ab4d61a7d26559e5c8a2c4e05874116d8b4a8ef59c29329a18fc92d6f1e6c6b65173497be6732ca13f151e4176b1715c8361c79feaacf5b546fcb38de49600dbc5cade3b8cf430bb7af728cc6ff8c3e709e9065075c21e98c0d5e26d2424e271e1b0e11fc2927ce5691ee6f5358f54514a6d77650a0d044651ac967292c9a340b0c4271d740b4f8d91e02b55dcf9899dbd9a07bf6329b89fb630444e5e4c8b8e88b0d202bc8d995d52667d4a880694a4c1b445af3f22d88d3d8f8c5eed54e19b6a30b702a683937416610e2227897d93506015d52c3e7290684503f507584bc4ae98d29334b2d12e32d6a1f8bdcc4a2ceef44c447b463b060cdcd66bba06b0829d44051150996f96f09c4f9d9166846e83b56a67ba1f71ae91f3664632f19de5574309641b5ef1f6529759a00205e06043b6cab2bd027c2359b2ce9e15266eb068ae6c8294ea2afe507c0ff3789e16a5d946b5788c3c531a30a80054bf9b7bb302ea2f76916d23b76c3831ee9ba299f7e7b9d5aaf4880a6e3c5682a2b0d28e5b4cc5dd27cb4a65b331eea89241ab0f051d5c7a115e512e2d4e3959ec560833b1ba34e791df5cdacbf19430458a6c8f371c79bd7bacfea256f2520bd95751ec13af1ce73c4577a2af3d9168408eef41c93993c2795893d63e9502275b96f5dba913aeb15aa1bffac691bae3121a3ace0001b8aa1288baa91cf2b11e0ac3122b4593d24f6ca3f71e1922b24681d4ca12c5cc15a4eedcadfa3a9982429ca42ba66579b9c216376a2687163acadeafc6b37d257ebb0705f7c5a186a74ba1cdc678b1a543abf2fb05c514e17d62097e5570118dafb8062c27f58a40c11984691cdbf21d7b50942bae39c558cd6ea562ab46c2440cfd25c2e7914c8487669a6fa5eb1d901803e838310f277ad45e5bdfd054623bf973d2a503c248b0a98bebfccb2c55dc9fd8898451f4b60d6e91d0a030000807082c40300016cb8e0c44a0000001976a914725933127b3a67516535b781773afc0e24647af688ac000000007f6506000100000000000000007cdfe0c44a000000287a0361013dda33d3587eaa8661d03a01cc89e77ee5e829280b62f8fce75b6e3363c1f9271bf11be0a259c24a2186bc0471cf7350e41d8fb69ea499057396d3386b887cd6e9b07108bf502f46522e2eaa69b069a2222c3db2dffe69edadb6c4e21106e8b825557dcbfddef03cd6b977f5872f7f39a3bedb8ee8aa9935bb1fd71cbc4c6f85837aac0b0c7aaffebcff543c67ae23b18ac44f0e1c606490ef43e80ed9d0dfe3b9a52fc22fad0f0bd178790aab8d243b53cd45daef3f7a75457001855e07a68964d5df8b0a09c5bc082bd357b26648b7c7f42c6ffe0c43ca513c1cfb49333dbf4234c42d8fa799c29150776e2d760263bfebeeb2cb5624bdce4fdc95ba0d87feb9e0fd8863ba0e53f7489d21783868b2afde97929ffc1ef76bc432022475bf8882176a84d5010adc03846179eaf6b3b708daac5d4e771314b0cbf836021b9b5b564706329435efcd335f6a5ac5226467987a5187d04fc301af49f813920a055236fe8da3ab0434e20a144ba23c553900d4f0b7ad58beee4cfb501006567b5633ce45cecd15b426191b115aa56a1f9826188c3819869f32967b22363b62dd0223db8962fa060dc647c22dc91a37e97daf10ce78d278ee9c52e5ab199de84089030a934d4d0bf9ee442d69022f7a6c955d33e2c33f7706ed1d7a1458438029def6022989954afa7ab3b236341bd6eb00ac5ef54410353cd5ad1aaf636ee7d55f86b90308bfb22cba07842bc945399c53335dc3b9fee6a639bd4c8931065ecc0506062f0302512d8658abbaaecabbea4ab7b3343218b3b9c48a6b28d1b85530d1625bf894bfca388c5a67974a48b5356e8b9c06fd7e284824622d7d52ebb3c1ccdf918f9b09e686ffd5a1a3b6814c8cc69a920f0542cc9c38bbf1866e191e7bc5bf2db82d0f642df41cbdb90cc72d906d5976b73f08c35d3e0d8c8ebf87bed80989561f75a3e0b2a099cadea98f0a01fa0ea1f9b20751e2afbdf20c185a97cd06749b41e77f3b8e10891e75534ff360424f4388d5045de928889c131b93e1ef23a484dee2b73123d79920f24151a370c541a98129399cc6bb7c8e0661b6ceb1bae956a2ad6dcc469f5209dd6bebadbf141c6450d87240ba7feb82e92bcc3f8d60eb6d4cf54982deedcaa55cb495c7a26ed9fa4dcdedf5812fc41886a9c34f954d0400aef0184d46c038535eba5fe08193de3ccb3adf82b3122f02df55a3ecdc8738edb1a0459adf101f0fb47cdcb3a7bdb2136959fc8fe3094506398f89aec4ad30123bbaf1013beeb576caa5a55a244264f535b20919d23ab0ef563e198f3e49cdb5667d3fc9d22dd8e6744cdc479dcf71855f55b97296dddc18fec8a64ed5fabd10fb983300f5444edce5223f131ed7fdd92a09d6e3bbf324f2766e686066dcd0377232e03e64cf24a053ae51a508ee49145ea9126739058b0f997ce6c9caa29ad29233482f1f6884694e50413acfc8950decab5ffcde02709f57ae3f64f1315ec86739a142da6340c17550ac9baca350b1e2395fa42901b62498e2d64ea132daa2da32bb04c50e4e478fe80cd26039c76c20ef1072a2d0d743ba67253296cbe3b08fcaca58bf06082c55c7bc98e3aaa72790e5691968df2946f35b019dd5bff8117a97a325990c0c5b6ed1c3a2262bdfa99225c77749335077fe0fb3553132034e60d336f4e8730fe889547a02b1b7fe0298b76e819d412614536898154394f9c0af4e13330bc822f79e7ccf5f76987f956aea3e2d733725356939678c08677a2689dc7449d8ab5ba965b0dca365afad6775c88e88c21e5a0f50b654fd47d45fb3aaf4b5b0cbf7182f7de21cbd24eb162fd04097925d65ecfdae0702e914c6132ed456a5c6da36168237522cdfec4a60f7c98b8937bacbf3c50ba7dc3a750932882017347cc1c2d198cd41b4048a35fe665135cb8d2c63f606cd51e72c592b5e3f12353daabe84458e9c6bb5e9999947ce253a17e1264378db00a87f09be8d403c33e2291dd0e1c5dbb7e24f0a0ad1ae51607a69c17438ad2de2bb52c0b98c8896cb02663253653bf9386b1647f391922f69384c04c154ac0156788c6d8584b2dee0cb2083ae837102c042b5ba2d5843d2c5ebd875397729301dfdb8455ebde7f39de6e9e943163e48fabe2816d702486758709f0abd2030bfc0ddfdcfa5abd25eb8ce104742f28ca2e2511fb444491d6598b141ad21cee30efd54d7586facf3c741d2cf7d7904dc13093145d4e63100bb3799ef51325ec38e30b0f20ab153638f8dcd047c4cc72ebeaedc07602e73ea847237914bedd3c299e99014cfaa7a081994e058cf64e592a626f94fc8b085221c2abcb3187ded9c83be1f5af8510a0ef440ebdef380a0ae313be21d3f168e72c591e6e6033f975c3a0680cc152d757309ebd00e010861b63b849d3c3b4ad69df7ab492649971ffe1a2c6dc0b5ba7258035c55355004a811a38e151db32d2dc106c2afcdcbe0540c47b4164055b54773503cf5f755a518c79ba0631e41702e99df478ef7f68e2bdf18db83e005ba9bd295e40e4f819128a17900fcf11e42b4946056721cd7f3009c6cdde39b7fbce6e9ced6076f0ce8cd162a99cb30a2fd2207eb31e1740fbcdf93f7b4b99588ecabd0176f3e2444bd46605055c9d21d76b8d7c6d52d7d0b030000807082c4030001e023d503000000001976a9144d937954de76053e34ee19c7611228a52a74224088ac000000007f650600010000000000000000c827d50300000000287a0361013dda33d3587eaa8661d03a01cc89e77ee5e829280b62f8fce75b6e57516daaa463d6adf7b1baac1012d3749dbf84163c6aa30ee94e5d7f1c4043d5413fbfc9a1a21b95e7e10dc538937c6369dc8b03d443c57adf0bc43dc0a6eb6aaffdce61493e8af80e8f5302f4ceb16c1202c14bf214f86d409f02dff1bfaf59bec5aad2ada7c3cdc3256413949e05d9360e23e2fb6afe1fd67614d621d861d780854e845e31747b404f6169e5d4d79c405d31eb801a45ee57aa09b0aabf4b075e515ed025f8955b1b4f53ba9558e1dea52aba9cb9fa55bfea734b9136558d754cfce7b683ecd706a8d01a8c945af79d65166a7ea2e5fd01c73f20e2ae007378cf4de8f5af809f225242740b41abfbb8e4509107cb8b7eb9c39696bd9ee24bde020f5eef13704f7559db172471b2749c22dba2b1794cad5ca3a9530e423adbc216030cf119916b4ccf97b15a31865334236895f6b2327f56a638c6704ed0251c67660b06bd53353a7307e53092d4885864565706112d3334a92d23fbe46962974ee7ec625b02ebe5732ce578957ec022e9dd6b5aaa8d5ec3a4587f19f5a7a387cd4c770303bf04481c9c12ffcf3bd08e563f530636402644be1df67714bcd56ac643c963022e24d6794251685549211119c8e5e27249dfd8bcde4815ee746b1b24aa3431df030bc38768eac21a9384eed94f1adc0599c86e12de135f41ef75eda584e2a4a3260313f4fc16e67349c2ecd3c3ec2a1ff57c3d5307df9b7bbdecf1988dc5d5a8b991020eb7c47c646b24ca30839a6d0b7be0bb59406b888a80a7271f985bfdb4d6237525e178f46a217d015c2c40ee20bc672f2d65fde0fabbbb83f66db74eea4bb82e5a491de3c7a104c839c2e1f6511bf33be12ba97818712499ada2d9509309d9623eec4fb8a5af4b531a024937b3f2043910dcf371b7ba8170767216401f4cc69e1d6ff44f95e647bb220839c1a85ac7d3c7f903d9d2e012b0bccbf4d7c5719c367ef58e648a606c2a165abdc57a0d5d8bc7408b4cf674414cf9195136d0107d3aefb9a3a0762971b80ec438d5a4b934dad185f4bc99cb3a02e2c31bf1046b1e955f48ae22c9d64dfe5d2f7da91fec1779aaf015c7715150a4b203a72c57d1a39cee5234e3ecd729231f200f74d438b2731a0f892a3b087742b48bbe3c1c4a178055741cc402cf1445f3c27be3244b255bec3829b739ae50553a0ab70900838d1e6c42c1babffdc5da2d2c3bf7218a693705d80725cc29fc64bc0361b4bb8742a7c2aeaffec3b93c04f29a8c6546b7afd39a590e9599cc77e0b694fe39d0e1e0322a49cf5f024bbc7e64c4ed3cce16023249a2fc3754715917c868e3dd94d5bda482ed2a296a08680cf94bc48932dff05c1d6cff3bf9ba88c058ec96f98423cacfdd8a1b1dcbeaa125bc38fb210f1b87c15c9ed2ed6b57e78b88474c2073d7350f07ac4eb324177fd9e463399bd2cee320ebe9e399ae6755a2b2e5089c65363c4d2c760fb83515084dc8354e7e62a9d9fd1d7feb01ae6872fe3d9722c097618f2cf04e794d38677ddb55b5e2d73532034fb545a97f5693550e467549fa446c51c6b790bfe4c143b2f36ef220208b3a0c1e72400bad06333794e7f368aaafd73005a2b33a33948c4d3fdf215cd3a988dbc3890fe1ac6c2668ce455c3f33525ca54629fb14d332b4e1ea10907ac7d298ff924a8a7b749d6a36b3202f93419b8dbdb15443389e62617d04ce390b6868c0af3888fa757ca3aa3f44d15abb7226d2dac476c9d2347537935f953db7657dced7860fe35b9f6a548019e2cc94225ce8e36244f28d20a14f1552f56ddcda29757af3475a8a3a71a028a01536db0acdd5d5d014ecb23df8ca1e8d6104c49049ba15ab62f3013fd2a6834934896369d018e3ab80a1b08499080d3a510bfa01beb20729510579dd0d9f861de05cdec12fe14b4aee029bcccf6b74f92c3cb2abb4864a71bb1f863c1c8841b88d5996864c9bf1dbe6e61cbcd3030ef50d2fd71b24dce426eafd2c8697d08cd9500a0ef06e8b9172cef2769e5349db9f56da29cd0370a561e7bbd86b611242bcb2630dc2b25f5d5147d68338c72fe351122ab23413bec8d8c7ad49953d8b4b1ec252abe3bbc33a9817e44a4b2cea84da338654a45388da33e4c9183e00d8cf5c790fe03022cf9e45e21d09cfa14956aececceda548ea41481c985ed74048fc4c73cb94a313e7f26e2492b6bb2dcbc3f4b967b96b2faa48ae151a221e564b938731e58427b3c3b59ffc5575fb1467ca4ff6e8a9735d08955369d516a29bbeb5a36bcfb9cc0317c54afe1e3440fe675f64547abc6a062c5a5f5846fd80fc96fe0f9023a8d74d213bbf3a890e33c85ddbb654b8bbce1ee8e1204a43dbb2f6d8d60c70c23d65aea851accf8541c3d6d3236d12bf2ba164ed0adaa241435f59e64049d924915e560aaa3a27b834803293fa41c7501c4cc1780960fb4bcc4cc23a7a2e48db831f8ce0fd61fa16ba848531ef01648b58cb2a79bd73afc5635b29a033e0bb9414b03bffde0c84ee5d50b140866cca7a5beb097b6f6a31ef130af21124c56fda78c08359bd1078784ace5566598791af91b47df4dcbda07990a300d001a37ed8256b4682c930dc442b9182e1d81149b88e4bd3e994bc1403 diff --git a/zebra-test/src/vectors/block-main-0-419-200.txt b/zebra-test/src/vectors/block-main-0-419-200.txt new file mode 100644 index 00000000000..585d671ee65 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-419-200.txt @@ -0,0 +1 @@ +04000000955294c5e5836bdacdcd8eb358cd8f795e0c4cd7c0bb08eb193b5c02000000000c82145f1d1d054213770cd521bb07307a725c539bba4d581b42b4999921f642fbc2f4300c01f0b7820d00e3347c8da4ee614674376cbc45359daa54f9b5493e496dd65b92f4031c3100553810eb8e1d00000000000000000000000000000000000000001f3da4d5fd400500c41b8349c3eef02a796443f14a859218677fcd340cc0fbb6d8a8575b458970d804c0d69d654c6d2c93102a6be5fd17fb25b099e500a656af764a8f7daa425aeb74e519200dc3c42ec5f4304de5bf76571d1513055b4963ed996a0fbd8792ce6bb7c7b4ed29f33f2c13d402fa096826ff7395646ee5c76641bf5ed4edf10d84bc81594e6ef16cdcf39279fc9c7d2a728f6987195cdf705d13f706b6bd665661b97c464ed2b4c7f9022ab1ad479ca1a1c393a33b84bf242313fc3d15a06d2316242c22d4c18870580a49e505ff2db1b9ff9207a343dc77a50c89eb8f90de2c2ab9f9fecff780ca3d12ed8332f15565ab85750281db1e9b784e3ccdfb0b97ac556be8c25f5d291a9d21ec1a1acf7a5a8a5b1c02a1f4932553ebe6327438d5b9fcb97e748ddcf728b30aaff0a54b69399083207b44502e3b1e7dbc08451dca7ba89c75ad776f662a86c6f91aee28fbe63d039e37b20a34e2ddbfe961188ad378f920a9fa41620e09fe7ddacae462b8fe426ef6b4aa4526eabeccc606fd430cfb89c4b494c9b135ec7cf0d0a95875c7a60cd847ba861ebbe36bb7b11eb5745947550d5abfbf087e4bf8d39c2e62fee152dafdb6b28115759a7d4a0ae3d2e5db88059653751490d1f3efdd56f7d3a3ab16e87604588b076d635953c1a9b4940d4639939dae349d4f7337975622fb10d5320d7617a5d983d66ea90826c3adb2442d5722fec28080f5ff1e12289a3ac7383685965f931debf812d67f216b52b9bc061b5adb20e6454a39cc49f26d75441cb6779c196747ccd3b04c07542c55d6890b7b30f6e8e95df7be654afc182f12db657fa704f615d9bcc238072f5af12c445633b53a4baf4d40e958d96f44c5bc54c00c82b2427630f4266885e58257280be032f56da837ac017ed03c10112d1689c4b39f4bd34253b5ee1ef8f7fb60235c9086026ad116a2125c47942778f5067f64bb141639689a0fa787cec386efebaebc6101db9d50fe2c5f1223370af3b316b1d6d391318860d8158d3ad58a72de2d3c486c7c99a15cf075107dc8f0c6669b926ae874fd5b0a4fd187da2222fbde65c7d0c84962a9fee576dbde0ee0ff175869a8cb7e30412316cb11c865d13a8966134676896b66ed0b725bb4254160360e547499175e1ab206b7614a84b86d367424d05fab3563e61581c806b0a62609322a3bba55457a20391cb245479e300a3a1cb4d4de35382df2c223c3d3f7549525ccdb23fa099638768dd8a459cbcf818c23e797e11f0777b6ee24d1ab5c6b4fa2d0a78932512b252b59d07a5f005c0d5b0c6d09ed4af7de1770dac2cea9fc47d798db2a210a3c658b93d2bca4dda5787cb27ebe507ad2f5360e88df04438cddc5c4fd82b0ebf105629b9b9aa3571bb134b6198eada18bb6e57329b4fd075d355ebfc50285ebddec1c91296ae824bfb5f21351605b399f6610665362f14f030b242e42b3bbe095d4c05dda00a4081e5ee229099387953651b5789b1702bb52763f9f3e80fe436adb43e912fd25d7bdec506ef9cb99a61f139bb309298fa67d1f2349cecd4f1996d8ead878ed33804b6f2c4e9635aa44575b1dbf6796dabb7c81db29ae7d4f16fb6991dc1123c1534848a796a93cf5fa2b24beed0c93cdc3547b044d44d3fcd251adb3cf4302cad7ae5260dc895955a79a8df87bd63b491d6b681f4ab742e6917a2b803794d46ad66811ee75d1d3680f47496828ead44bc66ac11d6550aa45c461381e1010171a54ad97dd0b32f3939b021ff86d78e65b2e4f04dcae264014c271707a90e2a7efbf71c50d9531fd1720344b252c37716ac72300b53c73a19275b0586009b404ddd2925b8557e0220bf83e8c1f58d7bc933c1a76920009d02281ffbb62e3fa51241183de9e61a4010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff050380650600ffffffff0200ca9a3b000000001976a914588219b4d6bba2e535c2f92af7f85f5687ce82ce88ac80b2e60e0000000017a914e0a5ea1340cc6b1d6a82c06c0a9c60b9898b6ae98700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-main-0-419-201.txt b/zebra-test/src/vectors/block-main-0-419-201.txt new file mode 100644 index 00000000000..3fa1037e602 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-419-201.txt @@ -0,0 +1 @@ +04000000f3e4b99dcc172c5be046ec96be8b0229bf261ef2c78a890d20575a0200000000b9eb0eb44a56ffd74fe632a833091fd43ee417ee3d19b81610ab67572a42c6271b42f737a61181927774bed90e5a601cd7321baef3a4511c92b77aa35b7e8d63ae6dd65b3ce4031c1f3000000000000080000c5f0000000000002400000000000000000000000000fd4005005cc6beba0674cc6446979993e42c2e56d33e0e7a240ed7a8ae9748e759363457174757ab35363c76150929e24cb40fd7ceb372b64f67defeaa9fb7bd48a832508f498ecdb370854237c5917d8d327bf958cc3c00de540932d6a883b6e240b4fa75328ce3d7d819cd1794cba36f0fd11122ce62c4ff2bc14d0709aec36c0282b04322e09b439b4591ac113115187d8ce80994478fa7c2cb9bf993c8b1751235603e072e989e88b50a89eca586775bb1ce5101a1de13f516713a5f35533047dc204660944daca38942f6606fa72a8bbf4a720c8083ee060af416dd74831e37f5d1bccc069ecf0715ff9c43ef4f02d7d34a74c6ecf5ab3d688cd180f1109718ebdacb19d0fcc1e2a15cd46dba5b1b964a724b300bf731d489658a4cb71c4556e63e65dd1f58ec4396ce151cd2b641d6f0f6445ee3dc8aa5c6b5f942461d4df16aecfb9dae89c78b04e90002e8d61eed3600631167fe088dabf69eb6ac0fe655c25aa7b555a918042e78efeb62e17020039746e37d61185dbdfd85029e7a26148ab2e3e550b4016de138a50c1e71295149f893dbf1da5280fe76192baf689b969dd67d904310de1e3cb60d1c5a903f72f4132c197a65677d8e1534026db99b2e91f9b04054d527cf764de0d41747a61610a0fb3149480d4acd432526aeacfe0847b21d6518c00bbe2b4f574ae25f061b07760fd1f00cf1099402325140c681fe054f3fa85f4f4b7b97c820ff4fd5420ccce38b596fa166792588b043e8b20cea97ea970956ed4ecbf1135f962f90a3366acd111035dced964d91476e281a05f375473a9b0b7e6072b31a981ff911bc8ca10dd342515299164374661141bea5580f8f1d949943b047f5e0b07cc63a5e64c41eb796dd72ca1b8874dad7d7a0b1c1d1747605757a52fd823d7af93815de1d8b65de11326f66c4164bea1ef021386e1402bb5e2cde43da9e84719066530fc54a7395dda07109795a65c625e773419800f7b31b82ee2790170d571145deee852620cf6decc38e6e71861d6411d6342733491f6e7eb39ddbe5c8d5424bbf1f41735aabb24e0daad5fef554edaced592675614969a63bc512a2982ba52528704d04e74d8a84eb5fe21f01637f3f40d516a5a4464262a913154988b4b3504de6eb6139530073dcde355ef98f61d43bb7a4c8f937a7dca5ff2921047dd6933f1d199d39966ae95af4f7b778ec5f65cd31689a37c3110fb3d9a437bd786ea6ae6b10bc7d41075c5eef98e5f6a7a2f291be7d60a524b510fd7b210f37a375d41a2162ea2e612a90243f409536092603131b656ce7747c19e855515d3c9b1771323334c6df5ff02cb327e69eadc21c97767ceb0c121685beec4919194dbcfc2ef6d78050c73f4661e01ed7bff875dd41d0b3f49eaa4b816faa94b1f73cd555e9e63ffc4002c6be3a80924c558ea4207729d9c2e8420017c3ee030e7d071525b11d38ba611280dc8be1fa54784ff710d73d858199ef6dfc196329e85046bd736c7b4903170e76301e4c4869ba75019a0b31cb45723df77b1f25d0125db6194b8fc3e4daacd35666af59ae9d3ee13395ae49ef92e5157ee203d5a5fe978936025dd63435f3cfe60a0ef4c7b2e3080b4ce17e07d14fdf7e34433304258fe31e037a0dd70c617fcf6aab463975c309365d16ef196dc97576c332dd3da298f5f1e9432a120b8dfea3d6cf7df95d96ee98f4d2523db19d09d82e6485fc032da51fd6852338977f73f4e8d29b33734ff4845c0d574428f0e1d67717b43349a48d9bdf7012bbdde92431a543fd9a2643c04245deaa655bd9421ce3d991ca8ca2bd4d8ba2411655958492ba0ec4641ec7360238116d23762ff31624492f52fe3e3d1a424efdcd2a485bb9c79589358c2aaeb87184f7ec7a430a0400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff1c03816506174d696e656420627920416e74506f6f6c3707205bd66daeffffffff0280b2e60e0000000017a914e0a5ea1340cc6b1d6a82c06c0a9c60b9898b6ae98765fca93b000000001976a914abe7f622bee66b2761c446167723cbc74f02756588ac000000000000000000000000000000000000000400008085202f8901ddd8ddd4a8713d9443e11f1a79adb737e974bece08608b6b04017d9b436b9399010000006a473044022004cd1a5a48b015213fa0810028d98271d219aa4a7293928dea01946f9e3db53102206837946d92757a460c8d7a2d64872890abbfa3f572cd1e8fabf5a7ca8997de26012102fa947bb7cfa50aa6e83f6296d95334d7f55cd43e9c873404f2550f6ba006d5aaffffffff00000000009465060021f65ff9ffffffff0001b40f6b0d76653bc236b045c7dd16e0e8e1a8fa6fa9f7d5120c1e7289aee78d67f9d8ae3d9707dcb30064b8f7afcc2fc1aca8918f263c58da6c7806cfad133d11fedf35174cf837149b3f2559a70055398c6ab3eba99a3335f4d360488d88266fb533abea66784d930ff8f1574eca66374d4fa559f462d65c0d8af6e7b2770dfb804f9d29388b651b2af0d9d21ad3cd6aebeeb8ecdc98b208aa027e6dcc8f27a13d643d650934faa98a809fa0c61ea3f796f96565cbee80a176a9258621ec3574ce5e7f6ceb70db4bd36f2feb983648f8405ebda405645f005f455f3dd96ea7d5081ba13a6a90cae0aebc7ec7a4589058bf67dc35c511de423d0c29d95febeaf08a32f4e123f39d4bb964d836eeaf2eb825c68c0f7ce62ab8f048f61a28998c1f0340d9660c849b86d8f639955d5d2e15458875dd547c86fd96a74c48b3eb6fc3d31ffdfa24d78afdbb0dbfa8200e87562668293bbab1ca9fc67af4f7369f0e12b6e6e07388189381b38059737ddc3322cbbfd6d1bce912d2bacdfa66f3f22835fc0f3f213e6abef8eacfaffd4c204296900e1651d1c9cbf981364629250b4bafaa5e4d1cbba21a03f6270ddbcaed684caceea5b2870a856a11835923277e5648db0d92ad60f280c7dbb1c2820000fa3117f3e1e0a08cec9f3dfeaf2b6d8d714e072b674d5dbb53420dc9cf67c8f0010665119a8200dd774f0107b17a7398706cf10eecd219f252b2d6813f4d8a672a1dca61f68c75cefb9f2ba7653bdae0b2faa6e76afe9ff62d2ecdfc72d497210517a66f2bf39f402991e5608e754c551e75bd26e7f33474b68d690d5285bd949182731fc49b43d4673aaca20d665c0d0b6ad7cced361c91b06e114e46495400738ef9d528744267fd47d3239e4548a6a3ff6e43b6ca821f32fc261f2c649674a4dc2bac93d177e0c44f4c78694f50ce374978599de6aefbd37e892de81d8d6012675f31daa75fb35bbb339754355e67ea4cf0b8c67d573af3f4f3382b3f408682a50d58767a796ca1ed3dca4227f9d107dc08c0e53134d4fa6e06792182873aa895f3373c388b0c9c7d4a2c065b6f1cd807ef3f4d7b2737eeb90ebb557c859ff17b898d350d8cffc7ca1e08dcb9baba5a336f17e6eba7a2425da8c43caefbd7fa58390e78ad083c36720336fe824983d1fa17402e89d3c224e994248c88ec2f547aeb48227705fd8a4ac3f9f30b139b4e30bb0b82af9bae87800c875c19d6fbd45a26763d056bef6899e031442185ae50a5ed24b006a852f8ce3d55b2d2d9f4179797f93bbffd8905cc9ce69cebc8a17e1e8b8eb5e1e675620c70b22de348969b993246520c00bfa467125a2528a829120b3f64d2c1f58f45cb31a1d15ba368d7df55aa65e65ad4a8f5bc63e06396d40964b3aff6084a83f567b186b1c70072dfebc8736384090400008085202f8901dc4fad0b7d55765a7f71c5f7c5ae282e1a99e5a8e301e8f12ef457d2e76ee766000000006b48304502210093810e2550eebf497a14f562047dcbe6e1abc3ec679526414b95175059bad7a502202418058b3e91d163a066ce5f1fab1337aa702f8c96fa4f9a55eb556d7655add20121034e34c2db2ebca4828e6489da7842d760b81283d4c3c42f41aa6e6af6fac11d9cfefffffffdf5011b8bc000000000001976a914004a09e6ce0af95cc7e66edef1dde5121cfe824b88ac486bc200000000001976a914a0ffb54f55b515a10aadc00d714caf6920ce968d88acfdd8c400000000001976a9142676e5fb80ff60e1771658573cc6f5e663b293d088acb4eb1d01000000001976a9140e73a42e0b45e15e272b9f146910a7ef8b9f42cf88ac9afde900000000001976a91467ae8b2dab4ab1742c45d0172f6a0ef6be7e31b088ac9e04a9000000000017a914bb17783d8dc74f30cc31a50a610499595c2a5a2b8787173b01000000001976a914f20f360711911f454aa132dd8cd57b7cbafa8fc988ac7ae4be00000000001976a91442afbba3cedc97f383c9977d0e2e7da302f6c6ef88ac99dfec00000000001976a914e1db14c03597989a7d771296ca5a695df29a39dc88ac416daf00000000001976a9149e6a74a3bda36fb7a30f12b7fcd3c93a338bfa1b88accbb1e200000000001976a9149dd94d04d9c17391732c5ae293806fddc2468ab588ac8e999800000000001976a914fe5c9de2332d366eb87579af7a4825092855524788ac18ffa000000000001976a914f3967c1502a22f8699d734d84be9ff02d9d01a2c88acbafdb900000000001976a914569d69b346fc769fdf0e2b7ee36284585738535b88ac6f96aa00000000001976a914dfab16d797390232a804384e0c03f9d7d4a1d65488accf6ace00000000001976a9144c8ebbe08cdc872d800c50791499e0a05c0d666188acc58f9500000000001976a914021467319d129de3bbb233be68b07376ed73ca5b88ac469bc200000000001976a9147dd852b6ed623576fb27dfcb597d98a31cd6cc4b88acfbe8a100000000001976a914de997b6627e3ef40580963c238ffcafb1385529488ac126ccc00000000001976a914c3e3b6133a728e1f96398908b1543a4f9c2376c588ac576be500000000001976a9143d7845a653eb5abd47e51b02c49131be26f68e0288acbdde9700000000001976a9145a0dc3086db521df6a072cc9dad6ca8ecfa1c35d88acda6fa700000000001976a914e969ff1d71d5389df5e7e827ecac1b81fc39057988ac73d99f00000000001976a914c43849303f53ce825f4cb3749c48cdd6163a4cc888ac79ff1401000000001976a914a873393df08922b9e44b62d5fa096ac12bbdd1ee88ac03f13401000000001976a914f90aabed873be5c882dd209f111be2d7b32e6e5c88ac356dc200000000001976a91405d4a6db02f9451006561f7fa8ec1ad003bcc95588ac55489600000000001976a914ef5f1bf28f814f566acf03970d72610b4357237b88ac9e979900000000001976a914c3689c63b56ee34103bc1f6efcad4c2bbb2dd58d88ac824ea500000000001976a9148ea1f6760b65d26338e96daa5433be3aa4197fbb88acedd5cc00000000001976a91435ac11862337e42f9d3fc696f9c9f4825b46237e88ac0cff9c00000000001976a9148e5c19c7ecd78e107a8a940eda2186c8308ce62788ac8233d500000000001976a914c03eed1a53f9507c99345fce165a624b7760d97788aca8c6c500000000001976a9146083e9e63aaa8ebc13209386734d912b44e0f4e788acdd212602000000001976a9142e30fe12f06dfce8b149366e71634b52bf000fc688acdfc89c00000000001976a914a6ab798d75e1a8348cdc4dfc112dffc931c66dc988ac8ad40f01000000001976a91457adfe9d06cc9017b75aa0943816966200346e0a88acb8fcba00000000001976a914b089a1e18ef78f630a11855564cecc35019d1a8a88acd985a800000000001976a914e60a747fc3bf21787e323cde9664dcafcbada5dc88ac7acfe900000000001976a914a3c9d301a19040592ba7e37c636f55f10820da2088aca2f1b000000000001976a914f8ef3f27aa640c52d778889c9ffa0f83f5e58e7688ac1a94e600000000001976a91469ab254d02e171bd201a264bf38f7bf5ad110b1f88ac5b58cb00000000001976a914fbc5ece803c1a2e8d8039f8b3af457ff8b54961588ac6874ad00000000001976a9141cc20bb7687a48bc02df12d38d9f3998255a4dcb88ac04cdae00000000001976a91492889a197ec991a08415bc531e1098a60c0214cd88accb57a600000000001976a914bba2494f856a3515d110c6e9923b9a87ae8dc0d488ace86f39010000000017a91417fe3a66913822763519d1c1535f99afb7a82490877abfa900000000001976a914e3f18a46abf5f3276858e338956223d2a8f0693f88ac2d819500000000001976a9146e33b08ca88902af3176453cee25475a6881259588ac4bdcd100000000001976a914baa07b5191d74d076e38358bb38a0000a488058a88ac1bbcb900000000001976a914e6844ad3e4f174e07f1fcb8940e60467a5bfb5c388ac27f3d000000000001976a9145f4d055c9994f481aef506df4ec3053aeb2a13b588ac86a9b500000000001976a914c7613c420159ac92c6745ddfea4a89d183a23eb088ac96561d01000000001976a9146677cf92e29b7a8050b21f2e1f95c59d352b157988acf646a400000000001976a9145dccb1e4d8073a0c1882bfb235ebb774f01b447788ac7847b700000000001976a9144359d4c64d3fb9a3865482f1009f2372fa70bd8888ac4221bb00000000001976a9140d696f283fa20108b10a31a30507eb8fad26a7ea88ac8f19b900000000001976a9140fb2503015f50ac7525e15d637e4133ba59445ff88ac0eb20e01000000001976a9142f8c52d38fc39682372d09cf8384280a26108cec88aceb880301000000001976a91496070c15b87b68f2f213b6552c3511cd43f0933d88ac0864c800000000001976a9143980ebc625ccd098b044e8c5005b462b1d3959e188ac10d89500000000001976a914aafa3c097ae7057989e4effb7e7aae4c9268b18a88ac76a6bd00000000001976a914e99444f5a6a000f83be41e9b5eec037bccb40fd188acea69aa00000000001976a914b188919a5d85120f6de754a9eb578f6fff0e3ff988ac04319600000000001976a914ca568bbaf0bcf32fbcd6414ab1a7700e0832c2c888aca1a52001000000001976a9148771c89ae440f7b0e5fe82bf72025a3f36f8f17c88ac45983201000000001976a914a24e7db1a734c0cf5cd0e8bd29ad921fb3a0a58788acfedda500000000001976a914b56a0b87628d724d75e9d2a44791567a13ff189c88ac3d95a000000000001976a9143f3ad3a3b59c44f1f61033aab30ca8a36bc5642088accc36aa00000000001976a914a72384011eb5ee9d5cf657cd16c05bf36287013588ac10b39e00000000001976a9143f2c7c8c6ca446d7591a8473990cdef18d672b6488acca929c00000000001976a9148eeade602e046dbb39999ffe685d20dc399166bb88ac3eb0aa00000000001976a914e1b8eae48bbe6d3c407dd0113dbe37943e50020b88ac7601e200000000001976a914e43ce23207af9d423d981da053212750ea20e9a588ac8b259600000000001976a9147ae2c0418051dfd73a8e4e52924ae87c8499738a88aca54be600000000001976a914f22db72cc8cfce2838ddbe3f30ec2aa279f97c2688ac0193aa00000000001976a91407fa259ab648e77bbec56465023cb38f753b10a588ac3bffa400000000001976a91412fb5984a0303e07d1c8b0a45e90a0b85ca6d21688ac2595a300000000001976a914261c72e47c43a6834cefd77c42eaf3ed89d4ccf688ac2cd4d400000000001976a914f7aa8d490bd1bad8818e947738d09debd218ca8488ac9000a200000000001976a9149a7db09d47cd50c429e09b3bf3b439177665d26a88ace35b9a00000000001976a914d0c6c939074f6b4721a71609256b64e0422ae68288acb688a500000000001976a91460d9b012d3a009d0e67c58599d9dd9e05ba43a0188ac17529500000000001976a9143d5ae542c8dfbb1731fe04e23879aa196feab6e788acafabe600000000001976a914c77baca3203a8f97cb5bda5925d78566893a272d88ac70903a01000000001976a914f16d5ada3bd7bf642664b03256b8d82603976b0888ac0c26b800000000001976a91417121f86267580e971bfb36b77b3f96237f3c3b988ac45c81801000000001976a91475749ac11183993c86af2fdc99086914a7d530ca88ac3a63aa00000000001976a91469e3735ed1905688773c48ad820404dce655048c88ac68e99300000000001976a914488bba01932d4b0666d1db1d4cfaa48003be5b5788aca68b9b00000000001976a914c254db3da28fd150f48354c7d90b957298ddb6b288ac6edc9300000000001976a91489d1b471873519cd24b5396f8ab40e4451e920f788acc8cfa500000000001976a9149760f7e0d635aa65a3228f01760830c4fe8fbb2888ac4be5e800000000001976a914cd9455967e898ee21020e986184563f67e3fb44488ac2bcc9700000000001976a914cdb1fcd4cf7751137aecb28fea65eae7447466b988ac85a2aa00000000001976a914f48d5efdf9924560eb2e2f0cc91173b39d6e291188ac8f81df00000000001976a914fc23df61d64123c5559f155f6eed14f9d8e70af088accd0da400000000001976a914a1a945dc4de49ca9a0e80287afd7a01055d58c2288ac5da70001000000001976a9140e74bdc50cf986e3310115eb72b2072d7444caa388aced3ea200000000001976a914a4ac2d4bffb43adf1cb03617f9f359a326bc354988ac99acb400000000001976a914de160d914c40605cbbadc322cf24d91048de704088ace2801e01000000001976a914799fbb1bc187992ac502b9bd1aedf71afcf5ffc888accaa8c500000000001976a9141f43e790fdddf7ddad999b446d73547265156e4288ac156ec400000000001976a91486a7b9da314b9bf5fbe0f337ac1795e214feb29488acd140c500000000001976a914380c41389b43fb577d0e4264ce79c1e99a5b86c788acd6ad9b00000000001976a9141de39773c2704002e5c1c1e809df54725932a07b88ac4f53be00000000001976a91427d2a83919b22a7321d2a223f19db25faefa4a5588ac8f269d00000000001976a91492acc5c46c20c972360c8393a85d671557b4ca8e88ac73389a00000000001976a914c6cffb16b235210c7e1a675b53d51b2f45a5f48a88ace5729f00000000001976a914b7da2be0405636b92fa80554fb6f3368091b8d9c88ac1ea03001000000001976a914e7fccfc19fdfd51d6cde95d9a748ffe05965dad988ac9c030c01000000001976a9141059fbd3ffcb76b139a69a7467d3b067b3f06e6088ac2190ce00000000001976a914525533aea0d63643cbb79e8cc024c1fd233fa89f88ac72c4ab00000000001976a914b4a5b5da99db1e80ff7771703451d5c264f3df6088ac56f3d800000000001976a914f05e5ea651d654c3834d70e2c54034518e5fb60888ace40cc700000000001976a9148d0c34d72f0fb8df42aab463a4d9f84a47020ede88ac767dbc00000000001976a914851b600fa85b1203c868f9271a2e996cd35541a788acbadb2b01000000001976a9145884d4aa986ea049e4cf6d5b36fbd1c87535c33388ac7008c900000000001976a9149aa491a51b6dc912347fd98181d1e104c210fe4088ac139bc500000000001976a9147a7da02782321a53682d04161cd3e2d3cc0802a888acaf2fc400000000001976a91495db7f8118305ce89fa4c5a56efa761272fdbe0b88aca16d9d00000000001976a9145acb10b17f9c8e60491f27cd84ef36c58710e93b88ac78639b00000000001976a91413d2a4b8ef1c0de7aca253d51f2ee7f46d931b7088ac41eaf200000000001976a914cad85f4bd21e4be39fd7f7df1d8c8f0caa84d8da88ac05f3c100000000001976a9148c2f7a0d628369706bf997605b61ec748b2d193688ac19e6ab00000000001976a9149ba3a8f54b02566e4df84f65f17573239671167b88ac505da000000000001976a9140f5da29b09ea9fee1afda4ec0925f89705a6719588acb98b9f00000000001976a9142577552672da1ecf9276daa9ca08ccb664873a4888ac71ee9b00000000001976a9149e892dc859e3974fbbb3a7bf30def0ad266d96ac88ac6dae9600000000001976a914af8ff751d2e055723ae514e4472df9d5fcdb554388ac29160201000000001976a914723abfff13205199f31c564a2d5d55c3a2f5f27e88ac92dfea00000000001976a9142a3c2c2c75eb7f25e9bad4c0eed8d82dd54ebb7c88acb4b1cc00000000001976a9146b56860f02e8017f81924ebae077818eb8df4dca88aca23f9d00000000001976a91458daffaed251269d4e697d2d28272df751eda14988ac9b329600000000001976a914352512fb4e5aed1311f663f29ec4ea5bec7beb4688accdcbbc00000000001976a914391db271d1fd1c97176318b0b5b0cfc202f539d888ac95252a06000000001976a914d390e654d0f926cc5e5fc15cb3b3eebbac567b1888acf1b79500000000001976a9144a445ea84572a0cff279efe85ff2f06d7a9f303888ac1077c000000000001976a914dae08c28c45e6ace363c8b5a99cde9582c74786d88ac03f09500000000001976a914b9654081b50d36fbe950f7b95d2a187fb7314d0688aca6caca00000000001976a91496580646005e58648a1413907cc7342bb60ea1a188ac316cc500000000001976a9149f6b9e853ccd6620e3b8d19989a5e888e555ed4c88ac00b89b00000000001976a9144dd2f3f5ee2df1c6a478416d86f568920dc2a48788ac4d72ce00000000001976a914ae4560d0e604d20a4e32a68ac848b03dac499ce188ac9f1cab00000000001976a9143c1cbd589f0206b1c473ef3ef72a1edaf98c60d488ace4213801000000001976a914956ed6f5815510da0a95078888402538594d587488ac9e43bd00000000001976a914dc47c5bdffcccb87763210e118f6ffb1c92de37b88ac4dc2a400000000001976a91465d31907e48e764943f458972dc0d07d5221be0488acbc869d00000000001976a914bbce659cb6b278d9a4fa67c2f4eb55f6f673913e88ac7442d100000000001976a914348a84b6e2b44bc14e9d9f676b6ff2cac527260888ac638a9700000000001976a914db2c5bbcfc3c3905792f0e2dae95c39b27ef8d5788ac9d36b000000000001976a914376664550aa935ec8eb5ed201dfe668363dca49688ac1c32e700000000001976a9149b32e1aec234df5feb72ef749b911ce050bc12ef88ac4ffdce00000000001976a9144b666e3fcc8f660cf198afb300cd40e98332516588acf2386708000000001976a9142289e57732a4b9bc8517a1cf62fcdca4fa63d50488ac2a323801000000001976a914a363916cdf055d7d36ed2671b06037099e620bdf88ac1fc31501000000001976a914369159cdf80e2e1bd86958dfe52efea9d25f0b9888ac788cd200000000001976a9144408040da82b80b9bdace041eba4268d8fbeace988ac2843de00000000001976a914c0bd2512daea0db489eb404566cddf37e8a33ab288acd3aff200000000001976a9148e3d7faeb2346bfdd90740e9e0a9d1570abe8ad888ac4c97c600000000001976a9144a8c844e48612f6485bc5db21766efad9042a19488ac2e2db7000000000017a914ee93a9fc09dbfb3bb949f16a2bbdfc9d2d13e3ce87adb99400000000001976a9142b6dea0a408330bb495661ef608e34890c7b46f988ac275bde00000000001976a91466f969e4add3a8c14fcca0b7371631cf2eadcb3788acc860c300000000001976a914e66751bde2352dae5efa33cc56267e81ca64369b88ac3dd89e00000000001976a9143d3bab6cdcd493bedff02cabee6ce454e57645c488ac8e74c000000000001976a914fc56723d4e17f7a261fb6e598002c9c1aee97c0f88ac38afab00000000001976a914966137d817675644310b576609eb1e14fe81db9088acbe75bb00000000001976a9144bb1d47d26f84aa62839e26c532bf15abd7601a188acc84aaf00000000001976a914cdae7b58e2383f28871462cb81854aa7053f238788accff9ae00000000001976a9145e43aa466970e3866e1100a967e3b19d430c212588acd9009b00000000001976a914aa41a134c246afbcdbc6e10aeb3205b8b15397a088acde9bbd00000000001976a914d9a15e32b0df68e4f134b142426694d0c716838288ac6d15e900000000001976a914405d1d0d343a64deb91e827af4ff8263ef21149588ac71989900000000001976a9143f289d528e8474e2266475858cd5c2d71055521a88aca4cff800000000001976a914bd039c9828aa5669f4fe24ea8fee280ec72a7c4788ac1c00ed00000000001976a914095dc9728b83da54491dbf6bd1decff1f0bc41c788ac89d4c900000000001976a9145b5e186a02b9c7de7445221ef5d77dada098c3c288ac5dcbb900000000001976a91479e7a145e3cdc0182b09067cf3bd608f792e6cf388ac303fad00000000001976a914aa94f7fb849abced596c95b88f18fd06148ffdc088ac0958a300000000001976a91412f1806662004da4364e51ffbd9bf57984ebf08088ac9b759f00000000001976a9140fd4dd9d150bb3d4a869d16780a6807692ea0bb188ac36c7a900000000001976a91485fab314e00e242ddf39bb2354a88f4046855e6b88aca6f6952a000000001976a914b46e215656edd12e62f0613af126a6cb6fcc67d888ac5f282201000000001976a914396aa9f84c5578444e17879640de579cec08493588acdc579900000000001976a914d05e2d1b433371633ba0cc51c4260b163483552b88ac669c9900000000001976a9143f677dac3e48b063c9328f66b89d7af95805369e88ac1e91f900000000001976a91460835058cfab8e5c18847bad624538a7103c0c4088acd5f42d01000000001976a9148bee7a6051604c21604b12a554b137174d32560988ac1539ad00000000001976a914cb9bf346a8c7ce27443f33b2ffe536b1fb8f68f488ac6cf8dd00000000001976a91425653cf0a0398e26fa046166b25c1c7658a2a15388ace146bd00000000001976a91454fe53b9bfdf5f8796f03a23d859bb92ef18ec4a88ac0808e100000000001976a9144cc70d3d555c00b7798bc43703b3ed7b5dde5dcd88ac96aec500000000001976a914f4a1a090192091db63598c632a245f96cea54c5288acaa0c9900000000001976a9145a9ab32c8e32142157baece1fa666e113f19b54788ac685d9900000000001976a914cd9971bde7dcc379ec9ff8bba535ffaac67e3d2688ac7e319400000000001976a914454a974c75c9cae87457e367184cec2dd7261bc888ac418ce600000000001976a9140d8914917805a548240149cee46b1dde096f894288ac1634ae00000000001976a91449b916020190370098e288431ec5abd9c2dc777288aca6509d00000000001976a9140850b0b8bfd0c997f24a283916ea365264bec56e88ac6ced1101000000001976a9141ee136fcdf47ef387a5faf03235e22a6c51c2ea288acf24c9c00000000001976a914e9941599b994a5840071b8a5eeedf55e7d3d727f88ac24fece00000000001976a91443e68fd2e041b4af0ad6e57a17c790e9aa182a1088ace435f400000000001976a9144d3e8137191b1ea1bd3d364d0500876c5c4e733b88ac015db300000000001976a914f91b4c6e473ab188471e24b4fcd3f5238355a5c588ac995ee400000000001976a914f9c6cec132e84f206a934e06bb7ca4b88a09e1f988ac4126d900000000001976a914476fd1cb2d39abac626067406d5ed2a40c8cf72188ac4d3b9b00000000001976a9141b74f1c9bc0d8a069b22622ac3438dcd9a8bcac888ac7c87a800000000001976a91476d79de01dc86b6839b0dd9a015ffdf2496781ec88acd8fd9500000000001976a91467ca4749cd88ed88abb59b7882dcdc9558fc699a88ac0624ab00000000001976a914d853720d756f4d58759a72a4aaf7cdc77f01eb2088ac45aa1c01000000001976a9146b57247d9da7895cdd01b31bd1894ada788caf0b88ac8eb69f00000000001976a914b9dca84139afe2b8f1a805569a1c4bf3721938bd88acf614a100000000001976a914bce3a9caf226bf33676ecfad34e0815e2219628d88acb6f13a01000000001976a914f45233d2069754d8edde54d632aa2ed9ed3fda2c88ac35609f00000000001976a914965302062ec0a81802bc842de8fbb79a70912f3388ace9de9300000000001976a914496bb908891a54536d26b43dc42b906f85716a2e88acdbd59f00000000001976a9149d10fba3bdd730eca27b566fcc4e5dcb44f6fe4b88ac37dcaf00000000001976a9145fbc3b95f2c43c91ed9c52b2fd299bda66c5947688ac0676d100000000001976a9140839b406c3b5cbf51fd24927921d0aa2b2a2181d88ac93a60701000000001976a914d886166462fd8bae1262c72c157d9cb2d1cd335688ac02fedc00000000001976a914ddd72eb75c796d354f34d64574b9532b161ef75c88ac3d9fb900000000001976a9149ccf5dae3079b6e02acff29f0a5382605e20c94d88ac96a9e1000000000017a9147c0c33118375e254b77dee98a1920738d8366d1e872edab800000000001976a914fe8b988f91150d5afb3aab9d977518269e9cca8588ac3c1a9400000000001976a914671a3a14b0edffbbd782ec5b60a59d3ed2cb546f88aca9e49b00000000001976a91472e53253799b38d9b109563c93bb03a19a335bcf88ac08b4cf00000000001976a9140d77848b0dbdfc8f0c1a96b685a431191b5a046788ac54d5b900000000001976a9144f7a2a615ecd256ef1f2f63d36981e19cfd4f2a088acb47ec100000000001976a914a67ccf75ad278fa47c7aed6c1b3f06eec63865d188ac2865af00000000001976a914f3ea83f4e2ea24ace180982de72c372607e4415488acb29edf00000000001976a914c54d739d9cd1a04e6966c3527e056c407cbccff288ac85c4c400000000001976a9145b451690dd5c7762fc54c5cdb06ec8443c89314188ac2119bc00000000001976a91461df2719b9d3ea1a1997166da41deef5c7488cf588aca663ce00000000001976a9141ff330d3f0647cc686b8909079841ef9bdc44fb488acd1b79e00000000001976a9147c613835b67bf82b232e89a70f6b8978b38d258a88ac21879700000000001976a914de1abe07d3e36a0603755dcdd52dffaee04982dc88ac07c93201000000001976a914ef21b4708f641a6b2f9f35605bac88f504b9edfa88ac8eb2b600000000001976a91471ec5c64eac5d211f431db065878b9741c4d46c488ac5c9ebd00000000001976a914618312144980d049f70608fc73dae40c9fbd241a88acdcceae00000000001976a914456125721e35696e9595f26d67c019d2314c10b488ace0f69900000000001976a91451a23875943c6c280b7fbe7baaa875a6da26e2a888acaa80e100000000001976a91485ca852d124a5a4e6b8d3151816c6d51f146177288ac7fd6cf00000000001976a9140b0c68e0bd0dcc9a7d7eb6c3784ef80ebe93765d88aca279c700000000001976a914c19ff98aa4fa11b524873b3b9269114b9cabb72888ac5270b700000000001976a914079cec3c645cea3f457bb018e987c7d60e6b063d88ac6696b400000000001976a9144e52180c1f8efc361e0b98f6f6c7766385f0c51788aca041a300000000001976a9148066b5dac718c9740056caff9560fa02294fd57788ac127fa200000000001976a9144be5fbc79ddc3789b4f40aa42d881a69811d1f3088ac8348b200000000001976a91477ee5422d61a8173412963d3a1291aa0b32db23988aca459bb00000000001976a914e3013dda6f40078c57e73b486f0de12e7f13bc6a88aca34a1501000000001976a914387f76f566b52e2471e0b7134068669054cb531788ac58723601000000001976a91412dd835e304918842aa152e0a45c45b9438a8b6e88ac9eccd500000000001976a914941c9399638103e35ece015bf6961fefcb473d4d88acebe5c600000000001976a9148982c61dc37e132778eb4de9be7176863b13ce2688ac14789d00000000001976a914614f6e7a56debd4b8b5bc49ca89c2a382d1693e688ac22d0a000000000001976a914c7403c830962850eed95aefe1b4d83b20b00737b88ac32b92c01000000001976a914ab55cb6c366fd1822abf164841c281b0807bcb4688ac9e12aa00000000001976a91452d6ff23d2018aa78d66f9008b3a0846c50b6f6b88ac89d59500000000001976a914ec8bdc0f05c9c194cac6c4c69ec934930d3f1b3388aca100a100000000001976a914da3432f52cfa37dffdc2a97643c29bfd51c86fe788ac6e96f300000000001976a91429b91307b66c0cbbbc782219a4745c86ed4103dc88ac9ef0b300000000001976a914a004d800b04bd9211a30512e62bfb855dca7100588ac3bac1501000000001976a9145f6e94a59ce63aa3f57ea71fe541139ccfe160ff88ac2590db00000000001976a9142bc27e8e6f15eac1a11546603f34c2bae4a9b76088ac1e0ac900000000001976a914a9ca05d98de1375cc88ba3f398863367f3e38a6e88ac8e1d9700000000001976a9147b82e0a26f71544e590e538510e2f0c014c4554688ac7bfb3401000000001976a91454e579f4ce49bb5ad001a6b3a05dd673d94d29a188acf376bf00000000001976a914c159a34229d0d062c88ab1bcddfb0381aeebbef888ac0882b300000000001976a91489a3804ace5d134fe53403f4ce58b8924cf03ebc88ac19ddd000000000001976a914094a882978d6cf986b9658503a9b39a90a14e60d88ac8eaa0a01000000001976a91430f37c85833abd7648e4219fe94f755982a1efd888acbe339a00000000001976a91487413ce7dc73c4d6824dc3f22384f58c3101a07c88acd956ef00000000001976a914a4a5ce12dc8df411982d81588688228fa6fd4a9b88acf3baca00000000001976a91403a5b9b8e22b5101caa91a10323d248342e3bb7888ac2289b800000000001976a914da6492058ca8498a266a32e08727ec187f0581ed88acb6c83801000000001976a9143c2e9f467c5b95e9ac9ada4ed01999c3aea7348988ac9e103201000000001976a9144611c5efb76c89ab8a59cfcacdec07ae587ded2288acd5ddfa00000000001976a9147a09e374305f5a4241ca3fa9e179e4dc44514c7388acb30cad00000000001976a91424f1532dcc8d8274eeded9a2f1a6b3302cedd78488acbdf19900000000001976a9142db9a9f349295f184cb5e0b1fe23376b0f0a47c288acd5c2ac00000000001976a9144c6900afdc3f2795fb31dd4ff2fe2f362c06159988acdf18d500000000001976a9142b1c591c09d99eb1099394192f9c4086f014de5188aca83a3801000000001976a9142e45ed5447adcceed679aecb26b87294d776594288ac768ecd00000000001976a914fcb5f6edcd9f6d560ba2bfd235a17392fdfd259b88ace699be00000000001976a914338cd8790cb29f37bd5f8a2977f352844cb2b6c688ac0bc69f00000000001976a914c5ba94d228866007d9d81856f0b5f65d199021c888ac82932401000000001976a914e6ab7e871ca93a00109e5abfc037f81b3f03529b88ac5137a600000000001976a914ac694c9341c3b2565930ae0efe38008e22c9946c88ac94d8ac00000000001976a91420ea5e8e39caa97497c93ad0d52cacc73de76f7588ac6305ac00000000001976a91423f1e8c6921931e373693dc9e7e57703528b524688ac42932102000000001976a914f6b6e2e0bbc1cebb7caba85c03817ac8701d00d888ac69f0f100000000001976a9143a17cee69706cd4c22acab1c702bf64debd975b088ac3ad7e400000000001976a914870fad384d36b0ea79867185618c8140abfd61ed88ac7562ac00000000001976a91480df4dd347d7e59e45d0c7922c6e132fce38cfd588ac7a05c300000000001976a9145f805db8241df98d18a2bfc8770ac74eaa13ca6188acac5aba00000000001976a914bcf59adede48701a454681536e2f123e6e786e0088ac69f09300000000001976a9149d6f47ab0b478eaaa2973b79a6b42c4c183ebb5188ac1c592301000000001976a914da1cb72524725ca3fadfd07e053846af053dee5088acba40b400000000001976a914cf4a160bad9610f18e4bee7192a547d870bfdb2488aca6f72f01000000001976a9143f6c2c95acaeb42fc180d859c6c7b35520757ce888ace666c500000000001976a91407325eed7eb2b5e4f414519513a5e8dfed69361288ac6845df00000000001976a914d31977098e4f4ad22b29508fe4c6f57f640758b788ac87cda800000000001976a9140a4970b3b64cca96dc9799e4dfd7995a0d14bb5788acd438a800000000001976a9142e49678d4f6f6e822e77251f86b162755b58124488aceafbaf00000000001976a914946e3dab0ac91b0b2d9a824e4fb5523d940eb97e88acc82d4401000000001976a914287c714b1ee5d86c0ca78d400bac7308234b1d4488ac3f179d00000000001976a914609b17cb0ecce82ee5619b2aaadff20d6bdaa15588ace19ceb00000000001976a9141452742c8a9cc9f603e54961206506579fdf1f7a88acb57a9400000000001976a9142efbff37b0044e80674136a0ad3a0b1a22ff48ca88ac9acea700000000001976a914645456aa13a89898673520abcbcfb31ecc163de288acbd16f100000000001976a914d7d591bed456ddceed0a9cb1191fa002f73bd7ee88ac6056b100000000001976a9140c005a3f80defd17dd5009b7a84973853049e25e88ac2e27c300000000001976a91452136041642138ce9f7fedabe3a86cb19e23664588ac682db500000000001976a914a6a2b9a1d080661093f1942410bd8a37dfb9672988ac239ab700000000001976a9141e0802f292cecc6b4a0528e2699d915cc9b538b288ac1363d200000000001976a91444d608522db67b566d7541a2825781921a948de888acb22ca200000000001976a914b8f30a6555460ddf7b57311ee61619cc7c018d7e88ac516c1b01000000001976a914558bbf5b5966e6e21a9a31c8df5f555eaf26df9c88ac8ef3e700000000001976a91441b63878393ee8c855b977ad564974a55ffc840488acc962c700000000001976a9147ce81eb7ef7dc74c71f018caac06d39031cdce5688ace89d9800000000001976a914bde0ddbf7c4d95f39d55a2bdba96a5bd6fb7be4988ace936b600000000001976a914b9d53c57962deb5ed972e0108555ca266d5c348488ac60939d00000000001976a91473bf95832cef9f200b9566be88b199944f3b66aa88acc3d8a500000000001976a914c781b4910009317d4d5056e87ad1ca7aba0e12a088ac05723801000000001976a91453fef97c8feeff854575462ec05a7b60500189d388ac772dcb00000000001976a914f16cf0beeb5fa18d16f901de44643e65874def0388ac8e2f9b00000000001976a91436133fbbc7eb95f11a7d53a2987aefff28a231cd88ace3abc300000000001976a9142477a24d47d6120c1a1221e9742d7fcb637f0b7388ac6d6bac00000000001976a9149f2beb25878bfe651d1562494f8497495ba95cff88ac056b0301000000001976a9145d5fcdac1726a1b5c4f7ccb11c19b0f12ec858d388ac9c23b600000000001976a914ab11edc623eac6498c75448f00899dd86eff6f6988acc863c600000000001976a91436f124b302ed0ce1b66fddaf37c7193c360c897288ac12bcdc00000000001976a914f88a969adac2ff443ffb18562612734ef02e1d4088ac4fb4e700000000001976a91459f611064352ef0a94a7f5dfb339c06e8faa6e0488ace5aada00000000001976a9144b39a94f55c01fcf80ebce15a11284cd18c101e088ac7c3ea600000000001976a9140686d00b96775c46c29f79af055d7380e8697e9288aca735a100000000001976a914d00f47aa1cfdf25a78fa7deedd1e2d4288a6e7d688ac647ac800000000001976a914e79fda498b2dee9764b097e2336dfa9bc7511fd088ac7ab7a000000000001976a9140b1c818fd7e52d311c518919a99257b01224556d88ac052ede00000000001976a914480b8327fc1eef6a51aa7a62a6779046295b6e6f88ac37a9d300000000001976a9141b7527734b619bdb75667d266776a40e9bc5c17c88acd80fce00000000001976a9143d0a13d562dfd477c0fdecf5e5fa82e13657b78788ac3704bf00000000001976a9142bf6041a0166d934a795b9258ef008dde7480c5b88acecc3ad1e000000001976a914dfed7bf9ecbbe8313f00d0c395a9481667021f5b88accaad9b00000000001976a9145800f92b264551af0a46f838d0ff4cad04c8ca7e88acb2c4eb00000000001976a914672d0340a7752f2122711118455e4a406aff683d88ac0f9ca400000000001976a914504ede13fc383f164aa9d9dcc3b4bbdd16343e1388acbe77b300000000001976a9144fb0b6854e44aaf9af37b12a5072e2eb15a1d49788acba54e600000000001976a914dd7bae3a2c9c3103d574e2e89697117e2e90fc0488ac00f3b500000000001976a914d2267500f4cfdb602e581e4adddacb9ce2253a0a88acdbbe9f00000000001976a9145eb397fd84eb7aaf0f258d32aae6835a49eb328588ac1f4c1f01000000001976a9140870f110dc302c5b822c1a7fb9c37602eff2e80788ac3bc60908000000001976a91423f64b2934f7362dcd6e5eb0ddc5472c4e3ab62388acd221e300000000001976a9141345f4ad3cd51d86ad2b08ddcc540bf5c20b901388acd3faa100000000001976a91458a04ef41be046eefa688b5e621dbb52e5e9c1a688ac1a74a200000000001976a914e60229e41b335e3bac187753ce99277c2f8363a288ac81581a01000000001976a914ada30a768f8014f1ab53300991b9fdcaf18943ed88ac2727a800000000001976a91408def7269af98a1e75bd08034f8bd70c277cab7b88acaba2bb00000000001976a9145542145b7fc98fb48824d1ad79339665eb10c95588ac8e598d0f000000001976a914f80accba243877c07d6f973c0ed3fb9120d6e3dc88aca0e79d00000000001976a914dd9e11848a561bd87d88b02b012fb9dd7384b02d88aca382d200000000001976a914d811a65e867fa560f67ca330279793d3405dcbc488acc784fe00000000001976a914b6cbbca1ee5364ac47f8c97825bdae33a5ff82c088ace6a89b00000000001976a914cd93f099fd528ab21b0daf745803384d1725be0088ac7742c300000000001976a914b5a5ad45613914aa08ed32ad1a54d1651c6feec788ac5dc5a400000000001976a914315d3a4c5e9134b50ac76c7ad02dbe49bd97d50d88ac744f9d00000000001976a9144e4cb0d961f4a5c2db33b17e452fea5a08be08c388aca8cbc700000000001976a914fcf0ab0936c841fe789281bedb5e3bcf77e1125c88ac807be700000000001976a914707971c9144518ea3938575dfc2ccfb67f20a3ad88ac9532d500000000001976a914638d59f3790452077ef825d6182ecefd4a5a03a888ac3fefbc00000000001976a914f01c0e8686f161a04c586a143f3fd4cf337b7b9c88ac7a82c500000000001976a91466eb7290c11300bc335e649a363192b74053df5088ac6114bf00000000001976a914945a4f5d2e213001db71968966cdc7bda714d67388ac8efac100000000001976a91424e8a372a7af87142c6f8d61caf8f7e22cde13fb88ac97799c00000000001976a9142a332fdb5580312cbd98c27318fba27ce3f77d6a88ac4a4c9a00000000001976a914e00b7ee3e87a24555cf399f6328ceb9adfdf515888ac2540ed00000000001976a914374b1249cca5d681655299accd1dcf4b16dde2ec88ace1bead00000000001976a914285d0eba396519f832e7433bfbe182447d4d69e988ac72dba700000000001976a914a42d19bb07dee5f27b6b7916ada242af4ed21a4388ace881b900000000001976a914bee8f6aa30d0f4fd8c06caf60e809ddcda1b54a588ac23dea400000000001976a914166c2b0f1e7c0011a83761b8dd72f3dafcb37cbf88aca1d45f01000000001976a914a433c232e1292c2c909aec0be5e34c1b2be5c50288ac42bc1b01000000001976a914a2931fa4874ac735eeee8f5fd0f25e604d76457188ac5cf4c700000000001976a91442841b1b25ee16cafb7430cdda0f4e011ebe732288ac0a88c400000000001976a9140e3ace1bb7d26e2aed9b61197b7717135fa628e288accb2b9c00000000001976a9147f74bb3a50d3e82070f264b96ccac23abf03571988ace3113201000000001976a914f7e334cace148de81501f6272c31c11d499cdc8588acb602b0000000000017a914658539f8fbe1b9c1bc55e94d089ff26131164f0d87b626ad00000000001976a9147c088170ae7c2b39045b185eb3909619506fdc9f88accac0b900000000001976a914e472c4fc1f3b15a2edb0841185a3b4c11dc7c3f988ac6e46f100000000001976a914cc44845dfdf96e01c13df1745511a5376e7c53dd88ac8ef43101000000001976a914651d17e288f78ed98511663f7f27df91e04d955588ac79f5c2000000000017a9143a290e9a81298bccbd500077a2e47dac1edee75a8701b5ec00000000001976a914d4155d4f761a5777124fb1076eeb0c249d4d998788ac4f3aaa00000000001976a9149a01adc575c43c292ff09d65da71ccc46ef4523288aca2a19800000000001976a914d658d967cd39c90dbb8702458e2838954bb2a5dd88acbf90aece480000001976a9140ad84041a07b290dd467d3da2c28f05a520999b088acd76aba00000000001976a9140b9be5db93e427d7a60c868d20691108850f77e088ac451de400000000001976a9149e685efd918174b449de0da56c3765ffe416d94888ac81439e00000000001976a9142ecaa6f20c671484d682a0272edbbf5a3c6b2cd988ac98ca3901000000001976a91421150bc2f4354e0e00bbc6c55fb3516c77c2246188ac9c3e9a00000000001976a91469d654690b6e8451be669c5b5cd8efbb77bbbc6588ac2a8a0401000000001976a9143ed7246ad6f1a8d45b877d82934f99998dbeb10088ac68f5f800000000001976a914ccb40c3ee3b1b453467c8c646d2853f693c80cf588ac2542ae00000000001976a914d2334a6d77c79bc7089b38faebd55b599893993988acb0cd1201000000001976a9149bec075b4ed11415b4119d6d095bcc2472e0cee488ac8231a000000000001976a9143c5afb6284f70a8d69ae11e23c87bc2cc4c5e7ea88ac26af9b00000000001976a914fb03ea542415f8e2803592c076572ad238a53d2088ac5f85b400000000001976a9148d29fa7774e82ef73924a292181b795bafe9236488ac7f683a01000000001976a914e732c256809e6d1a2cc6c054b1418f30db0a479f88ac62800101000000001976a9148a214b7a54eef86e27e611f4318388812d97984c88ac887ab400000000001976a914b47065c764e2794850f561d647512b9d859b2f3888acb6ef9900000000001976a914ea6ebd99c464d648da30e88445f1472c7e44b40b88ac38f92601000000001976a9144d509e54c2f737d97e970f815c444ab2159ad17088acc7afae00000000001976a914a815bbbf8f9c1153093b7486e8ee50e176bb2ee188ac3db1b000000000001976a914aade14f8c7aaa5d5fd1f5a41cbc881566c92548b88ac3b44b200000000001976a914167aa56a3cf928a3e7229fc7baa7c9a204cd606288ace3379f00000000001976a9147aaca1c5d8ee5e05a575443beabec543080c654d88ac208eef00000000001976a9147294c3eaa44b0c3f278fb156502d2deac8fb2bca88ac31363701000000001976a914e3c73ce107135bc1e6d83fa8a848fe10f194120888ace66ede00000000001976a914c79eadde8849f1ec5ab9bb7f7c386051552ba22a88aca5169400000000001976a9141811ad0fef10a950885b0e71c8658bbc409fc57a88ac23fd1e01000000001976a91491898cc516d927d2299b723d14d8fbfcbe55971b88acc746ac00000000001976a914a34efb5b2dc7fef04da0daee837082cdaf05431788ac61f8c000000000001976a9148d87b893608fb1b761d15ee4b0fc4464f5948b1988acb3c7db00000000001976a9146b06b9c78fc342aecd272f81592ed06d3d1d415688ac0aecaf00000000001976a91429a2e274333fba11de682e1a9bf05ce120ed11c988ac91a03201000000001976a91404559d3889781170aa4e4704a31d6f4931bca3c488ac1011d700000000001976a9143aa785b5a9e85161a98c811eaef6977fed9f231588aca993be00000000001976a914e1ef427361285f0d9cdae14787a543ad72eaa24388ac50041701000000001976a9140555b72462acf96f97c2c19f13c937bce59ce8df88acde122401000000001976a914ac64cab99a772a07554c294827aa1718b45ced7c88ac7766b400000000001976a9147fc3860f5be9324cfeb2346cdb2561b6d0c083ad88acaaa99d00000000001976a914819ee88d0ec3b7242401ae66be0bf36978f4ceb988ac94bec700000000001976a91416046bb6f57a0a52c6d49eadb06245defc478a2888aca7de0201000000001976a9146269facd42c833e140cf429448675cbf8b727a8f88ac4f0edf00000000001976a914365502d294f7e370b69e5880cce4785228b1828f88acd9e4b000000000001976a9141cf8cfd6e6fb564edcd4e163fe394ddd9f2dadc988acb431b500000000001976a914a16e58c45b9fcf29a07751933b8ca2280dda607788ac3c27aa00000000001976a9144f19f74edb316e18f5f33373969675d41dc7cc3188ac3113c600000000001976a91495bbbd4dd6936faf02e6da2fe05a040a2767968088aca9189d00000000001976a914e3e167e30cceffad467f7653f7654aa9e92916e688acd15eee00000000001976a9149a4a06d8283546c05ee225894f1fb3434ea917db88ac1015b600000000001976a9146e189303a5f092b84c9b2866e6ed6ed40d8c645f88acb2809500000000001976a914ba85eaae3786169de13fa1ae6bf938862fa797df88aca912eb00000000001976a914323a4b68444fee3a5d08c228190b9f273f7a5e6388ac7b01a500000000001976a9143309ebd2ac68e7f7ed39db0c2f41f0636d57fabf88acc47b9e00000000001976a9144dd63294162f8c58a095a487de4d298447b6e76588ac2dd52d01000000001976a914e17db6d169279d4b84d608ab815b5ae386d4f53e88ac8b5ec200000000001976a914527168a76bfe8d083240a207501cbd8af56cfdb188ac23449f00000000001976a91418c3573d04e89117928ff36e206ec67cc2089a6f88acc5379f00000000001976a91409e27e85a2464e913046981437faf8531a42be2c88ac927ecc00000000001976a9144c818b5347224aae10b7b309611bdec80ee5146a88ac06fe9400000000001976a9145a6339b8e707ddfc221b26324183f7aae06dad5588ac0027d000000000001976a914c39b93b0a7a5d69856ef9667f7da46900ed1c70c88ac22e2b500000000001976a914c26dd03d13ca0ef2b9773f0d51f8945f1ad876b388acbeaf2801000000001976a914bd168aa82255b9757c48df35eeb50f9a8227152688ac15cfdf00000000001976a914b945c044c6f211cf368b9e8dd0966bf1d63edbdb88ac8747cd00000000001976a9145fcac6e178267a54c4f79ba38138c330eb40f24388ac102c9e00000000001976a9149814273fb4f59bb8a3d185d082f5d5ef6932be8b88ac958cd500000000001976a914e2176f3d0c9d027961f1462991473fc2bad25d1288ac8da9b200000000001976a914617486974773c50b17fa30de32f93cc57aeff35688ac561c1101000000001976a914d739a216eee9ae67b1fce7efabb7d5ce7cde01a988ac47990201000000001976a9148518e65c3f6da093f7a46df1c40fa504e6efbb9a88ac80d5c800000000001976a914a512736cbcdc9e57dfb9a3ccfa030d377f74687488ac02ed9a00000000001976a914b02eb1ee6b11de53f13bb227b176014a6bed3fd188acded1b400000000001976a9148b604e7c3981ee1000ee3de7128a1f1d2c0b7fea88acf415b100000000001976a9140ba84cbd6b39b562cdeda2d0fd811aecf7f4578388ac83f7c800000000001976a914f9010682b964ccd37dd79c6366b3db6302d667c388ac6050cd00000000001976a914bf3c6d2f6d9b8d77a9fe83aaf7c237bbdc4799d088ac9a2e2801000000001976a9145f87f27203b28b797247bdbf2411468821b12d4988aca7610301000000001976a91430a909ab37276f1b024a5f23907bbb24d78a748988acacd5b000000000001976a91438c53009b9692fa3eced088d55399795baa0ceac88ac1a5d2f01000000001976a914d83479f5533ae3863fa166cd9de1b4bc83eaf3f288ac5cf49700000000001976a914f87d91769da3458f8fd1c0734cf862197136b5e688ace68eba00000000001976a9146fa580946e8ce1452c6e2316ce52bb3ba0a13dbf88acf54b3301000000001976a9146fe8c1471c61ec44cc27ba1cd0b506c05482f30988ac560c9a00000000001976a914884aabbc08c0c474bbcebf00d08fc45b9e8dbc3a88ac51c2cf00000000001976a914023119bd8b727acd3bf90fe9060752d5d732290588ac44e49c00000000001976a914de8c6800659a96cc68ff09fad503c9780f924b7f88acfdea2f01000000001976a914f61492657ad1de92bd0dcd3b1b56bde60409eb6e88ac0970d100000000001976a914d72bbef07b52fe9d9d59bc09e4d6212eb75f9aae88ac17299e00000000001976a9142dca0708984d5753782bcf20ec957b339fea26d288ac97e3e300000000001976a914e53f89075f7ba1e7c1ff7c4d7e6147fbfccc164888ac8e03a400000000001976a914f8ee1e30b6299f40348baf934500203984fb13ee88ac4573d300000000001976a9148be2f1b3596a1b4fd36c474271fc3f7a8204e42d88ace7599a00000000001976a9148a99287bc35ce31ef0d82751ec32de783c5c9fdf88acf95fa800000000001976a914f759fafa255ba3834a7e670c7808a2e03a16fe3288acaaaac200000000001976a914736e4a4d324bae3a2617e1095008a6b79f3791a488ac3c28d500000000001976a9146d034fcc469c361eb7f325318c4f3f02c59db5a988acf360cb00000000001976a9140ecb88a7284a7d9163c6dd269e3d70108bca181388acf288d000000000001976a914f5eb78f806be0c3c2765675e48f3f48723a2530888acd972bb00000000001976a914d993c38a7a258adfd9131beeb2950c5e6e19f5e988acf45cc800000000001976a91409f46827d77f2d69965210102a75d89f5625102388ace6bc2001000000001976a9147581fd03f48fb8d0a12d8c28a572679795f5df3d88ac747cb900000000001976a9146a13876d4cb383424615e4a7c01a756e30d16e9288acca04b100000000001976a914203c969dda24b110c654536dfd25e360ce6f918788aca3422a01000000001976a914edf5aa9e268ddae78127fc0b7daffebc0908c0de88ac5f3dac00000000001976a9146472ef0934def1f102c671c1c922f7507f7c451188acfd16e100000000001976a914f298902035fe1bba1e082dd0eb59022931810c4988ac756506009465060000000000000000000000000400008085202f890123c9a7001939273a9a6566c18aafe830e927a968969b0334324e75ff7230c188010000006a47304402205c45af53cbcff5e2e1b7341e38a8d85265c9958ec52455644c51a8e02410f8f4022005f2079d2e4e238eabff548a23b5f11447249d39ada4f9ae175faa6861bd24150121021f70b9b4677ac8e2fc07d498d922b0daece91e270d822a71e7e952a1445befa9feffffff7aecf30200000000001976a914bda6b0b260a725ee6536887b9102e16b12e405f388ac31541000000000001976a91434d1a100d7e790b3d3b9d7d215d3f0ab863e4cd388ac439b0f00000000001976a9149ed2c9de23aa131f18469f4ee42b1eaaa40ad24388acdd620200000000001976a9141df70efaf5ee23c9f2bd7cbc3fbad8473a7841fd88ac96820e00000000001976a914a9d7d7cf2a9e7dbfefba729bdaf531763bcdb43288accc9e0100000000001976a914edb042e920d4edeb05575eac735d7fc1403a0ac188acc0920100000000001976a914927e77d7545dfd494ca7b9be03a0ef178c7b4ec788acb2ed3000000000001976a91428d87590033913e5e1e6ddad642cedf42f12965f88acb4113100000000001976a91452ae88854dbfcb3eecf2b277274a627f8c677daf88ac010f0c00000000001976a91464e39c3098729a69c8f25898a99d7992fa595c6188ac047a0700000000001976a9144eeea994002f720b4fcbe59de7ff17435223025788ac77f20600000000001976a914ed1729a58d38b260dac97de023fb78a1ab59b15888acaade0d00000000001976a91439d5bf58c7e2a4f924090fbc0f3c8de629cceca888ac4ec30500000000001976a9140166ce948b855357f33d5813fbe6f777a6de531288acd9930300000000001976a914fabc131d3a6dfd2cd0ffdf82cd2eba71678db51e88ac00820300000000001976a914e2c57e6a7001cd7c3e578bd436af0844ad1651ce88ac290d0200000000001976a9149ad64c560a5b1d0a1b1b5bae75c92cbc4104a73b88ac1ddf0900000000001976a914c2e952098be3804a6a68de221f1b43f6ce91bd3088ac464a0a00000000001976a914440d9b290b194369e156149c68413813aaf5d41288ac5fd70400000000001976a914075ef89e817a562cbd5fd6a735c6bad10f1d00e988acb6740b00000000001976a91460aa53dc345a006a7d42c0c7f37c163e004f8d4788ac00af0300000000001976a9142e47f1b6896950b7a379fe3716a83b864e0f5d3d88aca88c0100000000001976a914fb5cbaa77db36f75b02b3221566cfc337eedcef688ac51152e00000000001976a914cd346e495a1825a1be2961ed238294f6db6019b288acc3a60400000000001976a914918a9d1eeadcd678117d54bd3ab08ec34145fc4088ac03920f00000000001976a914281524178ae77d18f099a0a6b19879bbdaf8f5f588ac88340300000000001976a914e5529bfc76c65c386628e07887bcdc14fb6c273e88ac8bbf0100000000001976a9147ddab511a972821892d80be6dd9e6bf516d5d9b588aca4e20300000000001976a91423247fed1db47e3e029842ad1f7909cac9a1f99088ac3dc00100000000001976a91402450625ce17b8ade5d96ad923c533b71b990be988ac434b0200000000001976a91448d9a3750a77b8b82f5fb95a405f11d342ba8f8688acaae90100000000001976a914752bc090f0055d44d7d20ac454ed911c3f813da088ac85940300000000001976a914f274773e46569b35b1ba584fccac244158e425bf88acebc70100000000001976a9142b51e9cb43dde4dd8a92d09a51199cfb3878eb1288ac764709000000000017a9148478c1ca0f689489d400edbf24ed360bfb128c3c8715810400000000001976a914cd659b2a60d65966a5ab501c1f29328dc1d6bd0888acdb730800000000001976a91436f0d5492f2ad3c4300043462465d54264fff58188acf0e90100000000001976a914e6eb386f660823bcc602262dfa6203370b6fe25588ac4d370300000000001976a9147af6b70b345d8f2f5807d8f2e936fbb8e56a525b88ace7a10981010000001976a9148510d7d8869d9cd25696bd3b402b9afb534145e388ac61ab0100000000001976a9146e8176ad3f6eb7f8075d9318fd40ec705ecf268888ac103e0200000000001976a91491fe3ebf64713d7601fa4151953d3854d7c43b9a88acb56c0200000000001976a914c48f448be80cb6042535a6de0f481356c3ea2a7d88ac670d0e00000000001976a91417e28fe7861651c12938f12ba9f8a14a7d8dfb2388ac02a50400000000001976a914fc27269fa1146050c03cc2eee5fb34067cada5be88acb5370200000000001976a914ae45b4f9c5f0bdc45961c147c0025d563f5fbd6088ac56df0d00000000001976a9148be061d98fc66d0b737a6b9ab438145576a6209e88ac5cb70300000000001976a91466b123307a9d25a152591b5881dd894e19cbc7bf88acbb671200000000001976a9148c2fb83742814f9d850b652d1f0689c18dd5b44c88ac80910100000000001976a91429f14b6088ac90287691f250a117e60bf548997688ac9ec00d00000000001976a91492dd72aea8bc0d88ab2496d4970ba4b71c26620588ac4c430200000000001976a9142b48e924f7e2d3c502b6955b959a22d012dbd3e788ac17b31200000000001976a91416eb561b28bfb15512424dc4aea1beee5f9b0d9b88ac1b1c0400000000001976a914e6db0504772a0536da23d24cb1c34742ea91b0fb88acec200300000000001976a914a90706c96920610830cba556ce080172acd1011988acf6b90100000000001976a914b95fce244c05a4d6efb5f0d66d62bbe994ee3dc688ac92d60f00000000001976a9145af09f86329b80868cd6eafbe7f661d2de90e06088ac7b0b0300000000001976a914fe53e449e287f4ee167fbb1dd67d464b2a41a2ce88ac69e90100000000001976a914d8860e4706824829bbc6078b280f033e68865dd188ac245b1200000000001976a914a9e057d5ad6abd0ddda6cb4333f9e62df419ce3588ac3dd21100000000001976a9149f21396975e597a7db0d444421c76fd2aa902c5388acc1190600000000001976a9146862af49f2382df70fec99754c38375dd69fad9288acd9e10100000000001976a914f7ab36178c81f5b1affa601459dae14759edb09988ac1b7e0400000000001976a914a84947bdf33462ce26a9583c3525068184cef6da88ac5dee0c00000000001976a91452af7cf856ef39faddd1249dc796c461ef0e3a6088acee720700000000001976a914e225fdc2595e9b1055170138fb4e96788318a82688aca8c60a00000000001976a91460c9cbaa1affa2923706e1d770a9254fdd860b8988acf18c0100000000001976a9142e7acb0d608bffefe9b141e05cb248abf75691b788acd4f90100000000001976a914b98fc09bc3c10c6cc0f7fefd3c96f67db2dd614888ac79a00100000000001976a914d10b3e32a33322d8bd307b23cb07e8beff7bf5a488acc6880c00000000001976a9145b5d69a8948047d051a7d86c9a11ecbc0df2210488ace9210300000000001976a91474eae7840a65cb87779072179b98d5f4b916b6cd88ac07f30d00000000001976a914311b458e02eecb5e521b6e4c1c7d1d0144f60c8f88ac01050500000000001976a914f8d7dbc1f964a0a09f3d281f1bc1e0de70cfb51b88acd7430b00000000001976a9145ab81b07ca7e912ee27485805c88da53a8c202c688acd7250900000000001976a914bd542261171a4d130dce36677f640bb8c8a387ba88acdf661100000000001976a9144b2a7825cbbe0dff636804feef1ca02b13c00e8488ac96c20100000000001976a914d92d26793500609e8d96d098787c022d17c0277c88ac38ff0400000000001976a9140430cdcdc382b5f9b7b4c9c84dd06539327bd2f688ac15b30100000000001976a914c0866e777e46952593da7ecf59f68242911bbcd588accaea0d00000000001976a91446a7054dbbf8c630e25b4136f6bbd16fce8ab67788ac392f0300000000001976a9145c6efcc3749a5dd6e9cb956ead46d5e5505eac0088acd2c50100000000001976a91445f92dcfb71102201b2a51e587c3d5beea2602fa88ac1baa3200000000001976a914830306eca425b9f91908126b8525d88702c17dfe88ac0b1e0700000000001976a91410301efccfb327b338d0ba9d0f531cb82daaae6588ac61770900000000001976a914740285d23ca48bde547ebda737873e9a3ac6008088ac97470200000000001976a91424da07b3d9f6fd125a5efa1332140b2dcbe4883288acef950500000000001976a9142a250cc3b03c87f5a8dd88f362e42224099875d088ac7d262f00000000001976a9140960710259fd49f43b8e4d58ed7c60ba392a3bc588ac30031800000000001976a914ff08ffa30ffc51315cf8ded41258fafd0d5ed4cb88acf2f81100000000001976a9141264e3eca894c0250c95a6a152973f1ef2e26a8c88ac24410300000000001976a91490dac5455505a40c96fad733fe1aae670367aed988ac80200200000000001976a914a114f69d19f04518032eaeb5da1889a48f3cdcef88ac42dd0100000000001976a91401cf86a965844e2257a38ecaa88108db9c7f0a9b88ac59210200000000001976a914792daf00bc585d8d30b705a6c9fef1f77c5a296488acd7401100000000001976a914c51f091f9fcf1e958dbefe351ce37e69198abd2c88ace1ce0500000000001976a914211caefcc01dca8507ed2fd489fb4a39d626f2c888ac963f0400000000001976a914af2e96e0fedfd5d2dc86302e9a0d7ea7e207fbf788ac149e0100000000001976a9143f851ec5f6f608edee8b7277045ab421122fc85188ac28f70e00000000001976a914d9e4503a79d991d50657fd5f4434010ea058c4c388acac410d00000000001976a91499fa5c0cae55888b5a2ad3f40e69a7376334c30388acb96f08000000000017a9147a308cbd68d8449e668bbf7aa7ee2065e13547c7871ade0600000000001976a914360454875351274d8e1783eac9d293923c7a210088ac2b340300000000001976a9144fc52273cd5cc8237cd5420031b00a2f21d8906388acfaa40100000000001976a9148bee9e53c88870b51e0b533f30fa20f846d5882888ac83033200000000001976a914f759fafa255ba3834a7e670c7808a2e03a16fe3288ac26ad0200000000001976a914780336814fae31b4ffe8e3bc0d5c0c07188e6cb788acc2340f00000000001976a914a7e92c63213dc571a85cddc245948a80456a269188acbda50900000000001976a9143b62a0840a82bc08ce45387bc5d8e083011fb3c688ac79c00100000000001976a914b6ac258c3b744a58518e4a1d7d318e7bbc2a036788ac27bf0200000000001976a914d97341acc339893ef641adb5903b9b0d23ac23e588acf05b0200000000001976a914736f731925e1c3b8f45b2d0c992f24cbfad8b35088ac6e0d0b00000000001976a91445886a95bf4283c80d2879ef671501e75b18b93e88ac51f50100000000001976a91442226949afaa28e59d0fdc071b3c96645c41c6d888ac16450800000000001976a914e10f187fb2d320239c4737a2ca04a2aad8ff5dae88acd2130c00000000001976a9140324d89793dd413e4c334416e424ade35038058388ac26511100000000001976a9144e89563c607c6dfa890125ad88dc425b122fab6c88ac10290600000000001976a91494dc215dd0213eda46401ab26c695d364194d3d488ac015d0300000000001976a9144b42ba26c7faa09c6c8db641446b6d4e1a3cf50988ac5e990200000000001976a9140c5793047e029b13a940ce4733df0f1f9604db1688ac49ed0c00000000001976a9147a70165ae659c1cd1c3df8dfe0dbdee493c2000588ace5a10100000000001976a914cc8e3241f6d156b906026e47e3872741d401366b88ac756506009465060000000000000000000000000400008085202f89010f7ef0fe614bf5d8589a1a31c51b4580f1c09df18dea8a1e9e4627d0c08c8005000000006b4830450221009bf72e03a2c9daf9e7007692d04323c3d9dd2cff784b91fcb883725f080d439802202ea0f4a6c415918eef1a5f60765099094b9d5a58147b707baa9ac500e93651f0012102b19570e8f2fd9570af6d40876555ac0e2b18b47d5a9b61d3af0f4fc9ac6188faffffffff000000000095650600909067ffffffffff000177173a9801b9615226b0916baf4fabeb9c5965529a5627c77c10885717e9c5821d8cad05ec6bbb9d7abb8e154da4f92ea76823a53bb03815bd7bff8b1bcfb01300ce443094a8d9999bccb23e4922e7fd07a93d6aef775127701d5d73b06bca20d6224d438fc0dc6e610fbb03715817c5ac20fea4a8d783abea7b628c6e88231b947a18af0aae430404a02352b62ef10f1eabbe2e1b18c87fafb7acf48fccdae659dcac752455a3198ea8563bf3c6875d6f793d60be4d3850593c91894b45c9a1fc37d7743590b4f304a95224d85c1a67a422344e18d3c9d8efb95383426b7026c69c90f941f6d9b836f1f59b9ab135150833546622bf9c21c01b0de839495793e6e13d6388564ece74ca19aa321516f99d58a290869d9cb7ef469261fe6a4ab47e8cce9fa145016ab840f8dc4de624d140143cce2957428d15184ece428014753f79d0ba50b1eae1af2ab2f9b2e64bef03ef56d349a22faadc64706a6722b4ace861fe4d0e5f8a871b929f2dbc5724e8d34de98d4f5d87b244904e05966351b8ef91e0b73f8687f17140aa9d35831cac03027775489a620b09732b854a9fd941fbdb63f9c77a9628c2ccede18ad5237fcb03785568d98369a3e9a8641ce22b74321e7cc4fa3b144789b97c101f087771652ade6a6b343b12476c32f5f17698c69146e4b9511d66fd56445b6fd2ab4320a150592e32bdbf09609d8b59820d58a7bcacda2a27238ae71f0817e4059bee2cb363994b035c736f3647dfdd074ba16f7b0603751bd89be6f605220148c5c31c3cfde0d08e6ab17ed8b9583fb20416a6bb1b988710eeb3ca830d61a023017735d13060a62eabc5452929a914ed322f51efdb882f0cb87dc3e4d498390dad755503c2becd594f603999e5781dc61ec947fc0f0dc0c2406db40a3dc3dc2073cf1f42b8389db86f962ebd052aa7dfead94c135df6bf14cd07ed3989b774c4845cc02347be8f3467ae6f4114b027e467554ec0c4d29eb8559ccd318d745ab9860e10d85289ae8eed293deffa8d5b3e5d89e5f0dc05d20de15347ec11a70a4face7594cc9ff5186b7b74df8924576ccfa6a9b436b97a630038b808ca6ffbf20796b21b426125d93392590103a9afdf4cb7f65f51c331d8088ce074d11a9b72a1dcb5ac7e6824155374d4d9d8e7e401593d95eefe9a15c841921aa2ba7a5c810c006e83d5f429e0f10684818764b67f014cff6da4762115d945dcd9a7c017a5ffa3f427658cb077979bb14142329cc1c6df8f2f3dce456aa41688942fd0732c3d23a167c70fda3430e2b80b6ec57862dcb9cc867c5ecc78c4499af9fb6e5bf53aeb985bd8bc56b0013e851abbc9dbadfd79c367bf1bc8611b5a69e74fc209c84c92391c33eb0d95eec85b13357ba9e36422966dd0e2d46c42821feaccb49f650ba11106bbe54030d0400008085202f8901638f9cc457643de28201721ae5118345e76a0bf489016810d9038e499e2b7c33000000006a473044022051b6c44af3b2ce1c82f9e5059ba98a60ebc079356b0d7e040993773bdb7e87e9022068cd3acf9c5077918970a7124f298de66c7e0e297a7de5137d6be8961c1c8ada012102906308728b009924b3dc85eca53fcfd39b43c279202f2e081ec0e7fb06f0830bffffffff0180380100000000001976a91446ccfd0464f14aafbdbf6f96232cbaba2efd7c9588ac0000000094650600e0b1ffffffffffff000104b1790ceb473305d3457276f64337d22ba496f33536da29a968edd874f1e101087e679c27241981efe9db1f233685f0ceb18553fa5ae8f1a6b645e460fde841fc834e155144192f71aa35b86d600f576d27f6c6b799e496094d85cd6a16a50c42c3b1b857dc8522eed7654e381053eee61b26442208b75d7a424459920fc172606d0ddec6b6b796b420fdb42f8e5393cad912e9a217795e0c11ce398e4fb3cdaa4ec75db391395c0cdf2dbebbb10f81c2059b334de087e9850fb44f1b9b54f595ee4930d986971de972ae318fa16b0eb45528e961547ab17f55b5f81a83dec5571530a9cb9fa59240f341859a1843f950892eb3c5af51282d66e64f7e30943c31f3f038fe3262f3f6a578d4952bfb35795253732663414414706c601c1346a5653935913950ca597ab41a218bb47bb9c836ef8b8eb0dc0002d0540afbf29dae8708ef424c1a10a5ccb5e20520b5ca73258bf17282859a617f178311d98e5527f8c3e12b315bfc07e2b9d665a947097a6282bed8e7598309fde937ecfeee6fea6062ea6d1bc85cbc8e4538b082f7dd2300bf83f1104779e415b078e6b6ea4336498779b54668b9e5ef703f1390ab4ae6d64f9ef259dd978fc1ad77dd00af83b3a63372e0be85242667ec8525c85f3a2df1e76334105d3c212c348e86febb66af850e9c28a3eed9b128f3a046d9c3e264e04b197d50d33bb73e82043e780ba19051ce17bf7ceb020d88e1592d3a7382a49562ed76f6b9034c3c598bfa00b3609392d1d5e13832ba70985ca466f24abd7e62b3aa1b5629e6a8c55fe2a7905f25a50352cb0b61049127a9442fa6cc248af47ae79eafd4342966333ac6fcd4ec10add2e6ae63d2956837e8253977ec6561c406840b578fa4f50afdb3378415fc3b0732c4c21d99ade381d8ae73635ba5aa04df8ef532655feab12bb2d0a4c0f41fdbb21aeda4fb82461276c7039023d3006623c22e9545ca8af2002c9a701eab349a6dbafcf8ed4e6c93888c1ab09f78bb72549160512eac7e5b0f1a4470b02dd2ee3e6e9bf0e01d60ac001f4750d4af61ae9babb578ac070b6146079de08a987322d8b56f5f7e0240a9e85a6e853f469fe3be00c37c158b341635ca376d263866ffbdc981c18f6daf8faea5809ff12055ed55aea6c8edb2ca8500c5037f9c43e88428a21187e48bbf9df30bbef3ee5adff82f67b8900cbbef50b8f698bdacc5fdae12d23e2948d415c24ea15b5b0d5114032dd3f867b01186809143f81a4e6529c8e9d72e0d86b1b4119976b27fe700f89d182c89c6a4e7f0cfbc82f29e9fafa2ffa35e26d212967c9ecec93de11cd26f743c9cce5a002e79f3848651f08db8c316d73de7bdd11624a05735f4c10f70f7fe39e128866129f4d2cc5c38d64ba6fc13ab11d2ed8f8cf61efc9c58e1b3a42aff933e72750a0400008085202f8901e6a5350ddd56da0e1f204dd3fe1f74f86e2b1d0e1c9d1362096b3f5906b85faf000000006a47304402206a6a2ae6d379699e327ff1c2601ad2beb2522c1a8ba9bae4ab301eb71cb1772a02200de8f9ea203e4ecc611a000aeea25150d5fb80e23e08ce76a4599f41d4c91dda0121031fb1a848eec72889ba8e2e675e0f79f57b83bf7032baddd45a31c68f8f19050dffffffff0148dc0300000000001976a9143ce63ade7deb6c1d9fc0b80f1d8cde94c9afa7b788ac0000000094650600f0d8ffffffffffff0001192621db0452e083d438c623eccabc55cc131645a043c063ef9ac5959b25f385d540d9ccc26716e1430e181d238fc70fe29c55bbca2a912c4a90b0ee581d0c48b384de8ce1d4b2342e2add93d89040160cd8a674db712843b436e8cf3bf2e582d1355dadc47e3b30fab1c944fd3f5137c3b9724a5fbe64cfca3063a4023470191dfdbc76eb7c00a4558a6f46ef1eb7d38839476dd170aa6f021696d3f1c8e43afd8f707403ec8b3382d8497030bcb1ffa8f7db4b02ef2cecfcbb2bbd75f805ed6025daae0efcf8067b6fa743bc14946347f60e2c499e31412b198c107554eb159aa8a808e7f2df6ecdea64503ac42d5985d4165b6b9a682079b20d5eef62ee1e03609357f1e6ec0003e82ab8f0cd004e2c9e168bfc8e53be6b7abd1c65d328e1c12806b954980b9a30ee7a8e4a1bf4a43f6c216bbe8181fc8bf8093c654232f8d95dbe066fe203d6b2ff953e0d11dfb4fa664c92918fa5badaa0784f29fef5d3cbf0452fbba5af1829c3c17feaf9b747e9b0e355de04dcd5f11e24449e26f2e2f99280bd685765c7f2c9be5df9b9a7b45fbec9eadad7f2a1a0ed137686c699eaa1ca85b8e3d7a817b4542129b0df8ff763d9302c3de486a196e6111bbef7b4ff0a30d604c754ecd3fa5df6f1abedb1cd3b45601211878b9f791137e97321cd0e5a1e0ebd57bc468154cf847901c623d4b4943230396fb7c546bccc54e63a689044546575be17bc3e98b012ae58ad465e951ab7801ee006221d0f142f0e22d081a20a477b460f90c0d51327f079bc29566d73fa9a4002bd006e20858646e00b85657a9619a6d43d779a36294be1df6d8cf758dd0c4c0ad7f96ca85b18b0caa8f6839dbdc2fcbef669c0a821c310edeb7ff4c3f903d8ed3050decde0b770f28656eaac37cc71a5aabbbecaac943fe8bf785f1a361c0340518ed10dbb53fb8ed5874fad75dff025a76511329759b7bad1998aca3fe47bbf737ced2662b912e61374d9600daee278553d852811f0e768ca4bf0d018008052f98ce3cb60874f85604981a9043a9681a527cf0a6ce4a3a3effaddf04454942c3d2469390cd1683ae6796acc530320fd5548dc82e441278968c72b07aa55eb443af2dee7bd238b9c30ac1958af0da421fcaac5ff71f4bb0b86c66ebd8306513f9c8b3650421e55685d33521fdb04c21f54456c45dc29c8634de18d85d2750e40b37b720e759704afd2e4369d04dcb3a2d20c6d4343288cf165e875dfd189212de270121a32afefa68fb7d7d7986bb0d76330936177de2f7781d10bcb3e431ccc70f20f090a4c9f907b7e57fc31794eaf94c4e510dc30ebe29ea56575ced700fda145c620454f86d3f818fc7ba5a06bfe3abfb7a2b534c1ab3e6bb439f4de714da3ecd60118c0d8f6ede10c66aba6f7a1cf296830f3b4371b7cf7d03c49470a0400008085202f8901b7451d4410264253c0155f7f053c83de2fdd99ac66c3d41bd99043a5d59e2a49000000006b483045022100a96235c5687873b3cab176cefdb02a6370def46967ebc5b5ef2574720eb485ac022009fa652ade3172fbda082cb5fb20319b64f5c212672624c46319f897963dbcfc0121028d34f2e66c886dea5bb7e9af714a927defd59be1570dc93353c3188bfc807d99ffffffff0130244c00000000001976a914527128599e4219e9f1cbe79ca90555a462c5da1b88ac0000000094650600401e1bffffffffff0001f52c8afc3598a720db7d5b4f86d90ad19aaa26bcf9128ce5dcff3fa48d3aa9299eb30778ddeea84c72e69e07a1689f3c8def3dc0a1939f0edcbe47279069d9313dd3cc8c184f2685e095037e1baef078e23c887510376a42a7e990612cd33a449f1c118e10397c6dba87ad27fd92b0908fcc2ec2663962baede36839a83db494553dbb8bd8bd3e0d2ded3adfb392e9a7fb31abe018c5e8b175bd387a7e578dee021ca846a02e24fdefa0f2b50af8494d6bbade7fa2347d6f25fc4a52798f3c48197260dfe654eab5894ce5558f2319924392f12acecb914d5b04cabbd5c4f520f7800f81968be59ac454a79046f6a7193cde870fe440d985c8cb462f0123067b9dbef4b4a905d873ae31d73046b6c3763007ae8583909d3b97ff403181f966ed5341081d41622eac1bd54c4aa5f18aa21e1a633fd1300665e9228a754aaba5cb6522dda23df606670342c9233e28bdaafa151562e6b518f4b9ab9517e2f68d646ba5d60b74d75c84a3e626a44035c0d449b8dd5b6d101a1d070a5d7392ebf646942f81973b47fec279206ceba7fd4b2cd69284e78cbc3153bf00400408bbd8a741fdf190ca6923021c66cca09c02127adeacac333e67f2418cc78f07ddcae1ca81b759c74536dd90c4532194866d1fadcf862898a6f9716cf96482b1494e3b6578bf388a3859841390cb770946dadc5c9053f5fb541de0d49b1e1973d2e9629ddf92edd1299a8acb418a15e45e963adf781f4a403baebc33c37a59c7801081748e06a1f19d34670e537a2ea0d32658a25846e6f8178638dc601a1db8fc6b83c6ca1dcbbee4fb186a38bc121904d43f91869acc1aea0722c728b3c52b1ef24e62942da68ee4d72bc7050adb7322e7ab898040728b22ff3b7add33fde608ad0d3e12b7d0e1421dd9334408c55c5e2d2e617953463fb521a7ead143c13587b005ef47008b5bcd42893fc73e19b58e072adff08449788d1aa5279235ab2edd4d2b8c5728e4b4e42927675d32bf79414565ecc842618b2dd9c54f9c24756ed8e11bbf16d28ec1a10510b785bf91be5ff488918736ac31a7970dcf3d487ca1a03916d46d59339fdfd614ffb57b78203772c680b4faff90d69341f8a7b23fa3f7893f6e22dc373faec3a330907bfdc253e1f55323588a363db0c74d3c8d6b251f4065dfe53103a71022372d1ee2f2fb3b751b65bbd253b501276503bbf798170352f9abf36fc4525d0b6b70938179801e80feb6a53b2e93cbd2897f3e011166fd0cb75fc5c53825ad9e4f03141238678fc45654e285dddb545cfe7208ebd86b495dbb7d96abc007c4f1ed405eed14e2784abdd64f04d63400df5293542b41a3387a454c0271302e64b618fa9087378dcf6e3fb07c5f88cf692abda2be15b6aa9a61db2c3230b874bcc6f551e4fe27c8beb7a14677b477000a0400008085202f890002a019f807000000001976a9148d0c5f245b326280b924942e84e84d46ffb62c9388ac10270000000000001976a91438fef011da24095f9fcaf2a8be83af8d478c753b88ac000000009465060000000000000000000000010000000000000000c067f807000000003e55eebe5c60dd6aafb9fef2fdca323e67226e64cefdf9f514ad714cdae9f6d45f929761b638f94f536985fff2b25e773b5b11cc798dccfe2edce67fe7b1a21e2c363c5285ea14e8ecdc71cb0505c014f2b82a03a70dc0d323ea2e260fc4b15e9821ad363ca35d33981a617bb7f9bccdc013d0719215ce0df9b235ac43d6734d47163e67274309197ef177cecb8bf31c4851d2f5cdf828558984401e7680646a18f8e51e7de359f3fd43c5c7b408962b3321390719d09978c73f69116680a762eab222220caeff4a484a7b88fa322392dffb795b2738b467db22f4ac50866e4e6555003c2f7e77bc415a184c1c7bb67a6649546ca7181232d0c12395995feecd660b7b78c77f68049808cac15ea079e3f12b7abe839b0ee8c80be94362c61179989f643de6f823b5b7e7426ceec93f6477ce53a271b081a8f71736dd0e8cfb6906886f4de425ebdfa2b881a8a6678d38b5b26ade9f90a37fcf0d1fbb32605d0beaa2c286692ad588084234c85da43ed4968b2a4c651d384f4e37ecad5d0bac9d12bcf179ad359a675868cba94727fd85b486fc2eeb014b86d218870ca91a05e203bd29b660131bf101cbb8c207aba49b815b8cc26a17f5be2337b56f66905cb3437983d23641b4dbcc86b938ffff1bde769f060cdb0a0ba18a16e5503d6d1d3243204d1369cacaa40fa78fa5ce3465c7dadc56a1f244f254924b61e39296e4297696abc3ccd6cd444f62d524f98fd5193acae6ed004772c64456073819170fd667da59adb8f57761e9fb268a411d9731342bc18e189e410857030e94ee722ec436ca5408770913c34f81082ba6a11d8c9a12288ca829a1f5464ff0aac3babbf44c178614c4f567dc1194b62f7c3b05fbe56200696d6f192460a1ed8ed323ece90a708d4a191039d1191d1dd0c6b090b299ef0d803d88467a49e4e60239cb73f3b99d5e61fdc0a03e0f4c0774219102ed3442d9397169aec74a6c2228d4e34f496327c2da295f3cb18b9a6b30f319122454d1f2812b662b1a0895d93f1eeb1ac64fc68e70f7d207bcd3d75b6b276aa76528d48553ea73ff4c9da23110f92df37ee1c23203f6222b205f487780282f9de7912034d9cbb098d7a11b4527f676960a84f8d49e7cd8f7d52f630fe9ab2cc18603c5bf130f9434f0d58628379ec5d642e30cf91855625aa19c694d2e800214386085e8e52659430827f6261625e55e917c2b9c71345ead7c00e11ee085b45547279ba43b1981f768313393d7a4803d86446ceac2ef7536b30bb328495785723595602e6397c3ff24f335f688a89d7d93c698b65f9eb6c25e38a342210f4caa5e90b920d4d5c45d86c4e30eb96485e6f38d6eeaaf7d8b0f4efffc746debc29a3da36a3ead8ec2c1448d0508d03908f36d54ec6053861df2ea7b5b12752f54ede9fd82be94b592922bedb0c7a6d506baab9f4d12da149e66ea0ec78a4bdf053a68e005b883e5f085a2d16adeabde4c32f5bb7fa72e5d69b31cb22c30845be39807c101f2e3309574ed3bb686a057f9edb712c480f9a9c1472f4728efc970f26a9f80ec859e30b05fcc24aebf354c9dfe05d36cffd3f0da9d0005600131493e5c0cfa667276017a6384739fc1add6756ea9b61be2fbce48d5fe52a71d1cbadb24b8d807edb0e5e8d854bbcf6ff9ab4133f70317ae688fba81944074f9b400b0e34f9a5a65dd39a4316b727ececc8e9f97b460fbe32e40445746433841441c1a21c1681881217b98add99c1f48b56878cc7538ebea3867660d09b18a93268aca85c83cb929e5fff7b2cc853665142f55aa162bf87dd02a2ac4aaaa4907de6aa6c4cb0f55265dceb54a91015ba017ec6eca19940b4b552906bb2e71b6592a33ef952fb0d7376e99161358dc322bb65de5ff2b82e6269c4c2225373e24d989fb767ef7df54249f1db5c24b5fde075f4174e89504cd6379024f69cd902b3cf35e3f409576065ffe12ab99f1250556ae2f6287ee95c9573ef86dd258e3db424cf1e0778dce41ceebe7f01f38824e0881d45fdad6389cb84eeb9b00ac37b0b8e846c938424c38cb2005c880a0017608d4ba42ae4e25dfa38b1efa0bbe27ea9f62fd0801a99ef5e4c41b75fd040cff1396c0e0b82e4ba0621ab11b887a8d83652fb547c331e70c655bcce611cf8714d9d9c799295fad12447088a5fda2ae6189d9731a018ec7f91ee38a0577c7aa3f679be13f4d715ba99adcc768c045ec2001aa41a71f177419fcde81c5cfa37bc923d702a0e75489f7600c11a0860716b0ab91a9eec161e1f518955838804c27bfab3b4db7ab67d3b561a996e59d33a7f4a6aaffc06f372f27bdb326191d9b54b05b12f0652e02f8e5eee501bf144e914cd62bbca699f732bb99a01b54019222b7d1b4ec8b321313b0120fceb63b3915eb2a8434d816c1f8f789cedabd828caecf915e210b9d5fd68acba399326382102727aafa64bdeeb48d52310a582c1078515450f4c7bad8beaed19527c8894de9519f18e691e477af010400008085202f8901f4fd4244946e8c47e02f0f2456b6dad3f2655a1b1721f8dbba0028bb408c706b000000006a473044022003a7bcbcc89e5ff85d670eeaf02773c241ac50cd6970eba21b6b8fb39732f02a0220035abdee79c0e784466194a2b6b2f8c3ee0a7fe071ab350721abb21dcd523fb90121030e789658f17ae595a336166633d3ab740e7ea9b9b1d71116201b0f08c7bb3922ffffffff00000000009565060000000000000000000000019066af090000000000000000000000003e55eebe5c60dd6aafb9fef2fdca323e67226e64cefdf9f514ad714cdae9f6d498c76a9cec1838dda0b171c0e4246f32a8c1d130ea6642e696b67a9bc4ff63dbbb67109c754b560d1639687d235afe805d37b10bb6c8fba7caf5bb176878601672e4873e41d2dc7227e7179506f7ad4e2e5d8f08510b88a0a128d9c5d3886ec2b943f23923dabc5e01f784e799b3b813ca9b95e8cd177b640ab0835b6d33fcdfdbfa8c1fa92027672680678c5bb2bf60a9c9e8e752ad88cce46ff0f16e06e957f2a0d164dfdfa4ee65713d3215ecf7a60666b40a376906abb2a4df49ae6dfb7f5bcdd95ca79d1ca9e80ede7f7d4d038e16ae3c2101cfd7f250bd6251bb85c13ee141dd731a4698048ab8f9aafed7f409deb2450a8c47956d3e188f57225f09ff936a07057795cd1bf98b79f80821b7a24461c09bf182db40fa8724f7649217fab08409796f77e4a2e7eec5113bf788808579c76b1feae5dbc68644f99ce3c3aa579b86d138207b8b35a70eaf6a3966f18af88f8e009b52a98ac82ca4bc1867430362e47c6fd69d35dfbb3433406504af888e6348bbfe5677826c3c4ab924982ba5fffb43b6ad4743f2a72b95ed518bf5ae75091619990e705e647d973d283e4cb44513311c4f57ae96a5ca4a1f81390c1ad85ff9a2fa93e77b2778be92308a189411f75f3293e4e59493c6e6511ee5d799dd93763acca5478facdd769a5c7fe35a41c6148ffbae8760bfb1904fb8b4b31cd56217f84a3bdc8e1ba6322db9eb7fe1dc52f1bdd3451e7b034ba31bb4f2b4aac0833a7f0dcd15daba098f90a2180ac62212cbc0efcbd74e2caa6814998693c3ceae0d19c99e0efac59693ad37da51ccfd3d0feb792d763ab266c16d32cbeeca3a7cb21b0ed67722e699572f8f08b6bd555322350eb0a87da894142ed4d9def8e1d144849f787128ff513e1564da478a925a9a3c142e2cb2ee0eae1c16179d6a1f0649a14b8807a27bb3d11c76d68b680e80a9d34f36fe9c46cf460b549092870c56fe242c625a76cec8dc6476ecbfdf39be1c3606cbcd7c86d908221690abe8384fda61a6d69043203c4f9bf64ac4879caaeead5cb7fc62c3d974758bea1ea9632d39ec638ab9aaf1dd106f52d1204f9f2512b7f20dda6dad6c4fab55202a720334876a1c368f65139de295aac0f7c7ed1cbbafda30a2b503f3fcd502022a530368bc6948501a7ad37351a3ba97835308ac9933e563cc88c1bab43d6632f36e853920726664bf32b52f34669b13424338fdd89b9041ca8f79602d4a4cfc94766e14f04bce0ed8e694d5e63002558e32c6d5570f88db3b2bd2d788203f333c9e39f8a194b07bade01f8cbf9c56164a0efbbb85eb915d8e29cefd5d751d9ac3a823826264c224710b092d6b565c1685da695ecc0be07a9423bef7215a1676b6f917842ef69d317287a0b0fe7f1e17ae7b3c2e4d39ba9066f4cbc07d62b801b670adcd2330c50f4cbbea5dc65baca0bcc2e8cdd7221b90a9a6e523fd8e9ceafd3c94d56b27ed724b470e5f66f71081e042e90728b3ac67b9e0155468afdfa0fa1af94f335b8dc158350f93eaa8708c64ca300152b6e1c2ae01849dcb57fb7ba5e674c7b1f4e44e173c4425cebf8e7f239180b741677d31a5e3c5c7eb9755a2b6e6070c95b1e328ba0d111e19f78c7bcad38d06c8694328965e673ef0c18abe2c63931ce31ea95c55fc26932281bca31071c18d27e1869d68dfbf7245fd96175b6fb8db26a43f9c6aaf88cea387ff943fe669ca6f3307a7264b31e1337b395ca17b892bfd47b3cae8cb334076326885d87d81265604775c74ee5d62ed545364ab8a2b80183d7a4030a41100a3310d0e0bbdba64b2e2e8f2086261fab5f3bbd9486cc32f84877f0d5417604d174c3eecbbaab38503f17ad2ef4e8492e8a3e6e3284357c40308764f243f8f334a150117aa00548042b0309c25fae90ce24dd70a0e02dd7c7c44b6b729e2b8692f377082dd4445551de53168c9411622704137d5ce516c3497b1029ac367d36daa2edcec7c1b4ba05dcf0ba496d1b701d74ea1ef7434793aa6faa0fedb4d41aeeece7b01305b495768f99a0875986f188e63b40f0ae928f9a3b1c1759b4ebec8700f303f67a9bd89939869bc08053211f520f58c86c54cf90c40281466ad5c39733c2b83ddc9bfbc2e3c10c04bdc49ca13823c706c0f721a97c94546f1a3c140d9d4bae9d8181d8644451c73bddca827f88c006f5b0b301b919d443ec651d0bea1cb6b348a9426e2939a64d5c552b0cd8c203decc6c536f874ad688d53a861967dd3ef07b8748f185058c49d3d1f41e424ca403f39dab0f5db8abcde9bbd49937719da712cb8adab0bbc40441537eeda617ab8db04ae20867835a20165a78817c9b47cf23f25c3af16355bb11dea5feb76a5b883e73db70ab5bfb6b74c866b27e5024bb0116fbacaee2b11b097352fe0c25cf8a3ff0c597ffe727d28282835edfe6a94dccf2b4d0d5554dfd9b095a175828870c00daa09 diff --git a/zebra-test/src/vectors/block-main-0-653-599.txt b/zebra-test/src/vectors/block-main-0-653-599.txt new file mode 100644 index 00000000000..f3231a41150 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-653-599.txt @@ -0,0 +1 @@ +04000000203fb431d9d3eb715b21a0f76f92b004101dda8d66e176869c5a360000000000b2668479815edf3b67a19e235693cb6557d5368ea909f230111953baac97ce0c6a1ce26f7a0f8181cb27b692aae7282e31b6655af4a923947671911b102d533d7d64f15dbbab011c0a6e00400000000000000000000000000000310000000000000000008001fe4afd40050085210e02914fb7fa8453bc6e5d99ba4dfb3507bb1145bf7e6b08398ac545654919e67b9d6b952b66e00120379ff1c341dabe780072a1bbc4b4b73f1ccbff0139e74582c6306fae44105b9bb864b488fbaa901c01c81e84d2c409f4d5407272fc21f235777d1b086648b5b74d309cf47d55fbb5c121c75471eb572ff466077e252529637f09ed1b943aee7a8bf57697fbf36f6a28b52f805e39a3685a0ac915dec336d81d372a35026f62b76243aeb44b37b10e17a1bee458196bf95e335da3c6105918c98e6736b61757b8e70ee15be2b5077df0652249f967bfcb747894b26cc25313f434d92d13331bc069331dfb3749564d60d69711029fe60a0a96f42f9edc960b5c7cc10937bad9654987108d2052ca4b7c18621c099810d6cd26f7f16fca893fc229193ace6321e57837482091e008dca311ae876da85f197fdfe40e912d0d2427c25aa47d88e0f29e99d0e300b80d2ef54edc0aad9eb0b6f05873e660ca59b85b077749694927f0c93faaa0cde9a130f4693ab4fa410766308c1ae64ddd4a67913d374aa8a85079f4b5fb082cadb126ea37b7af5b538eb9ea734784707f2e140bb1e57182e967a1628426af836b5889e29a56435b1476bbe8464b9d09fabbe9ea5adc816f093e5ed5a01c04f6b7e8dda495e373622af737f88aecf3dbd72d298a65047c120fc4f49eb6bf86cca0f604db3d6fa7033fe90bd80578839ec5711c0f2fee49908ab1af43131125382d2596afeab8084f946081e22c9ff75d7129a30aa9ea967cc9bbc504e85bd6c1d745dbde91343848f2c11dfd37f7ff81261f9fdc182200f9124ca40891eadf4b070c25b43437e4074b54a78a703eb2c61a10d4d6dd9e8be97ac723b2cd64cd3d5ef8339e8b2c36e7ea4aa218836a617301904dccb6418a36af332e475b57d35b14fdbf1fc58fa73904363ff7787d1c0190b2a7d4346715ab29319bc173813d9e97cfe7783b4e1ae7875bd053a4cca57f936708a160bcf4645d04270ce3e02bc55d766fd25656e84599278afd0fc10b90749dccda4d019867133151d0636dc2eb9f44e20e7061beb0e4aa9b66cfa657b9639b6a9ec736615d0f2bf99f4922d84961107338bc52be5d42f2d2dada2bad4ef502a5b3693dac8358f455963dcd54d62ef74608a49ccc5fc4ab4b0556a7893b82125496f4904201cd05110f31f29db0f4322933b8d8079e16fd18601c3c9c65a9c798351b6c9325fa6a6eb9edc87d4b120cd305eb89d2445b6e07f447123d6281d39510d5393ad45fb52d26dc13a135d406802f552798b2fef6ff068f7ac4a6479abbc405a1bd12193b8ce40bb86dd0121f3bcef98bd1755ed19142ce5ccb665e85dac41b0dd767cb18884fcc8731b60040c9e1ef295ddfb2562d456bb4265a20fef948c52fd5561c2288da96a07301b7088ae265b52dffaec35bac27acb26bcfdc65500c4710b02c56b2c7e96f4345cabe5984ede3f8ba871495aab55f1ec87bc727b2acba7ecf4919c4b512cd83ae8e04d4eb0eb9a311f88aa34fd042382b979b6a05040a51d33e11f3f8c28b0d74f09d7f6f27dc99232b7eb68c8e931584ce14e3013e39ada58085b894280ea625e14fd551a15ea4c4d9406b67ca611c34312715d2f4e72e5bad196f82f5b523c8bcba8436fddaad02df98f5b4982133649550d00ae5b5b897e530165c0569703197b5e663c3c247e61467e2be1683513e931282d46cfabb7e81fe4c4388f6b52f5fbde07e5a8d3010bdc96b6c0a17b8d0e4e2d63ee4419cb3b55c940d7ede91aa961ef7d7fc51b1b5951579a320b2399f148d5d34784b58752cb40193e729111d28a7f49ed114a4e9d8096c4885bbf3d7f940fcde42c8ed968c1b2a3034d6980a92af4327c34efba398f0e84cffc26c010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff1f031ff9091a4d696e656420627920416e74506f6f6c323460003d2075f6c1a5ffffffff0280b2e60e0000000017a914404a954619f431f1f4c6c1e8156caa13c5d3d03c8700ca9a3b000000001976a914abe7f622bee66b2761c446167723cbc74f02756588ac00000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-main-0-653-600.txt b/zebra-test/src/vectors/block-main-0-653-600.txt new file mode 100644 index 00000000000..f9f4bc52ead --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-653-600.txt @@ -0,0 +1 @@ +0400000074e30db550e8a870167be7177c811eab1380c8b2e6c11d4f5f5f760000000000bdec5adc5a51488a2a06b5db576c75b6b0fef6fe63c99d9ca72c3ea4da41b0e96a1ce26f7a0f8181cb27b692aae7282e31b6655af4a923947671911b102d533d8d64f15d8d20021cf322176079216200000000000000000000000000000000000000000000000000fd4005003cc9eb58cd64eeacbff0167152a2698ee47a16690d27f1536009cf29d647f2e6d5c8664dca9b32cef10255b7fa13983d9cd9df74f136e2d21193f0999a220bfd73b62c51a1c56ca623aae56d22d6ab4e59f05c0a515d07615ddeabd1d4a4c0a3a6b3bb2b191ff62a384a1230d4d31a99ebcff48bd058176600bf57a3a716ff5c30271469bf4b80f2eb4d25ddc4f31095f3613dbd2ccd88d4452fea06263fbef5183631b913047909f22089f58986b29528db908f7224eb077e386172138e13b6cfdea15d715fb39d56222555b64ff77b3a107d5dfe8b655aefa308538a80272478fd68e8060a53de8b1fab164421e480058139f47e3dadf91c8be50dec397905ca41232125726db95efb29999d7075f0376b9dc65fa94ea56c5b24214063986e8d445c4a070e9a4493aa85bc11d8c2c51264d69a75c1c05286443224e6810e5cc3d9320493254eed8219a812f28cf0003eacc3b090a18c991d3601bcbefcc60d3077161a151cb9c1b5076bd782d7816a2a0ea9b897f7756ae808a0dcb64be6c2a7f5f2b5088e6ce94e0e7a5d9c6a2f061d42ca13eb993b932689e534fdbb6e75fe03730da423f384c4f10b02b632a1507a7218e7243cc47c2db3ebb8dfec4e15c751044780cc8bd6f12a79fa04149a46d2ad8ac13a584544b2dd309fa9d295dea17b7e45af6df7a36831ba01786d58d142ca81b2965bba0a01c2925be0294bf082b2f8db3cca1917fdba37ab22b60766f15fb92b1a39a91117cc04572b37bfe5fd19ab4e348a4e6f14fe1512d6f6d3a3f0dd490e911e1f33ec14a44d74e32182a6261ec7e4b5c5865550930ddbdb88bdd5b3cbc3c3336e40a326eee27c5c38ac6184230f7e193e3af79886cffa3f6e4e1ff0d27a6942a63f19fb570bb18a91e790537a4f964a1193b85b4ba2d4655b939d26a0be08ee515fc087a69d7d788e01e70ab46915d1f7224d128577cdeef35febdd59172c1e47245ddcb9bda246f3c9135c57769cc995e0ab18e2b73771a0de41fd3c4367fb3140619671b827784f56d6db479728df6d9965be75481603a2033dcec70420cc180c6c1d4df9e9010fdde4b14179dd1a974b1576fada73d470bf4e5b27420a639e42bbd81caa5411e25100a605fd123d818181f734e7187e3daa8bc02dc34d3afe983ed307643b5dc960242af0e6f8f6ad0e64e666c06402c1249456cae35c498210223bad3615e450dec5490eaae1990347ce1ef5aceae3e9e2e31009d3af1a24e2894b07b685e2f4758a299e7f26ec73961f12506e0f57e682784555f4ca1686e9be79af10aaa93f11d67810dfb0143a577290969353f98a271b91cf6619487fdbfdad71c277240caac5ebfc97a519789b1e25b45909c8a808dc17f76242f9f4d7f0742dd2f3300a74530db0a303a781e5806dd82dbe56650546f691f8294d07bb724213b5d34c74a892798a47277db7db3ed617d58dd3c4b46727682321001c961f07ac14aba1eedd3d93c4612dafe1515d48598b81272278f9d03baf27b58f01e6da425d03ee7071dbe365087957d0335035118b4334f87b53ede17ad1ed795912ba14d96fdb3981b886c144e0437914bba7abfe761a83b7e4e4754431d52f24ecc153d159d5e1fb38ba32df01f1e0a268ff84268419dde533715cd5162c280932ff5ccac841a7079cd151b1fbbf5188dd96058412f8b93076a40075ac6525c22667fb2e8b241a3baf1317b45d04089031f8f2579a4b50cd3e43793c7d7714c509275612a5a5cfdd965cfbf0bd1e6ec4fa887c096ae1703ed1edebe53db3724aa5cdbef25f9a4fec3f232f58e818f66989ed56ed1f7ac569ec71b75b1c20faa3c12021c443240ed910d1df3e3698a07a256070a5b4b9b5293c4d7b7d87bae4d042b30f7db98722010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff2a0320f90900048d64f15d3aedf142f66df6f44cbd9b00345b202fe9fad15e6df73e633343c1660d0c5d0effffffff020065cd1d000000001976a914e0082ee3d89f84adbadaaebddd1746bb20e6d4ee88ac405973070000000017a914404a954619f431f1f4c6c1e8156caa13c5d3d03c8700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-main-0-653-601.txt b/zebra-test/src/vectors/block-main-0-653-601.txt new file mode 100644 index 00000000000..1bc0b54a93e --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-653-601.txt @@ -0,0 +1 @@ +04000000bbe9b3aa94cca761e5cbda06a212b28a322a987ab6341b3cb3eb0b020000000049fb0e104ce7af28dee4d6f2e66593f0883d4eb52c3519df2e32212d9ad9dbb62784a94eb4026365d965fad1a61fbf04f91dbfde8102a6f87b5ff54ee5622c611265f15d3f24021c00000000000000000000000000000000000061000000000000000000000181b0fd4005010da8450f48d003d70b40aeb1c0b5f8701b67f3cb0fe03542e66ccc2db34bc1d2dcca8618854cdf24e8015a9e5ba4358037c99e10ed6f4ddc3c49623f764e30612a1d12e3abedb378e45493790ef2bf59f89ac40ef79ef750c4b5a3e882363a9362110bbe8eff0a683364a23f5d9a9776f6e9982ff9eaf23f6e715be9361d1c60eaff10b7e5f23d86c5b7d81a5b379e9af0da3a0a443caa0ee5169ffe7602a6c62a57d565dedbd2034ca83bf142535d5985a266077843d0d2797f5c8f04a77c770d830535dac5d8d772f2f00693b21a836006144d870a44c57ebea510cf0d2b9050627c6345f51eb4d23a93b1fbf1fb0da4a7d0d9fcc63e97b8dfce138322478c4819ee4a2bf2ec38ecf7422683956ecc1c425d625a5e46d4f42a4696d2eb44df1eb55ee6842778a9594128d33d6888444846e7686e14861ed8402ba04655ccae4fcdb7cd12e1ebe6194d9b1471a7c1032cab79a589d95a9577c32f711c168582b96d93cf2354e758801331edeb7b83ee8fdc17a9605d1aeaf1039ee50a5d87c524948e41965724f1763f689ac9e332468c4ab8596e18f4b713d54cfa3a2bcc88ff58b2066b9c0765d4ce411739846d82bd6b99305a36dbe52b4b17afe14daa1dfc8c430ba1c7a4165f22fa61b410d3350331c77b0b2f11d21da1d53298e1b9fa448a1a13a41200ada95fa1e31313179a13d949c4d090960e18925ce9925b613a1ba4d23bd36ddec0d3fb1f9f1d05811b2f5e6c1b2ef0bc2d5172036f39a77f88710e4fb1d1da4d768d1be961772f7675a8aaab1b46332987928de315b155b7a2438fc1e2cb24e67cccf0d91a86146b91599327668ed498f9685105c400b983e4418b1f0f77322d259b96891e4cd90ad718f839781226a18dc53a22a4ddd39bc2ea07b71f76a44f97211a52cccd2ac5320d39f4ca57225cf1dca6a04dd9c1b601aeef1b46d1fda9e134c1de79b6813204d198e54719c1464248509728f2e527dde8c23e82a47f7ab057262711931c2a7c5fb77dd2dc21d9180cc2d5f9d4214c51cec214549ac4b0729ad2c4f738ceb6b5dc102818e528f68ecc1b0d7165f18f127ce50d39690ce0c028bb217b221670957877f48667d4a4b979680f2bd41a407479452840e5bc6f253e713e0f0df8fb7eeecf1c46a70fb760fc0558e8e1d0fc3a5aa95e38171caa01ff661173c9179ea14370cf213fef02ca97166b1934f99728f99d7ba9b71e55965d60431a066c1591911210e4dd2754533bad9c94c763eba5c56e2bd5d98a454fd54842161c9ef09b2579a8648b398a46d1bf79116cc308aaf30649e0f5125206de0d9b15413bbb3d196173ad74885223c97294b854cb06bb41a47b261c191baa929d36202ff61eb4a3f9c54b8dab1f1d21c331e3047a815c51953ffb53c8cfcee36ef1a03994ce02e9d03f2a81dfbc28e30897f86720be99391ddade39286a68c5f75d3fc2e805dd1058755ad9243e204108e66d0afc445414d23a75ebd3346b0982d7d9783c7576668bed3f1239fb85776af374374a483b978d08044c31d0734755992e9ad0d15c0d528044d946ed891e43bf66db95ac7d304af8a8d67a3d568a8f9b1a6e10fdcdbaba34b5e1a94ef67d9375661b657a7c42421772df1967c8884385f1e474eb25ca2a5a40960fde0a52721abe263449685a4286ffeb9d159fe61ac8c62a5724edcc28bac345ff76dcf3d71706f0f1da8be82a64ddbd0759bf0df34f04e5592ded12e4a597bf674cc423a55a21f6399c9ee5f73d548ede6d555563290c6a80c3d1765427de8bf64c3f497976452998883b29e6d16295a74e1de309584943f675a6516978e849174e1e6bd3930bc76bd4c5267ddd0fe1b933b73e4b3c0e67432ade5f05d3ab47afdf58a35e588456b375090400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff140321f9090fe4b883e5bda9e7a59ee4bb99e9b1bc4af3a45402a258ce1d000000001976a914b722782e401ed7a31135580ada74962ef32e5cd288ac405973070000000017a914404a954619f431f1f4c6c1e8156caa13c5d3d03c87a0ba8b210000000000000000000000000000000400008085202f8901102478c378d30b5dfcb2c43a3afa44d2edf12268c2aa9679d1111e76ebb815ff000000006a47304402204141578c5386f8b895dc22b47e834f11328bd26e5e408629fcd37e5a0caed2e802200e5848171cf81ff8b9679775e34f2655ae2df027fbe0b603ae0d99f1f255ec4b0121032040ff72baa56d439f8ac7779e13d34d50b150a48918b0e0e04d0f05843b2d9effffffff000000000049f90900105d65c4ffffffff0001c8c7904b8b7fca19e133d09e510f6ab7888057f2ac6f9c9421ee0a2b66d5250ad264e6c1e05988a303beb0eb609e92204d2f2647cd7a350c1834db0f33b69513975f6fc430a2a0859ef194edb3d9409f36ffd1a4a7f17aa8587a43a4a09c8317fa0a4aec324bb4d980f3d285bc455f90df35c209dccfb6f3c7e5772cf7b1feef312b51aa9edfa49c5a1d2a0a446db67d8cc9e21e99c028c6bcc353b14907d26737cc8b080cabde3b860a422bb05480617377ea017063ba898210254312dab1d96c433e79550812538f0f888f53db0698cac0d857428637e49203056cd170f1bdd305697cd58b686f76da3c41ac1f5982dc10f9c34f50d22d44d1db40499c1dca01ece0a3f2f735e06c1d1276875be7192c806ef19321c4c8344597236e31331121cefea058f7ee843297b66ed06dfbc183a35fb8f3978caccc9ce5ecae4d7b5f25a6325d8bd023cda3ece8a6bc228cb5de2ff07232a95e0ea9c1121e2fa11a80f0927f7915c6a7747e2e0afbb49be9bcaacbfe4a8eea5bfb325ad047c9cb5d7e285d79607ea0346061de224be2c2fc6a26d06f75bcbab4e9f869e496fe89a9943544826f9183f585567fc6d5b8a1f8e69acf127af402a145013525fc17c14648a6a337d6e04a2c11f2b14fb5b5060912f350095a4d6bb67ace693b85a1c59c149f98f2203a3b449208b0ebd1dc7a4d653d85eff55e86013b0c52d69c1e61821dfd9326ca4f3ad36d1bcd7a50cb4b64603db66ee03dc0e12eb464dd8fe12bba630dd030d725ef308c1d5ace54fada92f6859a39f2b1ad626b829ae02607a397078079331f9eaf71837292e20998d1068041ff47fedb8618eecef5cb3a361a6c2cc07b41e3fe14e1bababa0f28a2bf44af6f6a3145c606b42214a273bdc05381f9896bcda8ff2382e62a68ff91469e095b7471cd60bef7f7b39122d6e81f1c998591e6768ef7406af4d9da0b579bfbed18ccd15c7526e1ebe29a9bab21ca6487221ca70a93ed86a769d7c70c604a5bedf4f73cb03f42482dc8b4f076550292a83e79d6ec9bdaf7bdee87b0f5783dc7ef0d0b939b83acd0a8ab9969507737f8cc63ddeafe5c8dfaed1118f52ab4c2eeea0a4621feb4073874a8d24b5b842bd6d5be95a054b784a8fb758141cd5b113262f7a17aeaaccb6aac6a9974f8956d27e7858e2394d63415704d9806a5d87fe3fe71e550a99518d6e7ec507393667b5b5d364d679bdf2daf090554410d651e5c8770b517a62155bb163a3bda75e5e61b1982a8022b1383f0dd7c1ccfd444b9f9ce861a40082a4bd6a92c1fc78904c1fbfb635ef21c5498b96e81e88b6ee1cc331bc7fec11e0800d0a3a6cc50070007d60ad157c1b261d04f769bab6748021c45801180c6519a80bf7459e4aacb0ba8842059f8bf958ea5be537a631e1f46990cfc9d577ca98a0a0400008085202f8901d35eec04940ccaad64d231418e7873752027ccabf5e99e47d4a958c38aa80080010000006b483045022100ae9e35e81b4afe2cf0fa5d9ed243604581255d2611f8de3a621af1840e7174590220441520b310ba4f66432b386d1483dafd86fe6aa4312335c75d6c61c1438aaa9e012102169ef254a968648c37c5dcb9c21d2fdf20a562e2868029694740434080c1887affffffff0262930000000000001976a914c82010d108cd9cae71776dd6fc03a225d6d37c6a88ac2cab480c000000001976a91462e92a2bb72dadef2d9f4175081fa6e3ad69e74488ac0000000049f9090000000000000000000000000400008085202f890001ed11a110000000001976a91470bde57d56bae8712c98aee1ed2691ee9f6931a688ac0000000049f90900fd38a1100000000001555b93d88a2adb0f5ef6bc05f8670f98abf785ebff242e55f30505240406922a6a1ce26f7a0f8181cb27b692aae7282e31b6655af4a923947671911b102d533d62901c07d9fba54e44c179f5aa68780ce6f9ffdc2380c2b4a731a2c35111bc0a440a84e770cc61485c59419c8fb1106e88e0e5f546c7759da96a8462f877a1a9aa47858e1879b4a44f681a7335a82d1009150b0b4a4b4745511ac1d8ccd0f6bf40e24b774bf05bd73e543450dcf6d557af82b2399606c13a0561c87ebfe8c2ed21a20431dd275397f7e481016d3332fee170befd20c84bcd888f061373649cb11184dd72a5b10342bf27a55cf8315ffdcf561a76c800a2c32efe402822cce5763174691be8b98d2f07baa7538981038aa0056345e9e45a07508e46462dede20732e8c99903e0384362c08af3025f7e6f3e68c714f7dc545b0e546f9e3678b13c658147bffc75566b307a9fbd8689ec44fd65ace7929c98413918a432657eed477419788c1cb8eb93498f61e8ad89ad1369a96ccabce1a0724bcb57b037db8309000000c73d8cceefc17fb0a42afeb66aba42df10f15de780889149a256526c5eb35902f598b43a23b5976694df5dc9f44840140e0e940baf323897cf48845af23f010400008085202f890140ad697c66f6827cd837d2d14df97c7e15fef528b943a21b4e2c57245ff3f2ed000000006a47304402203287ac06a0e1db8e4f26f6f1b8531fc6098ddbeb48044b0197eee19fbc47fcf70220270ac16994db666615050ff08fc221970cf4cec3576ddc30351b82d734e2d45c0121029a675b0d9c44a1310452793defb6ffaf16a28708f115294442068fdf7c92eeccffffffff01a48a4300000000001976a914a031f6387890f42b0b9c959e4db89c85dc7b9a7e88ac0000000049f909006079feffffffffff0001d905fa719c250e713aadcf1f5022c153d83eb637752e86fceb9879cabc72ac054a913836edb1fd256def57677c91ec1943740fe111b722c9b25594dd96dce651b2aa8e0dd830214000473ef219e08477b68b7af5f51a032663174aa474f0b2b0d402741f1101af25bdb664e183a4e9f525371b52f4ecdecd98fc9e47fc3f8f8bb7239bf176003fbd32bdc9a2bfca4c76a716d92e84f27a2813ae862af4abc3c3d9665ac4aafc47cd1d829495312f9766ed9abe596d3cca248ecef083487f14220e6370e97cfc374b7a49cc3644ecbcc8b6b911b2abf94f174591b5d33a3e6289edc56588ff08e35114b02a3f15981888a9b9a9d1c11c0ab9c4e87417d9e61d03ffb34b743444faa50b8ac24279bafd7302285abf2bddda7c5682214e168c3e7f068fd6e3c635e8bf7797c5b38ed3c6574a882b71b832f26e25d13c3ed945c0e67eb732f05cb60cd9c89d40af0564e04845e79c0f810d60752e46e890ff5fe4f3516a47dac5c918c3f49e595fc0ecccafa20b1e8983f29ada3f9de01509751c63d0a161342d1e395ce47920504955f7e16770749c79a375cf5c06b2e30f8445e907a3e7259757966187c15d6a8d61a2c27d64ef3c3182b4810f96d178b838c8bf5b829e106857931755266e3a81c0d6effb56f7135eb37c61a41bea6d65b5fe2ad1db02b5986d7c00e221df1834922c9784c709ee8bc4eae77d51db9dafbda82a9da33b6dd616b2233f5a19c8cf93bec4c989ba52b887bae675f0b039dc446b1373bec4fee435437f8e1da376412dc182d2817e14a61387dbbbf5ba6acd687bff2e1ce9055e8edee9587844e5e976b735db4b8c6f9f58548f5c96ba1197b9c8990c166da8f05818976ba5d311ce5dd362887399b935372839c719f68a9ce176995c66bc12038565d18750fb78527ec3f98379f7dfba6797c24dca8de48e7852086571867ff8e700bd6edc7ec4dcd0990c7c43c65f671bb69fe2218d48cd68e0462bfd47f28167cc441623a9aa6b4a7361137df0064f986417d866970f793fb1f849896dbbd5d5de5a49523587a7928567d6aba1fd8dc98e368e962ae8e10361eeef462a76fb33a0e70c8b75574e524bb159c7270358f2c3e2cc17bf86db53a21453db86ac88d92a711cdce186e18c541c44cca9380e2f44ca1c71dd9fad7fb41717d5afe8501dbae625f2b80066612b4f1f13d2d40e68d4e288a163ef742593713e716da5c45ea50f89a3bac0808411b26e0bf5f1aa0e6df651c3c625727670fcd141b150a4185904442eac2739a8a6e823b8c75a96c1c823d40fa11232a54d59e94f71298a1e1f6e269bcd94915f2712f2efaae50059e65a3ee8927f4a5568087c7c6378133b85a1c51db94feeed41bd505cdf938e994140b8ebc738f1bd121203a1e04d50cf98c7a524238bc29cf62bae818788030400008085202f8900000000000049f90900102700000000000002be8aa3ae8a13b6d8bf58871d38e0eaaabc204ac94e52360adbb943205e2295416a1ce26f7a0f8181cb27b692aae7282e31b6655af4a923947671911b102d533d7369ae4d5981296dbea1905c8f74316f92ec41e44e98451cbb22b48451d121ed360b0fb7903187931286f83a9b6f311fec076826a4f4ee6ac50a4ef06099a633b2d4b735168c5b98e05dcd9c20c4591a689540847bec6bd78532b2775e1d4548ac3cab44f8a78590864e1cb93cc5718395cbd26567c5e4e09aa3d45dd2b8957d45b023cc77236bb78cef63bccbe8672512b08fce0f3493e8365b02bc13d8cc4c140ef801a58681bdafe3e399301aa25f6250ddea976eed58b0ee6b3fe11e6cdf0a571ae6be6d0a6e4e4b8b019b5990d780566712c0eb4cb5d7fbe21870ffb1067e84e906453bf2fd3d2766832ba242fd41a9575ac28e2dfc7a37f924d40546523427350f4fb3b29318d722e84a396d19a927ffb1ac546167e83d9d08006067abf028f5fffcf054433dc2815e3ad7af574a2d0533aa9d2930765d3c70efebfd0277e7d92549111a1f6080783fec785a62a1b0143159187d8262b43dd519cbb0e66a1ce26f7a0f8181cb27b692aae7282e31b6655af4a923947671911b102d533d06afabfbdac192aabb3b23b5bb5f51e2dd47270dcb6d65617472658b32c3166312a1279b1b7e7287d8dff078e9bad1d42c2c94e453057997b67e97b14caafa2cae2f3302bbdc0f371693400b9254620ceb3297440c54b4d8fab02d39f607281820b1e79b46333bb7d36a7ea27551bb94873ca84f992438daf126ff401f4295f91d0351067f984dd2c1480e23c1bb73ee76dd0441cf2f9627806df2585db66a39107f876b075127467e4b7e78a5a614327085af0bed736baa8a4e3cb6217d7cf1bf73d793316e48a5031a46321db8ce26a96141c6ecfc98eb527dffd1374a97f2d413666e1b58467e0916494c0d215195e675d1e078da511ec65d1f116cb6b9a32e0ebcb1ae17615c5ba3a1ef66143fa950e887c3a9448c00c3d372a05909042fc1aba669824755b70c27ae071dab89f1f9de78f15f425398c7b35b2ba59b7d0601656d2d8b03738a17abbbf043224272547ca13fdae7092ac8b86b4f4aac27b9cd955d8541c35d1e0237dbaa7c98ff37816bf189c783edb777641a3d6e93caa822ca83fdce93fc7f43cb88e5908772e6cd293dda806b852c61a73aac69c07c50ee92e4d0383884fcdcf82139e9b1b21887f91e3e4e80ca085b6d8fdd6d53599095156d9e12f41ea0ebef235a5c1b29d3146fed85ea2d8d80c9fd25454101bc788ffb1498758d5a8e1189bb4bd9f52671cdf74470563280d2a79ac5374b8525b80a28b0da1b1145a987325671e94eecae5438a4216e48012a0003132bd368c8dc066c31a7a6944641b04a78348a52b37a2d300364abe2b038c8fcbdf3e607f0b60ca0cd99395f5410d9a8923afdc958beb7b601ef6a0df1aa48ce0698217df1647b3a163d282172afddd55d6b7b0f4770b5cc92086b4745aa314cecdcbef46c70dc3997bb79f729026283edabd8a78c88e5a867b59a1e173a9be9aa2f7f93ad2e4c98166f2a75590d9aaa1e9b43bc40760bce88a52ce0468c790446f5cde17a3e77c7901e097ea5fc910cf4ed2d1b8221380b9bfe5b8f988afc148d60a5ab8c721569d1a169fcfa72b5191b7c32268edb4e24e3aeb880e25f25358b40c8d451019ef33ffd89a28e43a82ccc6fb135802d25ba447a889cc9fb2dc537d61a8c1d321d1add937a6f31e83c2d7ec521b64775429e81e8db82c7bb928b9ee864e056bbcf3c6e6924c1becd2d986c0a204405f2936aa21f9c37c084a46af1b6f1c32fe83303a4ea044f41d7b126d9eed55f5d60ceaf6d6b417435b8fe1b85648ed1f4787c1a904716a8686ddfc62c310cf7dbdf0ce4d22d2cf38f0bbfd7379b406e23f45d5607ca64ba65ea2fc0dbe29a84accf8aa507e3c6ea7283ec6c78aac6497216e2a6b7f17bbd93d7afa9cf143a8ceaf6f1b1e6d44d42b6351e149eb440975b8a87143dc210b80dea68e49e41e000eb1807ff5eecfce84be61c519f8b77db64df2b3ff59f0f2cfe8faf1e496159ca8af637f66e40847e318d0a2964f9faf8e1b765b94da9421bc5a2e645437cfe3bf426f0d21e217ca9badbd570556b1ecc839e26caf865af2002147462e8a3899bdfe55f76a6eacb0dbb6aa40b58bdbe7143e01c453c7525a06bc6a2d169423735a29d79ae1ad25b96c2e6bb7823188fe06ea6ef231927cf77446df70e019324ce83bef57ab9389b1429532675c6c84e45dc28d09a1482aead1b30a60e2c9ca1728c41baf5b9f063172015cc5fc6914b8a986d5f60b5525db475ba2236a3fa8f0c862652784ed58fc8aaa87ac02473115bdf2d2dc7c753bf28983983eaf4706d9d153b326cc689df008713b7d0271f1c5ab3e58b4129d26e4d3c307372e62b575c26dda69aea5a55671bd15ac4a09ac1737c4cbc7b382612a213f5831321d70acc472901300db596020400008085202f8900000000000049f909001027000000000000024709aeaa13743167aabf78eba7f358c7c99a461474d2c4c64726bcf839b811226a1ce26f7a0f8181cb27b692aae7282e31b6655af4a923947671911b102d533dabf20ee352608cea3477fe62473a1fb013402186162abce2de1d328296ce1b7d4c1bfa1af6b8d0925ad1eb1a398fafadab9036bc9c077c795e926ee9acbdbc57a3535222740cd6c72fbcc0648a288c2f71154e6b8630063cad82ef8e4dd5a6dbff247388563eebc8985a1894e447ac4287616276f0f7a0f41a0faac01328176634e68d1bd940f5241a787db043f0602a9bd4954de905e1f8d7eb23ca0b0bb9861317af17410ee048d433adac720146d8e67072f6fbe14303a82d6661245ab0c83aa2103df1117915561d73352034b49f973f5155d7f4ac14e9cfaa2da0dc6cd4e14848b5954a1d68c563dfb3bae10a9a8fac585eb328a274310932b6963f86325e5f5c707b17df6747d4f4ccbde16128040c9d5b9939bfe3568c1830178721466e4162cff214a17e4c5078ec068f62cd1a6496dc51fde4e3ff4a2bfd25d535067c70e999ee99a8af5e83bfd0a7b0814b6474ac7ece1dbad5ce1e9bf00c8a60d76a1ce26f7a0f8181cb27b692aae7282e31b6655af4a923947671911b102d533d10d3783e420f457d31d43cae2a33b0482885c07c759893626e0562aeef9afd0f02462075c267c971ed75f2c8ab95fe730b525d30400b0dc82a27fed573f9bab28f9311f9e13ff69d59b824d9db84d63c2a76fce6cf893da97f5b16ee093e62e4e2581550673c85c74e07813fafd322a885cacdfa264d54f451a43225b4ed1d83331de285dd585506ae696f2086f2815809a04fc7ca3af7eab8edb602f2ae0ba51088f3ac18712e83199f4548bfc683c10146250b33a556753673791f76e7bbb08ca18f4e4bf541c8ebcffc03519d1087a65c3a256661e1103803ff0dd3e65a8aa7e20291597662cec0b2c8cb779268cef4f4c379393f8e5ef67cea33372e7ee6b9ef8f24b753e2453e1c8e87453b1e12dfca70b3abb564623b1754832bb81ea84da7c945d055a08971f9849757ac7f5d6dfa60fcc2552910cc59cf06c056db0b027db5ec89bdf051774e7a51b9bebbd33b7eda69194f70095564af6b32213c9aa60dad88b70e9ca0b61e3ac832fc89c14a97e25eb6f65fd5645b8ffd8e6ccafa154ef290220d9cbaa032457e61ffd8734b20ff959ab00ec16591caabde72e38b1b1f1354e0835665775a45f23930c0c888b4bcd6ff443c01b0961f7a8f553d79113335e3f5f4ea8bc397660a4eab690622006a0a12bf567332ea54d13c82fdecdaabe28e93b3c9d5f609f088a49f885af35fde42912e3f35dd224eaa44d4d5d9fceeba99ac9240c88ecc4051edcbf2cb9522ae0113da1ba5b633a2ead9f74d9ef16b0503a6e94f8750ff27f621d61d85f5b0c509a24d7869f51b6eeb11e815ebc8d00f7423cbee4fce9add0e4ad58fa16da5e63a60d1a6632ce444e70723520db844546ad7d3428b647570ceb8b7e7da4520c97eb5fff0ccc88b9f7309f786debad9e7da9c7a53c43eb3f4b6e8ff0a5d19171ff0c7d720cd17904a037a229c94dd2fd363ef14a4275220a1d654527adff3b5d10dfbd79b694d5b9cd628535531bba908760b2bd7f2aa5d0bad02ed2a1ebe71e5a6c7bddf5ec4e3b9dd58b8c13266d0542ec9448921b6921d3f96bd8e3948177a41f7bff4ea43478ece39f4cb08b205c994a293b5ad8bbf411ae495d3ae92d674755783b13d607196d4c1a8d2445bb69c1185dbb622a8f67dfdc5428c3b40dd98ce6fb4fb3ede319742973f86885cea67d4809e465463b55cc12f5b1269a4c11920c6e59aee569c575027edbee8a730774804707385b77d32acc35464ddb70f107f168b6ccbf39a614b7cd7686b07cbe4a71afb7363658d4c27995380bea28c864fd778b9a41ea16a42a8216fb14cc7e810655395136ef87b141b31dae4a45a270d206e629cc2ead314f9057324882200202e0b1bbd784acae1bd5332323fc1c45dde0648e2a5bc3be899adf4ae7f0a18f5fca437ddbc9b279b3932bda7335e0b48b96446ccf799dfcd85357edd97ea4d8a060b2fde649911866a1d53a35cc18fcfb0daf24bf47f7da08371ec3de26d6d982a0d41cded7d805d80ddf8d71415b843fc8629e1f58de5a87eccbdc610b30dcdc9534db05ff22fb5221623c1ee9c6c453868c6dd566ad7b4f974e227c745582397812372b0172993a6e084a70cadd9a349b8fa4bad9d9fbecc36544b902db28aa32c589c8eebda623e1c69ed87d9f3ccf4161a3bccc1db40b4736d7a917cbeef0485d65b20d3bddf1d2626a9e640f5a20ac227831a5e99d9d6c30f62addc08f469b5c0d9ef8e7bd6704122be18ca55a7d4b88a3b529f74cc1786a3edb3be5da9a02fddb90c9bca5103be46ea585e13c077a9542f87f25d718b2bdbda6f1045bce2bc36b9edcf2a7bb219f4bf0f4cb821ca7e59c349794c9439da618bc8e73a41e11dccbe157ad875614c4caa63d886237263d807df15da11c2cc84017b9cc5314b962692d010d167e1ae215588ff118fb2bdf43c1129cf468c8637cc171a64911cf26750e7af7d3ef9f58b8bbf02db3aed64360fed3e51e540a615130774e6470223bf42482051465acb3360c437f7aaa24bfcbd85500bfd50db27a415a265286fa20cc6c30a0b6f97e976c23596b888a4546950d9cfd680724bd2f634053c1d770e298c8aba79d94e2bb44dfb678bf0e27ba307e1505ce510a80d17040605f55f703faaa4d75a6068edecf17eb04c1183e04516861a72b1621b81120f1df385fcad1a4a234675ff51939fdb9aacfb0db112d6e54a195ab442113d800bb55f3905645ef888b3d8b373e76bc38c7ffb43a43cc2d4f9f192c80625d462092b24414ad947286d7876d7119056192f6619c1042cbf07e11fe3daccb816fd0eb26cd704ae52a168d17ca84ae78a521016a3f124902e6cf0071b0e7d5bfc6a39025a5b7507b69f3da31d4b819915d783707e5a86971ae233041171a5bc39b0d43da0271cbd75e805f782d80c59ee1b3ae1ab13e94f5f2976410e622dc659951a467dad2ff12ffe66b3d9b19a99ce8618dd305073670f57152c7b412a2daca40025de65b08ff71dc40596e29fd087a28e93ffefc939d861b8083bf4ded792c35c52ebb5d02031b4bd220d94f17dc4ddd81cf241b77f1d92e370836214233bbeaff64b45882ea4652b43b255120d15f4db0f2e5f069112c8d5a143ac780f07c34c447a270f70721f1f32a84d1e0212448ddd6cd1d4f31ca961698b7d90645f8a18de4f5e57b4d3ae6d5fbd0b9e628a663be0f950870bb2007634e54d811adbd5f8f7c522fe4e0b6c244dd42d5e770c8973b25c20e8af4a0d0f7a78255264c5f41b17cc67f22174f736a01c0f72d2cbc366c5e3fddfb836a807ba01ee42b4d90138d021348120310aff97198c11c79604443dcf91893c569f7afd444d409f7138a4843c9cd34aa3d466b93943bb0550e7375e7c7cc8ec57accb22225f1316a2396e4153544f1c4d013cd1a8c56050c53010f4cd161e4a8de265880785b153cc753287c46f6096741709a5e72812378917fc4859a761559991c1dad31153a34aeda9cecbdaa1877b0192151b93238fbbb93a72dfb168c8e7d612bcf96448a1ca9a52f23675e0ae525b47a454dd7c902f74662a59ddcb5906ab168ca6cfd6b23786d3483ba8719acd371a3190a5bcfcbf85b3647f2885b3f62fcf766094af202c849fa72178e9986512f200c688a15e5cd2d22aa4c3ea8cf6bf9f6d17a45a0bcecfc4037df367fa2d3180f16e73df27f3c566ff07ce69b41e8074bdfad5a60f68a97413c40a53548f42a60b0400008085202f8900000000000049f90900102700000000000001b7976d63f0474376b04c5870c9c49eb19944ce7353a0b1b349cb6fd4a080359c6a1ce26f7a0f8181cb27b692aae7282e31b6655af4a923947671911b102d533d6fc68c5dd87b1deec326c119fd5cb7c999ef922c01d782fed9fb2cae796752b78d9084940b962039c251ac5914205bf6b36726d8c44ae5db26d3f6ddf65d2b1a812792f330fd69a9185cde39302778c25dee048aeae074ea08bc0ef7634357661cbf932d9663608bb284f2e6cfab86fa99a1f7a253788ef58dae948b31a3b973353e284a0f97e8954792f2a21ef38d8f4f05b016e7344d6a0c86be1878967d850196fd586a06e367482e1648ea9c36390ae66743a27e1399efbdd6836ec43c62289be2b20ea12f343fac7ecf0e5b8817a6e0111fcf1d965b54d1ae5ded6249bd266565c899f96df1d3f94f8604ee41dc0eeb6f2fcee71ab18ce953a4612437581321a481ebacfd115d7997c9eaaf8eee5b20b1631aa99c90217697f3d5879f3673ffd4dd8310174bc3e424c28275a441dcca3632754f9cfa42149bd2944cef08042e71fb91f67b8cbb94be952680e807b7eda7357e7bac3e7dde5e4801fa252e5ab53bfe3e3c1c9c3a21267889b5fcf821d94e943a98c968a2203e5039140bed08b2a3db9816eeb15126756270923ac044a073828e6f9f5e5d31feba32c2ff0a84d6538b354e2f64528cf5d5617d3683667c8aeee9e0fc5dde54cb5b938d0d9505ce39ffe2d26d3e3702aacd416e7e2a7ad0928dc0eedaf425f51bd79c901f39d59a7d432971c8cc58d9a32fd4ab9365f8fb925e197a81994c0a16917a51b05a0300c9ed44c2c913f4c70fb8f8ecb9e45bf7e39d6e35469eecae96accbc3b70753193716d3fe347489cce7bcf07981fc5019d017d56186338a9bf796c4d10c6fef705786d1b1ddac666826653758210a0b9a32002c6202d0cd931cbf4f339248190ebfd534e6ddb990070b5803155a1485cdfc272d87fdc5561c25d0e201abc98bd715e431606bf4094bff8f19423f60c31f25442988f2ad2c7b93efefc8776a03870c8bee8bf4cd43ca4e3931b9cd1b7e205887a924452da22025384626ed0c092d426ba702685e4c6e19be157d2abe00e29dbb8a9b66c2567045e96738280fe9cfb79cf9b61b7b8c9f176d0bff16639f71277a6ae0145bb6dce44af0b5e4e29d2b4a5b8fbc25f6b9bfe4fb53a8e87500e4ed58c37aa36dc2bb7d9874ccefd20345e74c16c9813e59dbe23a5dd3ca8d8ea70823c56508dc1d02e418e559a6c35590fd9b4cbfd4042ac78ea07e33c330fbc9e35ef81083c29f64d8b9583ef49a544d0159a12b0629ae4607bb332d00117dd4abe7098d5c314562e37eb8d3076fce401f3cfa4af1335d94a00c362e2c6176dc025877bccd94acfd769a863d90d4433750e4d0e649578ebb0d596ac1d9d67b0c946af5a74e4b1ffac5742cabccd23e424e5f2ddda30267ba68a263dafa955139b1c332e8c7edf2eb56e3972528aa6e4ffb57761f699436b18c759486d9d3ffe2223a796d507a6cd3ea5746363bba66ae0768420e89128a3a61b3c8df1e75b968e7f0d95e22ea6d690fd8b1adf735015dbd206a6fbf467cc3ef8999554d8f48b2f21c56b9d6d5cba80422d8a51bd960292fde281658f694b78e3f27c30d4311ec3748371edb2972f18a9f2d252d9e8eda7945618349e7cef49358efc1c3e6675263ed0a87f2f65f408f203ab830b8758cc2dca79b6fb990954fe2b67daac3d87b3e11c00af0eb95de9ea7f32956b25cfcf0b1538848120d0333b95cb2500720b47803256c11da2f6eefad645407dfe6b712e160b76c1c3288c43a048177243373c1c4e77743167fa586bba67acbffce2b2fea0a63149e0c62ba1cb4a36d827fd9cf6a13e44ca3cae7356a8371abd77c1305437ded09a7fa637e4c46899b6226b21c8a9240dc4675cbdb6cde19e3875282abc2933fa8837238583145a1248f8f4bec6a01d47524d5b83f64db4fe32638ffb5520f656f5a2615f2c0f72d77b35d280d0819c715c126564657176e55fdd16a5660f96c24bb05d30727c62cc69f552d887fc31097df322947b94b7d7e3e0d53bded325c52b0f6839f61462f6f2a4dbef5f717d3e9314e95434f7f7ca9c5e89c55e7c0bc8644145680a56d07433d2582ec812bdcd927ee0370d447bc71bc00b1e28a9b83a63045e613482980e9d8df71b4df8d5a1a3e60f839369d32fc4c0d33c98ec0474edc86945dfb766a6a86a7680006bad5a71e7f8f88fb8e197e176648ea8ae3e37a04f43b1c6b2f55a7777179a7e92e50a34b0118e0de77ec41adaf099403e69f28d365adfbca85b4c018f8168b415e389f79a71b7e6805ba215db9a6c37935ed3a06dd42b13bdb898f57bb699258e4d0cc30816f7bef12d8b7d538a6c8d4642a68eb771b67e4c51105058efedc0d2f2b1a52119daacd758cb66e18a27943074dd1a319530abb54c8d859ff2df7b16165773d93a314d51f10bf2dbb22d8ca668225d32e2601cd7881e51bfed19ec284ee526c4e1cc24e8dd4a2bb612e12d53fab0edcea1b9c5424abcb08e09962afc910b55a9f0c27d816d41de6fc0ce411330fa7e2f5f4be303d820e4b96a241c2e4ba5966de0fab8e52220c77ec18f753f962653d6b6bc8f4c7d6f66b867e0f9bcdd20340f0c134588a10156c625b823e1cb719de9487768d63350057b459cf78d354da48568bf3e5ffc2ef102aa883c0d91345ca5907c8444040b51c4bf84a43a46a825058316388f8bb3be234ca5ccf2acff41d8ad1df25feb45e09b02326e5fe6ab2aa2f01d19d30986b035694a1486b620da9ed8973988f688e99c35c44edb458b810069782b330b6d15a365dff93f332c68ba92241208558b60757add7ee30002518aa5db3964576a4268946337bd28b007dd4d59e02910c24455db8f7ece206290b04e66c45a795ce617ce859e476e03e2f00994ae82b28df393774a476a4967c297714610ca070dc20da4984d3d7dc3c10a0c608e247a0e5681de9d49913915c36fa92d4e4c647e8a5fd6f278af12da27bc1946d7e4a1b4c1cf54f8e5ce15791ba1e5983850525cb4987d9d37de96be3a5110564a52ae9eae6cb872d519a594b969859e20244d58db538d21f3db09c80b20d2b33394b8da65146dd1025b859e7aad698c5d8d025dfe9c64e91727de847cb4a55feae3f32cb6762a6d63ce2ada31c25b15fb3e593ee261e9c0f493d81dbb01f2fb305094085adac7bac30a0b4c65f444bd22eb49b1d25fc25a6f1d7b455ccd4e1db22c2fb0cc6f2e58d20eacaefeaee1ade393e6ca48ba775f2e1bc87566b48493f9c467b7c6569c5485c41d9df904b45d06be59c64bb7bb8e8010d902a8f919bebe4aec923a9635829fb31a1449c6334598ea1efdf0e184a7a6514cb95ab2a4d600e3b40dc905b62d620161c2eb5d80285e2ff0a6c930d1c33f93c6007f82765fda7013dd43c3914988732ba14443ea979045a5802e23e15a11702d3b28e8906612a79a44635e1595119973b0ef10bc4669529e21d8a60021063ad11913049a1d680d3a6d9e881c0b2bff4d1df20c957fda2a4535de28608962fd3dde2a71ddf21c6279427640938cd7b5ab81d4e6bf3b3f3c6316be8e68ed4164ef0b536f766d055617bdd5239b631ee1719d6ee269210131267cb1ea8ce54a0e6eb786d2a6d12f3beb5479e351e182c5cd3732016a6d73e067156faf10fd38f1fec95c13dc74d547f60b702f7e19666ee0a8fffb42765be1f339abe825b4677762dd244f9b1e2bfa348cecf51efbb921cadbbff3dc932dba42f12768d59cc6433da48a2aa97c6bfea354cf8d3389baad15a1e1bf76b4ab65ced7e46a17f69209dc3f3c71e1f3c108f4182eb9dc64e8e6510ea4a1753c4f9cc2c351233751b5eb048cf929d04a77ba60677a555893fc0d7451d792f58bc6eae66949b8cc14c9a16e37dd4791ba56588c1f8792ba0bb9cf287cddf061c80f471d76628b5a8ae426011f4c51ef58f74143d97eee7bfd049de2250f986a599adc71e17903994fa78d53db2fb5a0199b93c6cf60e946a0ce6c2c77580bc32ee5adf0ff5ceffb2fe71614922b4b5b9a8ac0cf726520c27164fc9333b755d6f921d190dc4ca124bd7bc4fb21d6d5981adbdfb40aa63873665ee03b9161d0d2c9e89be563135bd115d4a7b97e1b140959a99ae2fe053b4708cc1f32b61ab9f672f3de15927b5a2cf4fbe25a767bb5d597bdc289d7dd95e8902b8af62aa89071485c207f7451036c9ec63cdcd8b9bdbd2c57a48c5e9b63e699bed0b73349cef194eb89e91b81c3dc1fb4661ebd1548d6b8a0e6b441ace8a480beb6ba963f67c48373dd4808ba2f124f1ecd279ee16bf14004b4382a238b70d1f5ce79ffc24f15377f441a0392fa3460cbe8577702b9f8af6652a23e0ca22eaeeea078091c9884e51bc3f144370930157bf042a9875fbdfa46d79e64ee750a7d09d4f13c5c50f8201aa7ac495b8977dba17626655dd1160d409bba95bd26173dacb6da6b437ee41fb667a5f48308ddbcb1eaac2fce886b48ee83063a281012ef2b82b863b9e15b19d88697168cd32d58e0e59f7172fb26ad8f94a52164dd6d7f63505ebdbae54dc3e0fc93b06ea303677681346fb3fc6566d146476ff2848126da87bed816dc5fcde9f20492f47e5e603fa61e60dd58790793a055a2c65fb60df2d15f424eba7194fbad2464b12cbb37e2bcac4a2aba8a31df0f898111e2e2649c44070d21874f7037830b7049b5dee6f1a012e53d8acc745be4af319e5090ac5049ac91dc31d8815ddd297c3ed69ebb8edaf7c65c7f6972e22e89f7962cb6d9b9a86ec3d40444790419c58f27090da46eda3b761eb6be5ed171d70b8a177f4c658c79f48b4d72a966db82ff3995b3dfe9290be7abca9130066b06c8843d8dda2a8a0571368b4786e2024a6a94513d43bf0409f20b94493a17ce6b89ac9731f69028474aad5a2d5483a19ab30ba433317c3f2c00520a339af9a62aab3dcd706dcec1185df6da415d2dbcae0689e12413b32eaf0e457b816d09d2095fdaa248cbf6ec4708caafc098173cf8757821ddc5b633efc4c6af02f092705b9937abaa760d05ba75ac784fdde956d1c0ed9541a4049f4b95fe4099e38d30a6e10d71959f7fb0eaa673b1f51242bf51696fea80706092c63457ac412622bb62965e675e17c9dd4b86b60d29a92753b85b4f4bf32767562db60ff4948ded5687206f42c024e1d004fd796dce3b0fe62362baa3133b7c760ffd721824977a555e055f4e468aa3aeb487c77dd189726edd869c6f556bb8ab43c977631fc9ec4ba331139ef8f0f8512e6b57fc5b2584984b8e852f7b30f6cd171b71f0df248aa98abe85d4b100ebd8f1d3ae0fc8b827d5fafcf4e676c3a18fd2554273db0bdda26bd8bd21b41cd4d06063d391d96a5fe1b92290b3271c80d3c3d23715bf20029226542c6b9b63a4439084d6492ee8a077335fe2adb4375123e73ff217851ca029ae41e71664066c98bf964fdf647e250f8e4d65ebdcd827cc0d6b1188fb692ad8c1b0fb065f5a08c097af2d0001be47002204520159bfc3da43b94049ccd311585bcf88995f677784e65baf332125f421f81270aa9938f0091a4842b5ab815490a6709527382b8fe96eefbcccf57ff411aff5b2424e75eedb544602d70f3b21c3a37ad8bb0abef3e0b928944983b982e06e702bf278204b6d96c70c9876464ded51eda52969b56e56d84319b4b73d71edb22150e434a15dd319a5e6529f4df93b4d6565d6902c1640bfd2822d1bff8b20b452daf04f3610c3d9829babf9b3cc227a243b550207a6a9c77f69ad73e35d4cd3bcda6fdaca743b4d59c07b2cdda7eb78867cf844cb1a6de373ddfd1938ddded1a8c32b058532c6f1670640ce61bef185c898d8000796082a52b619d1d20e6d34758f6a6c3622e1c1d5d341cbafdf958b254eb8a365986cd0e8b2e5ed56a1337ed249ad2b66cd2c15f63e6b9b2ce1a9088714ad6080400008085202f8901bc5628a30d52400ab4c0f7f30015ebc6faadab99e11a167baa980da4c1c98765010000006a473044022049db68d485f33f4ab9a4df922683271de4e65b077944c037db4c4d4a7fe2ad0902206b92dcdc6f6441f7ebd1d140954c6cff9e71daa0b3b199ee5392e2e54603fc590121027f97063a1ac379d250ae44822f603801258ba6a4a4fc900bd1407f4bc1c01044feffffff02fccc0e01000000001976a914c4fbcb976ce6c41b4333a6b1a5ade917fefd753d88ac3b8a0000000000001976a9141e63dc0e9e940c981c8c9693a002c6c2740b125a88ac16f9090049f909000000000000000000000000 diff --git a/zebra-test/src/vectors/block-main-0-902-999.txt b/zebra-test/src/vectors/block-main-0-902-999.txt new file mode 100644 index 00000000000..4c1bbdeba0f --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-902-999.txt @@ -0,0 +1 @@ +040000005abdbc38cf5d7df7e4d1adfed2ab74fbc92f1212847a518221bf7d0000000000ec86169ee84d8ecb154dcb53e9b0342a581834a1d3eec352e800c595abc02604914e8b02fd17010db178285840a89c4de9b78fc2c0d6b926028b45626e1adf491032105f4d95021c2d0552c40f240c0000000000000000000000000000000000000000002e534a82fd40050019ea1bca8bf62f5384971a03e2a10b59f93c136564573e4c9ff2c095f6257665ae649e5e844b773fa9178f7b2247633e85273f58a8756bbcbb2277fa335f62c77de7d8999f35309996891fec740a2712bc1d8c0057590f0741886371af90bfc0469b48b83bfb399a13d218bb1546069112d769f6465a6b927f7eb7645409da3ea3ba28115fbde458b09afedc3b0807ff7d655534e6bafd717f33e411981fe3d4ca0639f5d86c5702f2b1a0f8069760bfb45329a6f369c252fe942f1a09bc0613132dd211905f65f7a4b4c53292073e656f0581faedcf935d61491643723bd950e5b6251db2121a3e62ac204befff445382366e391321edad13696107f2ab6ced8dc9030ea0807ff0e71de8ad817e070814cdf9f4206048977ebff7f2b07ad9ea546f18f10f29174f20948d4a7cc566e5a3e056aed9f9133249502b81dafc6b2f54fdf2c064123dbc8ad980c5566e3004336e3ff8a46ee7d40fd0829cbcee19a569b169bf1097fd8cf8102ab28e6072dc826e40d291c2d5eec20fbc03fa4660bd7b52ad311e13abc99a4369dc288322860bae2bf878dfc3d0b57fd7417122a6b83d0f71081fcec67ca34c0134f142b6e6aa1535129f531e4744e7e485b2a73a8349e50877ab54a79ecdc3df733912fd8448968ef06ea3e2d36f8bef4fdd766b133b5e21d453a2decacbf27d73a51c636c7b01be175c1b6604ba80b3e65cb694fe0f585336de397b27cd7bce6d08d9240fa65764dcf651e0bb1bad5fa868e017ae9e065c7fb969195333658661e211fb0827c5d23ea1f4217fee792554ecb5aee3626a78f4336cfd7076b3a20620b465a84fcecb4fe985456c4e53169bda3e301c3e38e3e422257dc1d890867a87cddb9e027092b06a08430da3cc5935abc581672211b980435bedbc2cb534324a792c1b766b7133f73b7a69baa9d33e16ea5f0051e6bb2909bd275ec5c04b51c86edd93a7cf0f850ec07181b695c12bb052520b17951eb95a4efe6bdc34151a3e6cfae04bf756471d9a50084e5ac43a4de83689165647d443674535041f2bd02e11f354120b1f01ea9123296610fbfe58f3b8862f605919c29b482515c323651c4b2b9930ec4223236ed8b1f010f7f4481edc87370cd79a73880737a7efc923aa418f3dfd18249ee97952228649dd5ef599245a2801f3616fc6fa03f9c7f3cc10cd98faad20a57b465ba2fb485969272bf2c1881993f813a10df63ea3b74429b494d3b51d105ad9b20fedcefb7d983966ce7939869fc517531f3fb9a69680d5f6fb65ac1574e9f06f8e012af8e4180b71389321e82d4dced6386eae695e2e21abb41d9d293d4b8c6799c226ff06247811467f71b4441de8881f6e3db41427ec35d76625669e5082698fedd5e9f3326511eafc4e6880849513a523c6aeb111ebf880db0137feb08ea69cb1c900414ec4e2f24765f2bbf9b421b784e59c949d9359c203ee13c8ebe17eab9069960aa9f42f1a91bd09c38020c04a246c4c351d82623c53858cc4ff551af359be16c75c5d133a0bf15d05c40471ab284b482a20b5b093f349ecb7922809b217b6143d1db9438c2828d1fed34be67c4c76e07a1b27eb08469c7ec0356a6fb17f89899178f68718197e35cf0b027ca3ec5b72e1e853388433f076ce92c478fc34037764f3dad67ec1a8808218d5edff3f031afc54c2060b7a91d9564ed71e38c46d6f28029745b29af0603883bc1e55a3ad615bcb7695f9dcbc67adaa5f2c6c4106e7e4851e7dc9101655fed5eda69a7f147f133c03ff8ce01d05dfd9068c019a344072711fc50fb06d119e90fd74c6ec7ab57ab402ba52b919c0fe19687b15810bec2e0daaf1c22832f9b4e27c74face93932b28e3e5e09a4eb126b8ca9638fce87eba7bb5fc22ca010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff200357c70d1b5c4c55584f525c0000000011aefd7ce8b37ca0000000000000000000000000020065cd1d000000001976a91417b04a8ede7164eccb961f46289305ec04014b6388ac405973070000000017a9141d4bb379ddd4043ae86c8b96e7183784f9eddf4987000000007fc70d000000000000000000000000 diff --git a/zebra-test/src/vectors/block-main-0-903-000.txt b/zebra-test/src/vectors/block-main-0-903-000.txt new file mode 100644 index 00000000000..dca0b59ef01 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-903-000.txt @@ -0,0 +1 @@ +040000005e0df8f48a743a77c8bb921d62942e00352940bcf463f418231b3b02000000004d95d0a16e4335f5936bc837dfeef851d5cc24af51d3204fb749b11eaa6a059b00000000000000000000000000000000000000000000000000000000000000004832105f4a95021c379ec35e00000000000000000000000000001d0000000000000000004004bc50fd400500456e36b5ab4123fded636adb48cd85992c8e48d10d45c7c26c08f786a063e67140611bb1c9af56675d11d49bbbe7922abe95e622c0a062079a1b51f382eb1220e1e2a78e737d0dc6622b0fc43fa377559da02e020dc939c7d47de9c132a095e2de2cb9a890189b541c0e4db22dcd7f41acf9b25ec538676ca4e38935960fbb5a1f294d2826c786a46de3a93261a56e713e8a11884dd0bf927003385f81756bb85244a2fa52d147046f9ee8de8141970049b3487befa231755a37e09438032662091acc1f6ba56a459d77709b28d13ec3e90dad7dff47278f254a21e2967a7f7e4610c495bfd038b01d34339a2e938fcb8823366207e7aa9b5f3d3511bf34d136ff5169fdae61781e39edf5e2393cc72b2adba614b6907611775983b8dcf8a69546c3eb1e53196d9584eecb8799875f730d2b203391f0d5b500bd5569bfefa495c2fd9b9497ba6f69de171c013c74d1016aedb595081ee3a3bbf3d5aa24f01234a5dc41e233da765e370d9da0d788734d30bc7ccaa8d5fdc4892e4ef53ce89a52cfc18d3369cf4f76fd00aa8be6f3418d9d80d07158f99d15742a03b336e99b100e1edc06dd6c82e1aaad8fee753495e56b8a1e11b931bab20dee9733c46046e9beb4749500c4f17e7b3e3c14132f0b362edb12e46ad9827409644a6ffe58071f2e2b3e607acd45ec90ffd7d0556aa231b2b99ee33caf6607a5f9a0f4f22c8dbefd0bb65e7c142f817bfec9a80f4325fb20a848c7c099379a02c1f56272317ed52f151cd5eaff97c69dc2d2c26d7d16bc7c9f16fbb81324abfc4de2d3146137ae828abb54c926fc96fe3f0a1aedf40e9c55056dec173479896d2f35a9e57a6ded1da926cb51954eeefe8541f85d988e04f7fac9b47724f8a5fa2b0a03fa747d57b1a1f243733355fb84336cd2570a38e679c13c6eda1347ec4b1712825a9921011e743c775178131c4e51a34e63c005da4d39fb9c1b6265b7168cc5c894e76463244f302d850e8cc024065aae02f6eb97676319a6c1383d386b4e1c1de10d16a86f52231e310144f1d70210cc2faae177f713e10b1222344c8b64112bbd238370cdef82cc79f66673280b05634ebc32f7f82849ca147b712ab93358df871baa22928689724ad6a591bc96cc1315302e8f102121ded39c8b6177337f94842f2bd754a941d935679804c5112b9c50ad83eefee291b7c7caf1dec211920d10710aaaa691f3f1996731245366ba5cb5587693f607c7fcf6bad1612b2ce431ccb71cee960eb3922da610f17da8a2f339fbb73f1377313c71d312335d6a8d10266beba5c53f45e6c321fc87657880f2d048cf50318ecf1e671a4c9504cb13716e2aa335d3a8168eb6260ce98ded757d35b2fcf6c0066b0736283e3891ce43ce7fb3059f8897a66757d620f8295ea697f6acd1012eb27c19afa34dccd8d16dc01edbb9443f3520f212b9565e62cee12dbcc411d449e315a9001435990e09d062103f515f9bfee350e654f651e9b526142eaf341c92c41111f5ccd62be467dc38ec798eedbfd07e017a27ba380837d51860c138cac9f03f3d4bfb4c2929b2a7f812b2a903c13f6594f3c5e879a6601b205d068988c4748a8563befa40af6962eba977ecf0cc1d06d6a43ff72280416c34066ef2de56ee3739ba2afe03b3bd091ce50ceb3af3757e5f76f9ea117f7de5e0095a89281b73cad7b5c2b0c02762259040309f73f307bdcc50546b601ba7cb3214e7b02c60e5a8eddf38239f91c223cd48a9ce1d02fed761de5e06cf3d604d03c4d6665444637dfd89214669cffe3a52a71801cc1f3e697c6a09cbd34c5b564957e56c7ea6b3fc6a7d11cb919f8acf6a4b902f81d777edeae2ffa818446d2dc48982182994ebf5468726e342736a1e363753140f0400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff1a0358c70d152f5669614254432f48656c6c6f20776f726c64212fffffffff02a477d01d000000001976a914fb8a6a4c11cb216ce21f9f371dfc9271a469bd6d88ac405973070000000017a9141d4bb379ddd4043ae86c8b96e7183784f9eddf4987000000000000000000000000000000000000000400008085202f890a14e57683c3de6c52d63e713b62916e030cc196e42bfd5e4bd75ff616a57a50711b0000006b48304502210089c321dbff057929ca58f5cc624a7be503d71bcc5abe74eefe81c5ba9835ac86022036333576457f3af56305941b644a2511a813696d0c33bda57a9f445d4d7223ed0121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffff14e57683c3de6c52d63e713b62916e030cc196e42bfd5e4bd75ff616a57a50711d0000006b483045022100f6f9d1d4459e5728b6ee4ff8e5b0c6bc6aff87cd2ac4e8a9a9e0784837c983aa02205c2a6781a4e5c7cff728f5afb02ce346331ce75b6858de58f287e0dccd392bbf01210258080d3a396eec5de96a2eb2c0ae592e878fc2c42dfa261d0ec52b923b9815beffffffff14e57683c3de6c52d63e713b62916e030cc196e42bfd5e4bd75ff616a57a5071450000006a473044022014099404124b32a47072999559e85a0a0ff7085235609a2aefa461865585a21f022062f079d05b504fae1a7e0ee05fce8b2824b68ee9f8a00b4fca54f0c9c41ebee901210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0ffffffff14e57683c3de6c52d63e713b62916e030cc196e42bfd5e4bd75ff616a57a5071490000006a47304402207196455a4f9549eccf7875331ea3c4c7f7f158ca52c2708456f172e1255579be02200c930c77ec011178bf8b6e2cec6f9fe3672591676c957dc81141d202ace795f7012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35ffffffff14e57683c3de6c52d63e713b62916e030cc196e42bfd5e4bd75ff616a57a50714a0000006b483045022100d80da3c77154c6ed38fade8c1bc094a6c6dd1407764417476a097a91720b9788022024d568cba787960bbf70b8b5bd5bd42e9a0000d6764d18394d179c80ad190485012103eeed0b20ae50bc6072ee47952ffbd3d09d1ece067ee6f9d6b185b86f2979a283ffffffff14e57683c3de6c52d63e713b62916e030cc196e42bfd5e4bd75ff616a57a5071570000006b48304502210083838c1f5f652278741b3b12a11b0793715a2752b7e649060131340207db605d022037e38cf0ee9157271472aa2570fa74d14889e0b4e2fc5ab52ab84d2caf4b92b2012102f7aac9f88990c1fb7ac9da4d525d04bba0d79da15f5ad337a931462659eba53affffffff14e57683c3de6c52d63e713b62916e030cc196e42bfd5e4bd75ff616a57a50715a0000006b483045022100bd42daa4e3bc755f47a6665cfaa2fa31c62b03a3077ff6b2aa0358998eae03ab022071cc4986ee7572f399ffc023526ed0d12717d3edc3167f1bffc45fb36a94f9f5012102e55d06ab7adf96c0a1c2d37f720c11b1658d368c62855948665d51e649b4df3dffffffff9db80071968fe358793c3c11c95d07cc298de27b6223456ca70826afe6ed3784000000006b483045022100bb5d471492f511764b91441f10792405b5375bef52a459a7de3baf457600f755022023b1a18833895b90e1663250f5bddd6023992d614fa5d2498056aae78772d09c012103962e6e5854973f18edd5b37eaa71307e6b966b23b9be5b66dbb69a5223990800ffffffff1debdfee69ae48db44033478d3a56d365768f2770764181b870398008a8f8f7d000000006a47304402203e052f5823c234456281b9c97cc7c5c288cfe01cf0fddcb34f6d80713e2c2c0502205987bfcc5ab1f2a41de4d73dbcff3b26f4ec9c69a15f11668585667561cac7a1012102cb4b3cb20916a6e55cf209301439506539da28674f5decc75e05782417f3f20effffffffe3447e10dda255c2705c57fe6c835afb4fe09752128d60020787943bf67505ea000000006a47304402207f2e252b8ec7a65f99f712413a57331f886c38a0670fe14b848dbe749ea832b902205fa711c94d2d76681b0cd7227daf1719a8cb1a718174e1d87621e236ee38794201210377530eacb9c59d5357dd3c4eb3b21797cf0f58a78f85000a47ab93e2f5c383deffffffff0133ee8ed60e0000001976a914818f4e406adbd680d922ccc2c4711a86366faf3e88ac000000000000000000000000000000000000000400008085202f890a1b20acc92aff0a53a4939b2bd2ccaaeeba4857f88b2a66b649cad39619455bb40a0000006b483045022100c3dcd4b46e99d98789a7bf6295bc76c38002e6b1462b8279e31af54d7fbf643f02203ab4810f4b102ac4b5c8cfeaa62b674df585fa5c8a25e2ec08a76df3b011eebf01210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0ffffffff1b20acc92aff0a53a4939b2bd2ccaaeeba4857f88b2a66b649cad39619455bb4220000006b483045022100bcffb42daaf50c2e699b1a371ea5e0a169148c5c9a8a3facf5c54b4c538cbbeb02206cabc4e285607f533695543415996d3cf2f46ea62b8c9965513028dfd69ffe3c01210258080d3a396eec5de96a2eb2c0ae592e878fc2c42dfa261d0ec52b923b9815beffffffff1b20acc92aff0a53a4939b2bd2ccaaeeba4857f88b2a66b649cad39619455bb4280000006b483045022100c9491836883f64b6558f76a9a12525b21ea3053dcbcc9fa9dc94c7f756d91ba4022011c4cb6a35162bbbc523304a0fab9d1bc7189467035263cbe69d695b7eb8b69e0121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffff1b20acc92aff0a53a4939b2bd2ccaaeeba4857f88b2a66b649cad39619455bb4290000006b483045022100d65e6600a24c9f5acf7c8054d75798f6583154f8e7647d984c3894c73c1579a1022059640f41a5db57cdd345e4631931c56169dd2b5ed7358420be251254e009c60a012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35ffffffff1b20acc92aff0a53a4939b2bd2ccaaeeba4857f88b2a66b649cad39619455bb4340000006b483045022100eab304973d0bae5ad769d3de8fa1d3bcc47fc67e77a215d144e7829893d71efd022053245b7e90e8d93820d9a31e2a5c876251f63668e9b7ecd96e991b821d3d5aaa012102f7aac9f88990c1fb7ac9da4d525d04bba0d79da15f5ad337a931462659eba53affffffff8c7a405987d700a5a6180ac4ec4c6f2b55d71893002bf38e44f539fc39a76cf1000000006a473044022028a412e074ed371439ccceb3e10dc77452d5eb0bc291c489e875fc88229002fa022032344a28d25ea8d942127d79be53f21996f523fe5db1ed5d6e8980f51d3638f4012103eed142b5ab68a7c21c669bc8f99b3a45bdaf167f7e3a0e9428d4112b2a94ab1bffffffff2ce57e589436433af5bde626df84e4dcf3fc1b794eefc62309348e254ed10bb1010000006b483045022100b22e6a5fb766c78d5046329e91030c71c05a5b071678ef96480de7cf77026e4d022034bf68afff156a69f6da3e38610b752ca52df9b53ddfc3e8375f8704a8d4bede01210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0ffffffff2ce57e589436433af5bde626df84e4dcf3fc1b794eefc62309348e254ed10bb1070000006b483045022100dfd85ac53212c64899643582b2da1de972a06bb3dd60ed141858e14fd5a6ba3e022043c091eb71234946c77f42c0ee6211789dd75480558f843b07ab086606f58b9f012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35ffffffff2ce57e589436433af5bde626df84e4dcf3fc1b794eefc62309348e254ed10bb10c0000006b483045022100fa84878abf0436894beeee48cd1eb821afd5b99bc7ee7d5fbf585c1a5849db4602200348d08b94c55effc2d639fbc79514a9214b6add2f767c4b5bc0ef696446cbb30121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffff2ce57e589436433af5bde626df84e4dcf3fc1b794eefc62309348e254ed10bb1130000006a4730440220435acdbdcb0feb54ec1772fe77cbaca8b87682e4073d432746d93e572c38fed002207f25e84e74f75e174f424c3fcaf9b6a959822da8ba40663340c75ee4a6dc7199012102e55d06ab7adf96c0a1c2d37f720c11b1658d368c62855948665d51e649b4df3dffffffff0142a000fb0c0000001976a91405bd3204832f78fba3d3657df8305bd1d15ceb7c88ac000000000000000000000000000000000000000400008085202f890a1054ca2bd14c52f8aa6b6fe6a6158bdfcdb8dfcf5f4cde93afad88ce53f17a59570000006b483045022100980060c27d00839e488b052652fa18e91966efa1da060034897946c49173de1f022060eb56f4826099adf97d3cb36ac2d3187394c3bfde09010e2080eb20265359a90121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffff9e84c939491e7d3ef02b1ea8aa927af2675dfd36ecbb6d08fa14c9686c7b4276000000006b483045022100c7e3af039d2f3e5142dcedf980cf38e5669c383653e28425110d9bd48044681e0220490a0ce08bf2417ed1579cdfa4eb2b436e3087d070e40ef382aa6d5245031eeb0121027fa0b552f9353daabb784850fe335ceaac68b8e8c62e9014388e41d28b9ffbcbffffffffed4ac301ad3c0a945d04763fb859ff8717f26930f62c138a50ce04a5d0d548b5000000006a473044022070edf68da0328dda8ff3cc9e776377f4d723d79375849ff44e43887b17d7fa9e02205351431ae5038fcb17b57614753ee21b43ace293259ae05106a8bf3c233de9d00121038dae9d7422d2b7e193e198811304368364995bbfd689ed1fcd5003921c253011ffffffff2fcf8c1bf363bfe2b1f0c239a5c015342b382f97368030e4827085cdf079f58b000000006b483045022100da05de2079e1b6f8f5f162b961ccc88f52f2c6bd567bc59d14a71cb60127414902202de9008100823973c4a301011502308ece154094fc1d721a5ff0080b5a267d030121036b899959f1cfc893fda691ec56c9fbd284e59ddf3f5f591dbfd6844baa76d32bfffffffff4270d7c31ae71c852b2ba56c2836797d5f9b04dd7e1555acba0db377b723b6b180000006a47304402206f1a8ede1529019e268f16b041ec0019450febd85955f96b91e14337d2f7285102207c6074ee38c08c8ee927bef69c8ddd39b5b34f846dbf529d88156225733e62db01210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0fffffffff4270d7c31ae71c852b2ba56c2836797d5f9b04dd7e1555acba0db377b723b6b1b0000006b4830450221008677b8d0fb972aa52f5c9160f9e773c2ec051f2ac0ac25b7ddf4ef4c9349e1a7022058add7c5d8c4c9851f7788e1dfa5e2cb8ca92d050e0c694ad6486c09f1f2c5c7012102e55d06ab7adf96c0a1c2d37f720c11b1658d368c62855948665d51e649b4df3dfffffffff4270d7c31ae71c852b2ba56c2836797d5f9b04dd7e1555acba0db377b723b6b2a0000006a47304402200a429bb0281a94f9f24b79996301b448b5d633e8f768ea1d3673b83ded0a908f0220085e1564c6e38435be19ee692f20912c64169a179ddb06a6b493abe1d2fcc049012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35fffffffff4270d7c31ae71c852b2ba56c2836797d5f9b04dd7e1555acba0db377b723b6b2d0000006a47304402202727e0631917cf733b2cd28387768c7ec6b4fc295ad49ddd4d6d89be646525f70220776fb895f845af304b2dce66fcb766a840ea77341524c876193840316143813501210258080d3a396eec5de96a2eb2c0ae592e878fc2c42dfa261d0ec52b923b9815befffffffff4270d7c31ae71c852b2ba56c2836797d5f9b04dd7e1555acba0db377b723b6b2f0000006a4730440220400dd360ae5b343d26ccfb53064e53e2c96e30f2164d7e94f9f5752afb9b96a5022011c4e9d7b8616f4cefa20ac420017be6e493ab5e7449b859a1be2212cd0fc11e0121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dfffffffff4270d7c31ae71c852b2ba56c2836797d5f9b04dd7e1555acba0db377b723b6b410000006b483045022100d02c2ce6f4d07a96f1f0991c841e1c985f6f29ea498348c6f7bf175c0fcd6d01022078e212845a8dfe2f5056f29ce4e1fb630f54b64d582a6f52b941678767bf0d44012102f7aac9f88990c1fb7ac9da4d525d04bba0d79da15f5ad337a931462659eba53affffffff014810e744090000001976a9140afd019225bb973501775b2bc0f3ebf3a65f448e88ac000000000000000000000000000000000000000400008085202f890ada582781175f3c936f4510472c82bbbeca953eea5e1b90a9a3962b6725e3da8c010000006a47304402205b4aba79c4d19623718f967ef57aa07f3b3faea34e1ba91e3809f9e2d0f446bc0220520499d7387864bfd9728365dfcfbbe6acaa4cd037aabe5d8d7ffc344c5ada080121029f8948e02e912279fd0d8f311db57f7fd2f8b971f996bec4bf870da467e7d5b1ffffffff05e4a806a4785d1e7bc49046615bc2884841bb10351aa174669da1955e6ad426010000006b48304502210084ced6b8e9c3b70d76bc67be986055d016fc5da0aed2028d1c2a416969e806a302203ee43834520e1f8c70b6507e94ab77b662f3e24265973a8573ceeeb28e2e6c850121029f8948e02e912279fd0d8f311db57f7fd2f8b971f996bec4bf870da467e7d5b1ffffffffe49ca022c3b53425d98aa27a4e918e16653a7f33f6040556df5e8a8e50479901000000006a47304402201c79958c13416db91f8e0a4586775b16432dbd11b4233e1c5cc06bb855708a22022022bd0d6a9f8d196f3018701218495ee214157e033c354ca1c6f1b594b8fa75980121029f8948e02e912279fd0d8f311db57f7fd2f8b971f996bec4bf870da467e7d5b1ffffffff0e0ee462d7f2a00e0e8f1b7dcb707ee8b4673f62a0f1e78e87003aecc14b91c1010000006a47304402200c9507c21d36c9b2bb76c041fa5effa927dc55f7a8530fd0a8d0fa9e7cf36df302200b81bdf5fba597de7e3df9f5ba2e949d02054b12abaf867773931c9be5a120010121029f8948e02e912279fd0d8f311db57f7fd2f8b971f996bec4bf870da467e7d5b1ffffffffd51d80763e19b70a920d7a77743f735d4d1d5f31a6118e89659fe126f75c22c6000000006a47304402202881420d60dbd788ea4f943e86e80e5412c062e953c3cc71b490353e3f246852022025f734d6dbafc0ab52ee53d5c8f117d3d53d8283eb753a6af09d2a7765971e080121029f8948e02e912279fd0d8f311db57f7fd2f8b971f996bec4bf870da467e7d5b1ffffffff3be7eef39de5ed61194e3e1a9c48583949054b3cbadd4a77bfce0c086ac37975000000006a47304402207e04ab1426d2afcc4d50bb168ccb7d33530172ac9a4233d5ba24e64d0dff736f022006ff942dd5595968ee9522614863a6d0b08d7288bd3e26681f69d541e793f6d001210377530eacb9c59d5357dd3c4eb3b21797cf0f58a78f85000a47ab93e2f5c383deffffffffa31cce92e0dfadba23556972f2fc734c7241758110bee8a2fb5f93a7ef867018000000006a4730440220568acdc15178b0343d9decddde3b4d7a87ea4eb413da92d065503d53f00cff7002201cd5c4977726d0e3b40824f8944e39d7a22f91a548e657aaeef85ce59fae56c601210207dc808ad0f265a6c1e24c489407f2fb07be3dac231e862d55e3f4d4978a6d2bffffffff017397254538132ba674fcb93b58858fa3f60d0499700b2893f3ead62c38a4d3140000006b483045022100cc7a520aecec1d15c96ef2ec82fa8a8fcfccf4d0283c7429086cf2f9886bee4602207ad1aa82851e715133fdf090328edacae69443a8cd47477d47b0baa213255372012102f7aac9f88990c1fb7ac9da4d525d04bba0d79da15f5ad337a931462659eba53affffffff017397254538132ba674fcb93b58858fa3f60d0499700b2893f3ead62c38a4d33b0000006a47304402203911e48534229d502f91b9cda29188f0df284d90ce2cf9b02738b3fb8e6fb96e02203f518d64f3682cb25c56e6394b15ece9da349193636b8b5d351d37e6bda3cabc012103eeed0b20ae50bc6072ee47952ffbd3d09d1ece067ee6f9d6b185b86f2979a283ffffffff017397254538132ba674fcb93b58858fa3f60d0499700b2893f3ead62c38a4d34a0000006a473044022060fc4a0f6cf34f2b68ea6239de2c9e8d73dc30f7a6572f617391f5be96289ca102203b3fa40e9a91c8014e82f12cf9d1a356c2046d503a8e9b95fb1603953470621c01210258080d3a396eec5de96a2eb2c0ae592e878fc2c42dfa261d0ec52b923b9815beffffffff0104d190db090000001976a914a714fb1b5b2118be9d2c84c2f4386a778f3f40ba88ac000000000000000000000000000000000000000400008085202f890a841d7546d03d2f62e23582ae79b99eb8f86e65bfd6b035242884401bcae9291c000000006b483045022100abd44e5dfb082c2fce21422acc646c981c79d1cd1c8d335f1a38ce5d7c34d8d002205bc1ede5e804903e21641db873350f98949cb5c77e1cf3bd2332ce734172dba4012102c3846919156dae7345d6979c31c6ac6d0a311f5fe5e655ea174d8fbd90a23f1cffffffff68e157f9efa39cf40e20181457f89f981fb6950e742b41e41bd518242d12b1e8000000006b4830450221008ffbb064f45fb1d846b932deaa8eaed6a4c72a522d68b379db249f12698d62b3022043e26b86004b0dfbc63d83798d4d533f220feda5c0265105c1f7a2e0674467e301210293b322c689ed89951fb956fead4b05b00a6fd2b431e8b17e800c4e600b7b9b74ffffffff8a0afe7447d13b047915c412e6ad20a3e76a6ea3d427862ced8c2b7adb2c834a000000006b483045022100c0bca7d41d4259cdc6a10a93551690da6620a23a329657cf414d2e65e95db8c802203db2b9804822a124708f6aaeb3a2a75210a91e7f0628feb78e2289eb2db5b16201210220abc97d9d785c1947f6d9103d89e867c50e2ec53031f2488b2e35febce46bf9ffffffff03bc9f235e1ac1884880fbbd9b65a3b8432f9529b9ecb80c1cc81c1f01e2f0b31a0000006b483045022100f7a809368829aef82e9d79b02b71a55d2a6cad02b31f10f0f8c515457954d05b0220581886d51da4e506bce344276bf45433b039c44bbfc91988440b0df4748b38ca012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35ffffffff03bc9f235e1ac1884880fbbd9b65a3b8432f9529b9ecb80c1cc81c1f01e2f0b32c0000006b483045022100c05d7035c3ec77ca35d904d6f7ff31aabe3752e3b93187f4e5c55397a1e14d9e022065a3d96a41cbbe50b1e4b689b4d19d119739378ae7ca3b6532bc945352318b66012102071d32f94a766531d2a680bfe10b96fad9e49760f5db211d8753d907b0e01516ffffffff03bc9f235e1ac1884880fbbd9b65a3b8432f9529b9ecb80c1cc81c1f01e2f0b32d0000006b483045022100a5bb61f0693390872b409e1f2bb506b1cd12463463c9e0b3ff6eab7fa63c4640022057ea3aa017cdcafbd045103adf5806c612b037bdde7de196fbace93c3fb1d4e90121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffff03bc9f235e1ac1884880fbbd9b65a3b8432f9529b9ecb80c1cc81c1f01e2f0b3330000006b483045022100a98f69f8071152dff698cdfc9474240db04ac48853de2661b89494c68b06052a022007aa11138ce7529c55c8237d03d989235372bf3e06dfa127b2af079d208f0af2012102f7aac9f88990c1fb7ac9da4d525d04bba0d79da15f5ad337a931462659eba53affffffff03bc9f235e1ac1884880fbbd9b65a3b8432f9529b9ecb80c1cc81c1f01e2f0b34b0000006a47304402202283d1afde8d5ed0608ba040fec4625e38a9dd5ffcf9d1e84d86d8f689c76404022044db086b9a2fa012de062ea1f12a578980c0d6656e287a98995a6491e4ce503701210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0ffffffff03bc9f235e1ac1884880fbbd9b65a3b8432f9529b9ecb80c1cc81c1f01e2f0b3510000006a47304402200f0c740d5c718752db8e6267f264a7f952241941246eae37a80493ecc1318381022078ca8353cbc0d831c8b0f922a1df7946e6283e8ff198fbb1a0b45f2b22254b3601210258080d3a396eec5de96a2eb2c0ae592e878fc2c42dfa261d0ec52b923b9815beffffffff03bc9f235e1ac1884880fbbd9b65a3b8432f9529b9ecb80c1cc81c1f01e2f0b3540000006a473044022025549b5b5fda160aba8337188169abd38596bda3dc006acd42689f38db5a5c380220615a4dbaf054fb7bf09e07a41ab86657456928e0ab7e96b9386f98f716d07ef8012103eeed0b20ae50bc6072ee47952ffbd3d09d1ece067ee6f9d6b185b86f2979a283ffffffff01e6335106050000001976a914a1ed675749af9d54d41b5ba66cf345e83b5ea75888ac000000000000000000000000000000000000000400008085202f890ad585da0a014cc911143f1486933017f6b5150c9a4ac5434b3903949731bea817100000006a47304402206997d49573a6e0ad56cba3bd17b1e950b1fd20aef587a3caf977c9bc7c58a006022057c19ae27ca015fd4163ababe1030b4396706c46d9846bf0d890047dd9a61b270121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffffd585da0a014cc911143f1486933017f6b5150c9a4ac5434b3903949731bea817120000006b483045022100ee4cccb9ceff4a4a0c8d8a7ab76a4a5462b9188de5e8bd9e1ae00191df13c3ba02207988be247b561b55e435500b12e55488482f3a2f95a5cd13974b965bd3333f2b012102f7aac9f88990c1fb7ac9da4d525d04bba0d79da15f5ad337a931462659eba53affffffffd585da0a014cc911143f1486933017f6b5150c9a4ac5434b3903949731bea8171c0000006b483045022100bd7f24310ff104602b2a44d225fafe7a5327b4165a46acc44675f820feb0360302205cca8f09f31ea87c925fbf9b3c62511a7242ef7f39b017e58c40df40b5afd78f012102071d32f94a766531d2a680bfe10b96fad9e49760f5db211d8753d907b0e01516ffffffffd585da0a014cc911143f1486933017f6b5150c9a4ac5434b3903949731bea817330000006b483045022100e24e4754b2b710f4c500dd30a650c88479d5d0c66d1910d416ccff715bd4c2f402200ef7420b2d4ff2e07a14afe1fa907195cad97e8cd3810575d753af4cbbb4b7e201210258080d3a396eec5de96a2eb2c0ae592e878fc2c42dfa261d0ec52b923b9815beffffffffd585da0a014cc911143f1486933017f6b5150c9a4ac5434b3903949731bea817370000006b483045022100bb5b8f844a9445c3eca79f22e2e3b4099798aa7c1d18219b215dcf44efcc4e0502204aadc71616f2cc6706e9bc6718e4b952c568acbaf4062de144c481164bd34341012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35ffffffffd585da0a014cc911143f1486933017f6b5150c9a4ac5434b3903949731bea817390000006b483045022100eca03d3b9373d355c78aee648f18e26e2d846fb680cdd25197dd4188ad2d0419022038122c3040ce47c1470e2fb92b78893999e04d1c03996214dd33005d0250a4e801210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0ffffffff6d9d8bdd9e6d40fd8c7d8ef50e4972fd0ffdc6a54262cc9656860f64b65db57c010000006b483045022100d1b3b12949ccf70a0817bbb5d67cab59ed8946f053159b40b413eaec983d558502200fb0c9d6a03530822fc62cba426a34df00d0b1b14a32be516d4d8eb2182d05db012103639a9c0b8df11bce6f5849ad3326013216f3e06c2305e8b25f4dab3f1abd46ddffffffff6d9d8bdd9e6d40fd8c7d8ef50e4972fd0ffdc6a54262cc9656860f64b65db57c020000006a473044022057761c902c36f4aebdbb465c11a8b97df01ce15b083df9c686bf37c825b36577022013f8918b3cdbe0a0d2b8ee486afcaf2949fc1ab1ccd2521f46ad91bfe99aa616012102ae448ac8a9284bf207a2e3b7362e10071033e2567a25ca1bf40cb32626c7eba1ffffffff26ae74c5df5128420f34aea5ef05ca3e6c2312d7b52aebec0aa64af0f60e9751000000006b483045022100ffcd25eb061a8d2366191be90772dd975db845db8de57fc30df87fb4070a2cfd02206d2751dd35b44db016cab0b537c26d7a3170f6abf570455a77028b768d35f8690121038020a586be4af4d04d1d43cfcb80ed0d974e4a3340cf85de9134787409845b20ffffffffbaf5f8c22e5cbed0543f040a680b89fd4e046fcc4897f6af099f2f4d5487b3df010000006a47304402207f0865df42741ebb8b9c89d1cf33dd3d57752098bba679a86e2f5cffca2d11e50220395d28cc2ad8dfc1434b49b3134d39fbea894b1c60997ec9f53db7127f96721501210295c79a9762e4bef30b4c126936d858526d271f483723725de605c63a40df5c74ffffffff0166f3e80d050000001976a9142296699fd7975c212a5c301000dc728c84a89b7e88ac000000000000000000000000000000000000000400008085202f890a6e95a51d4cfd4505ce05822287d89168c623d9bfd45c587436fdfa786a6daf84000000006a4730440220059294d11f12350d44ae52c58deaaf6e4139a99699a3e1769bf3bc242a2796b402204035edb359df050743276f6c752feb0b3a4377e3334d354b2397033c7952e0900121032c586aa5f79dfbd34b9d3cf2c230a82425cd120e698315f495936ac0d175b25affffffffb641d55bc471c082f2293e5179ab3bf8582e9bd2120f5dce1d77316f4c7b6fac000000006a47304402203cabb97d0e4310eac8cb28053fc1af2f7f4fd72efcfce188ee5ef3612acc7475022035ad3a943108c8a6afcf789563b14ae55d2d34d14a28c53695aae5d34e9e6231012102c81c390b33dad873e6cdd2023ad9cf033581fd8324a4e085219f580492182910ffffffffe5113acbdec0a9dd9a03c05326b15466396829f649e5264eaffa3a1dc0fc91e4000000006b4830450221008b55c0c72011e1026c79f938dc44ecb7268e4b15e9669649cdae80a5ff3b24ba02205bca28609a007cc5837f2b35d9b993b65422203a90eed28341d3b6d600cbc72c0121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffffe5113acbdec0a9dd9a03c05326b15466396829f649e5264eaffa3a1dc0fc91e4070000006a4730440220272d47370c7a45efed7e9e6c5906d1f4091a097cd048193fa649a1a90800c89402204a2d53aaf29a64182329ec3dc05495514d5270cf88963b3152ded1c4cf7a8c7f01210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0ffffffffe5113acbdec0a9dd9a03c05326b15466396829f649e5264eaffa3a1dc0fc91e40e0000006a47304402201d684874dedba5c47f8850a97f92d82ade14986298c4853adbfcf7adb7dee3530220248fa4c6c4630e2398fa2c02badc7ed6b78bbd47ef4e72c6a200edd0d50d29a801210258080d3a396eec5de96a2eb2c0ae592e878fc2c42dfa261d0ec52b923b9815beffffffffe5113acbdec0a9dd9a03c05326b15466396829f649e5264eaffa3a1dc0fc91e42e0000006a473044022021b2a238e68e94af947e02966e364bd3f8f68e466caa4776a5758d38d2d82b5f02202138c85259d857f4c54d92421325d7ece851fab593a4f4d20aa93777aaedb3a4012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35ffffffffe5113acbdec0a9dd9a03c05326b15466396829f649e5264eaffa3a1dc0fc91e4340000006b483045022100eea75672becc7999dafe2bddde44f8151425741312a0733d105e878bc27186c202201d0383a53e751cc2066a61646c6427c9577a03385d70b8a66c3d24863e47d908012102f7aac9f88990c1fb7ac9da4d525d04bba0d79da15f5ad337a931462659eba53affffffff4f5a8bfc76b0a7b9b71ac0ad51adc4ddf96597ff494ce4e30255a7d64fce681e000000006b4830450221009937395310a41e0f2c810d372b9599d9898070fd7c92d34bd97caebc411bff92022045a3af37114c80bf5fac7cc9ef8bb4e3e654e1ebde1b5e1a450430c8ab86c2a30121025c60ee15b313b99a402600cc77d86fd48f1aeeef5affb3afe982e4aa42ba730effffffffda7dba7fb5329ce9f5fb6d90efbcc42709807e0985ff414c52acea50bda1ca9a010000006b4830450221008451791dfcebec163045d364391b0d72ed65df9a9cc9623e495bccb67a75c03902205a5abc8615bb2dca6a93006badbb2f57832bfb07e96cd882e9a6dd661b35a4b2012102dcdbdccfacdceee779f07f40f2a4a209836be468c8a2f48fc66a0bb58586322effffffffb05dabe4d0b78feca95f038d45a997ca27361d3f42185ef9376ddbbf9c49fa12010000006b483045022100c1e0a27a533ed78c89578defd8cb052f0aca91b3746301dbc66dee45ce70d37c022047561e9cb19abf2deffd3f23ce87d5b730b023879df708babb1fd06b756be19b012102894303507b5c8fde0cae4567a308410ce993de241d85b15c6bdc14282a4ae932ffffffff013befeb05030000001976a914a7a7a2712d03282d136a9c593bcb56f2c73cbb9d88ac000000000000000000000000000000000000000400008085202f890aff9c810f4ec3cdb3be315b81bf1f6a9a349d1394c97c0ebfac6764e496634454000000006b483045022100962a353416a0bd007d2f5c9a77bf75edc5b2a32a4189f0f65ea0cf17ef66d9ab02202c1efedf7f106a69739e23e51db7f478b5e4ca1f127b1b89b5f0ee83c8f53236012102b6a3d04838ac779393e05ff82b60d06cd441198b47500d53d2e672d777415944ffffffff62cf3ea5f9ca23c5a4ea96e343bc256f14e8870ae7c29ec0bdf8b85b574592aa000000006a47304402200b6e54602b44fb5613e044154390ffc74f99002b68d385c82f0cabd8f4c32cfd022045c29b2f7e99dd239145a0c98b27907030bab77d13e8d56ffaf85f73cdc6681f012102894303507b5c8fde0cae4567a308410ce993de241d85b15c6bdc14282a4ae932ffffffffb33117a9e7f7788a7d68064f81214d9a657e32906c53ff6f4542091ef038b0600d0000006a473044022066568fd723f3c5fe615a776424f575bf8da52749a8deb25be4424d78c85ad6c702206103d5be811bcb93aa715ad3920bde47e28d522c397417502f35d5a9a088534e012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35ffffffffb33117a9e7f7788a7d68064f81214d9a657e32906c53ff6f4542091ef038b0600e0000006b483045022100acb6498a134e360b2bff6c540ea2b2cd8af86187d62b834eb0c37bd8029688bc022016f2b44ab0cff8b0f7aae15cf51aa01fd31e29f4bcf4b53adb58066ab52b1b7c012103eeed0b20ae50bc6072ee47952ffbd3d09d1ece067ee6f9d6b185b86f2979a283ffffffffb33117a9e7f7788a7d68064f81214d9a657e32906c53ff6f4542091ef038b060100000006a473044022045f85a318be9640a33b3136f1c687e9e12d095b980afa0beb124a5b8b5fe068502201a67cf8a94cf03bbd09f3c51038869bf0271219d620fde6d843180b63e9d2186012102f7aac9f88990c1fb7ac9da4d525d04bba0d79da15f5ad337a931462659eba53affffffffb33117a9e7f7788a7d68064f81214d9a657e32906c53ff6f4542091ef038b060130000006a473044022010f3e08868fef66fb94d6c016c57fb4a557a97d760482b7f35f638dc24b65ed002203fa71335c61f41d34ad9009ce317b7d62d5681f6f7d84d2fdbdaf69ac007ea83012102071d32f94a766531d2a680bfe10b96fad9e49760f5db211d8753d907b0e01516ffffffffb33117a9e7f7788a7d68064f81214d9a657e32906c53ff6f4542091ef038b060320000006b4830450221008cae9af272574ccfdb556a546d949903d65ec53d4c9d5acb582e123f02fc616002205b82e9137f844dc976d9519b00cec727b84cc0eba44cb61a553f872aab19d9b201210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0ffffffffb33117a9e7f7788a7d68064f81214d9a657e32906c53ff6f4542091ef038b0603e0000006b483045022100d5b471e6b7e541af7f7e5dfd3c0083c08b7c287a56bae7b9806c8245246448ab022045fd0ac0d5d99058a502d0f62352e6dcb78faad0def9d007563cf2751bc6337401210258080d3a396eec5de96a2eb2c0ae592e878fc2c42dfa261d0ec52b923b9815beffffffffb33117a9e7f7788a7d68064f81214d9a657e32906c53ff6f4542091ef038b060410000006b483045022100ea6e59e2a4861b25546352c8ea0ae21663ea3ff191dd302550ad482310a20c67022073f2312c8970ae8511402da1246e12080c61e52eac90db5affddfdbd39d7770f0121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffff8cd39e520e45eff4546a378fafeef4c554a6c3be64847bbc6f9afe0108a38596010000006b483045022100824347f813013034a5108c9cd69e5ae651a2ce4e2e58631836e3e2445a45103b0220121443317123c600bebae0788b3ddcc7d355cce8a24ae694ad07921a990599df012102ae448ac8a9284bf207a2e3b7362e10071033e2567a25ca1bf40cb32626c7eba1ffffffff01ece1358d000000001976a9142296699fd7975c212a5c301000dc728c84a89b7e88ac000000000000000000000000000000000000000400008085202f890a457329ba79495a78b51debd4745c4658ab9156930cc90f7c0b055c2ff5ffcb6e000000006a473044022067d853af415d0274f95fe10c84c47b8025592e076b77a9c37d7c8521f933fcf602205134538e1f6940f441afdef9744094d48fcf7e45c37941cd5342381e7f3e4993012103a2ea244a2a1b86eb32c09fbafa11099a5e18463a8f4ee5f043d61cb162fd8358ffffffffe0858a447e8acf4639490dd75a9a1740dd0a1606a817abeb8a9f104b5343f250010000006a4730440220147db2e4077f5daf6af9b235ce3471db033db4e2cbb1d4f55aeedd86d611e2c102202da5da9be9e6d9f8b5b87e1ef18c8b938777c40d494e0b7fd3a8aa35c64903d40121025aa826117b6c087c2ef77c3bfc60a997eb4d7b00a1e770b364fc3d79fb16d233ffffffffb95fe582d8eab26b10fb01e0d6da65a01597f08ea5fd99ead01a547ed504d93b000000006a47304402203a5dfda1c6386aa2054df4c5424b3bf93fed83e27a2d908c5631713fd78cf32002202845784d8edefb193f0281b6d784ba460126d86c2d5a16671939c79762a77a5a01210339df54ab6f177e976de9c3df61c6f1953c8cfbce1d7dd5f8cf6e3c0450a04f84ffffffffc209741ce283c8a314d3ef907dfb2a42c14a1fc1dce15e276830bc7f8408a56a000000006a473044022009b44015a5773b8d4e79b3fd6ace0e9d305261902084b2735f59b7795ac1c25c0220387c5d69f2b545fa76ce0b7074240c537d45bc1dc4f6113cdfaf7f7d956db885012102143cba2908b9a66a01942c78efa629eed74bf4dfb5f361ad220ba779dee1f4cbffffffff7d2f320cc13ff939238041576201dc456d9ee79c79d5e1bc276a2f9c00b9a407010000006b483045022100af4de629c3cfa4295fbcbe4b125141bf50ed250badc20ef52358333b2bd9684a02207f42f9d85d28c2a5bd8fc499febdbcc5bbb5f7a485d96aef707e5b1d7a2c4e78012102f884579a42579e62d4dddab757deb523b770416f4fc751fd57ee51e33a7d29a0ffffffff43d12bc30ca6b7154b190c67ad2e8b2def93054fcf30bf5ca9b2181b29cc56fb000000006a47304402207e22d097c22a770c6848ef547bb992bf363aab650065b181091c30596e78538402201a59ab3a145895b5f849466d3e169b89ff6ed38e8d83449251c6ed12139602ea012102143cba2908b9a66a01942c78efa629eed74bf4dfb5f361ad220ba779dee1f4cbffffffff07112baab2b43a04399eaccaa51bdc84d3f3741318489ba3223f075c614f17ce010000006b483045022100816c9ab1814f5c07363ed00a03d8c972a71de9b0d8296b4c6e99b31dc881efa902207aeaba2e9a7de5e96c57dad788059460519d724ad19d71927e60ad766f92167601210366f59a265f17cfa48c0d3859c0311d1c1ccf813ae52b35874f7fceebde082f7dffffffff933afc2c4b44b364d924e20ee2f9e2d3d9b94f33945925f478894500687f194a010000006a47304402202ccc2cd0002367b3ccbe530ad1b554d956f82094b95e9504073f5fa954e77a79022057b8c44990bd7aa6a10a2514f7229e032de2a2613c2615a1566acd8ebba77ac8012103df4160b5e151fefa9207fd98b1d1bf835cd75f517230e9a77ba20e0ceb9d1541ffffffff9d40fa3d21babc9746fc07757984c7ed0b60fc0a2c74b19d8ce0857f18a3e0ff010000006a47304402200db6c13b9973583f091686ecbff4cf74316a6d5676c310ec190b04b88f6c7342022010fa7c0cbb30ebed0f071781446cdb7a2a291eafe51786889f60d4381cdb0fe6012103a4fcf63e3922e3f3ec6677bc697a5d15d92442813902272620212ce615349f42ffffffff643bbb702170aad96d45dda82290473c587f3fe02662d2d5c9c56d85f95aa69d010000006b483045022100ec44de9c85c87f501e1d2a87cd85bdcae64a7b6faf328dfeec2035bb4febdfbf02206c51d55588b8ab078384628e11223d4becf656087207bfec36d41a8400787c2801210246e39f8007d20de4cd1557c2337ee3f5ddfff81db45d029253271bd56ae2bef2ffffffff0164102967000000001976a914c600446cec51b4d1f51bd6f7c81353d510c7c71888ac000000000000000000000000000000000000000400008085202f890a017397254538132ba674fcb93b58858fa3f60d0499700b2893f3ead62c38a4d3570000006a473044022007cb6c7aac3675a22225c1d57a7162ed08c078dbc106f5eed74f9c9c0df3c623022043e30f75c10fd16a99c65e4b63fa1e2adc47fcd43471ffcd2f8df8e7a62141d9012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35ffffffff017397254538132ba674fcb93b58858fa3f60d0499700b2893f3ead62c38a4d3620000006a473044022032aa0fe61c4a03e77f6fc3d3d60d3ba46023979f9212d5f25ed38acfc3fa2402022054c3943e893beec2192d55f43e9d2513a0b5e1524df1220fd6c729abf69b2b7f01210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0ffffffff017397254538132ba674fcb93b58858fa3f60d0499700b2893f3ead62c38a4d3670000006b483045022100a9af09559d8a1af19ec44966d9a7b9fd83f0bb24b733352b4c15d95c059b9cad022066278752be6b85ba25e0d052319079fd0ec2fed055ef92fddf91a20327c45fbf0121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffffb87cfbbcc1e2062ab82b7544c15bade7d9a80de42dfb8a9d6ee0e7993aabb644010000006a4730440220014ae2915cb6310ef7f217efba37a74a7c027ee514283498335f4eb745dd97c602206f6cd5f472f6d467c805818ae2f38c46de67bc6ef63ad408d96685538b37d01901210207dc808ad0f265a6c1e24c489407f2fb07be3dac231e862d55e3f4d4978a6d2bffffffff09167e79d3657ed9ded3c772ecdea74e4113e79a0a11accd2950cf4bee62cd69000000006b483045022100836c3323ed3b03f9b11df292f481039cdc62f6eb71114aa11c1bf3432385ebb1022055d9e9c8869588116f31dca3b2db55415a287306a3fc082ec02a0435e0f456710121026ff948b86aa884e90bd8fdb9861af26e4e8c1218fbff8b04ebc4fe555154cb8fffffffff2d1d6b2927d96e607cd8f6dc5287c5a87efa6e20468aec0b8aaa28420f53220a010000006a4730440220797961f2136f5b39114328f07fda291acf9b3e347f45f739cef2a9dd59f06e020220793d79794cc6f7f4c081d5da01f4ccbbe1e32b5e2ff55193d09247de7f4b0a270121026ff948b86aa884e90bd8fdb9861af26e4e8c1218fbff8b04ebc4fe555154cb8fffffffff42037fbaf61f769efe1c85a532301cd7544d30a96f96b7109fb0103384bc9cf0010000006b483045022100fa543da35dc3ac1d8bc6334fb7758009dab0cc957659a633b719d2b978cd5ba6022054f7ff59da488eb1e7ee3cb4187b67030fc6153cbe5334142eb770b863464d780121026ff948b86aa884e90bd8fdb9861af26e4e8c1218fbff8b04ebc4fe555154cb8fffffffff3ba0ee3f88f994d6b6a012032428be41c64717618338a95c0e6f77dd9277da3b000000006a473044022046f704423a41150870c80ab791362f20c28dedd452e11f24d4a16402d4c9d00f02204135e8e9a5a7ac65211e0b44ae2972231929a6fec759ebc2f2052c54434c5c2d0121026ff948b86aa884e90bd8fdb9861af26e4e8c1218fbff8b04ebc4fe555154cb8fffffffff33ff44ef53ce30e34b6e2407f6cc7e158b21c3e20c68bd8d0e95f7e05b7ee7e0000000006b483045022100f5a1ebe88fdc131b6b7f204f745a8825bbc26e182997c60af042670da9c005b202201889c447b9eef4d320b92eed87ac7b41396c6e6da6b3aaeb76b92a242e7ce4e40121026ff948b86aa884e90bd8fdb9861af26e4e8c1218fbff8b04ebc4fe555154cb8fffffffff6d96033338aea4be51c1ca84dd58cc6a2051c994ba5bb30b5a75d38c94936d1f010000006a47304402207ef2ae0570ed3effea00ed938d07781ce7141fc2acf6bc0217e903d91799e15e022072cf3d5c9d261bf35bdccbeed65a4383619463ed32eb685536e90cc1cf698b35012102895d61063668c179c4599d55da49b95bb68b994cb65db783c82777edde6b1c12ffffffff01a46b3538000000001976a914dca8b9c4fc1593c28dcbe43139db17458e0e99f288ac000000000000000000000000000000000000000400008085202f890a9455796dd4425999fa4dd4755a6986651b49bcf3ba358c2c487e95e43ca289b8000000006b483045022100bb963bb202d327ced11f7c58a287401579adb507622ed43e58985e6e7e532d4a02207b5494dd31c48d7fb84e9ccbdf98d36cda1fa017865fab860b69ba5819fbea5701210304496d434394be57033127512d05c5b523c742c2ce0b61352a66177232b09bdcffffffff39e1c076766a40db8d9d69cfaface8510f2bcfe4059a98d9590c09d402080b0e010000006a47304402206f095e8210d9598900bfe421a53dd1b22c4edf6dcf4886326596d518350fa536022067ea879d606a63c18ca12ae97dd9d52dfbbc60cccc4e20da3ba278300b4342da01210304496d434394be57033127512d05c5b523c742c2ce0b61352a66177232b09bdcffffffff5e643c1d6cc243b72f50cb96496748221ec1c626329edb65624421745121ea7f000000006a473044022018c74bc2d7630c1f2cbbb1cc72d0564855ea2baaafe6a6777198518f37df35a302206f371e9dc6b5e1ad13b3c89e5cef788f05993a128797d43387c34ef83efbca56012102c659059321501fbbc9ddf29124711ce2b399dabbbbe3e3b1bba9e4a57585d206ffffffff73001b4b1c5f191e5983c9c1cf1d88c2574ea8558dfb2d75cc5333fc2460a1260c0000006b483045022100c0fac75b3532be3f660c4b9c7d63787e79cf6346bc3f120bab851bceabed46f8022044dc20cdfd833560da410b075ffe7c5be41208c5e9b51d94f7029fae5b662017012103c532bfa8167d04b7d02a5d5e79c4dbe006b063565cbccac33ec257223ce5bc35ffffffff73001b4b1c5f191e5983c9c1cf1d88c2574ea8558dfb2d75cc5333fc2460a126130000006a473044022017298932282af7e019848235c24f6e0c879a4cc1cb77db42ef7975350f34375d0220547993da1d32b5d102dc295afdfbc1d3d5cd23f83f10cd9794c65e8662bcfb4301210289f142dad45694ce9b2d75b79e813d9375ce42f804bd800ce2ab85807bc296e0ffffffff73001b4b1c5f191e5983c9c1cf1d88c2574ea8558dfb2d75cc5333fc2460a126210000006b483045022100c2edb35d566ae757e8beee60f3bc6ba3f498265a0ae84f04a6c5ae4b38dad48a0220589a385979b06f26bdf5cc1afd3894df8a9c4cb1d105df59a6c161545398036701210392d89cc4a7872cc66bc53e68ad1023a79aa82a36abc0f831779d45d8c5c331a6ffffffff73001b4b1c5f191e5983c9c1cf1d88c2574ea8558dfb2d75cc5333fc2460a126230000006a4730440220340d5d8c7a978bc4757857bd8f844340b29ef8d5d55b5b047b9f04e06ba7c58d022033c3e06d1f65016a27e6bbbcc098fd66167e090c83efcf84583165781889fbe0012102f7aac9f88990c1fb7ac9da4d525d04bba0d79da15f5ad337a931462659eba53affffffff73001b4b1c5f191e5983c9c1cf1d88c2574ea8558dfb2d75cc5333fc2460a126360000006b483045022100882e2266445edb804c1c34bda8c6551bf89f8fda303af08dc2746f339c77d06802204283318fd1c9eebc1dc121022b74fc740632ebf7086f97b6ae1d66cd1b0663850121022da36b5bc2597ac8fcd027bc0c3f4938aed4d669cb85000d4f88e1f4c296408dffffffff73001b4b1c5f191e5983c9c1cf1d88c2574ea8558dfb2d75cc5333fc2460a1263d0000006a47304402207f6747fc282ae2b6623477f28e41a457f7dec20c281293d37bc04f9aaf13e87e0220649e6127965469f8f8d263406ab8274ed5874dcb9bfc3752645dac44e1a8d70e01210258080d3a396eec5de96a2eb2c0ae592e878fc2c42dfa261d0ec52b923b9815beffffffff73001b4b1c5f191e5983c9c1cf1d88c2574ea8558dfb2d75cc5333fc2460a126400000006a473044022023c17ca2dd8c762bea5371331e2a626cab609b2be76f176ed64f173d1b7d742502202915dd0f741adbddb9a01960d228dd7f175707af63885c405fe4c06aa32a632c012102e55d06ab7adf96c0a1c2d37f720c11b1658d368c62855948665d51e649b4df3dffffffff01236f8c16000000001976a914c55b38ac3a894e5bb8b244ac09ddfca1f6fcda2588ac000000000000000000000000000000000000000400008085202f8900000000000080c70d00102700000000000001cacc4113d2a79db60ff32621b608c6a223daa686ebdc549a97b0eaa789b22055914e8b02fd17010db178285840a89c4de9b78fc2c0d6b926028b45626e1adf4977a22b5ee59779bf8fb22da196623de36964a20121cf5356830e7590cfce0983581ca993043ef76a9fe3a5abfb1bd578cf0b0f147e18cf2306332a83e904fe839619f1511ec26aeca7cd64b057752fb4800b7723522a26e790c3908b7d765c73ac1247d4a8ec7f24b88c9c25e328f9a1a4c0ac877e751127def2a26e7c59701e2ff2584dc42c3ea26406d708fb9788b51813678f95ff7f00e19a181d6ea15c87196227fed3af00df36e1d68e3d77b417e8a117a5504b2f022cf88b42fc51e8fd4cb7bb21827351781ddbf6ca297859958a66bad73333586fea2613d7a91454cceaa60bd5537f30d693d117d4508eb2e02d974a487e1235143963b0ab61ca52f50bd58eb2700bb172f77525bb788736773c45751242a7ef65d5b49d89d99247e614fb817fa81697a86ff41f9dd38ddf32f08f3fe031b31e72dce11506f73d3b010260212c5d21c212716b8cc73c81ba92a42d8573a3baa809bcbf3febc9f27fc59dea07b7ae43bedc55635c82344e85f0a2d43d1a2c23268fc01922b32aa7609b563aee78a61a78e24d065c697668971d8cff02adf9ca47d8f16c9a26737b4e995aa571d97ec9c0cacf225bc6fe2d28af09092a1294261036353bdbc938d8565ba4a42d89b9cf5f3722b78e13c0a72ed8cbd2bb6085af4f860affa06575b697bbed2f3e9522833ef0de0d507f52bf15b945fb67111c4d8438c19a40b73197738807fea89c326ae4dce95b16c3cf8ee7cdc5fb6ddf97a17722bf44ef3bf33cd51746893b59dc89ab5c8a87103e5e6cf5509949aedc1399df77f45b396b3c7a9e1f12c42b2fb236137b3e55f079bdf2d18dee41d5c79b4cf04141823f66f58bc3aef7d69c56e26f26efdb17016e6c5cd80b7b5737402754d0188b4a9dd4172369c8b76d8c1a3471980fc92feaa3518a06466f14d47b9b4b24ac61f3ef83eb0ed230c2333ac262e8f5ab98c3adb9c338841e51e3c99fdf7925105550b2acfc58c0cdf2cd9afdf757d3b1453443c430528cf5c6150143797c69600dd73f69686ebae6d3b47481c255fb9c0260098f2049a4216f31dc034241572e0f4803f8231c9ce291d62b2d0a8601cbe4489a8cf1ea8755b284e85f2f9606e1a19601fb53fd83a30fe304473860b66b8eb7e793d220373abd16e8bf8fd7922164c4ce6ce7a990741fff2cdb1c67f624d5d138aa7a86c7e3dddb2b5cbae6bebf61307cc4b8db1a1bc8d8c173648eca25a6bcce488481b918f1a7f31d189ba36f85db0d4961dc3930dd496ec4fb68fb3e26dcb1bdcb891297e292c0711b8e86d71a88ab3d2dab847c8e3f4bf5e6cc4d610fae039affd40abe6e4e5553ea4fefda4ceacacf2f41d2cd910a7faa65bacd56fd1050538e95abe1e4c9d9f1d076e50c1e3fec21b7ab6871c68c7358fe4a7cd49f3d4259de5418dc23f81516269146dafad5beb6a0eeb096b17339d94c6a575425946ab6dad21fd9d7abfee0248d5ff7ad23e9701219edb6f69fffdeb091307503f8ca662f281906dd7639763a826ebb2b5ce04358d07cc4050ab1848b18b0a3138183711a3ccbf810142f0dcf6f96b8d3b8d6a81c7c0b27aba2d21b19972106c03bced4ee3218bfdbe471849692128d6511baac7899556340ae5e5d7f9c5b16d38e90773c0ce77cde89fb8ba71641d89f544b56246a427ef506ceae6fddf5ab46a0897200263aa3179c27df163f34709eaea4bdc8dfb7d99554da576bacabe1bd845b2bdc35836e12f4fd40957decd8b7000ab7cfed776f7cc90813d35262fc2d9787d0982a3fcd2fb4cb2149391efb24c537a2035a1493875942a859143e1131df3b823279433cbfd2fa8c15b311d7f4d647742480e477c1f82b6963f5e389d6e9876cf85732274bb780ac6aa9c46eaa5d168ae865b924907ec31438ddfeb8aff88b62632b69378fc455ea61d45fb51c812974e3b811dddb0114d9db3ac0f648dd967a0318f91d1a8783d033a02b1772a27204b32c3bc1c1b6cd53e27ce0f3bd7e648d4e3b6e848c87e4bdb7e8fa1b04f0c6dc37e2ae44c03c6d6bc48b2c531e5984cfb549352ef08976394e03f8c7cf3137533f8ee528e1a8216ee0fdc94f54fb87c8a18c7860de0542d424c43aff5ae4a7c5c87c18cd3c4f67b68b86f5da254b40998a915afe9d1a40017122432021d0f194d2285cd93cf2b0b45940f2442d731e8af545e2f67fc6fc333dbb28fa1c65062516c2c79865f29d2c9e31ce40d5c3747990565e61f595990d3c1246c5602eb4cd090712b8930bf2514f3a3a8b4e0150c2e2d6517b288ffa2ee3ae48c4f78b19dd50da1df994e2612d541733492d86d8470fa32b15ccc4328310b16bf0298a110e14db65ce711fc95c2a1da017c54e598d2927d3746a50e00728e3ff2875cb31ea218126d4f2cd800b8530b2e925118ef5e9ec2139f9fa9bf1fabbf5ed34c2c6dc71d1830364b62bcd90ac23dcedc97a2f180bfb7c8c4605821ea46dfa0d32376e7b654eb2c96fada330f53ea79a05c32933fc5bdbda6a6265a23e7f06cbc32aa786c0c4e79bbecb8d1065f2095ce39c72bc0248a23a9d6ce13e48b723e446a1bf8172d77f77bb83bd77e6323768da8f3557a7e6a7255f539c1580d0d01dc349b414793f92348634d2130f3ec6dd250a506411a18159cf58e73203e3cd4526f1a5a9e6403c44d12f4b5711b8c65b993252fef2b8ec5aba9b5eb4d337c0ee5e346327280dac87cfb9f2d481ecb7cc7f88075a9b535b605c0242e4048d80befb94e059528316b51499b0441f980548079eb6e9b643aed1e5acb601be9bbf88258b147c05bc865e57cf410647705421f970117e09ed6df629abf5cc7d77ebe854bd509f9bd8d9735d4a03be0de734168ed46d28a8bbaec1f1b80d82022d5d0a17a24f1adac2596b07eeec9b0276dcb1313897ebb27b2f179bcbbcb48e6a037b8dbd92e7d05ebcf12e32f95958d0e56d8dc36a0226799c61f333ca9cadb36cf3ec205f20f997e9c4e11bb51d3fc007f616350f359d06cc8e206ce7b0cfe09b5da05845b57f245e2bd6ebdccfbc2896884e83767a4f63df8a181a403db867171b9445b40a095a23b76d54d70a5d4452bd2d198bf119e96818de1f46fad94a211a8b01e40b8c662c7b6ba3fbacb238be4e00788284cabae25d39542141c89be7e12083180820e4d7c4cb42de36e002e1f66bb9a33b5477fb76b1960b19d2e769f075072475f3ca0b9884868a81520f0c22070400008085202f890000000000001ac90d0010facefeffffffff0001413c6732ed68d7ba77627ebb6770f34a6720ffda1fa179830aa42e9755576722e2debc9155c07e55931f18d86cb64016ac93163107d56a1ca0e798b03eef652aed206886a0c49f3705dc4b39f275fd8f67f2dced4183cb12649d60a91536e11ec666b55f116698eb52fccac581d547219031082124b2ac933b9342f1275d43299a1514ff2cb63d06bfe0ab823a5750635e1f82c7ae19cb2b352eca4cdca29caca8d01de7e4e19b2b31802a68d60475b560dcbb58ec0e0c34f53e73cba703b303d1d73eaacb159fdc3e52276739ad655600ba2a7be905916ffa943d1bcaecceeed39f9f637295fc3b842bf8a55b28b03c9bd2ecfbf525dd0964271e10fb0dd99d51ff338c8186ba41e844f9e56d182fb1ef3b33da5ad6d47a252e5b4aad01d719fb22fc87953fdba0de3284520fba29ad630b5f6853fdb56d3bbd6861262e5df61db71fa323334a4d20cec92917eed2dcf698a27e7bfa0a7f1eed8024d18e9b04daefc8ee237087456289096fe327080ac634d97f2f80bf848c800d8c36cb25909505f0138184e54e0fa83cb01950fec0653ad4aafa8f71dcca30c19959c04dd5caf28b45172e4643404e006facbc7d7a7e3cc9b0a37d74d22ec7b4706d6051186b3e06faea75688642eb9a31764cd0f307d99a5005719eb2cd1f4e557b56567ea326261feab21a101ab451f21f098649cdc329e2eb5e253128e9caf5f02f93d98f4731137ffcd9daea9c43aa0bf0ba45f7a97bbdb6005d5cfddbc29ec3ec13dd7831abe5773baff2f04833a8d34a690390ad711295536a8be9f12f8794298cd845b4d6d551fc156d2db0bb2bf4c05c899562b1b1249f69422c7b42f7099ed2befc220a882f68a3960604eeb7dc67dd9b3d8a0fe6b7ac2aedebf7948b23065980445ccc92458ceeccadd78b5a002b8a5ad1be2b7585a313b7a153c7fd007d5dca909406b5cbf2835edde4f39ca9704c9382f1b4c84ac35f9bed8aff4885335f34ea99db3f5bdbdf47bde906432c69881eb17043a1a0ea281305b79281e0b5b8fb9c1cbd7a1633a0be9dd518bd6c6089e28725e3fd8464d19ee43008fc442aec02388cfeb900569b0a20415f99cbc02b77d6f371b39f422f5282b7aad81b109851835ab345b6680e5110fd02f08bb4db20f5e59d405766a24c7a7da97dbcce1b2aa9c4f46ff717d0e1783ad35e46289e59021dc3c00792f707362499c0df256a84e9f2821d89d2e6881dff054d90bb19a0630c21e58e1c2e324708c775810becbdb203e7d0a5fe55c3d3807512866fa2bc77c8d059a4dbcde20dceb9ede0cfe9ecba111b2d467713bf0ec5ad0eab934fdf6ce3d942010000000000000000002d3101000000008dbb072dff061d295e2c9c1f8d14ccc436d06887524d73d10250e5aaba782391a6885ea8ece4df5463ff4693ab5a3176086e643353e9a33328030db59a75094fcf2f6248acbb170008c9478c439d4d9eecba1ae925aabb670613695be1dc89ae3eca46efab92f5f4e74018e93b17ed59beeeb7cc278b488cc3ac41183107d33107fb0a727d9c45982204d5266fc27c24c519b006f86cc7a1b8fc003ffc9f8c46f0a02aeee2e3147ad77ec1e8757e82d264305a5081b7434d3896634bdb994f0a47ccac3eecbbbaa1788cd3048454b29294255894bd6ba2473f4ce37abb84ab46ad8fdbdb795c1c7cc01b62f31154a7ca61ede2dc11ce629dd0b307e26435b9281feb2a3748d73d0be1e3e56c6b3bb25daac4c4f2d3fa2274e214746205f86612a31d0e8e9e059269fdc61afa6b6646c80a1f7c33de4b01085b7853142cb3188472a4d6c7a99d6da7c4a98c01c92c9da08e1e969ffac3f78742e95251168bd039c0c3bb3a256e46f0559aa48766c2f61ab89a53d951768e3449be03f6739ca39900775796f165a5042149dd410c7cc7ec42fcbaaf03bcdcdc2d440a4c4c4ec4838c9f73844a9e0964077b1d74b21f2b7293cc40d3ac077d9494eb9f6cd258e5ed1c7838dd622382e8853e432b5e1cafd87b92c3cf12cec0c3e6adce7c7d2954ff3b8b691923b9f1834e0de66e77c9ca4d8acc1df43d5545525176c3a6548b7e552f6962c27f5d47b0350db7db00a70a4f895866c57d5db51cd0c19e76ce99e327c57f992482c9ace4719505e16d380db29fa5210c0f913199e965448b7c5f4ba40b233ea6a335dd2d7ca12a7b35aa34bc84e24f4f3a5f58f2f36203fcee660f027520ac0f5aeea0866ab3f8dcfec29167601daefb75f46f929ae9f821fdead10e9d86f4a52c6ef1e2629af9c5304724a5eef0989651641bae8330b97817ca153729bca6b555c7647c53a27edb8d17e6158105215e0088ff0704de51c77ffc93324f4f4bc447cf5bad3eec69331a64a32e769506a715db0d125d4d6e8aae1e79f114d4670187f865c8aeda89d842142f9835de034154f7abd286eb8ea39d358c551f8bf9bfde113107dae4c7802a1598039a02e560c34f6eec59817e6131368693b30fba91f6f193e93b16c97dce879bd754869f1cbeb35fd8800b63d5eccf150be031aee3677d7add5d62dfd45510ec204a684ca54cd02d1312f8636c4f88e066716e19ee7f4109143123beed3ef5ab31f2cd884e3b82b8c2e8a891828560aaa8917273d921d3def9f46c8cc25074632c50307e65699b31e634de31134c8ce18d32b6938c207754d34d1ab1677d607a6b121aa3d2bbfdbb4c7f7a8b0dcf63ff43b7f2de15eb29a73a9116fffc41b0357c46b635f855db60a9fa56aeaba2172ac4937ea7388fdbce8aaa46e850ff7189b7bbe321f362bf3da2218265e9784f4a3bee393bdfd0c1a0d85c27a6048144cad1a6b26caeca83c76d05cb6bd5f5f9fcf21bc400499d33e32957f51bc8d65bb5d9305f570a328c41ab36332701a14cb6138e9beef2026341a7673e3081dd40e87f9d028a1a04d3999489d5ffe861f115fe1a7f7046f8ac3c683d45f06314263b96dd8ae7128865107c4b9b0ffdf2ff92568be59434ef3ac6e31649c137ea267295936257013dfd19038b09239a3e8f949a3b9eec522d8be4f3df7d1da36802b99a6f45bbf2ca1f719310e2a36c01c4ed94210efe8f075fcf8a6bdc42f2fd18b03790d0433d83884ffb9904c6b2d58e22a878d9b72f807aeb983f4ccb0f2b82f646fc1217a6bda0ac58d0e94bef17d3f3372ada4ca3203ac7864e3b364bbc26d4477fbbce116ab2768bc2315f58b40be951cf038a8832ecc4de971e219f0648df5b70318156edc88a0371f7c3222dfd6619be8e24e2217b5c9b2e5523e060a746443023738a123af2e0c7440a8dd9806c9ac7c1b096b9f3fcfd5459b0b26f8e760d52e463073e0a733c8a3650e54d870d6e686387643685f3d346a7ab2674b25e6291181011bf04d7156c907f5f7bac7b339f466b03bd0d02e0c5b797f55561bbeec11225fe613d06332efcd71b77e503dafc189c5a53ff85f939095af7a5b766cfdbf0be10e7dc24a88c32e3d066d54f3b40d45d83222e123d6548e380d1340acff460125d15bbdb8fba28c919dbfa6fb0bb98d712dc06da0d3d2d882cbc0e188e9778bad9acf70de6b29681343a5255d004e87dbc513438bff665037cd6d73d56f75a478bf34f60b8a72a4a96612c15b3f5914d92db83f3c748626253ea6350ca742255c3b0fb83edbe37b94c9352f6f770cb4c9d1741a87fa970d7c389d251f6f5db8f7797ce9f8e9746d14b933825c12a3e4e85094a1749806af0613e33d27893db19fbc46026ab4775aa8eebbc94ded5be74ee970a14992561624b4b7bf1a051d20440c019df753e865ca9c88db04077c83668335d2d3f0166096c6efa5b6baef768ebf1b7e961acd74e8d4d68da613885e6a1a376abeeb0870789fe6fd0b9250ee1537c29953419bc47565348e41ea000fd5b9f8a7f89b97612bdee4ca355b8633b4451e10c4f69e10fec5e8f8a0c91cbfa0c0b02d6f1077c62e3a889de273c0a0400008085202f890000000000001ac90d009077d5dcffffffff0001b78b133ac793ec71c0ea74b19ab74e4c20dedcab92addeeb12b8af63d54e885f755bb5b525179d37022494a7eb33d3382f7be5c3ab78a1716f476094365ac246558d5c720877f28a7b077326640cc1dac878e35c1677060b7b2e98fdaef2f3429271093cd2445a45adeeb0ad15a59ad5419ffbcdf70c056ec65683e4b7390192be31e5b70dabeb60275e58d701ec69ca39c597c2c747e876df1c94928e0f95a00bf325c35b79788f4a964c779d7f3b998bca363723b6c99e41c0f0d920597cac4ae9a58a7f83e2d79c2037d3a3c5e9985664c03f9555076ea7f16258dcd534f29e60d943e9f2c10398cf82f834abbdf2c66a821cf7aca0706be8945607480086c7fdddb8742ed3ed888adc4709b513562adbe9a07153130e77c02dc95cbc0d8e113950e37e771f6ba3a0420eefc440b322ee82faa4091f6cf4e8548649f72b2d85e139dddccbe9fb9380edf507aa35d5f86a597eea1c608d2a579971814751a75f7a836c301000d72fe4305f721b57fc3d8bc4d181e1a4103effc8d15f866d6815ef219b4976ba304dff1e965d3934d5c24e42e3a5ebb3da6052c89466ab9d9e47f2f980fdeddcc8d64ce158219e10ebe1ad12cd58b6772651dd5afe3a5f58a4f605fee72f5f285c66f9694d522f11a41c3257b5e61bab0c35a6f962d77ba86dbe4b65260d4c2498f91dc11592fd4c66fb66ea85689bc61bebde22fea0069f199506bfcce4cc424ac9971da58f33d6b441f781e0acae4c6fac2d08ee32258fcaa12fc84b24585d03906e57386a1272b308c666da0f2fb4c85d9d9237d0746fe39d277382e071769ee1970cfdb14c291a2d65e68445a4f25a61f53f6dbca7eeae9c33d5fc325ef6971a0b9b16f67bcb988b4102d5a92fa17713d49517eefc9a82a21bd4bd0a7e54abcb01f0eec1968c114a30cfb258c5447df837974b39acbf5a4653ad45cd5f788876439cbb96ad0c08ea350452f846330519d72e19c7babf5073166c6d9a1c0bbdfa724ac46815999f3b83e96d37a5a16fd5b6f5aa2612bfc71ce02c0568f8bd777ece324475ef10f51348969ca018b6f387e918c7d8d1af8a3892253fa584c193134348f9d3b1b2d074db8e420fb3f219792c477d65763ab693941d0f969decb0fc46c01e89cd3d0c38a3dfcfcf8c3bf6c341d3de5166dbf722b441192c28aebe737d560b436492eff07cf2330037f31283c7c252d56606189d5aadf2a8a55733bca908070e1cdd17aabb572ec186b2c63847bd92eee99f474781516ba1af7d8602790d25cb59c4a03fe9179483786ed730a7a3b32b4a6a29378a148ca3c80db97512b23e51e6b0609f059e1501000000000000000080af2a23000000008dbb072dff061d295e2c9c1f8d14ccc436d06887524d73d10250e5aaba7823914774f19e5fde482e72ad96b699746b61f4e5a8a013e7057543148da25c58a7218efc72c7b09810e4d4b475ca5e557e23f550010aa7b7fc64fc87fa32665d4e740c16e8de75cb1736bcd43927e2e6b8c3a4918e6a97db4d8233e972c8a615487898a3c15a3c6fbd0dd87faeababc94b4afddede1f3a9d779c200c5e8f444df51587d08951cba24b1809f46911424880ee9fc2bc5891ddc1469b8bda615bc681480f5d2715c06c129d11e984026189ce2fd8f218f1d296eb70d5fc65954b42c964a1f8f15832c1276f6e38419cf4c6989dce17dcf2f3a9edfb44f7b72ee3b44de080ee1169a70cb40c54ee402695a50f5e5e0c5e73eda53ede282b143b96dbb4a2866a868cf2226c551367656e52e1484ea9ca1ad74e02fbb7320e18e58ec0cd077e99d1ec05ec65ef8186ad7c5e2fbe01a92931c8d26b4ba31b0479a85fbc28ba847e1be3ef3cc8744dba05df18ef6db6eb302d57164cca93ea9b81a780fd64e802ca6e20e87791645ec6e7697d8b5c8d3536ef5342dddc27a4f7df379a3e8cec1d1247d0490f4d40fdaf8107b30b9fe1b5149e2f73be2a71de97d7ec38d8902e017b2f04a71bc1a0203d9535eba2f7f2845aca65348209c422bcadd086bc14d5919a2eca6f62cc9a91aff935b37e43107a45b1461cc11e16ff53156fe9b3e1461cbf470dac10b837e86189b71a51083124408f50cff6e15f60822bc3ee0450f77a9b2fedad9e32134079cf5d3814e7c402ee922e7f28446da81e300cfa9499f313bb929dda8847977e2807fa6bfe5c36aff66d1755f40d36d59d45e782b508a43b0e0d409a5a66a4c44ada7d8e3ea776221548e3748838dd0ea35b7d32b32013f303b4726ffe9ded75d8322ff5ac40927f54095e6232f8f9d598b1b4b7b8d6bb3e56af933d48dce607a198f6e412efd361ac189081690e412fdfa40ab9b35d1cc18f27bb72e4d277561f91de324f9d9c0b5bc71c371feeea35bc9e7633deda68faf7d7b8079e64d4a3208a7cd8a34d24df96b0c61e5b1c405c95c1aece6fa4c84b524f79637cb7dd3192137341ace53ed4a2d4f9f526323db8c75d8b4500aeaf81382c8ba5f238e3babc824af2d91f43a8e4fe6cd232ffcc1a04c7bde1f393afb65e01d666460d54ff3069a5621b79fd6487bbac292187de6495bcf3dbac0c2cf838410af59faa29d7f7e0dab9372b6d23eed067c27c0fc8cb645c76d234b808bd75fec435ea8512de097f3431f4f51c247d87edff0ee989994e654e01a3107eae73f50e38fc35808ece0a00e617acd9a09b619090789d3ddc1222b62e7d5769d561986165a61f007a80a0c520eb63b9099c03726f690e8b9f04a19eeb67d015a61bb8ef44ffd969785eacb11fc024b9b7b83d257e4e12234f2388ce4d08c5c28898adeff6d597b8e297cf7a0067c9d1afc0b5bc04be26061822bbde6e78c441273bfca27a7900d87b5d263899cb15450fc6d6c0cbf38d3f70dc6e15e212bee246a54f3e16f6bc6e0150496366e986c192e39d73cad44f2a56d136c963f3afe45a329ec0683ac962734c8edef11a1d4a8c5b19f6a0c44ed8f3cdba316fba160a542dc4f4ba43e69adc3c39bb4e448e766c5f95e116222f9f69ca57891a083ca52c4c2b3861492232169785da0012c7dc6e4fe542efbce3de203e8ffece1e70ae47517199bf2033dd2145edb61833a88d75d18536b1350e833d7ae8a592b25608e43842a4a6b1a19d5b22a5bc8c7988d934daf4e5568f9a9c5eb3fee9fe3ee84adf22a97fce8b2c55a5e210ab9b30c12f5295bffc06fdcd5e447fef119105ac7658e0df5f429e2682d180f5abf7f2609a1d09e30a5eba81ca932bd4742ce1ad56567d57004a0f622426e9b5105e20638afc391f6a78055becb3624943d40a6675a4d7eb9d981b9844c7221c708f7f190f1a8196e32c7d1fdd1caf87750cacd720fd282197b6be332dcfb44df8c8d4ff7684743cc093a7861c3f91974e3a8ae546aefb9bd7c7bf8935017e4e573a685ad77c16c6e36d75f790367817a50633d896896f3e94c5fbb938ba67e95035dbfc2f42dd2fc5cbe4266719cfd155d3927d9f3f74ff33bcc2bd460aca60084cda23dc0cc8823a4a5bcb19d9c14eecb68f82ed6f23a4f7cc851ea41343a4d735c303aea169b17774cd38e863d534ea37297ec8ed1ca8908f30fe31cd65ab89c63e43367a9910b0d5e037f8d6602345433f79857b7f427fcd369ecf41704edd76b52f1464386dcd999657b7433f9ac907bca752a30093f59fd13860c8326cd10cd401f9716fec334b179e0b3d69a08d87aee15f385f2a964eeef708e478c45338cb5f3e1fd0237bb8c1cfb913e0e3b442df803719b59991fd19213c34f71553fa526b3996626c184d55e444d864a58a129d31f7b400390d9a36abd9c8d2df4685c9db0c0702a3948a508ce329e698e37e47f589c42fc40a959f78ff889cab0e3b49fe9f7e08bc2212ad8a4334cd2d15407cad94ca2d0e8175d945f428193fddae6fdc4158ede56b94576db5d5113e1b6d1b650492db7a58820b4f8b3c10079c69d822edb709 diff --git a/zebra-test/src/vectors/block-main-0-903-001.txt b/zebra-test/src/vectors/block-main-0-903-001.txt new file mode 100644 index 00000000000..9020da7d363 --- /dev/null +++ b/zebra-test/src/vectors/block-main-0-903-001.txt @@ -0,0 +1 @@ +040000004356be3971060676fee2e98d845ed0b4f8ec353ca9648969c8d1aa0000000000cbc8d99f3194e0ba2966ed97887c00865dcc9f8d04928125b5da52a72949aa283f8864630c963601d31a23bec902e68175ca339160c8e2425e8bf98671be0c4e9932105f508a021cb00400000000000000000000000000000000210000000000000000008000822efd4005015122da19a49b75e272ab598df09543048b7cf130220923f1604c81293b7e95a8ecf2ed130e6ab8c1ed083d4960f1423db8d9a9b3f09f6d4cbef783788baa0fb694e633453af280e5e35408cd5011bbf37a46220d8d06042151d59fc44794fb185b15d9a24a733a95259fa29e861a6baeec7ba2b178bff5c283ea7f2b3511f2a14e04263c9ba70db12fcead8779dfb85f049d6b2acd4531353bcbb124c773243ef84f35ee9e15a0040a7e8994b195e79495047b50535f1bce697fbd5c2113b9446a137103b1e6128ff118d0c92c2a4afeb310abfb440ae597b3ade0c5967ccf28dd73e59809a128f892d9804dff8f5194c37273cd9fcceafc7c42b41b5184ecd1164cd786ffd2ddeec115c8e2c738ba8034b291f3963a9de7f18fb5b7d22ec7d9d34c180d3f1fb929a98d2349a7bf914675d1405881ad262e796b688cd34be962644564a6199657f3e1c729b7beb54501aa7937a710a76d1bec431e7a9d0e0e187b5a21d1204fd2f85a15581b8bcb136ca4b4281543ab3938c015e07e33a406fc75908791e88093a5b178d7f8ad562900d39f9fdc02d1eebd04bfabe61b6ace0ef8361201d2c76d2753364cb0c8141ad7403b39f3ef9514ac3b9b146cd690860ef9b1f45ecd449399ed0453a6031ef48d00da4c263e9a46c4595db1c8b9d53fb330cc323dfbb9e952bc8dbc5799d158ed6b86f9eddb408a04a666e968db6cf3f6acd422bbc7d9b19d83ff70e10665664cf011f14cb2dbf0b6a34f6308e8a0ac59f106036e595c0c39c7bc1e81639e1c39b95e872c85dc2c8733c1282735b797ce33f0a3682fe2fdf53aeb080f5becc5384581cbd9a01224b322a2e1986cf77bc018cd652c63a829a3ee3311f239e6f63130106ec3a1135006dc141328dadd9351d5909b15c1f41e91eafd144c07b1dac5513d842a716881a51910e8c949fe0601848d40a8cfb55ea8af91eabfd3c7fe715896138c1001db46b98df9c50e6e675202bcb99e6e995507150a5d77b289847093e2d7711b339bb460e33e1f1fe4342d89db2cdaa35398b8f3f78c263b251f90d3c25d0d71491365edcbafd5b8d5877c67deca2072d72eae1ce06e88c460cef7b600523ccfe428866ee19b0ed92801a5750cf45661f81222ae15df5511bfa6d4fcee8351efc17d256dcd6c0c8b7f7960792730497e6e2b030d3fc4ffec9d2983eef4e07d72eeef83867fa33031cb6ef613d0c66f248dd7ec16419f9621153d85a71005da3808052e6c7397586cce703bd65d2e7802ab33f13c6bd1227ff7c06843f053e98e9e31e07d9a4b038f3a8bbb6dfa27e93c433cd86ff76568773b09610ee4293baed8d5f2c95485799bc5253a640a1500550fadac0715089cd13c8bb2bde15ca368e00076e120193b8514aac7f5289ffa91aa5ae85f7d731c0f8f890341527e340cf4e4ba0b25b4e76e4c5724f57a04c21ccfaf47b3e867bdfcf125a41ef1a9fa77d57992da37a9b2414955c553d4e6f843a55f40a617dafbdfc3431752cda3939d78b401e5076ac715eedd8d1fbdb203930757b146886a8e0c713664b8914e8a68989a010a4b84a5831e2341669dc17a61727e34e5f0bd11723430da9e8a2510e73942b5f2f1be5cf766fefbf57b3a7706491deb0cffea5624e94cb65192a8b29bc57c0693a9a7ad19c657b64d849bf82a7f73541e7dc2101d7f3524e124c413cd223242321997e4c0f0f88b190af5ffbbe95a02b5af36f5aa985c14fee0a5d81d8b7e9f3fc537ea2f87542a0c442ae6c4b7b32c9e0dfb0eca5fd2ae866d63386cb46bde2f75767c5f143180185bc6c17edccca59de033292b4b5ccaa9aa3e3182529524e1413ae769dccd96380c70399af8a97ed3515b618e148da1bb038038261235324eed8c037df43f080400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff200359c70d1b4d696e656420627920416e74506f6f6c34383a000100201735224bffffffff02405973070000000017a9141d4bb379ddd4043ae86c8b96e7183784f9eddf49875f09cf1d000000001976a9149a2977d4711ec2d6bcbaca0349856df1df08f0f588ac000000000000000000000000000000000000000400008085202f893230c0f4034038c49e6beb2683553ea50fdec191a6bc78eb3cec23962b5500b73a1c0000006b483045022100a92323e68c952a9b5c476f6c966a6bc9db4c867880f4da40c21fef537cd70f2c02203f0fc1f37643ed1b75a672fd7a6b7f3c4e7fbab00ce3a02212c104e245bc41c4012103242f006ce5fdff911f8ca5f1ed5256b8c17073ad98342b7aaf7e6c699f0e5a25ffffffff23cd8652d0be0e7963b99343c3968aedb80d39b9294dfe60690338b6b5f10a2f870000006b483045022100d3101f8be8d86867628f63491659145f96e28d660aa1757a18e94dda5c0dbc0102202fc0f7bb3e7e9bc014537a6a11d0ec6f8c5326e455d4ce8e389a19fe44e1e5fc0121033ed48422f89c5415d05c43a2e5e085bd46378a768d0d517ad05c9e9bb19b7c4dffffffff1a420f07fab398ac3baad97957b802bc8b405e37d691779216640154a5a5ceccfc0000006b483045022100d031ca39f2581d949c989701a90a5957fc2ce20cf0086542cb1d5c41207fea4902203322c576426df3a1f9b104b06f38afcb9b2b55da5eb57cd99fda760bc57b56780121031d4d39837e47d19d39d7d9c5aab3d13b7c21f1f11da04f1efad767ea6b5f4ef6ffffffff143e4c86ed1b11f823881f3bb3c885af08219aa1e9430f9df6d54a2d864db343f60000006b483045022100abfb6ec7acab4e2538dde11501d852a5829033b967fe61633d097a522af89b34022038ab8a3051a6a9aef7e2d42605458bd49e950c7f20ef052e8be764b78c50a545012103e07f052f767a7c2066ab369382a318c6f0214ff13833fd1bbf4cd91b63c4346dffffffff0d439c2ffd1420dd6603f4b2c7b1a58a9713f1ac46477985d31b334c739a5754800100006a473044022041a93321dfaf50a5cbdaf3841069425f9a515ab3c3e08b43a9a65ef0a115dd37022050974784e526701888e26949453bef1475f1f186ebb9961f37a32550b2a8ba81012103e0c368adf22df41c82d3894a0b5f3e45616a0efcd01f8657a085f70a3ebbfdd3ffffffff0c570db682efd02ee912cd99149676450fdbdebbb46bc9ac9899f18891f996c7770100006b483045022100fa1b720ca613103101b7cf8e6d3f67bcdc22b23574d06d827736692cb994c1e102200a4f704950931eafb62c3d26be57e21d58e21c6ebaba1b71b4298eeb4b5e2c0b0121031d4d39837e47d19d39d7d9c5aab3d13b7c21f1f11da04f1efad767ea6b5f4ef6fffffffffe868704f23011978c5ba641e11551deaf141767c14689219fe0de660b9a73ff6e0000006a4730440220601055bfef6ec42c82d1d7dd504c1ad4a9fea6ba6aed28502fe7732e592d67db02201f5bded96295bf7f51e1f7d6d64ebb12a4bdb8aeea4cf5327e59ee21e241a0470121033592c963193ecbec4b4c9abc3a633e843c64843019524b3f8e8694fbaf476318fffffffffc121f0f01e569b6d3cb8444be49a4cf7c552cc05f3311bde5f584f589840806130100006a47304402200e6a240cced83ebed8cee9aaa8348d05ceefd9e4d3b8f78d1cccd23a3fcb770802201797e1701039fc3f078741d68179ff14d970a6b7d13b3b7ce0ea28b1728e3233012103729e273164ab53c34dbee0bff878a8f7011274b27cf84f6a410888830556e3e6fffffffff80165ef3affc56043d19dc37c34034eb40ad6ff44f52d772376e42520abe3fd4a0000006a4730440220145df317e6b11ecaa9670a712f37f68ebb5bbc32fed94f9111d2fb379a4c676502203d967158279daca6df093d9ac5c5fb8f5b67e5d7cb95890d1b7fc0380e6361d90121023b273d55de33b343541cab8b5d15397ea1c8fbbb04c093b1e4701bfd7f53a381ffffffffeed0ad09adb4585e92216a1e934ffaeccace60fdc31ecc5fcf8478a221ed78d5870100006b4830450221009d8710e6e3f26cc3cbebb1ed04046e0829db28e62ddd36e0beaad4eedb021085022050d6c4b269d763e551a71de7ac626461d3b38bf775d21a3b26b5946168ce9cca01210282e29c9ac5d3577ea169d2bb60eb97988502cfc61650e5cdd5ac07f7c5f6b638ffffffffe859bcc41bbf4b742ddb0009a2e25948d5b4d11ba5951a2229cb19bb12f893e4c60100006a47304402206847109ce834e96f697f323121275c5fd759f735487cb37170ae349f641cdaee022069e78a84c29cdd94c62a00e55d4dc9a9413ad3e65dffc27d93c34a72905559bc012103a5fbe0d85e1d031530eaec51216cf37bffdb7329534603abfa116a389680af27ffffffffd6c1d1440ede7c070b837b88270ac5dc50ef02ae739264cdaeedff095facac6df00000006a473044022039ffb20f769c85ea18f6f66312fdb5e130ef7c07b7ef09037aee9f208db8215c02200bb1afb627d8b6f670d7cd05e30a7743a5132b18d490220156f425dee506c59c012103ef83e9917587ca475b5c856e3f6c410c473c1ea8ccf18e6af8bc87e89ed587f4ffffffffd0ebc58fc33db5c6a6870ff9ed06bbf08c24603bb7a669b4ad47ea848f800a66cd0000006b48304502210083713b40456b797cf75a3debea56687aec487f878389fd0027a419979f62b821022071be299c8110d81f4045cfe6db881340b514125837a8a8f09820becf241604b3012103294550de01e3c9e078645f8c9a9607b7b58b0ee2161c5d7445775b61a5e80b09ffffffffcff9737f62c8fc22d1da8048ad24066a1f18155ee6b8ff1672ecb979ee7874da1d0000006a47304402205311b2948e4e3a31bd93bd9b3a485b2361002792ccdcb6e283f9c7cfafec1855022034df2e22b04cf1ec9fc947b85e7980a3d8fa95672758549f242028e956a1820e01210278d6581b7aff9d0a030c2fba1bc6a6e74b6f717aa1c529a41edd5f1f5d52c7d8ffffffffc1d230ac928d7f0fbd82fdc3cc1f807744d04e2c73e76c0d1edef8cea6c3108ea80000006a4730440220019d54c4c8a9425ac5a31bd8b09f5f41694c10bdb5e60d93b18d7c7923f589e4022046d5eaa01aa473f8468b9dccc5b6b806fd734d5621ab6567b7082d88e1c2500c012103d23333a964240d5132708b7e7f33d05790a929fc699cdc602077de9cc5d4320effffffffc1d230ac928d7f0fbd82fdc3cc1f807744d04e2c73e76c0d1edef8cea6c3108e7b0000006b483045022100ccbb6a0abf71888dbe4682e3e5ee7c9ad99892e01db0179883eeb6c9c2c29287022033b4fbe900725f50b39e73c89210eeaf5e1851addd1f425669281c339c5b7f3e0121036c9a8401f8197e80199c6bdfd134ffec0eda4b216c0c728d2409bc8307cacd7cffffffffc09622e2ddb60608a5c103f810f42b2019bdc2bcbf847729c077f32cf955c6e9380000006b483045022100973989681d8a7bc8dfdc6cdc9dae7abe8fc0fffcb686fbf985c9cd301f8133820220495db8947f3b67f9ccb32d02aef287acc143890056c1ae59999dc2db15f65ac30121021a369cdce8826f82f28e4bbbf4d9f36472da6d0a77133f393be8f96e1669d94dffffffffb13b66d9cac2186f423fe677a8e86722bb85b1c56196e4e20f032a65e71b861f310000006b483045022100dc92a602985d042347d9f842cba070624a54019ebc5d66c15dee405a6cdf513902206dc0aaf8ad044c3de62752c0164582202e653e5fcf2d0a7771045841930c1a860121021a369cdce8826f82f28e4bbbf4d9f36472da6d0a77133f393be8f96e1669d94dffffffffb1078493d95217c514d86ec318f41ec7deb908def619812e77a20f45a0f65370a80000006b483045022100870f79514ffc990b6cede86e38c1721763d247123b9b6d35ba0b58ed1791b0b002202c723b0d7d62c2427c7c99db616126219f9ec2c88d796013ffdbafc1d52f3010012103a3a3e67c6f64ad05858bd2e2d757dac6e0cc927cbe71c11e21aa2c97ea1fd9eeffffffffafdc23e76e88e6d214d43d3cb5fcb45c64fdc8fac64781db925318fc653208f2000000006a47304402200cec2106f7772f2a2896516c5c3ea3508e66481016875c694cfbe6ed62d809da02207a061375ea2b7e73bee80d719d7320a6f8bd33cf912b1e5456de8b4a62ca600201210233c41f19a9ee8fa5ffbda3fb21864f62446e8bc9fb282b34e579abb1a6ee346dffffffffabe77936dcc9e1319a78c66fabffdd02cd73ccc60b7591af7f043de7cbfdfce5290000006b4830450221008e6201a31ff507d86d4d8f5672c7248f9f493aa50b00b5671a8d56f3ee190ee102205318dc34253fb9fabc5c6cff38c28cb6d3678a45ced0b1f65abd4840effbf0530121031d4d39837e47d19d39d7d9c5aab3d13b7c21f1f11da04f1efad767ea6b5f4ef6ffffffffa108eba6c2d27bc8e2562fbf92677841ce966fdb7401024cc851ae843f489be3cc0100006a4730440220032c7878c4a05b7f65bbacd7c331c11839f1b185d3aa723e0e9b71ec61d6625202206199c1b1d8d1d702c957727a50fee1a2367f561b08fcb9856985ee582fec420f0121029ea461ac4f68c8c6e291ed433ede44a8e08300347a8a1c721ce81db0b221752affffffff7f1c666a06a2f0118e78fb7ad7b0d6b0effb0ffc433c443d22ee8239f4359e8a030000006a473044022042ae1762a2c25eb0b0b7dfd679629292efc61991ba1d023eb1fdc337c69204ad02205bb849441caccaac96c6b4a88e6697e048425374630c611abd94f6626f14b1be012102c7c6bcd64d963ac64621336f06de4e40c6adb1928915b02cdf592a54bfdd0186ffffffff7ec056fd6fede573df890d6de95aa6af34a93c8aa41045dc668a1a408d9a19af480000006a47304402205db3c1197ab5d270bae902191beb6909b2692ce4aa86bb4f1d6204e6177e500002200f55735bd9ec71a43e18f850951dac469d259be0252817052272418c8e0cedce012103cf694964435a2bc0a99c874fe182bba78f3a587f168c901b7a3604e9490d502affffffff7c5755477667c8ced6fe1a7dda30b08979047de8b9b6db61744cfe4e6fd28e39290000006b483045022100c5de8ee1c46be4e28a0d9039db0b29f2510262531dac3f2a66750d5fb84b86e60220646e524d946329805f0e6adec83c43947af85f95702a031a4fec3ea3be69f0270121029f20f7144e9726a06cd5ba45f077a136105b53e37b99f73e8f11160cabf1a3ecffffffff73f7a5bcdb225f2d92d44d11508f9e753867be0abbb2c85e3112a9c60aa71001240000006a473044022026dd71609ea62b35a5a9263f87a71e72367f946d279bd99bf8e271ce84c5437e022039d3887f7b8147262bde5e99f5d773788cb9652aac2042edf152cdfb5251e5b00121029f20f7144e9726a06cd5ba45f077a136105b53e37b99f73e8f11160cabf1a3ecffffffff62f1bee024a4020b93023026cf25bba307c3c72d0df6a8ea86e3f6e8acee58daeb0100006b483045022100a1e58f330dc30afefb2b79f721a702eba4d285b0082c4fdbd11c6ba384fc76f3022047807502868024e3201d76a4508f40b9d0d37c00d3b2f928ae56ebeb5ef3ea29012103db27f98fbb81fe94b91811c12e6ec46ca584c671e51a0b4830ab4eee4634da56ffffffff4bf64799b85ad4c5483a265ebea831f46507546e039e133291dc3e7e02ff26815c0100006a473044022073aec0cda36edf6e47d88a3556e4b5b7999f5607ca522d1c8ee9321b7899abc90220250673250b0c032a07ac390ab8a09736d81fafcd0410fe27cdb580e7e9830dba0121029ea461ac4f68c8c6e291ed433ede44a8e08300347a8a1c721ce81db0b221752affffffff4a9e33c26d354eeb34a6f73345d39759e38bb999e82edaa02db846ab2edca74c960100006b483045022100dbb16b657f7bf3f6f762444ba1ccd9d2902f80bd0cba55995488ce8c4c3c291f0220210c69410a1e71f30a3bae8543bfde816ad84df1b7818a70ffdb7617b2f6b7fc012102c109409b402266c8f82c5cc69c0e528942d60046998f560fb6278f5b1d7ad5ebffffffff3ece3798ec3bafe40cc7a6b230fe4d2ea1394332849626e2441779761bf3285e0b0000006a473044022059b75a731ba5029c0076fee63c3fe60ce8acc4c51d358b5b7f4a6c24b82eb009022061b803ad3468b5f254868df4ee2d8604a2fbaa9322aaeec603bba1272a1069d90121020a3dbc7d268588de866369d9f32c539c8b548ba0de1ef29fedb91acbcc08c6d4ffffffff39e98cc719b7b3aaf8dc7733b6f983a553be5fa9da08df67d065fd6326b73fe0580000006b483045022100880e722025e1fd84bcc4076d0d53e24d080eb793885bac040755d44d06c8cb3602205e241de11c9f4b77046d8e76cb5b5a86867e5340777d0071d9bb9c7b6aaf7329012103bd743be978ac145046bc1ee67926c228dc0ef139053f8585e224cf86b5e01f8fffffffff2ceb602190a61a281d57469d4447198e0ed01b52578cb3471192829b0ee49ae27d0100006a4730440220498b8b8c09f9db22e825d0ec092e86e5126fbe8ac3f22c19a8b2978868950db402207374a37bf91fbe41a06b241d911abde5abfb4fc92e4b4b3e66f89dc9ccc1ab88012103b574d4c0fb338faf66356488d48ae6bad136410203ba8c9497e04b33f18dda09ffffffff298a73b84a328694160d889d9e4c03b90998e6e07ab1aa7f505f8b7095b1b223050000006b483045022100fe395f1983903bb302cf09e9e0024e5721a28b586a0dad80b76d20d24e242a5e022051e72a59f2c1b309b22bf922dcae62cc68984ef14ddd357ae74b43955553fe480121029ea461ac4f68c8c6e291ed433ede44a8e08300347a8a1c721ce81db0b221752affffffff1ba18e796de184f44a53306cfe90709f65e1f479ed6e9f62db7044af8c5c717b110000006a4730440220720d73dd607cef37468fcafab4e6eef63ab66cb30a4816fa32ca0aa60b24dafc022017bd12110a3cba3f87bf64a4ced17a5404f5b990a11b4d9c9bcd87d74a626ef80121020a3dbc7d268588de866369d9f32c539c8b548ba0de1ef29fedb91acbcc08c6d4ffffffff14f424901abd56e387147f435449771a7ed677d06aca3b32c87dcb1f45f5ac29500100006b483045022100f00f2b20fdcacf6deff858f8e422577124394b555b92cc3687540df32f4f73b20220142d56559095d72a19eb5b0fe697dc1f535ea2a3feece5d25388c5ff96bbca8c0121027d004c9ef295c3d1b8b2d7dce2534b3cd5b406b69e16def6f931ddcb069197d5ffffffff0ad7d4b1a302eebf4e089a6232cac594f3c26083cc9da415643c9b21cc18c51a8a0000006a473044022006cdb4c7e706cee85a8901f34daf2fdbe7e03b2b1f93bbc1ed75ef18ae4ae62b022075d8b111cbdee492c4e5b29cb0ac8e436ebb4b3b8d073933258b7b45cc41a3260121026e301c38a64f8dbd25d8b34fb044713ccd007402d1bc6abeff063763834e4a1cffffffff05ca316224d7878ea4abfd83c9ba5d5cd4a140d5cadcced7ff3327d5d6103d32440100006a4730440220288d210dcfa634d6ce40a6db9ebfa351864e925bd43e7c6006a23585a488f1d302206e5f26cebb09190799bf9fbc9be7153d9a7ef6c9bbce667bd89faac224d6ab200121032e4b00081fb83e2f8585d0f9649c36e6f7daf3674b695c5b9295e228ba4d878afffffffffac78802fdcc20ac7315f4334db091a2b797cd9d2a54676fcf1ec05eb777a46bd60100006a473044022049b4f162886a26cee666d52d09ba180954659e0678ed26c7c0f9e50a510b24d902202ae8728f839e73864287f956dc9623cc993b914dfba358e0ea48a87e615224350121027f28b51ee786c425cba70d35dae379364e71e439ac9f70cc7a49e2e404c3648afffffffff2a503cc624934500fa2efb0537e636a01086a5875a5c72688a75a437848f7f41c0100006b48304502210096ddfedabce1f663c7aff9e6f4b688c438bb84c6dae2f6dddbb463f3c18090fe022020a0720dd5a302e27b6a1310e486eb4621056172a27de94363c815f7a0942dd3012102e1aa16d861b65a5c98ff7e139fe0ea1b809e1a4f9954ec361d52a5b6f64dc65bffffffffedd153ca9e4a27a4b678ce1d178f3de608256163d4c15571e04c7c83cca4c73d7a0000006a47304402205bf3aff427965031fb550656d9b9ef9a11e2200be2c020bee20afe6e58aa356f02202502d73bb0f7b1041a53259e000916631eda72d403688b49f7863fcc4899bdc9012103b2c2dd4c0dbb8ba6dbaefda8cae3928b688ffd1802575dc0f48871db3a1b5802ffffffffe1b3059715576a82d0dc33576302a934b5f17b1cc157e50f5d7d25e5fbea6c63cd0000006a47304402206c54bfd7437724903a8c45836211ea311eab1e25debe70f2ee45f23283c8ab5502205c75c90d0e95e80e37657a3c017ac44dcb864cb949a179809f94366ca0636bc401210248014d66717a2e71743136f8aff86322b927635660450023811d999b90a57c01ffffffffddd3a431450fd55d258c83d10ce8823b55e56713c9cd17fccddb0b2ebf7410d9510100006a4730440220718d475ff7e7fb9953014f6de8693ae6aec6c4fe19fa789ae29ea2774f2e7e1e0220174b7e8a1527ea3d7b031cae5bfca7347827aa25049fb40f8bc4bc2246a9e8fc012102735b5236db66041db36d8a7c0f7dc6d4f80080d0eabad89daa5fdfbc33c0603affffffffd389ae02b20abd4890c645d6a9ee0743b24c4e0b761c2419aa9b6b31f2dcdf10660100006a47304402204255ca4fd96e5d29bb9d75d40143ccae2220e14c194ece28c0508ae7d3ebc6c402206ce7836214b7df9f901b1cd0c39923514c2ee509c4fccdfc1338c10fb468b8290121026e301c38a64f8dbd25d8b34fb044713ccd007402d1bc6abeff063763834e4a1cffffffffc053f79bcb1f2d954fbc729bd40ddd22b5fc2ad6989be86a8c14cb75d2e5642e070100006b483045022100f89e0dc5f4563bdbb96272c7a497a812c592ae15f974ec17fa02e16d5db36d28022010fdc345839aade39e3cabdc1dbec23d3ebc4b66e88ca7cf31b1af191a2b836a012103a3a3e67c6f64ad05858bd2e2d757dac6e0cc927cbe71c11e21aa2c97ea1fd9eeffffffffbd62b9eb5d5aa9d1fdd3f2138d3ed48f4f54858ac5d8a0019098bada9e57deeb1d0000006b48304502210093c210ed1945c1392a9faefa3f5c211a257892515bc5e677f4663b83d50a600802206e0beca605e82f32ac1a65e64216088003f9bc6225941b0311b2d8e4545d06ec0121036c9a8401f8197e80199c6bdfd134ffec0eda4b216c0c728d2409bc8307cacd7cffffffffb7d77eaee587082e2f20b66b7999b330b2dc9c7795a8c8513aeeab146646dfc91d0000006a47304402205e59ae145943f34a17f7e14b7da1e0233ad11a3deb5ca9d274b12f6bf5d885140220402468924044342ffebcb02563b5921d86acda894574390de1f7bf7d77b1b0b60121026e301c38a64f8dbd25d8b34fb044713ccd007402d1bc6abeff063763834e4a1cffffffffa72982790010a0f002cd7706fe70229fa720ae1f72470330908443248e9294f08d0100006a47304402200e040d524554e36fc566e8d9a8ce652030b9be4e94b13ee2cfd7d0b7a7312d850220397a75ab9ff6c982df181977a3f227553c0241ea76d80f0529d1dca0023cf6e7012102c05985519dfdaf04df76c5ff5bcc56a3b6a2f80d54e179c16300de6eb924b779ffffffff9dbc4c4abf3626f0ee3c4e718def29481789feac521d22518f2cec115b9ed3fa000000006b4830450221009502e734c9f52031b49b94b7acfe42e1c7bac30be7f00953d24309a8bd04926f0220737697194e8aa19829c0d2ebbd2adc28f144b65d41816a9fe1a9ae8e8e4815ae012103256e3e5888fcf8b134a21a77168821f126b8745aef3812bd8abf17007e90b7ccffffffff9b1a72f735db9ff57d08cd4f81d6e88564aa53fb54a00ee34e88fd26c6673be7b10100006b483045022100c4ca20350c3394a67d8fd4e7fe3e213e0269e7a98eab0b8888a02dbb86e609ba02203bc9e60fbd1a4bb73857df2bed571952fbd1e86f3caa39d068c35c9419782751012103cb824b9acbb2be11a5e41f457d6c283a42ff94c74272d4b61bd3ae2b14998f80ffffffff9a4b9c69e77d5155f51a1eea98286b2dffaa61430b18414c9de2fc481b61953f910100006b483045022100fff70d72f3747f152701cb652bde36f06ae1879be96dab6427e4f468de4e647302201dced1f00d2d2ffacf0a45d7bef50eca0df40183b04cef4083d8313d0ee237850121027f28b51ee786c425cba70d35dae379364e71e439ac9f70cc7a49e2e404c3648affffffff0100590e0c000000001976a91418ae4e28f414a29a171a922cae6fe4cad6370b3388ac0000000081c70d0000000000000000000000000400008085202f89024220ce9f7fd8b925e8b1074d1571c05df701d7a8df90af2acdcc8e2a4a63f9ab010000006a4730440220223728bc88b34a575e22cd8ff2dbf72803aae68b7ea430aedc2d4b70505467680220251553920c1d2b816803d81b6187db83b86c2420de977b21945962a5148ab668012103a6db6ec590b1a120986df25801f172fe703a67809dfb8bf99689023dd80b4237feffffff5dde79dcc6dd0343458f349c71bcd534b40e128b50e1cf927a53fe620e892bbf000000006a47304402207580079ef8d0667e5f0588fc6523cc8be827b73fb7ffd5a5ccdda76e662d2baa02207a1581b70cc3355f2aed7c7162be460e462da511807e321af8dd52efb092df5f012103a6db6ec590b1a120986df25801f172fe703a67809dfb8bf99689023dd80b4237feffffff028093dc14000000001976a914ba5442a1a50112091aa60ce19f97cf3862f423fc88acbb1aa408000000001976a914157b2f7bd70bd4e1a7ecd040483d6e301c9a1a7088ac000000000000000000000000000000000000000400008085202f89027014284c8485db510a35b1deef52a6fe3427457f53751203278dd6e47a954159000000006a473044022010588564c591bebc6155835872140478e7baea4909bf81840658f0ddd3da041f022028666a18a9911e568a136425c91c6ab4c30de956211638b226643556f0e749480121037e609ec336382fc08dfc98a6568a82eb5b60b4ec324d79bfe12d4ca3949d34bbffffffff84be96f51b5379c3ab48f6c1111045a6a1f090290945e8b46dea9fc69941c3767a0000006a47304402205862194efd038265fa0c0edb04f5c18955c525ebf391fac3de58f074bcaa71480220321d25f71587deb412438eed8add787f552738f9e0b2ad4be5cc4dd7d468c57601210349c476be899bcc543c1b5da58ea3a76964693b6fbc5dc8203bf9035693904ca2ffffffff0177515d60040000001976a91457787bcbe709bf4511a79eb356c1772d7a734d5388ac0000000081c70d0000000000000000000000000400008085202f89014696610b1ca8f3ecb4fe62eb654f750a3878643d615a9cfedab1a9cee06e0065000000006b483045022100e9ad1530b0b9906ee985bd138496b9dd588b25753806eb87e91456f34c796a5a02200de38e4ef2a8419bfcdb648c4c490f5b1262f15648a4ee82bd778ed4bb931ae0012103cabb6672b7b9b0f87fde53992996307ffcac60a345bdee361bc25589010873adffffffff000000000081c70d0010c232e2ffffffff00011d5d3f378326491087d163fc2bc3b7f18c885c477c1f3c854764a905e25fcb0274b9fa79cb1d649dd7f88aab43ae9dac04ee084ddb6fe38ea790d95d4a10c50b2bd9b79cb0b0669924da12aa5d0d3c51bd3d67b8ff537680e17602d10de712e89ff9e92742cbc4632ce1d3771478ab726337dab98c7814f6ed114cd9932604c5421d10b6a6b6725c53d47485dd9d9a167a0efb37445bd256bf31cb421770651d187e0f29036911742d2ec7c3752c373be4739c19188719c36c1497f7fe21f29d2e450ae7867c3115368bcd878444aaf145e9b711a4e129f58c83a6c1b4d450d09bd79be839d12a72035ebb160b5273e93a0898d03645c6beebb0474b310c110cf3f6f4925f00ae2ac67a7d50de2e817899f8f8f8f6e7e462fa59b9e0ff48e7627b20ef917f9bd8bb25159ea519e11fc01517fa278bfd3aeda770dd61a0f5104029c572b29657e42fcb6c398f5aee84339ef90a8ef320652b94c339b6ba9337079813d87aa3ffbacdff87ee2445b61d3a3d16223d38760aa14b65560a774e3bce615fca24856708863e5241cd98607eb1ddad41d0767631960750f963ec2e445a1ac38e0a26f94017ddcea2058cb692e262f6c92ced08031f7bfa407bbb33a93455195176e9aab495e393fd6399bf6abe16701c2caf89f138c3bf278c1bb998b10bada7db86a1e11ceb23e5f3b90e3bc0f7551e96b5585c9bfe98e3b1af74347fe0aabb2a9f0e056362e7d82c3e966cce004b241e2c212d3baa654138976f22c640495a55a5a145047f78fd0b1a119d4f91cb15ef8079e81a40af15197f13b02e9e5a45ba02d436f13d0778767eeb3b480d6dd2f4f37d47a9ac392c4ac17504e125477dcc472d7514c411af83c824d661778493e05b40ad3f20c1b15b8c93ccf8b3973baeebb701601133abda5065a929e17af40b3dc2f8864de490166649c4631bc791a5d39d73ae3f0c0bce7f3dc0db78aea8c12afe0105d0aecbbc12f3256402cfeec7ac42581d260134a2e4e402634692d11431ffcd3baf2b110508f764be0c330a8d6300f6aa920e159482a22285342c5e7eabba0f67a4a3c0ff1df4e1528697e59cc53c3469c5efafa69435b4b448033577cdb1477c6c3c2d8e82f47e861580f33880b6dfa8c0a32b1aed391d5e5fd30f1dfd400580be0c64dc84e05f05358a779bed30c57ecacd8848b89438b70a23dde7017685cd034c4208439a6ca8d300a88ef00152d1f611dd18e113b20a1d49775522db37f6d78835ce54ac05813c6a39ef91f300666aac17539c55111784a333b82ec1f35d9713451e4ba0ca1c60bf8dfa4fb92366b296c58395bd1aa72699dd85004ff8f2823f071ad39540f1ce7bea03a09f4331420dbc393038fa8b66f054e236d4fefea1c473f42e247955b90358384f7f2c951fba985a211de01b519754cc000400008085202f890108e73f3dfa803ff480d152b21f9342d4ed9a86d25dc899d971d7d0d5d84ff884010000006a47304402203e025948e1256b9b069588555e445525b335a444ac535367181ce61bcda15a8d0220783530e73fa28168f70f6b897bf17448fe70bbf8c4b4a2a04d6df5c4a6e0e5bf012102169ef254a968648c37c5dcb9c21d2fdf20a562e2868029694740434080c1887affffffff026b9d0000000000001976a914db7462005ad8c793fedf8e76641574914dfbe55688ac1bc1d801000000001976a91462e92a2bb72dadef2d9f4175081fa6e3ad69e74488ac0000000080c70d0000000000000000000000000400008085202f8901c43fc79b947a41df5fab6e5ddf6e6a58c2bf66401c4ae61f560559bca5ec2a44010000006a473044022060f7ad640039bdb7bf64bd7a3ccf7428266eeafb06678d8b9435cdef4605798a022069764de7203fd9346355cde97031af33e4373a732029e5cf02e09d375d515639012102b1147481208f65d1c7d2bd0a1e1245d825ade90fb3de96b33ee3293f97888ebbffffffff02e2200000000000001976a91471d2c09284f7039554447740db7cadb931aefd2888ac02a40c00000000001976a9140e2a5271372c5afeb5663bb33aaf8d9fb6f7d2f688ac00000000ff64cd1d00000000000000000000000400008085202f8900000000000081c70d00fa0000000000000001f46748aeaa3581634a40df1f14d4a2c106ae810a38b4238acfb5df1e41d78f6d796c97967330be9e954e5f155511dadaed2664b24033415c6d29e2f00083e411f67ae9835e8a525e5d6cb72ec7d11e014530cac5d8bb0e3445f0ea65fbe7d471f41282fc41940ce4630b45ee59f363fb99c09b50415c16bc59507b42af8f1e5897fe65f8c9496d6ce573f48e314a70159311dcb1665d3b64c76bf65332986728dcc514e1d5b6179634047c5dab758555882da6feba64b76da2c888fe75d11c68d535e6c49b41d1d4605ce588a682185d860bd16d1295099c78d0645b312dfc6615ab6b073f682e38f6103fab6a18aee282ee7cd56f0b984a1f22b3a18a6f551ce489494744e3c36dcb3f7b9133913207a978d10f4e67d932c0a5cdd7eee5cc1ba302c47d861cb3df4994badecf17a490b89b464923e2c57ab554aa29f087bbe897ea3d6a2b60c63454079d8fae6705017d4e15bc41b10ad5c8c7b41f2335e70066b406252e209f791c6a0a35e7de4c5f25adc9c42a9f40c8fe798f2814d35a0e025e819379fdc9afa062ac3e2688740780404f5e641770ddfd5b2c15ac6a069918df6727a1b1129dd130a01237a36c89c397a1899433ad894cd7b8865317b61e13561fc9e7a2f194c5bee7ab60863a312f723bd38bb8fd35d126130141c6677b2d4817b8435462219b7e4366b950499d1275a9bd85670f337ca2a26517ca65b8a1b60b41178b445b532232dfc17fe6dbb5a2c15f3bc37fb0adb47c608c9d480d7be4d08e3e51227d0fd4b4f1e2f6021625db6eccf79a516c46de8e1f18c672adebd10d9abedd8174710fade0bde7b412486e7aec50016759e04622d70b02710e1c7603b25b75e79d57638fdd27a06a8137f37693c76487b8784dea720a5cdd1482ea2d6418bc9c392bd658178881ab5624fdd3b97d953ccfa11a888397f2f98540f40dce0a1cb85ef38e97b8fd79b2f6ef149b2783dc0d4921993621cb09f5281ee14bda8baef606b7637cf78114efae5f14ad23b39aed21f0386ed841444617646f09edb6c2b0d89a94330ed2a442c054c524179e803fe9ade807e61072a9117646daf65efdc4b184fc266be70dcc105d7b3ded70c5ed51a2e6f8a7a4be64094f67940c65f5abe81b6ff8a652d0bf8f2ca1fee3063266ba5e95e05574aad9f7bd0d4aa09d40bfb60b789d2f0551cd71064db6db2557241fe6344aeadad3f19a2d1f16932eeeb6878c02e274a7d4ba406ac3b482607a4c0832e6a33b050e9756bbcc33e2316f3250b420e6931e28bac0b3d493b416a3c8c296a9515142769175e11e995755f67b5d593b787b48802fe4b0a0bb695dd0308a3e155b33bb1f5af97b3a34d7d87217b3f05e27611910d0ab917f34aac90d0f87fea09d5048e379e0cebf0579e6ccf2b885f55752c27fa67955506a7f9aafcfb50d1bc57e25052d89f43a1cf229ae33afad45fc7b2c637da5bfb16f8e5320bb98dd8ac8d2ebbeaa5b1e5f429b4bc6a551d3d74b9509f14ce536bb2f50a672cc5b12292ae2122e0496cadfc0e00ea27bb69a468de78ea09f9087fb9604af4687d8c0dddc766221b9cb2d2f9094af94c9a92547f4ff09f741c78225d2fa798e9ba21dfd196852e23bc7b91e5718b5c830379e8cef4807b1dffb1170d867ba55e716557109b7eb6a285130c9ef3b60a0abd1ed845f4f57d65a1a9be9708ed838dc25b9244232d06387d1ac7dfa00dac0e80765a1cb717f65c45aa5d79761810ec10ca66abdfb08184bb5de132c7b74e88b5b687c23f04d90da9f50b31620c5b72c7162ddffc37653d7a119d004d4eda394fed2a96b8d31aa6b1914e9691b32d90b30db0eff795cac874c5fd92208343cd970cdc3781611bfb9c6ec6dd33ac66543e1c5ee63588ff5c8fb12519ce0d58c2db268e7bfab977d434e18db6169203bb41c994ce85e8ea54266fe766c22ec70f1cb81f7d55c0ce9993c8ccfaa3123f33f0dd8752a6d5eda84c069db712431eee54147eb080c83179876362f212052aa6aa9bfe403b70f2ff098eb38ec0ca9d98bdbff9d6874ae25c1a68899af7f70f5121a6eacd0452b94c3b5d7b462ddb23c3887b1f8e2959ab2d3cad58488882f4cb30c8237eec438fb9c745ddbdec6c93bbb4f39c221a28e581670107a7962dccbcc953df5eaae36400a30531b1307413247ac618eb9de4349817884c203972677570302fe70bf9c532930bcb7efadbe3d010d8e0cb5bbd5d1e55c4cafef3da984a8a6e2f4e0d43ef7ea72f7bbab5b46fbca68d0c78ea352140f7f60890b0b4caffe99bf4eab70e733ce535b5059c36c9944da92f39828d68ad8f0509155b35689848d62417387ad0ef6fec69271921863134dd724ff27db5f77bf11201aea127458085b77617183a9a59de9cdb7a85ba97e1c2b1de1af8f3ffe5fb18b81db8162d73e36b25a26a2efb64d1d1077b55543d5e90485c71b11914d895b2ca197e8c60db76f478563083564496deac199f26c5a0df6520552a3b93f29c183f29f2476c825ba4743c7bd763675e992337e96df4ac1f4c16e1a2ecbdcfae3cb8e8be79ec08aac400eba6401299ed5f63d384cdd4982d52d88e4ddbab9c223d72eeb853f8f3e38e7fd700a6ed2639b5ea368faf7d488c72783a474c4bd5973e528999df4c319a9ce1b63e58c4a8fee791caca447c31c397bb2a2ffaf0bee0db87dae0d28d44d4e6ec3c50e1657c061dee9764f06b42256684ca8cea3d1a61045c65b88dd8fbb8a9e907afd914ddd547bae7459eac501bcfe332bf852ee9c8c67d9d973fd0892bca71080af2c4375e1519269af0dbabe04bf865d801ae517c99d7ec6194cf00895010faceabf2225f822d5a6e71a8547dd5aa22dc0ddce9a996c586676ac2855e2f98b875ba4491898280e1802d1be8b5f82b6066e812b7c954c5b7e448df9e6efa7f6b3f8987e7a2bb09ca61d73fb2c13b4314ce4575025df057d37bf1dfe378334260815c456f911667787df79f93c57afb036b10aca0b8b03d526c1f18593c28fdcaa55e207ab99f630f47008f24aa2ac7964e1d1988f986fcb1834ca4556ee82803cf9b590b7f4688c544257e043840890908dc76fd57aa1e8452e18bb110b5141c6055dbd913ab9ced365cf39d765429b81ab830cc88fa29a48321f349970b2ea42fa17cf5a8d805302137b5f8bccf4cf1c24ce1588af38a1919ea06d1bc34620993c97d83cecb15df4b58a43252b00c8639035f90f1dc8391c379930eda7dbbe6300ca899a47f2a797fbd1d1e319df37a2f7c600121bf015cecb53153c85992e7269a0f8244afaaa47fc931a9f360b diff --git a/zebra-test/src/vectors/block.rs b/zebra-test/src/vectors/block.rs index a525d0b1fac..fbd0814e8d3 100644 --- a/zebra-test/src/vectors/block.rs +++ b/zebra-test/src/vectors/block.rs @@ -3,10 +3,11 @@ use hex::FromHex; use lazy_static::lazy_static; -// Update this list of test blocks when you add a new block test vector to -// this file lazy_static! { + // Update this list of test blocks when you add a new block test vector to + // this file pub static ref TEST_BLOCKS: Vec<&'static [u8]> = vec![ + // Mainnet &BLOCK_MAINNET_GENESIS_BYTES, &BLOCK_MAINNET_1_BYTES, &BLOCK_MAINNET_2_BYTES, @@ -18,8 +19,21 @@ lazy_static! { &BLOCK_MAINNET_8_BYTES, &BLOCK_MAINNET_9_BYTES, &BLOCK_MAINNET_10_BYTES, + &BLOCK_MAINNET_347499_BYTES, + &BLOCK_MAINNET_347500_BYTES, + &BLOCK_MAINNET_347501_BYTES, &BLOCK_MAINNET_415000_BYTES, + &BLOCK_MAINNET_419199_BYTES, + &BLOCK_MAINNET_419200_BYTES, + &BLOCK_MAINNET_419201_BYTES, &BLOCK_MAINNET_434873_BYTES, + &BLOCK_MAINNET_653599_BYTES, + &BLOCK_MAINNET_653600_BYTES, + &BLOCK_MAINNET_653601_BYTES, + &BLOCK_MAINNET_902999_BYTES, + &BLOCK_MAINNET_903000_BYTES, + &BLOCK_MAINNET_903001_BYTES, + // Testnet &BLOCK_TESTNET_GENESIS_BYTES, &BLOCK_TESTNET_1_BYTES, &BLOCK_TESTNET_2_BYTES, @@ -32,102 +46,138 @@ lazy_static! { &BLOCK_TESTNET_9_BYTES, &BLOCK_TESTNET_10_BYTES, ]; -} - -// Mainnet -// -// for i in `seq 0 9`; do -// zcash-cli getblock $i 0 > main-0-000-00$i.txt -// done -const BLOCK_MAINNET_GENESIS_HEX: &str = include_str!("block-main-0-000-000.txt"); -const BLOCK_MAINNET_1_HEX: &str = include_str!("block-main-0-000-001.txt"); -const BLOCK_MAINNET_2_HEX: &str = include_str!("block-main-0-000-002.txt"); -const BLOCK_MAINNET_3_HEX: &str = include_str!("block-main-0-000-003.txt"); -const BLOCK_MAINNET_4_HEX: &str = include_str!("block-main-0-000-004.txt"); -const BLOCK_MAINNET_5_HEX: &str = include_str!("block-main-0-000-005.txt"); -const BLOCK_MAINNET_6_HEX: &str = include_str!("block-main-0-000-006.txt"); -const BLOCK_MAINNET_7_HEX: &str = include_str!("block-main-0-000-007.txt"); -const BLOCK_MAINNET_8_HEX: &str = include_str!("block-main-0-000-008.txt"); -const BLOCK_MAINNET_9_HEX: &str = include_str!("block-main-0-000-009.txt"); -// zcash-cli getblock 10 0 > block-main-0-000-010.txt -const BLOCK_MAINNET_10_HEX: &str = include_str!("block-main-0-000-010.txt"); - -// zcash-cli getblock 415000 0 > block-main-0-415-000.txt -const BLOCK_MAINNET_415000_HEX: &str = include_str!("block-main-0-415-000.txt"); -// zcash-cli getblock 434873 0 > block-main-0-434-873.txt -const BLOCK_MAINNET_434873_HEX: &str = include_str!("block-main-0-434-873.txt"); -// Testnet -// -// for i in `seq 0 9`; do -// zcash-cli -testnet getblock $i 0 > block-test-0-000-00$i.txt -// done -const BLOCK_TESTNET_GENESIS_HEX: &str = include_str!("block-test-0-000-000.txt"); -const BLOCK_TESTNET_1_HEX: &str = include_str!("block-test-0-000-001.txt"); -const BLOCK_TESTNET_2_HEX: &str = include_str!("block-test-0-000-002.txt"); -const BLOCK_TESTNET_3_HEX: &str = include_str!("block-test-0-000-003.txt"); -const BLOCK_TESTNET_4_HEX: &str = include_str!("block-test-0-000-004.txt"); -const BLOCK_TESTNET_5_HEX: &str = include_str!("block-test-0-000-005.txt"); -const BLOCK_TESTNET_6_HEX: &str = include_str!("block-test-0-000-006.txt"); -const BLOCK_TESTNET_7_HEX: &str = include_str!("block-test-0-000-007.txt"); -const BLOCK_TESTNET_8_HEX: &str = include_str!("block-test-0-000-008.txt"); -const BLOCK_TESTNET_9_HEX: &str = include_str!("block-test-0-000-009.txt"); -// zcash-cli -testnet getblock 10 0 > block-test-0-000-010.txt -const BLOCK_TESTNET_10_HEX: &str = include_str!("block-test-0-000-010.txt"); + // Mainnet -lazy_static! { + // Genesis/BeforeOverwinter + // for i in `seq 0 9`; do + // zcash-cli getblock $i 0 > block-main-0-000-00$i.txt + // done pub static ref BLOCK_MAINNET_GENESIS_BYTES: Vec = - >::from_hex(BLOCK_MAINNET_GENESIS_HEX.trim()) + >::from_hex(include_str!("block-main-0-000-000.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_1_BYTES: Vec = >::from_hex(BLOCK_MAINNET_1_HEX.trim()) + pub static ref BLOCK_MAINNET_1_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-001.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_2_BYTES: Vec = >::from_hex(BLOCK_MAINNET_2_HEX.trim()) + pub static ref BLOCK_MAINNET_2_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-002.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_3_BYTES: Vec = >::from_hex(BLOCK_MAINNET_3_HEX.trim()) + pub static ref BLOCK_MAINNET_3_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-003.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_4_BYTES: Vec = >::from_hex(BLOCK_MAINNET_4_HEX.trim()) + pub static ref BLOCK_MAINNET_4_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-004.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_5_BYTES: Vec = >::from_hex(BLOCK_MAINNET_5_HEX.trim()) + pub static ref BLOCK_MAINNET_5_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-005.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_6_BYTES: Vec = >::from_hex(BLOCK_MAINNET_6_HEX.trim()) + pub static ref BLOCK_MAINNET_6_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-006.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_7_BYTES: Vec = >::from_hex(BLOCK_MAINNET_7_HEX.trim()) + pub static ref BLOCK_MAINNET_7_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-007.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_8_BYTES: Vec = >::from_hex(BLOCK_MAINNET_8_HEX.trim()) + pub static ref BLOCK_MAINNET_8_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-008.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_MAINNET_9_BYTES: Vec = >::from_hex(BLOCK_MAINNET_9_HEX.trim()) + pub static ref BLOCK_MAINNET_9_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-009.txt").trim()) .expect("Block bytes are in valid hex representation"); + // zcash-cli getblock 10 0 > block-main-0-000-010.txt pub static ref BLOCK_MAINNET_10_BYTES: Vec = - >::from_hex(BLOCK_MAINNET_10_HEX.trim()) + >::from_hex(include_str!("block-main-0-000-010.txt").trim()) + .expect("Block bytes are in valid hex representation"); + + // Overwinter + // for i in 347499 347500 347501; do + // zcash-cli getblock $i 0 > block-main-0-347-$[i%1000].txt + // done + pub static ref BLOCK_MAINNET_347499_BYTES: Vec = + >::from_hex(include_str!("block-main-0-347-499.txt").trim()) .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_347500_BYTES: Vec = + >::from_hex(include_str!("block-main-0-347-500.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_347501_BYTES: Vec = + >::from_hex(include_str!("block-main-0-347-501.txt").trim()) + .expect("Block bytes are in valid hex representation"); + // zcash-cli getblock 415000 0 > block-main-0-415-000.txt pub static ref BLOCK_MAINNET_415000_BYTES: Vec = - >::from_hex(BLOCK_MAINNET_415000_HEX.trim()) + >::from_hex(include_str!("block-main-0-415-000.txt").trim()) + .expect("Block bytes are in valid hex representation"); + + // Sapling + // for i in 419199 419200 419201; do + // zcash-cli getblock $i 0 > block-main-0-419-$[i%1000].txt + // done + pub static ref BLOCK_MAINNET_419199_BYTES: Vec = + >::from_hex(include_str!("block-main-0-419-199.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_419200_BYTES: Vec = + >::from_hex(include_str!("block-main-0-419-200.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_419201_BYTES: Vec = + >::from_hex(include_str!("block-main-0-419-201.txt").trim()) .expect("Block bytes are in valid hex representation"); + // zcash-cli getblock 434873 0 > block-main-0-434-873.txt pub static ref BLOCK_MAINNET_434873_BYTES: Vec = - >::from_hex(BLOCK_MAINNET_434873_HEX.trim()) + >::from_hex(include_str!("block-main-0-434-873.txt").trim()) .expect("Block bytes are in valid hex representation"); + + // Blossom + // for i in 653599 653600 653601; do + // zcash-cli getblock $i 0 > block-main-0-653-$[i%1000].txt + // done + pub static ref BLOCK_MAINNET_653599_BYTES: Vec = + >::from_hex(include_str!("block-main-0-653-599.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_653600_BYTES: Vec = + >::from_hex(include_str!("block-main-0-653-600.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_653601_BYTES: Vec = + >::from_hex(include_str!("block-main-0-653-601.txt").trim()) + .expect("Block bytes are in valid hex representation"); + + // Heartwood + // zcash-cli getblock 902999 0 > block-main-0-902-999.txt + pub static ref BLOCK_MAINNET_902999_BYTES: Vec = + >::from_hex(include_str!("block-main-0-902-999.txt").trim()) + .expect("Block bytes are in valid hex representation"); + // for i in 903000 903001; do + // zcash-cli getblock $i 0 > block-main-0-$[i/1000]-00$[i%10].txt + // done + pub static ref BLOCK_MAINNET_903000_BYTES: Vec = + >::from_hex(include_str!("block-main-0-903-000.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_MAINNET_903001_BYTES: Vec = + >::from_hex(include_str!("block-main-0-903-001.txt").trim()) + .expect("Block bytes are in valid hex representation"); + + // TODO: Canopy, after mainnet canopy activation + // for i in 1046399 1046400 1046401; do + // zcash-cli getblock $i 0 > block-main-$[i/1000000]-$[i/1000]-$[i%1000].txt + // done + + // Testnet + + // Genesis/BeforeOverwinter + // for i in `seq 0 9`; do + // zcash-cli getblock $i 0 > block-test-0-000-00$i.txt + // done pub static ref BLOCK_TESTNET_GENESIS_BYTES: Vec = - >::from_hex(BLOCK_TESTNET_GENESIS_HEX.trim()) + >::from_hex(include_str!("block-test-0-000-000.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_1_BYTES: Vec = >::from_hex(BLOCK_TESTNET_1_HEX.trim()) + pub static ref BLOCK_TESTNET_1_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-001.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_2_BYTES: Vec = >::from_hex(BLOCK_TESTNET_2_HEX.trim()) + pub static ref BLOCK_TESTNET_2_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-002.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_3_BYTES: Vec = >::from_hex(BLOCK_TESTNET_3_HEX.trim()) + pub static ref BLOCK_TESTNET_3_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-003.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_4_BYTES: Vec = >::from_hex(BLOCK_TESTNET_4_HEX.trim()) + pub static ref BLOCK_TESTNET_4_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-004.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_5_BYTES: Vec = >::from_hex(BLOCK_TESTNET_5_HEX.trim()) + pub static ref BLOCK_TESTNET_5_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-005.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_6_BYTES: Vec = >::from_hex(BLOCK_TESTNET_6_HEX.trim()) + pub static ref BLOCK_TESTNET_6_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-006.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_7_BYTES: Vec = >::from_hex(BLOCK_TESTNET_7_HEX.trim()) + pub static ref BLOCK_TESTNET_7_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-007.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_8_BYTES: Vec = >::from_hex(BLOCK_TESTNET_8_HEX.trim()) + pub static ref BLOCK_TESTNET_8_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-008.txt").trim()) .expect("Block bytes are in valid hex representation"); - pub static ref BLOCK_TESTNET_9_BYTES: Vec = >::from_hex(BLOCK_TESTNET_9_HEX.trim()) + pub static ref BLOCK_TESTNET_9_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-009.txt").trim()) .expect("Block bytes are in valid hex representation"); + // zcash-cli getblock 10 0 > block-test-0-000-010.txt pub static ref BLOCK_TESTNET_10_BYTES: Vec = - >::from_hex(BLOCK_TESTNET_10_HEX.trim()) + >::from_hex(include_str!("block-test-0-000-010.txt").trim()) .expect("Block bytes are in valid hex representation"); } From 4bb73ef4cdae9971b83b88137a926d2b22512292 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 24 Sep 2020 23:40:35 +1000 Subject: [PATCH 06/10] Update mainnet canopy comments --- zebra-chain/src/parameters/network_upgrade.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/zebra-chain/src/parameters/network_upgrade.rs b/zebra-chain/src/parameters/network_upgrade.rs index 90bbe282931..3fc8e0916aa 100644 --- a/zebra-chain/src/parameters/network_upgrade.rs +++ b/zebra-chain/src/parameters/network_upgrade.rs @@ -62,8 +62,6 @@ pub(crate) const TESTNET_ACTIVATION_HEIGHTS: &[(block::Height, NetworkUpgrade)] (block::Height(280_000), Sapling), (block::Height(584_000), Blossom), (block::Height(903_800), Heartwood), - // As of 27 July 2020, the Canopy testnet height is under final review. - // See ZIP 251 for any updates. (block::Height(1_028_500), Canopy), ]; @@ -93,8 +91,8 @@ pub(crate) const CONSENSUS_BRANCH_IDS: &[(NetworkUpgrade, ConsensusBranchId)] = (Sapling, ConsensusBranchId(0x76b809bb)), (Blossom, ConsensusBranchId(0x2bb40e60)), (Heartwood, ConsensusBranchId(0xf5b9230b)), - // As of 21 July 2020. Could change before mainnet activation. - // See ZIP 251 for updates. + // As of 24 September 2020. Could change before mainnet activation. + // See ZIP 251 for any updates. (Canopy, ConsensusBranchId(0xe9ff75a6)), ]; From 5a5fe3805189927e9743217431bfa5813de5e8e0 Mon Sep 17 00:00:00 2001 From: teor Date: Fri, 25 Sep 2020 15:21:55 +1000 Subject: [PATCH 07/10] Add testnet network upgrade block test vectors --- .../src/vectors/block-test-0-207-499.txt | 1 + .../src/vectors/block-test-0-207-500.txt | 1 + .../src/vectors/block-test-0-207-501.txt | 1 + .../src/vectors/block-test-0-279-999.txt | 1 + .../src/vectors/block-test-0-280-000.txt | 1 + .../src/vectors/block-test-0-280-001.txt | 1 + .../src/vectors/block-test-0-583-999.txt | 1 + .../src/vectors/block-test-0-584-000.txt | 1 + .../src/vectors/block-test-0-584-001.txt | 1 + .../src/vectors/block-test-0-903-799.txt | 1 + .../src/vectors/block-test-0-903-800.txt | 1 + .../src/vectors/block-test-0-903-801.txt | 1 + .../src/vectors/block-test-1-028-499.txt | 1 + .../src/vectors/block-test-1-028-500.txt | 1 + .../src/vectors/block-test-1-028-501.txt | 1 + .../src/vectors/block-test-1-095-000.txt | 1 + zebra-test/src/vectors/block.rs | 147 ++++++++++++++++-- 17 files changed, 148 insertions(+), 15 deletions(-) create mode 100644 zebra-test/src/vectors/block-test-0-207-499.txt create mode 100644 zebra-test/src/vectors/block-test-0-207-500.txt create mode 100644 zebra-test/src/vectors/block-test-0-207-501.txt create mode 100644 zebra-test/src/vectors/block-test-0-279-999.txt create mode 100644 zebra-test/src/vectors/block-test-0-280-000.txt create mode 100644 zebra-test/src/vectors/block-test-0-280-001.txt create mode 100644 zebra-test/src/vectors/block-test-0-583-999.txt create mode 100644 zebra-test/src/vectors/block-test-0-584-000.txt create mode 100644 zebra-test/src/vectors/block-test-0-584-001.txt create mode 100644 zebra-test/src/vectors/block-test-0-903-799.txt create mode 100644 zebra-test/src/vectors/block-test-0-903-800.txt create mode 100644 zebra-test/src/vectors/block-test-0-903-801.txt create mode 100644 zebra-test/src/vectors/block-test-1-028-499.txt create mode 100644 zebra-test/src/vectors/block-test-1-028-500.txt create mode 100644 zebra-test/src/vectors/block-test-1-028-501.txt create mode 100644 zebra-test/src/vectors/block-test-1-095-000.txt diff --git a/zebra-test/src/vectors/block-test-0-207-499.txt b/zebra-test/src/vectors/block-test-0-207-499.txt new file mode 100644 index 00000000000..456bf4d1a52 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-207-499.txt @@ -0,0 +1 @@ +04000000b530f878419c18f3e43ac1ab461d9c35ad9a9b41e9b6856a83a99ff3678700008f1d44a914a92f6b242725b1771f0468be88d33c41024e64b180bc44c91159320000000000000000000000000000000000000000000000000000000000000000a0abb25ac447021f0500b62638728ff05cf9e17e132a3ddaf6a4ac933480705805486dbba2b50000fd400500afb2281763dee1ceea71c9713328c155bb33b54f453dc416e2132391176e25de7eb94c99b29058be321c75c27214edeef37580a2a36de9d7091f0af11e161eceb3b684e240bd509f07e0dcc2ab7381547c54ad07d590638b24ea83c71e51206f169b9a5c8b7c26020c5d84bfa1556887d90f625ceae1fce8a93028608616d1e2670e556bcfb94bd4ee25b5904224ce991649387b9a21845287b10e3f457a37739eba97703e5ae402b032a0acdf7283adb0b28461e8da54d97e4ccfc9195b8e7eb40c5e68c19ef1a543a90e91043d6b0d912c83dfb5bca26acd953c551da7f503724dd05801b244675e418dda5acd6df1273047e6f90225ce73cfda0b60415c2d8453b76cb9d4181fd2e0a24217f9d4a10ba6a174b8260c99f0ad76f56bc2aa92c033d7e3890c3c4321514c6c5da4add58c79d2a2af2b1b9980e633712337b9993fa57320b5644eb3cce96038166bce0669188e7c8440d5c6fbe18f22bb119e308cdf09d909110b61faa3373b263677d286eb435e92291fcb9618f62185b2ef2fddf5b782b49749805549bc7fa2f43ceb9d67335625394932166733f759f23947176efd16dc10cab18b341769dc02a8f43ea634ce6f97fd811b3df5401f09d5fce5b153dae027da0d57e1da6b0a19361676a986ce6f17ca28a7d45a03375c419d8cfb234747604570c7e39e24757e6ac0544ef7f57ba0cb0899df17e748c3d8483277df095484734e593fe2d0338ecd423c179ef95aa6a5563237606efa0b7af1db0a4645aa28f5ceedc95f92f4416c78e59781b2e1e410c4013afa2173b13e6cf46eacf9f7bd6b555ece3f100cb34a9950168ddf8121b6a17c66fa89599b15b81555a178504daac375229209f3ff42c6ad047a28251a2a06dd04ef8ca3a3dad270c41733ea6906d82d9534fe4def9de84953443ef932c5e9ae2b530a1f456c0144a0de0c8b2d4abc35b03dd9192dae60f01c1e450e4fa3cf9592ade9210927e0bdeb201e07d738db07184dad09701d3d95c6042ca6da799f079ba33e771e53c7de85e8de575d5e8138588dd3013b8bb11fb3110177d584de5c7abaea5750e1d5110b906219decd7d0fe9c601272a9d639cf0139f2f6c6d6db5282e469209affb15950da0b306fd649d78bb46ad8d24fe22421c2fe3c8a855aa53a782c3a0d94dd8beea737d868101e261dd454827038e313076590cd21ce4fdc95e540c0d129a41979ecf87bcb2098e6bd079f8f0700cad05bfca17a115676cf701c19482e5b644fbbb8c186c309fe1a47d25afb3c71e4a98ec6f4a96a6423891680c4bf6e25b1abda54a7b33295f7af0ed1261f35e2f108973d2b446949a67dee2e92cb0dbb6cbcf9d6d6a0d481bf0088c8585e455c3765de00d1f5baa3dd74b32193efcb521df93f8d2b54b2373051558fc7e17600277c181d8f6d7b5f3ce441ab6661ebde011b516301b727cf1182268e72941c5fd4bc34b0a0bb13c4159079ce9c8e9c28d132f2af0c2452f3c7c341fd426e70e0e0cc09091c7496fd98232ed61bb3ca4adff7a6e078c91519f82bf526b2df53f116947820891bceaf12536748cb0cc5788e56353fc7ffbdbe10937b939600fc0666544cdf350d85652604a59b3c13b6b7dd3d230f517f439943dcbbd700400abdec4819a44d4be060444e6086890cba5eb91f0e00040edcd85e7ec694e32158aa97099e4f962a2d326cd61dabadc6656e8961235bda5a75a1c30dd5e26be71ce47f35d8d9bb48b18d747c47f99c2f97b2e05a769f58f62215d9e83dc0ab7b072c716c64d2a88d3d512b13d16bed1dd741043e6c5a0281edc3bc70858c86ddc83af22e53e8ace234c8404bdccd5ccc91e5346f35b014583b7b2787734597c5ad10d7026a71209c71fe5c04f27455ad3a90101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff06038b2a030117ffffffff0200ca9a3b000000001976a914289797e1dc9c2e6580e50c593ae1618ded61eb1088ac80b2e60e0000000017a91447498d569e268944c3b6993376009d369140e39a8700000000 diff --git a/zebra-test/src/vectors/block-test-0-207-500.txt b/zebra-test/src/vectors/block-test-0-207-500.txt new file mode 100644 index 00000000000..469c2717efa --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-207-500.txt @@ -0,0 +1 @@ +04000000f98e6534bd40eeeed5631b1609a80058b024f3e728a4be7f5ca97921a3220100957a39e0d86892d39ef31a857e8aafdc3e85bd3e254023f69f0d51c31f4a0c460000000000000000000000000000000000000000000000000000000000000000e6acb25a8956021f0301cfa8b5651f3f1ad3f74efafbaafe44dc8c713fc6078d64a8fd9abcd50000fd4005004da77660939bbff11cd1612cd6c8710b8acc42200686cab300042f1e8a5501213c1a31e25eee5cc6a90cf3bf899aa09b6b2840a12a47cb174aa3b69635a627f00a3bf011f8a2ee666660754e4f4e17aa9af55501726d243a90bc52cae923b2f52c8c2520835c53be3dff353cc7dc4bdfe4353804dcdfd4ca3fdb1be62f04b81f70231a057ffc343538dbb5506635f79cd8660dbc26b8794d622bfd03b2029094cbfe53a0f4e2f104d1b9771ec81e8cb318607e1e90d808a7c7b5615f2a78cdc93ecf1a6495329534de574b0d9af5ffa19907ec12a07b8f5b159dc7c3acd1a0bfd95d82753a4f0be753871443c740743c2358286455c363085f08090d62374b9d2d1d2fa98f81aebe3f597177a40f033332602beeae165fe9cffd479eb1c172cff1c9bfc48f2d039f59626a9ca98183141e29468b8329de399fa945575b5cf852a5972b90b4b83c28e22e9e797c57b50316456508d63b6f199142e81d2659118c4d3f6dd105af5654ff1ff4d1f4d4b23254b9f73da15bff89ce035a14b15389b7630e2ce45e0e334fad47d2f998d7169ac7c67bc5b486cf9058d58be3d88760157f542d03c2dbb35a939c41753e136289aa83922dc2f1882f1a3f10f3da21613bafdba1b77d69ff8e2b783a8845110adef19a14f2bbf279f2a04930a9fedef9387d4354d623c206f95f45d987355f1a4a2f8a288a1e2744117ccd280da8c631c16186d74f647562df49bceec71fcae708df9e3774f3c5c369edc1cecfbf187fc955234677c5d918722be1d4c59e18d922358046b3c6ca4d243f98676d9cd3b6d4351e3afcef8963a40e5f9c1181e7239ea98ecdab1f727c32f6a3e0b71f2e30b0424edc70391534bee8c254734254bffa2793b263c8319a54fc3ca3f0e1a2a073fe4fcae6a237d7365f563459727588e1059bdbf19542ea6d802e5c137531b3018cb17ec6c55817aa7ab5b65eaf04999d5992d0dd01d46ae5a9fd987bf25c1526c56c2ea5af0830cc7724828f6636f3e0f3a329959ca27ec6cdab80d4ed16287ae946f3f0a927c1b443d6dfb1b7be3ba3ba01760773e291d9cd4d76a572811a5edef4b4ccdd362b86131a2eca3e79f5a5d8faf133a5a9532197821c37141915a424c4314ccdaeac42face185ab707dc5fbe235729e74edbba1e7de14b560b3855eaf741df9a87db03b2022bada813f1ce21a27e482b80b9c4d4b0adce130be8c51c86125effa632ee06e999ccf55311465912380f6305a0dc6fc2fd960a49ea392f71d7bce73a2d32ed1e499b6457730da4e0c75e599e684b5fe83606b89592434b73ce622cf10200951bdabaafb821ea08f7c559ff726109e0550502cc39a426776dbf12be1353b3beccd3e186a11ca177171fc251ca1f5d7438177641470e89d7cede10e4fd724ed04d5d007f3c2802911b25bf9c9ca7bbb832886ce9ed9a967e1dd26929766bef2bd2f437e095f3a58baefcaf2d48f9777c2a9d5220836e1e7bfe333501e0c9b3fbe1547f231e437ef60ba2d98233167fd86dda6911c239ca1386620b591dfb8f15c61929d2d6363571d846fb1a18a12f14b4f37a8e2f48e3a9bdd1c4db39b5acff281d479052c7ef7fe496a0717e14c89837d283ce3054b358306757db45ce20b2fd98dd499661fd4916ad2497daea063a020f135c5abfa0bc8594e73a6212d15377db55323649a4ec58ba6165e135247a7ca2b586c89f3a7118a40c976a90775d08fab616a0d5762e666b58f44528f67aafd3ebdd6588b3c332d53cc66a171bd264d911bfa25403dde6c72afe5cde00ed56f7811cdd8e5b1ca85b03ad0cbe94885414272fa16c5226d77223661ecb04d626205e3796d843a17fd9fccaa3863832f95a0eef2364eaad33c29fd81cc96465aebac0771ab503030000807082c403010000000000000000000000000000000000000000000000000000000000000000ffffffff06038c2a03010dffffffff0267cc9a3b000000001976a9148c435f0110a329dbadaa29edf4f79925d9a6b1b588ac80b2e60e0000000017a91447498d569e268944c3b6993376009d369140e39a87000000000000000000030000807082c4030188181a70f1d6ed94f5758f21b49fbd1754e3bd5761154c7ae846a0ebd1260202010000006a47304402200f26e69865d2b5e5627ff6a10fec1b145d6279d79efb7150d97abd6e8f312a9b02204002fd035869f2436c05f9c39fe5e91212eb6cfe07525e201a267593d5757df10121023cae2d1c1d27ba72c3829b9f5abd0146f1cd00f25dcf2e8fb4e3ce1e358887b2feffffff02451a2592010000001976a9149786ac0d9a725515459a3775a18285d2e630c77188aca0031d3a000000001976a91449297529d193d7c7fd6816f953e135dba091c42d88ac812a0300a02a030000030000807082c4030225c42128fb4ebdf6871d486bd06e7ceba0039398681abc542cb9978bf30aa77a000000006a473044022013eaa49a753e866deb4acfb2e090eb75ab61fb15547576ce0a3563ec10997706022044c11a81a358a5f7b89a019304a13f698516389c26b8470b133731422940834901210349afc48c054a24269f3ccc11dbe27f40a975884943763911e328aa492e7d7a93feffffffc4599ac200ddc0a602f388d4c873b8ba00b3baa8929a4f9000959aeee46f9a78010000006a47304402205001f1b5277052f354a15bdec54157095156efacfdcf8b5f3a74edaeb86726a502202976df5867ec988312cc1ddb8af763cd890d21a795a957a69270d1b2648f0fc50121023728cec3c821e446f541364484e2750a0a3d6760380d4db1244bc658761c5033feffffff02547a4800000000001976a914df450b20b3750d45fb8c45855ba89ac2392844df88acf3e21c3a000000001976a91449297529d193d7c7fd6816f953e135dba091c42d88ac812a0300a02a030000 diff --git a/zebra-test/src/vectors/block-test-0-207-501.txt b/zebra-test/src/vectors/block-test-0-207-501.txt new file mode 100644 index 00000000000..62a03fa9588 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-207-501.txt @@ -0,0 +1 @@ +0400000044cf4a8e07ade1e4843f48ab64451f687424fafbfc23500498b031437c2500005fc846c67ccef1ad473e0525a820f3aad9d3af7b373d93afbbb6f03e358756ed0000000000000000000000000000000000000000000000000000000000000000feb6b25a9366021f2d0086ff0c058ee017b86eda113d34c670fbb30c5e6b668ceefdcff52e3f0000fd4005000a5f709cc54c8e43cd20ecbcf690d221fe7299510bbf0e5ac18f2c373dabb42b3bd9cff1c7a39fcf9a0db1e9e6fe454a48d701d3ce6830d9f4ff18f3640e18462aad50d1551b59b3b33feec4e426d574998b490d893f63b3a2fc0342720224c07ea2f267879570051fbf47d28bd3edf50fdc46949467c55da7af7d4ecb10d444259fc87e9f0840427ca0df91bd31f1ba6540457d769f6fd7da80cea6193d74cc8aeb151ff9c4630295c9bce983020c64fcf5a293d8d8b9dbf6bd383603f6c5d3ee332491c9ddc1911b93d8d251c19e17fb0924716b2e921aedec1452ce71ce763a22cdfb433927f827809ce45e2da06c9591fed219fe7e35ff271c03aa53032ee14ae910c8506243e8e8784313ed3bd7369d15afab1b3568ec8d960dcfbbf1fade561e7a7b1e1654b84d985047de43893592cedae287fa585df126080516dce74fdffbaaa513d8749e9562e3b48b56005855bf500367b550c6839e672dad826b1ab7d78b2acb75fe35997eed808d5442bb73f3051e4433d2c900949cf6e5185fff2adf819739a89abc6f787d6465159653f3a64c551a67b39643f9c46921e96a354f530db157331d448e9b0ca652396876c2664ededef7db13db1ca5c6c96901be7a21baa5ecb0cd60171032d3128746f7ff74443bda9c225a6262e164ab6b376c1549fe5396ca2858f1e5ed2bab627f18a3acfa7ebf9800645485989f9927e20930df7018d195950e5d656f0706799ef08910afee285319e3fbd37d2e87bd8dae12a786c875cfcdbcd572a56b9ad598e59461fb2f642fb4637eee9e6563c8a755038e30d8a59df933b6b506c54f25b0c215b3697e911341678044a28e9b8ec83ef14696252d17ef9a3e547f4b43e9dd2f6251882d1185fde63524854fd2097136187f31c091273d61ca189f03ea07d1a16ea6f18634a4723efe8479ba3b03008a588086022bf457c29685d551435dc72c11e4382e305f4fac8c9e9f9296c6dc8b4a33eabef979777416ab9faf1f4d3acbf74a52c4f7ef2fb4f81597b8aa1f2eee0f2e8c45954238458a03313519be7d58eb5412ed224cb6d7f4c9ea76d207fcfa5239c1aad19ebd145c671e4e8cf97beba0217348ab73dc7eb95c5c9e393aa2141cfa3019f27a8655395d12ef435cde18197946a559a9ab4ba5bced2b33dede8f7b90fe5fade70792cf8396e52c999cf134288a232c2999b332a5ed426ce5462b149b91a001a4a459b91322fcc07e0ee623d9d52476a9936fb3eb4422c3b5fec5b6bbd379412c2e2fa22ed95fb4f9c3e6ecdbdf4155f570520d320cb7bdbc9a9f95f9107e141764fc63ed11ea0d7dbf327a355444e0541d7168f9b35de198db494a1ad1c3114df6c236478d79362fc1a32b4fd507dba35fa193236d22e90cdd54befcaf163094fa976bc8ca7ed58301ecb9fda41cf7bd27e341c848a91a1cdcd5ecccb22ac5449a7fad2ac1f1b2f324e07bf5f531fc4a9cac25438528941361cafe90785666e11ca26b9a590892293dffd954cf6111f16df69035e2c329d008dc89610b9fe46e9c0b461483629365d51e37bdced99f61fb136511980edbf09d0d757490e42e1d1313425af2101ce2a2dbfcd695298008541cab5d5ec17560f3952567d115be9df496e9bc52e849175a58eb830a1d6e71047e0b4d76cc11719cde572402d99dd32bcbfa6eb00a66fbb91e86372fabe783765423eaf13e81b58767142ecaa0681cfc33d3019408a55a2c424e7317f4cb5e393f52cfdb44c7c1eed7f69b71c45edddcbfcc3107f84da44ab2170bce71f2fc7859ce326b16976a22220cdcc7314c50aec61ff6a195db29e9c7da1def3738d32d0f470f1c690dd9d839dc7182b6b8bdda4f513eceb274bad0b8e135e5b65e9fea5b75a71b9fead503030000807082c403010000000000000000000000000000000000000000000000000000000000000000ffffffff06038d2a030116ffffffff02faf19a3b000000001976a9145ac0f270ff6777f222ab547899e99f2d26dab1f488ac80b2e60e0000000017a91447498d569e268944c3b6993376009d369140e39a87000000000000000000030000807082c40301e6cf1addcda65a341221e397a69788f75b04b2ed43e3ccc0eb46d7c18df7d0fd020000006a47304402206cde41e20a09721180907e984a47b444aeee43bc144edbbf7d0458ccd12497250220280c97d433118426de4487aea5dfc92688122c292d11a1dba67906bc5acf8d8b01210201d494a45f36f545443bafd1a9050b02f448dd236bb4ce2602f83978980b98f2feffffff0271828313000000001976a91432f91e58e26051534bec5c3b3cbafd06f26acd0188ac00a3e111000000001976a9140044ccfe78f0437597eb8b0b57da3e8af47cae5a88ac822a0300a12a030000030000807082c403000000000000a12a03000100000000000000001027000000000000f40a8d814502ef610c7ba6053c189bdd766b4111cbde107a169f587c3129d6c9f6740b9271ac3b91386777dfda44f29485d3c689ff5deef2fa2e593236f12103cbafbee6599e53d1d1ea3eb6c2225c6d5de09c2977fa372e594cc2531681e8f39ebc40ab52bf4ffce0daf1b454a36530485884ed77c28303b745a2bb81b04c537b4cdb336c43e8bbbd2bc1548ddb3666738117bab342fa7db86cf259548db038aa6dda2992e992faf87044c359ad0a18ac712d460138507bc1e737db8ef07d63269f045052b4fca20504e4786a4af2fa7f6e3f13c7be9fa42a7ff8966c0fa991d5b36694f51627dc3ee877f119737beb9ca3f6d2033d4506c213e68964b4d408e3bf9dd45bcb315bcd0523a8f51745dd51867590cf4332eedce063f17af892220201139ad930291ae7a47b4ded2fdefdab2dee7f949a481ac95939c7b04b877e2a0209872161e2a30b9014d746b72f62454ef599367c3ccf3c6e668656d34730d43f0a00c18f0cf9675d3a9c1bad5344f17371d501866f633b0c5d30a59d0950272c83192608acb2cecbc011021a4d8bb262df774811077422a9a9acc6bed4a1e065bf030b2e0b0c76d9bdd5aa3d4286e7e225db857776c4e2723e2c50537160f24a6fa50315b64c968205c701d30e980427717293fa9e19e6474ab20a1725ff5a93d2d0040328c1f467a2704383c4b4904b06b55cdaa95503bd878106460eee5800b127c7490327dc49228e9dcd746247b03ff986fd8e5280bfbce83dd4a1e11f95e3e29856c90216041a8e7f723024830a812fb6aaabeebe89c74fcb8b9bf70af2a6334540d2538c8298ccd3665eec7a843736c9d0d1d1605cd65a93dba5fc498f6ab53b53c2fcf084e23370740033980d24319df38c4fffef8d622b680d60b68645946e5b76dc11bd5cbae35feea40e9f52b12b5d60f4cc7f7630cc320f857fe05256b7993faebc797acb9479a6e3e1b1017caf9eaabdeb78f0f079b74ab8b22556291958d239ddffc5ed6ba263f122a85d0a152f07c3fc444ca8a4271bc24776a7e27273e193674c90ff1c82ec507c4499e68da8ff026ffcf7cd2a51e6eaa3f93b5add6230a0fc7dfe42fa3b7bbae1861a4c2aa369dc498ea0b1662a8f87726293c1e5279e7215c2c14e7fbff19f23348b08e5193fc014a2efad1c6c46bbdd95df4c3caec6b05463abce7a1ac09f35f24f42a4f202b88efbf901ad7293a58a8d1f31fd596a9f70b608cba5f1a7baf69785e29fda40df896b0ca9e461975b2d1d500ff1018132370ff662b9a8b7fa8947029fb1fd832f0d5720a573398efd3bfe8ea6856738cab6060ee57909214a7a9b5c22c7614cd96ef7a64194b28a578ed2057fa425d18b57f9e0d3946d54949949d4af89dc18eec5ce2e458e126a14a8eb38f7950728fbb8d7a4f0100ad5f07f1943147bf451b5db75e0c87c11dab4289ab8e826a762495c564c1b32c4a2ea8a57ef5ca1e3bee370c14472e41921b0e32d36d45efc47bcbb4d3ff9950c0d0b7e6f51e4ee9fdb358614309ab52c04263ace02bc48dd1e243a669d1213af8c738278e7a7e5c07f49b0c04455307b65c4a51ac9da6ef78b72432313c4d6f83a7f33b457e5d144e3aac7e0ef8a5d25e8b6fe2511d4fe45cc3554778bf346326df373bce47b8539de6e3e63adeb521a3d4cab57210120f1373f7349f2e59eedd23997ea62f83d957d15d903f1513a178bb506649de89004e11864e0f0b53f145a24f7adabf08727f0fd61328ce27c743fd5dab1f78379efdf9162c5e434f061d0cac9ab105a6c6a9a06ba0c16b2b124dc61fc27951e08d0204ea3fde92d306822607a649d5bcee5851a3e204cc65cde58ac7d8a983f1d80dc34dce6487fd08322f2ee697e5505b309e305d52b40e23ca603fea72b4f2b4bbc06bdbfac84966730780ffb4aa76a7d61c25ae808fff9476d2e5cccfba99e3f6351944d6fe71bf17f6d72626acacb2bb2d9c4dcac0693861078180a276fdcaea617d7a5b94cc155130a84f8bf8bf4208954517c30af9f3da631de438493be26a9808e468a886eeb485c1176a0515ffb4fc67d64d4d99ffe60533bc12ae8c06d26b175b04b7ee735af9efd640ccd67a7175269c3018fecad79936bcdf64a9166f35a082bb458000b266fe165f49813f5936dcea08c530308b293a1700a04dda1ca28376597146b51f91fad65d5616fd262c440699b33a9e639ee92bc12570565fe4c1f95fd47d10082ef27341195d5d294fb3b0e3d6e18310a75879f647075505eeaaf4fb48bd881883328b5830820b73c5ccd49abc2b6f0df1351c988cef4503f23f8516956653e3d42f29748564b244c00a9cf5f102844cca06b9295169f2cecfa5bbdca6e6c5ff2bf97c53289722faee3bb2adb6bcc4ba00eb904cbfc9f4dde734cc53b41105a1c0a56c4eceae9214fbf1200790a1e44d878c5b18e99427745b624367f9cc024b1fc544bf53f5fe5dabdeb8cf4f941f9f8e94ef9d7e7afdc10efe2ee8ca573d3177ac23850f44c181a34daafdc0380119a6a219508133b8d480d569a1d596bf06a6e8ab1096f121eff1bfa2a18c00fae5c46c5b1663f08cbb23d06b8602d9955eef5f0047f62ba9710850b90b55dd187f139a7702b8d2ceb9fdab274640e14e456768b7c257e041987670a0c diff --git a/zebra-test/src/vectors/block-test-0-279-999.txt b/zebra-test/src/vectors/block-test-0-279-999.txt new file mode 100644 index 00000000000..2f63c6160ca --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-279-999.txt @@ -0,0 +1 @@ +04000000a5d2197718a26614c4d078a5eef17e5c16208938e2631ebb3dbaf08148930d00a7cfb7c4a6654629893f2311f3f23bc2294fc5afcc90232aee7b9cad326154fcfbc2f4300c01f0b7820d00e3347c8da4ee614674376cbc45359daa54f9b5493eec3d825b860d121f39006ab4ac12bc9b5e1faa29740e9e0351ad75588dab47ecd0429877e5cf0000fd4005004687d1fd45bdf6b76a1293b9e00dc4dd13920773246abef8e9dadfc5d6807373e75e6ccae2937923060b7ad6694b970503ec4126275fe096ee0fc77bd321696cbd4b6c773983d90d48bbf875a45e38593a240d035abad7e58b39595923218669327cae4d3f98a47d45d17b45c5150d0d16f1456c8c34a9fe70e49faf600a6364abdd0a08d3b045285c9c750fca8c6935d1a8105608e0b4169613073702e4a5ec7bdce063f8588e01c4cd48760db113e0b082a9f97ff569f73f1ddcbe0989656400a1a783accca2794ebaf089e88333b1cb13784c315ab5bb7ffcdbd2c7ef6b92e97d5addb79420685a177bd89f9f29ef3388073d671fa0a09f384c09db3174dd5f29c6fcaed29efbfc6b32036d962d2c2083fe9abdd46e09afb2d4f60958857162d89808050ee986e2464498c03fa971fd8ea9d6a0f1107cfa0e2535a2f90295e6815371f2fd69d92f2f3b45ff725e009340ea0eac8be5c846658ef2dc5fbed1c5fc71d71355bfe82c98da86cc36e1d82bc6a57afa3c19044e361f5aad1258ab27178684703950716704e0dd0a7e42964ad136519b1d6224257c77c54e469e48f58fd6084ec2903bda3a69fdba30fe4ecfafce7f4d39a92674682bb5c566cec57d00f76e78da5e3a36df5ceb3427f2325d071ae5e1d2f9b3ed9a5f7efaebbb17cd253feebbb0a46dfa47cb2665d92dbba1c5a053f2474701f2d9d52725bd179bd7b2e2eb7e58827ccf99f5d611207245bf10f4ffafdb425f6b1f1a0613fe9d1f5e1a08eb8f2663a9cbb8b8d290bfad04f90820ff087c25102cf0e4192cb4dd91549b5be85d8ebe56f869da12421aa5ba1dc4e7cb5ef1c10e3c8c4131ca50b97a21ce7f5fdc18236cf817b9f0f7d32c233e5f3eb9cc1681d3ca35178bcaf659b67db2e8c4a1fdeffb0f61330135c3374dae74b0cbc44398432c239eea9e0dae009169ce6065a92bb8db12e6f5da6a5970570dd9de38f82c339ca766df3c83d3be343c97cd7603b81bef2c5d9b5a7576dc1dc376a528a2de68520eac199daa3a723b7e1c2d0bdfe3acf71b2168eec610c5f1eea4038eaeb013e203bd82aab03bb6dd10e20d05bb72841c55b966a3471b124b4a55948f74b0b1b2a3342b7208f49639a2e01ae7f4f13175be4207ae158f9318b70a1641b103aa37a9cf25a1c1ff55dd01529fbb3d90032c2cde970ed1b0a7ddb13e9f2a803c5fa96bcff916b62a974623ed9f378aa1ca2b59dc4e251c9e47ec1679cf89a5a642258dbe457231b674755d1f78385a403e46569a33aa37fee8ec00fd6394df32a57febff03d945497f942da762b700721296c2357f257e8d0d1949e32506d7694ecdf8b1f0a4646a5d33d49c047f1a8a7f35a5e1094bdab105748839b6dec1d15eb4e5517886f7b2d571e12d68e5f62d3ec27ef3ab37fc2001b51d235e86834301e338b03e6ba10654617d55f8161f81e6c08ad5987db92201dcb3d9a0f8dc7933ac1d398b20634cfa3f90c6168532f2ccd5da169c90ef484e9ae70ee534ddf1d8c5c7a5657c6a5583df40050d49997009cb511571c0656a405b739e0967f085e322b5f5f63ce7156b5747b3f17d2092c1622b3282a21e55527076add6ab7afb16d56ff720d658be56e3c92b90c22d3a1197de9df4233714ed91163e6552559e03521f8f186878216668a29cd7b52f30bd14fe21fa0fde8210fc5f526cfe25921af4f59cd9440b38ea6c1c9b5677b8c9c201e5d4f618a2bfc379930f704fdb5916f68ce0e39b7dae67982f455cb6c67c32190fc6066dfb416717b375ef21727f72cad5e5e66934e65c3f4ca66c1eb6ec51ddb854a5f34f1c25962539f349208a2588bf51ae7ca79ad3cda1f590baad42fa55752233ffb9e610cd6dcaac6438be7a9259dd24dcccaf01030000807082c403010000000000000000000000000000000000000000000000000000000000000000ffffffff0603bf45040110ffffffff0200ca9a3b000000001976a91409cb4ad7f90bc85d3ea1ac5c890a348a15822cae88ac80b2e60e0000000017a9142a71f51b268f74eb3ee5631090589bbf6239bc0c87000000000000000000 diff --git a/zebra-test/src/vectors/block-test-0-280-000.txt b/zebra-test/src/vectors/block-test-0-280-000.txt new file mode 100644 index 00000000000..ffb0a56057a --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-280-000.txt @@ -0,0 +1 @@ +04000000401689162e846bd8689cef63c48101ce2492ca24453be253e3d6541de6b410009afaeea8a44f1f634c1cf6925c0494bdcca95b07501621627fd859e88b5db5cefbc2f4300c01f0b7820d00e3347c8da4ee614674376cbc45359daa54f9b5493e553e825b58bc111f3500937faa7f5a52439087e33d01f984c4f1988f45e31cd5827eb84ee2860000fd4005004317d1a8a41c857e41051080f92dcbe723ffe9e11b8381a800174d04e0a141e5d77b19b1cb3af40b8813de1fe6a266f8598dfbb2ec26caeb01c5363055d12f018b561edc46e3b9ebe5ad60cb7d0de48f54d60c025db73b4888ccc352e1707b8ca5ef55a312b3b039083184df9113074b1162a372fbe39855580abdf4650f95b0ec055be20d72f20260353704f9f22d9576fe2cba0f675b4ff45947c3972f3061ea521c5e38fb4e00e2ba1b99820f10ac3fc2a79575404d289f3027fe160eae5153a384df86f1d2c266e7e2c6159f355229206affbca0617cf71e8ee50bb66b50559b2c79ffdb2f63c1f7c518ec71e6e7244c596294bb3699bbe1b5016435c2ad9875672c96a18dd1c94d917b0cf25da411fa50a852103cc9608eb4a7513c5a326097ff12871710132642ebaa47ca5c62c06cb46669e2245d82b42a640eeeba155d43bb8e73fe65aee4b59bd978313200b6bba095b438dfe56e04a16756a3ba5071ff4a9f038be859e8d7263f8b8ce385c77d503a512adc68350e8af79aa31f7e15c012b90072fea702cd763d1c1335855d7490198b6d6659b67372ce665e61617a04ee0e665b3a6b99c5897a00f17adb4b965913938dd5b72a01adb63f30076d939d458deb2e1aa5f24c5ec6cc2392d56a9b736731fe5203bc299ff875b7301a43ad543bc6debe9ad53579325aad3bea5856bc61d7dc1500e2355c83235187348b10a78b3a934e526cf451c909aa8523b6e59f97b90042a9949fb07d49735f5aa83734af6df9600881f014542154411fc918ebaa696a432f6227c017c4e136c2e64fdebd265732577da410076d9a89c5c90f2c729fa10a8f6bdc2ab03136e70a0e6525e50e0aafbec15ae258b7bd9c05ef49d409f823643f4093b958f1ed171603e46648ce291e17244247d0a61650abe377963c4501513a7f76ef5bfece840082570b9fe86b3dd95482ae013b7fccbb0d2a9ef7242fa78efce60eff4521390356e965df2bac7b6e6e025cbf7d80dff0fb6a00679fd0f3974b4844dce78a15139cf789632a5d697543438276aed555dadf072b077d3a07c6176a1386fce5bfc5f66171ac011362ed1059a57e9489e798d3cf156d0468fd9a0c66b2ade41ee1b4744b8d58eec649f63e8962fc0b0a647d30f7292955e16f68773d735c8ad67dfcbc3af3aefea79c12a06dbeaf6c19bdeb2da68ab1dd762b69c93fb9f05f1496a0aae8ffdff42bd693ab46d44abcee7dac9f21d2e7aa8fb5cb4de433e49c684606f9cd15b3704a2a4b6e3901ec6ec7988f0609564c68c5fe4356949013fc63442bf94653fd6e88b2f0ecfe56b8ec1b61c93d18e4822015b80f194674e91f5c4033172e3d287c15523223c3d85ebd21e4c746a1d113b31e849a8a8c1fdb9de871536ee54eeba771f9d508f62d47d3314702e91fcd0c80e661946cd1e4cc17da2bd9eedfd53823c78ef0fa54c23369256283c1e63c30ef82f5f35e0c672b7590cccd08c671b29eab30a5e1eeea8faeb9131b2162a6517011801702017d46ab0da1ce7ef9310f88c2edb2da271b34e700fb1bbe8242ab31f671040f9031b19dc9402f3115127685b5fcaa3301957dbc151ee0b213911a2ddb69a7a9ef55bce69687f6fc8e35ce47ce91e33dc3d6b6e5c4a12e63b61859d0de31061f55251a8951633d8cf27b15ad18327d4e5b3d0313e134dfaa4a0bd1a1fad1b6cc42d706a621b80fbf064e68be60dce9bdffb2741199d3302ae4b1d7c9b00bf7d4bbd7cc02c6c3d66261f2af2b3cc6c2ec29200af2f2f1de143195163e00b6fab4a6b893a5ea1614255901976d1c9947cd5405eb915f6b7dcf41f023b934beea10cc14a439fbe235e959b9339e3690ffd0e33e8e72a67a66f3e1866eadcad472c78f95ff9fcc93010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff0603c045040101ffffffff0200ca9a3b000000001976a914e3618ddab5d2f78a090297c8f2152e15e3a3e11588ac80b2e60e0000000017a9142a71f51b268f74eb3ee5631090589bbf6239bc0c8700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-0-280-001.txt b/zebra-test/src/vectors/block-test-0-280-001.txt new file mode 100644 index 00000000000..87dc43211d3 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-280-001.txt @@ -0,0 +1 @@ +040000001a36d61d9d0a6289e3e9088a177b61b8d70d560bfb7994729da4c3fce7200400d96f058cc9a3dfbe6d7f284893639633691c56b0ecfd1a2aa355a0aa9fd24223fbc2f4300c01f0b7820d00e3347c8da4ee614674376cbc45359daa54f9b5493ea33e825bddc8111f1d004027eb4e0d01d407c905ee261ac6a231c9e7d9c7e158ce3d530634d70000fd4005005f5bae7c3abb15da00a37da3eabcc5bbf18f20bf2d88d55d5c10432f0960d3b0183b513d8fd1126bd5096a46c85046ca3b3c4c824c056c147330b01bf5750fccd933ca1c00adff4113d3ea520282076a90cc3004d091c4848ae51f70128256ecc6343d8544d6e738103bbeeebaae3543a9f74293a857273e4a7b9f09130631fe44c76ec51beb9c5183bdf10b2547cfeb446e279ebae526552bafd3ceba59ef55d54bab497fd40b07e6513e9c4524c30973045e9d568b9da2c1b36a742f71bf0b2f946682d8631593613642b1f3607e31ae0db468ba11a50b79b17101c0a4276d764807b598a00eab50d361e683d13c6e41c414585f0cf3ef18d4230fe5c383bfd599dce7153326669c7dd4f20e3dedf21b1ffe9eea93a4afc3e7c2e3eee85e3f20fe9ccfc95f45ee8c2a2a196fc98b869abdd6d1ebb7d93ffe91746d5ebe179faa1bd48e292ca9ff870e6433fea14d03cb411e74cb85736f4a64db06d0221a248dd2381d1371b997e0cafb78fae832fe1937ca31194c5089030b714246350f28e386776239efde8874b94a5c94bf10881092378d3efa9c7553288937c7e9f4e5b48cd60f3c295a5c2da3efeaa7e5a236e2268dc22e3c505c1244e2d5a15f27d321e6427bfb3434157c73ff4e0512b7e6c921865b984a2914e2c1c46e25ab797ed4031f855d04e34b9fc57e0ceb6d29f379d6f173582f0b04ee94d762d058c7d81201acc224dca7580cbadd251589ae818f93692ab17bf1a5857b4ab07793a8103209e706fb97909ff1fad878e8f16f85da4cea7940260cc3c1a1815ed15d8cd9650684304bd1d2a595ef01065dbf9a81cb5adbae51e31b899fb88d31879fe2be084249985b83de4fccbc72996cbfbe9643e47c64c6108cd31be0d7161775c7b2a1c87c31e50e708c3beb3d877d70f7574c7937fd64042ef354f5e13a3c357f0081eed47c468db8a1ed84e4f458d25af1ab7cb48e00e3cc781fa98e29c9ea06239d3d528612b25a24060e646a0aa7da647b15ad54232268cb7340457c036b5508d3c5a35ce0cf6bfc4754f4f82fdf10539c330f0174adec60f64747ebd6554d2af6a67e70d7797d7515e0f267456efef7c0d2c1ff35f3fc51cd6d90397d0b875d39de22953d5da405e0b03ab0c98fcf30ec12250de64e634c8f9b885253f4e2e620ca34c75cf70801d5e96b4694e10f889313284af4d0462f8d1325a40ae2b1d14c064cac7117096c87ef1cd6df653ce82c08c7618a8e13c8495142f27671620838ff95d6c9711cf081accb642ee5dee1552c0ce6462f0b9338f0a00360fc5989d56c02de9161914744421af7c1bddfdb23fc4334479436a7edd7c32436eb758358d11bbb7e127c3a3232391239d3b7f22f883bc244953c132be12e9034a2f2b76619ee46541b4daaee3d30058dc589041c8981c583ccfcbce2c1c7111f8c8159cdbe49800b57d768400cadaab46b80ddbcdced14ef53b8e80e1416de6bd5e3d9db7bcff3080b9b6d6cd6a8e6b66367b02432e3e76f89be112a111bf529e29e5ffeca1005c61149e271400fb156e61a0fe79de2417892a9e207adc780f364003b6b9029e94af341c750557c77f70b29fc3d7164da412f8471d65cb9a28eaceb383cd5393d05cd23a3f067be0207df7658f112922c74bfad067542e6094956e6b04120d48432d18219a259cb871434a8f751ed1b3da5fb81ba4d1d4dca695796e0ec0db89637b49b98af9960934f99215cfddd5d50b8152d075ef02a1be98b1b73a39017388a44fa12185d75078c1d38631dfb77619a5a166ffd6783494f7f2e6e39a0e712661805d1709394308865001d28fdb1e8873a21ff89355aa938df44f50b697110c164d0edba2c3e054c0b119311cd269918e8d1e16f5ee4eadb1f98010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff0603c145040101ffffffff0200ca9a3b000000001976a914188868a79991d90b6c2af25fa24e9cd4941f00d788ac80b2e60e0000000017a9142a71f51b268f74eb3ee5631090589bbf6239bc0c8700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-0-583-999.txt b/zebra-test/src/vectors/block-test-0-583-999.txt new file mode 100644 index 00000000000..f706f1d5ff0 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-583-999.txt @@ -0,0 +1 @@ +04000000cc0e97e923bf26c13074568930c9dc231254fcc0217401b3b8f0c73171300c002f3f6bf3f1cc0348cd6e0a885caeff2de25b4d7fbd943de7b77ff98bca3dea6352d65fd807f79e306c607c2724b0f547c68b1f23865df805dddd6c420c6c741361f4635dac847f1f02008f5034f2ce3c93c3b5706384a8faf22cbd9b0b3e8bb360b1483879290000fd4005006805292605753b22d7d3a72778befe3ca9b4e4e4049cb31316964063100c02b22b4ea0398fab3179900cc98fe02f0c74a6bd6f218c35e424691ca65fe7512bfbd5407c903583cd0ef3e273ec7a42d64699c90a02d7f67132ce11b92cb902531047aab9b1a8f522d1057e0b058541d2386cfb90b476b8292491341923781650892348f642adde2935144b701236895e5b7510193d3f6e7b92c78d5287062416685cb596140dde050201b165b1e7b6fb639a71d91ee85501ef869771b048cd959c5be35367a18c5610c55cc8da3a3f7b966f0e43b35413c81d96ea3922f33f2def4cdf2c0cd2c7162e0b25824c95335927d19e4dd23025a32db8e6ec06cc90bf99b00caf8503a3671b3260c584239854a609d4896db515b1bcd0da939be75ed4551d2cb952680cbeb8d12b9b9f2fab8447e54875158b90fcbeef0f0ea82504c9bb25cbf00705add8583b29dc6b3ba6b201061ebe74ee2225cb82229571a2deb96387fe7150214539e804a1d151d8c6f2f2f82f79756a092ffd120f5ba3c77e11402ab91912cbd32efbe0f71d90fef51c4176ab4d8ae5aca919422c58c8c054a3d5fb288905c67089ab4932be5cbd8338b154f22d85a13fae1c1adfb32741cd619ec223e42e16d08c72e12f1e478e0f1815c7a2c97911fa87d2ac00579fe53d029af7d7144ebc2f275fcd55374c220bbd685d50b65a474b65028d062c5df34591dcffe330031b7e1a0c611340ae28799f48498a742b5d8b640659f4628a1caf71f0cd16847d2671d5bfa723a7490a7cde31b65a7915c75117615c8e1fc68233f890d3a3f6ed83a26964f3b04b08a45c99316a3511d8774a4958e85d76937e7a31f310c4f59bade7301d40e1d1eeca17dbf8d60fc8161d3069a3135c95099b8cb7b580c8f94bdec76d5ff8c834aead96b6af5a45aaa613c11dcda0431813bed91900a47fcac68c0aa11caa314fb67fb30d1f45dc8fbb11f97941e2290e997ac505b299fa9411af1639d7a3031b17ebe8a9faa1913eb63042eb6f7e470617b9831f022d2f544d8532b530e8ad7ef2d72b50489a85e80b700c7578d8ab9988ba523e509eb7a49ce5ffbff41bfb175a465ce42f216047763ceef0df7ba67c7f461590d669f68ad417c6b3d269aa40fb8df7123d99a4329c04c8ded2bfeccc6bd5d7e0cd3cf2f90499f34b03a8b5ef08124460edb033cc0d9f1b120c12960b1349d1f262da2553d7be3ce7c2037f0791f87319ee5003dd77318a52492f811083884dce438e99195a58c52e5e75006e248a6134a4e47de6fbdfe7b4ef1fae140e757d6a284404e9cf24a674d43d2f2760205ba50e666e06adcbe1306f4aa8286330d8d0e3209cbb4e5d16f405f1756c4a85d850f2688495e28a5532fc3ee25cbab78b51f5d9abc34c88edc748346722213b8d8d0400712b406fb385f3a2639256b59ac5408ab045c116410a4d8120c40b7e7765fba2efe2b9b4a85fc75e07a6fb29a84e6ae28a9bf4773bcd5b29729e7318ad0a1be1d19843fa72f052146bdfe6d515c674fbfef90d257ddeb6845da8bfaee5a8f0b2443189c97fb4b23365e5da1591595386d8837e9bac4b8d7531ed4a0811b1e0a93a1f0f8b50854aef64e7edeeca607ba4e4204b3bbddd6f4ca9efb5e2445d4e012976bbbf3693062c57aa3c819fce5d92c58123f0e41a1ac3344c5b164b34ec0e0ea355a853a19ab41631594c6e5b7c340aa93cf447e5c48ff2c583b8723d20022069513d5331e256ae06b97e83ea2d63f14d486d4d7b74cf428814e2a0b6fc4f825bf2e831b8f0fcf818f74f4c6d7354ca86fd28d8534959afd5b04273341ad679ffe69047543e3ec2983abd2551e4beb9deedf1c2a27d263b5f4ff7e2839c2c4345b1471841e6a9428914be9505010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff06033fe9080108ffffffff0200ca9a3b000000001976a914521e3f97a7f116f35d95a113523c0bd48fa4056888ac80b2e60e0000000017a91453dafe420ac703a7ec9cc3f593778054b459a8318700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-0-584-000.txt b/zebra-test/src/vectors/block-test-0-584-000.txt new file mode 100644 index 00000000000..d516c3a7cb8 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-584-000.txt @@ -0,0 +1 @@ +040000007347d23b09fe698ef82338b8d30edc7fd3592d9fb2c352711ed698dd89f25a00f6d6cf234c52a42469a9ca5d52cd12f2c532282d947c431b545802fd4ba79f9552d65fd807f79e306c607c2724b0f547c68b1f23865df805dddd6c420c6c7413e7f8635dffff0720010085099b4583750a062e34e1bf7c1074de4801627e8ee84db8e603ee3f0000fd400500345110a8e8a1dd9eea0661b97489d64ebc193a386c35c469691e99ff554168351cd5103793d3bf4cbe10672ae5f08728126c7dc3c2f37a8eee7fbff65cc82b6be64ad44f7bef5b29747e8e453ae559109f7b6104a8af9039272725702ad2cb42bdaeacdac6b37e200df1dcf2d9d448b59f8121386dc714f72b15fefabf686a66f7992e43ad83f20a8435646446f4ff782b5c7b782cec39b1dcf192cda85e54580bcec95c7d15d4022487d93fc3156b53bdd045ce2519a433fe56f04042a613d28dd7d57f4368c9a441661aa6852f972e8d170c0f9ebf218e67c3039900ddd805aaf5549d57f71790837bec6f7ce5d7c442f15f3bcd1e0dec9cc9d7082e70d8458b1da8652f170855ff7c8b8279ff9fdf57849d76046c4c65bebf55e13fc34836d1bd599bde15124da8f292e8d507ecf218613c1ae53c2b3971a2207d3d271f4ec6cfff55c2fb9abd0a7677889dd048006f91467f1baa57f941ed9f1e7617276b28de0f410aded4006417fa6fc8c532e81d1e59fbb29cff5c82175388ef20ca97d94c61f22b7fcf1f0521aef79bde3583fc00ca8ebea9090cb78ae3bfb1a298b31d1e9303a53d41f1518b534d7a2293267c087a663555e1d92cdd02ae84ce3b9ea5a8459a683121c694ab78d66a1a0eb433f787f550f6e7749c43d9abc61a635af6b624d3c219b35dd0f75ea5f263d43579cd283ecc12a403e87e1fc0497b8d3caee22d2cc658896fe0ef40b41a7e7b6af98bb0eddee5a28c55de257ae7f518b1253fd0643dc8d9d319a48c1450d7d8a0aa1e827159b74a6c45ecf859bd23ecc7f5ff693c41c9d526dfa5db050ccf97d199e8a7395288ef0a7d94fe5d931aa5bc3d8fefc7ba573091c6e8d6e1a3d6dc9f4e70db3b6e10dee7507505ff808c6577fd76753ff2a72f1b452b1a9e49b0d90c077d359d78e319c7d24e5cc27e545c0063feb6389c6165bca412f6221a2bf0c937936f8b0084a5759f0fdf66cfd52049347733b78dfd5ce39d1d3565c76793beb3772332fdb14ac2da143352c01552cdcc7ae4e35f5b4e65d87a634cd55ab053599ac90394fac4296ce287c7cbc43f4a551132e7cbd7c1ed1d6e44612893c4dd23212345a5e0d51ba9609dedcd0f76e60f2b0dcf059b82191cfedae8eb0c3a3ce5a91960a47c6817fe2dd414e1cb183c89a5955df6eb21025ecb9b94d4d0f77d13576a2962ee42696275098617a8740bbe4d40a7f88a0216de190be4e56ff2eb73051186fa29a7620b56e262af36fc30759bf69371a5238e461b591364b1feff93db986125d20129928371036adb1e14d5b5af039b361e56e3849616d73217a814d3344303c8e7c94f651bb6e06e561af0dfddc5f61d5d3ce3601ba01f134d23830bf1a9222f24b2ca5050101aaa95d70a0f61a9a9a2e8fe344366435f63a003143a2b86b38d63c42e70a52617187c564c9b0f7a2ba25f313b6c07f7962b6304d29dd2719cdad7e4320500bf7e7043f7ac480461f8406e49ae5f0afbfeb31ef105b15ecef869268bb90cade31352c2e9b6d3070a5294102815e58ed60d231987bfaf09c855fcbaff23ac7555082aa5b5812ad3ce352d71fd00a4b24e7e0e11d5da6c0c065ed83a617ee16691dd4761fdbe2f42ccad1a455d7c4324dcd83b6b6bd17ed197bf0cb0033e6d30e549c04c87a584d31ea709e37a8c5ef5a2065b7a152597ec7d7baff19b4f4aac82a8875f382605669874ac2241c568dd03422a9fe9610a622edd8006178d362315e1b6f9fb60e91d882a28d688da815006347235ef455b37bd2c63735b78f10e3ce8b71bfa415bf3869354a9f0e50bd59051cf44a96a391248df16a401c163da94a7b6d851bfb595b2ea3649bf32c11b239eaa9f15758ac909a2230e4524614b7c93b1a7010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff060340e9080101ffffffff020065cd1d000000001976a9142e861a970eaaadc9914dcc1c03e6f7ed88683b5788ac405973070000000017a91453dafe420ac703a7ec9cc3f593778054b459a8318700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-0-584-001.txt b/zebra-test/src/vectors/block-test-0-584-001.txt new file mode 100644 index 00000000000..0cd696caba5 --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-584-001.txt @@ -0,0 +1 @@ +0400000098f2225178b97df68a9ec502dd9e59729532b643b458938c1b782eef157536009052501d891233732771c7421a1cac5fb74ada434a6af5d099aad08a7fe5aa0852d65fd807f79e306c607c2724b0f547c68b1f23865df805dddd6c420c6c7413f4f8635d9dda0020080055921c83dd9cbcb0b1e21c0ea7b2c9808dac49e4e5da0ee848f5f2e70000fd4005015624c8acc467f85fcb3152971598a104b3fb3ae725b3013d41121aa71e72e2b930c61a9140ff3dbed722d96dfb03ac3d7d915ec2537a19ed78c7753408a02b074e20ac6210c3283a863e45f6fdd2fda73ab6ed1560aab0fb8b092cee07a2709d56bab2e91d7d63c81c4eba8eae70033db03a137c84637c4ce3534ab4df2c7eba4f74e9e05fa0bb8498dce4f6cd599c11eb9d36c3eea655deaa99ad8ca56c7e68626964531c7d150aba651ce1cb7b6fcfe260e5d6e90cf21b82910dc60b04aa707f98fd8f7438f54ec0f20bd6148aba5aa911496ae684d3ecf2c9b4615e2caa189946f89c8a0b18cfef87e10d09635b2d65d17a48041649f7de4b910dffd565e646b19a694d415dc4e9bb012369bce7bf2453aa4f24539d650fc5d29e8fe96292291e9c63111ace31109b1a3b8be56c270218d9e7ba39e69fe3992124257f0153106b8b68593dcde6ebfe9e2aff00b9052716449b5487bb2b88e34ee92889ae36223f1e1b343551c8198fcb7715bbe39f1dabf5ddae2c13345e0c48d33bcd64e183d331132891762711dfd3b05d7923bfcbac22f1b2698e4c4415272879655c5ed11b8f184fb3480965f4adf684224cc7f286b099dfb29bec3b6c5a29f655cc918fc6e6ffcdcb06769f679a107f1ea743e4cf48b101feddc28b04960dbdf51590749d2c5b5e58774baa7e9f665842dd72d19a84513a41ab09246e340c0a6a74ffbe0342aed2025cfb279abe0a0c80a931f3e1281fc4c102d5d3787b3cb89cc685c124bc6aad8a533fd36a93380ccc5302f6c822bb831237471a260316c7f708d233c624584add5aad9034ea0e99da6fb8c41afd100c53e0ab3d1bb3d2dddf2dfa116fbc04a4d285257d25d323c3a8b26cdd0670cae819536af92f1256f30ae781da17db77c0f08195cda639b03ac5a8e9f6a176206821af78901e14781929fe0183f26172959ba13910192c85dc19daadc15a291501bf345cecf6acc7c1cf627a71bd0b40a9a5fc42d02460c980c371627db1c6b83ee3f1e8bee8cb79d443499fe67a87dcee67623c0a7b59d69b83110b5d7a4904a56a86930eebe0e48033494bd73c6a5e8895cfe20df719d4dedd9317d2180120bf1b4f34efa98dbd8308619968f54af0cc57dc44f20b433892b5941f73152f4ff2a46520113f7361ed311fe9b26b9c8b1d993c054d23dcd457546170f271b4f859fd8ed3cad71d0d3e3392a49cd7cf74e7a1a6839cd763b60d8b7a7220086c478d8b8650bfd0710201bc641f8d49a7516f340e9d7b035b707879eeee04f9bd51c3ddb34af22c510b9ff583af64bb99e81cd2178a9264d693a19b8aea158d3b16b05be55fb4d212c0959f082d8b840f6b261da494005270d8d5e6a8f78089e59b89f0765b968d5677757697db2049988cb593a8660979cc3490cc5403547980a0e0dddd7236706ca4c9c226a488ff4d491068c9248f982caf904a26dc0a5112a24a8458bb971f54830ca68d3717636204a35ae99cfd4879b15fc1216f8afa901d969b213463337439f015d8921564460492189a8f4c0b3f02f183288572e5f567cc1398f32cac94057211e1b8ffb093519741ff4168c29a7203200dcbd816a8d381e43b02d953b421bde2e3af4eb93af6e367c7d5e6a9d9cd376122e1dbded8ed38051c05f126503daf4e1fbe5dfb2fb474832b1fabfad162209317a1e4e3c297cb75c266474e5ca9d6ec53621015899ff71a498e0e787d6594d36a959565751905ae179a22bd18d6634d06cd947bafb928f1c09d118ffb0c9e0b88306eabeb98a3441ba85321d1183a7d166d4616b481e0e139b18d3727efc3683f4eb6cc76618b248e8c01f5cdb160774795143cda24ae88b23abf273ffcf462f39585117d3ff81d835d2e632e191e6272010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff060341e9080102ffffffff020065cd1d000000001976a914d0d400b3d356972fdec09665b8f187412352e8d488ac405973070000000017a91453dafe420ac703a7ec9cc3f593778054b459a8318700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-0-903-799.txt b/zebra-test/src/vectors/block-test-0-903-799.txt new file mode 100644 index 00000000000..1a83ee8f94a --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-903-799.txt @@ -0,0 +1 @@ +0400000034d6fb62b56d7e6f081c719e5f97ba2d4f355e3b1cfb32181d2e2edde5623b0029f277fde60e203b9b1074072fc7678d15bc13ffc008011227ddcd01fd7e5983e28844f43b7a882ed5f0d9a4cc5575f53ed75bee5226ba3d3d96d55c394464621579b05e28e1501f2d00644b5018cddc32dfac9f1f4b6858610ad66ffc66eeb252013452f55d0000fd4005008682bdeb4b140e5fdf704b39b0c3fce81e2fce0424708f99fb97a1376fc995efc930bf7328177cb87a343836c73afa2733eaa403c40a5aee6513ff79218d5dc5e51a74ab22ab6f29170356bd582312961d794c0352d4df9be67a49f0e9d0af4e2944fa23f8bab98d19d46e3caf1a5d0127ab53397a76b0151e07eaa72f09da793c72385bebe4a342a37239ef056071d2b9500b8ead9d2b936956be9f01297e977284582de4012f03da0b91a79bdb4bc463c83a2dcd504288e43e8198061cd655965f6f9ba072939504e748fa4b7e7513c50bd56535d15ccecd193d01af54301b1f6630be05ca1910a44d61ae72e583054393c69cdd8ab7ac3dc6730811d16553054856b67f029be427b3a315445d5df82bbcdb57d916339f5444770ba7eff1d36b4b1baa2634a4e210fd676eff410f4662d87443d205077ccb3359c0aecfc5ba385ff96d465e09c4abce78a01af368071583882c522269f3cad2aef86ff048dd5caafe2f366b72556e112f8ada1ea52dbd6f7e52481b790cbb09aefe2b58365623fb3b7131711f4c3c586bb82d4a1b83f9b6649a3a972f9b63a56f492dd2bc9af9540125e6ae230a4f74d8c7f9626611ee628e1176fa8fce64d6edd73d68940d84c856aa465a1d91da1cb0d9c82951fa91fa244b279f70d3185af95b3cec43f387b22e4491fe45dc3c95814e784b317dfc761cb33251b008f9650804ca0a71f43018833364ad7b0dcef9df8a221e1c70d71dc0f7dee27304c14e86c9316133505909d9736a7b4da3ee8ae321d47fcc05aa10fcf5214717c24cb0ba9b0d2d88a7228eb22a6f66465d3575171086e66c950ce675f155d6c42bca696f021b1d6cd92124e4bf7a4ea11f2b46c27058522a8d54166ef99228652e262319eca7c36342bf9c2e12857985b6c4095beb0c9b54a10d31a8274bc329eb9313070e9edbae01c2de633af5864de21420d4ebc8fcf44739eb1db1289a73a33be35a53aaee37fd52efc912520e7bfc2b18a67dbbd213906328d0e4be70ff945f990afcd26526d08289634e46af3e67e3c4f0e8307971ab9f91f203b819a24a1ab6ab0fd545d5be614d96479bb732001aa23f9cf4a1db4dcb01e362d4aa432a61f9d671e706314bd64a85e4f7374b0820d16551d63ba73a5fcd07a816ae95751e41e4498149e24bb9c4c7fc18ff4c0a1257439f897f2898b6b11f9222ad44cd0a5015ec4aa67cb4d7d378ad8651655f5164214b09bad8dd772ec186538510382287dd461e9ffcae69b5e91ba23d3926837da7deddd9b6aa34df202df9278c351cf83e13ea8d87f311e8ff6bb883665c5abf11d66dd0f01315548e7dfaab996bc446d359bae02a06bf0cd6861717352dcf81d64363abc8356ca1e3994bcb855e61af20a366137ad5ed31c924e8f8754c7802aa3d3dc9c30448829411cda9549f0ff116e3efafd1dbc13427ed07e95bc4c44facf5bac7913cb8d02c14e9d1f8cb0f0a1ae7fd468d63693d5d121e75710b89376a92226b19dd819fec0ceff505f8256f56f79bf9c89d3735f8065f123945519f036f2ad2d92ff9b92922c6ba492f123061fb11c583ddc6fef1436e734d58a4e195f0660fd2843fca848c5f81e0d5c41041498317e6dc8de22dc476064b9978b31bfdba28a1efaef6c0901f39f306be4340094f5b56ea1aa18c78bba76d520233368514ba72aa01f1e31fc6392167e17390cd8e832ca6f3090183f3f0d4944ef47a614cdd6e26607c698b32cf21c227c89150c19f3b19d2753dc4c0fd43fff1d17a0719be3598a9f2bf7a7e32b757d212e502cc48b77e6b5067b56be3dc9bda7d178076da04b65f0ffbe3341d9ebf156421e5fffb2bc4e53abfa985445af07c4c2d8e04726232baf1c354738a7145f975c4a29cf662010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff060377ca0d010affffffff020065cd1d000000001976a914d1aeace22482b4141d26d98cd1d1ae1f79a3e35c88ac405973070000000017a914c6fb0a1ea5887b25b8e1a7b71a1e13c736953a1c8700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-0-903-800.txt b/zebra-test/src/vectors/block-test-0-903-800.txt new file mode 100644 index 00000000000..9937911a65f --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-903-800.txt @@ -0,0 +1 @@ +04000000fbc17e4de96391a456c659fdc97177247afe246bbc878df518385bb0b09612000d0b77bd49621afb12977f34faa006535e076ca3065219048965aae9c0a86bd90000000000000000000000000000000000000000000000000000000000000000157bb05effff07200c00242462fed51d000393f2a3e1cde696e9b2b5f7c919d5dfa358397b6b0000fd4005006444054102c3ee24f8b3ef5ffedd31f84833082405348abf3a0df56799fa7712d04bd4b6c4eebaaef20b238bc2d291044701f51400d57805159a6b8cff9462a7bcc11ba62a0fb4bd167a3d54595f03205e99d801fd974ada469bc679c4087e9873b9f69470d6f9500c9ebe35df49b5c1846e0176e0c0944598a6dfa4830513c08a4c81b60aec7ffae13277d64311175a341e1282fc35889cd48ffa4a958026430f39c82171759f08d9e4a1c166fb5973ea1b5a02713ac348b75ef4271cc8d6535a55a0dedce24221d7e19cf5522a116a6c0a56333b4bca439ad6b434c85a41c755ad317322c70f3b70d93344abe12c20c232644f87ccb945773c870dd8afd71511bf73e7cd679942e4bbcfab38fe6c881c9899e7bb17176d1b0892fa43ffc032f6fb7e587c137538d018626277ed3b46b07963abe2a6895664e3654effc4a85d295f663c98e8aa69f0f2775a38384900dc9ae867dc6a6923b741d92be90fbcc9fd99be0f38218a33382eb891834c467c12f077e9a770cdfe4205ca251f524ba930c97714859248be35ec6b77065516d77f78cdc7e639f196a88d2d765a4eaf5cf624e00b534e77dd14e129ec8f32aecc2fec12e671fddbca1140e4020084ec8343a995ae3a2dba9ea3c03a27a31d81bf08088c6fecfd622208baea1f122db67db6fc1ec9adff8cdb861ce61c12742f20689ad7725f8baf026f30c5a651b31716fec25f79c38673b21f5e27e6074c174e0b0fcae3a0f1d241b54735a0e09655c2170ab680dafb5707039c23730979ef1e1d23808feb5c321186726a9557c337bc95b3576f59a985b83eb0bf0825f043a25731055c40c407aba3784599f1f5f9cb0f59f1723f5cd251ce045244334c3f9518a50c4bf10d4de44fdc9b658bdea4796dce75e27685df9690a24a2c1b231514dd9decac95a3b0d5a3ea9e085a4b1b009f5182d000f24f8bd4d401a67f10c625eb5736360ab3e4aa731a965d13c8d19b3bec4a08bf696c5b4a08055bdc9358d0d904c7f5e6f1487ba675ddf4a69e2327cefe20a1bdf1f6f46326e92aa580d43e9f560909f4e480f3cd93b110ce6648e639a706c1281fc5a2123c7a3ebc9694fd4fd2a1613a9dd2020e33bf252d2b247e7761e0ac1d58cde38e61abd92928d6d2d7c82e689284381e284948803693b0b61c76a53d38a000016458c011dbc379047950dc535fb14d37acfe5ed9238d76bcf19af820df9884d0a8f89ebd6e563484150613d5b852d927a77f68822b25ffdfcdd04d950e0b1efdae45f4764dbbff801222f966851b097799a899026f2c500062fc953f7fa5c4de5fa87db5ac1edad123abb152838d0616b2fcf79ec85a2ffe444b55128f03dcc4f730238be5a89870890a6a6fa0efd18bc02c2a28d5604f0f6a40845183f26e3c495a48583cf6a400f99ecbc6cc9212a544325962241f96661bd5f5ee039aa4132582aba86372a8789868c1c231e55b2a20047caa1116940a2faefd330584a33388da499a26181a9645b10af7ff51d78441d912a14a52fc8b9c9acd03b0e0b49256a7d3f6b046ac2bf757a1bf789cb71e436ea7e222f3ebc3b354847af459047931d252bb3412e5eaa12daea9f18ce1f2a3167faa69dab4b4884c3288955eac5d81310a9e55fd6c549155d592b8bbb7081ef26331e74911faa7e3d9c5a23352ded81dd4df1eb7f1a6a85c54b5f86d631d2ae91c056fa558718c1200638804dd4a0fa4825a21da6f04deddaa77a8dc20eba3bec6a09e673b36a443baaa27316ca88f1a9c09be536c6956df9778f0d394dcc43ab26d7259a087141fd25dcb6402a7845b140b2b2514c9e948ff23aa23205fde39daf1ff75301295bf424595a615551af625ac3de0e34fa6f4abddd8fb1475e6ce8bf79b2d29010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff060378ca0d0101ffffffff020065cd1d000000001976a914d4df035521dca6e49c407c2928e074d2c27e62cc88ac405973070000000017a914c6fb0a1ea5887b25b8e1a7b71a1e13c736953a1c8700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-0-903-801.txt b/zebra-test/src/vectors/block-test-0-903-801.txt new file mode 100644 index 00000000000..193976968fc --- /dev/null +++ b/zebra-test/src/vectors/block-test-0-903-801.txt @@ -0,0 +1 @@ +040000008e46d2272b0b36ae772d3403489c3bb45adc95d6e6056f4fc0f79f0e8a8d6805d1dfa5ae27f63486e9204829b26014c85d01257d37dc1d10a653606e9e5a8aed17d05811e9c5fef7303a453b1e424aeac1a1ed914ec3a2a67f890d897cac61a4507db05effff07200d00d3e960b4e9b01eee53ece587e093d42773e5cde68f7cbd905359576e0000fd4005001d39149d1769e92767315afdfb59d5239609cb1f1e0503ee538defaabdfb15b17cfb73b28954fc558f3186399430cfab8c8c0726b0acbde8937aefbcaf8b541c54d33a592895373bc83c74d4defa60a1dd62a50270aa9d684748bfd439e204bafc4e1189ca58f5a821762b0b30248b13c50d83bd78b80b42f702193781162eb9e00bb71a8ff083348e4ed3c6e710b25cca952a90177ff3cf5e51642b18602069a532dee8bc041903df0335dec4f4631176c0ca22f5dd79194f37bb2f29e652dfedd986cbd6735746796a9385d9274f15172099365798972db1495d46789dd96ee37817bd0dc7240cf5412e9547b977df55164bee415366921dab61070d2140cee43861706258d883ce16fadc0c1c7b6013b5b45e6df2a54da5c3c683f46b68c1bfa19c68d81f386e88a94e67813287882290e373a20ea957a2f266d315c7f42e01c9ce8da8700e74f4fa5b3214f50d0134d228c486de9bdf09555baec605e58eefcfd27219eaa54413c88f6bf6d964d8b0ac695b0d909996ec023b8b0f7be48af15160741b9dd1e589746e5a3c050e783cd45b1f7f45d4c835447bf3f88d8750f00b5e1be1745e414b4f706dc041c95c93e2b4a21386155b4c491d6267571942d2328530b157bd71eda27e694b2def7dbbaf1ab1a766857abac5dfe05748973e266545a9c4bfbb603457c57f76bac0c1e1ff15955a5b67030b6a6b9c5790c0bf07f0f21c67b760c2d0cf71fe333b2343d88f8471e69b6512095322496cce5a817c084c34488e0489ca32eca302c5a5dae2156e588a5a110395441315fddce85537ed57d46dd63924b79bbd08e96c2508960e81973d138b7146e5ea0dd879ec2b291ed47c04132697fc8ce51f3971755a026d51cb17276324d24376d7d3e865e3d12e6ecd02b0d0fe910c9fd93eb3f7769d99dbb85b26ce685fd730dd199ad000ed5e923c069dc52e8bc0cc084dc95d0a7ab2ae3d3aaca34aff52d6e17166e7390bc19645e87e783bae050b30e3b148f51f8b9fd45eb861754307f9bb962a3fd8573971b5275dbf2b74507d554966c46f3753ba017fcb8970833ee18ed1e2e3a66e8caed5973cc14e0fbf02ae3a191679ef6a0255b0537c29adae9deabd0cd9dbdb0d07d367d89c146d3be166418b413b8f74534a26f484afcdad863305b0be6a8b5d7527978a3c034cb1d204af561db63095167365f4854906be957e30d417e0a5cd1aa59c3c7465fa446c96879c3e27f5281805004b2ae041cee413ff243fc72a1a8951d62a47d085968361412b437ef79b12c73a2a1a14ff2fae0429857a8788f4fdd1fcb51a89bd523d70e7f5bf0616f0a9ea9a1d60a3c13344ea606897c1aa7151ff9c05d288c943832fae807c34b75d40e1594a94f8d5101f424fe3586123955786c6609c6636771c1d7d725703afabae6d0cb6459b8000eb31a740fd7d02d7922954a0d3b2821e06b7dc9c35ebd174b6d57d142fb810164d25b57ee685b7bc5d857520dc2db690dcfdc75839791d7752a6b2854cf133b146e1d2a755cfbf36ca06fee5ee5212d64b09a4a783ec7cf471e9828fa9710907a96cb10249301c76609f7f5cfa28f24bf2c9ea0b8ef5d28344e0bd68fcb50f30fb0cc16427dfdd3826a6f5e46d57eb4fa46484fd637c04b58ceafbf5f40b262b7e70892cb3834583bd1c664bae88e2769ab811a4f9497bd2abd9567ac2e3c3344eba74ff796ffc1b397f02e18ee376faa9c48c1ce979bf01cc581f634216b7bab367980968b9365040f61b01b58138d78e12a527e511a58d1bdb4bc1f1b363803ca37d46d9d61a7a9bdec71692d56350b701eadd81137692feed1a16791292fb59c4293f3c01b7b94cb955a756798d691dfa2d532b0f8cf29b84864ee9666386e2c9f7fdec010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff060379ca0d0101ffffffff020065cd1d000000001976a914d4df035521dca6e49c407c2928e074d2c27e62cc88ac405973070000000017a914c6fb0a1ea5887b25b8e1a7b71a1e13c736953a1c8700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-1-028-499.txt b/zebra-test/src/vectors/block-test-1-028-499.txt new file mode 100644 index 00000000000..1ade57c1074 --- /dev/null +++ b/zebra-test/src/vectors/block-test-1-028-499.txt @@ -0,0 +1 @@ +040000001e5cdb6e8dc390ee860d671a2f8bd9f50e63a1d60f445de9098d5c2408342d00d8de5e301a710efc66f3ae52966d71f0074c36fc2bfef32de8a98346c527d78ecdfb4790381f66b7c21cfe51d7a397bb206cd722430b70764609ada4b241f28dea78285fe4f33c1f04005a39c7d1f624ea4c72868fe3ce219311b067895744da9879fdeb35250000fd4005004b5968369bf479a6ef101b796cf2774dcbfde5821a944e825c0aba128627a71c1e3ecc96306f1f7b4e032c07c32a5ccdfbb90440e865e3de572b291d882123caaf489076a017d1d7626b37187e7a0b4ab8abda0e891dd0372d37e1b564b251a3c3358619fe39eeeb4adf32de00582681b3f26b2a33e7891f2ffc1a211310c584cdfac44a68777aa9e2cdfe66cf8000bfad73186fb116086174ff6a6d2a575c66ba9eb6271a174f04616efdd4330bf7cee83121be4d21b49ad04cf0c808f37852b44b1676991726681347b7621125f2bdb60b8f515c9b8d70a5771b8c8f957729a72bc5ff9e3e296a9724eb9be903965dd5400b5381fac446fdb6c60f7d83718a50556eb2f9a47af7b066ae33c557f25412c7afc0e79ddebd1a2095e9f138f272230f96f300109d18cd4fc5e0c51e5032fe2a4a58358d3c5c53122760c56dcdafbdd3edf9b8639b75253a6e9f9bfd2d04c05f991f4e9d74909bd26d684fa62acb165b343d08bdbb87188db16f312e70986a3c25d099ba484e7a0d1c528fe10880c0ccdf73ac8afb82f97d21fcb0540da2a8d32cc7778d7a7c44c8fe7fadda28dc56c7220a9663e57f44b58d99fa639e42ef0cb56ff2ac28bb322096e760d1c0613a683566113570c7e9883f9cf50ac323ab958eb1efaa0ef4e57e316dca5a10b36376143c6b04bf5a26afc522aa9f46ddd32f4b19ddce5605c985018e434a87e2da42f7a5e71f5d1202f672b92ef3e65f2622a34df467a46009762f7918c8c9d2bb0f688397f94a1f0cef560238764165193e12992095128f3d673f728029a2e57921c0df8d3e5d3bdebe690deb25d27a9d735b9d7751961c4d551ee94d1b3f8d3e1345d55d20491b43e4c75ac76430774aec7facd0101da3401c56833108103238881ec775c9b654a5e02efb42f306d20f53c443d3e96b6f323b58ea3cdc5700d2e11fdc2e8949a730132054768b5d62990c2ec80efb73ea3f612dd7d06ae1c0d95ab9c519774926f20d2ecf5e9fdaab85a5a2122b104b3df11fd7d14a0c450d9244243e08cff64d95577db652ae2a65dbd250042418f561e3f3fbe7ce5147f3defa02797b1a50f6053239fbaa5aecc95e8cc18e9b9462a8aaeaaa0ef3055d6b07a016da313c8f8612b65d792ac6e25f8fbc0d738c75ed6f9165a63ff4ef7dfd41f3b06b5f418c01680a6a10daf6cfb04a93080465bdfaa1f85a73ec2b2597fa316db43f7a75a5e1e653945696fa9647ee171dd7d4ce54c027c634b46db0bb44b5ade46e6b9657e6cd45cb32b4f398166631e2417451990d3a0b5614f71d561059ee2fdff376e244768da2127bf5f1d0187e3e76e14949f967dd318ec922c5ad01e5096fd11772c4dbe9140459167a61c9ee4a0aa48f61b0bc4f67ad0fd6f0232f877ada47e61ec415d6a8637d42fa037003da9c056740fd9d4229a4aab54630513476bd150fd1508e4d8409bd81e169835eccc91c0fb3f904100f13abfa5183e0b73d849e3d298c7932319e654b3eb74f9c5823b291bd171475b465159dcf6cbeefbd0b2c7440e44d575fe294a35d764357d289343ef54f31bbbce24ee899616c6ec35a7f339f4ef02c39d81a0fccfee4e4d24ed9e2d6f3a0d4aacb25dfa99c1c2a1ce3e6efa9b1518d9dfd625c6a1ae941aea9b39c8b0f48d3ca1c5943d5e630d4a8fcb1d7d555151af44d1857918e58ec3a2fa0dfe503bd6dfa2b44f1de4e681d97e6983049880a65c682384d486dc18b6a9f3029546f4afe8467c703788435633dc17a2a18435e116e10508e0a57e1438f8a19813b737f37cc83763d33fd4111931a0e1e418b0e4a857e66470a55f78b9b7d071a3ca490d6139281f9aae608584a8aef3495fce5652f014e105d4dc449199d14425fa228fd34e3da8965010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff060393b10f0102ffffffff020065cd1d000000001976a91403e105ea5dbb243cddada1ec31cebd92266cd22588ac405973070000000017a9145c8b8cf51ba3b5e10b63f77e8b8132e058724fd28700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-1-028-500.txt b/zebra-test/src/vectors/block-test-1-028-500.txt new file mode 100644 index 00000000000..651ecf398ab --- /dev/null +++ b/zebra-test/src/vectors/block-test-1-028-500.txt @@ -0,0 +1 @@ +0400000080a6a24840e9e0d73a8a8d726ce9eba4ee01476a41271d874be3a470c7d52f0074b2c8c9dd9760a1f9d08da10fc21b4567ce011ede93854067630f6094eca31aa80d15fcbd133c0af05ddf0a0d8c8f962e0ee94ab296cd00aa1cb9ee34f49f7ab07a285fffff0720c801de5b330f5c7dec0b76be05498638bac71b2ef4b72257ceceab3b3bfd0000fd4005000991e9011af64533d0a39c832403021f2856fd482a2e41b505712e4ff633f465c56f62bd34bef9f6b20c943c57ab1c8c155532f3c5fe33edb952954dc95e22fd6f818b14d4f1def772d4a41c780e7a453a95990094f34131c2db4ea6ea32b33799794dc7a11608fe4bfc7d1ff4a19e755db8161aa7769f31d80c74ab0e29062e36899fe3d11a2462cb299ff4f74c729b0fa757f3dbcb9e5b02cf48f1c918c8cfe8e3c9fd7f64ce0972211d0911e58dddd7c44e9ef963a9ba7b1cd996280944cc1c0f63208fba58a60d6dd866f24f9841341131b13254564833f350c1227d2603be65ea77869322e0f42d804a718edb9cb3af6f326e1eb9519b69140f13539fe48fde6b83b9347df07b826304951cdefb148b1ab3dfaf859fd59a728c12f47f25b20bdf02fb0fff27f0d72bebfbfccac16fff363e59af21f90b1d421b6ffa7e521185223025bb4e38726afd1adb71ce002f5b6d2431086ffc44c132c3e638d29cb45cf39e136f1e69a1c819b8f71716654d501029a7f394e1ab57569ad78e1b2a85ca5356d933eb128aa602bc0ade62271f3dab616e339e4536f88270a4d2335b9b0490036367343de237cd2917011be14c20f2adf65d099904f7ec8f45ee5fe9ccb259af29f2bb7aba923ea7270b393b1c53cb9bd9d29b86e9a9c36aa67c05dc07791187865fe94984af3c6998b14ff80be6d58656e79507ad14a145831d9fad41581028d8f47fa035fdeb0711cdb0c719c4be4fc5b45289f7c25f1e9978da9f8813f48a103e290205ccd851ce974a3e6603e337921315bac19bca4cdc29c3480399376f7ecce7402958040c0a997294c9fee72708d712c4d337feee2dfd5c702a60f51a4f9f28259a27362b73cc03d61aa97fe91a17e85ebf899939b7152a5259653f553640029e935d23b4697c8693d174a2e0146cf26ea759266cbac7d9010d3b5769e36759813590ee723d5b56b262f76572150536ebded1035d560ff7925e4ca5a2c12f79a63a13b11b5cf7d9809cd794630640a04f1d13b236941a1bb6f5678a081b5c4d6db376d33f7655cd2336273c0a4168e719cea99df7514366987d94a186a574f7bc28ae15ab19cfc4d31deb695401ff0ac72f3afaa44f172f543ced9a695f49dbc3da38dce535ca64d2957120a6db273a74e4e9cf35a87bf1f22f365db518d6e7088447ecdb53dfb2e8d7267fd44d433e751e1fff2e5a4ad62637f0636bc2bca7e288f28966feb89e1c3c0a5e7d7c9a8f6aa5e2ec05a1525b75faae09be26bd1ae5d981db4d7db28db9727c64df8f74f6a4bbec2d0d2fba8fde62b4bf3ca0155d6a55559a61191d8fe81fed03b04626d529e932b965cfdd4dca98c855b50e2a3dcaf9e1a2a65f988b134c77efe345e8d1958f744aad14c8941e2d55287ee6140141319188aaafe6ef01baeec39dccfb7273f38221d5e5c80191423060600ef8c3bb2b5b36bdb1508228bf3d6df29f84dbf6640423faf4be435626c2b3cb9b85fc9b7f7e465f10e30cb55e4133c89048a00484af1adb9aad40e4f2ae0d35c9fb8da0e02cffb2e9b47bbe78286a0e7b1f208b515f1ba2ef96e6812819270e59ed4ddf1ba1d8f4bc4ec386c00960825dc57a470e98db69422eb39c65be50af5e71e5d92215bbfe36ecb5e95e0e16ba1e67040a6fd99231046cf7695414d881c9befa4a02f25f7c174571d878f97461f72156ca795f16f9c454d95dd90eb7e33d95e02bfd94fe68df475553ba694d946806815a448d866e4abdc95c392485d7fb02b07ddba12910077e447ad1b3bde2e6619038f96f831fa9fe78dd325144e125a9b657e782153a595b744606f83a78bc13be290c4ee378e5902fa1b80bd19091fd9eba3bfa200a2e47f25af2771161739839bb6446579fb83574010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff060394b10f0101ffffffff040065cd1d000000001976a9149ffd720c6f877d95941ce73a8682ba95b19888fa88ac70929b020000000017a91402db6bf7d524268b04edbb986ca4b3ba3528045f8750d6dc010000000017a9140c0bcca02f3cba01a5d7423ac3903d40586399eb8780f0fa020000000017a91471e1df05024288a00802de81e08c437859586c878700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-1-028-501.txt b/zebra-test/src/vectors/block-test-1-028-501.txt new file mode 100644 index 00000000000..085d5641302 --- /dev/null +++ b/zebra-test/src/vectors/block-test-1-028-501.txt @@ -0,0 +1 @@ +04000000a2e779bd59fa2752dbbf1676fdb16672dff5ff33bfc16277c830daaac6d7a401ce2a00bdcd43fd879dee92a09a0024404519743fdcf9d53d8b11c04dcc51a17950c45960aa319e288f838d938636dba9289b6fb5df6b267d6515449ce6234055497b285f4bca00209b00bd3851f2d7883d8578566b0088ccc929e304317dd8764afd18509e900000fd400500f8f3555057648330a80533a448450d66f7915c72032ff3bc902bc327e97371c605c8697e93f6398f6303f812c050ab0afd5cd9a0685c17ec6c5d85be7f4b0762679a32b0761df426020153fffda339f53da0e001f12a8abac404293870b8ffbae0ec67be477fe2e21d123c6e7c68201d4d6bc5345cf856564710759a2d312ad72e8c985279ac5f75977d62e101c24174271c46debec2467af549daf90b0308643ecaeea79f27b9023001fcd7181e56d22341cdc94125368bab5cce6518f2d68691dd72e565b6a26e6dc4395dacad58cda207cae850284593c0621026d18b6c45ae9c441fd8133044229395fe62fbf4fb241ce0dcdad982e58c652d04d0da0c8f8f87cf23d3720f79338cd1e959b3e2b505fc05af160ab7bb8af671b8de7b351c7b47f35eeb266ae6415d325b739edde5dbe67b181a2a26f5e1ea2c51148d13d17a2fed4f745a326354515daabeddb0019dbc65f0827a5f13bef2c4c6cd51ce1cb6bcd6f8293e85213d643aa194b5757543fc06f5aedebbc81f0b63434b218b6f41737b90c81a30fa14e2be2ae67949bc9c061c2e3b23b94015b2933f88c6057cdc75000591f894670fcf652f79115720e28d211a1cf225bc2d4af63b2db2c887a5c2932a7d7f441526a1bb190e05d08234694310365ba5579d45d35fa695d0ddab847d2b97d1a369282349fd584fbdda77be40aad218e602479f13f6b63ab5d58e92b869a74d938c571e12fb3f1ae7fbf2e83fdbf2d31552d3d83815dec7f600ae0f7cddd2f3b0684fe2a371b842a84f0b90709d17502345269325f258efb99202b1fe58db4ed09198ae5e0ed54c9a7e8ced37bd733310faae721d30580e2e79104d3aa4641c2523a34365719d735d555ea4f412a0197809a9accc6b992be903196ed5fbe9a75193c2ba198878e880d14847c1ec0384d036fd94fef4b9b4ea0109d41f33cd913772dd03768546a52e24e0deccc324a78a82008f1a852d4c62bd98740f7e4a269369a60c4b48aef8d3f8c5924503a24a648b1d5e45fe944f14ca2be8a3f0c5a5f80a527aef48f6fd95f7724dcf0245b69f71ce5837086ec19be1ce22c095a1b3c3ad057d65d35743805525e06090aaa716d10def8bae641e092f86eb9eb241d055a280aa2c9f3d06c9f38580274f2238f352d6b761bea43a104243e73f84bd55d901366a280ad086270a2f020e962ba8bad9be388fd41e263fab3f1ab6615ea6d24c49a6a78f0b26fc4f000741e089db2367f164e0c33732da949598ecb48ade21082416311a54f53466c340ce750e0b78d97f9fab022140d57ceae68fecae46a951f2bd171db1bc42470e84b99a1a05493263b06467a5e9ed319cefd3342d044551a2e538d605f942d24639e94f952e4debf3ca0bb819bb0117133f3405766015c9b73de3f7f46fdf053847972247919715496153e1c29784d3bf3728e708976cf20ec38c694088970d49e4e92a5bbfdf881416a1f5f4685715a6ec1c85c81935238a6fc0b5030b18504fcae34b60a5ea50d3259d9da79662e7bd80ff054bb2142a92d3b2dfa661c453f2d9163f4d55824e15c6aefe2c4777dcb6a8240fdd6d4d5d7abb3fe23609150d0c6857f7d5e59d30f4f5df18c0a63df9b4912acd1c85b4dadaa2e2d6678971d6e10a21bffd05e710ac13b37c4f5ab9443195610aec48897cf71ef83b1ce238ef428aff07e9c182571af7d3a898211c36132672d2b221111dc6ec070601d7b7d2b23ed6d5ee2978c70fbd71a7c7f5d64847f127e020f38e8ffd77f62815378261cd6c33929a2476817e3f6db3c79d33c62b7bc57ff8ab4a71bd21a30f94c029675016fbb8542d1596ef6329185b820e42d9e2371b34e006b378d53b0446af10ef8091e7a648657ad49c56318e9d4a65010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff060395b10f0101ffffffff040065cd1d000000001976a9149ffd720c6f877d95941ce73a8682ba95b19888fa88ac70929b020000000017a91402db6bf7d524268b04edbb986ca4b3ba3528045f8750d6dc010000000017a9140c0bcca02f3cba01a5d7423ac3903d40586399eb8780f0fa020000000017a91471e1df05024288a00802de81e08c437859586c878700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block-test-1-095-000.txt b/zebra-test/src/vectors/block-test-1-095-000.txt new file mode 100644 index 00000000000..e754eedf211 --- /dev/null +++ b/zebra-test/src/vectors/block-test-1-095-000.txt @@ -0,0 +1 @@ +04000000a96ed287119c10d85b448083979294f2826b1d9fcbb516386ccc2a0913f88d0008af1110dc53d4372e4ba770d620d69a231df45de6b77471aa12ad083865ca17fdec3a9182c481962c608fb40a56bbbb3ce973d76b688c802dc42098c308004261c66c5f3fae00200600f227b8c7474720af6eaae60bfa14670bb405d0114201966d39f53dc00000fd4005002a8c1274855d99f774d1fdb44a66f298291593421b9049a2d5d33dbd758115fe1c39a29e4bbc9478f5038ba44cf7127d69db5dc3ac3858e921ee0ad5ed0d409f640799975db76ede6672ceea901e069814f2290435a1f5c584ba5f0df923a61ecfb00dec9b7a231230f79f9cbbafd3bdbd2da6ee6bf0542648dd3c1b6209530deb736b1db1f7a9d4ecd8acdb6e68dc78e2361ef1762a308c8a44825b38bd787e56fb10665df9f503c93b50979fba87db0fc590a576605e8b0f98dc99077990fa8aaaacaf70c702e243a1484557f49e90bc12c6a25733c64b698ac887998bf480061dee1db5ad156bb50c4d9d98cf488a45423e4e8db1a6f8f52f63075bff45bd498f6b2ea702f445e653a241a3960da921006e564c0866935218c41fbecc9b869ee71de4b218107e2cb69db731d786464f1634b509a85579a441246f39b4cc97a0e11f8ae8071af743fa09411a79d5031eb9226aecdbaf9f6053dd083b019a879998bffe066a2fe4dd86743ee3c452662826f5a97b184cc03517f1058e5359dcd967f54215fa77a6215ad8bc7e913ca79c5fa71c575dd3bac60487cd110ebe42d80da81da3be410626e49f615fe45ce82aa46a5f107ac94f34b7cd92a551f0ebcf46d831607f443e57545bb8a2256f2da47095f0d2c340c75e4ef4594a4699f96371268da6bf063624efe75e12893b339e6163c4b64f74049f89c40c013b63da1ca2fecf5f6cc9f0f335760707305316d645e86982f3c27a64b208757ad4bdb3bc0a31f8c8f4dcbbc787f7123e79de84f1e871fb19bf18559259d159a0778f0114e998fccd064e0dbdd0080dd4a4b9624bc68322aa9846a1e1c776141072d3f52a557caa77607b7330f1e332477fc001f5fd78dafc1b4aa6c4e711cffdc03b058cb9606d71cf459b36554396a7426a9b0d8b6cb2e995a2d13a6b216e9e301e0161e4090f5db06d05f4b01cef18b12864e6465e8f3991e7747c7879f7c72d055fd451323a49cb543410043e12e22b5691db24414bcc266f094b6b7e7c27541cd18773c2e4bd0b39be44cc5d2ec2cf07801f512103302f631fd966c4e60be13e3c67147d16ecb91a160828854d884bfacb17cb10aba80c144a76a598a9690498ab6ceb4df9377a72b5ddb1e46121ac18b8730a06ce63fb44c32c6bb897f4c1f6d0101de08a1495df0213ec31164c0c9927ad805bcd210c481981a6d5c70c47608f5eca3dd776186206912e99617c2e1f1b740ccd44ee4653c7b3416a9226d368979d3d6bde8ed1374c3bc699e4974f99e2d4823fa7604a257e98712712c8e2bcc31896b37894f2b41ad1fd2e01d333a0d41d74fd5db393d394d3dde36444788e8682e67b39941373aa1659a10dd14322b44371eee776dd42b96dd35238f458bd5fef2d34a856b9d6cb809e8eec9cd7ec01a66fbaabc97bc768a5a621d4fa55d1fbc87557071804df1770f523a3c8b8833786ef66ef617e7dc0fb0b7ed15ccd88b31b30ba480958db7e5610565b2424407dcc7174d356dd93a3c5933b328a66765ffce3880c3494e7d4aefb31ef3e9310601ab6d0cd537967255e8e1d169f29ca517e865643b9e0e5828beadc47671ebf748aa451a19d596cd49485773821c54f33fc4f3302199b3a19736fb7f255e0bc46d6a6583956a698060c44ef29866412aebba4bd57d865e19057db34fe09d48e109443368303a7b4f726ef34619840ad4e16090587a249df9f6f0d2406f16b583812141cf8107727917346eb1e03b78e9173bce9ddc94686d6f54b3707e02216ae8fab8aa11265c5eafe1ea68522b94a2f12f64cd22b1c75ef2389426374e4a682050af07d352e40227c780be2d1eb08a59c94ee863df2ab350585449cc6e8e1a3f00b8fa22517eb6f7aae1603d4fd58010400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff060358b5100101ffffffff040065cd1d000000001976a91403e105ea5dbb243cddada1ec31cebd92266cd22588ac70929b020000000017a91402db6bf7d524268b04edbb986ca4b3ba3528045f8750d6dc010000000017a9140c0bcca02f3cba01a5d7423ac3903d40586399eb8780f0fa020000000017a91471e1df05024288a00802de81e08c437859586c878700000000000000000000000000000000000000 diff --git a/zebra-test/src/vectors/block.rs b/zebra-test/src/vectors/block.rs index fbd0814e8d3..75cb8ae41c1 100644 --- a/zebra-test/src/vectors/block.rs +++ b/zebra-test/src/vectors/block.rs @@ -8,7 +8,9 @@ lazy_static! { // this file pub static ref TEST_BLOCKS: Vec<&'static [u8]> = vec![ // Mainnet + // Genesis &BLOCK_MAINNET_GENESIS_BYTES, + // BeforeOverwinter &BLOCK_MAINNET_1_BYTES, &BLOCK_MAINNET_2_BYTES, &BLOCK_MAINNET_3_BYTES, @@ -20,21 +22,29 @@ lazy_static! { &BLOCK_MAINNET_9_BYTES, &BLOCK_MAINNET_10_BYTES, &BLOCK_MAINNET_347499_BYTES, + // Overwinter &BLOCK_MAINNET_347500_BYTES, &BLOCK_MAINNET_347501_BYTES, &BLOCK_MAINNET_415000_BYTES, &BLOCK_MAINNET_419199_BYTES, + // Sapling &BLOCK_MAINNET_419200_BYTES, &BLOCK_MAINNET_419201_BYTES, &BLOCK_MAINNET_434873_BYTES, &BLOCK_MAINNET_653599_BYTES, + // Blossom &BLOCK_MAINNET_653600_BYTES, &BLOCK_MAINNET_653601_BYTES, &BLOCK_MAINNET_902999_BYTES, + // Heartwood &BLOCK_MAINNET_903000_BYTES, &BLOCK_MAINNET_903001_BYTES, + // TODO: Canopy + // Testnet + // Genesis &BLOCK_TESTNET_GENESIS_BYTES, + // BeforeOverwinter &BLOCK_TESTNET_1_BYTES, &BLOCK_TESTNET_2_BYTES, &BLOCK_TESTNET_3_BYTES, @@ -45,13 +55,34 @@ lazy_static! { &BLOCK_TESTNET_8_BYTES, &BLOCK_TESTNET_9_BYTES, &BLOCK_TESTNET_10_BYTES, - ]; + &BLOCK_TESTNET_207499_BYTES, + // Overwinter + &BLOCK_TESTNET_207500_BYTES, + &BLOCK_TESTNET_207501_BYTES, + &BLOCK_TESTNET_279999_BYTES, + // Sapling + &BLOCK_TESTNET_280000_BYTES, + &BLOCK_TESTNET_280001_BYTES, + &BLOCK_TESTNET_583999_BYTES, + // Blossom + &BLOCK_TESTNET_584000_BYTES, + &BLOCK_TESTNET_584001_BYTES, + &BLOCK_TESTNET_903799_BYTES, + // Heartwood + &BLOCK_TESTNET_903800_BYTES, + &BLOCK_TESTNET_903801_BYTES, + &BLOCK_TESTNET_1028499_BYTES, + // Canopy + &BLOCK_TESTNET_1028500_BYTES, + &BLOCK_TESTNET_1028501_BYTES, + &BLOCK_TESTNET_1095000_BYTES, +]; // Mainnet // Genesis/BeforeOverwinter // for i in `seq 0 9`; do - // zcash-cli getblock $i 0 > block-main-0-000-00$i.txt + // zcash-cli getblock $i 0 > block-main--000-00$i.txt // done pub static ref BLOCK_MAINNET_GENESIS_BYTES: Vec = >::from_hex(include_str!("block-main-0-000-000.txt").trim()) @@ -79,9 +110,9 @@ lazy_static! { >::from_hex(include_str!("block-main-0-000-010.txt").trim()) .expect("Block bytes are in valid hex representation"); - // Overwinter + // Overwinter transition // for i in 347499 347500 347501; do - // zcash-cli getblock $i 0 > block-main-0-347-$[i%1000].txt + // zcash-cli getblock $i 0 > block-main-$[i/1000000]-$[i/1000%1000]-$[i%1000].txt // done pub static ref BLOCK_MAINNET_347499_BYTES: Vec = >::from_hex(include_str!("block-main-0-347-499.txt").trim()) @@ -97,9 +128,9 @@ lazy_static! { >::from_hex(include_str!("block-main-0-415-000.txt").trim()) .expect("Block bytes are in valid hex representation"); - // Sapling + // Sapling transition // for i in 419199 419200 419201; do - // zcash-cli getblock $i 0 > block-main-0-419-$[i%1000].txt + // zcash-cli getblock $i 0 > block-main-$[i/1000000]-$[i/1000%1000]-$[i%1000].txt // done pub static ref BLOCK_MAINNET_419199_BYTES: Vec = >::from_hex(include_str!("block-main-0-419-199.txt").trim()) @@ -115,9 +146,9 @@ lazy_static! { >::from_hex(include_str!("block-main-0-434-873.txt").trim()) .expect("Block bytes are in valid hex representation"); - // Blossom + // Blossom transition // for i in 653599 653600 653601; do - // zcash-cli getblock $i 0 > block-main-0-653-$[i%1000].txt + // zcash-cli getblock $i 0 > block-main-$[i/1000000]-$[i/1000%1000]-$[i%1000].txt // done pub static ref BLOCK_MAINNET_653599_BYTES: Vec = >::from_hex(include_str!("block-main-0-653-599.txt").trim()) @@ -129,13 +160,14 @@ lazy_static! { >::from_hex(include_str!("block-main-0-653-601.txt").trim()) .expect("Block bytes are in valid hex representation"); - // Heartwood - // zcash-cli getblock 902999 0 > block-main-0-902-999.txt + // Heartwood transition + // i=902999 + // zcash-cli getblock $i 0 > block-main-$[i/1000000]-$[i/1000%1000]-$[i%1000].txt pub static ref BLOCK_MAINNET_902999_BYTES: Vec = >::from_hex(include_str!("block-main-0-902-999.txt").trim()) .expect("Block bytes are in valid hex representation"); // for i in 903000 903001; do - // zcash-cli getblock $i 0 > block-main-0-$[i/1000]-00$[i%10].txt + // zcash-cli getblock $i 0 > block-main-$[i/1000000]-$[i/1000%1000]-00$[i%1000].txt // done pub static ref BLOCK_MAINNET_903000_BYTES: Vec = >::from_hex(include_str!("block-main-0-903-000.txt").trim()) @@ -144,16 +176,20 @@ lazy_static! { >::from_hex(include_str!("block-main-0-903-001.txt").trim()) .expect("Block bytes are in valid hex representation"); - // TODO: Canopy, after mainnet canopy activation + // TODO: Canopy transition, after mainnet canopy activation // for i in 1046399 1046400 1046401; do - // zcash-cli getblock $i 0 > block-main-$[i/1000000]-$[i/1000]-$[i%1000].txt + // zcash-cli getblock $i 0 > block-main-$[i/1000000]-0$[i/1000%1000]-$[i%1000].txt // done + // TODO: one more Canopy Mainnet block + // (so that we have at least 3 blocks from Canopy) + // Note: don't use the highest block, it must be below the reorg limit! + // Testnet // Genesis/BeforeOverwinter // for i in `seq 0 9`; do - // zcash-cli getblock $i 0 > block-test-0-000-00$i.txt + // zcash-cli -testnet getblock $i 0 > block-test-0-000-00$i.txt // done pub static ref BLOCK_TESTNET_GENESIS_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-000.txt").trim()) @@ -176,8 +212,89 @@ lazy_static! { .expect("Block bytes are in valid hex representation"); pub static ref BLOCK_TESTNET_9_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-009.txt").trim()) .expect("Block bytes are in valid hex representation"); - // zcash-cli getblock 10 0 > block-test-0-000-010.txt + // zcash-cli -testnet getblock 10 0 > block-test-0-000-010.txt pub static ref BLOCK_TESTNET_10_BYTES: Vec = >::from_hex(include_str!("block-test-0-000-010.txt").trim()) .expect("Block bytes are in valid hex representation"); + + // Overwinter transition + // for i in 207499 207500 207501; do + // zcash-cli -testnet getblock $i 0 > block-test-$[i/1000000]-$[i/1000%1000]-$[i%1000].txt + // done + pub static ref BLOCK_TESTNET_207499_BYTES: Vec = + >::from_hex(include_str!("block-test-0-207-499.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_207500_BYTES: Vec = + >::from_hex(include_str!("block-test-0-207-500.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_207501_BYTES: Vec = + >::from_hex(include_str!("block-test-0-207-501.txt").trim()) + .expect("Block bytes are in valid hex representation"); + + // Sapling transition + // i=279999 + // zcash-cli -testnet getblock $i 0 > block-test-$[i/1000000]-$[i/1000%1000]-$[i%1000].txt + // for i in 280000 280001; do + // zcash-cli -testnet getblock $i 0 > block-test-$[i/1000000]-$[i/1000%1000]-00$[i%1000].txt + // done + pub static ref BLOCK_TESTNET_279999_BYTES: Vec = + >::from_hex(include_str!("block-test-0-279-999.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_280000_BYTES: Vec = + >::from_hex(include_str!("block-test-0-280-000.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_280001_BYTES: Vec = + >::from_hex(include_str!("block-test-0-280-001.txt").trim()) + .expect("Block bytes are in valid hex representation"); + + // Blossom transition + // i=583999 + // zcash-cli -testnet getblock $i 0 > block-test-$[i/1000000]-$[i/1000%1000]-$[i%1000].txt + // for i in 584000 584001; do + // zcash-cli -testnet getblock $i 0 > block-test-$[i/1000000]-$[i/1000%1000]-00$[i%1000].txt + // done + pub static ref BLOCK_TESTNET_583999_BYTES: Vec = + >::from_hex(include_str!("block-test-0-583-999.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_584000_BYTES: Vec = + >::from_hex(include_str!("block-test-0-584-000.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_584001_BYTES: Vec = + >::from_hex(include_str!("block-test-0-584-001.txt").trim()) + .expect("Block bytes are in valid hex representation"); + + // Heartwood transition + // for i in 903799 903800 903801; do + // zcash-cli -testnet getblock $i 0 > block-test-$[i/1000000]-$[i/1000%1000]-$[i%1000].txt + // done + pub static ref BLOCK_TESTNET_903799_BYTES: Vec = + >::from_hex(include_str!("block-test-0-903-799.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_903800_BYTES: Vec = + >::from_hex(include_str!("block-test-0-903-800.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_903801_BYTES: Vec = + >::from_hex(include_str!("block-test-0-903-801.txt").trim()) + .expect("Block bytes are in valid hex representation"); + + // Canopy transition + // for i in 1028499 1028500 1028501; do + // zcash-cli -testnet getblock $i 0 > block-test-$[i/1000000]-0$[i/1000%1000]-$[i%1000].txt + // done + pub static ref BLOCK_TESTNET_1028499_BYTES: Vec = + >::from_hex(include_str!("block-test-1-028-499.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_1028500_BYTES: Vec = + >::from_hex(include_str!("block-test-1-028-500.txt").trim()) + .expect("Block bytes are in valid hex representation"); + pub static ref BLOCK_TESTNET_1028501_BYTES: Vec = + >::from_hex(include_str!("block-test-1-028-501.txt").trim()) + .expect("Block bytes are in valid hex representation"); + // One more Canopy block + // (so that we have at least 3 blocks from Canopy) + // i=1095000 + // zcash-cli -testnet getblock $i 0 > block-test-$[i/1000000]-0$[i/1000%1000]-00$[i%1000].txt + pub static ref BLOCK_TESTNET_1095000_BYTES: Vec = + >::from_hex(include_str!("block-test-1-095-000.txt").trim()) + .expect("Block bytes are in valid hex representation"); } From 1b74b3ed912abae04a083189752b7fdafe4120bb Mon Sep 17 00:00:00 2001 From: teor Date: Fri, 25 Sep 2020 15:53:20 +1000 Subject: [PATCH 08/10] Add basic tests using all test vectors --- zebra-chain/src/block/tests/vectors.rs | 38 ++++++++++++++++++-------- zebra-test/src/vectors/block.rs | 21 ++++++++++++++ 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/zebra-chain/src/block/tests/vectors.rs b/zebra-chain/src/block/tests/vectors.rs index 2c30a218335..b1276a4d0ca 100644 --- a/zebra-chain/src/block/tests/vectors.rs +++ b/zebra-chain/src/block/tests/vectors.rs @@ -1,3 +1,4 @@ +use std::collections::HashSet; use std::io::{Cursor, Write}; use chrono::{DateTime, Duration, LocalResult, TimeZone, Utc}; @@ -57,21 +58,36 @@ fn deserialize_blockheader() { #[test] fn deserialize_block() { - zebra_test::vectors::BLOCK_MAINNET_GENESIS_BYTES - .zcash_deserialize_into::() - .expect("block test vector should deserialize"); - zebra_test::vectors::BLOCK_MAINNET_1_BYTES - .zcash_deserialize_into::() - .expect("block test vector should deserialize"); - // https://explorer.zcha.in/blocks/415000 - zebra_test::vectors::BLOCK_MAINNET_415000_BYTES - .zcash_deserialize_into::() - .expect("block test vector should deserialize"); - // https://explorer.zcha.in/blocks/434873 // this one has a bad version field zebra_test::vectors::BLOCK_MAINNET_434873_BYTES .zcash_deserialize_into::() .expect("block test vector should deserialize"); + + for block in zebra_test::vectors::TEST_BLOCKS.iter() { + block + .zcash_deserialize_into::() + .expect("block is structurally valid"); + } +} + +#[test] +fn block_test_vectors_unique() { + let block_count = zebra_test::vectors::TEST_BLOCKS.len(); + let block_hashes: HashSet<_> = zebra_test::vectors::TEST_BLOCKS + .iter() + .map(|b| { + b.zcash_deserialize_into::() + .expect("block is structurally valid") + .hash() + }) + .collect(); + + // putting the same block in two files is an easy mistake to make + assert_eq!( + block_count, + block_hashes.len(), + "block test vectors must be unique" + ); } #[test] diff --git a/zebra-test/src/vectors/block.rs b/zebra-test/src/vectors/block.rs index 75cb8ae41c1..1e8bf73ec90 100644 --- a/zebra-test/src/vectors/block.rs +++ b/zebra-test/src/vectors/block.rs @@ -141,6 +141,7 @@ lazy_static! { pub static ref BLOCK_MAINNET_419201_BYTES: Vec = >::from_hex(include_str!("block-main-0-419-201.txt").trim()) .expect("Block bytes are in valid hex representation"); + // this one has a bad version field // zcash-cli getblock 434873 0 > block-main-0-434-873.txt pub static ref BLOCK_MAINNET_434873_BYTES: Vec = >::from_hex(include_str!("block-main-0-434-873.txt").trim()) @@ -298,3 +299,23 @@ lazy_static! { >::from_hex(include_str!("block-test-1-095-000.txt").trim()) .expect("Block bytes are in valid hex representation"); } + +#[cfg(test)] +mod test { + use super::*; + + use std::collections::HashSet; + + #[test] + fn block_test_vectors_unique() { + let block_count = TEST_BLOCKS.len(); + let block_set: HashSet<_> = TEST_BLOCKS.iter().collect(); + + // putting the same block in two files is an easy mistake to make + assert_eq!( + block_count, + block_set.len(), + "block test vectors must be unique" + ); + } +} From e2f60c17b9a646324143187e39442d1a8a7060a5 Mon Sep 17 00:00:00 2001 From: teor Date: Fri, 25 Sep 2020 15:54:25 +1000 Subject: [PATCH 09/10] Ignore shell.nix --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 6e864ef704b..8be07b59687 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ .vscode/ .zebra-state/ .cargo/ +# Nix configs +shell.nix From d59edbbc1a394e6975d0b490be08620e09a34c99 Mon Sep 17 00:00:00 2001 From: teor Date: Fri, 25 Sep 2020 16:14:56 +1000 Subject: [PATCH 10/10] Spacing --- zebra-test/src/vectors/block.rs | 62 ++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/zebra-test/src/vectors/block.rs b/zebra-test/src/vectors/block.rs index 1e8bf73ec90..ab4ca1f48e8 100644 --- a/zebra-test/src/vectors/block.rs +++ b/zebra-test/src/vectors/block.rs @@ -8,9 +8,9 @@ lazy_static! { // this file pub static ref TEST_BLOCKS: Vec<&'static [u8]> = vec![ // Mainnet - // Genesis + // Genesis &BLOCK_MAINNET_GENESIS_BYTES, - // BeforeOverwinter + // BeforeOverwinter &BLOCK_MAINNET_1_BYTES, &BLOCK_MAINNET_2_BYTES, &BLOCK_MAINNET_3_BYTES, @@ -22,29 +22,29 @@ lazy_static! { &BLOCK_MAINNET_9_BYTES, &BLOCK_MAINNET_10_BYTES, &BLOCK_MAINNET_347499_BYTES, - // Overwinter + // Overwinter &BLOCK_MAINNET_347500_BYTES, &BLOCK_MAINNET_347501_BYTES, &BLOCK_MAINNET_415000_BYTES, &BLOCK_MAINNET_419199_BYTES, - // Sapling + // Sapling &BLOCK_MAINNET_419200_BYTES, &BLOCK_MAINNET_419201_BYTES, &BLOCK_MAINNET_434873_BYTES, &BLOCK_MAINNET_653599_BYTES, - // Blossom + // Blossom &BLOCK_MAINNET_653600_BYTES, &BLOCK_MAINNET_653601_BYTES, &BLOCK_MAINNET_902999_BYTES, - // Heartwood + // Heartwood &BLOCK_MAINNET_903000_BYTES, &BLOCK_MAINNET_903001_BYTES, - // TODO: Canopy + // TODO: Canopy // Testnet - // Genesis + // Genesis &BLOCK_TESTNET_GENESIS_BYTES, - // BeforeOverwinter + // BeforeOverwinter &BLOCK_TESTNET_1_BYTES, &BLOCK_TESTNET_2_BYTES, &BLOCK_TESTNET_3_BYTES, @@ -55,28 +55,28 @@ lazy_static! { &BLOCK_TESTNET_8_BYTES, &BLOCK_TESTNET_9_BYTES, &BLOCK_TESTNET_10_BYTES, - &BLOCK_TESTNET_207499_BYTES, - // Overwinter - &BLOCK_TESTNET_207500_BYTES, - &BLOCK_TESTNET_207501_BYTES, - &BLOCK_TESTNET_279999_BYTES, - // Sapling - &BLOCK_TESTNET_280000_BYTES, - &BLOCK_TESTNET_280001_BYTES, - &BLOCK_TESTNET_583999_BYTES, - // Blossom - &BLOCK_TESTNET_584000_BYTES, - &BLOCK_TESTNET_584001_BYTES, - &BLOCK_TESTNET_903799_BYTES, - // Heartwood - &BLOCK_TESTNET_903800_BYTES, - &BLOCK_TESTNET_903801_BYTES, - &BLOCK_TESTNET_1028499_BYTES, - // Canopy - &BLOCK_TESTNET_1028500_BYTES, - &BLOCK_TESTNET_1028501_BYTES, - &BLOCK_TESTNET_1095000_BYTES, -]; + &BLOCK_TESTNET_207499_BYTES, + // Overwinter + &BLOCK_TESTNET_207500_BYTES, + &BLOCK_TESTNET_207501_BYTES, + &BLOCK_TESTNET_279999_BYTES, + // Sapling + &BLOCK_TESTNET_280000_BYTES, + &BLOCK_TESTNET_280001_BYTES, + &BLOCK_TESTNET_583999_BYTES, + // Blossom + &BLOCK_TESTNET_584000_BYTES, + &BLOCK_TESTNET_584001_BYTES, + &BLOCK_TESTNET_903799_BYTES, + // Heartwood + &BLOCK_TESTNET_903800_BYTES, + &BLOCK_TESTNET_903801_BYTES, + &BLOCK_TESTNET_1028499_BYTES, + // Canopy + &BLOCK_TESTNET_1028500_BYTES, + &BLOCK_TESTNET_1028501_BYTES, + &BLOCK_TESTNET_1095000_BYTES, + ]; // Mainnet