Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AlphanetGenesisBlock = &blocks.Block{ Header: &blocks.BlockHeader{ Version: 1, Height: 0, Parent: hexToBytes("0000000000000000000000000000000000000000000000000000000000000000"), Timestamp: 1707942173, TxRoot: hexToBytes("09faf79f1d97743001f4c73899078de27886e9f998e0e4b217aa92d4d2bfc2ca"), Producer_ID: nil, Signature: nil, }, Transactions: []*transactions.Transaction{ { Tx: &transactions.Transaction_CoinbaseTransaction{ CoinbaseTransaction: &transactions.CoinbaseTransaction{ Validator_ID: hexToBytes("0024080112208f743f9bd03eee12598ac062a71152033cb14252a4d31d87301afc09a590b825"), NewCoins: 230584300921369395, Outputs: []*transactions.Output{ { Commitment: hexToBytes("08c21f6914f8c1a20be1033c6e5221881c37e09e88727ece766d48d6a46fe6a5"), Ciphertext: hexToBytes("f19fd063fb7f3d09205c993f3ac99af1a58fcb6743208a057171beb4805ef8204847a85d045a774a41a3deb7ce2af773eaf969af03ef5b9f491a93ef9d9eabfdaf4ab2b475d3ad9c2545058a24b3b15550f0ae0a8836f58d7bd140e56fe2b9cc53ccbdcc7f47598645ac1ed9723addec926c6c987e0d71f565da86932e21b5b8e76587e9213e3060e9b8c9f9017f01d6d8555b5c22d06481f8b56e9ee33808b9b9e0b36b4f85709721396dcf98e455e4e31aa5490a3135d1b8320c40f9a6b9db920a159c3e15f31d8f3963dab33ea2e8d54438bdf6714a17c3e10c8e663e1bdf4fb68406ff3004d9aacb92e278a5c77fdcad4f6e51b8c5d480ac724b95532ca61648b06dd3456153369c6760e697889c7ad3e9b0b872d956\n849e5f844b5e0ff9faae2fb9427d4a65dc6149f4a829b1d63e883156cde13a5499630218adbf280a2f1e355744d7af0b51e852087e6c6c373baa1a256853daaf6baacc3565cc175616339062826a0e03494ed94071ad5a9233b25d1a6ca61d48ab4d7f9d851a828f3e8"), }, { Commitment: hexToBytes("224fbd4488ca4e04292fdeab8e22bd607b21b38d2ee5123696c125b54ca1bf4c"), Ciphertext: hexToBytes("e36844e7acfd8c4ceb0c1d572420a6860d082248061b8ac3acdf0cf1734c295239ce9d516758ff35ddd5fa8535b7b97adfbd8fdf486d3cbe03cb89e4383fbaf55e4183e4c0c548f32e350b8271edcb78752e4d6f98f2f42d8dccf54cc238af43f86f1e4ad7ee3b1157ddd08ff7405aee66529a99bb1b55fbd404b7014b2302a2bb6186d35ef046112f4b029aec3d703e8fa93b8d45b0278685cbcce0065c446440595f96c8fcf5762061ecdd1af82c71afc8f76a5b4bf060e60bff0a6793258bf28392528ab7ba82b1a8e55b20b7bd6a8484cd993929f4927ed5878a02273d55b34a7fad8853f88c3e341ae0c555bbd8fb57dfdc56155cad7ee834a987f3b3f0dd52d585dea746fd3041b6c94ce0744fbb32b02a9ff206bd\n849e5f844b5e0ff9faae2fb9427d4a65dc6149f4a829b1d63e883156cde13a5499630218adbf280a2f1e355744d7af0b51e852087e6c6c373baa1a256853daaf6baacc3565cc175616339062826a0e03494ed94071ad5a9233b25d1a6ca61d48ab4d7f9d851a828f3e8"), }, }, Signature: hexToBytes("02f6b0e0b130a82e6063a2dcf218a5b59d99003c009907135765befccdc7492af69cb845bc8009a1b2f8f174b78d90d7ea287714d439682f3c82693ab6b22201"), Proof: hexToBytes("d0de0119d9c8bbd307893e3c9abdaae24571ee48ddb8d2cfbb8bb40f7666720e789ced9b555064c196ae0b77770a777787061a1a1a7769dcbd716d9cc6a57177777777776ddcdddded4ec43df0300ff7cc8989b8311371fe97fd9015df9f95997b65d65a59200000000af07fa5310f95a6078cc49afd33a1bd3b8b95ac0baa899d736644991ff422cf474ac0c00b7fa3e16684af1dc3d111304548be4fe25dceec89fd2577db1254fac535420bf41f1c02bd84ef313986a24fb17c4ecff632ea83fe39a5f404c6ae0336da58cc0cab18bf962130b7985e1e0ff67e7a786ffe04fb965bda2dceeff9cb589613bda6401ad322ec96d59f7288e2b1c24f9a54d751141ff02fc9fb9fb58302fe47c8fb9fb5ffbb9fff92bcff59fbbffbf92fc9fb9fb5ffffea27ca3f9e60ffc5cf53c5de838df0a863ee8a15e7c30ebf8181d0c9a9d68a6f1c9c55a81af603d2b09aec8012fc64cfae647b925278eeb4b891a43cef57d076d96ffac12c47daede41f3efec7b02b0ed145310f16c68f0b7db0714ecf114bfe70abb04aa499d58c05d700936f50624a1664bd611bdb5606063f1bbf12f1d7183016faed1e9aa0e0b73390036b824c08a40af3e64418cbbd7342748146cce4dd7236e2a762689bc6fe5fc13e7c3680ebdac42e6d676d2b6f18734af2f3d78ca9d030ea19d233a35293ecd7fd446f7c0efb1de3d1adadaba21bed4b1d71921d065170ee21898273322409b22ae82b8c9cb8b7a49d77d2af5e705eb21208bc18b751f1d199e88e374a82cf20cf201f3e3e37d2f243f0c5135891d2bd39b1b135669cd030050839b9af80e682e3440490bd8c089fc05ddd3d975001efdc1f38bd419e728fe0e054656cef24fca762c4b485484ae5dec43c70d1f644e7b41bc60c7fc078f49f0845f06e2a1abdc9f1f4513e7c96dd409d6aad8618c37e30f13150976fb7af7d11b92d0fbd3ed653b306239f858cd0e2fe466cc4d436f8865df2c2ab4a39523ea72245606e52f94bc68efa5216e16ec7db70aff49c239c88e21a8918efd6c6761d35706ce381fd915b442bf10ee6c3471158e431c4e086e5ba1d08dd7d1018b33eda668d135ba2dbd3e08a83a505c0e2b397e3f67717721846f38b828d1ce139d19e2ae4dbf370ee2240d5fce2418782475bdcf60afed43cf63b3fa5098ac0a965531a1dd56056cb2e61a17cd1d3f8d3a73df87d6b25019312cb28b4baaa8e4dbc488d63bb70eef854988637481c4b056a5495597973e34aaf4bd687380333623f051d8ff96f885f8e286fbd74f6ad234a5218e24deeefbf3f324880f8b18ff2978275423a6cd3b9e2df23f4da167271a83fe7472f7b0a39014cac453236dc3749e42f20a69bbe70f022b3d2b7eacbb8502de09aff581c0b624ff462b9000cfb8fb8c94ec97863877fd99dcfeb22ce4fba05f213dfa0a23a12ba6f37dc8bedc76a1894c2f8c03be0f931427ddfefb3d4f324880f9f5dc0fe0928eb55db68bcae5cfcc3cb1b39bbc7a61412858a9eab4ec9a09f12e130b08951e61256079f46f15c8909162e01d3f8b66df252a7c25d636754010c3d5701ef3d1f81dd4fe58edba8aff935d2ed600b7119ca8e215bd1b88ab48180f2c3275cd54cb83593447041fc793d33d1845fb52b856887592abbbe8e9cd2afe506f2b77aae970e63e1d37e6cb9bc36642170204b65d34a8788d4ad9d48c7ad608c82a882f72d53de54b0406467ccf5e6fe76f7adc485eb54fb292b619e095828fff97d66c16f994ba5050ec7c683f5cd56e67f311c148335bc9e71a1ce8e191441326032cf04043a71392b5c9e5bfe911b7bff22c178fee3c05746924f45a00ced0013baf0d43afcf2ce61c24d8c52cdc85a66fd2a32f8d2629ad8dcb64292780e9c03e933ee641335d995a3b08945cb8e95d50ef9c3ad9cb18ea9c7e5c1df1c233e1ac9239b75258a46c1a6a69cbbba940df6305b800dcda70a20e7a3e5dfc37c29839dc1b0bd8b14921d1c3ab3b8960ec352829e3e100b0648f4d984c7ce154c16262f637cf8a8a5525021ae3ab3cc0dc24ae0c07932ce41f9e1109b5c86d736f86b05df3642ebb1d4d2e1933d23a20cbed4bb6b4c7be1e7337a8f98dfd885e783c7512abb4068e726dcdde0fb71235093e54cbe9411dacd2ecadc64a167ecbf6c4f812e9ae17ef8c4e1bb5f23e91c8a122d440fe607d82293b8790e39515743a9da5ac631d128d21cc15574acf089bb0bb42ad39872d4246e54f368bc15055016f3a0a26b6fd29193bdd9e96132c467f532d57f470b2fb4b78c8ace760529b86b84540613da5661fc7c4fa3d07b745b34d123aad89d0a2911ec85d1c31ebf996f72bd3a5affc5ec6124bddc66df654563b2ffe56a33aca1db303b6a907b3b93af3e011a6360239081c0f47df24cc40d2ceacd244949c9ab101355c0702f8dbc7e81f22e2c21d00cf84cf3393f701168d2b15fadd921a9b5b5915d8f18794c9b9c92fa072203d64ef7b109a86fed973bcc49aed515f911dadeafa5635a47f3276dde7708d117594d95ddd051b8b024df8713b80a9e5310936a810fc02542f7b001c4a894ee94657a0756c8cf71a32e61362175652656ba4bd103cd67804828fa295c9a60d85875495ebd65b08eb872d1020b2ef32b2767b46de1f18d0f9b9b82275916da5079c46a6eade4fe0c285f2f7995d62d338a829fcb231163c411287d257bdced6b6fa1c627e052f11bf3e33c5ea9f014a183fc688a5a2a1dc6feb7f238b8371b748d66f4dd4e1faf59e9780d6fd2eb859337c64d4295142d04b74b1bd22360f1b76827c4312a4a868bd0f11ac5a3e01f70950de92ddb567d882e2f6275d9dde51424f7a8ce84a3828d6c964424c0bff56ffd37f4b14eab5477bfe38f1719a5c1cfc582b1479bcbf490575d23138ac8f2cff015fe044301fc2f17ea3f9e1fe75d78a1f15f0b24cc0b36e63581f302a9ad83d59101074c7bd9a0d905c4f95442b08e486539f8f7e861c182901e9360d4aea8d6c422231844a2ad6648bcc5209bb81f1c75370720a2525d122f23184ad1f62a56c96d9ac46c56a2bd2de871726da239f6cf0c017be463baa147491304dee0510290d079a58998ea31edf31f26f7d2dea81f1c77cfbbce5d1f333d4c95f2d0817b5613324a319cd703694a5dd89dda56e03a3840af5b4a07ba26d149d000e26a834f0dc52849e557d5f2e100eeb9ba6a4920fe07e7cd66bb2a4809abbc3dbc386b175b877d6bbe0401a126e7854bb87b01d88ac704944f6f4789aae6ee29ddf4b7ebeaccb662768acd3de03e802d956ebb0ce706ffe0e0bae460f8684f8e25341b56c167694bd153f1f4b8e5228679e2c3de308dff4490202aa85668379b1a03313ad19c562c08e11f7aaee0a0b843b112c3914ea283fae034d9a796af8a8a9498f7a8ed52d2e90e1b7273f1adebd28bb1ed4051fb0832923025c3b5665e737e4baee837c8fc5b4032af51bffc0b774ae2462d272e320d04fa836330a15eab42889a13260f24ec749d97d241f8f662321b65da6263aa3fd43c8b620996babc4ae3345102a59275d807a45c4a26511cd4a10f56b468b461b0f245fbe00cc196dca9590aad9df589a0a0c2c7d63ac892bb8e04b0b47f87922f74ba7b26f2e9561060cdf6f72b1895fd82f6dc2812eeed9d738618a7c366542c9edaef07f2c1099975cddbb05b6a082ad3a62d740ef6b26d9dac341cc99f574aa508f5d0f88d6485892ae5548ac2c0d51a9c1036bb1b0db40ba22379fa1d2dac952d4651898af5c161bcb04f4a6843c62779ad0a8f24754c939934a6f37572a8891dcf6c9d2896c471ec61b06ee20df7c833b15c852f228a2b83a2c3dcab8a25232ea1f93e36390cf3c18116fccb718d8e8d8911ecf190dd9e094fdbb74c1c605e404fec064bc6f3d518728f206d68a2ebed08b2715674fe6c68a5aa434a1a1709bee994902511c4881ffe83e378130696a4e131c50ac717df3f71bb96ffbe21b75994db19ecfb67512e68189c62328cb2d7197b9e6bb8ed95746cdb1381c3a3203be2bb36337d322d31fe6f9c0f4e5b202be837900065a964175f1eabb929d25f8b7dbc2ceb9755194abebf156cf0ec6de2f5d317101d5b8f0a67b3cc7eae436cd00c34e5f612a2c6853b613760507f707226cb582354a9b9e4076b15406d7a2a6a2dd45628cb8c4bcd37b2f1d2b824918b74e8a94451f8337c9cb0d46190f49e736940c194fc759a329025868ef8aa3ec799cf53fa38389fbb3e6b9aea747293b3300444b691fa4c9f3c9f0b05748b4a025076575bcdc614bf460ed20256e89202b354e4d7d74c86d585627af69c297c8cfcc1513025c5854a9d8859c6adcf6675b27d8aeda3415d933abec070927e592961648a8e617e62a043345e1b642a301772953f76c0201d6ee048ae926db4120a8cfa7c2f4e9a9434b86851d594051439a81db5be8ff35fdb86f08428b1c89d5ef59ab530fc3d251d35bc5e527976f3b1425c2d08f52ef05a6b8a113fc3773e43eb7a62fe1c9fe82d9ea2282bcd5a4809dabde16c4f327088ef7afeb285d0150faaf1fdcbfb641c62697f096400ddde12dbb1237223dab4eeba57de70105cba93f8e4f426b9201ff1df3a6a7e06c91ddff94a81e2cbaefdcc76a01e48264d1b1fe1abc242dbe8153a2ae07fb93e36b08f71e3a8938d08d8ee55eb96b5c698f1547f82d30c777a838f59df8ba5127cd3b1a5d8db3af88163b67f650ef49310f60d41bbe20b3d6b5fa81792a90f805fe6aaa6fae074899a7ecfe22895e54a831c985b4a352667ad92338347e31bbaa430d5989ea6518983d11db3e6e4e51a55bdf62a8b7b5a31ab4e58b82aef3c642c2f05b528fbdc47002fcd0fc3da78fa39c34e26752f5f3c85500a466688dda55096e5de92493b510f7f78cf956274b28895d200eb29b4c52160196d1ff056e6d379bfda896193d17c7022d16afe946ffbfed63227a2a0b2fcced18f907d8a5662eac93555dcb334ba8f402f853944a9d400e186c5538ed791f7a5aed1a0c45ab8aebbe75e8e0ac8ad85f0c151b5a0707f904f23a216994e99239248b70d2f036e91c0e6ea282d1213e5ee83801f2d593c3be23dba0aaf8f3ea7a6bb86c0bd0968dfd60c9705754c82f4807ef6071325e00f1cb2ac4ef4d1b2c10fc18289814d4cd6ea1282dff3dd0253acfeccd87bbf1dcad97af517b5376d1b1003d9696624455e5cae3d0908fe969ffd34caa4ffe0d0625e1927b186d3a5c8078ad6c9b781952e9267bf9b5218e1d38d98a3aa0249dcadbeb56a19574ebf07a73fd84d8c9e15148137e46aa78c73411f711f4aafc27d705819063b91a871354073a1a4e12fc568f4d8c7f3f1bbcbf87f632290f56f92a3f1db253e2e9de1bddd08ad7c27697cf893e05faaf8126f1dfe552af4e035d005fb83d39282a01dbd2d29517c43cb3ea4c9025ed4037b1b3a7c3a2a89b6973714008a34f3e640be84b2779a6208a512d2e996ac94c0047db63de6094f05fb8ccc468ef7c141715be3ffae491e4cbc768715c9825a26cb6cf41e324a5aa3836abf5679814b33860a2d9e548c611a44db94030ec1e949f222e75ce4651f145a2674bb4715f419dfb23705f6a0884c451e9b063d67cb0d3919928ea3f49cbff18f385c31a4b707c3e0d7b3a1065c091f75ab7bd3f216160d3d80f03103fca8ada406148c5ecd86413f3893f47b6dae5627b872b48e52141886843eb2b5898230fca1e8f656c94b493dd8e46378a0f1f44ca4228fdf19f7fc3b840a33896cfb342d386a266947dc495b3fd74fb3fca9edfc3401db90696c5f78b8f35ae56258c40d091a8512ca518b8f7f240363a6a91816ef95550167e2f248de8845d7a2b21f1b16406bc2ca1bc53f22fcf3bdc0f96a1353b48c32e154d7c30e90ae5de866b4d104ff0bcc9165f80a7361244a1e428e70ce45591cc4fb5c5599870ec10ec51a6ae746674a082621cf05cb65f4b95f4fa1c6923ecaa93c7bce1b131bb9acddbb6da7124e3fbf81ac1b51ae6471e1c36abb44123e343ce4d1afec2e38b88d6c513440d76125a58a9e89209dc6d62b7fc67fb12d9b895820e8980c2f432104bd2e4cba895f31a1633f28e5cd61eadbd91d6ed5ac2d0bf8aaafc0a68f44027acf68727b4bcf15d27083b7f485eeb7dabc3dda0fce9caa4443ee807d266cbfe815447615e7b26ac741a0db97a209b057a2e635570c24f9372614fede7b46266a0c1a60e87326e6725366969b39268faa20b7433f29e2471cc36f6e7574a9c008aa440bbbdbe1b63df8cb25cc18214c141f1f0d3f7320f12f965dfee70911b41052bb08212be3073942c4d1918697a0b5f03cf9bcbdfb73693349912935e07fb990fff17c86cc6bfd7e605b4bff23c7f954df94b72230224ef9057dcd67596b4d99a45d7678a3a73660ca5966782020baf48c5d6193503921ce97c866b6dd6970487289f09b1da5b1c0705870cbfb331237639a9236afa5a6a875abbcbb5eb9b48d4ea90e4324ec356495ccf4351109c3bc7c3874ac9f68a3f76601cfde50b584308ad88f89de22ee6a2ed030edb25bde1d8f963d76db705fe24a73e6aa307771aec26131a7f85ab390cab602858b655e9cf4eb1819cb9b1239e6098f622b54a7d2ee10c3c20b6e4242ab9703c90164bb6e61219040f312b05a26cc9c1ca1ef1cbcf28b20d4eff9758cb69289a0e78b81b8bb18148b5b2ce0d9ee9258cf1e4e183c4b180c7801edbb3106a5cef3f8ab25f1fe0a3a24eaac4a1d68abfc5f52d3c0774a995529ee31ef8a0da311e18e1f4a3d795ed8c8f86ee7cfc0a17b917b137bb680620c17a266cd838f3a896028bf495f5415e079e4478a42c099a88d6c3c62339e5088543ca46d108bc600c3a8abf344d671fc2d90468c7fe09f9660d9a5be724e0c89ae8b5d6b8186f2067829c2e46270696e8e006789683109c02d73014b78dd07183c8fde280f832d09e0b8bd5e3a7f26f78fcf908c68409ddc7bb632db019a5e9656f724514e60d10129a1d98d7e65e6f5d0b73e161dab27b437d5a2b722a27ac01b2c74f50eba463a13f8e784f37a88fa144d4ed7cd891504c1b62403ee447f858fbc141957de1dcb892707c69d632824eb8935f0e10986356365649754364dd14d11bb0daafab85b1ab096b2c8fb40bb7633fcb0a676b343f8a7e7ec2e93fd44f08146366cc4c2f0873c766540e59bee8c861c7cbf496fd083d4fe3ed7be0d9bd101dc87cfc7798839ea597ab19262ec5c8511a95886c788a8a993fddac7694008b2dc8d9c1793c98a78a993b2af2240f7e2caadb965c453929e86eda1d1c753430f12ce332595eccc0bdcbfc21b519ee5c67566221e64a5e2658eafdd16f42f12f3cf4cced527605a5958777a0761a456862c2bd97802dae09d219d3262bec8a40c071c774d1179be461cbb08c1880e3d413d0eb2c36f7692f8318db161b54de8b8b3ed744f4a5c16fff063b0b160619cd04775d2b8983f88237b4f0418d494c1b7e358f67c7e08cc27d7f2fedc60dd8bf7234a1e4dca653b8988f64107da713f7d9f8ebfafa7e0e3fabce8d3fbd9b3dd46ca3083336632fe4671fdb688891e269cfe9a3c2a278ae35f5462dd074ba759bd360b8349713191809ac8d4566d8adbecc9418ce1a009d11227312846e52473e601041ecc20d2ab4d67df669369425c8affc52e771d8631a34dbd61050808f7643670e614ae3af096160b8e4d146492fecccf9a1d1085455a322a44b30a8eb0c85e165fbc3925ed2c5e3e48fa9d97eaf00b4f7d38df124af56e88d27a0e25d9c1937d5cd43b6f947451684019aa029684ecbc283c8b8dd686995c8f6896e277a770485a4c57830dffbc62c1db2b4ca74bf64164884a1dea8ff793ccbb82fec8b8e34c17f48af4ad13333b9f8e5a28604874648fa8290b190841729f24a3b19637d7518c7ee3360ac76dc1464c47c3a6a06858bc1c8d1031ce990226faad9253c5718ce8327ebab2e58b2ec9cb9b27676dfa9e1fd8d01fc68f75921f39f9f6c59bab57c7103ef77479bd05372c2f19b3bc1751e0313418000989581b3b8da0c9ed396cb8c59a291484701f7cbfcf2eb1f9405962b4a18d3d1d8e818f7b178a32024a5600b36e9fd258b7c37965e0029b6d165f5a8a3c0a266c40665a1b4431f09e0288737391e310ded7fe434bee1ca5c83d5e7c982ea21fea03965cf5ca24c3f0c330cdc2037296dc55004bdadefe57c130162e3c81deed982859d8f953392fc3797e70d8d771d488bbc90dce4ef4b049ec62c19c37b237fb7802a93069129edf5b55fb6c9038b37c78bf9e3db8657f1993b01a7f79459723e385724f6c6c6896b867696de687b263215d3611209d091ab21a57e157a4651b7724673abd26d3428b4aa6e956794cc7529259d401b4718d0b2b8e8b90e7198df332be6eebd244622a1489c30e4c5f512e10a74e164b94476ded7ccdae70e4b68926c1b77f7b1d3fe9345c30758f676bdebde86244ec1b2e27a6fd2157a56fffdd1467bd86e5270dce2f3f6b51cef8774337ea5527ff2e85ca9fedcd13dc10e45ac4f4d2af8de7b2e7167d128661ad53b05233e2045f1e93948cd729c68f1b65e1bb60d2b6ca822e1dfc3b4e0692d9d73d7d6676ed2a714f0ca6838840ae02a9899ec041bffe477d0c5139cc09728e990fcc78f03dbb16dd6f45d2032e3e291cf77c8fe2b9a06f922c6975725da2f5dd061f1c5b9c47ee0c7a499f204f2e0c8d2f55843ea1376707052410b0661354a422733f32757281b719fe582b6fa3ff307000fd9920aca09c51031b5a7ec0e20d83fa6213750fa52363dcde7b042ebe721989efe30952656999321fa278b6d568368c7ff1d5b90b7ea7df6d0812c021612ba77d07871c99d7f673204efe742a73957607d553f9a8729bcc87f6587f33e0f85752e91746e84e9ba39dc3f784b67195a41d8528cd2c6b0c3215800686feab15ddd42b3cd1f3f9b103a35abf1f50b2d1300e5b2857b673b3037191ff1b8968d5b0bae603525166d3d7d6039fdb725d6af026567f24f59c89dc9f42c69d503790e12b694a489aa625107a410501459bb8df822e50b68a63f9493d7ef141779e10ab57ac8a000f6d3bc25dd9aad37931687f8ff146e67545b90cfeb4c9d434d4590e50d116072dd6eb6f26832174132b44f391a969be3a00fd2e6e01e8d673d88783a6d0744046ff16b9cd81f737486a828d12180e45fc8c1dd60bfefd0da3ad1f1ab423b891913096b63d158f66f2710888890137cfab23fb9c012b9275a7c240c8097a8b8966688d77867470a280b19377e8b138442e20fcbed84fb9068d1425440ccc69028ffd4e7b7f09d62ed0592b762c356d798acb4f9b099de4c519110f030a52b28cbbddc48cdafb042dac595dc85861c65dde8180fac3023e0c7d24eb2cb61ef114b2da5cd5b9a5dcf69b2eaf316813d27a26c7af2690bf1dcd6a44d837b3a6a15a64172820fb5f9cfb9a40236837f5b6b35dbb01c182c0cdd01276f44e3a44124de24def2ccc21c78436889b1d04f1fadb32eaeaf94739aafb84d1f53d4cf3dd6e187253610589b212288c0abc0822b34409953c7cb306fd91707a97cd23e85fcd525a246cd3a99294b58d7e56392d04c7a745f5ce029b4edbc9a748f1bbe04b88901fe7e77067dc27fda4ef7fc864d06a7b0a8b2cf295ff18b1828bbcaf398e35a9263da0e04464919222993e3fdc911733eae9533fe4b268a5975e986459918aa008e06038fefaed3e1cf162c8524f55fe87b4a506f73f9dcb60961c670100a5f4727d98a9519b63c7effc73716ffc2df7bdb746f99923c7861ffdd8f2919ba9bdeb741f72be4c12795ddad4af4ccf4276bd989f9b0cd3c6950c0543eeb00c55752f426f18ee007ddf46a192aa4f17c43e5ce9cec39fc4a7f41f02cd61599687963ce408732cbc121b806724a1568c256a74ea71347521149457c7fe28f0fc57ef4dc4a5072e01ac264b593a7fe28a473e939e65d8148e4fa09fcca454cbae4412c23baec67709bd91090a6906a9ce621319b7d5cbf7a229eec40491f9b9e088f17fd64963548bdc43c21e151efd15f90f75499c910e2e553560290abf6165e1ec0ded93591d6c3478e23df0529027d499d4d95e4cecf1451a96e20fd8865a267f8fed85e74a1a1ff0fc8adf28692592e5b1691f40ca91330887ad71f135140e4364ebf2f33e43d403d59fbdcae9fbf58c1c3d52702517e68b7467d82079d3cb215f90237c12dac99dd909571b2ed259ede1d67ba3de0daa99a4fe4b1a4d94ead9a3ddabf17ee43af4eea000f8279da0d2143f303ec3d0084bffeaaf8b76ab2ebdb8214a207db01f3eee3f036525f88e528fc79c4a568e5b7f58b86f0bdf977bafbe6d102196e87b1362839002361b50f78fe3bc7a144669bde27f90d21727812aabff9c886346e5a4b1be479c45c399bc4a8208c475eaffcd01b13ded256bad4bc5a6714fc32ce3fc59c766431f1926e9f6f82e2dbc5e6ff39af933a5c97a70e8f588f9416ee9295cd405496fc061e9755aaec9f0a2196204b2faa12b1ded4e9da5a548436eef6ed0120a7ec740116e478cb5d2d78861c9f18ed37c6153b16b874e41d986f3f10a118599ecc3c7d7a7bef4d16ce20d9b7edaa6f04649b87783445f263bb178c63647b6e96a0f0cf366091823fc521b070fd4e8dd05bc87f8939206726095fa8ae9c8942a7b83fc965c6b3a55974e79758f748d5da4571e8cfc9390a1a8ee7d3c99404835e944f1e15378640ab7665515aa7e5a89ddb0056e807d08ff757d3a62c71cdfaadba66d83caedb65fa39b37f3eee05b3cbfdb59bbf1c21d130c99d55115cdbeb989c16a0a5e9828e659c662304ee9f57e746b35ed5126873cb10d2c1a66c916722b1a0e00f3c3078631b92ab56d6aed570013b3315489c0827017049f1ba748f071445483bc10d5803176e2bd1cdb1f954a0c1fb73b860de335cad1534a84a1b44852b173e60752c5433f0db5d6d25761b50738f5c7f8a949afc80152fec624ad2092f833b48dcf3a362e9aa633389ee4b34093ccaf2a3722f4c59681c447b33f43d138883c85f327c8b0ab4dd33a66a81b5dd37b25e047e3e66c5ce3c0f8f0a7f559aa54cb64514b80e362218e88695fabc406cf318fa52cfb1f8550ff1fe7400fea65addea0d7bf9ff5ff3bdf1aca94c3343dcafcc7a910daabce88a94a23970aeb3024320d14a127211256675b878c85f9d3a7fc0cb87afa731aaf0e10378c9c06aeaf183ab6251094143b3a3348f8070cef1aac4050cac17542c2763c9cf033833a30a63c295332cacfef53537b59a3f3aed8b2a4bda572e9af7ec4ea82e468b7d20b671f1a3547f1ccc220df0e9a689165597faf92d8897b9eacd6374cc44acd1ab588c9afcd4da0a34f5e0713c8cc5552ec4eb381159bdbf952cab94fc284a6275bd4a671252abe7e87fce1439b5b5666f9ae8a42fcaab3220642e12dc0338bad1b2a8390f0927ef5dc1588f0de59ed66b711e8333cb7f3dd911aab70281ae4e0f836f72a199568fb9e36142dc5901ed5ce5fd64d962914dcca70ff36b1a179a6a1273ca0c13251dfb03ef473bd4dbdc36eea3bbf53c2a72816b41c4f115ca135854d1fc6ce24aff779bdb1ed42c6a2a1486ed7d8b174efe0df3ab4388c5e4e75ca24eab0b73eea263323260d23ae8b0729429aebd974e0309b22d7e96fe7750719d2d2e508605416ac3a6b35617df8fc9c3e31c6f4278f40c26cfd8a4898af00cfaf74cc8225e7a803cde28cb4b50ae58989827bc685b4f446ac743b9081095fa26d3848d5116ceeaeae47076a6c4cc7ac78aad32cdfcb988484d8ba712611af78ba16236cb03effabab8c3449e381e0c3271f5baa118716eb770b3681fc906cb22be18f3858be2fb361a2e32b985603b1f487e66799536b26a99713790ee55834b652719b7f8a669846f24b8d38fd89ebc04b1372b72d8a69b5d515123447b3724a982c874ca5584e2a7fcb1139ee36d911b2c4cf75698c6fb594cf889fe9e34021670637ee13266c14b4cdb107cdd6d5319ca4559a980e612b174203d8e445514644ebbde03129c96343ce861ba933c691c974c8a953aeb14475f32ef1964de6c295f958edde2c22e4805c1241a0a033b41d5390a0692ee8b3edf52485bf8875e283882e1506bd4e58c17035e10e158e483ef2171ffbe1a50718b38185f20909d9c5cd4154b2f0f3de4493dc2a5c53c78655915b7c2c3a53d3b8826f2a633953e04cb7794e56d4537ea85edfcab65c9d719cf54ee535c107e73d241978b13c8e1feca2512103ef2614c0a3edcb9f26efa648894da4283347f997ebf99294a7be7512a2ee80b81bb4c6f7055546a8f7c21a5a104be27a71f2b33fdc1bc0557347813bf0dc7df8311ef8b1fb84a3a3b82d5148ce5b224146f007cca162e734f1b4c8d7b929d79337db19bd64fd5bbc6d3ce8e81ee9b77cd787c0cf7aa88b3031ffd354491e874a641933365e351252cd89c69fafc9b33e92692b9a218405f23c561d332d1151d8a039662f52390573cbe29c4c5b90466ec42957cd7a9f79bfb1b61c54ec7ead7dcad2ae7302e8f3711ea8a55a0bb6568e6162c09596aa37b55cdd5b1659c598d6a415cce9b308972f4eeaa3af7caf69ba610c0652178efb671e3b698afab2c2a5115a42f696592beb8b6766a6fda317d624474445df10d20e05c27b5011c9fded5e7f907907fcaca6335b559bdfb1d8fc359b324691c09f0ceacf7cef99b26e3fbf6be35cc316b3ce9ec74a90edb29ee9b2dcd4a4dff4d70d0d81591868f63b0b326682401abe9d688a9cb19ffd2083e6724dacf70419a14e2095e2749ff9d5bf0021dd8e056e80e9bbb142ad5a819b1e0ad1d53894a0b1157f305daa26d8f283a506c03672ebaa51604f0b5c48119c28088b19479390c53d1b8c66a6e333cf4f8f2c9cc7b76cb4489a047295b0a5177cb1bdf5a506306439818c5e4dc0ae03a19af0abc5d12a206b80c84ef5e880e678c5a84874f6616dff383f6c15a68d81e473de0bca05787bdf1b0ced94f98954a58f3a8c8df3f8424619481222660da948217e32ac0dd854052ce7aee79f693129feaa1963173f92fbe568cbd6cc76012ef099c716467b1ef7c67fe1953e2a42a9658811c0125a22d238f08afd0d6aa3c96d2049fcab3abe10cacb74f7277d0bdf563eaaaa15eb28eb82ad01320586e7950c70efb3ae3a6b29e16cc75df85eaa19c8740aae056c493a9729eed7c8be7c993d59add6c7c04b9dce5d4f017693bf54215e57f4aafcc58df4cccb21cd65f5bcc758fb49f3997f3ea6369fcd2634a1908ff916cddfcad1d3ac441ec33339333902ce59354db902df2b1fe2053000789facda668188ca7bb697e5484661d8571415251f91f6f97faee7d82f72b1294f90c177db0bad03cc14dfcf5078c5f8851cc2f256f3396d0f0bb19a22b325ae01419b6923bf00ec9d35aa8b0122b777d4b5923d6373f5fc8cf2141f9c258431022949138c933bdbc3b88bc7b49c8818fb89ed58aa23389727b60570c847b3d8394e6232e7bf83b296eb4c6a9559ce5aba07fc0427e7d010bc26b18e9ff3552ddce02553de03748116b4260e6a294a1ed3f3ded3a5e7d461b82387f68185f62ac84a774c08fe5db06a45a0327523c4480bc3d473f294e08d9ccad85aac8b9b6ec2ca736aa6234c8db01f897a627b941175e78945552a7464c49108e27b0689f49fe2949f5547fa226f3a5e003efe78c6179cbfb9e448e5d69c10925da9eebcba3b3a783250efd1e0450b6076f0f23cc68cf51a47dce35f2ee89f0cc8b8667e526040927d70765e6bc958bc486e2f23086712d5eceb858c21f1c194b0cfacdb9ce8881fc8713d0e062ba9a1dcbc7335a52684a18941d649958d32969dfbfbb3d2cf3062b13eeb138713979a808e199088866a62d9f77d7b26fa55bca92dcdbe065cd41131f966d0cbeb757004ecbc910e018beaa92f957424d366fa9a671aaf23824b88e5e41c9fbf8b1ed5a6d990e230d67f603f31e7fbb6eec08df0ab724e0d6eb165cb3721693662365018990f6c96cb3671156ebe6aa2f691a5c0f727938ef21e06e58f815f5e117e70f2b06d74be2ec159e1f4be9ff323328b7b3bf7ed22fd29e3614cba9dd43d1842526dcefedbde160dca1e82f5e4af8521eed5d062f75c7cd56c4aa4faa6245afd39cefa91a3b3a0b697cdb91804b5b4d0ad699377b619f6df87ce9c01725eaa84b77060dd2a611b325f2219e6add860ea00b36d48c7bdadfa9df1e09539ab1b3c0e9f75d672d28c5fcf050ff2512c9733d322b31952c99e1c44983a465f528ee35ffa77e161bc13d4cff7fd80dd289e6c7f85f54768e2bdf8a93180f15d5a4fa21b51a4a41f1cb86d6e8d97c3e16dccbfe601de5cd5728c7a10b400898438ddb8275c87b868a2a516ab6f9b4ecf14478d70fb2e2b752e6dc6ec47c6eb828c14a17e4757e4600c1f1cb2f4d8e2aa95abf56367c45899841a831445dd637f6d5533bd69d19783a62e46d8e205d4d17dbbc0cd61edfd6ea63bd4cd9826844d7adca73e61ba412525cacf715e6a21091f1f08f47290b7189da9088490a0ca0f6c6f71f831f2021edfde2e0277d72da2ee7367fe30d87bc4688cd9e01417324037ae0689b607fd43f85be6e3e77e39ac38a989d4b663ef6ecac264b1c219c745f4ca90077ceb3e0549499f21be2708053c3bd5ce50c2c1c78377c384e7eee4f5674cc00dcdd09d6bb5e5b95c2da37cde43f22d306693f55582707b19e19f68ac3ab27d336cbecd56b58ae0a7ecd9edc55dd6d86094087b108fd69573c3b531dbceee3e240bad88a0864258471bd83385fde038832b1faef6fee825d16572c79b2623c7e6853caec3ff8be489053efcd3a68ab1ee2cb46494c5b5468c9516f33efaad5fabcfb0c0639d96a32611ce31555deaf35e9486a7c97895af94b216762d8aed1743da87dcc9aca55df498bab31c69fbbd5490a0808013d61f7179f876f14ec5a788e52bdf7491d16503d81bb54ddc053bc13ff74b5cfda181e6c50b223e127462ccd2ec060ae551a36b8c4934ccdec67c6ebc5ac6289bb039e338f7a26b8314441c14f18c6445fb334ff5465088f18c7680f4cc67fc858eec96cdaa7663a5ae60f547b84c6572ae061a54c1f0cbe64ea246b1a3d133184dc48a5ffc2551389719861f8473b1a8ae1a9164109fb8aa329ddb416c7943fc884306d0a75b43104aad0dcce1b34e7872a8789792dadb7f03599ce887dbc9e86d041ba9e30f86189508a9d325ad3bc1a5cef4091114a53a27b27fb23e1619da14180d3af83117c992aafa30acdc945661c08295ccea4a0eecd427078e307140219be176cfcc934e9943363a6211d0c482ee50670f9c91bb83b6a8f2fed21216024592a3d33726487f63561bc0668c8cc3a0b2e1febbe5df170f4c93451e9ca99ea4705a47b1155ff8b3f7b44e96a923f58d2b0f2fe56de77b338de5a96b1ed0c249ed602f72507aacd2b90a79d30ae2454e1983d0925667961cf66bd982cdc65766c9d2d6b6190b89b9409caf8f53e4e2a36b46ff91d0b5bd5d235dec4d92b22720547dfe13891bfa16cab452339bdc372aed2fbcc17873b1d21fbc0a317c24b5ef2fc6c4a36c912b8f3cece65c0113e98997fe7b03a77a7c23f8b949a486c8985c086529a278023f98775790fac986b81585e9a7fcd3eaaa45453853834befb7bf01f459ea25fdaeb86d27d68b30187175a853e3c7a0717685ea074cd60ef568160a4a9ee2d6a9f4595440689c6f9ae65d61fd2c5a34abe53762ea505ab0fef7549ef4a8da3ed65bfaa0a0a8e87f7d7ba1d4b1d4940de69298a4f87f37fcf6efc4edc1d2a145a7f1cd65dce2509476103293de3db8d40520d88602062ce1bb02e4323ef79bc348d6b4c8a33e81bb71f647aa6434d366414e781dbe1dbda4b372313661577103ad6769d906f13e6ca7fb3fb8d73d2c5b04be4db1d1b177a2df13bd779f36657645ccf99e0631949929aa814ff44294204b45831b11eada59cba1c11aaf110af427a5a9212d9a2259566233f226e3cbc5f720fc26bbde2917b049cb52530148f0d6565c1d6402f7b852f138cd88a9c1d6b9b5970dbe9b4ad86fde1772a332fa31cd891d1bbbaa2ccab27baea3367ab9ddd59a3068d57546a1ca7641c7001af42f73dd56c82107a6f7e3c77789514969fe7ec2d31ea46d03257559e0d7d2cc96ada08768b52500b0eae4d54395792472482cf9774dda7562c691075c114a7b729d2fece9ea96b2b28b5f23f0aff252e4ee7c5837c9531bc917b5b548866b80ca6473efd625dcde7d8fbe3013945c12da4d61da28937ce9a3e388cab9904415647b20b96a8b272ca6f77b4dda4715d80d081d65267258b157692609c8ac9377287a29b85a8fb5d995fca8f610d3d6570c03a8cad637736129e9c832f61c4731ea72594df7504671668bb5e1b3eb296026106cda481cb45f5997a1bfaee8d2d3a963af9ababa2135c8f118053d35808e923dc7b518e90bbf0610803f9cca633ac2ecbe753db250e9a282a408092b3dc21be9d769095422aa50913e743b4f1fdf7dfd0aee8d46e9633e6e852158b561baa276b497e66e8f5a64e08c4fe960ea0483c303f8af09f21fcf7ff67f2ca9b0ace8cebbd2660453cc71183941031efebb9194f1dcab46367941f60b4d4278c07f4f88c8ffef768d6bb77bfca23761c54273537a8625bcf7882a702806091624011d68a8ea3c3c10c07f4dff075bab9064"), }, }, }, { Tx: &transactions.Transaction_StakeTransaction{ StakeTransaction: &transactions.StakeTransaction{ Validator_ID: hexToBytes("0024080112208f743f9bd03eee12598ac062a71152033cb14252a4d31d87301afc09a590b825"), Amount: 115292150460684697, Nullifier: hexToBytes("0454c51b21b2b66c49b974d1e63a56a4f866bac27cb7f1b8c2e552d2a534ffd2"), TxoRoot: hexToBytes("1aca3c3f577df7782372d5f7afedcb0e9ba06e58a0de8288f6661f0254db7b74"), LockedUntil: 0, Signature: hexToBytes("9493f2a6980a09035a151b7985fe782ef836f599e0101dbc5a264e46954b563bb83ed00cae18d6e786dfcb21b455eb0511d929042e4e1e4ffc4d387a569d6c03"), Proof: hexToBytes("55957b88c8cdfd7b9055ca1c1f731563256eb9593d4d8694c994a398149bcb0d789ced9b55545dcf97e771b8b8bb43702eeeeeeeeeeeeeee41139c60090ec1dd091edc82bbbb0777995e6bfe97b5a61fe6d7b366f5f43cf47e390f75efe75b75aa76c9de75c0c1c0c060c1fea739f32b9817c10ec0c91b0e64cf477a2afa65da4e53aa31bc68e7a33eaff7db909ff2286e21a20fc7f9691b67baa77d5e928dfd73b1bb70443abc8ca5216df6c51ae25f1cbb517947524ca4b42332587d3797ecd01dd195880d79296a87d0b7692fca7488c48b9bf97b91127c32ea62b162b07db2250db04e5bbf1e7a1efbada7ba0952ac40bf414841e21ea1fa803edbb3461e386cb0ff230bfea77208b0ff2f2cf89fcaffbb9effab1915b739bedaaa5143972c5d5526cb01a5dd1dcb1a2ebfdd965ccfc748b05339ffc3df3feac94ffae6ad7f1ba38e5101ce17fb13a62b4e6fe195ad16b17e9de0a744133833d9388944db769517dfa4c40bc1e2f9b37fee3efb86d9cbdf7ce4269c07fea57e6af56f129627f02d6f36285d5c4785f828ff5ec80487e9ec12cb80e3f7a6d85b79304a9327fbb62676e0b474b56bc68a1f3803731c85f7bb57ba455b49c0ad43d9428525077470e48e76f2dfb2b3084587507b25503d7f7c6ff5adc4fd69a59def52c90bccf369e92596f1fd12e55860e402d9d2dd8b15b6c20b96e1fa65a40ab5f7b56db47eb3c20c2c96523b00715cf086e5476d34b18393158a34c0a2ab86caf27a205dd90e1cecffc882ffa9fcff55bfa3fdeb09f91ffc7d38fe1d156431132a6c0c021a6c17590317365e99a8748a8f95d8f24e187b35bdba31dcad519ca0cc1e8a28e48c047cf52b5445fbc951a7df1de92a971f2e1d024867afb531939a595a06906b444bbacf36c82bfbcc99f703555b6136f186e95a04b528b86eb0ce6ba897d6cb26cedf1cacb029819420ae80dcf8e018de8142609cee4e10563374abaf51b1bed0b3cab427e6171b1b8336aa7dc932e381455f88320648872c5ee10a193e165d81e93352ab4e41febe2b73823b9bda6f56e3aa35a8f81f344ab3004ec6ba27c91fcd44adb98570cdd41b8d9cd82284486a1d2f12acbbe810d2f96108250bca5051fe3f7f67d10e6b8e15b04d9d4a88492e3a548d31b668d3817496ce7a717f9fc79f5ad8d4aef7655e90fca6e5a0ef8560d9272d683d8b1cd022154a300b8a2d0db10372f5eeeafb5fe639e07eaac3556120d26a713da3169861c81dd37082a2de1d1b79a11e8e6280931b530a0f886ce53ac7216dca9feb73fde81fc0ef8853aa10dad3c1634837af43c030a325969121c7412a7f5072748fe608ed1ee5d9e3a6cb0d3aac78dc9cf4a60b188aac5d071b133fd25b8081eec33e0d6d2fdd65d625e9862e2b7c4e536f330520741e6f0cf1d5a59e5acf6ee7bada111ea443421ab259a06948bcaba57c5eb27968025cef1b1c68197a2098a2d6f022c645cc58aa076c0c0ca1632d539aae8bb46056905d1c53981eb25236d2b7e78be411968adb7c21a592840940f67a693c2fffc5c87a81c9443dbb4afb4312132f53881aa4131fcd8780d7a288495f9d3934ce67a9c13b81fda58216e76f985d85a4211b130cf4eba453f540ff6f49fd3bdaea11431aa24ee28aa49683c8040f142dab236df298726a2f93790f97ca45467b6bb4b52175c79a1194100cfeb26a43fe92b21f88209db20429221c974bb8884935d2baf33579f56dd3814b2125c1950c9734bcd128d40ab885b5a8077beafbba681e6a0312a0652811ff524086e14fc1e85691dff49f446bb7e6b055bb8134b86d3fdf216b687ca615c41526db33ad5ecc717bf00898403aeac1f2c28dfdcd987f5349fc6574fdf6ffb42abce94d155aa5b0309e3c438e92c867c2d63854bc25ec5340acc49aefe4ac6c0a3a349fe73cbc978bd83ffa5ce0a79e42dbc47e8e32703992986ab7a647c635ce78a881fdd9126f40218217650403d241bb61e2bdc99ccf299db4ebec30fb3baf849cc62916eeba88036323334db682db70c7b76aecc9e9e3b0878be84de131facda46a52c624125728e4f088d1839e640805928225f2a5976354bdbe12c2bf19caa5e0b2ced3729d2d4ae89db11a8904a4f3a8a7e0109aaabf8832c41c9ac19842ee66744c1dd09f963cd7148ddae90d4682e201d672b47dc7252f678de037361fb5df642a27a4dce5af6d8b96d12b6848f435bb0d2b775a90ba453e2a5f7a763a6b5c875c36bbd4395e468826c630b90b0aa4232fff56bd964a6169ecbf38d6246f065d503fafa0fa692ace53f5927195541b9b86b417a17907c9514c8cd442336ac6e7397be9bead4a2dd67cf2c0b9ba269f82cc211371c1d95f6c8de30bfc372214cfc5eeec83b704250d9d1836276afc1e204807f757626055f0be6c8c0c858b55bad7d518c6f7856dae0b8130aa1be198691eaa5f947a0a342cb645aa0f2b65defca15e63ddf68191780bcd1ddfe348a9e6ee80ac5c89d7ba33ec723f35d1f9fc9338aac9c339ebc4876fa7022d364a29949d18403a567ce5570baab34a4fa7444a9066bbca63f8a64dada582da7290b19a3a16337882eb54a66605267e040f46dd89cc6f1b2c5945bfd5bd628fa852078905252c09261c12ca43bd6acc8e03e26282953189a0c589711445c525ace0d2ff48f0d0c1817482c5d26f1c5b76c478b9527858caca4f32b130950ecc579d2d3979840e6f122183d04a77608c0fb4984aa75b0e7571eb168b25a6ea83d6800229ca23ce5c8e58605254044132cf44ed255cca03bd5a1661cde05f3b1e636881e3f0105480ef1feda97ff33e7a4fcd1e8d450b853ec615f1b53665daef1d54f9d6de7ecb0df5a44c7e8a796881ba9e2d85e8f7e5ce6cce31507d728f1a8c03bec545cdba3ea84f05486c901ac290af204be7c4957f8a1c86974ef07ec16b4b6448415555c66877f0e13f9ff6e519175a8077fbd7a870c290d221c3f1babe141c6f17841bb1b57b3e5de455eaf3592fc93297973fc651bba61ea446255c6faf104430c7b8b6c969bc6a604875925c573bef104f6b95a8e0bf54eaf72efcdd2b6a295e5fb2106056248b8007edc72dd03ddc2517c85d8c139d27c2c0a938b6ef2bdea1e686f1017e49949138d7086975dab634b6d7a3e36913e4ce45d9a7b8023a01a9d592e0718e92492d8c647065499cc1d8dc171491ecbec67b098dfa60d5f27b73e3d65fdf025317dab1f789c1fedbfeb7262b42731d69c2926535e47852501e249e02c378d0de453b52a5143074d29b4baf70f5ecff093a158271515b7513a64b8fa26479709e04fafafd2b4a87d9ed360ced6c2ac2e2eb88ee1204c1197bc7cc78b0ded7be59a638de97a062af17c7391c882af1e1cd157876a1aae50a7439327b1c3706b3a0a354c4a8524fe5f61326fc5908d100e4b7ecbe8b1ce3191e3fead02b46ec3486f624779cdbf152f72e4c702bad4227a82c319b0a43eeebe0e50cd4a52e09888961c73fa10dd46832804e44b0ff64038dd389be430a8fe6510bf0176543f2b961641a47fc974afa09624217fa17f3b54814b0ff62434e369a4b25a2d6ced242c1b6da3d620224d4f939b40331816b56773333f1ff78bc44ffd713b4dfd5f00eb7922b5b8c41dd09e6dd6bc5333f170aa65daa37ff312e6b7e5d98a786ba256f537eb7da2f78833ad6d515238814539c1c717a4f2224d278e5bfc6204703e26048357be5037ec48975edbeeced9cd0ae8796d9e2c9b18b08bb9af89f8ddd10d55b81f1c2d95c0b581e88453725b1af57563a754e00eef6086fdbf99d67cfe1409cc1fcc6c9d87ae9401559fcc5609e1e2a160f85420f1e2fa0d3cbfbb7649143b0cacd11568fb804be3226652523c7323a133c09aec605c6c68ea8bf67782f7038200efc5fc645c1110137ef70b7022bb3ac49ec1f86e595db2f294f30640f68df01685c8f38ed0906b406078919b0505630329912c3dcb7bd7763883570df75c1c43f813891bf704d209e4582a89338eb17bb3abe96cc201caf2f6b09ae96ec5e420e129305bdf62b09301734a13c1e87af700bf8713743e385f47498fea5e4ddebf8c30a0be24c60d4b85fc63b29781a5c24a405f3af840541d1029cfd21e58d4476cbdcee71a4c5ed4910fd2e15c09ec07b7865629548d80e28bf4ec2bbc76d6214c085106080385564b4636d1a1d8fc461fa51eeb25422ef7b38c7769c22aeb3812c9f9c5e6029b6e68de236750b7fb37bb1e946729462dbe0d05bd3922ea4fba29ae1b9963fd082382b424b377fd0745f46266fa23d4bf0e6eea5110e1cdec479d5303690c87bf001a538e12890c0c99fd12ae7f6da37a2adbb1a2dc14b71214bc0665f4c5f6132461007f684d0f1bc2a788bd114517ca2a0a80b5e200c219a0d4c50b84372a31057139dfe0fdadd7e139a856b6ea8856d059221318499f257d4b1211eeeca81fb5a848ff1a322d195ebbd1eee0ebdfe75866586624ac585556de15ad6aa64a8e390fa5733ccb4bb5b94d200cae2bb36e20e1fce42134e10efd9334cd852e1b497c4e0fa083d8803f3e485e93dcab498166da076524fb4c2557ee04e1301a5a4c9ece4fce6eb8e47a8f2e57b911236b7c50b7790f95d93a77558c0ccddfa98e0771981a6bb05153210c76d6d6ecda6ab01003d2a6413283aafcf1c54ad4f5a93eaca01d77ee8edb243f34d292c03b1957f0e50c0097d27979ad1647f1567b14ab0f03d929c5f9e3cfac3bf20a17db868b7c2394f911679347d511bac89a5935c4b6e3dd2e938572fd959216bbde5a5bd0ca479952b3eada808fad26ff3968375cb39703b805bd349e5ee7cf805235dbf877f6034c3dff2542ae85c35735498f95953fd6a0a23dcb304e3c916ec66f8b45442657f1709bd28cd9ec908af5aa49b86b9dbd1e8e864ba35bf7876ec8f78d62b6e91fe715227feabfbe385d18beede9272f896fadbe921ecd5af5a7a2492cf63335f0883273e396ab32e3fd1c45d586a024509b08131471b536f2bbc3868208e7a709e6456fb1546a3fbd4c3d28f980db8bf956d816e67fa7216281ad9486e106c9694a8b419839f15982c9bf745e07d9a151f39c174d3c451c4a6bf6ebff97cf805f2b608abc59cb9c4af0ad64e36439ca247353b11f35c2f0bc2db2d8afcb21c1493f26473fcae26fcb0876f476576833e5229359832d36d871b9ad964c7b7e41ffdeee46a020f96c16ef5437ba9961b1599af10672a2632e24d73e7aa7daea85d87f1995005b16cf4b244549833b36fd8fcd996626ee6f6f31d93ee427086a666380d68fe2f571df1110f35328078e4b862d55325841a9382dd7c41d8368769a56cb8676206fb4fb6b7b3eb3260a3a353a1f12487cc673d3f4f7d1a92c4c07829f0c6cd746e96fe4f027fd21cba9fe2877f72307aaf9849eebdfbdeea234c5c5ef0f8d68974a6fa22fc131f147f00bdb70208ba3e63f8b46ffd407027cabd45eb8c2046997702bdbe93c53c1c27ff7552c92cf65cd38ad2b03a4dc70878b0efde14e5370ad4835ddee1064290338e4284204e7f6e1e3fffa2ab31916f15057619863d8504d528dbdf5f04a26eea516acd249490ea6d3ac40d59cc50ae31a38142a3040966edc343f3d7e9c100e947088bd58ffafc4adcf1d3c136393465186fef34c99ea0438f81fe7cd368e98c495bff898a1ac71507fc5b6a430e017a94702bb5113ff90e228436777cd917ea621421f510203388e33f0a5ea7cb4470db5cf15075fd10bf27a4d997ab43c44cf3d4f2ae4777394c6ff692ce5297f984cbe8633d91a004f3f4ee2898f95b4f57687f9929c16b170d0fc4793ded8e4edb05a8525f84a43e7b413fa1861984115cb1b41bd2c36831bb61c38ffc1969f1cc2f8ff5bbb0923ddfddfe8dc8dc7b1ce80be79c664255f29d59071dc459ed3824c27858771c438217a74b1ab36d7ce562855060cb21bd614515e03182681c3c76adf157197eed9712e0ed3a4689feb3c6f90d2563514715f14139351c1ac419626ee0cc9c53870e73c8bf0a68233d95bad293392a4f5b49836a1e65ff3b4218ac9a8e4051cd8330e0a2620a6db1ec7221df923ec3cb968f67a47f6954550203e264d65e19b52795c28ffa4eaaf034ca5e7d4a746a9e8388e6bbfabb864837e54d19e0248efe4be6aa029aea0a25a0082afbc872dbbd27628f76d450465d09e90905c471d6ca36eb8d49591bdff8fc185844987cebb41ba210cdea2e4474d7ccee7c805442142aa40827d7d5d5982f679c7426e4136cc623f6279d0769f8589b7a539714c4b9e33543533a306241e98d62a88b8d8178c0197a94e0c1b359a0df311d10e2843f69e341bc3b8726eb774b7e57aaf147bafff66ffe0cf411268c33fc3b44c7470de2c00d5a4e619ac73dce52dbb3d35cb0f0e68a2f38741b56420a82ff69f46b2c45f02705d774ef2b0a9c81e637a101006cabc874fde454c66abea4bfc28a44e57ef4bb7d9f406b2417ff607d73df85bbe63cd425fb7449dd64d9afc1c261890e2507f20791b702ac67a8dba1a3df6f3239586f956464016badc7db0c9b138ba8a6e9901f714f70be3bee7e35d97e8cf45f22380f8f7ec61cc10f6116638b6c6364aea49890f348f3123896687bb5f191d16ea60192fca210d243aa7d58243ea9431c4f571fedfaacd8a9a3ccbb3cabca21ef0863026d2d7863f4eb5e05fb6e2a0bc759989c0e750578f3f6dd057cccd8373c6318da49177a2162abe67b7b88046f7befcc5f5808106759650b22d59bc0b3622293ccb4a946eb1ab5dbf8b52134b9e86d82b56e80119ae5a05d1317e27db7b0e874cf904c884d35fe0a6da9bd6894864cf059321496fc63beb5e3587c7c8623aab4c7ac59a8f06447f2771eee08e0559c339e15414a4b67684040f0cb3eac457330ff951c54d7f639bcd4c14b5882f8691780d2dc71a7fc316fdfadcffcc26861b808aac76cf92a22dd40a1ca51e109bd6243aea65db84d0b8490d322ec2b0373c71c563145bfa19663f056a1ad6900042cef7517a8b7a12a2121ff8bf3a8c6646c45d06bd769737b3bd08affc3b63657f60fa2becbb5a176c2a72f764460ffc9665d88fabbff7219314cdfa67ed44e0977f0aa28523a123a3f040dde88f0da86b61ad7389a8cf2bb245671fc4d93a2f817075315632d36e849372bda154dd55caa7fe2f784b53529b9aefd714a02a611a24989644655fa756c0586a1ffbcdb109b75a406fb2fb602f5a0f359eb2a58a2205255837189b02ffc6f133e8e6bf84c10df9f4fa019ff71dd44fdd793d713f6e124a7f96c041c5181d479443a458a7f092ae7e12b9b6d63d2a97283b53e2f6fa09b9bc2633c638b9f33cffbf83d18181d92b22aabf5ca23d9e7b41d8d659cb25bc54687c91c709ebc6d5f47cdf8c8aa51571e8ca99c3e168f9e860207b0af4384112f581584c1492a23536771f17f5896716edaeeabeb092f8f85dd443131e966c098d6878b45918271778ad68a65a28eb43a2a0223fe120cdbd27b39d9c2df068c2c396acd8aca64225eb28ff31c52f953e608fb4ffcc15be96d84a6096bf2111708a3ad47fa4d3233db00adf8833477d57d852adadf24cf6d9be959d6e4daa40349de5e082ee50f0bf1ae7a6ab03b3cd6392472848716d1900abd8b687c1dd1cfa99e8662d371a6a139ae8c8b77cf3c1f6cb0fec8c189009778f93b3dbcbe5521e54fda5dab5c074c7c878a0b9fc9ea7bef37fd9e1f36aa8abe3916d2621d0ad1fc52a1d79caf4a8e56e1cdcf1dada1fe81e216b32f8d70de80399cc548438af0a5b6c92e73c374418c973ac5b1d4ff49545dbb564da30d2c48abb8125f2d757c2110217b0221d2d2dd36fbfa4ca745c51cf5d7b97bb3668e8218f33d397543be76f540f8ba7129c3557e8f7fd12b8fed6a7de851b3d030846c33f48a7823eaf4abad6ff23d1d1596b5346e389f9ed05a3b1d10beed6ae3fe47649f1f69b26ca32d3076fb421d1b066618762160777e5214c0fae4776412325cf7c3f8235f5130fca7f8579c62aa958f6e3cad498b3e21781da64b30a9af855ce5344c3634c28ef4c41fca7755717eb58a49af9ecffdd66702e5bf5d7f58743ba91cf8905680b33d685b3634f4ec546a458249062dc7017ad2e82b0a0db696174a46072ef63fe2d4a0fd102dd2baecd89c14fa394d7739c5b4437f1ec94f6d365ab9f42911633b4077091d4038614a1f48d3ff59030bc9717579fe389994adb8314a5db3fd650fcd578d56b6067a1a4fed2fca88ba5398b84c608d27471639165bccebde6b4544877b1360ab44b7be755cfe9bb837564a54457cbb8d4cb140b347939be9c5faacc87d3a29c34e84630dcbeb7872142b3df02d3098a16fa1be6fa08d427191e16951a71ea759bb92cb6e0cb2c86275d81b1c41224956fd1e372f25b8f701ed0ca6bedc9b710e799e889fafa254d02e4eba8f3e7d90b1bbdd912e4d144045ebfd127d43033d00adf98cc3cd44b8fed47aed3703befec98d69827a11828af4688cb3e9e9116b7c5763b5c8177cd959bec3a593bdee3d4a7edc1a4d081db7597564197c131145ce5744fc7655c3df6e73c7ddd844913f6ece75c18feff30bfb6a4179facf266ccc7906a169a5d397f7b5cb0c7398183b8d7f739b5cdd87dcae2a347b12784e6cd2ebf8b1fd90b9f8e602e91e28c7cda080afa39e315dd8d2736e99df283aa1e111d519af1efa04d32236aaa0d6aaf3e5a6ef2165dd7433f19a8b845dff5e75e022e0ba49ec4590ad6146ccce3e5aaba8764b66e45a3c3885647fb241928c52c3af141f8c2a7fbce14e73706749f7d7cfa515ce0cccf58e035b17d830ccd9918568189464e294f67c0548c9c93a7fc53315580550a6e8a67f5190f3815a8a71c5c1c34bd650084d2f8789ba127ec51c4add5d37626575200804f3c9385d085b81058d932c2212873cf54f1cf9678f0194039df986797e2fb3de581a077988862df50248c8fc18908692a653439fa5193255d24d763e0fdcd6a89a3d5a419c1464f8d0634844d6c7918d008a7c099beaa41d01bd9ae338dcee3ff9a4d52890051c58279159ebcce153a0e943dab5422275ba0769492e8884d15da1e38529576185b6a2e9f51c45a53c4d6bef258a4973faba995be8b0b78415bea66b5c39688ed8e25e127ee922183c3cf516a6bff36fbc783e5f81749715a3c7299a34ec7b8d1386e0c454616b3358649289155926ec2a78133f2762ca77c1d992f52df79eb53dfec3470956df02c34d6982d25386faac999e240810782181fd3939666f3ccf7ffde705f0f8231c69bb27a77810d193388d746f52274b5b93e7b2d7d502aa801ae1aa184d1afec679e5e15abd121e932f340ed70f7fa043deb57bb26957ff5c36391796663789623fdbcaead84ef3b1114dbad0f334d7c7f280e0e800afde2cdcd51c0141e32429ba4aa05e964c55c8b542d89539ce56bc19266058489ccb81e7e0b410dd934bf373713c9ec808eaf217eca9bc9b4136b9525c6e03e7af1e9c9a84191998559be748cb8b6a69c8ce136d0e775d4debb4fa7c24bef55fed9a98cade0e39603f25d03ddc5f901a2a8ec02e69d58add6e4a7297d98f0bb33c14fb9e3366aa80fd1e5f58e335303b246eeb4cc791fc4e58e96e37c88656f62da48363d219830fe8d576718857926668f6deaa0798bcdad83c474386e683fbe9ced1d1d3889146051a27bf4f77aa76ec6ae554d7e8a4eaab95754d155c96c8f9edb722efd8643b85caa1049f7b61f0e1da0dc8ca75476c943f6d9c49e34adc1ae8b49b9951d50aa537a1e050b2effd08958f5a74bedb1199f0b5e984a4ee1d1a83bdee854d70b74c106728fb195516b1435a7bb3680f733eaa4b201f667b0dcc1911df4198ca645a57c2c953a4742ad89f8a097747c1bd97751703a06cd023b38cdedbbb8c92d24e18428e10b964803fc56c2ed7fe884bff8d4a7b0d4c6cc60c9b6e25b6dbad2cf7f3c6ab12b773c4792c56346f550ff3a56f7dec91bdc1df2556da01c3bf42d876b782c21feae12180aae4b4b3ab7f519a10b16943d1206a303a077ccd28ce454dc083c39cfefd3ab25f02054be637cdaf72ce4874c513bd551faa3d824832e124e64430b35b1c6fdee2b4b79eddc3835f9a6ad44c086fa0c4be1b6130a0e094c63b82f34941855bc10798a7816e2b7c4d407683b1b2fd130915e09bb34d319a2a824b8ef856d96c6c7c4424924ce5a9c4ee94f0130a39c2258d7215331500fb3599838e6749c856e5af659e51b294de929524465a2b2f995f91fcc1b7242fef399602307009268a2bf1a25517373cde71abd1da3fd830e498280fe8a75a9ab0ee6d08cc88dca2f2ff16bdfcfca48b7eaae2ee0135f810e32ea8421aa8c5edf23c5a7988d023c32924a057b70357161e7b96244967a65742699d54667000bdd86dea944ec7fe5a874449fc1be726b1a2b814b7391699ac3e273bf3bcb8b009fc867584113a89c9b8c96b7a28d14020f180d78ff874a4f8057b3068d504e582ee4dc3320580c051dd346b74be1ba73b5fdd0c41552890868711667225b74a7ae21808d4a204ed9f936f64fd351bd85605f5a5d3a793d97528a37a108031406ac7745dd13e707be2f651d50d27b1f1e11b3d92b0375f9f5883e561ba6da24896777384522723735a989422b2abb749eabcabf42f88ea803dcc7fb72f3b30c10beee45351c87f640b929388721e7878dfbb3c196c73ba731f95b81d60fa88dfb1cdaf957217b3aa8f11752ffd4c565f39d438f7c47d4d6b14d1379a154401235c6813a90aa1b8d82593ee04a6f70617b1a8f1eb6c09280eb5a29221ef6c41866d3fe80f3a575f87746a153ef95e1552a7996601d3b0be862a84b16b108e8a8102efffd17b13408685903a41180db27eeb6ba90b6e79092d4f4a6af1fbdf5665d08630eb6e9893b50ddb44196c4b0df4c1cc4c69445423df07c07659d79ccd4646c25beb383ef2704b7b33334859b845ac6bdd73ea01031152383139f1326a3488eb15d95da30510d93676cdf6a33f43fce1c2c1991572a7bfd1a15a29ff408184d64e727c5d5d666a4fa7aecd7ba049b92ce95ede728d4973eec63603263660b4a3ba0db8f1113283746012032128e07c95b7df15c991feed647a58f068b02b987bfe73fd25d0265e04d7ae504a120c12e90208cb3414c9b96bde8a7983e328366f22c75c9e397f3281ee7cea861623431a3b113bbd5e7b86d275ed6236ee41d6aff59a68295c66a08d0ad261a563c72f3f17f59749237c1fea40f56bce8f2865fc0ed6039e6ccde8144a8bb1696a76273fb090a252aa18e26bc3b21db6bf6526ebb5a436207be0bbdeacc7c87626697a620ed7e528dd92ac2c05bf9b78b7b809409f7264ad9a476cf354a502e9d47eae22473facce768ff0966b4a3011cc968ee12266b2a518205cb7da8dff8bde2f8ea72408cec521c929e11356a30a07548cb01ed1e1164249618a886ed1617ab5bb9e7c7b5d13f24e9fbcee0870f835e1759edbd11a40e1cb42aa238db2820dd221de336ad856f59059c01b7b2fe335862be5a64f65447d9e89429bf7a289a645dbd9119d1b709ca0c23315a4124b7cf06e81373299ddd9ff75585084c4df53459470e14c09e5025093aa4068fa6501e632baf6f86a5ffec3461108438db0c5430fd249f486151ead2db7dc843b7a552295995f4fab76fd0d7df0360987c7a362184004f7ab3bdd6495ef9bc54355abdc09948011810725d7bd90ebcd4b986aee732365445005fc4aa80fcbb78504ec15e6afc1c702c7c3a1f72b8fc3470b221bc3fe1fe32d6537cff8043586a76cf100f1db3ed42f4762f81f0b67e46f466e7b4ad4569c540c55330998c8057e6c06d2a41287d03eac903d49b9e6ef0fb27ff58e0416e4e95b6a85669cbcfea8462797f03f2d51a350080e13de3b8567e47d265a6d4d18c303e988df2988cd915f6b299be25bc5b6f35fff9571e76f3b9edbd4a9f0ec9dc22fa3e25b43b6e0110db75aa79d350bb4ef8a86bbf02579789260c81d799cf1bc4a43a09e519c248e035f3a755749c274d1a3dec165df1c7a91cc8e06c26029ecd6d38274320d1a8d3cbe3b98741ad198ee1146c5b022411efdc4f2f8e627dd72cc6bee46b00fd78a2e567613503124a03e7471ede211a580c0904ebd441cfce989ff2d8ee6d3d26aeeb6c7dbcf44c528e11efd7371ef26a283bda1b1f9913b316dd4c6215890ce1bdfb9a39066a34643ee57ea973453465cada06d264bce9b220fcb4346f9349aa1ad0535e3d6c74d5f068807a7d3a5c8ce8437d5f97c9ffa1181384456c505800ed1779394493e24b7dfa5e57bfc7fe06222b36ef6b9756e29328abbbbdeddb13ece25b2728741fe51841042607f516cc3b71ba9aa726bd37b86b4687e59088864d1a854eb04d62335100de57c350a3aabc798283a85e3f2d44f1891dd9389425ac28a0e7e3ea2439d17d0c0a4e3e4928716c50e414b652a751eccb251e1a28fdea2fc38971425ca9890527e8572e2584c92da544dfce32d598e3ccb82767059da7ca5429add8e35570c2b707cfc49373230cddcd87360691f66ac614474f69729d7e92964d2c11af1ba950ad1faf3ac928d32378652cd11ede524cb14e9e28e6d31cee9477b688a343aafb73cbd627f7e091a9bdd55557ddc5d2ee67ae3f9f34e05fd934281ccefaf5fafe21e45d15aff0c22718cd3fc0b580be2db86e373729b76e4abd43e5610f6f5d3319f223af56c38996e686cc44c6053f92bebca3738d108cf7dd50452900e844c16e5726c6d1724d9fe976917f9b376af6f53fdda52e9542b5b41aaa3e79098e9865cd9a97b526a9c44b7bb66e522d16216cb6a67e601c9123797666847b4178f2ceaf2068e9137f0d7a4a182ad723ce3f37796eb43f1f6863cad7d582a707ac62973e5f395b2965583c02e0f7108c3015d78136a0a13012e2f285f72592876a228bef551d7d6c4c6a9ce20ba50f7c6b6a16babcc748bb118f337d5c32b469802c28258ff56c6093294eb0849e0d6095a5054dd4681a7dddbe88a1c333b44a978d4a671e7e004f5304febd3f78e0559431f63ab7a3c848266188593fc1720287e015a0f8b238c6872fa52bd1fb14891ddc1a3d63834efcfc896a2e4b9e5643282682f80e19176b0c1ade46fb362f9a20d4691a93f268f27a72d3d450e30336fa0084708409c5227b4d744c6b72230efacb4446769801bad2adae83a0b70e79062e9e47511293b03f2be508491582dc7a12e63a41f7a3925f824a4f521eb568507be3f73f7235e57c2a1dac00d9f5e51ac9babca3ba889fe7b19b69ba3ef44efc6c3c439006100be0f72e77eeb7816d3645de15813af8bd9228954e248b1f2cac805995184690211c441d736b1f052b27df483a2452406beb14033e9dc677c392aebfb35fdd53d791d4f8f0e4a24b26f5c84d955b9512e870e3be2730d24f34b8aac042c437f1b901213c4b9708a853e60080ac4b32a74b995cb3a966f81ad88c733eaa1874a255cafd063806340a5812c8cb5ac2cbc4db2c694d9c6e36996ce4913cff9f96d4702a328090bc469d690d959115955e98fb559e1122a19bbf37e296f582131fc9af9dc344b1f4c71160a6749680757cc23533359b4fe094d73b9544431b607f3729d216b15a2e5a3bfd853cb4a8fc169ce6a39e0540abed23708e9b147dcdc91fa47967b2923ebf2421d9e503495634ffbd246eb41a76037c07a525ffea0883a87b95e1ceb78992ec40771bc78132b44ae88aa7bdefad4e9ae131c383d8229116a8c9c798a5954ab137fd2fb177b6b9068f318facd75ebe64af8ab4f4cb57bbc5e88e1f1eae14b4d3c48528138e729a3a9aad949e6cffb60f400a2b0ef4a79df0a746c0839e3de3865d6853768146dff32f00cfd85894ead39c7784b569e0adeb0f7959b4c35372093d10bfb0605e2406c3597a58c92a72b28806bd7cf135ddccf12a8162cb2d0dfc730cad127ff21a3bd6dfde107b04d487ecb36fe5331f2bdf141e925301cd2cae58090a7dd61f883430a9bead503e033db034087b0e3267470c9ea35da0739c9729569b38f2d27125059e63088b5ae669aa99c6bc3f3a2a2145e398596042a5e378ca996cb51df7de489680e0ea15c0cf0239df744eea01039d167677be49cd1827ad31719a38dafa3206fdafb014c83847a87f73aefbc3aefdf53c8cd0808bf9491ce07ddca9c3a0b5280382f1d4efc090f702b23adc7df220bae1ad0c01bf4c3929a6280dab877b468e6d85007417f3de4e6034d0ec68a7d2f05b082b0ee807a5d60b1fa77a6009b9fe2f0200ec5616aedece04e7a63b3bd60d0455abd0502c6a5c42c90db73367c1b26a0946243dfe247b1f3d048bb1758537c738ca68107d495df9fb3e85bf35031388ae70fbf20a25310ceb5d542c17923f9914832ab3ba538e5bd999f211938e1763c1a528967f9ea8a9538ced968706223888ada2dc14c2f28fd9da04389fe7a05233843f8a35d649df1f306776a530548627fba72cb6f3049d8faf8d62e7b74868006e422d3907af70d5c331422181c32447c7fe4e968cf9932aaeb82acb0d0299c1dca10c5e0dd7496155956e988c32e38b47fc672ed6dae3d067335537048008cc5de646dc951fedd3cc50ca1969824e0f73401cd2187c07165a490ec2ff369c172fcca59578bc2440c436a2248d56c0afcce963a59d3cd26536a81bb9a48d35cb6d69e4b6e29cef2880ec43908b7358a018790ac0d10280d5ab0bed5422217f9fd1e922b0c9d80cbd0af03501fdd37ca28e5011ba30eba5d6c9db67f75f93e6f9032f8ac07a361f384cfff31ce72c2d5d1ab1b62499b96555da26099475104286a7c31d17ac6ee869b44670769c553eb84a4df51141766d7286bb4ccc9aa4c82e3eec990fcdc1b369fae0c19903ff240a710c077dd44f859f84bce78223dc52c62c5d52c447ddc7784485768945edc73f9c5417de660317963eb3c3a7b2d5a801fb0a764488054713297961c12fc237f43e716ed129725d6570acff2ea3309a13810242808ddeba238472280f3d28a0e71e24f5e56cb3578b3ab056d4db2d070071941a8b98f4c1779844979d19399070471961adb869dfbd8d11d7af39ac2ee090665fe2800d7fdb02738fca61d35ec318802ed3d87e1ccacc39701c9ec9954b2ed51e5ef6807bf3c8c977c8c22089e0ec03feeeb346b97c7764b2c43dd10d3230cd797fcd81549ea878e90127ca14bc3bbf3839c5d594ee1663610f015fad6025ea052fdfd8832bdc9e578901fb669d64a3d0115c4e91cbcaae6bf9553f5017aaae217695159d52619e106fa3ee2ba2db23e5a9ec11589ca076939f7dfe84880633e29e4e5c23c1ad93c6b61cc62ce463d218c2b7edc0308cfe37d8fe86091c7a62d66d0dff0104c1f5d568c6478b2e8de3da7aba377c2346619ab19cbc61cfeee6d00cf6b8a3535eb2655ba7172a2176ece989b7cc2feb11e841f32213604fdde656c3c7d10de94a83f0ed8d28d1ccd207a073013f8918412bd74e1bf6005cf3adbf316efd961bface777e56626315a661c62235606b7417fdc6b41eb16c4c6dd6ccbd68f22afd92e7ac2b7bbed19494147a4775c082f2b4ef98906bd1cbd9aec944277f226286718acc7f9251c199f0effef7cbf750e2241a13502881375423f7ec7889c253ca41e653e7aeeabbb90f66b317f5f9ab9f4b974608f86c089d74169012dd58bba7c9c87c238cc13dd635b306eb5979527f55139b4f3fc633dc8a223f080d42ffc769cfeb9192f30453395bdca32a4321346606a571b48740a503c3dd30532dba6ef72cbaf0b63d0f7ad069f89c39a26dfe003d2e30214e13ff2ac987cee2422c8476a324bdb3f1896c04f4eb69769351da20b996126f703cb99a19a432184a048b66d1abea7151ebc16f166d33191d457e51e27e62363579b337cbc1f5b923b6ce415776fee502342668eee4f004c351eb2a2871d7c8c9d70ebdb621a3e764ed303edf31d8f3d35aebd82e40af517667380740da9d43806c98ec6a78fbc9d8016d9b7debff74c8df29fa87a20d811f770ce8aa2ea9850451824af361c6c300d9961aa13aa6e0a540159a6bc79de1cc79e154d1aa60fb2e47219664da5e434a079482c7a69d715bcac0ec25ca758ab4b191c2f3a2e95e4f500bcf64db495736b1f1aa6ca507e926e873c5f91e51973502e53083bb402aef0a2b3d1993a758fc150eefd746bae8136b5271330817376668ae96cf2461a4245f7eb66f6a72736ff0cfacdcb6f4dce3732ccd949b5ecbc991d94c93043197eddf32d1d09396bdc8a48e99075c215b4461ebda04ebfe7c018d685e48c61313911a8d35fe6324335e83944cf9b9471b9376ca10eb4900be070701e82cd1ed7b6ce82d87766874e6c57fdd83fb60563f5d736fed688a86de4623d42169dbc9ce1075fa5af6a1db55bfa1d58c566550e9c55558bc543f73a4ec002eedc0862b0ab48993bd5e2ccdaedd13b306a7ae66d20e4bd28cbf850e6bfe0ac9677b87dd7b202ace2056eb8bb21e3f019f2faa90ff05aac66f5f67f9d5822e12a3549c65a5930c3b1a096db48ed1519c00ed609cba207289b64aa8d27dea08e0cb22818efab8cc9976cdb324782c79f5201d46b10e51380d7f92325316d53b609d7598695c4235387cbd8245e5f5d2b0d4f248380de1bd2e222fc2406da792c9c644d4ce034e542b5f433d6ea49dd0432f928b6e05de647b104cb603f213ea10973749b004f8d5abe0f8d253ca2b0aed045d89ef688ffb9bedb6b395aca0b256268b2c67e904f7f617143d58a2245cd5100f5b3e5b1543b267e9879c792e5ccd752f3472a44c4b0c463b7f353aa5f12f6f1e822c1170427fd0f6ab2d1d5b6125a6c6736ad6a616a081cbc6e025b0f7e87f24f72e668658776e9608b14120ba63c2c54a327125944d99c320dd207301c0ea65c0ae6cf59d4b3e7c7723ebbcdb862b64caad2fa041944582602c9f6a84d08552fd4f91d5a40b695eadafd9cc6f5df8804edd879b08b42aefb66ce6c1aa27d28619fb8da378b574e969487bab4fca48b4830fdf5963b4bc9d85d47e645e788a504e483dece3858d84e8ba42a26e4e582f2dda1a7038695ad9fa1ebd46475466a63259948b25c946cd5d5e5faf6e3e0e9b896c51ba4f2277093c647e997328d8c8300e5dcf1bd49688b345a07946608f6a170785def7fcf05d52a297caf934a676c108c1ab2bac99250bb739d3138d701122f7bc6559e1be875e6079fd11cd3e36935dd30b1ce62d5851d454a30f88c77f0b1edad170e0a09865491207cd5f5a6546cf9d8aff2a5543f891256aa6da055202547bef90130eac61d67152e0ff148d59c899d594a283bbd106f12da33e8509ac5be605924c6cf94192d8b355db36fd40a737a8514211ad5c4bb16fdde30b84104482bfcbd791a074f550870dbf89d43a8486c9ee9ce80370a493494e4c2ebe123808fba8fc401a6149bfc34a593a6e6204c8e55e66a3811275af7c7e16251b015bf4a50a8a192b149d253431942b6c91ffe3f7a710ae65fcf7ffa1e4bfe6b5e52f75d451b9235f6044059d88c57f06ef4fb44e1550bbb8a30c7853ec9ffed856164d4ff7db9deb5df3d51e99b985a89ad35237099f03dbe160a1628cb8a226404075b5744f81ffd3eed7f000157b8ed"), }, }, }, }, }
View Source
var AlphanetParams = NetworkParams{ Name: "alphanet", ProtocolPrefix: protocol.ID(path.Join(appProtocol, networkTestnet1)), SeedAddrs: []string{ "/ip4/143.244.176.180/tcp/9002/p2p/12D3KooWKUMHDGvDuJjSkhey1Gz9kYPpt5Nw1wpzRtt9xwYWF1tx", "/ip4/142.93.66.176/tcp/9002/p2p/12D3KooWLb1xN899DMZQjEyhrLJbosk63Dus2ty8eMTRTnGWRzSg", }, ListenAddrs: []string{ "/ip4/0.0.0.0/tcp/9002", "/ip6/::/tcp/9002", "/ip4/0.0.0.0/udp/9002/quic", "/ip6/::/udp/9002/quic", }, AddressPrefix: "al", GenesisBlock: AlphanetGenesisBlock, EpochLength: 60 * 60 * 24 * 7, TargetDistribution: 1 << 60, InitialDistributionPeriods: 520, AValue: 2.59, TreasuryPercentage: 5, LongTermInflationRate: math.Pow(1.02, 1.0/52) - 1, AllowMockProofs: false, }
View Source
var MainnetGenesisBlock = &blocks.Block{ Header: &blocks.BlockHeader{ Producer_ID: []byte{0x00}, Height: 0, Timestamp: time.Unix(0, 0).Unix(), Parent: make([]byte, 32), Version: 1, TxRoot: []byte{0x00}, Signature: []byte{0x00}, }, Transactions: []*transactions.Transaction{ { Tx: &transactions.Transaction_CoinbaseTransaction{ CoinbaseTransaction: &transactions.CoinbaseTransaction{ Validator_ID: []byte{0x00}, NewCoins: 1 << 60 / 5, Outputs: []*transactions.Output{ { Commitment: []byte{0x00}, Ciphertext: []byte{0x00}, }, }, Signature: []byte{0x00}, Proof: []byte{0x00}, }, }, }, { Tx: &transactions.Transaction_StakeTransaction{ StakeTransaction: &transactions.StakeTransaction{ Validator_ID: []byte{0x00}, Amount: 0, Nullifier: []byte{0xff}, Signature: nil, Proof: nil, }, }, }, }, }
MainnetGenesisBlock is the genesis block for the mainnet.
Technically this is not a valid block and would not pass the normal validation rules. The reason for this is because the genesis block needs to do two things ― create new coins and stake them. Without at least one validator created in the genesis block the chain cannot move forward. Normally however, a stake transaction cannot stake a coinbase created in the same block since the stake's zk-snark proof must make use of the block's txoRoot which isn't known until after the block is connected.
View Source
var MainnetParams = NetworkParams{ Name: "mainnet", ProtocolPrefix: protocol.ID(path.Join(appProtocol, networkMainnet)), GenesisBlock: MainnetGenesisBlock, SeedAddrs: []string{ "/ip4/167.172.126.176/tcp/4001/p2p/12D3KooWHnpVyu9XDeFoAVayqr9hvc9xPqSSHtCSFLEkKgcz5Wro", }, ListenAddrs: []string{ "/ip4/0.0.0.0/tcp/9001", "/ip6/::/tcp/9001", "/ip4/0.0.0.0/udp/9001/quic", "/ip6/::/udp/9001/quic", }, AddressPrefix: "il", EpochLength: 60 * 60 * 24 * 7, TargetDistribution: 1 << 60, InitialDistributionPeriods: 520, AValue: 2.59, TreasuryPercentage: 5, LongTermInflationRate: math.Pow(1.02, 1.0/52) - 1, AllowMockProofs: false, }
View Source
var RegestParams = NetworkParams{ Name: "regtest", ProtocolPrefix: protocol.ID(path.Join(appProtocol, networkRegtest)), ListenAddrs: []string{ "/ip4/0.0.0.0/tcp/9003", "/ip6/::/tcp/9003", "/ip4/0.0.0.0/udp/9003/quic", "/ip6/::/udp/9003/quic", }, SeedAddrs: []string{"/ip4/127.0.0.1/tcp/9003/p2p/12D3KooWN2RRWUokkcCjrf8zypvHwGv2u6rUepFAXheambSst5fV"}, AddressPrefix: "reg", GenesisBlock: RegtestGenesisBlock, EpochLength: 60 * 3, TargetDistribution: 1 << 60, InitialDistributionPeriods: 520, AValue: 2.59, TreasuryPercentage: 5, LongTermInflationRate: math.Pow(1.02, 1.0/52) - 1, AllowMockProofs: true, }
View Source
var RegtestGenesisBlock = &blocks.Block{ Header: &blocks.BlockHeader{ Version: 1, Height: 0, Parent: hexToBytes("0000000000000000000000000000000000000000000000000000000000000000"), Timestamp: 1707942173, TxRoot: hexToBytes("001a13f8317afe6bddbba763c1535b8197ef45cabc8f1acbc5a416804cfeb3fc"), Producer_ID: nil, Signature: nil, }, Transactions: []*transactions.Transaction{ { Tx: &transactions.Transaction_CoinbaseTransaction{ CoinbaseTransaction: &transactions.CoinbaseTransaction{ Validator_ID: hexToBytes("002408011220b562e48ca118db0f24a53cfbae9f6a3a67f863e6031595d643b7d891621ac280"), NewCoins: 230584300921369395, Outputs: []*transactions.Output{ { Commitment: hexToBytes("191467b1ec4a6c2fde303aa72fef79c8d1b7113e3535de0fa57cedebb04ba8f9"), Ciphertext: hexToBytes("309f1ac54b4248dfcea4c1feb0ee76dac3bbd40d0b45b8a500459b92a46aaf5192dba1d9d4ce2dec81ad9d8502248c6cac195793d1c4c9c7ef8e783dfce5a9db009e2be9b85e5a98e48c7e959757f211f01550b9025f539ba5639c10c681dc03c67f284910ab2c1cd95841edde24c2f4cbd6844c60a4f856464af504ae5573cf5086ef5fcb04f7627b0d4cebee9f00b8dbfc91ae8c5efa2da0f2eaa50d659f92d9db42daa0acfbad097c4f5c4e81c23e3ea1a10b7ba36d89eefa92a56672c399f166ed8a6a96c5555a12256f430728989293f642855c1b3f5dfe886890dd38726630f93054c90b402ed7562ae29a524f584041fdc024bcce12f1a1fe5c61da70d2cfe2b3bf053c0490ec0b94df9e4b61ba9f6caf6af7f284"), }, { Commitment: hexToBytes("0cb99dcc59f64d1026e5aedf228e44ee6ed65c11085cf2d704bc0fa4b35a9229"), Ciphertext: hexToBytes("3487c89a17b67a2b8993a1c916d1b3cf0affdd8c3f08d0e03b08d75456940d702fc9e69694f73ea7b49f632008e7c8176e08542a53c26821e7e6e236e7d5da335846a0f4a716729cfc0b7cbc929c03ecb9031acf327b98d16cfa0eb67841ceb031a220806446bba70c156052341fda3da261e96813ece837738e2e55118385647727dc741da41ee59e6addda5c69894be986ed3d2dcfd7192ff5a412d34bcd8a27760796ad474386b952631aecbd5695db2c48aeed37097497aac2b3537ec7d08c0cde79a6e6515b3d2ac9bad3eec16037decf8d88e49338c4937651827a091ad090f51c55e5a4ee59c8b6e1aa8b555f5535ea21c75e3cb2770576d8a31dd55c30baf75d7cfb5ef7af80b5da625401a527ffe3e1cabebf96"), }, }, Signature: hexToBytes("692fa7ef488cb833aec8d47d36eefc7822ba04e27a3fa268ee02f9dc5892307907ce8af8f8885d449c5cbb2e1eaa5d96556a0faf70da44dc1fe1860c8c3b640c"), Proof: hexToBytes("361883727d0e134bc95681a7dbf8e179e067a4cecbc876378d41bad9ab118322789ced9b55501cc0d6e771677097c15d27b86b700dc11d820787e00e21b83b04094e707787e06ec1dddd756fd5dee1611ff67e5f7d555b7babee79e9879efafd5bce9cee39a707120202021ee27f5bb365a4eaa7d55841378232a9feb7621e038a80e28f264a3a4c18fc93731635c81d08cc160f441e1595177dea434c23b332d8f0701cbe6e7efe4fa8dfed98e1f0a0fec9314e1398c0057562754eb617ed0a514b77bc9e6b65579f9fe4c945024a2d4c80116e9449c4b1b5cb86906b9f23d245c47d0a583c5b3df2b2cfdbcfb4cee524e0e6cb99c22d4cc7f7ccd5bf2bd0ad09fc2086f86f99dfbfea8782f8ffc2fcfe55ff7fc6f9df32bf7fd5ff9f71feb7ccef5ff5ffbf1a27c63f5be8ffe2e72dcc8810eb1f11064bc960e97c4da498e8bfb16a534c4f80ac24a3147fffaea30499cc84ed7eb5f81ecdddfd494187edc6f1b0cc4fcdf62b4370d3512943a509115847b1f968c88989bca34812f9f6eb0a9d603dc02580a1a0c09d0a6e5e4737698539701305a4b6a9e568459522fd9167086ebf5c1074e45a6986af9f3d015833a2af9145fbd97255f42c7b2a605842d8739852684dbad22b1fadda58a7a0b55b8c05d619e0de7c94c66a323b57f5bfe3b51e2cd62c97912f5474639ec68b5c6e9aa0219d020ca6454d312735c0412f60fef871392f8d4ddfacedf1c88a15d7b5bb744e9098966befb1bc39d0ce80ba6b33f1a04734348377ded45205dd62176df535171eac83ce1cf311c045abe0b22062c623fe504493e7dab30808934c3c4202f9427dc02e55d6e6dae41be41ad5d66925b3166ebe08ee7bbab7ee28d9dcc0e7440aec476392228338ec63d4d50b3dc68bd824af3c738b95556bc377cd4187aa6fbe716104ebcc61d6ecf0189198e94e729b4c4a2d26f05377cba542782cedd2e4a25fe35492e10f6eba962b2a6e4676095c1c3d1c5230268d2850aa14d17750b3c3cd1d45a30799c71ddd65716fcfac6960398798bd74088decd67490fe51befb26b1190dc306d6816166954e8bc0c97376ef1d636c960d2f1a8b2f21ee7f3a21d2eb0d23dddbc0ab4b71d55fc12f537e8e2f314492b05c07980b304aafe11676262f9739d7f4d3a397a53f16988770fe54a96764315fe188ad2ef8156fc6e7b6a73bc7fb8547170eac33f160367c249c5417057b3594eee0dec718d0d1717bc644b91eff719da4919dc225a170a6adf5759973d73a8c3b00d9dab100d1c8724608de16eaeec65ca48e4c29972f55043e21a5bd2a52e9780c95a0d5ac57331b96b56b4767aceed9638e16ac733a2337d819ab3ff72538244c0bbf24dc79ff01a1b6bd43f42011f6b3643925062219f02c57aaf63bab10b9da453859dce22990875a6ac17d4260cd1430b84607724c141b74a177a969e7224ed67268751cb8ce246ca18dee703c4518f4227ddf1f179f119f8bf2ccb8938b8039879b96df32c125b0860e051063a4d14d364d65acf8479e073db9e78c4dc4179822928ad694a987016f9ad0a863acecd70128cf2c22c70c297d12e41f37bf142013de195da9483be3207bed22d9de56357f23e32400eba41af59f28998f2c55f2883e06b9978be6bae019587a8432a8aab55f5ae42020ef12b570d4e8b7d606204d0c9317d1c62cdf9408fa6f7856794bebc3d39c821037b64b79a16f2cd01e71415408651cfceb6c2cd77cd7a166a879b3173cc3aeeff1e097beff6ae0e0f2ef2ae65f0db44c2dba65d9e2e34651fd895078537b9e783384e1737c8dfee1443f722004e983a6bdb8f9429c3012ce8688437d3a1162cfa4e8cce24537cb59c4b5660f476efd5a0b7211b3324dd3b614032ae6bb5238bc0114609d93d9c6e05509fbed6fa5edc20f1725cd61c90a7a59d9b3117281462f2b9d3d006d8df1ad4a8116e90399da6e4128a0d4c4a65b3675d9cda460a967ed745a3eca2b77eb394624120b1b882b4630c824adbdb1304b3e2319c2867a506f7fa59c0cac0375d0a0bc771f81e67844726dea5014835e9ffa87f674e1cde3b7cdfcf18605a67e7973865cd74f9fc7f3dcd2ee1105f37ada46d60eef2abc5fb509be7ae738c012a121f5e0e3bf7f67735d8b39ed4a8053c484d75bbcb68af695b4b2614742efebf6fdd512df37b0a49676cbb9885ac9366c09ab5eda2e206130d8117e1392ca999ce70903a7fde263d11b392574315c76f1412be04e69df54db7a0922d6c8c685e402dab946dc69b393911f32514b9ee837bf5722cd1f61560f4764549be0b89f18609d5c7bc2177f237e73263ebb1e56a476f59950d9684892e1b10e49d3a35b4004807015ebb2bc0698bf942f49c5d5a88280d2b3e09b5fd6d7b74f56ae1fbf72023954f5fb03139988e658fe2f49834ee9c77a8c965d930cb2347515b4dbb81a6620584708d04ac079abf52949376a05e27eb1c16c2972f184b75adc3f1c2b68c1231a80eb0417148d41aa61081f9ef8749e8182dc8850ef6236801d47e1522ad1f5814195941618d0d3f45af785d619ce39dfd86b408a89bcf22b8793b5ed3714b64a64b00e81cba7f2229863b1fa6635117118c4a039f6622e8625d14bfd0ce4e4c18c48eaf1f53b73c021c70979b515d69100b9d398f86af42d3ef777c9416ff7e63a0d886506d9d131fd6ab569bcd4a11d1ca791ee31551ef39394c5c47de3d15292590af07ddcd76b587f34b0e15af417308031b70237053eb211912907a8532d1d9db5fe97523c07c695a13a8e7fd2f159d2e1792f270888d5a035afddf4448d2d31765288f9f5c253d0aa4b5c81ff92c227a5a2b09f26c8945da52adf537f349b42f60d8800f11ffb8ffd0f0ceca779b99228f9d2badb0c6d41cafeb908dddcf653b6d2169ff3a402db4601b8155810ffe686f9cf167cdffd94dd27258254c9f97be7cbec33c1abfc269dfd0ec875cbaa2f1bc6bc5b711927e01a1daea913ee3a5c8920de3318ba20a25eab70e9ec3aff2abbf04fd3453a13984384fdf4e8a5604b99e499ae3f70da15f52d9d30dd922450c94a95714ae984162963ff02e2022841c6151ed54fc807132b3981fa23b114967120f35bc037580c74300703f50d76d7d5a167067e8ec9a85993cef94e5fe9c0a9323b8e5976bf00f22339e7db2bc1d1af998154468632afaba365d317cbf909396329ec0508bd354d751a30471f3a0f8258de58792df20bcf42b3fbd3291c47b92df3161960760a16efaf1a59db9342dde31b239f08dd065098f08d7cbb0a1fdb99d57a56ccabd1fe4d218e00cc31c83545a377e83331f015325c80d00269eff90e4a3e2419b14eb88a5e2d66b1b26090ccadefcc9bb29a829a60631b7a5dd81363b458bab1c8be532de7732fe2823986ae03f9ca6bd99fa505a4546e06055d8711f094d12a199ccbd821d6dbcd50c8202c3864077ec0ea5db4607f5e3dcb3619f27d438e373435e6feaefd0b9a808d11cc891d96fc72064990ba340de7b225a2963d338c3c25202828c1403902f94c998175e1d2ae810e8c223ce287fc5ae39631317829935825558e47cb0973f1896f1508e6fcf0d5d863aec2f4cd112f4248e63681edd762b8e004953793ddf6a328cac2e391f3477ecb2bb0477ce6e46eb94e80fa1374e8add915728ea6d3c9cb27b1df8409e6709b6310ee5c560cc94dcb7986f31c7a56d50152a7b3f0c99d57c9e2d286df50dd9684ae7e6efac94dfb1c9a434914901075ae12181544ed210ed03b95b43dbdaf8fff5db319d47888638af40fbde667371a2b1c055791368efdea4e1168d46e0eea3b6ae9ea2374cf18fc31de07264e974d8dc214fcfa5ee541d398420099c6f6bb3f93d275004d1afaf87138e8a6e4a4b30adc2f7540d9772316f91ebbe145133bd037d91db61c6d3c04d61ecaadd16b279f8553ae3f5f92dc9f6ab02c553d882b308339bc85a27add84cc9b9a31662a8b97a3dab77e271d93d053b1d01dd9c0550e7fe2fe4f880552264f88abd7798b25f1ee014a5c7d63c87952861fd052805ffd59a0c19ce8a2ca472e13c3bd45bbe0bb2dfdd6c7e295c51f656e97d71853a33e84b7070c673a57548c57510eafa844a0d1ec5b59675483f681d45666cae623b3d802220430473e6af2db32e405292ce476e7583249f79eed8cd24602be5de8c9595d087305c066179aa29896c37f9d6dd233b02e8aea23238c95e849897a4a03e56c5539fbfb3a3f7c9a11e0e4676c6d762333eb930e2b4f8f891b7530af9b524fb1cfa04bed637250b6befe7a8f2efa8b3bf2dcc6ef7726ee27ad377b22efee47d4f948b87a015430e76cec9eccc586e203d217cf68abb907545979c52fd39cb08dc4accc0d4d4a144cf9727942abda4fe1848ed0d6debd46bc56c15f8a385a65eea262e5579e266dde3942afe684d272d28528148d2fd5356122de86a9ad5c07c2c21bd85ed8e112c4f03e2cc266b52bee2c57d31f4e0f869ac9b28de256fb3ef526971dee77b8fb03e1c09c79d988926f9852903f20fefea40456e2b1a119113a74d27e855b1e143a1491469bf934ae524135e4acce9f4fe9ac18431fc2a9aeaa37535cf522207bf1a82b4e0c8eff66a2af281f61775a738dad02a898b2f44a9f4388380c56c3769ce68a1b1ab72921fecd0d9c7f00afdb086449ae13447b485a61ace3db63c1280aad69fb3fbea1bdbe76d071f94159a483701772106ca8fb7d0b90666c815ce88e830362559ebd881ec7a91ecd6d3eef79527be434c697674da71ccbcf80799d3f42ca890be6666a4a513fbb3eb80e60b7519c7ce157a3171b2ff7af0a5d7992c75fb46a25fc2db2fcf7871adc0273fd0eeb7bfc770d47d6ee06baeb0157b1970e1a8e5bbe7824f79317548431d65dcd17bd6ed3ed2544a08f186a2ab7a9dbdaa7420ac0444bd4cff0c5b9fdca7849afa28427c579f74fe91612cceeba22c782445f074d3e573e88d4c2a58f5e64140ad330de3e7b9064d20b39f5b629b0f580283445a7760eaf58c04dcf2fd12d985afa9b4fb91668ef7160ea4cfd93df95ee1ca89acf3631137681787b098ff34d25c47dfc22da5f0f58a5909acf0b1dee991d2743a86f1e9d8e13b78ff664657635a6ea88f66d809318cc09eb81cdb48144b3469354e5b8847ae3eeab9427880e2d7b7a73ec951208c0067cc4a98900b265622117866dc2908fda3e7db1d16ab29ea9dd0792243cb90fbccf4b6457e8f195754930ab25f51476b7f033d3b62d4672ebcbb7f6a3d160d4cfc388b811823b5ec8f4fb08d7e41255bd3aa5aa675c17535dac3c0924531ccf673aef715b33860b353cb2b94250c9fd4f2a051530114b9d265e8b96330dc6abb91e7384e0a144d846e0122285b32388dec7ee60e4a6eb180af235fa3a15b572ac7bdff9fd9c8d323efcf19cb74e0761b9d4b51ce49803acdb8251e0a122184cfeb86e0adf87545b9962504ed1777bde7ff9659e8042f712716298ae97cbdf5263e99121341c11cc795ad46f1bc1164681a5efe954ccbb496af2efed838eae5c26d4f1152dfdc3c43066756fc2303276b628ab9d245ff5816559faa4e8f5ad0ac3ca51a8f82254f43d0e7c32d8acf01df60e7304b0f18ab221a5819ae53507108db850468e030cdb5930d86e503c1b510c65e9e9ce8623d1f38f0333286528244798efe6e4e34a9bcea1c09c6f9b21f8ac90a62da6a8c5df584b5c17e17fe692341632a09aeae7918b5966d0e99bd3d0cd18f7d9e79fe2ed6e8923af300b08ca8f100f0da3e9d3cc76cada938139af4b93af992c8f4755e32d88e58c11a9533f94257937a62bb7a42a75073843718719ab04f945f4b28e67c40a94f3e7ef424d50d5e001e96d63616366ae1f9cdec7d3317f571cd0323b60cd8415d90280a58086342d914e8218aa6950b149d438408416d5c8e1fbe8b6359c5421d24e19c2bc5ed237529a9597b5ebd8d0cf1472fb7eaed977a2a6be7eece38db2429cece0f36c878219b6e019b2301896ab7b16c9ac26ce2bc33f4d82cb504bf8ac1a75acf4a2900c9012c0617e41d6f4fcbc84165bc10ae608fcd00f1c98de9cd5d395e18ded08ffde157d7e284ceac0fe8b69ee43339e3936ad6eea804d7984d2171829ea0b5897f93349726ca6167bacdd99077b7a8586f773edfa414ebab358fd9b34048eec14c9860c9146efa10c63aed30f5c98a17df6df44e4abd658d18cd18e5156d63d1a27aafd2ef1f3059018e4ae85c69fbe4809eda203fec9712042cb5311a08c360a9b1579add1ede7ee837c788ed893e1016d270ba79b42fcbb1b87f5cd353606a111bf5630c5c429d4955ff5d5aadcbea6edb92cdf993313e2bffdb984fecf56957d2307e0dbfafd626123050923378caed699343701996c5e4b3955c12918c94f9b50c886a29f440553783aeb77b7a24a6e2f39b744cb8ef1c83184f11f743420458a369d6f04ec096f8e25e8999e601209bfa833d6d9b8669cf0a89ee3833c0407e1c03c293679712d017e8bab3ffdd64e69c643e66332e87c3af6e4aff2d721b803f952cfadcfd7ac880f8285cb15b325890b84a65fc34fd32168cfd5b5d5480b52b09bb335c3a0bf57f475ed748fd1eefbf5add32c7cbc0972b4e23bd221691724f9f60a811fab5096a35a40defe6370a7b39bac4146bea7ce1efaabec14d3391cf904bc8d502e5c0bc794bfa5a398c488dce78dde80b324a7199fc19f385aaa15eac64b9ef44e72b9b29efca507c66d49a193ea1c16142c17466268bf84812e76f9fbbd533aedf309e7eedb45a93759819510eebb0f1cea775f14642770eda3b8dc0a8357712828a06d278305cb97a4058ed1cdf36d7b780e2be9ed23d64c4140b5a0793503981d01dbc7c529068d1ed36f863f9be20adedcc9cdc7f670f04cd666243e89a4e031d4a6049834e0fc76fabaaf0138df2a9b88eff0942861b1687329b7c13111ee11e6d312a97592de07bea6af7a8d4a0c99436c2a95ad5b58d74174f5623751b979b377857b86c196eb9844bda528683bf3c2f90107e4b3a421b293a87154a80ec65fbb5075ee0b9293757b9b95392c6a4337d37155351d65c179297376b128877c3a738313d6b0d99d1a075124e76f46c1888e0e8311f8624a156851182817e8898b5fcd7b148d6a735404512dda8cb44a8a1faa63a9f885022fb44c61d6ad319a49c6e6bd4dba2f44e9dfaecfab755392501ae229fb9a7eb8239a8375c0f721e6d3364276c64a18ce244c856d8215ad94865cb663d9728acb3f8dd3051dab14bcaa7a11aa5272aa20f8c21ed151433bb18f38ed3bfb6436cd38eac1db9ea68c0028798b3df4d18592bebb30c23af1918bb22761bbbbbf88bbeba1a7188001e6016dde6d680a8f8ea0582e0f78c34518c87db779e2ab0973e178a71847d302945a1e59ab3da657e6718ad5bd63f9686b04fede17ba4efead2e24103c7c4e08d1ea4dab45c4da2891848a92a60e7f27497105ee253d42f60e244ecd3a702812c5a3982b5efed9a24fe852d3938a2242f62624af989bdafdcca2bc0b56a9e619cfcfdfdfea1eaafd99886db98fa0b225654b172810e891376a0ca29075b14423f543c08f9c704eedff5915c4812f95251090f3ea2a8175e5b7b496e9851b2e84ce292131c180a6a5f7cb09589088a8c3126dcfb265cd093084ae21b8c5e9a2c465695fc9b4bbd61a58ea5d308cdf0e318dd9ed2f89f342378381de3bd2ce3f641eb544b76b39cf55d4c9cd78836fcfbcdebbc65412ed5fb4ce663b9eb24b47c088466d4b36cb06b07d571aae76b24ba2b74b818c734edeb3d0a4293075f22363a9ab16c18df4d8b55a17749e522dcec05dc3c48e6d18e8fa3e655feb2bcf04458e699c763ea94cbde6b555f011f2208ee04597df978642bc5fbdf958ba36110922d3e80ffc068776e51a34084b9a9329f9448fa3ae4b9c24f330a07004adfb071c75afb09c8780c8dfed0b140a10f3b6f849487bf86faad79c246a7c85b5040342b09f64b6684e2d4ed1dd89d57be5d4c917c101c8d3fde269d4f1779f0cb9af87319103316d1a4d2e2dad164e2e90b5bdec8e9c5e9d4ba297c44216d174892c1e802c9644bfe5da6669fa8edd04e9e72b107a097fef5e7205c4da31984430174cdfb28c37d9f83aa319d44da6019d6b9210191b4518db713739a7055f6828df52b42193d309bcc5596abd594075af510cb04edd99f1217d4d46cf6659fef23a01f838dbcc469dd0470d491f4fd2cf6dbc7ef04fa8831e59a0cebb485c7e12450c9e20103f675fe94a7ffdfd4df5c018236fbc2216899f103e81bfab7bbf4e1f30f689e4266346a08d7a18195d94aca891d89df86d96d8be853e96413eee3307c0f7061ff8a30eff4973e301d5f3b842db55d7a2effce318628a1bf236f16747afc91aa0a3ec84b4a44394e925d36f2d24871820dea376fcc45ca3eba6f067fdb15742fa9cb40ec6ceb60df8f072bd570d735e0739152eb8370cd3f260a41a89f0d813629852dac5089819980219f10f3e7e3135d038280ecbf74de4f1f61122ab632f682a3cdf9b34ba75fbc7acdfe858beda5e7ed51b6fb756106efb8992f476e06c44ba07e9e6179f20f224e778f3138d4987450f82a6ae55de536576e27cafffaf1b792863be56e765f81f67f2bbd04e9ad05f362b3d9832ec4cf581b619ca84abd704484ea9cfa4d9f39ca1689b98cb267f03fdfd01b3822ca4c88448ccfddb4db3981f7d8c71c25f897f4fb176cb29852693fef4f88eeadf0ed4cb8eb2a5ee49fb0a00fbc945073a3f599bde244d8173fc1bc2269f1712c3d7bb891649ac09df953f77759874bc16877aba63302f672c29449e3cf20d6be48d319d502579bcd93bbcccc8c82f46c62c7e8f1d15e7299f135dc2d207abc7d37447b9a4acb505b75b5cfad1f07f472008666e947eeb7ad32226d45f0cdd58b6f5345d08ae136f76116940a04444f4843ecf08e21d3d6e80f8f0110f5160bf5442d49e3ac86567c8bdde18e90a6246e2986ea18fc1e8c71d9d2ed5f146cc724dbe369ad60d10f2394fde79d489f2e4ad1e3e6bb3d7ab6c3cf34bed96f2caf3493e73a6a68886f6036422ae1f2f0b33dbe63ce0cf359c171530ab491e3baebb3221da40908c62f00d7824c8124b8f72e027028a2e633541e153dd4c8759cd8ba9092c125a948576d6bd59f2728315a0d03cac65b0373b14230e0482e84349cff6e23fe9d69fe90ceeea653db6d218747be6b6e17a3e46c38d1963df369742499ab21c60f1ad6b0d8a7542125021228eb228badb7acca63261a1d27fbb83a057fef27ad491e323ecc1acb0591a49e0d7070b6b971c787c70fb09c87e4f353cc35cf6f262c062b3090995b43ce68bb593ceca300f0597736061429ab5747b6b24f3ab654f5f6e8d5d7ef8cd23ff03b900671ff1e0e5f6d7da0f6d2b5aa23de8e93a64fe2529f6ac7e4d8c25f42358649c13affe9ae7a4a17891175502f285d037b47930f8389c0238cba93785d55bb85f63a2c73e52355c82ecaa2d4459f26c78e2110be5bfcf5e1ce2cf12de763eb2b80bb8c6f15ac734d6d66042f3103825d5f49d383e8471c24e9e8b2ff958acc8307ed81a961d387fc43267143309903591146ab35a8ca9ec47c2cbab94d7595706df9f8fcce5a4b1ede18b6888b934b0b2b47dcec5fb0d2a242aa9d51daa71c394b500b39e75212e5aa3a40163f46e2ce72ca319a152b3329cde892d32986f7f9c4a48f6d54ce0c50633aae362b0b7621b618d08fe8f7b196acefaa2e067ba06c9981d6c83e3c14fda76ac2dc6d0b1332aaeb5a7b81b4013f0387cbfb50fb8542ae01edf13c250616a2f686e9aa54d1828beacadc37cdcf1fb0ed1e26224e9d2c7583f80f639596bb8ac1935a3c4db77b3b81692ee3cfdfc031194788ff3ecaf6cb3d0af85433ac0c0a429b1896aebf260550a4a361972d58f35c668ffd4f9afbe9b28d25f4947af0c0a08cc1321292f012c47405fd897b2b1cd8c2ffb0f4a2123c327c20dd9337cc6484f80ba670a0fe8578ccccb481138a1b79f78ec2ab2f7a57caf8f71a6e089b1eb07fb58ea5c8a7230a457da144d19ff2cd5f1aedd25fd15760b8dbf292189a074084a25091b1483df8c4af8a36c3c53d9fffd2be830f938012d145746b112fbb904587cda155adf10c8ee9372360021bf5614ec0732c1555c81a701ebd4078a941807df6c387f31d2e4a85202854d71ba5ea61e97d6fb3a008acb9e91faa412b4312bd5158c33884cad1521c64bce312c731beff76f1e2d39565ef1e92d153f615fb8af40ca260ba262f55d7a8ef6a07b7241a5944a4e779a37d3a8d3837548424abe4f0438a144580db90ffdecae9269738b5385346bb2fd88ff8987a207a9d27c0b9331807474667585cb02ebedf3c4aa9566ad322bfa98ac8a320a8509c5bc3c8734725fb0227320ac61ba0dd07810fe0ff4222b39c3cbeda9528e8eeefb3b908261e2d3e539a7242ad529f507241d7d5892b8e58f3681bcf7f35ca1c421b7549d4bdfbfa6091e2481ea1e1b1d32f28463742acf9be8b71f106c700d5da0d7c896d056d4cd4ab5953d4d8f69d2e202cc14f96250b653d38998d41a05aeb61729c13a53b47c0b7714a4d9b26d4d914e577bd67c380ee5f7abf8ab3c434091b66b18cc62669c8b5f3e36251301483e29ad61a3873fdd8e43227f648edd75c10a3e2dd1cf8530652621592ace4be6d300fd5e26907d1ca6c97a8eff661890e8002bd9dfebd87f75d39de37bcb7269e124eea251e64da2101b9dafea0ead35981f64d5be3f4165710fd9be945a055e0e7913f3e3aea885233c760150219cb95221886b6663486c99d4a46244c3ce9e1df2c996d7b09b665335f2ca0027a822cd6e684ab65e28609d517553a27137a4058d281365fdc391d35ea79e664f2c0768351ac5f5538f1f8c732abf936be69ebde953963887fe06b6b70ece7ef20d75f4850e66114eb450a2d7b0c5a141accb7404985eed8e6a19f7fd52c68b4f98d1192426815ecb479a2407ebb82f666bf713247652ca03e118a84c9f82ca62e230eb5a94f95bd45343e48788faac1556a9200d5360135d3125d79b258ea3b9a9c9dffefa8c448ace1b0641d36789ddaa38c2c77da079b3ce55817bf544c461d7bf58ed8fc0637039beffd28e04d6d19741e8fee86657ea2147b9f5d9fe6e7531795643a884a03745004ba4c17c942ee622c0405d953f32d46fea918dd44a71e7931c7a537725d9b260559fe5e437f491c20448475861db20466ef50690bdbb0d5e67498f797de7b544fddfd5b7e7f7f9aca23f583c3cb8524fae870a6e2111913b48ef364036e8f47eb18dbea9de0c82e9f2af29ee1fc3bbe7558bdea9262337473884664e1b0d11a6a3596389f920c7ac87e68d1515de590505b356c8e3750d0a39f35bbef01c79d585713bbea4cea302eb2cc268bd1a19177f2637e58b5f4984e86f0641f77382dc0e7aafe30b64efaa58b2cb9b04661eca94ee1d7ad7bc09d888d8e3ccf4e2dca7c215327d7f5d176ed272c7c9b454b12e86e113136748d28b3c6b646424cc9b6d0d1c6f22ff3a6b362006eb747287dd5ccd1b20da771b354f91fc5dfbc500fb8af275ea8e1d4e61c578f81ae94ce6b4d8d479353b184a9642427251b1367e9907fba720083f6ffd710da21c008ca8cd1b9860cc1a7760a68997a1458ec0cc077e723935a0a1bff13b4f507a7fcf602011ed68a8cd438b969a91cf2359ee10d7c1dd59f597a65f027976f21f997a52f665fde5613d8a92f93eb74c5dd3f1f3e4ebd180b1bb51d2f1ad9325ec8b55802031463a2dffe2fc2b5e946e444da672c1a890326b5a2d48c613541fc0caf5ee07e1a5aff6d63c27be594b49f784c614508c2e4efcb26702271679e20c618a234c72ac3d8a50be107c4487c4582788d1913050cec331656fab2f45183067646cf48553fd37ad9f98beba3d9578555184e01070b9e07cbae64e92c7dc4fc2fe288b1d34e12f02fa3b72ad18e55c6dd16c05b7fcdd0b5af7c5ad568439af76f2e5016f052d3986f93479906332eda70a307fa7eaf4b935d2fdb3bede83bade06ed23cb343decc09c2721dd183b3d66ceef03fcdb333c5adcfe26d995f99e494bd32ba8a53dc587da99089ccf7267bc8386d7ec95393446193024f3156f0874831b69a4e0fc05f83cbc50ebdd9cce16908d8419d59edb037c59576ba99145210e66ccda8a74903e45b975b0565cc103e8921bb0619f62be3ccf8779206b675885958457061bbf6ae2833914faac424e19b4f61e9851417f9eeb08ae7c3e1a4639af1c333b05ed0bb7b25302c2bf75af09af2acba8f4fb0ab551948ef842947d850df04291237870e51182017340c45d1e7040324b39c332749e4458ea05b2efb45b49ee9d0776dd6aaacc6228d77087e492406c402e6a48dac8c0d94ad389641a00aa67a3d8af828949378205cc11fecd41eee0895941e0e62a1193cb01a9fff11b24e5c56d2ff234eb1ffb520b266e391d47e1b718484e90bf8d2f740a49e571dbbc25b3b902818e017764b4243298f3eb157db6dbc905fdf2cb6dc1ad9eb9d46b2d2f9b5eb7eb974186d9b809b2174c509f0bce016f52b145bfb6f0a5742f944eacf0efe892b9793fa97a683a5d8af73cb6ede1df2ffe06f18c3c6a320981b36f3fce4ac7c9b11307d0047eb1bc79fbae23aaf4cdbf9e4c9c1bf8873c0b3b116048d7a6e7fd650ff19eafe58ac0281a9d427acfaffef8fd76b161360cc0094cf760c6e6cf9d5d5571ab834345444df926b8c54498414fd92eaa3414cad798ea49bb86b774f44825d9e0f7cad37498decae407f75e2fcea1b6d3d0cceee856855424707dba1fc73648edd5bc299e0485e844240a04d311516eda3f5cd195cfcdb605352f860f7182126ee7a298cbc42c62175afa73dee79521499c867d1ffaa7f0dedac59eef0d24ca40208291c770b18360d0c664d0c06a5c27aa92237f163179f4d51aabe81cdd918a967f84de819f40404a24e0b116f27d5ea5be9bd1cf4bc691eb71fe59826d55c99f3625169e13256bb9591d2fbfd153adc6767c8b8e76b22c3ffea035fef97904068b8fe9b66358ffefcd0ec988002e299813ee3a1d77f7a66a96b2d5fec58ee02c232d91bc15d87a43d54b29fc20e4bc411430110c9c7ae8146ce2b54127f9711378e42654e7236890fb09281ba60475000be64c0e97cc2b234b43fa885e77ec1736d942dc249bd8d437623b91748d57f331e25e1c877ad94e4e9d6959277afb64a0742a6bbb8a84ddb93919faa55b3c6ff1b08139de55855835fe32e748f0ad19c6f1e666553dd2173d6d1300793c3eacecbe26643e3fb36cb827573368ce5d79731c62ea70a89278d291373b166af762dea1a9f7ba8c965dd8b4c124bd0d16c4df7af5f18b6998a556be8c5c50b1e844ee42e10e355d546ba2187793834fbe102205ba4b2aa758b63e3e4d58c038a8beff6b3fc2051598739aa9f17790139616956cc5524af44d4173e4fec8ba882fffa6f14ff2dac83a42c1f55553c4bcab24344a6a0bc21a7aa2c377a7d7d5fe25ae62eeee9dca92dcf775769941783176d7becd25276bbb60ffd14b3c7799f3b0c151d466651611f4a18ece35f86d322301e4b819eaa5271e630d22d1f9518e9fd2300dfd33cc6b5cf90a3700b2607913b9b3a65aafc11116b257ce7311133ba5e805aaff51c93db19f000fedff8853280b923f8b3ca43885b31b2733586f16e6f470bb59bd337f122b99cccdd8df22fe0d506d81cc7d3e16335eb323385762387c442958d93d6f3cdbfab3eeb19d480de6b462774c98d96d9bca7598d9516095d542f2ef5044b435a69d67f7f7f6992e12783a8a359b5c6d75da4011710ac35833d01070fc450892ae781ab580947e2379af2799d7bbf681fa0425cb161b2ba276e86db6a57c2468f58cd9555eb53e3c6b8993082ddcf7a6dd5a63894da8a7eb3621b5610fe7378b256d9aa0524a6a2ab8e2bcc7bb4bb595fc1e9fede4b998d3f534a3331f292a6f4aabdc74bc7919e549c7c34ca87ea311f34904b6650faf80c449ee783937a087835598468643bc19a510c9d07bfd466cf51f99afbaea0f3fc6a1fc5cb2462bd1beecdcee39f0b00b9ec24151cd00a1d0c8045ec970f24d1c9a436c302283f2bbb7c9cb0fa15def85eff0cd905638dfe3c251fb967378c400a264cdc2e272854f2ab45e6af4d2b02fe331dde8ee8e313773acf85d364f3d8d73f66e5daa4232b459f1103ce00f2e63f29b51b3c2089ddbfb7e3136f126000e1f61b67e9e6ca325bc0cd0c5f3c5c76277eaaddab3140eff2c835fbd225afe1342ca5929f9dd3ee15c0ca64ee6742f94cfd9b83861c32736f18c10ccf9fdc76163becf928086c436076a23aa5d28680f49c689182f1559544de42f210dffce63a467a617dd77e810d6cea1eb029a2f42447d83910bfce51fb88fa77c29c01c09e9ec869eba70b42d7f8278da525210d772925c5be4673565d47c60e97d03061f3b3125daeab3f0d0ef919ee9f388fa3ab35ac306f33c82f838bc5cab718277bf3798795ab88540d6585b245f4c1edf228a8a8240b74d589d5603968497edb513a4f1a3984fc00dd0137fecbca32e186bb6c934f6348c67f1496e43a1b456d36700734a00052e5d2b846459f3a05eaa49dd675756515b3d2d99a1205af61a29dc3d125f64fffce048f4989d1f0f5fb3a1c67a7dc4a68bce740cf46a9c348a0f5e26dffd390bd159b259d8df23d8fa405ae5ca297c56f6c373e0417c643cf4707321c967f4bac30e0c0ed294bced6f75cccb89dcf890e6ffc85791e04aa9bf418af6fda1a50473d81af84105ada83ff1e2c5d84a971b4224e1ee4d43f9878611355ca33b602c509b743eb01e13f364ff394e4bf9b4c94072764e669ab6924af997655512cf56f73d4ed569cc471c41062f82542687a85b26742d76a58aca3b8bce2fae50e80cdc22a0b32eb9707a25571d1a72ad735eb4c9d6f9a5865dc83ac9253a3cbe74d3a6bad1bfbf4739fee832f476ff94a1d05c236fdc9a70c2ca4bda49ff96a8b64038a368d04b3b1d779d736e92321802304b51e536663cd3b6182144f0d9e21ff676bd47417eafff8dbf86ed316bfbcc82f62b94e2964e8f84fef1eb47484ed584c67590d48fe933932472472a546392cebc12513cf210767237c6567336b1dc3a81a841f51c553414380e31e4d55d98d479eb170ddc281eead201906c0c1bea2f68a2be07e9663a67fc3549f28728105b62d780f903fa65751b351bf174ef339cd05fc2e6b53bf2b378cd32b68ad57a523b80b0e5ad4f7c138b02e7ca7197a350a738b1a33baf98cfc4fd734aab940fe47856d61f8ed854cf1b9e618e59a2f291daea1156e616de2c223544c240a0e0760fd90a3fbc9b37cd88913d3b4949c60a49ead94a6d868f5a8d37f03586efa950f00d20b292dc926776e80cf031f505ed9c7c784a28f0e33dcbb71a15145c424f970799573ca36fe04faf96d6c7880b1a19350e1c179eb6378941cdb8752868421dd491095a6917cab2dbe2c1d05151c718e20c160976369d7ea576afa6174baa69a9ee787c2554161879be87ea19fdbc55c8ab9af0688d140a94f42b50b75d44e9f4da3757de5ceb3012f99de56e03f947a763f03578b34cd5c30821e71c12c0838295b6f1abb294bdaed92229334cbdcfdc6479ab187dac591910e4ffd3c42edafea585e0db4b8b195dff02c5e341a2fdbca2b147bfcaf119a6dee2465d99947699da6cbb00344cf1af5ac625dfdd1f24097ced5946323d8d47e8d72f2ff4819d5b0abbb69699e4f5121cbf3debe072ee6385b1506ffa5308fa8011cf7016679bc9336b89918c0b62063e857078122e6ddc91bc0e2af9a050717cf03e2b70a1cb12558002d7076a3c075a87a3e505ca9fe9a09a26e67dc9459524b5895bad01c5576128162f3f27b0f0a24ae765934a8582babf6852af69ce7a23d02178de038c76f2f778d963e09ecd8b84f1962046cbe09bf2e8a72cef0b20f79d35333f7840f731a0c79bb773f0f6645747fd3102ce55f8340cd4ee914d8e505c138c35e0bc4e414eb9fc5cec05865fabb0ac117c10b46035c07168069e66d6db7d9652c0a699139593e39ae3199b5915fc80424bbdcae93f17d6946dd119dce50dd54b2478fc49a7bb93ff2c9fbf2579183f74f7f0d5e1d4e06ab0bb7aba50a4deeab7b8d0bc8e6a7cc6f409cd0eb19160bb1adaf76eb6b1e0c7ab952ae13ee21c6871f60d0e8cc189af0d1b42ad430be7fb9807529fb6cf7fe62f3a5027e91bca521ab45e64d47477fb15264ba6918e74f020fb7813184b8f98ff4252920eb03a973e10d67681e541b803e4eaa4b6b73b68339b92a540b28e396fd11660d1fa5240505a19d954cf96eb6d31b26896e512daeff72b55bf11aba450543219335bfd6125a0a405f4ded7fd362af12fe4edbf32c01519a7daa9f258c3994095b62efe61a77d1e6347b635ee20241b6c7944061d2c7747d8e5537a55746de1af5a5126c7d6038a6bcfaaaa8ce658c9a28ff40e5e495005eaba294390e25a1a5ea88c96a354b9a61c3796151e5863708c1a9ef6fab74a16eb07a5f336f5337d713f42e922e083f8af19dc3fdb7ff57f2cf9889cb8cedb7fe4112d70c71095454cf8846e87d3c77e5d3672a888709eeb025120fe670640ffbff7eb5c79de9114bf8a7f2ab2b2606659227e8bae8281679105a1091b20c057e7134342fcd7ec7f018b84cba9"), }, }, }, { Tx: &transactions.Transaction_StakeTransaction{ StakeTransaction: &transactions.StakeTransaction{ Validator_ID: hexToBytes("002408011220b562e48ca118db0f24a53cfbae9f6a3a67f863e6031595d643b7d891621ac280"), Amount: 115292150460684697, Nullifier: hexToBytes("12a0275b3bd7f39605a81a90cdeaea063c18f3a1403945a057c672ab4a240829"), TxoRoot: hexToBytes("011e2992a4e12fbfb0423e768cd3da27b3189c5ba587f933d2715fb33a74d537"), LockedUntil: 0, Signature: hexToBytes("f6934d0987ed7a042e7eb39633acc1bcbf2b00e3d9751d7eed21e2cf7cd03e8593ddd3feb6e6e2194ac0f59eabb7eac0eea0e4bdbb234338f4a5b1539a3edc02"), Proof: hexToBytes("c554b88c2fb2b2cfb8731b65f0915905a8273db6caf511ab1b715ab19e99cb08789ced9b5390664fb7e6cbb66d5b5db6ab0b5decb2dd65dbb6dd65dbb66ddbb65d355fc47c5511732ee67f2626cecc5ccc73b32ff27d7f4f46eedc2bd7ce951b100000001ce0bf0b169390f6c5515ae2a189ac0e208d6e5142e24dd58726fd459fa990858e73164315fffaa1b47c61eb919ec1fb15b4f602e9391f04d453fe16b383521071ae1b05e8df1cf85feeef76ac893d03fdb406d8f40c641b0590d7a0d39ae58b8d353762a043c8f3a0ab3d1c8bcec7d94d756d30e9aca3e9b265326f8289812a95752168d7dc245bdb3ed72fb4d5f8c3fe0d9f0ca3f807c800ff4bf2fea7762080ff27e4fd4fedffbf9fffa3f81bd9979290b7e1fd7d7178d7bb73c687c521c577e44763dcd4df52193ccdcdfee1efdffdec5311b4a309628fe79956791e6eb2197f0973684303db1b9f0641a50eaddbc04e877ffb45717836b05c412ca69514019b4692f67e7e0808f4b60d4874ae624c0ca9e7863e040a649ccf1dae25fc22e3ff1f8dca8d8c35edc3bb7c85d7b66387da9bcae3037ce627551caf2a3dca1fa8eb477ef6c0078c5f28b2e69b167bf060e7896e9e6b3ce1466c4a37a71380804835f6617ff5d37224ca8010a9fcf63896f5b789e9222bd5f81f4cf11b7745760405ee75e82e3c47561acc432bf2aeb759f6883c28c3330a15e8cc44bfa7d6d80fcc1f6c4d9830749aef4265d440e40d20e18c85b2a8928000ff4bf2fea7f6ff53f71df1df57e0ffe4ef2b00aa902f5ba3bbc96fc9bb85f03e007e5ba481c090f84e4eb949c89c3ddf43998ec12f7694ba06642946b78a48c7c747247fe2af202b422ac3ecef720137137ef90c1d1a2c4daacde286b71fb728ac394a4fa76166210e89fe309c8fd1934d9442a3dae8d8bbee5d304665385c9d862bd0bbd163812453c45140412dcc560fd641c2db5863698c8bcbd163a1ad5f214a796c3785aac2776b33a42712de313c43c3fef249c8d7dfad379b60d810b83f85bd3e0f99608bea81bc7409d7a8c8c36af15fa73c6251749ee5c69564a29e9df70b45a1129d221741efd0bb18b95bae7257e3815cbed971f8dd27f7549cda43604bfedbf9fa4229e61470bf3d48b00ced79a70ef9cb87c8a3e547accbdf6e5da5f74f7b87408f073e3aed8ed8bf1d7f1eb830aa5cd9a11cd251a629c6c6282d7a7bf9add607e15866fd21280404cb84f0501a59126e299cd39be02c2bad241b9d6db1fa53333ebd8fc9b00047f33cef7366f597d7f050be7c787d85fec09eb7e378ba08015eec160faa6052942a71bbb63fc8fc9cbb52b881830eeb5c5826edad26d8c864a86ff5639698c05ac4f3a845a8bb74e2dbdd4686eeed4b86a8e02f7cc7711e6b535fa0a5dc93d6d34b32b6b3b6394ea71766a744fff209aef9c8105c11301b30aa8a6a7849acf0be122d2bd57340f8317f31973dfc489808ec17464a6dbfd6a526010a687e1b725377184da8961e3278c66b4c85f580680a8ee74c705d28a87686d4f81217245b2f27706b284fa946f90a7e5b709201fd3d0f98b1023c27204a21c1e57f53ad62e3e668cfc19f28e55ad211a88962dd8d434716320840cb59ce12a4d508c0d835b907accb30b5efec6100e114b36b4f2ca29c6584ce0e20027528c143540ec23e2abcd7dfb625a72c35b8aa1e66770d7b807df940e9e1df252daddd3fa144eac94bce79668fd9de71538af16797a2a0058c6e21ce7b92600f90a85348f0924d7d6cfafd102c4ad7d5e06d061e85adddf07341418b88220e1501125fc8839092d996004dee8c82dd9516252641e799979d5a2941fdf28198d479aacf4cf1dc5f378de782ad874ce7c4aed16e366188d4963935ce3d206af28d2ef2821d05f1ed304a4be973b9eb081a30ea22e3fb55f58a7f193e46c980b1092e7323049a1cd591cfea7a6e7ca9e0638349440bca6d9a4f4a4e5cd808f1e56348ff536962f9e3c19dcd1552fe2891c564a1c79200121f3718678186f4380e091f06350a1093c50c7d0ce3d78bbed821a8e2fcdbb322a48f9a478ae888d02a30bfa7a53732587f0f69fe41a4433a8ce41b2d90e4dce14b3bbd3c5c6b310405de974f38e552bf0544c90270acd49817dfae68d0be651b1533b9154dd5947cc4c13496be68f561ecfa5d008c6fbbaefe40e0cad0b44b6b26acf2a53aeeeaeb0c163b6de22255f568250fd91f701444b8349784043437dde5df20fcd7b36a0ad1fca1a05f3e2c8885149515423b4d69e4d6504104fc16841d34afe3879da0cb3cedd390e810d12304e51110e59bf008f2c964b749b3037c044de857f9dbbd1e6d3b7bafc268be6376ed57320f02eef38199eccaa0a149533779f13a4cc3eae503e56c682b705f3ee69d2c05a2fe4659618eeeebe6c4c5834a4452c27a9e80bd00cdc095a968a6108d8996ec17daf2b195a77fa1cd0253a94ec429136e30aef85102881ea7b93f3040dbd3a34c9d5f6e267f157c50bc464f380b748cb468fcf8cbafb543c21d250df9e583ec09d122e226b43194f06e7cd5041f0ab4877cf9388396ea82ef636eda740ff1491e1a9c6cc3217ba7cf44b0be88a1995c1d8689fa860d5eb4cf40e1b19c827f1edb2af983ea1ee500e108b7cd075a14a8db819c346a64d9f4e4fd09ea0af97b5e4b6deacec3bc47aeddeeabf3a74d7139ae3e6c31a2542f2e2177b5347fd81ae3552c565c0b08876a935c40e28cf21ae4aa1e8c921431b43e6f7a084ec8266c13c16499ff30196d6900f8e55d2fa39181f1f7ad3df97ced46dd7df66c6e4c11e17b1e4c8d5187f28ed8542f16469d56a066f2026c034b0ebc7a70f9adf3c6c86f70a36eadaa4d47c844de3b76961adf3e1409a305ff54848c0d020fd3cdf5e4a1a382f718d0ef485cadb0f9b860571933002c6ea90320f1b075f72773929c386f84c7f8f2812fd39f51cb28c53e9be44b964398516a634aeb86df9edaee82be98a58226a699d131f04ae7b037856f655e11ae5383ecde864563d6ef7feb842c234b29b9203c0739e8152b47cd2af46f0f8c064e30b3403f220d4d331751a9d04f1a243824fccac7519f0daf5905fee6dee38fd47bf7120630c806f4c91383f6fa37c9fad33e26c0af55df33a3abcad8de54eb573b4e15ff9eaebc41a3f90c444c595163f2210d03dcba892bf86390a4bc23fa5ba906ee3ad2ce6869a56dec8744b14986af65280f0ec0ffd7ff54ddcc0dbed7bb8a7126d4473995e31811b49e4c1d471571808debf56602f0d8b849b486fd3c070263dc69ba162bb6406af6013dfeae8ae2d0e0386172b6d789c4722d6ea533c444b4766ccc60373880d4bdfd660658b660d9e60d587ff71939a974a913961c7e37daf655631ed4f057bd8cf20490fc420e21813bf0e5d5bc55069d2c14c03e8d2fc10aee93052952ac671b3c51421c37f124ea2b0de4c4f7e04267cb31a9e9d55e163006efe93947a5e451608799cdd85fe818a7c2e4fd39e84604f05facaf79bab9657f27c9ba57f3bcaab1608b2935005cccd56b39482ed0ba88e42a613e0c01f07f59c1c79aa42c5952ad73fc7acff29c09a2759331cbe6942e19e485ce35517fcd10ffe9ff48ffbe7ee5bbc594d2a7406103fd326ba11e6d7fc2fb28c4cc52a745dcfa7ab0f1100284bac09911a84e9fe64534d05cb036d9a597a9f2d999af1eac19243f8a14c4097fa9817f7194eb3526a21e8a22f97d77066e2851b2bc2f15886c1b06ead4af8105ce303fa92105183423109feb8e060caf0aac12e88e9e4023bc1a2718ad28dada2d1b2e20bf387fa6da4109dbb4e1b97451b21b51b23331b2b2e3bc32aa09f3bdb4285220ca08517652a91d1e76f750b430c58b270f516b54415411b641620444a92e856227a9bf382311992cc1f2835a81113cf33c15a226a2ad27ad827137b6373e5dd53b205014e175b605825e0dbc6b8e3b34e111169e1f72ad88c7d7c250701ccae3fd6c4a20dfef2d4ef70151f46b3998876438226ea22c3668ef9eea5a40e6e87d479eb5031590d5d669d237391b129f744ec9899ebbf2e74ea2d2774eb7b6e885a3761a3996985f9cc181d6887b82dc7e403f021feeb8b648a2c4ce46623d62419f7eb6fe73cd54429010305da09ce3d6809b3f9404ec923aec312cf436a2acb1daf4766ba1a08d845f1c7fc692e4c0625b1f4fc6c4bec741e9d0f3182c6718d03bb9191432c29d9c53d04aa7cdca445c8608fcba884b104f28ca34f8ec5eaaab5b87b3c26cb82ae900da2f8e01d62abea96c64a47913dcfe6d753d278287edf319a546567c98d10827cf1c65aeb75b78dcf67c00e0a915a7de00b0f534abd79848ba3f33236deb3421e90bdc1707e6ba7c0be16ec6f6a7db7cde0fb50f433b7a76c2cf779fb62e2174a7addd676c2bbd422e4a7370d872d89f78e57e8abb7ffbf7b360394a8ffb482ca501a7a289be3836af561d4a2a67c3ab23b34160ceebab2fe7520b1e7f16b7fc3b43c5e6ca679119799079991af567e4dcf262bb9635cf2eb1de7a92d868cfc2994da04cff36d17c71daf0151d2771b1d3adb6351aedb7d05d9d05646e795fc2d34f301864e2c61de95f6613730d9c52b46c53e3391c5a8e72fdde2fe59ae04cf4fca04ed29c0b3eb0be3835bc1ed5c91c7cca3a4fa926b71b1f0cc5f26c219e2c7f2a0e8e9d75527f6fa2fc6167ccc9b63cda010c1e8a28d538e0101b5777e620aee97ac4a0eec312a5a4fce224c3e68dd8ef69ed936a731f5f548591fcf44a268a41591bd9354635d5057ca1b6b5e85ed855746e06f84d0034142103a90010b766de836a27a7c29fc6d1b5f9cd798d779bd4ddbb6b0ac83e053cf6ac5deed36640f6d1d0a3e1b7f40e60ef12c6a0a2d03cd7a8da9e420f778e62e8c5c136bea992b3754d3076ca9da13d9a4af8beef7c1629b1d2b8d93be8e412d3c951a431501419552d6f3b2df5724256c1626ae8802a954307dc3aefe05cddac3d7f4d7ed49e60ebad881a5ad0cecf518c25a47cf7c7a46bf4da767d1f4fa44ea5e3b3070c7eeca67def5eed032944762ee88a9f0c3a43c52f72b3fb5d9f21f94adc7dde8977e13ca9ea5a70dea1b5fd00391ec61ee68be37a5e52940069c4c172045645dd54cf68ff97f48a63ff855a5432219043f703dfdc532604c2d9df08b68472e5e0163fe50cdad0df4e2a0ab30c98f549ab6f85ea8bc3f9c3252874c625717c8c65662d524ee2832ac63e6b3c93019983f42ded6c8e06b9b73ccd23a3b96fe263c897992f108482533ba6fa607a22126ca5683b01ec3bfe5361f3bb77df9f8a47ab6076a42f4f328ab77b2cd5c308a49f21bb9b7f2e8c5000fc17cb66057d60560e0c6ccfa5c253119c62266a1fbfc67fca35bcf9a17f5aaf501838b04c1a784e16ae4e69027e255759206c34b32af9cfc24e440d6cea1c3afc09ec3ff1bf1688af71e30706a1af36a0594596517d24226438d2013a1afa30b55d76d23aee9645fb45828b7ffa991cddac9a3372f486d9d8130136ea737adde65d15af9bd9842baa8ff4c5b9f224efc1df2a304c52c88c497a6d13d142cd97f39e9ae4d1c0be7ecab11824f27383a572dca7a82797a17a9e4ee2042a94356cece4e9047baaa731c015f9f88eb79f58809f6432da854bb0eed1371c243a513f2daf355fa9a99c2b65e92158c36871f0dc8784691571710479d32d8f08ca9c4214b21544a7637b054eb9e7228e71be3866f76c4fdbaa958149ba0257e613b9885caa45ae5cf0e17c49c3f3b4b437019418523b2c3dea486005cb77ac55e1f9909280674846281ef95268363b8a388ca45f1ca8685fc6f7f6b71f26ada277b373a1edf1d653878e5cdaca0180896a9d6dd4981ca1044e661ff462023da21c9d72e23b76538cd1eb0d0fca948bd1971076c2a85f9c45de72d1bd77905f7cac91aae9c4f573333f9ddc0ff6b6c1570196a8cd8d8111c58a0e367f5f354989def32998722bf673a6539389e8efd9ebc623550d4f3ee17e715e8eb9cbf42a9ec215c46afff5aa47e1986c3119102ace8dbe18b51c6adf4b844f59aa38104146b61930aff3d7b717ba3a744323d1ac2c8b4bc08d78774ba08bee8b539b0d134898a76cf9e6a4342933c7a907157f440d1411e4c633d356fa82708b848e73df7bb7a86f78dc91304c8e6a3f26552058808b5930588a63886de53402f4c5997d566ea7ca29409c60097d341ff1dea15496970b4d535b9f7586343bc6b4259e73ce15f87d1a9e0d13e2327b6a64b5276245f7378dfee0d0e938597ae3b38bf88bc30c00e8d2fb6e85efd40a2ce9b64178beb0b52a432661d0a49be3ed98fcf31741cea94bf0c75fe85b9879d4b4e1dc06cb8e6d618c474ce7e36416a75d46c848d82fce7e0f88869a9f4f7f3af110dc85a9c1e9b3b4a08006a3fdd92257b6cdf4302355a5510a95a6b61709e0f3c1c76b0441c44f96fe294172c717bab71fc316e97960df716900e07afe0fe166e9527935793712f3f895d4d8e195a842caac347ca3513ebac4e219342833635fb0356643cd9af126cf2105ea7ae85926eafdd8524d8c00d4178722f6159b356e35a12eb85482ce053c02aabe5d798bd04b8088f4ac19c70e94b45c10884a581960fae415415650303bcccb5a98d7cba9dc6ba218aaa9b9c0f47b9df5480add3b67606ef12bd71ebfc889e84dd236c15ae9eacf5616478a93ded624b488ee4cf056ab6df4b621c749f1c2e56c52b272654410e4c9af13df1f8f0ffee640256fb094fa354a7b1d322ce04f219293a8d2c3a0ba4e6553a940f759aa1c23e1e4665486e70cb9c4d966f3fd90669921b82052166e2286450dd83d36594527f9e224b01851d61b644475c244b08b2436bb46576094f8c0ea5d4e69e92fedd4ed22b689226c45ebcc9abb4808325e88714627828aa5f3bd74bb1270b277ba12b57ee7334a5973c643623f326366834b83ec0b455f574a15ba2ce76245966d55892869c092028d0275f226032735b8a7d1c83f47ad7a0c98b921e1541a0defe6b97c3f70e1fecdb1370e441e6892e28d906aa54b1240aa13091d0750dd24027e8eafa0c921a42305f82fd62f474cf524c31cbca6e0b209491b00d4c7aee08403348a52a6750f51045648baedb4aa782cd6818a1d6131456635f8fa4e7bd1c91fc3081c4d299cb753072d64ffc4f70efe6b1a4c993167bcef63b78f2b0a4415892139ab990fbfe3d5ad429203830bf07f5944f1d66f3755fbb070637c8a1a65a11a720599ea6abc6cc460f69004f3bb64ff38fe08ffbe021f6d3febbc1fb065d5cc986f6ecae29793f51233f950c8fa496e1d12b521fdd9b98224557a9dd140693302793d26414b057d6f9b743c2103e314a834f680a3d800f143755b7b2ce6648d303496a0687a9fc3d2d6590072680b247c834613b00893d3c24b31af395cd0a9b519a76c4f0c9b0324abe554e4e0e08a9ba60b0307338d0eaab0d21663cdfdad06ac8c89a9c952f4332035129c5987d8f245e25cf9b754e7b2dc30a7b5f0620c90e73c76e21d9ad762b15bc9894cabdd23b5ef18a43165505d509925b36ae5f55eed2a75e798fd48a3fb5acf11439989df7be4c596ac2a20625cd8285ecd2dc72c15a30d6c1795a3569e1034a50edf25e459bfb8fe9f92eec972d972ba04a12bf8593bf24779a934766576ec61e4808cb6583102408d3ea1a627f9591c1606417b4ad500a95de812e3bef9443a989f90623110b031c0584ac5d94c144321db42b517ccf23e428eecf6f0abec6fa2259c2431f38b1fda3d0e1400647aa1a00192305dc38d92e64070776c3f01b48f6e7bedc13c4b4c89a4928e87ad40d08de2a388052fb2ab751c127a2d144ac4dbb5fc0ec7809f12e8184322551a9af362c6d087d9aa55209cc5ca2704d9a6a7c80634b0e20f7ccb54249b7cdaf4df7210ffc04e08bf86ea1b79242410ecbe82c105dfb5a6f20684cb6ac93c81192b8b91a90928858cf9ba38d8e3b674c07de493fc11da4ecd47fa61f9b52f35edaad8bdffa91a3c8d2ff0cb1b20cac4ef039bbd2a37eab500ccae75083f4d4dc4d003e30cb4204ca9baf6848fa2146f21106e3d811f9858c22265e717e2ab65f8a4112dde7bc92b6ad6c81e221e6701518d865ba6394f827e311804aecc98f197cf573e741c6ebf8cd08136c2efb573b6dfc7905dec9f5f82c6a741f77a53beaac3220adffb0b008ea4152a4c71813805bb75aa71ddb2efc12d70d74209c93dc4c0f8095788a84997ba4a2320f8fe909bfb40b25cc2a095b27bb635d4cbff82af8fc41df82e4af20e3ceb5f3bfbcf6684d459b8232367ec2874f4779a8fef7b1690587b243cb9cc0f723da7ca67304e7f6686b69d29632a2bf9557578637b368ef7bb61d12a0e38e36a2156fec26f93c5d9e905b02f43ee786ff185fa326993ccf37e88033e4d12fe8a352c8621d3625e42aee94c05bf1be97893cbe2a29480e19277aca60e6a44673719079e75a854d01a0b000561dc3d91d493d5ae0394e5ea4466cb26180f37be4d5558453f70d4c4242000271653e9a3c1afe6ed70469763a4a65ea0e3983e0495794049a81b9dacb649d92d8d2156eb74cda1cfcdcb9fb3a4f10467e862ef7b642dd5c5aeb8d08abd01b5d1a75dc8e555e7896b262c48de92de234612867a480b752620f5336d5f41711ddd9d0b2e1cabef59257ada9d809c5ca044c3aeb034f5537b8320afbfdba505105741cac444cacd89a114e5042fd208b1a5507c4f477ee5a2cb0a4dbd20312fe2fe31dbddc82b502b49813bfcb0cfbeae0ce57299ad89324646a6f8e1692b731dc5268e22c93346f8496eeb98b1574b61830f2e3952db177d3642e8960a9e026ff44882f1576313d8999edc26bb45d08199e204f16e4eb5760aac70a2ca2a03d4b9a5a6b2c668a7c03125f1fe23c029081ee66b9e54f3c44c35e275bb7a8ae47ac7353fa37042585dcc7f8ab51c6d16541b4b86a281a3480ae722b46b40df782def57e22bd80c22b749c4571726ac4cb9562b9fc0f62ee53da42251d5609c51b7bd92f9aaad70b5b4f64a784f0c15e937eda0481322fa47297270f3f50189290a068ad9ebca3d80d55cf2eebd9ca10cbb1f5142627a68093c799ba0aca7247071bdbba03dc8dfdc4dfaada773879a61bbcff441035c409661920bb7fec6a5e00412157cb881b692b8e01259e5c948565628c69ba628f4b990bd0741b0d84a0b6f858d0840f66778c9d30fd0193e8966705fb061c701b6a37c573188c460d4e0016e9ab76f37d342d90258d4dc010cf5ea7f9c7c2019348960b67ff7cc265f45e28b5534ea15572bf1ce6b05e0065c0b0accd763467ed80c730822bdb7def1da6cc2dd9efa090c50eb579522cc366c7f30f62068831dbc8d1daa1bf5440d75091134122813c174eccdc360850fa5e7198d1bfcd44bb9ca0a9aa8f493e128c5138c965a5fe5f69674cbe155bf24cbc5de161d7ee916cf2a6580a18ddf3ce0071eefc9e17606e8cbd5a42c6ed3a8de38b857a5060722d1fb803963ef98b3d1387f9122969ddadd87f824c8f4c1be6d16b36b9dfa1100e96af09542579366ecd91fbdd550c14faf99088a493fc911c44d2dbcab8b1d455a56a6cc6e31150d00f2417d1496cf8d76bc289617c98182b803398ee8dd8e3978273b6c824aeb6c101218216bfe709b04f2fb978882e87efd29e25dadf2552de8af79e2cafec9de773056215e7d07fa7a661cd40eac8bcaf5ab76a1998120828ef6843c307c3f697b764373da8f955d856780a8390a11c2588f76ca5d21f4e9d9df0d7e38d7865a6268a1b8571785847996235fc892177f7d31034bd748cc07c01b9c46b209b05cb0d986ac040728b547cd4c06472945621e6f90423ebe3771a9da07cd9afc02985310d085deceb8c643a16fe40c8fc48911b41227fb8fdeb434c9083c25c66fc9b7261eff90b6c2483367e742b554adfbf99b3f87727dcf6606a657885c5d9c286064c57a242fc79984c4572616326266d2dbc46f56c940e5be28d42441bb18c4ac8ce0ee963cb4e6cf59c2d49d0d4bc9e484eba62f4cae28dddafd9468c9ddf0bd35f56b225687dba27652ee60375a7387820ad8853376a1008a2520349f3efd07420e2bb5a3025774eb84af8b489893332d6c063518af0e796053c0267ad681791446db6fde38c8ce4a8075d83f5cc45cc604484fb89318ebe55b60efb746c997d668605060a98256cf405586b0df269752e93ac05850e73745ca0162159148e398e82b159e0df6cfaa49b2f4e3649c1993bb6046361235d3e58490c6ec73a040f762112febb38fc25bf4999128b85444353a8e5ea89ec20f0c9d70eb1de3f50e1d121b0041100177803737e24208a2f8970c6d9afb23619c5341b04fc71ce00e917b223acd9066f21a53f437cef8ae97624b925e3b0307815b84501d1ff1f6d5a4af74966a0b59fb82ea5e73ecef26f65b6b6be7d561421f16788140af34f0c83b0f8ca76e0a01ce0f0d34d2414c249dd15b648cd8aa9977710ce967174f88729d16d2a7dd39131c8e40b16b068f3baf54d10c1d87b5638b900309bef267475507880584c356b93f80b86a6730af39daf056323abe0f39915a970ad8aa0cf332a5aa2e7f4f413e726d2f7bb6e4d1dabcd90f8b1e993c760186f221759189a430548dfd7d8f962b58a13d92abb90830fe435e26f5d262df3126119fc286e54c254e0b4690c5e72aca9f98f0f74e7be93c589cfcab1fd44a61ae0ddecf2162393702a7fcedb3fd9932bfaad17dbcbca57f878cc01001ceb01f997057fb59b09a93d8ddf8493ccc0831f430924c4c8aa1f289785fe903eb9ed7b9979ff2902a2597aed41dad6325123a0f162a84a0841ba035920c6062c37fe58700ff396dd274b072c78e64020918cecb5ce389fce28c06430e49865cbcbff95458472506ad379e1e798a0dab317e979ade8f879b4a3fbfdcbf3d5d61171e825d0b2404fff289f625b7b0e84963033f08b7dd6c42d9729da8d64198399eeed8c45019b8c8c4650e8ee713bdffed531cc1d1e8dcf1bee038abe22c232824c3245ce837d76784ed23eeaa3d04e2c262addc5d1ba51e87a54d88bf3e624262ea674a514e6000fb5d87830ba57fd2ef096456b7d0e109a31bae5546e7fa24b6a58bdc5d1d367b839822e2ccdc1e9e138e660f6d48515701ccd85bcf0ca94d49c6346505d35cc866f621a548bbf2598e55d0d73ce7f4f880547254f3d8e913cdc103410329e8d9438efb3e07429ef75b665f38a5015241ab1c00cb129883d20d5d62201085299d5d4142be961012cdae4c1d102b037f7724b3cd765d2a78d3f486cf3d527b4935bc86c55e07cf1cd232f5f576642ec7f2fe20517a619c9e06452170108e2f7edea55f923399e67bdc46680d5011aa5fe37fe9f3352be6e685c8422cdff4dbda7f2072d5b7b79c2246282f96b329044c05e7b72c8e53f96116fe7470b801198a23a12d00b616a4873f6d87cf9341efc94a4c445964cd2a2888b54be0a08247cf6f7e203d4cc8fc85fbe543b38e3307515ab263e9937cd487f3ab8e0e40c10ca873047a96388271f6fc3760f5ebb16b2c9cc2e99ac3f616b8b9b777e3f670b3737350abd2fc6f14a3bf7258f22138e14107d5ab91c305cc643965f89878638ffc644cc784d6d62dc75cd8dfe733b677b363166a38fd9850efae7a27f0f1d1f960bd8c3e3e93c0e3b6b9b47096714176bc0d7ffb6a687048641fbfee039b84b0774b40c380566200d2312183c941cada9032b07d4074b5299766fb48c32fab4d417294baaf53559a5ef82d8f407dd77d9f29b695119d936af64d36963dd3eec8a5e8402a4c14c0d0843a8e5bc8ce35885233b8a0e675f8f05c691f9f7cce9ea5ac610aa9750daceb66ee7d0d6dfefec58c939e37d44928b7b56117b08baf0ad6e0cc1aea573663dc54be2a5ff0abf0faaeff5749d59c3561832b82531173cfb85930a0dc68f2f6580e348dfc58c3eb48c6a078bccb1e9ea8e0fafb462382bc7f770c123be38c378225493100110795a0148c04dea476f863c4aa1fb47cdd23be9635dd946e7cf07386c580545a61a601aae8fbf91150c2909edba82a646c4c61210dcff55b03a0e8c659d5213e55d518ba48d3c0283d089ceac0f90546d9830cb425879a8e2b0913e37cb9fa4265ac434330954b7463c44d76e9b26ada6f0a1bd67b80ee13238e5c2ec6b03cbfad1dd47429f3fbfb5c0b48f59e6091734fdf8825aefdf19567382a7b3bc4d44aebc06061076a7a782901be8e690e414a59d4848abf7d51300d5a36ed5a547071deaf37df2ba9f70863ca105ab58dfdb8b02bc41bdedb1b80e330f850a0c14a7056fc83e1f9b54fe9e6efb88318b1c6311cea2a9a7f295b9b3f8fd610f14e34cb7b8c8e0d7ce66dbfd5ab48e5be446cd063266b049dd76e7b734ed4b4f82efe5cef11b65140a1f5b034c74ce61121202b8fc6bb3f2203a642e540f4f7e0cfd25997dce174968378facaf423cc974f730a3d9dd81b081c6113c1cda93c22ad64a00183bd3a1b4bd6e32bc0b3aa03524923dbc234bf1d4fa604c2bce4ec55a8ebf97a9fb23675fab9d13b1c23b210fc4ac3d43bfa8ee27c90cd858c2c0965c1abc278569265f45f5a1a9b2791a340f82f1fcf835f7447c241634300c963e95a6dc3135658687579c0cd7b9a8677767b5810918b1c5cb25038f1e83baf910ee71f1024f23bf09c98d105b5952f3e17089c642fa771d7ebb2fcdae7b9a390f4d3e16eae1cd51242bcc27a6d99bb846945f9545f3edd340e4c5b2f133566c3532b70173b03635654fa6ffd85e0eb0a8922d3691824ec90129fa8e30bd9816ad892c4b9f6370adae140dc85918a2ec2b5c1c3e908a02d23ca429697af83122eed116915d4774cf3ad42517b76471621373761f561f8f4080570e00165e52792456e82dab432063fab1e823b764476ef1071139bd4e827c20b1c9e88003cad0e82a160bdb4f827f3eaa3e78c373ad4c051e3c25d2bc9ae7afef5f2f7b1f2f609135e1877f39e724d66c304693d3ae0985896d54aa94969e0b78b941503551a118866ab4cc999c40b71114127ddccb7d9ba483feede06f8b57ff1b51e8e07729ce0818e6b5e50f5f98c9f2dfd9922d80268ad9a9d938f9a520c2f7426c34121907425130fe7827bd0cb9913f3ef8d204a8fec194a60bd12545f0cfc03ffc5099b0dceb1fa64b41b4f9b3604b342f2a299b2d3598164252e13c002e294a4077c24550f7de209f298acb6dbe48ccacb4403e68cae306e046f68179f41fa430ef8bdef27ffa2034f730f6f1c65ade74ab2b0df2d6282f351b4026e943a485ecabd0257d34168c462301df886963be628be6b567bc6a192b2abc8d07342b759f684c4f0c5d1b8570e463706e5398316ae741880b7078a137fd9696b86c9f3d280dc66dfa7eb96e058c79dc73413d3691f904fd44b5ea747642d775dbe7869a209849eb3feaefb1c9d91c78bbe20e398ff6d4436fd234208d0f41e0575a560ea4c51b2e917738d9d01d8e62eae10bfc4302368da024f3cddbfb8c93ed6da47843d8c64dff85088f1c5b1ed38a01484eed0bf1dd030583f0c3d69d9c0cdd4b4bf7a2e2bfe6dc20be3045bd75a28cc950d5a163624fe9e625d2d7ad740dc9c2e98cd1c223aa127638ef35d172b714753b3da5277687bbf18161c84b8f7e29aea07bfe4279dc20dab06710dc6103a5dc568cb069a0b8cd0f45de0031d452ae2d40395663d6e4f53c2ed7256f9e6ec60d6e6de63eeebfa8e27d3b1dd68ea84c357b3494d5589d9036620ae6c49e36d864acff98053e1fe7e4266f096685e3057d93c53caaa94ef22bdaf293f5ef9ae638e645d516cd6b073a5e5c6a31c47d6e59cec16059daaae07554d8728910d0222c5473f5ee94f8c41bba1d1380059729f1935a00c96c258dd70bb579aaeb3357cd753748fec5a25c1477f358cd08082ca9127f513a94c2b711a8d483e7873e5b2aa93c03aed8b35796e28375944277e12825430cef628a6d91bfc250c6e0e13f6d7fade37c608c39fc2fa691238c65517bd6fec7ab872e37fdd19748d498192d8fb5ce402e01501153ee283e3ebfff930e72f0b31313bfce192ca65e53f35aab7b285a10bfcc5e92fcbdef05099a3ff2d44a9c7b6e5fa11d643c7b97ba6a2b3bf216aed1f3c00cfc0e016b4bd35d5c76db18d60cecafa3c2b596a6a5957c703fe80784b6a2ef07ddea034958a8bf0e175d057712e797aee864d69af19c6468f7452ba6eee30274e1594a4bcba604ba2de41990f886458c943a7a7835ff2c231047879d4b23c50bff7bb9e929c22aa670d66f566a59f4017181c5bc834d21bdf62bf4b4d5fdd8636ced34e5627856f668c73412fec1a2daccf862455c08064c9ca87dc45f0488d1e3579ff9dfffe54c0e92335b017004b8d18458759f91c34606311db69256a5332d9c9da84c6f63cc7fecd155b43c3ce13e888ed08f50c716d90e987ec8a3a5d0db9dfdaf3f65d6f1a1d588bf1035fc154c74b8a77af24a3a5eab473889274c9315296f7e3d29fc4c44a5e3bf28affc3bdebe67b18760737c363133ea4931011f44c29900bc5880479506d082a1bcbe56552f273e72f6713d5854f085fab1b9b5916e995db14be2a08fc7f885370e25e154abd92ddc1d601e230b81380cf6931c78bde3d2bb429db24b3ddb0981d8aeb76384397114508dca2ef089a59f5dbba2059aa33247ff5cde9ca831fbffb5dbaa9092343bd78d628af6eb1a3fc194b72b2b77e521707006d1f51e2b79c458c38f0ecb61ff1e3c781f9604a8dc72bb91e97e211c4ab9c8df0f93470eca1cff7f3bc1ce2f664c96ea6d4692214e9d184b63600c4627b421f2e8428c34f8b5a4f84a6eb80afc1fc549a81f1ba610628171966365c053fa3a6b6f2ea205c3c8a87fb5d8f74f457744083900b9ae91f54d4c95e3911688810ebff61574114f0bb8fd1968dd26eabb369e3ba3804d13ca316b923c9e361bc236151107ee124dd004e079ff3fbfb8f0b71efa18f1990a9d0452021d255865655543ba750fe612c97f78e6e57ff19aa662343ee44539128926df1c5b1476836756106279eae03c0eae3e0cd4e1983eff328184b3b0d207ce9634d589d1844384bcd3fd1fc41df420491e961ba737edb4023f46aa16323324d235b35ecdb710bb020cd95ced8599dcccc670f4e373e4a607d9f93d0b014bd17e6a97567285b0ca5be7a318a5af71c7329124f25c248e57ce64244ffe16a6221ed8c02f1a9de4d9901dbca244b1024c84f9e02d576f5faba237988f6c5a189621d7deb8ec28f27bfeb341b5c663649c9912b580020d041182f8bbf83268bfc60cf706aefe389b63bef7555177acbf026afa43500bd7aa686f552d9a627fbe25871dd2b87f004a0a85bcbca8c423944194ddc147bcca7d073d107c99d0ff540fb815d024d85370c1a42f8ccdaa54320bc316513b2aa9e02eceb06e7d5f237237f7102c56d4534af0afc9d7367cb0936f852ac8fc38d2dfae6739904027d816804d0e521edaab57e46e377d23ba6712eefaa351a680f250f3af4db34df96acdf99417c7130995f978e9f8018d2fd942dabe48c7bb48e46ab469c37d1693f45f528c1aec13fe27599fae09a098b7f00ad86138e096b64601e8d85e539895e7041727d3a7dafbbc88efcf8181916ab74c18f87997401c014b8117153866992c290ab1c5536714849137d1ea389e91cee358edef9344035ca8e9fae8e55036c19b56fb97ca64fdf717c159be299615830a7c1f7ecf796c13cc753284e9ac5719677a09f1bfe4c2f337949b5bce08177e065e5ad68b6aefc1489f6e26cb62226204aba92eba0ec68cb77fcb51167b64adf65da718a1ba42bb9582b245301e20503770125bfde2e6e710dc0d208cf8ad99fa5c4127aa707eaf95712b39c0e9f042be2e09605adde35df29f63dceee3f9c8cdb7e9999f63f9f2c5b4c1819768fba346dfe08933368514ff299e0a7c62e4f65a8b34ca7187f5466336ab77213704f05ca098fade4ea64fdb8f408fb9ecf34b8701aa144d6cd5d4243955d0122a8a8e22b65ee1e925ede5ec85298a76b142bd460f83c3a673240461bcdc794eec53b72fbc7d1d6abd873f86ec3f2689bb85f716802a35c02b715f268226aa5bc9c98e6916a634e630a132d61509d142d307352767fdca8697f3873c1ba9a89699569f6725c438922fa19648c068b939f37bd90fa759bafd4cef357e1de46fe0276ca5c1627d18a0b950c39650dcabddde775b9f09da686b4aef5ec64702c56a0740f07963026b56d8c822aa09aa81efb2c01bcb65d7bebd212126b73d59f5c3a259eec8b048ceb5e61bf59c19fbc6ea1f090c51a44bcc4b20de723a1c9d8643d0dc9089991bf4c01c88c1410cdb3821296651b45acb43a152b3c355aaee086ce0038172a9ca0986f2d076d1b727618326c753e34d7f26aa57798b3ed2f7d533047ccf9485ed2c06136b7237f53b2f123d906f3c8d2144dbffe8d47f13f687293c2b4c9b0738597ca658701bedf4374f58a3a1f24fd74c31b62f66412d637955ea915b25166231a9967c598000958e260945d5935c8082828b1a064dcfeb0e6e67073eb030a395020d528320ccea63d229d9e27360aafc1ed9d2e9f84cbb8a47b88a79253defd2905e9c666ba6642e1ffccab9e012af6afbdedc70eb81f7ebe457f930e8a318bfb4723d8488748e19c11b62f12aca0e6a287ff6c451a341def75d9c4aa0b691be6ef68b745223aaa3d035285b433aa538cc080355060651881fe967b5a55429dedbeb2432d1cf88dd9bd500124f0cbf0eb3ec37fc6346327701bad9ce0ab555084b305737ea4c4b0892659066f146ac0ca913872d9942fa71ce695fdacc27220bd8ecf76f46760a8799e58caf70317ec5d31dcb9e93b9dfd83cf18d55d41605575f04216974c185fc667a21775aa75fa6746b67372d3fa44248f110fbd1c0d5b2dcaeea026503ab58cef44d358218a892dd880eec0c1a2677312d641b13ec91f4b6b16bc62c0b22c8752f713ad0f9258f300a3a19b2656d0b255166a9306ec0755b283a7976c45890724c1538557db42b2aee2d11b73b6d9d9edc363729c12e45f0c0034122ed7a3fc4a8f1eb6a46579e36190f6e7065ed24911b47a4398f1f1e9bbc8ec2bd6de53abe4f0c53726a1b31a6aaa25123727d9271cd57d40dbb537ab0c25039c540584f8188fc2d03fd0f2ee5db2fe47fc115cb25bed933f96d4665e0eba30adb8193aa326e8b284236f2e9058a15c353cf9338ce062d33d881cb709149fdb40e71dae11f916c082212ae88e24e86da8e7ad6fd1b08efdbde8bcaded2953a3b445945c5d96d2019ca31de7e98c058264f3205691c111ce10df154048928aac35c798c9a6798a85324487c5a6f8d1e0abec08d49e9aa480073b64ec26ae84725a04f95c392e2bf37eb93b8f8a0ecb3adb371d574cad8d4816d52f9e97384eae2f7125db6dd40ed9ae83fca4c80283d6ae4dbad02b49e1641c40957c6e8ff5289eab0d5b945a19f1e88f2b587fddc16300f8cf09ecdfd77ffa1e4b2a3c3bb6eba1ac05d6046d0252965f9f93f761346d22efa689458effc795063e0cc0ff9ee010fee7edeab76e8fb8c51f420a457f4c68e956703ea3aa41c0e97e32c1f3694380d7e4e3fc67bf4ffb6fea4dfb84"), }, }, }, }, }
View Source
var RegtestGenesisKey = []byte{
0x08, 0x01, 0x12, 0x40, 0xdc, 0xd8, 0xb1, 0x9d,
0x2c, 0xc6, 0x6f, 0x0e, 0xc6, 0x13, 0xd4, 0xb0,
0x8b, 0x7d, 0x73, 0x68, 0x2e, 0x2e, 0x11, 0x12,
0x2c, 0x09, 0x95, 0x9a, 0x2c, 0xc0, 0x00, 0xb9,
0x9a, 0x52, 0x5a, 0xcb, 0xb5, 0x62, 0xe4, 0x8c,
0xa1, 0x18, 0xdb, 0x0f, 0x24, 0xa5, 0x3c, 0xfb,
0xae, 0x9f, 0x6a, 0x3a, 0x67, 0xf8, 0x63, 0xe6,
0x03, 0x15, 0x95, 0xd6, 0x43, 0xb7, 0xd8, 0x91,
0x62, 0x1a, 0xc2, 0x80,
}
View Source
var RegtestMnemonicSeed = "" /* 151-byte string literal not displayed */
View Source
var Testnet1Params = NetworkParams{ Name: "testnet1", ProtocolPrefix: protocol.ID(path.Join(appProtocol, networkTestnet1)), SeedAddrs: []string{ "/ip4/167.172.126.176/tcp/4001/p2p/12D3KooWHnpVyu9XDeFoAVayqr9hvc9xPqSSHtCSFLEkKgcz5Wro", }, ListenAddrs: []string{ "/ip4/0.0.0.0/tcp/9002", "/ip6/::/tcp/9002", "/ip4/0.0.0.0/udp/9002/quic", "/ip6/::/udp/9002/quic", }, AddressPrefix: "tn1", EpochLength: 60 * 60 * 24 * 7, TargetDistribution: 1 << 60, InitialDistributionPeriods: 520, AValue: 2.59, TreasuryPercentage: 5, LongTermInflationRate: math.Pow(1.02, 1.0/52) - 1, AllowMockProofs: false, }
Functions ¶
This section is empty.
Types ¶
type Checkpoint ¶
type NetworkParams ¶
type NetworkParams struct {
// Name is a human-readable string to identify the params
Name string
// ProtocolPrefix defines the prefix for all network protocols.
// Using different prefixes for different network effectively
// segregates the networks as the handlers do not respond to
// different protocol IDs.
ProtocolPrefix protocol.ID
// GenesisBlock defines the first block in the network. This
// block must have a coinbase and stake transaction for the
// network to move forward.
GenesisBlock *blocks.Block
// Checkpoints are known good blocks in the blockchain. We
// use these to speed up the initial block download.
Checkpoints []Checkpoint
// SeedAddrs are used to connect to the network for the first
// time. After first start up new peer addresses are stored in
// the db and used to connect to the network.
SeedAddrs []string
// ListenAddrs defines the protocol, port, and interfaces that
// the node will listen on. These are in multiaddr format.
ListenAddrs []string
// AddressPrefix defines the illium address prefix used as part
// of the bech32 serialization.
AddressPrefix string
// The following controls the rate of coin emission for the network.
//
// EpochLength is the length of time (in seconds) between coinbase
// distributions.
EpochLength int64
// TargetDistribution is the target number of coins to disperse
// with an exponential decrease before the long term inflation rate
// kicks in.
TargetDistribution uint64
// InitialDistributionPeriods defines the number of periods over which
// the TargetDistribution will be emitted.
InitialDistributionPeriods int64
// AValue tweaks the first period's distribution according to the following:
// w0 = ((TargetDistribution - GenesisCoinbase) / InitialDistributionPeriods) * AValue
//
// Since the distribution follows an exponential decay, the larger the first
// period's distribution, the more coins will be distributed in InitialDistributionPeriods.
// If you are changing the coin distribution parameters, you will want to
// pick an AValue such that the total coins distributed over InitialDistributionPeriods
// equals TargetDistribution - GenesisCoinbase.
AValue float64
// TreasuryPercentage is the percentage of new coins that are allocated
// to the treasury.
TreasuryPercentage float64
// LongTermInflationRate defines the rate of emission per epoch after the
// TargetDistribution is exhausted.
LongTermInflationRate float64
// AllowMockProofs sets whether the node be made to use mock proofs.
// This is primarily for testing purposes as full proofs are very heavy.
AllowMockProofs bool
}
NetworkParams holds configuration information for different networks.
Click to show internal directories.
Click to hide internal directories.