forked from HeliosLang/compiler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-plutus-core.js
executable file
·52 lines (33 loc) · 60.3 KB
/
test-plutus-core.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env node
import * as helios from "./helios.js";
// CONST_1. Equivalent to text envelope of following bytes: [0b00001011, 0b00010110, 0b00100001, 0b01001000, 0b00000101, 0b10000001]
const CONST_1 = "4e4d0b1621480581"
const ALWAYS_FAILS = "581e581c01000033223232222350040071235002353003001498498480048005";
const ALWAYS_SUCCEEDS = "4e4d01000033222220051200120011";
const HELLO_WORLD = "585e585c01000033322232323233223232322223335300c333500b00a0033004120012009235007009008230024830af38f1ab664908dd3800891a8021a9801000a4c24002400224c44666ae54cdd70010008030028900089100109100090009";
const HELLO_WORLD_PERSON = "591a6c591a69010000332332233322232323322323332223332223333333322222222332233333222223332223333222233223322332233223322333222332233223322332232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323355001307612001307612001112222223335306333300433503a00600333503a005002300700120850123504a498210048c8c8c8c8c8c8cccd5ca99b8935573e600a2400290001180109000918038900084200919825980109000980189000918039aba230031200123041357446ae8cc008480048d55d018010900091ba90032350444988c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cccd5ca99b8935573e602a24002900011801090009180b89000849809199999999982e180109000980189000980209000980289000980309000980389000980409000980489000980509000980589000919a822980b890009aba23013120012335044301e1200135744602224002466a086604e240026ae88c03c480048cd4108c09848004d5d1180689000919a8209817890009aba2300b120012335040335504130321200130311200135744601224002466a072606c240026ae88c01c480048cd40f8c0f448004d5d1180289000919a81e99aa81f1822890009823090009aba23003120012304d357446ae8cc008480048d5d198010900091aba330021200123574660042400246ae8cc008480048d5d198010900091aba330021200123574660042400246ae8cc008480048d55d018010900091ba90032350434988ccd41d400c0180088c8c8c8c8c8c8cccd5ca99b8935573e600a2400290001180109000918038900084080919826180109000980189000918219aba23003120012300d357446ae8cc008480048d55d018010900091ba90032350414988d4c11000488cdd22400066aed0c010008cd5da18068009bb24988d4c18000488cdd22400066aed0c010008cd5da1ba7001376493119ba448000cd5da1ba800137649311999999abaf2323232323232323333572a66e24d55cf980389000a400046004240024a0fa0fe46666aaed4941f48c00c48004c018480041fc8cccd55da9283e118018900098020900083f11999aabb523003120012507b357466006240020fa4666a6a0f0600e6ae88c00c4800488ccd4d41e8c048d5d1180209000911a83f198258020011283e03f1283d03e11aba3300212001235574060042400246ea400c941d4941d4941d4941d40041dc8ccccccd5d79191919191919191999ab95337126aae7cc01c48005200023002120012507c07e233335576a4a0f84600624002600c240020fc46666aaed4941ec8c00c48004c010480041f48cccd55da91801890009283d1aba330031200107c233353507730073574460062400244666a6a0f260526ae88c0104800488d41f4cc19c010008941ec1f4941e41ec8d5d198010900091aaba0300212001237520064a0e84a0e84a0e84a0e80020ec46666666aebc8c8c8c8c8c8cccd5ca99b8935573e600a24002900011801090009283c83d91999aabb525079230031200130041200107b233335576a46006240024a0f06ae8cc00c480041e88ccd4d41d4c1d0d5d1180109000911a83c8011283b83c91aaba0300212001237520064a0e64a0e64a0e64a0e60020ea4666a0da00a010004464646464646464646666ae54cdc49aab9f300712001480008c008480048c024480041ec8ccc120c00848004c00c48004c010480048c024d5d1180289000919a8161808090009aba23003120012335008303312001357446ae8cc008480048d5d198010900091aaba03002120012375200646a0729311919191919191999ab95337126aae7cc0144800520002300212001230071200107823304c3002120013003120012303935744600624002466a00c6036240026ae88d5d198010900091aaba03002120012375200646a070930911919191919191999ab953371260082400290001180109000918020900083c11a83b180109000919a8168039aba235574060082400246666ae54cdc4980109000a40044a0e84600a240020ec46aae7cc008480048dd480191a81c24c46a607800244466e912000335768600a00666aed0cd403cc02848004008cd5da19a8031817090008009bb24988d4c10800488cdd22400066aed0c060008cd5da19a802180b090008009bb2498488ccd4d41ac00488cdd22400066aed0cd40a4010008dd924c466e91200237649303791999999abaf23232323232323232323333572a66e24d55cf980489000a400046004240024a0ea0ee46666aaed4941d48c00c48004c020480041dc8cccd55da9283a118018900098030900083b11999aabb5250732300312001300412001075233335576a46006240024a0e46ae8cc00c480041d08ccd4d41bcc020d5d118020900091199a9a83899a8099806090009aba23005120012233353507333500d30321200135744600c24002446a0ee66608c00c0080044a0ea0ee4a0e60ea4a0e20e646ae8cc008480048d5d198010900091aaba0300212001237520064a0d64a0d64a0d64a0d60020da46666666aebc8c8c8c8c8c8c8c8cccd5ca99b8935573e600e24002900011801090009283903a11999aabb5250722300312001300612001074233335576a4a0e246006240026008240020e646666aaed48c00c48004941c0d5d19801890008391199a9a836980d1aba23003120012233353506f33500930181200135744600824002446a0e6660920080044a0e20e64a0de0e246ae8cc008480048d55d018010900091ba90032506a2506a2506a2506a00106c1223333333575e46464646464646464646666ae54cdc4980289000a400046004240024600a240020ec46666aaed4941d08c00c48004c01c480041d88cccd55da9180189000928399aba3300612001075233353507033502e00a35744600a24002446a0e86a0e80044a0e40e846666ae54cdc4980109000a400446008240024a0e20e646aae7cc010480048cccd55da91802890009283798010900083891aaba03002120012375200846a0d8a0d64a0d44a0d44a0d44a0d40020d8466aa03c601424002600424002466aa006600424002601a240024666a0c20c40c6eb44488ccd4184cd5400c008004cd54014008004cd5401c0080044488d400ccd5406c008004488c8c8dd318008019a80090008918009aa83411199a9a81b80091bb2498888cd5da19a812004001980280103488911a80199aa80c80100089119191999999abaf25064250642300237560084a0c84a0c80060cc6a00240022460026aa0cc44646666aaed48c008480048ccd4d4194cd408c01cd5d100191199a9a83398031aba3005223506b33503c0040022506906b25067069002068235066503811223501633550170020012333505a05b05c75a4666a0b2004006040466666666a60900024466e912002335768600e0046ec92622233748900219abb430080033357686ea0008dd924c4466e912000335768600e0046ec92623374890051bb24988cdd2240186ec92622233748900319abb4375000666aed0dd40011bb2498888cdd22401066aed0dd400199abb4374e0046ec92605f23333333575e4646464646464646464646464646464646464646464646464646464646464646464646666ae54cdc4980e89000a4018460042400246008240021020246666aaed48c00c48004941fcc08448004204048d41f81b08cccd5ca99b89301b12001480288c00c480048c014480041fc8cccd55da91801890009283e180f0900083f11a83d83511999ab953371260302400290041180189000918040900083e11999aabb5250792300312001301b1200107b233335576a4a0f046006240026008240020f446666aaed48c00c48004941dcd5d198018900083c9199a9a83a18399aba230181200122333535076302635744600824002446a0f4660cc0080044a0f00f44a0ec0f046ae8cc05c480048cccd5ca99b89301212001480188c00c480048c020480041d88cccd55da928399180189000980a8900083a91999aabb5250722300312001300412001074233335576a46006240024a0e26ae8cc00c480041cc8ccd4d41b8c1b4d5d118090900091199a9a83818379aba2300412001223507433061004002250720742507007223574660222400246666ae54cdc4980609000a4008460062400246010240020e046666aaed4941b48c00c48004c03c480041bc8cccd55da92836118018900098020900083711999aabb523003120012506b357466006240020da4666a6a0d060286ae88c0304800488ccd4d41a8c1a4d5d1180209000911a8371982f802001128360371283503611aba3300b1200123333572a66e24c0184800520022300312001230061200106a233335576a4a0ce46006240026012240020d246666aaed48c00c4800494198d5d19804090008341199a9a83198079aba2300712001223506730590022506506723333572a66e24c008480052000230041200125064066235573e600c2400246666aaed4941888c00c48004c010480041908cccd55da9180189000928309aba3300312001063233353505e300a35744600424002446a0c460a40044a0c00c446aae80c008480048dd48019282e1282e1282e1282e00082f1199a82b004004bac2333505500200401d2335304c001233748900019abb4300300137649311119ba448008cd5da1ba70033357686e9c008cd5da1ba7001376493119a9827000919ba448000cd5da1ba8001376493119ba448008cd5da1ba800137649311999999abaf232323232323232323232323232323333572a66e24c02448005200223002120012300912001068233335576a4a0cc4600624002601a240020d046666aaed4941948c00c48004c0184800419c8cccd55da92832118018900098020900083311999aabb5230031200125063357466006240020ca4666a6a0c060206ae88c0244800488ccd4d4188c048d5d118028900091199a9a832180a1aba2300612001223506833305c00600400225066068250640662506206423574660042400246ae8cc01c480048cccd5ca99b89300212001480008c010480049417c1848d55cf98030900091999aabb52505d230031200130041200105f233335576a46006240024a0b86ae8cc00c480041788ccd4d4164c018d5d1180109000911a82e98290011282d82e91aaba0300212001237520064a0ae4a0ae4a0ae4a0ae0020b246666666aebc8c8c8c8c8c8c8c8c8c8c8cccd5ca99b89300512001480088c008480048c0144800418c8cccd55da92830918018900098048900083191999aabb5230031200125060357466010240020c44666a6a0ba60b86ae88c01c4800488d4184c1600089417c1848cccd5ca99b89300212001480008c01048004941781808d55cf98030900091999aabb52505c230031200130041200105e233335576a46006240024a0b66ae8cc00c480041748ccd4d4160c15cd5d1180109000911a82e182a0011282d02e11aaba0300212001237520064a0ac4a0ac4a0ac4a0ac0020b04666a0a0004006eb08dd380091999999abaf25053250532505323505437580044a0a60020aa2446464646464646666ae54cdc49aab9f300512001480008c008480048c01c4800416c8cd40c4c00848004c00c480048cd402001cd5d1180189000919a8040031aba23574660042400246aae80c008480048dd480191a80da4c2446464646464646666ae54cdc49aab9f300512001480008c008480048c01c480041688cd40d0c00848004c00c480048cd402401cd5d1180189000918049aba23574660042400246aae80c008480048dd480191a80d24c2446464646464646666ae54cdc49aab9f300512001480008c008480048c01c480041648cd40c4c00848004c00c480048cd402001cd5d1180189000918041aba23574660042400246aae80c008480048dd480191a80ca4c244646464646464646666ae54cdc4980289000a40084a06c46004240020b246666ae54cdc4980289000a400446006240024600a240020b246a06c600424002466a01a00e6ae88d55d018020900091999ab953371260042400290001281a118028900082b11aab9f3002120012375200646a0309311919191999ab95337126004240029001101a918010900082991999ab95337126004240029000101a118020900082991aab9f375200646a02c931199a8240248253ad1223232300137560066a00240022460026aa0a2446666aaed49408c8cd4088cd4024018d5d100118019aba300200105211223335047335500500200133550070020013355003002001112223232323232323333572a66e24d55cf980289000a400046004240024600e240020a8466aa04c600424002600624002466a0120106ae88c00c480048cd4020018d5d11aba3300212001235574060042400246ea400c8d405126123535043001222001112223535501d0012233748900019abb433500600500233576866a00c0080026ec926123535041001222003112223333333575e4646464646464646666ae54cdc49aab9f300712001480008c00848004941401488cccd55da92828118018900098030900082911999aabb52504f2300312001300412001051233335576a46006240024a09c6ae8cc00c480041408ccd4d412ccd4024020d5d118018900091199a9a82699a8058049aba2300412001223505133550250040022504f0512504d04f23574660042400246aae80c008480048dd480192824128241282412824000825091a9a81f8009110011199a81f820020bad2333503e50025043003120012001232323232323232323232323232323333572a66e24c02848005200623002120012300412001050230363002120012300f357446aae80c030480048cccd5ca99b89300812001480108c00c480048c014480041388c0c4c008480048c034d5d11aaba030091200123333572a66e24c0144800520022300312001230051200104b2302d3002120012300c357446aae80c018480048cccd5ca99b89300212001480008c010480048c01c480041208d55cf9802090009181598010900091bad357446aae80c008480048dd480191a80424c4646464646464646464646464646464646464646464646464646666ae54cdc4980a89000a4018408e46004240020b446666ae54cdc4980a89000a4014409046006240020b446666ae54cdc4980a09000a401046006240024600e240020b246608460042400260062400246eb4d5d118018900091bac357446ae8cc008480048d55d018098900091999ab9533712601e2400290031180189000918038900082a11981f18010900098018900091bad3574460062400246eb4d5d11aba33002120012355740601c2400246666ae54cdc4980509000a400846006240024600e2400209e46607a6004240026006240024601c6ae88c00c480048dd69aba23574660042400246aae80c024480048cccd5ca99b89300512001480088c00c480048c014480041288c0e4c008480048c024d5d11aaba030061200123333572a66e24c00848005200023004120012300712001047235573e600824002460666004240024600a6ae88d55d018010900091ba90032350074988c8c8c8c8c8c8c8c8c8c8c8c8cccd5ca99b89300812001480088c008480048c020480041308ccc0f8c00848004c00c48004c010480048dd61aba2300512001237586ae88c00c480048dd61aba23574660042400246ae8cc008480048d55d018030900091999ab953371260042400290001180209000918038900082311aab9f3004120012303730021200123005357446aae80c008480048dd480191a80324c464646464646464646666ae54cdc4980209000a40044600424002460082400208e4607860042400246eb4d5d11aaba030061200123333572a66e24c00848005200023004120012300712001045235573e6008240024607260042400246eb4d5d11aaba03002120012375200646a00a9311919191919191999ab95337126aae7cc0144800520002300212001230071200104423302c300212001300312001230073574460062400246eb0d5d11aba3300212001235574060042400246ea400c8d40112623232323333572a66e24d55cf980109000a40004600424002460082400208046eb4d5d11aaba03002120012375200646a00693093110919800801801100091111111110919999999998008058050048040038030028020018011000910919800801801100091109199800802001801100088910010910911980080200189000889109198008018010890009109198008018011000891091980080180109000891091980080180109000891091980080180109000890911180180208911001089110008900089100109100090009091111802002909111180180290911118010029091111800802900091091980080180110009091111111803804110911111119803004804109111111180280409111111002091111110019109111111198010048041109111111198008048041000909118010019110911998008028020019000909118010019091180080190009199a801802002bad122212333001004003002120012375000246666666aebc940109401094010940108d4014dd6801000803090911801001889100089000890009000889191800800911980199180080080100099999111991191919991119991119999999911111111991199999111119999111199119911991199911199119911999111991199119911991191991191911111981e199a81d8049802802001999a81d804980300200111a98018009100111a980100091000910919800801801100091199ab95337200040020740724424660020060044002444444444424666666666600201601401201000e00c00a00800600440024424660020060044002444246660020080060044002224400424424466002008006240022244246600200600422400244246600200600440022424460040062244002240022442466002006004240022442466002006004240022442466002006004240022424446006008224440042244400224002424444600800a424444600600a424444600400a424444600200a40024424660020060044002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024244600400644424466600200a0080064002424460040064244600200640022400244666a600a0044004400e008240024002244004244002400266446600491010953616d204a6f6e65730048810a313937342f31322f32330022123300100300220011";
const ANYONE_CAN_MINT = "59187e59187b0100003232323332223322323332223332223333333322222222332233333222223332223333222233223322332233223322333222332233223322332232332232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232335001307812001220641222233353063330033350380040023005001204923504a4981208c8c8c8c8c8c8cccd5ca99b8935573e600a24002900011801090009180389000825119826980109000980189000918039aba230031200123041357446ae8cc008480048d55d018010900091ba90032350464988c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cccd5ca99b8935573e602a24002900011801090009180b8900082c9199999999982f180109000980189000980209000980289000980309000980389000980409000980489000980509000980589000919a822980b890009aba23013120012335044301e1200135744602224002466a086604e240026ae88c03c480048cd4108c09848004d5d1180689000919a8209817890009aba2300b120012335040335504130321200130311200135744601224002466a072606c240026ae88c01c480048cd40f8c0f448004d5d1180289000919a81e99aa81f1822890009824090009aba23003120012304d357446ae8cc008480048d5d198010900091aba330021200123574660042400246ae8cc008480048d5d198010900091aba330021200123574660042400246ae8cc008480048d55d018010900091ba90032350454988ccd41dc00c0180088c8c8c8c8c8c8cccd5ca99b8935573e600a24002900011801090009180389000823919827180109000980189000918219aba23003120012300d357446ae8cc008480048d55d018010900091ba90032350434988d4c11800488cdd22400066aed0c010008cd5da18068009bb24988d4c18800488cdd22400066aed0c010008cd5da1ba7001376493119ba448000cd5da1ba800137649311999999abaf2323232323232323333572a66e24d55cf980389000a400046004240024a0fa08a46666aaed4941f48c00c48004c018480041148cccd55da9283e118018900098020900082211999aabb523003120012507b357466006240020864666a6a0f0600e6ae88c00c4800488ccd4d41e8c048d5d1180209000911a83f198268020011283e0221283d02111aba3300212001235574060042400246ea400c941d4941d4941d4941d40040f48ccccccd5d79191919191919191999ab95337126aae7cc01c48005200023002120012507c044233335576a4a0f84600624002600c2400208846666aaed4941ec8c00c48004c0104800410c8cccd55da91801890009283d1aba3300312001042233353507730073574460062400244666a6a0f260526ae88c0104800488d41f4cc1a4010008941ec10c941e41048d5d198010900091aaba0300212001237520064a0e84a0e84a0e84a0e800207846666666aebc8c8c8c8c8c8cccd5ca99b8935573e600a24002900011801090009283c82091999aabb5250792300312001300412001041233335576a46006240024a0f06ae8cc00c480041008ccd4d41d4c0d8d5d1180109000911a83c8011283b81f91aaba0300212001237520064a0e64a0e64a0e64a0e60020764666a0de00a010004464646464646464646666ae54cdc49aab9f300712001480008c008480048c024480041048ccc128c00848004c00c48004c010480048c024d5d1180289000919a8161808090009aba23003120012335008303312001357446ae8cc008480048d5d198010900091aaba03002120012375200646a0769311919191919191999ab95337126aae7cc0144800520002300212001230071200103e23304e3002120013003120012303935744600624002466a00c6036240026ae88d5d198010900091aaba03002120012375200646a074930911919191919191999ab953371260082400290001180109000918020900081f11a83b180109000919a8168039aba235574060082400246666ae54cdc4980109000a40044a0e84600a2400207846aae7cc008480048dd480191a81d24c46a607c00244466e912000335768600a00666aed0cd403cc02848004008cd5da19a8031817090008009bb24988d4c11000488cdd22400066aed0c060008cd5da19a802180b090008009bb2498488ccd4d41ac00488cdd22400066aed0cd40a4010008dd924c466e91200237649301a91999999abaf23232323232323232323333572a66e24d55cf980489000a400046004240024a0ea07a46666aaed4941d48c00c48004c020480040f48cccd55da9283a118018900098030900081e11999aabb525073230031200130041200103b233335576a46006240024a0e46ae8cc00c480040e88ccd4d41bcc020d5d118020900091199a9a83899a8099806090009aba23005120012233353507333500d30321200135744600c24002446a0ee66609000c0080044a0ea07a4a0e60764a0e207246ae8cc008480048d5d198010900091aaba0300212001237520064a0d64a0d64a0d64a0d600206646666666aebc8c8c8c8c8c8c8c8cccd5ca99b8935573e600e24002900011801090009283901d11999aabb525072230031200130061200103a233335576a4a0e2460062400260082400207246666aaed48c00c48004941c0d5d198018900081c1199a9a836980d1aba23003120012233353506f33500930181200135744600824002446a0e6660960080044a0e20724a0de06e46ae8cc008480048d55d018010900091ba90032506a2506a2506a2506a0010321223333333575e46464646464646464646666ae54cdc4980289000a400046004240024600a2400207846666aaed4941d08c00c48004c01c480040f08cccd55da9180189000928399aba330061200103b233353507033502e00a35744600a24002446a0e86a0e80044a0e407446666ae54cdc4980109000a400446008240024a0e207246aae7cc010480048cccd55da91802890009283798010900081b91aaba03002120012375200846a0d8a0d64a0d44a0d44a0d44a0d4002064466aa03c601424002600424002466aa006600424002601a240024666a0c604804aeb44488ccd418ccd5400c008004cd54014008004cd5401c0080044488d400ccd5406c008004488c8c8dd318008019a80090008918009aa83411199a9a81c80091bb2498888cd5da19a812004001980280101788911a80199aa80c80100089119191999999abaf25064250642300237560084a0c84a0c80060586a00240022460026aa0cc44646666aaed48c008480048ccd4d4194cd408c01cd5d100191199a9a83398031aba3005223506b33503e004002250690312506702f00202e235066503a11223501633550170020012333505c01d01e75a4666a0b6004006040466666666a60940024466e912002335768600e0046ec92622233748900219abb430080033357686ea0008dd924c4466e912000335768600e0046ec92623374890051bb24988cdd2240186ec92622233748900319abb4375000666aed0dd40011bb2498888cdd22401066aed0dd400199abb4374e0046ec92602523333333575e4646464646464646464646464646464646464646464646464646464646464646464646666ae54cdc4980e89000a40184600424002460082400208e46666aaed48c00c48004941fcc0844800411c8d41f81b88cccd5ca99b89301b12001480288c00c480048c014480041148cccd55da91801890009283e180f0900082211a83d83611999ab953371260302400290041180189000918040900082111999aabb5250792300312001301b12001041233335576a4a0f0460062400260082400208046666aaed48c00c48004941dcd5d198018900081f9199a9a83a181a9aba230181200122333535076302635744600824002446a0f4660d00080044a0f00804a0ec07c46ae8cc05c480048cccd5ca99b89301212001480188c00c480048c020480040f08cccd55da928399180189000980a8900081d91999aabb525072230031200130041200103a233335576a46006240024a0e26ae8cc00c480040e48ccd4d41b8c0bcd5d118090900091199a9a83818189aba23004120012235074330630040022507203a2507003823574660222400246666ae54cdc4980609000a40084600624002460102400206c46666aaed4941b48c00c48004c03c480040d48cccd55da92836118018900098020900081a11999aabb523003120012506b357466006240020664666a6a0d060286ae88c0304800488ccd4d41a8c0acd5d1180209000911a837198308020011283601a1283501911aba3300b1200123333572a66e24c01848005200223003120012300612001030233335576a4a0ce460062400260122400205e46666aaed48c00c4800494198d5d19804090008171199a9a83198079aba23007120012235067305b0022506502d23333572a66e24c00848005200023004120012506402c235573e600c2400246666aaed4941888c00c48004c010480040a88cccd55da9180189000928309aba3300312001029233353505e300a35744600424002446a0c460a80044a0c005046aae80c008480048dd48019282e1282e1282e1282e0008121199a82c004004bac2333505700200401d2335304e001233748900019abb4300300137649311119ba448008cd5da1ba70033357686e9c008cd5da1ba7001376493119a9828000919ba448000cd5da1ba8001376493119ba448008cd5da1ba800137649311999999abaf232323232323232323232323232323333572a66e24c0244800520022300212001230091200102e233335576a4a0cc4600624002601a2400205c46666aaed4941948c00c48004c018480040b48cccd55da92832118018900098020900081611999aabb5230031200125063357466006240020564666a6a0c060206ae88c0244800488ccd4d4188c048d5d118028900091199a9a832180a1aba2300612001223506833305e0060040022506602e2506402c2506202a23574660042400246ae8cc01c480048cccd5ca99b89300212001480008c010480049417c09c8d55cf98030900091999aabb52505d2300312001300412001025233335576a46006240024a0b86ae8cc00c480040908ccd4d4164c018d5d1180109000911a82e982a0011282d81191aaba0300212001237520064a0ae4a0ae4a0ae4a0ae00203e46666666aebc8c8c8c8c8c8c8c8c8c8c8cccd5ca99b89300512001480088c008480048c014480040a48cccd55da92830918018900098048900081491999aabb5230031200125060357466010240020504666a6a0ba603c6ae88c01c4800488d4184c1680089417c09c8cccd5ca99b89300212001480008c01048004941780988d55cf98030900091999aabb52505c2300312001300412001024233335576a46006240024a0b66ae8cc00c4800408c8ccd4d4160c064d5d1180109000911a82e182b0011282d01111aaba0300212001237520064a0ac4a0ac4a0ac4a0ac00203c4666a0a4004006eb08dd380091999999abaf25053250532505323505437580044a0a60020362446464646464646666ae54cdc49aab9f300512001480008c008480048c01c480040848cd40ccc00848004c00c480048cd402001cd5d1180189000919a8040031aba23574660042400246aae80c008480048dd480191a80ea4c2446464646464646666ae54cdc49aab9f300512001480008c008480048c01c480040808cd40d8c00848004c00c480048cd402401cd5d1180189000918049aba23574660042400246aae80c008480048dd480191a80e24c2446464646464646666ae54cdc49aab9f300512001480008c008480048c01c4800407c8cd40ccc00848004c00c480048cd402001cd5d1180189000918041aba23574660042400246aae80c008480048dd480191a80da4c244646464646464646666ae54cdc4980289000a40084a070460042400203e46666ae54cdc4980289000a400446006240024600a2400203e46a070600424002466a01a00e6ae88d55d018020900091999ab953371260042400290001281b118028900080e11aab9f3002120012375200646a0349311919191999ab95337126004240029001101b918010900080c91999ab95337126004240029000101b118020900080c91aab9f375200646a030931199a8250058063ad1223232300137560066a00240022460026aa0a2446666aaed4940948cd4090cd4024018d5d100118019aba300200101811223335049335500500200133550070020013355003002001112223232323232323333572a66e24d55cf980289000a400046004240024600e24002034466aa050600424002600624002466a0120106ae88c00c480048cd4020018d5d11aba3300212001235574060042400246ea400c8d405926123535045001222001112223535501f0012233748900019abb433500600500233576866a00c0080026ec926123535043001222003112223333333575e4646464646464646666ae54cdc49aab9f300712001480008c00848004941400608cccd55da92828118018900098030900080c11999aabb52504f2300312001300412001017233335576a46006240024a09c6ae8cc00c480040588ccd4d412ccd4024020d5d118018900091199a9a82699a8058049aba2300412001223505133550270040022504f0172504d01523574660042400246aae80c008480048dd480192824128241282412824000808091a9a8208009110011199a820801001bad2375000246666666aebc941089410894108941088d410cdd68010008051199a81f28212820821919191919191919191919191919191999ab953371260142400290031180109000918020900080b1181c180109000918079aba235574060182400246666ae54cdc4980409000a400846006240024600a24002028460666004240024601a6ae88d55d018048900091999ab9533712600a2400290011180189000918028900080891817980109000918061aba2355740600c2400246666ae54cdc4980109000a400046008240024600e2400201c46aae7cc010480048c0b4c008480048dd69aba235574060042400246ea400c8d4029262323232323232323232323232323232323232323232323232323333572a66e24c05448005200c2049230021200102023333572a66e24c05448005200a204a230031200102023333572a66e24c0504800520082300312001230071200101f2330443002120013003120012375a6ae88c00c480048dd61aba23574660042400246aae80c04c480048cccd5ca99b89300f12001480188c00c480048c01c480040688cc100c00848004c00c480048dd69aba23003120012375a6ae88d5d198010900091aaba0300e1200123333572a66e24c0284800520042300312001230071200101523303f3002120013003120012300e3574460062400246eb4d5d11aba3300212001235574060122400246666ae54cdc4980289000a400446006240024600a2400202046076600424002460126ae88d55d018030900091999ab953371260042400290001180209000918038900080691aab9f3004120012303530021200123005357446aae80c008480048dd480191a804a4c46464646464646464646464646666ae54cdc4980409000a400446004240024601024002024466608060042400260062400260082400246eb0d5d118028900091bac3574460062400246eb0d5d11aba330021200123574660042400246aae80c018480048cccd5ca99b89300212001480008c010480048c01c480040308d55cf9802090009181c980109000918029aba235574060042400246ea400c8d402126232323232323232323333572a66e24c0104800520022300212001230041200100d2303e3002120012375a6ae88d55d018030900091999ab953371260042400290001180209000918038900080591aab9f3004120012303b3002120012375a6ae88d55d018010900091ba90032350074988c8c8c8c8c8c8cccd5ca99b8935573e600a24002900011801090009180389000805119817180109000980189000918039aba2300312001237586ae88d5d198010900091aaba03002120012375200646a00c9311919191999ab95337126aae7cc008480052000230021200123004120010062375a6ae88d55d018010900091ba90032350054984800480044988848cc00400c0088004888888888848cccccccccc00402c02802402001c01801401000c00880048848cc00400c008800488848ccc00401000c00880044488008488488cc00401000c48004448848cc00400c0084480048848cc00400c008800448848cc00400c0084800448848cc00400c0084800448848cc00400c00848004484888c00c0104488800844888004480044880084880048004848888c010014848888c00c014848888c008014848888c00401480048848cc00400c0088004848888888c01c0208848888888cc018024020848888888c014020488888880104888888800c8848888888cc0080240208848888888cc00402402080048488c00800c888488ccc00401401000c80048488c00800c8488c00400c80048ccd400d401d4018020488848ccc00401000c0084800448488c00800c448800448004480048004448c8c00400488cc00cc8c004004008005";
const CONTEXT_EQUIVALENCE_TEST = "5914d65914d3010000332323233223322333222323232333222333222333333332222222233223333322222333322223332223322332233223332223322332233223322323232323232323232323232323232323232323232323322332232323232335500104c500911222222300733300430060033005002300800125335302f001105213504c3530513357389201025064000524988c8c8c8c8c8c8cccd5cd19b8735573aa00a90001280112803a4c266012a002a0042600c6ae8540084c068d5d09aba25001135573ca00226ea80084d412d262323232323232323232323232323232323232323232323333573466e1cd55cea80aa40004a0044a02e930999999999980d2800a8012801a8022802a8032803a8042804a805099a81400d9aba15012133502701b35742a0202666aa044eb94084d5d0a8070999aa810bae502035742a018266a04804e6ae8540284cd408ccd5408809dd69aba15008133501875a6ae8540184cd4085d71aba150041335020335501f75c03c6ae8540084c098d5d09aba25001135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea80084d4129262212330010030022001222222222212333333333300100b00a00900800700600500400300220011232323232323232323232323232323232323232323333573466e1cd55cea809a40004a0044a02a930999999999815a800a8012801a8022802a8032803a8042804899a81080a9aba15010133502001335742a01c2666aa036eb94068d5d0a806099a80a3ad35742a0142666aa032eb94060d5d0a804099a80e280c9aba15006133501b01e35742a008266a034eb8d5d0a801099a80d00d9aba135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea80084d41152623232323232323333573466e1cd55cea802a40004a0044a00e9309980f2800a8010980c1aba1500213005357426ae8940044d55cf280089baa0021350444988c8c8c8c8c8c8c8c8cccd5cd19b8735573aa00e90001280112804a4c2666042a002a004a006260106ae8540104ccd54039d728069aba15002133501275c6ae84d5d1280089aba25001135573ca00226ea80084d410d2623232323232323333573466e1cd55cea802a40004a0044a00e930998102800a8010980a9aba150021335010013357426ae8940044d55cf280089baa002135042498488c8c8c8c8c8c8cccd5cd19b8735573aa00a90001280112803a4c266a04aa002a004266a00e00c6ae8540084cd401c014d5d09aba25001135573ca00226ea80084d4109261223232323232323333573466e1cd55cea802a40004a0044a00e93099a8142800a801099a8040031aba1500213008357426ae8940044d55cf280089baa002135041498488c8c8c8c8c8c8cccd5cd19b8735573aa00a90001280112803a4c266a04aa002a004266a00e00c6ae8540084c01cd5d09aba25001135573ca00226ea80084d410126122323232323232323333573466e1d401520042502e250024984cccd5cd19b8750044800894008940112613502d500113006357426aae79400c4cccd5cd19b87500148000940ac9401126135573aa00226ea80084d40fd2623232323333573466e1d400920022026250024984cccd5cd19b8750014800080909400d26135573a6ea80084d40f5261335500175ceb444888c8c8c004dd58019a80090008918009aa82391191919191919191999aab9f008550482530021200104d350022200135001220023555504e12223300321300a357440124266a096a00aa600624002266aa096a002a004260106aae7540084c018d55cf280089aba10011335500275c0024002224446464646464646666ae68cdc39aab9d500548000940089401d2613355047500150021300735742a0042600a6ae84d5d1280089aab9e50011375400426a07493091191918009bac0033500120011230013550422233335573e0024a080466a07e600c6ae84008c00cd5d10010208911919191919191999ab9a3370ea0089000128011280224c26a030a0022600c6ae84d55cf280189999ab9a3370ea00290011280b1280224c26aae7540044dd500109a81ba4c464646464646464646464646464646666ae68cdc3a8052400c4a0044a00893098182800898071aba135573ca01626666ae68cdc3a803a40084a0044a0089309815a800898061aba135573ca01026666ae68cdc3a802240044a0044a0089309813a800898059aba135573ca00a26666ae68cdc3a800a40004a0064a00c9309aab9d50031302550011375c6ae84d55cf280089baa0021350354988c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cccd5cd19b875015480308108940092613333573466e1d4051200a2042250024984cccd5cd19b8750134802094008940192613303c500150021375c6ae8540084dd69aba135744a00226aae7940484cccd5cd19b87500e48018940089401926133038500150021375c6ae8540084dd71aba135744a00226aae7940344cccd5cd19b87500948010940089401926133037500150021300d35742a00426eb8d5d09aba25001135573ca01026666ae68cdc3a802240044a0044a0089309819a800898041aba135573ca00a26666ae68cdc3a800a40004a0064a00c9309aab9d50031302d500113004357426aae7940044dd500109a81a24c46464646464646464646464646666ae68cdc3a804240044a0044a01093099981c2800a801280189bad35742a00826eb4d5d0a80109bad357426ae8940044d5d1280089aab9e500513333573466e1d4005200025003250064984d55cea80189818a800898021aba135573ca00226ea80084d40cd26232323232323232323333573466e1d4011200225002250044984c0d940044dd71aba135573ca00a26666ae68cdc3a800a40004a0064a00c9309aab9d50031303350011375c6ae84d55cf280089baa0021350324988c8c8c8c8c8c8cccd5cd19b8735573aa00a90001280112803a4c26604ca002a0042600c6ae8540084dd69aba135744a00226aae7940044dd500109a818a4c46464646666ae68cdc39aab9d5002480009400894011261375c6ae84d55cf280089baa00213503049888888888848ccccccccc00402802402001c01801401000c00880048848cc00400c008800488848ccc00401000c00880048848cc00400c008800448488c00800c44880044800448848cc00400c0084800448848cc00400c0084800448848cc00400c008480044880084880048004484888c00c010448880084488800448004848888c010014848888c00c014848888c008014848888c00401480048848cc00400c0088004848888888c01c0208848888888cc018024020848888888c014020488888880104888888800c8848888888cc0080240208848888888cc00402402080048488c00800c888488ccc00401401000c80048488c00800c8488c00400c80048c8c8c8cccd5cd19b8735573aa0049000128011280224c26eb4d5d09aab9e50011375400426a0049309308928020891001091091198008020018900089000900088910919800801801089000889191800800911980198010010008888919a8011091980091a80191180100191a80191180080180089191918008009119801980100100091091a9802091a98020019a801800800991919191919991119911919991119191919191991191919191919191991191919911919191999911119911919191919191919191919191919191919191919191919191919191919191919191919191919191919190009111a98020011111111111919299a982a9998138291a980e280111111111110038048a99a982a999a8098291a980e280111111111110020040a99a982a999a980809000a80a9a980e280111111111110010030a99a982a999a98080900082a1a980e2801111111111100180209919191919299a982d180099aa980e8900099aa9814090008139a9810a80391111111110049a80f89119801240046600490020008991919299a982ea99a982e9800a804899191919191800a8071a80090008918009aa83711299a9a83480088321109a9aa82f00111299a98339981b801280408348980300189a8311980080a28339a80090008918009aa835911299a9a83380108009109980280099a835001001882f0991919299a9830180099aa9811890009a9813a80691111111110031a81289119801240040022a66a6a0ae01c426603c0026a604e0304400226a0d29308309a80090008918009aa83611299a9a83380088311109a9aa82e00111299a983299830001280408338980300189a830006882f1a80090008918009aa83491299a9a832000882f9109a9aa82c80111299a983119819001280408320980300189a82e807882d9a80090008918009aa83311299a9a830800882e1109a9aa82b00111299a982f99981882e001280408308980300189a82d1980099aa981289000812006a82f9a80090008918009aa831911299a9a82f80108009109980280099a831001001882b082b082b082b099aa980b890009a980da80091111111110051a80c891198012400466004900200089a980c8051100110009a80090008918009aa829110911299a9a8280010a99a9a8280008826110826910a99a9a8290018826910a99a9827198038020010999a9804890008038018008827911999a9808801129999a98090011099821001000908241082410824129999a98090011082410998230010009082410824129999a98090011082410824109982180100090824129999a9809001108241082410824109981d00100089111a9a806801111a9a808801111a9a808802911a9a80a8011119192999a9a80d00410a999a9a80d80290a99a9828998078010008a8018829082888288a999a9a80d002108288a80088280a999a9a80d0021082888280a8008a99a98270030a99a98270010a80088278a99a982700108278a80089a9a80b003911a9a80c002912999a9a80e00210a999a9a80e80190a99a982999808801000899809002801882a082988298a999a9a80e0011082989980800180088290a999a9a80e00110829882909980800180091299a982180108008a99a982180088220822899aa80101f80091199ab9a3375e0040020860842244446a6aa076004446a6aa07a00644a66a608c6601000800426600e006002208e6a00240022460026aa094442244a66a6a08e0042a092442a66a6a0920062a09644266a09866aa07e00800466aa6010240020060022466a002a086a0884002400224002240022400224002400246a60520024440046a00240022460026aa07e442244a66a6a0780022a07c44266a07e600800466aa600c24002008002446a604c004446a605000644a66a606c6605200800426600e006002206e44a66a6062660466a604c0044440066a604c0024440062a66a606266600605c6a604c0044440046a604c00244400426a604c004444a66a6a056002426a605400a444a66a6a05e002426607000a002207226a6052008444a66a6a05c002420722072206420644446660084666a6aa02e00246600a90000009119803001000919802800a400000400244464666aa601c240026a038a03446a6aa05600244666aa602224002a00846a6aa05c0024460140020026600a00600426a036a0324466aa60122400246a6aa0500024466aa056004666a6aa02c002466aa601a2400246a6aa0580024466aa05e0046aa03a00200244666aaa010064004002466aa601a2400246a6aa0580024466aa05e0046aa036002002666aaa00605a004002222444666aa600824002a06a66aa60122400246a6aa0500024466aa0560046aa032002666aa600824002446a6aa05200444a66a6064666aa601e240026a014a02646a6aa058002446601400400a00c2006266a072008006a06c00266aa60122400246a6aa05000244646466aa05a008600200c6a00240022460026aa07e44a66a6a07400226aa0340084426a6aa05e00444a66a60706601a004012266aa03e0100022600c0060046a00240022460026aa06e4422444a66a6a06a00220044426600a004666aa600e2400200a0080022466a02c44666a00a0060040026a004002246a6a01600244002246a6a014002440046a00240022460026aa064442244a66a6a05e0022a06244266a064600800466aa600c240020080026a00240022460026aa060442246444a66a6a05e00226a01000844266a00a6008004666aa60102400200c00800226a00c002246a6a01c00244002246a6a01a00244004266a00600204044a66a60400042044200224424660020060042400222424446006008224424446600400a00822424446002008224002266a01000203244a66a6030004200220322466a00644666a00e0060040026a008002244246600200600424002246a6a00600244002246a6a00400244004244246600200600424002446a600c004446a6010006446466a604200a466a60440084a66a602e666ae68cdc780100080c80c0a801880c100c119a9811002100c1299a980b999ab9a3371e0040020320302a00620302a66a6a01600642a66a6a0180044266024004002202c2a66a6a0160024202c202c44a66a601e666ae68cdc79a9803801110011a9803800910010088080999ab9a3370e6a600e004440026a600e0024400202202020204002400240022400240022244246600200600422400244a6666666a602200442a6666666a6024004426600a0040024420164201420122012442016442016442a6666666a602600642016442a66a60166600e0080042660140060022018420162014201444201844201842a6666666a602400442014442016426600a004002201220124420164420162a6666666a60220024201244201442012201220104420144420142a6666666a6022002420124420144201220102012442014442014442a6666666a6026006420164420184201620142014442a66a6016666ae68cdc78020010068060998050018008806110806110a9999999a9809801908059108061080588050805110806110a99a9805999ab9a3371e00800401a01826601000600220184466a6022004466a602400446600c00400244401644466a60280084016444a66a6018666ae68cdc38030018070068a99a9806199ab9a3370e00a00401c01a266012008002201a201a44666ae68cdc38010008038031119a9808001119a98088011198028010009003919a9808801100391980280100091199ab9a3371e00400200a008244004244002400224a66a6a00800226a00e6a600466ae71241025062000034988840084800480044488008488488cc00401000c48004498800480048004448c8c00400488cc00cc008008005";
const GUESS_42_STAKE = "587a58780100003233322232323233223232225335300a333500900800233500700d4815040184d400d2411d496e636f727265637420646174756d2e2045787065637465642034322e001235002353003335738002008930930900090008900091199ab9a3375e00400200c00a24002244004244002400246ea00041";
const CUSTOM_GUESS_42_DATUM_42 = "591bea591be701000033233223332223232323232332232323232323332223332223333333322222222332233333222223332223333222233223322332233223322333222332233223322332232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323355001307a1200130761200111222222333530633330043350390060033350390050023007001208c012350840149822c048c8c8c8c8c8c8cccd5ca99b8935573e600a2400290001180109000918038900084580919825980109000980189000918039aba230031200123042357446ae8cc008480048d55d018010900091ba900323507e4988c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cccd5ca99b8935573e602a24002900011801090009180b8900084d009199999999982e180109000980189000980209000980289000980309000980389000980409000980489000980509000980589000919a822180b890009aba23013120012335043301e1200135744602224002466a084604e240026ae88c03c480048cd4104c09848004d5d1180689000919a8201817890009aba2300b12001233503f335504030321200130311200135744601224002466a070606c240026ae88c01c480048cd40f4c0f048004d5d1180289000919a81e19aa81e9822090009823890009aba23003120012304e357446ae8cc008480048d5d198010900091aba330021200123574660042400246ae8cc008480048d5d198010900091aba330021200123574660042400246ae8cc008480048d55d018010900091ba900323507d4988ccd41e400c0180088c8c8c8c8c8c8cccd5ca99b8935573e600a2400290001180109000918038900084400919826180109000980189000918221aba23003120012300d357446ae8cc008480048d55d018010900091ba900323507b4988d4c11000488cdd22400066aed0c010008cd5da18068009bb24988d4c18000488cdd22400066aed0c010008cd5da1ba7001376493119ba448000cd5da1ba800137649311999999abaf2323232323232323333572a66e24d55cf980389000a400046004240024a1080210c0246666aaed494210048c00c48004c01848004218048cccd55da928418091801890009802090008428091999aabb52300312001250820135746600624002108024666a6a0fe600e6ae88c00c4800488ccd4d420404c048d5d1180209000911a842809982580200112841808428092840808418091aba3300212001235574060042400246ea400c941f0941f0941f0941f00041f88ccccccd5d79191919191919191999ab95337126aae7cc01c4800520002300212001250830108501233335576a4a106024600624002600c2400210a0246666aaed494208048c00c48004c01048004210048cccd55da918018900092840809aba330031200108301233353507e30073574460062400244666a6a1000260fe6ae88c0104800488d421004cc19c0100089420804210049420004208048d5d198010900091aaba0300212001237520064a0f64a0f64a0f64a0f60020fa46666666aebc8c8c8c8c8c8cccd5ca99b8935573e600a240029000118010900092840008410091999aabb52508001230031200130041200108201233335576a46006240024a0fe6ae8cc00c48004204048ccd4d41f0c0d4d5d1180109000911a840008011283f0400091aaba0300212001237520064a0f44a0f44a0f44a0f40020f84666a0e200a010004464646464646464646666ae54cdc49aab9f300712001480008c008480048c02448004208048ccc120c00848004c00c48004c010480048c024d5d1180289000919a8159808090009aba23003120012335008303212001357446ae8cc008480048d5d198010900091aaba03002120012375200646a0e69311919191919191999ab95337126aae7cc0144800520002300212001230071200107f23304c3002120013003120012303a35744600624002466a00c6036240026ae88d5d198010900091aaba03002120012375200646a0e4930911919191919191999ab953371260082400290001180109000918020900083f91a83e980109000919a8160039aba235574060082400246666ae54cdc4980109000a40044a0f64600a240020fa46aae7cc008480048dd480191a83924c46a607800244466e912000335768600a00666aed0cd403cc02848004008cd5da19a8031816890008009bb24988d4c10800488cdd22400066aed0c060008cd5da19a802180b090008009bb2498488ccd4d41c800488cdd22400066aed0cd40a0010008dd924c466e91200237649303b11999999abaf23232323232323232323333572a66e24d55cf980489000a400046004240024a0f80fc46666aaed4941f08c00c48004c020480041f88cccd55da9283d918018900098030900083e91999aabb52507a230031200130041200107c233335576a46006240024a0f26ae8cc00c480041ec8ccd4d41d8c020d5d118020900091199a9a83c19a8099806090009aba23005120012233353507a33500d30311200135744600c24002446a0fc66608c00c0080044a0f80fc4a0f40f84a0f00f446ae8cc008480048d5d198010900091aaba0300212001237520064a0e44a0e44a0e44a0e40020e846666666aebc8c8c8c8c8c8c8c8cccd5ca99b8935573e600e24002900011801090009283c83d91999aabb525079230031200130061200107b233335576a4a0f046006240026008240020f446666aaed48c00c48004941dcd5d198018900083c9199a9a83a180d1aba23003120012233353507633500930181200135744600824002446a0f4660920080044a0f00f44a0ec0f046ae8cc008480048d55d018010900091ba9003250712507125071250710010731223333333575e46464646464646464646666ae54cdc4980289000a400046004240024600a240020fa46666aaed4941ec8c00c48004c01c480041f48cccd55da91801890009283d1aba330061200107c233353507733502d00a35744600a24002446a0f66a0f60044a0f20f646666ae54cdc4980109000a400446008240024a0f00f446aae7cc010480048cccd55da91802890009283b18010900083c11aaba03002120012375200846a0e6a0e44a0e24a0e24a0e24a0e20020e6466aa03a601424002600424002466aa006600424002601a240024666a0ca046048eb44488ccd4194cd5400c008004cd54014008004cd5401c0080044488d400ccd54068008004488c8c8dd318008019a80090008918009aa83791199a9a81b80091bb2498888cd5da19a811804001980280103808911a80199aa80c00100089119191999999abaf2506b2506b2300237560084a0d64a0d60060da6a00240022460026aa0da44646666aaed48c008480048ccd4d41b0cd408801cd5d100191199a9a83718031aba3005223507233503c004002250700722506e07000206f23506d503811223501533550160020012333505e01c01d75a4666a0ba004006042466666666a60900024466e912002335768600e0046ec92622233748900219abb430080033357686ea0008dd924c4466e912000335768600e0046ec92623374890051bb24988cdd2240186ec92622233748900319abb4375000666aed0dd40011bb2498888cdd22401066aed0dd400199abb4374e0046ec92606623333333575e4646464646464646464646464646464646464646464646464646464646464646464646666ae54cdc4980e89000a4018460042400246008240021100246666aaed48c00c480049421804c08448004220048d4214041b08cccd5ca99b89301b12001480288c00c480048c01448004218048cccd55da91801890009284180980f090008428091a8410083511999ab95337126030240029004118018900091804090008418091999aabb525080012300312001301b1200108201233335576a4a0fe46006240026008240021020246666aaed48c00c48004941f8d5d1980189000840009199a9a83d981a1aba23018120012233353507d307c35744600824002446a10202660cc0080044a0fe102024a0fa0fe46ae8cc05c480048cccd5ca99b89301212001480188c00c480048c020480041f48cccd55da9283d1180189000980a8900083e11999aabb525079230031200130041200107b233335576a46006240024a0f06ae8cc00c480041e88ccd4d41d4c0b8d5d118090900091199a9a83b98181aba2300412001223507b330610040022507907b2507707923574660222400246666ae54cdc4980609000a4008460062400246010240020ee46666aaed4941d08c00c48004c03c480041d88cccd55da92839918018900098020900083a91999aabb5230031200125072357466006240020e84666a6a0de60286ae88c0304800488ccd4d41c4c0a8d5d1180209000911a83a9982f8020011283983a9283883991aba3300b1200123333572a66e24c01848005200223003120012300612001071233335576a4a0dc46006240026012240020e046666aaed48c00c48004941b4d5d19804090008379199a9a83518079aba2300712001223506e30590022506c06e23333572a66e24c00848005200023004120012506b06d235573e600c2400246666aaed4941a48c00c48004c010480041ac8cccd55da9180189000928341aba330031200106a2333535065300a35744600424002446a0d260a40044a0ce0d246aae80c008480048dd4801928319283192831928318008329199a82d00402fbac2333505900200401e2335304c001233748900019abb4300300137649311119ba448008cd5da1ba70033357686e9c008cd5da1ba7001376493119a9827000919ba448000cd5da1ba8001376493119ba448008cd5da1ba800137649311999999abaf232323232323232323232323232323333572a66e24c0244800520022300212001230091200106f233335576a4a0da4600624002601a240020de46666aaed4941b08c00c48004c018480041b88cccd55da92835918018900098020900083691999aabb523003120012506a357466006240020d84666a6a0ce60cc6ae88c0244800488ccd4d41a4c1a0d5d118028900091199a9a83598351aba2300612001223506f33305c0060040022506d06f2506b06d2506906b23574660042400246ae8cc01c480048cccd5ca99b89300212001480008c01048004941981a08d55cf98030900091999aabb5250642300312001300412001066233335576a46006240024a0c66ae8cc00c480041948ccd4d4180c018d5d1180109000911a83218290011283103211aaba0300212001237520064a0bc4a0bc4a0bc4a0bc0020c046666666aebc8c8c8c8c8c8c8c8c8c8c8cccd5ca99b89300512001480088c008480048c014480041a88cccd55da92834118018900098048900083511999aabb5230031200125067357466010240020d24666a6a0c8603a6ae88c01c4800488d41a0c160008941981a08cccd5ca99b89300212001480008c010480049419419c8d55cf98030900091999aabb5250632300312001300412001065233335576a46006240024a0c46ae8cc00c480041908ccd4d417cc060d5d1180109000911a831982a0011283083191aaba0300212001237520064a0ba4a0ba4a0ba4a0ba0020be4666a0a80040b2eb08dd38008911919191919191999ab95337126aae7cc014480052000230021200123007120010632335032300212001300312001233500800735744600624002466a01000c6ae88d5d198010900091aaba03002120012375200646a0ac930911919191919191999ab95337126aae7cc014480052000230021200123007120010622335035300212001300312001233500900735744600624002460126ae88d5d198010900091aaba03002120012375200646a0aa930911919191919191999ab95337126aae7cc014480052000230021200123007120010612335032300212001300312001233500800735744600624002460106ae88d5d198010900091aaba03002120012375200646a0a893091191919191919191999ab9533712600a2400290021281b918010900083091999ab9533712600a2400290011180189000918028900083091a81b980109000919a8068039aba235574060082400246666ae54cdc4980109000a40004a06a4600a240020bc46aae7cc008480048dd480191a829a4c46464646666ae54cdc4980109000a4004406c46004240020b646666ae54cdc4980109000a4000406a46008240020b646aae7cdd480191a828a4c4666a09a016018eb4488c8c8c004dd58019a80090008918009aa82c911999aabb52502423350233350090063574400460066ae8c0080041684488ccd4130cd54014008004cd5401c008004cd5400c00800444888c8c8c8c8c8c8cccd5ca99b8935573e600a2400290001180109000918038900082e119aa813980109000980189000919a8048041aba23003120012335008006357446ae8cc008480048d55d018010900091ba900323504f49848d4d412000488800444888d4d5407800488cdd22400066aed0cd4018014008cd5da19a8030020009bb249848d4d411800488800c44888ccccccd5d79191919191919191999ab95337126aae7cc01c48005200023002120012505805a233335576a4a0b04600624002600c240020b446666aaed49415c8c00c48004c010480041648cccd55da91801890009282b1aba330031200105823335350533350090083574460062400244666a6a0aa66a0160126ae88c0104800488d4164cd540980100089415c1649415415c8d5d198010900091aaba0300212001237520064a0a04a0a04a0a04a0a00020a4246a6a0880024440044666a088004006eb48dd400091999999abaf2504a2504a2504a2504a23504b375a0040020984666a082a004a092006240024002464646464646464646464646464646666ae54cdc4980509000a400c460042400246008240020ac4606a6004240024601e6ae88d55d018060900091999ab953371260102400290021180189000918028900082a11818180109000918069aba235574060122400246666ae54cdc4980289000a400446006240024600a240020a246058600424002460186ae88d55d018030900091999ab953371260042400290001180209000918038900082711aab9f3004120012302a3002120012375a6ae88d55d018010900091ba90032350414988c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cccd5ca99b893015120014803081188c008480041808cccd5ca99b8930151200148028811c8c00c480041808cccd5ca99b89301412001480208c00c480048c01c4800417c8cc104c00848004c00c480048dd69aba2300312001237586ae88d5d198010900091aaba030131200123333572a66e24c03c4800520062300312001230071200105a23303d3002120013003120012375a6ae88c00c480048dd69aba23574660042400246aae80c038480048cccd5ca99b89300a12001480108c00c480048c01c480041548cc0f0c00848004c00c480048c038d5d118018900091bad357446ae8cc008480048d55d018048900091999ab9533712600a240029001118018900091802890008281181c180109000918049aba2355740600c2400246666ae54cdc4980109000a400046008240024600e2400209a46aae7cc010480048c0c8c008480048c014d5d11aaba03002120012375200646a0809311919191919191919191919191999ab9533712601024002900111801090009180409000829119981e98010900098018900098020900091bac35744600a2400246eb0d5d118018900091bac357446ae8cc008480048d5d198010900091aaba030061200123333572a66e24c0084800520002300412001230071200104c235573e6008240024606c6004240024600a6ae88d55d018010900091ba900323503f4988c8c8c8c8c8c8c8c8cccd5ca99b89300412001480088c008480048c010480041348c0ecc008480048dd69aba2355740600c2400246666ae54cdc4980109000a400046008240024600e2400209646aae7cc010480048c0e0c008480048dd69aba235574060042400246ea400c8d40f92623232323232323333572a66e24d55cf980289000a400046004240024600e240020944660566004240026006240024600e6ae88c00c480048dd61aba23574660042400246aae80c008480048dd480191a81ea4c46464646666ae54cdc49aab9f300212001480008c008480048c010480041188dd69aba235574060042400246ea400c8d40f1262212330010030022001222222222212333333333300100b00a0090080070060050040030022001221233001003002200122212333001004003002200111220021221223300100400312001112212330010030021120012212330010030022001122123300100300212001122123300100300212001122123300100300212001121222300300411222002112220011200112200212200120012122223004005212222300300521222230020052122223001005200122123300100300220012122222223007008221222222233006009008212222222300500812222222004122222220032212222222330020090082212222222330010090082001212230020032221223330010050040032001212230020032122300100320012333500700300400223232323333572a66e24d55cf980109000a40004600424002460082400202646eb0d5d11aaba03002120012375200646a01293119ba448000cd5da1ba700137649311999999abaf23232323232323333572a66e24d55cf980309000a400046004240024a02602a46666aaed49404c8c00c48004c014480040548cccd55da91802090009280918010900080a11aba3300312001233353500e300d35744600424002446a0240044a02002446aae80c008480048dd4801928061280612806128060008071199a8018030038020911091998008020018010900091919191999ab95337126aae7cc0084800520002300212001230041200100d237586ae88d55d018010900091ba90032350034984988cdd22400066aed0dd38009bb24988ccccccd5d791919191919191999ab95337126aae7cc01848005200023002120012500c00e233335576a4a0184600624002600a2400201c46666aaed48c010480049402cc008480040348d5d19801890009199a9a80398031aba2300212001223500b0022500900b235574060042400246ea400c9401494014940149401400401c8ccccccd5d792802128021280211a8029bac00225004001006121223002003112200112001120012001112323001001223300332300100100200133223332223232333222333222333333332222222233223333322222333322223322332233223332223322332233322233223322332233223222233037333503600400348150ccd40d8010009205422333572a66e240080040e00dc8848cc00400c0088004888888888848cccccccccc00402c02802402001c01801401000c00880048848cc00400c008800488848ccc00401000c00880044488008488488cc00401000c48004448848cc00400c0084480048848cc00400c008800448488c00800c44880044800448848cc00400c0084800448848cc00400c0084800448848cc00400c00848004484888c00c010448880084488800448004848888c010014848888c00c014848888c008014848888c00401480048848cc00400c0088004848888888c01c0208848888888cc018024020848888888c014020488888880104888888800c8848888888cc0080240208848888888cc00402402080048488c00800c888488ccc00401401000c80048488c00800c8488c00400c80044800488ccd4c00c0088008801401c48800848800480044800480041";
const MINTING_CONTEXT_EQUIVALENCE_TEST = "591109591106010000323232332233322233223233322233322233333333222222223322333332222233332222333222332233223322333222332233223322332232323232323232323232323232323232323232323232323232332233223232323232323232332232323322323232333322223322323232323232323232323232323232323232323232323232323350015037005122223005330033004002300600125335305e001107c13504c35307b3357389210250640007c4988c8c8c8c8c8c8cccd5cd19b8735573aa00a90001280112803a4c26606aa002a0042600c6ae8540084c120d5d09aba25001135573ca00226ea80084d412d262323232323232323232323232323232323232323232323333573466e1cd55cea80aa40004a0044a02e93099999999998232800a8012801a8022802a8032803a8042804a805099a82b0249aba15012133505504935742a0202666aa0a0eb9413cd5d0a8070999aa827bae504e35742a018266a0a40aa6ae8540284cd4144cd54140155d69aba15008133504675a6ae8540184cd413dd71aba15004133504e335504d75c0986ae8540084c150d5d09aba25001135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea80084d4129262235304b002222222222325335306633301003400835303a50012222222222007153353066333503603435303a500122222222220040071323232533530693001335530101200135303d5004222222222200335012122330024800800454cd4d418001484cc0d0004d4c0f003c880044d415d26106a35001200112300135508c012253353508901001106b2213535508e01002225335306e33044002500810701300600313503d00310671067135303700a2200235001200112300135507d22112253353507c0021507e22153353507e00315080012213350810133550840100400233553008120010030011233500150785079222333004233353550170012330054800000488cc0180080048cc01400520000020012223233355300e120013501c501a23535507c0012233355301112001500423535507f00122300a0010013300500300213501b501922335530091200123535507900122335507c002333535501600123355300d1200123535507d0012233550800100235501d0010012233355500803100200123355300d1200123535507d0012233550800100235501b00100133355500302c002001111222333553004120015076335530091200123535507900122335507c00235501900133355300412001223535507a002225335305a33355300f120013500a501323535507d001223300a0020050061003133507a00400350770013355300912001235355079001223232335507e004300100635001200112300135507e2253353507b001135501a004221353550800100222533530603300d0020091335501f00800113006003002350012001123001355076221122253353507600110022213300500233355300712001005004001123350162233350050030020013500200112353500b0012200112353500a00122002350012001123001355071221122533535070001150722213350733004002335530061200100400135001200112300135506f22112322253353507000113500800422133500530040023335530081200100600400113500600112353500e0012200112353500d0012200213350030010482253353048002104a1001122123300100300212001112122230030041122122233002005004112122230010041120011335008001041225335304000210011041123350032233350070030020013500400112212330010030021200112353500300122001123535002001220021221233001003002120012233335303f0022533335304000221330060020012103b2103b2103b253333530400022103b21330100020012103b2103b253333530400022103b2103b21330070020012103b253333530400022103b2103b2103b21330050020012253353037333573466e3cd4c10c00888008d4c10c004880080e40e04ccd5cd19b8735304300222001353043001220010390381038225333333353044002215333333353045002213300500200122103a210391038103822103a22103a22153333333530460032103a2215335303a33007004002133010003001103b2103a1039103922103b22103b2153333333530450022103922103a21330050020011038103822103a22103a153333333530440012103822103921038103810372210392210391533333335304400121038221039210381037103822103922103922153333333530460032103a22103b2103a103910392215335303a333573466e3c0100080f00ec4cc04000c00440ec8840ec8854ccccccd4c11800c840e88840ec840e840e440e48840ec8854cd4c0e8ccd5cd19b8f00400203c03b133008003001103b22335304b0022335304c00223300600200122203a222335304e004203a2225335303b333573466e1c01800c0f40f054cd4c0ecccd5cd19b8700500203d03c133009004001103c103c22333573466e1c0080040d80d488cd4c1300088cd4c1340088cc02c00800480d88cd4c13400880d88cc02c0080044888d4d40b400888d4d40cc00888d4d40c401488d4d40dc00888c8c94ccd4d4100020854ccd4d4104014854cd4c0fccc03c0080045400c410040fc40fc54ccd4d4100010840fc5400440f854ccd4d4100010840fc40f85400454cd4c0f001854cd4c0f00085400440f454cd4c0f000840f4540044d4d40dc01c88d4d40e4014894ccd4d4108010854ccd4d410c00c854cd4c104cc0440080044cc04801400c41084104410454ccd4d4108008841044cc04000c004410054ccd4d41080088410441004cc04000c004894cd4c0c4008400454cd4c0c400440c840cc8848cc00400c0088004888888888848cccccccccc00402c02802402001c01801401000c008800488ccd5cd19b8f00200102e02d125335350490011350183530473357389210250620004849888400848c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cccd5cd19b8735573aa0269000128011280aa4c2666666666058a002a004a006a008a00aa00ca00ea010a012266a04202a6ae8540404cd408004cd5d0a8070999aa80dbae501a35742a018266a028eb4d5d0a8050999aa80cbae501835742a010266a038a0326ae8540184cd406c078d5d0a802099a80d3ae35742a004266a0340366ae84d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0021350174988c8c8c8c8c8c8cccd5cd19b8735573aa00a90001280112803a4c26603ea002a004260306ae8540084c014d5d09aba25001135573ca00226ea80084d405926232323232323232323333573466e1cd55cea803a40004a0044a0129309998112800a8012801898041aba1500413335500e75ca01a6ae8540084cd4049d71aba135744a00226ae8940044d55cf280089baa0021350154988c8c8c8c8c8c8cccd5cd19b8735573aa00a90001280112803a4c266042a002a0042602a6ae8540084cd404004cd5d09aba25001135573ca00226ea80084d4051261223232323232323333573466e1cd55cea802a40004a0044a00e93099a8132800a801099a8038031aba150021335007005357426ae8940044d55cf280089baa002135014498488c8c8c8c8c8c8cccd5cd19b8735573aa00a90001280112803a4c266a052a002a004266a01000c6ae8540084c020d5d09aba25001135573ca00226ea80084d404d261223232323232323333573466e1cd55cea802a40004a0044a00e93099a8132800a801099a8038031aba1500213007357426ae8940044d55cf280089baa002135012498488c8c8c8c8c8c8c8cccd5cd19b87500548010940bc940092613333573466e1d4011200225002250044984d40b940044c018d5d09aab9e500313333573466e1d400520002502c250044984d55cea80089baa0021350114988c8c8c8cccd5cd19b87500248008809c940092613333573466e1d400520002025250034984d55ce9baa00213500f4984cd54005d73ad112223232300137560066a00240022460026aa08c44646464646464646666aae7c0215411c94c00848004124d400888004d400488008d55541344888cc00c84c028d5d10049099a8262802a980189000899aa8252800a801098041aab9d50021300635573ca00226ae840044cd54009d70009000889111919191919191999ab9a3370e6aae754015200025002250074984cd54119400540084c01cd5d0a801098029aba135744a00226aae7940044dd500109a80624c244646460026eb000cd4004800448c004d5410488cccd55cf80092820919a82018031aba100230033574400407a2446464646464646666ae68cdc3a802240004a0044a0089309a80ca800898031aba135573ca00626666ae68cdc3a800a40044a02e4a0089309aab9d50011375400426a01293119191919191919191919191919191999ab9a3370ea0149003128011280224c26062a0022601c6ae84d55cf280589999ab9a3370ea00e9002128011280224c26058a002260186ae84d55cf280409999ab9a3370ea0089001128011280224c26050a002260166ae84d55cf280289999ab9a3370ea0029000128019280324c26aae75400c4c09940044dd71aba135573ca00226ea80084d401d262323232323232323232323232323232323232323232323232323333573466e1d4055200c2043250024984cccd5cd19b87501448028810c940092613333573466e1d404d200825002250064984cc0f5400540084dd71aba150021375a6ae84d5d1280089aab9e501213333573466e1d4039200625002250064984cc0e5400540084dd71aba150021375c6ae84d5d1280089aab9e500d13333573466e1d4025200425002250064984cc0e1400540084c034d5d0a80109bae357426ae8940044d55cf280409999ab9a3370ea0089001128011280224c26068a002260106ae84d55cf280289999ab9a3370ea0029000128019280324c26aae75400c4c0b940044c010d5d09aab9e50011375400426a00c9311919191919191919191919191999ab9a3370ea0109001128011280424c2666072a002a004a00626eb4d5d0a80209bad35742a00426eb4d5d09aba25001135744a00226aae7940144cccd5cd19b875001480009400c9401926135573aa00626064a002260086ae84d55cf280089baa0021350054988c8c8c8c8c8c8c8c8cccd5cd19b875004480089400894011261303750011375c6ae84d55cf280289999ab9a3370ea0029000128019280324c26aae75400c4c0d140044dd71aba135573ca00226ea80084d40112623232323232323333573466e1cd55cea802a40004a0044a00e93099813a800a801098031aba150021375a6ae84d5d1280089aab9e50011375400426a0069311919191999ab9a3370e6aae754009200025002250044984dd71aba135573ca00226ea80084d4009261262222222221233333333300100a00900800700600500400300220012212330010030022001222123330010040030022001221233001003002200112122300200311220011200112212330010030021200112212330010030021200112212330010030021200112200212200120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001112500612001200111220021221223300100400312001112212330010030021120011123230010012233003300200200111112335002212330012350032230020032350032230010030011232323001001223300330020020012212353004123530040033500300100101";
function testCbor(name, cborHex) {
console.log("Deserializing program " + name + "...");
let program = helios.deserializePlutusCore(`{"type": "PlutusScriptV1", "cborHex": "${cborHex}"}`);
console.log(program.toString() + "\n");
}
function main() {
testCbor("Const1", CONST_1);
testCbor("AlwaysFails", ALWAYS_FAILS);
testCbor("AlwaysSucceeds", ALWAYS_SUCCEEDS);
//testCbor("AlwaysSucceedsAlt", ALWAYS_SUCCEEDS_ALT);
//testCbor("Vesting", VESTING);
testCbor("HelloWorld", HELLO_WORLD);
testCbor("HelloWorldPerson", HELLO_WORLD_PERSON);
testCbor("AnyoneCanMint", ANYONE_CAN_MINT);
testCbor("ContextEquivalenceTest", CONTEXT_EQUIVALENCE_TEST);
testCbor("Guess42Stake", GUESS_42_STAKE);
testCbor("CustomGuess42Datum42", CUSTOM_GUESS_42_DATUM_42);
testCbor("MintingContextEquivalenceTest", MINTING_CONTEXT_EQUIVALENCE_TEST);
}
main();