DERO HE BlockChain Explorer(v1) Mainnet

hosted on

DERO Mining Node

Tx hash: 883565cfecbbaa00a27792137028a065ad39498dd7397f2f453c53f935cbe585 Type SC

Block: 66f18718532bd35da6f83473dcf490577b02a0bcf79c3c3ca40f8c307be67b75 (VALID)
SCID current reserves
SCID Amount(in atomic units)
0000000000000000000000000000000000000000000000000000000000000000 0
SCID string variables
key value
C 46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528227661725f6865616465725f6e616d65222c202267616d652d636f72652e6a7322290a33312053544f524528227661725f6865616465725f6465736372697074696f6e222c202222290a33322053544f524528227661725f6865616465725f69636f6e222c202222290a33332053544f524528226455524c222c202222290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c20222f22290a33362053544f5245282266696c65436865636b43222c20223032373665353333643835306362323035396262656266326239666561376566613631656165663931333632333362396463353139626366633739663339323722290a33372053544f5245282266696c65436865636b53222c20223131346532633230346663646630383239376664383733623431633664383130376430633434613465316666646361353037393130373932323636616563656622290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a0a2f2f203d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a2f2f2043495048455220534e414b452044454c555845202d20436f72652067616d65206c6f67696320287374617465202b205549202b20696e707574290a2f2f203d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a2866756e6374696f6e28297b0a20207661722063616e766173203d20646f63756d656e742e676574456c656d656e74427949642827626f61726427293b0a0a20207661722047524944203d2032353b0a20207661722043454c4c203d2063616e7661732e7769647468202f20475249443b0a202076617220535041574e5f4d415247494e203d20313b0a202076617220424153455f494e54455256414c203d2039303b0a20207661722053504545445f4d554c54203d205b312c20322c20332c20342c20355d3b0a2020766172204f5242535f5045525f54494552203d2031303b0a2020766172204d41585f48415a41524453203d2031303b0a20207661722050454e414c54595f42595f434f554e54203d207b20313a352c20323a352c20333a342c20343a342c20353a332c20363a332c20373a322c20383a322c20393a312c2031303a31207d3b0a0a2020766172206f7665726c6179203d20646f63756d656e742e676574456c656d656e744279496428276f7665726c617927293b0a202076617220737461727442746e203d20646f63756d656e742e676574456c656d656e74427949642827737461727442746e27293b0a202076617220706175736542746e203d20646f63756d656e742e676574456c656d656e74427949642827706175736542746e27293b0a202076617220726573657442746e203d20646f63756d656e742e676574456c656d656e74427949642827726573657442746e27293b0a2020766172206c6576656c73456c203d20646f63756d656e742e676574456c656d656e744279496428276c6576656c7327293b0a2020766172206c6576656c496e666f456c203d20646f63756d656e742e676574456c656d656e744279496428276c6576656c496e666f27293b0a0a202076617220656c203d207b0a202020206f726273436f756e743a20202020646f63756d656e742e676574456c656d656e744279496428276f726273436f756e7427292c0a202020206f726273506f696e74733a202020646f63756d656e742e676574456c656d656e744279496428276f726273506f696e747327292c0a2020202068617a61726473436f756e743a20646f63756d656e742e676574456c656d656e7442794964282768617a61726473436f756e7427292c0a2020202068617a61726473506f696e74733a646f63756d656e742e676574456c656d656e7442794964282768617a61726473506f696e747327292c0a20202020746f74616c53636f72653a202020646f63756d656e742e676574456c656d656e74427949642827746f74616c53636f726527292c0a2020202063757272656e744c6576656c3a20646f63756d656e742e676574456c656d656e7442794964282763757272656e744c6576656c27292c0a2020202063757272656e7453706565643a20646f63756d656e742e676574456c656d656e7442794964282763757272656e74537065656427292c0a2020202068617a617264734163746976653a646f63756d656e742e676574456c656d656e7442794964282768617a6172647341637469766527292c0a2020202070656e616c74795065724869743a646f63756d656e742e676574456c656d656e7442794964282770656e616c747950657248697427292c0a202020206e657874546965723a2020202020646f63756d656e742e676574456c656d656e744279496428276e6578745469657227292c0a2020202067616d655374617475733a202020646f63756d656e742e676574456c656d656e7442794964282767616d6553746174757327292c0a20207d3b0a0a202076617220736e616b652c206469722c206e6578744469722c206f72622c2068617a617264733b0a2020766172206c6576656c203d20313b0a202076617220706f696e74735065724f7262203d20313b0a202076617220696e74657276616c203d20424153455f494e54455256414c3b0a2020766172206c6173745469636b203d20303b0a202076617220616363756d756c61746f72203d20303b0a20207661722072756e6e696e67203d2066616c73653b0a202076617220706175736564203d2066616c73653b0a20207661722067616d654f766572203d2066616c73653b0a202076617220616e696d4964203d206e756c6c3b0a0a2020766172207374617473203d207b206f7262733a20302c206f72625074733a20302c2068617a617264733a20302c2068617a6172645074733a2030207d3b0a0a20202f2f20536861726564207374617465207075626c6973686564206f6e2077696e646f772e5f5f67616d6520736f2067616d652d72656e6465722e6a732063616e20636f6e73756d652069742e0a20207661722047203d207b0a20202020475249443a20475249442c2043454c4c3a2043454c4c2c20535041574e5f4d415247494e3a20535041574e5f4d415247494e2c0a2020202063616e7661733a2063616e7661732c0a20202020676574536e616b653a2066756e6374696f6e28297b2072657475726e20736e616b653b207d2c0a202020206765744469723a2066756e6374696f6e28297b2072657475726e206469723b207d2c0a202020206765744f72623a2066756e6374696f6e28297b2072657475726e206f72623b207d2c0a2020202067657448617a617264733a2066756e6374696f6e28297b2072657475726e2068617a617264733b207d2c0a20202020666c61736848617a6172643a20302c0a2020202074696572466c6173683a20302c0a20207d3b0a202077696e646f772e5f5f67616d65203d20473b0a0a202066756e6374696f6e207265736574537461747328297b0a2020202073746174732e6f726273203d20303b2073746174732e6f7262507473203d20303b0a2020202073746174732e68617a61726473203d20303b2073746174732e68617a617264507473203d20303b0a2020202072656e646572537461747328293b0a20207d0a0a202066756e6374696f6e2072656e646572537461747328297b0a20202020656c2e6f726273436f756e742e74657874436f6e74656e74203d2073746174732e6f7262733b0a20202020656c2e6f726273506f696e74732e74657874436f6e74656e74203d20272b27202b2073746174732e6f72625074733b0a20202020656c2e68617a61726473436f756e742e74657874436f6e74656e74203d2073746174732e68617a617264733b0a20202020656c2e68617a61726473506f696e74732e74657874436f6e74656e74203d20272d27202b2073746174732e68617a6172645074733b0a2020202076617220746f74616c203d2073746174732e6f7262507473202d2073746174732e68617a6172645074733b0a20202020656c2e746f74616c53636f72652e74657874436f6e74656e74203d20746f74616c3b0a2020202069662028746f74616c203c2030297b0a202020202020656c2e746f74616c53636f72652e7374796c652e636f6c6f72203d2027766172282d2d64616e6765722d72656429273b0a202020202020656c2e746f74616c53636f72652e7374796c652e74657874536861646f77203d2027302030203132707820766172282d2d64616e6765722d72656429273b0a202020207d20656c7365207b0a202020202020656c2e746f74616c53636f72652e7374796c652e636f6c6f72203d2027766172282d2d6e656f6e2d79656c6c6f7729273b0a202020202020656c2e746f74616c53636f72652e7374796c652e74657874536861646f77203d2027302030203132707820766172282d2d6e656f6e2d79656c6c6f7729273b0a202020207d0a2020202076617220636f756e74203d2068617a61726473203f2068617a617264732e6c656e677468203a20313b0a202020207661722070656e616c7479203d2050454e414c54595f42595f434f554e545b636f756e745d207c7c20313b0a20202020656c2e68617a617264734163746976652e74657874436f6e74656e74203d20636f756e74202b2027202f2027202b204d41585f48415a415244533b0a20202020656c2e70656e616c74795065724869742e74657874436f6e74656e74203d20272d27202b2070656e616c74793b0a2020202069662028636f756e74203e3d204d41585f48415a41524453297b0a202020202020656c2e6e657874546965722e74657874436f6e74656e74203d20274d4158273b0a202020202020656c2e6e657874546965722e7374796c652e636f6c6f72203d2027766172282d2d6e656f6e2d70696e6b29273b0a202020207d20656c7365207b0a2020202020207661722072656d61696e696e67203d204f5242535f5045525f54494552202d202873746174732e6f7262732025204f5242535f5045525f54494552293b0a202020202020656c2e6e657874546965722e74657874436f6e74656e74203d2072656d61696e696e67202b2027206f726227202b202872656d61696e696e67203e2031203f20277327203a202727293b0a202020202020656c2e6e657874546965722e7374796c652e636f6c6f72203d2027273b0a202020207d0a20207d0a0a202066756e6374696f6e20736574537461747573287478742c20636f6c6f72297b0a20202020656c2e67616d655374617475732e74657874436f6e74656e74203d207478743b0a20202020656c2e67616d655374617475732e7374796c652e636f6c6f72203d20636f6c6f72207c7c2027766172282d2d6d61747269782d677265656e29273b0a20207d0a0a20206c6576656c73456c2e6164644576656e744c697374656e65722827636c69636b272c2066756e6374696f6e2865297b0a202020207661722062746e203d20652e7461726765742e636c6f7365737428272e6c6576656c2d62746e27293b0a20202020696620282162746e207c7c2072756e6e696e67292072657475726e3b0a2020202076617220616c6c203d20646f63756d656e742e717565727953656c6563746f72416c6c28272e6c6576656c2d62746e27293b0a20202020666f7220287661722069203d20303b2069203c20616c6c2e6c656e6774683b20692b2b2920616c6c5b695d2e636c6173734c6973742e72656d6f7665282761637469766527293b0a2020202062746e2e636c6173734c6973742e616464282761637469766527293b0a202020206c6576656c203d207061727365496e742862746e2e646174617365742e6c6576656c2c203130293b0a202020207570646174654c6576656c496e666f28293b0a20207d293b0a0a202066756e6374696f6e207570646174654c6576656c496e666f28297b0a20202020766172206d756c74203d2053504545445f4d554c545b6c6576656c2d315d3b0a20202020696e74657276616c203d204d6174682e726f756e6428424153455f494e54455256414c202f206d756c74293b0a20202020706f696e74735065724f7262203d206c6576656c3b0a202020206c6576656c496e666f456c2e696e6e657248544d4c203d0a2020202020202753504545443a203c7370616e20636c6173733d22616363656e74223e7827202b206d756c742e746f4669786564283229202b20273c2f7370616e3e3c62723e27202b0a202020202020275245574152443a203c7370616e20636c6173733d22616363656e74223e2b27202b20706f696e74735065724f7262202b202720707427202b2028706f696e74735065724f7262203e2031203f20277327203a20272729202b2027202f20442d6f72623c2f7370616e3e273b0a20202020656c2e63757272656e744c6576656c2e74657874436f6e74656e74203d206c6576656c3b0a20202020656c2e63757272656e7453706565642e74657874436f6e74656e74203d20277827202b206d756c742e746f46697865642832293b0a20207d0a20207570646174654c6576656c496e666f28293b0a0a202066756e6374696f6e20696e697447616d6528297b0a20202020766172206d6964203d204d6174682e666c6f6f722847524944202f2032293b0a20202020736e616b65203d205b0a2020202020207b20783a206d6964202d20312c20793a206d6964207d2c0a2020202020207b20783a206d6964202d20322c20793a206d6964207d2c0a2020202020207b20783a206d6964202d20332c20793a206d6964207d2c0a202020205d3b0a20202020646972203d207b20783a20312c20793a2030207d3b0a202020206e657874446972203d207b20783a20312c20793a2030207d3b0a202020206f7262203d20737061776e4f726228293b0a2020202068617a61726473203d205b737061776e48617a61726428295d3b0a2020202067616d654f766572203d2066616c73653b0a20202020706175736564203d2066616c73653b0a20207d0a0a202066756e6374696f6e20697343656c6c4672656528782c20792c20696e63482c20696e634f297b0a2020202069662028696e6348203d3d3d20756e646566696e65642920696e6348203d20747275653b0a2020202069662028696e634f203d3d3d20756e646566696e65642920696e634f203d20747275653b0a20202020666f7220287661722069203d20303b2069203c20736e616b652e6c656e6774683b20692b2b297b0a20202020202069662028736e616b655b695d2e78203d3d3d207820262620736e616b655b695d2e79203d3d3d2079292072657475726e2066616c73653b0a202020207d0a2020202069662028696e634f202626206f7262202626206f72622e78203d3d3d2078202626206f72622e79203d3d3d2079292072657475726e2066616c73653b0a2020202069662028696e63482026262068617a61726473297b0a202020202020666f722028766172206a203d20303b206a203c2068617a617264732e6c656e6774683b206a2b2b297b0a20202020202020206966202868617a617264735b6a5d2e78203d3d3d20782026262068617a617264735b6a5d2e79203d3d3d2079292072657475726e2066616c73653b0a2020202020207d0a202020207d0a2020202072657475726e20747275653b0a20207d0a0a202066756e6374696f6e20737061776e41742861766f69644f72622c2061766f696448617a61726473297b0a20202020766172206d696e203d20535041574e5f4d415247494e3b0a20202020766172207370616e203d2047524944202d2032202a20535041574e5f4d415247494e3b0a2020202076617220782c20792c207472696573203d20303b0a20202020646f207b0a20202020202078203d206d696e202b204d6174682e666c6f6f72284d6174682e72616e646f6d2829202a207370616e293b0a20202020202079203d206d696e202b204d6174682e666c6f6f72284d6174682e72616e646f6d2829202a207370616e293b0a202020202020696620282b2b7472696573203e203530302920627265616b3b0a202020207d207768696c65202821697343656c6c4672656528782c20792c2061766f696448617a617264732c2061766f69644f726229293b0a2020202072657475726e207b20783a20782c20793a2079207d3b0a20207d0a202066756e6374696f6e20737061776e4f726228297b2072657475726e20737061776e41742866616c73652c2074727565293b207d0a202066756e6374696f6e20737061776e48617a61726428297b2072657475726e20737061776e417428747275652c2066616c7365293b207d0a0a2020766172206b65794d6170203d207b0a20202020274172726f775570273a202020207b783a302c20793a2d317d2c20274b657957273a207b783a302c20793a2d317d2c0a20202020274172726f77446f776e273a20207b783a302c20793a20317d2c20274b657953273a207b783a302c20793a20317d2c0a20202020274172726f774c656674273a20207b783a2d312c793a20307d2c20274b657941273a207b783a2d312c793a20307d2c0a20202020274172726f775269676874273a207b783a20312c793a20307d2c20274b657944273a207b783a20312c793a20307d2c0a20207d3b0a0a202077696e646f772e6164644576656e744c697374656e657228276b6579646f776e272c2066756e6374696f6e2865297b0a20202020766172206165203d20646f63756d656e742e616374697665456c656d656e743b0a20202020696620286165202626202861652e7461674e616d65203d3d3d2027494e50555427207c7c2061652e7461674e616d65203d3d3d2027544558544152454127207c7c2061652e6973436f6e74656e744564697461626c6529292072657475726e3b0a2020202069662028646f63756d656e742e717565727953656c6563746f7228272e6d6f64616c2d6261636b64726f702e73686f772729292072657475726e3b0a2020202069662028652e636f6465203d3d3d20274b65795027207c7c20652e636f6465203d3d3d2027537061636527297b0a2020202020206966202872756e6e696e67202626202167616d654f7665722920746f67676c65506175736528293b0a202020202020652e70726576656e7444656661756c7428293b0a20202020202072657475726e3b0a202020207d0a202020207661722064203d206b65794d61705b652e636f64655d3b0a20202020696620282164292072657475726e3b0a20202020652e70726576656e7444656661756c7428293b0a2020202069662028642e78203d3d3d202d6469722e7820262620642e79203d3d3d202d6469722e79292072657475726e3b0a202020206e657874446972203d20643b0a20207d293b0a0a2020737461727442746e2e6164644576656e744c697374656e65722827636c69636b272c20737461727452756e293b0a2020706175736542746e2e6164644576656e744c697374656e65722827636c69636b272c20746f67676c655061757365293b0a2020726573657442746e2e6164644576656e744c697374656e65722827636c69636b272c20686172645265736574293b0a0a202066756e6374696f6e20737461727452756e28297b0a20202020696e697447616d6528293b0a202020207265736574537461747328293b0a202020207570646174654c6576656c496e666f28293b0a2020202072656e646572537461747328293b0a2020202072756e6e696e67203d20747275653b0a20202020706175736564203d2066616c73653b0a2020202067616d654f766572203d2066616c73653b0a202020206f7665726c61792e636c6173734c6973742e616464282768696464656e27293b0a20202020706175736542746e2e64697361626c6564203d2066616c73653b0a20202020706175736542746e2e74657874436f6e74656e74203d20277c7c205041555345273b0a202020202f2f2046726565204350552f4750553a2073746f7020746865206d6174726978207261696e207768696c65207468652067616d652072756e730a202020206966202877696e646f772e5f5f7261696e292077696e646f772e5f5f7261696e2e73746f7028293b0a20202020736574537461747573282752554e4e494e47272c2027766172282d2d6d61747269782d677265656e2927293b0a202020206c6173745469636b203d20706572666f726d616e63652e6e6f7728293b0a20202020616363756d756c61746f72203d20303b0a2020202069662028616e696d4964292063616e63656c416e696d6174696f6e4672616d6528616e696d4964293b0a20202020616e696d4964203d2072657175657374416e696d6174696f6e4672616d65286c6f6f70293b0a20207d0a0a202066756e6374696f6e20746f67676c65506175736528297b0a20202020696620282172756e6e696e67207c7c2067616d654f766572292072657475726e3b0a20202020706175736564203d20217061757365643b0a2020202069662028706175736564297b0a202020202020706175736542746e2e74657874436f6e74656e74203d2027524553554d45273b0a2020202020207365745374617475732827504155534544272c2027766172282d2d6e656f6e2d6379616e2927293b0a20202020202073686f774f7665726c6179282753595354454d20504155534544272c202750726573732050202f205370616365206f7220636c69636b20524553554d4520746f20636f6e74696e75652e272c2027524553554d45272c20746f67676c655061757365293b0a202020207d20656c7365207b0a202020202020706175736542746e2e74657874436f6e74656e74203d20277c7c205041555345273b0a202020202020736574537461747573282752554e4e494e47272c2027766172282d2d6d61747269782d677265656e2927293b0a2020202020206f7665726c61792e636c6173734c6973742e616464282768696464656e27293b0a2020202020206c6173745469636b203d20706572666f726d616e63652e6e6f7728293b0a202020202020616363756d756c61746f72203d20303b0a202020202020616e696d4964203d2072657175657374416e696d6174696f6e4672616d65286c6f6f70293b0a202020207d0a20207d0a0a202066756e6374696f6e2068617264526573657428297b0a2020202072756e6e696e67203d2066616c73653b20706175736564203d2066616c73653b2067616d654f766572203d2066616c73653b0a2020202069662028616e696d4964292063616e63656c416e696d6174696f6e4672616d6528616e696d4964293b0a20202020696e697447616d6528293b0a202020207265736574537461747328293b0a2020202072656e646572537461747328293b0a20202020706175736542746e2e64697361626c6564203d20747275653b0a20202020706175736542746e2e74657874436f6e74656e74203d20277c7c205041555345273b0a20202020736574537461747573282749444c4527293b0a202020202f2f204261636b20746f2069646c652073637265656e20e28094206d6174726978207261696e20726573756d657320617320616d6269656e63650a202020206966202877696e646f772e5f5f7261696e292077696e646f772e5f5f7261696e2e737461727428293b0a2020202077696e646f772e5f5f6472617728293b0a2020202073686f774f7665726c61792827524541445920544f204841434b2054484520434841494e3f272c0a2020202020202753656c656374206120646966666963756c7479206c6576656c20616e642070726573732053544152542e3c62723e436f6c6c65637420442d6f7262732e2041766f6964207265642068617a617264732e3c62723e4465637279707420796f7572206869676873636f7265206f6e20746865204445524f206e65742e272c0a202020202020272667743b2053544152545f52554e272c20737461727452756e293b0a20207d0a0a202066756e6374696f6e2073686f774f7665726c6179287469746c652c206d73672c2062746e4c6162656c2c206f6e436c69636b2c206973474f297b0a202020206f7665726c61792e696e6e657248544d4c203d2027273b0a202020207661722074203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a20202020742e636c6173734e616d65203d20276f7665726c61792d7469746c6527202b20286973474f203f20272067616d656f76657227203a202727293b0a20202020742e74657874436f6e74656e74203d207469746c653b0a202020206f7665726c61792e617070656e644368696c642874293b0a0a20202020766172206d203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a202020206d2e636c6173734e616d65203d20276f7665726c61792d6d7367273b0a202020206d2e696e6e657248544d4c203d206d73673b0a202020206f7665726c61792e617070656e644368696c64286d293b0a0a20202020696620286973474f297b0a2020202020207661722066203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a202020202020662e636c6173734e616d65203d20276f7665726c61792d66696e616c273b0a20202020202076617220746f74616c203d2073746174732e6f7262507473202d2073746174732e68617a6172645074733b0a202020202020662e696e6e657248544d4c203d202746494e414c2053434f52453a203c7374726f6e673e27202b20746f74616c202b20273c2f7374726f6e673e3c62723e27202b0a2020202020202020273c7370616e207374796c653d22666f6e742d73697a653a313670783b20636f6c6f723a20766172282d2d746578742d6d75746564293b223e27202b0a202020202020202073746174732e6f726273202b2027206f72627320266d6964646f743b2027202b2073746174732e68617a61726473202b2027206869747320266d6964646f743b204c564c2027202b206c6576656c202b0a2020202020202020273c2f7370616e3e273b0a2020202020206f7665726c61792e617070656e644368696c642866293b0a0a20202020202076617220726f77203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a202020202020726f772e7374796c652e63737354657874203d2027646973706c61793a666c65783b206761703a313070783b20666c65782d777261703a777261703b206a7573746966792d636f6e74656e743a63656e7465723b206d617267696e2d746f703a3470783b273b0a20202020202076617220726574727942746e203d20646f63756d656e742e637265617465456c656d656e742827627574746f6e27293b0a202020202020726574727942746e2e636c6173734e616d65203d202762746e207072696d617279273b0a202020202020726574727942746e2e696e6e657248544d4c203d2062746e4c6162656c3b0a202020202020726574727942746e2e6164644576656e744c697374656e65722827636c69636b272c206f6e436c69636b293b0a202020202020726f772e617070656e644368696c6428726574727942746e293b0a0a20202020202069662028746f74616c203e2030297b0a20202020202020207661722070756242746e203d20646f63756d656e742e637265617465456c656d656e742827627574746f6e27293b0a202020202020202070756242746e2e636c6173734e616d65203d202762746e273b0a202020202020202070756242746e2e7374796c652e626f72646572436f6c6f72203d2027766172282d2d6e656f6e2d70696e6b29273b0a202020202020202070756242746e2e7374796c652e636f6c6f72203d2027766172282d2d6e656f6e2d70696e6b29273b0a202020202020202070756242746e2e7374796c652e74657874536861646f77203d20273020302036707820766172282d2d6e656f6e2d70696e6b29273b0a202020202020202070756242746e2e696e6e657248544d4c203d20275055424c4953485f4f4e5f434841494e273b0a202020202020202070756242746e2e6164644576656e744c697374656e65722827636c69636b272c2066756e6374696f6e28297b2077696e646f772e6f70656e5075626c6973684d6f64616c28746f74616c293b207d293b0a2020202020202020726f772e617070656e644368696c642870756242746e293b0a2020202020207d0a2020202020206f7665726c61792e617070656e644368696c6428726f77293b0a0a202020202020766172206c62203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a2020202020206c622e636c6173734e616d65203d20276c6561646572626f617264273b0a2020202020206c622e6964203d202767616d654f7665724c6561646572626f617264273b0a2020202020206c622e696e6e657248544d4c203d20273c68343e2f2f20544f502035204f4e2d434841494e3c2f68343e3c64697620636c6173733d226c622d656d707479223e2f2f206665746368696e672066726f6d2027202b0a20202020202020202877696e646f772e4c6561646572626f6172642e69734c6976652829203f20274445524f20636861696e27203a202773696d756c6174696f6e2073746f726167652729202b20272e2e2e202f2f3c2f6469763e273b0a2020202020206f7665726c61792e617070656e644368696c64286c62293b0a0a20202020202077696e646f772e4c6561646572626f6172642e6665746368546f703528290a20202020202020202e7468656e2866756e6374696f6e28726f7773297b2077696e646f772e72656e64657247616d654f7665724c6561646572626f61726428726f7773293b207d290a20202020202020202e63617463682866756e6374696f6e28657272297b0a2020202020202020202076617220656c78203d20646f63756d656e742e676574456c656d656e7442794964282767616d654f7665724c6561646572626f61726427293b0a2020202020202020202069662028656c782920656c782e696e6e657248544d4c203d20273c68343e2f2f20544f502035204f4e2d434841494e3c2f68343e27202b0a202020202020202020202020273c64697620636c6173733d226c622d656d70747922207374796c653d22636f6c6f723a20766172282d2d64616e6765722d726564293b223e27202b0a20202020202020202020202077696e646f772e65736361706548746d6c286572722e6d657373616765207c7c202772656164206661696c65642729202b20273c2f6469763e273b0a20202020202020207d293b0a202020207d20656c7365207b0a2020202020207661722062203d20646f63756d656e742e637265617465456c656d656e742827627574746f6e27293b0a202020202020622e636c6173734e616d65203d202762746e207072696d617279273b0a202020202020622e696e6e657248544d4c203d2062746e4c6162656c3b0a202020202020622e6164644576656e744c697374656e65722827636c69636b272c206f6e436c69636b293b0a2020202020206f7665726c61792e617070656e644368696c642862293b0a202020207d0a202020206f7665726c61792e636c6173734c6973742e72656d6f7665282768696464656e27293b0a20207d0a0a202066756e6374696f6e206c6f6f70287473297b0a20202020696620282172756e6e696e67207c7c20706175736564207c7c2067616d654f766572292072657475726e3b0a0a202020202f2f2044657465726d696e697374696320616363756d756c61746f72207061747465726e3a2072756e206173206d616e79207469636b73206173206e656564656420746f0a202020202f2f20636f6e73756d652074686520656c61707365642074696d652e205370656564206265636f6d657320696e646570656e64656e74206f66207265667265736820726174650a202020202f2f20616e6420737572766976657320474320706175736573202f207461622d73776974636820736c6f77646f776e732e0a202020207661722064656c7461203d207473202d206c6173745469636b3b0a0a202020202f2f204361702064656c746120746f2061766f696420746865202264656174682073706972616c22206966207468652070616765207761732070617573656420666f722061206c6f6e670a202020202f2f2074696d652028652e672e20746162206261636b67726f756e646564292e20576974686f75742074686973206361702c20636f6d696e67206261636b20746f20746865207461620a202020202f2f20776f756c6420747269676765722068756e6472656473206f66207469636b73206174206f6e636520616e64206b696c6c2074686520736e616b6520696e7374616e746c792e0a202020206966202864656c7461203e20353030292064656c7461203d203530303b0a0a202020206c6173745469636b203d2074733b0a20202020616363756d756c61746f72202b3d2064656c74613b0a0a202020207768696c652028616363756d756c61746f72203e3d20696e74657276616c2026262072756e6e696e672026262021706175736564202626202167616d654f766572297b0a2020202020207469636b28293b0a202020202020616363756d756c61746f72202d3d20696e74657276616c3b0a202020207d0a0a2020202077696e646f772e5f5f6472617728293b0a20202020616e696d4964203d2072657175657374416e696d6174696f6e4672616d65286c6f6f70293b0a20207d0a0a202066756e6374696f6e207469636b28297b0a20202020646972203d206e6578744469723b0a202020207661722068656164203d207b20783a20736e616b655b305d2e78202b206469722e782c20793a20736e616b655b305d2e79202b206469722e79207d3b0a2020202069662028686561642e78203c2030207c7c20686561642e78203e3d2047524944207c7c20686561642e79203c2030207c7c20686561642e79203e3d2047524944297b0a20202020202072657475726e20656e6447616d65282757414c4c5f42524541434827293b0a202020207d0a20202020666f7220287661722069203d20303b2069203c20736e616b652e6c656e6774683b20692b2b297b0a20202020202069662028736e616b655b695d2e78203d3d3d20686561642e7820262620736e616b655b695d2e79203d3d3d20686561642e79297b0a202020202020202072657475726e20656e6447616d65282753454c465f4c4f4f5027293b0a2020202020207d0a202020207d0a20202020736e616b652e756e73686966742868656164293b0a2020202069662028686561642e78203d3d3d206f72622e7820262620686561642e79203d3d3d206f72622e79297b0a20202020202073746174732e6f7262732b2b3b0a20202020202073746174732e6f7262507473202b3d20706f696e74735065724f72623b0a2020202020206f7262203d20737061776e4f726228293b0a2020202020206966202873746174732e6f7262732025204f5242535f5045525f54494552203d3d3d20302026262068617a617264732e6c656e677468203c204d41585f48415a41524453297b0a202020202020202068617a617264732e7075736828737061776e48617a6172642829293b0a2020202020202020472e74696572466c617368203d2034353b0a2020202020207d0a20202020202072656e646572537461747328293b0a202020207d20656c7365207b0a202020202020736e616b652e706f7028293b0a202020207d0a20202020666f722028766172206a203d20303b206a203c2068617a617264732e6c656e6774683b206a2b2b297b0a20202020202069662028686561642e78203d3d3d2068617a617264735b6a5d2e7820262620686561642e79203d3d3d2068617a617264735b6a5d2e79297b0a20202020202020207661722070656e616c7479203d2050454e414c54595f42595f434f554e545b68617a617264732e6c656e6774685d207c7c20313b0a202020202020202073746174732e68617a617264732b2b3b0a202020202020202073746174732e68617a617264507473202b3d2070656e616c74793b0a202020202020202068617a617264735b6a5d203d20737061776e48617a61726428293b0a2020202020202020472e666c61736848617a617264203d2031303b0a202020202020202072656e646572537461747328293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20656e6447616d6528726561736f6e297b0a2020202072756e6e696e67203d2066616c73653b0a2020202067616d654f766572203d20747275653b0a20202020736574537461747573282747414d455f4f564552272c2027766172282d2d64616e6765722d7265642927293b0a20202020706175736542746e2e64697361626c6564203d20747275653b0a202020202f2f204272696e6720746865206d6174726978207261696e206261636b206f6e207468652064656174682073637265656e0a202020206966202877696e646f772e5f5f7261696e292077696e646f772e5f5f7261696e2e737461727428293b0a20202020766172206d7367203d20726561736f6e203d3d3d202757414c4c5f425245414348270a2020202020203f2027596f757220736e616b6520627265616368656420746865206772696420706572696d657465722e3c62723e436f6e6e656374696f6e20746f204445524f206c6f73742e270a2020202020203a2027596f757220736e616b6520666f6c64656420696e746f20697473206f776e206c6f6f702e3c62723e496e66696e69746520726563757273696f6e2064657465637465642e273b0a2020202073686f774f7665726c617928273e3e2047414d45204f564552203c3c272c206d73672c20275245545259272c20737461727452756e2c2074727565293b0a20207d0a0a2020696e697447616d6528293b0a202072656e646572537461747328293b0a0a20202f2f20446566657220696e697469616c206472617720746f2061667465722072656e64657220736372697074206c6f616465640a202073657454696d656f75742866756e6374696f6e28297b206966202877696e646f772e5f5f64726177292077696e646f772e5f5f6472617728293b207d2c2030293b0a7d2928293b0a0a2a2f
dURL
dislikes 0
docType 54454c412d4a532d31
docVersion 312e302e30
fileCheckC 30323736653533336438353063623230353962626562663262396665613765666136316561656639313336323333623964633531396263666337396633393237
fileCheckS 31313465326332303466636466303832393766643837336234316336643831303764306334346134653166666463613530373931303739323236366165636566
hash 38383335363563666563626261613030613237373932313337303238613036356164333934393864643733393766326634353363353366393335636265353835
likes 0
owner 6465726f3171796a7276376871737471677a77386575356e6e6832613867663973787474713830306b737934337732766a3765643473776e37757167646873763636
subDir 2f
var_header_description
var_header_icon
var_header_name 67616d652d636f72652e6a73
SCID uint64 variables
key value
built BLID : d9e833bf58116881a5d443da4d4491ffc17475224acc7ae93dab84771ece1678
Tx RootHash: c3f45eee9be7867f9ccc204ce6f9084198dfe7fa40218dd7bd6e4607b6efa7e1 built height : 6952240
Timestamp: 1777068568618 Timestamp [UTC]: 2026-04-25 00:09:28 Age [y:d:h:m:s]: 5:23:23.136
Block: 6952244 Fee: 0.15233 Tx size: 16.261 kB
Tx version: 1 No of confirmations: 1048 Signature type: DERO_HOMOMORPHIC
Extra:
DERO : 2 inputs/outputs (RING size) Fees 0.15233 Deposited to SC 0.00000
Sender : dero1qyjrv7hqstqgzw8eu5nnh2a8gf9sxttq800ksy43w2vj7ed4swn7uqgdhsv66
address
dero1qygteevwgcrnf24vrsk2cyxyn0nqr3f0fg5lvughr7y8u0qnsg87kqg0kqhr9
dero1qyjrv7hqstqgzw8eu5nnh2a8gf9sxttq800ksy43w2vj7ed4swn7uqgdhsv66
SC Balance: 0.00000 DERO
SC CODE:
  Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("var_header_name", "game-core.js")
31 STORE("var_header_description", "")
32 STORE("var_header_icon", "")
33 STORE("dURL", "")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "/")
36 STORE("fileCheckC", "0276e533d850cb2059bbebf2b9fea7efa61eaef9136233b9dc519bcfc79f3927")
37 STORE("fileCheckS", "114e2c204fcdf08297fd873b41c6d8107d0c44a4e1ffdca507910792266aecef")
100 RETURN 0
End Function

Function init() Uint64
10 IF EXISTS("owner") == 0 THEN GOTO 30
20 RETURN 1
30 STORE("owner", address())
50 STORE("docVersion", "1.0.0")
60 STORE("hash", HEX(TXID()))
70 STORE("likes", 0)
80 STORE("dislikes", 0)
100 RETURN 0
End Function

Function address() String
10 DIM s as String
20 LET s = SIGNER()
30 IF IS_ADDRESS_VALID(s) THEN GOTO 50
40 RETURN "anon"
50 RETURN ADDRESS_STRING(s)
End Function

Function Rate(r Uint64) Uint64
10 DIM addr as String
15 LET addr = address()
16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30
20 RETURN 1
30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT())
40 IF r < 50 THEN GOTO 70
50 STORE("likes", LOAD("likes")+1)
60 RETURN 0
70 STORE("dislikes", LOAD("dislikes")+1)
100 RETURN 0
End Function

/*
// ============================================================
// CIPHER SNAKE DELUXE - Core game logic (state + UI + input)
// ============================================================
(function(){
  var canvas = document.getElementById('board');

  var GRID = 25;
  var CELL = canvas.width / GRID;
  var SPAWN_MARGIN = 1;
  var BASE_INTERVAL = 90;
  var SPEED_MULT = [1, 2, 3, 4, 5];
  var ORBS_PER_TIER = 10;
  var MAX_HAZARDS = 10;
  var PENALTY_BY_COUNT = { 1:5, 2:5, 3:4, 4:4, 5:3, 6:3, 7:2, 8:2, 9:1, 10:1 };

  var overlay = document.getElementById('overlay');
  var startBtn = document.getElementById('startBtn');
  var pauseBtn = document.getElementById('pauseBtn');
  var resetBtn = document.getElementById('resetBtn');
  var levelsEl = document.getElementById('levels');
  var levelInfoEl = document.getElementById('levelInfo');

  var el = {
    orbsCount:    document.getElementById('orbsCount'),
    orbsPoints:   document.getElementById('orbsPoints'),
    hazardsCount: document.getElementById('hazardsCount'),
    hazardsPoints:document.getElementById('hazardsPoints'),
    totalScore:   document.getElementById('totalScore'),
    currentLevel: document.getElementById('currentLevel'),
    currentSpeed: document.getElementById('currentSpeed'),
    hazardsActive:document.getElementById('hazardsActive'),
    penaltyPerHit:document.getElementById('penaltyPerHit'),
    nextTier:     document.getElementById('nextTier'),
    gameStatus:   document.getElementById('gameStatus'),
  };

  var snake, dir, nextDir, orb, hazards;
  var level = 1;
  var pointsPerOrb = 1;
  var interval = BASE_INTERVAL;
  var lastTick = 0;
  var accumulator = 0;
  var running = false;
  var paused = false;
  var gameOver = false;
  var animId = null;

  var stats = { orbs: 0, orbPts: 0, hazards: 0, hazardPts: 0 };

  // Shared state published on window.__game so game-render.js can consume it.
  var G = {
    GRID: GRID, CELL: CELL, SPAWN_MARGIN: SPAWN_MARGIN,
    canvas: canvas,
    getSnake: function(){ return snake; },
    getDir: function(){ return dir; },
    getOrb: function(){ return orb; },
    getHazards: function(){ return hazards; },
    flashHazard: 0,
    tierFlash: 0,
  };
  window.__game = G;

  function resetStats(){
    stats.orbs = 0; stats.orbPts = 0;
    stats.hazards = 0; stats.hazardPts = 0;
    renderStats();
  }

  function renderStats(){
    el.orbsCount.textContent = stats.orbs;
    el.orbsPoints.textContent = '+' + stats.orbPts;
    el.hazardsCount.textContent = stats.hazards;
    el.hazardsPoints.textContent = '-' + stats.hazardPts;
    var total = stats.orbPts - stats.hazardPts;
    el.totalScore.textContent = total;
    if (total < 0){
      el.totalScore.style.color = 'var(--danger-red)';
      el.totalScore.style.textShadow = '0 0 12px var(--danger-red)';
    } else {
      el.totalScore.style.color = 'var(--neon-yellow)';
      el.totalScore.style.textShadow = '0 0 12px var(--neon-yellow)';
    }
    var count = hazards ? hazards.length : 1;
    var penalty = PENALTY_BY_COUNT[count] || 1;
    el.hazardsActive.textContent = count + ' / ' + MAX_HAZARDS;
    el.penaltyPerHit.textContent = '-' + penalty;
    if (count >= MAX_HAZARDS){
      el.nextTier.textContent = 'MAX';
      el.nextTier.style.color = 'var(--neon-pink)';
    } else {
      var remaining = ORBS_PER_TIER - (stats.orbs % ORBS_PER_TIER);
      el.nextTier.textContent = remaining + ' orb' + (remaining > 1 ? 's' : '');
      el.nextTier.style.color = '';
    }
  }

  function setStatus(txt, color){
    el.gameStatus.textContent = txt;
    el.gameStatus.style.color = color || 'var(--matrix-green)';
  }

  levelsEl.addEventListener('click', function(e){
    var btn = e.target.closest('.level-btn');
    if (!btn || running) return;
    var all = document.querySelectorAll('.level-btn');
    for (var i = 0; i < all.length; i++) all[i].classList.remove('active');
    btn.classList.add('active');
    level = parseInt(btn.dataset.level, 10);
    updateLevelInfo();
  });

  function updateLevelInfo(){
    var mult = SPEED_MULT[level-1];
    interval = Math.round(BASE_INTERVAL / mult);
    pointsPerOrb = level;
    levelInfoEl.innerHTML =
      'SPEED: <span class="accent">x' + mult.toFixed(2) + '</span><br>' +
      'REWARD: <span class="accent">+' + pointsPerOrb + ' pt' + (pointsPerOrb > 1 ? 's' : '') + ' / D-orb</span>';
    el.currentLevel.textContent = level;
    el.currentSpeed.textContent = 'x' + mult.toFixed(2);
  }
  updateLevelInfo();

  function initGame(){
    var mid = Math.floor(GRID / 2);
    snake = [
      { x: mid - 1, y: mid },
      { x: mid - 2, y: mid },
      { x: mid - 3, y: mid },
    ];
    dir = { x: 1, y: 0 };
    nextDir = { x: 1, y: 0 };
    orb = spawnOrb();
    hazards = [spawnHazard()];
    gameOver = false;
    paused = false;
  }

  function isCellFree(x, y, incH, incO){
    if (incH === undefined) incH = true;
    if (incO === undefined) incO = true;
    for (var i = 0; i < snake.length; i++){
      if (snake[i].x === x && snake[i].y === y) return false;
    }
    if (incO && orb && orb.x === x && orb.y === y) return false;
    if (incH && hazards){
      for (var j = 0; j < hazards.length; j++){
        if (hazards[j].x === x && hazards[j].y === y) return false;
      }
    }
    return true;
  }

  function spawnAt(avoidOrb, avoidHazards){
    var min = SPAWN_MARGIN;
    var span = GRID - 2 * SPAWN_MARGIN;
    var x, y, tries = 0;
    do {
      x = min + Math.floor(Math.random() * span);
      y = min + Math.floor(Math.random() * span);
      if (++tries > 500) break;
    } while (!isCellFree(x, y, avoidHazards, avoidOrb));
    return { x: x, y: y };
  }
  function spawnOrb(){ return spawnAt(false, true); }
  function spawnHazard(){ return spawnAt(true, false); }

  var keyMap = {
    'ArrowUp':    {x:0, y:-1}, 'KeyW': {x:0, y:-1},
    'ArrowDown':  {x:0, y: 1}, 'KeyS': {x:0, y: 1},
    'ArrowLeft':  {x:-1,y: 0}, 'KeyA': {x:-1,y: 0},
    'ArrowRight': {x: 1,y: 0}, 'KeyD': {x: 1,y: 0},
  };

  window.addEventListener('keydown', function(e){
    var ae = document.activeElement;
    if (ae && (ae.tagName === 'INPUT' || ae.tagName === 'TEXTAREA' || ae.isContentEditable)) return;
    if (document.querySelector('.modal-backdrop.show')) return;
    if (e.code === 'KeyP' || e.code === 'Space'){
      if (running && !gameOver) togglePause();
      e.preventDefault();
      return;
    }
    var d = keyMap[e.code];
    if (!d) return;
    e.preventDefault();
    if (d.x === -dir.x && d.y === -dir.y) return;
    nextDir = d;
  });

  startBtn.addEventListener('click', startRun);
  pauseBtn.addEventListener('click', togglePause);
  resetBtn.addEventListener('click', hardReset);

  function startRun(){
    initGame();
    resetStats();
    updateLevelInfo();
    renderStats();
    running = true;
    paused = false;
    gameOver = false;
    overlay.classList.add('hidden');
    pauseBtn.disabled = false;
    pauseBtn.textContent = '|| PAUSE';
    // Free CPU/GPU: stop the matrix rain while the game runs
    if (window.__rain) window.__rain.stop();
    setStatus('RUNNING', 'var(--matrix-green)');
    lastTick = performance.now();
    accumulator = 0;
    if (animId) cancelAnimationFrame(animId);
    animId = requestAnimationFrame(loop);
  }

  function togglePause(){
    if (!running || gameOver) return;
    paused = !paused;
    if (paused){
      pauseBtn.textContent = 'RESUME';
      setStatus('PAUSED', 'var(--neon-cyan)');
      showOverlay('SYSTEM PAUSED', 'Press P / Space or click RESUME to continue.', 'RESUME', togglePause);
    } else {
      pauseBtn.textContent = '|| PAUSE';
      setStatus('RUNNING', 'var(--matrix-green)');
      overlay.classList.add('hidden');
      lastTick = performance.now();
      accumulator = 0;
      animId = requestAnimationFrame(loop);
    }
  }

  function hardReset(){
    running = false; paused = false; gameOver = false;
    if (animId) cancelAnimationFrame(animId);
    initGame();
    resetStats();
    renderStats();
    pauseBtn.disabled = true;
    pauseBtn.textContent = '|| PAUSE';
    setStatus('IDLE');
    // Back to idle screen — matrix rain resumes as ambience
    if (window.__rain) window.__rain.start();
    window.__draw();
    showOverlay('READY TO HACK THE CHAIN?',
      'Select a difficulty level and press START.<br>Collect D-orbs. Avoid red hazards.<br>Decrypt your highscore on the DERO net.',
      '&gt; START_RUN', startRun);
  }

  function showOverlay(title, msg, btnLabel, onClick, isGO){
    overlay.innerHTML = '';
    var t = document.createElement('div');
    t.className = 'overlay-title' + (isGO ? ' gameover' : '');
    t.textContent = title;
    overlay.appendChild(t);

    var m = document.createElement('div');
    m.className = 'overlay-msg';
    m.innerHTML = msg;
    overlay.appendChild(m);

    if (isGO){
      var f = document.createElement('div');
      f.className = 'overlay-final';
      var total = stats.orbPts - stats.hazardPts;
      f.innerHTML = 'FINAL SCORE: <strong>' + total + '</strong><br>' +
        '<span style="font-size:16px; color: var(--text-muted);">' +
        stats.orbs + ' orbs &middot; ' + stats.hazards + ' hits &middot; LVL ' + level +
        '</span>';
      overlay.appendChild(f);

      var row = document.createElement('div');
      row.style.cssText = 'display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:4px;';
      var retryBtn = document.createElement('button');
      retryBtn.className = 'btn primary';
      retryBtn.innerHTML = btnLabel;
      retryBtn.addEventListener('click', onClick);
      row.appendChild(retryBtn);

      if (total > 0){
        var pubBtn = document.createElement('button');
        pubBtn.className = 'btn';
        pubBtn.style.borderColor = 'var(--neon-pink)';
        pubBtn.style.color = 'var(--neon-pink)';
        pubBtn.style.textShadow = '0 0 6px var(--neon-pink)';
        pubBtn.innerHTML = 'PUBLISH_ON_CHAIN';
        pubBtn.addEventListener('click', function(){ window.openPublishModal(total); });
        row.appendChild(pubBtn);
      }
      overlay.appendChild(row);

      var lb = document.createElement('div');
      lb.className = 'leaderboard';
      lb.id = 'gameOverLeaderboard';
      lb.innerHTML = '<h4>// TOP 5 ON-CHAIN</h4><div class="lb-empty">// fetching from ' +
        (window.Leaderboard.isLive() ? 'DERO chain' : 'simulation storage') + '... //</div>';
      overlay.appendChild(lb);

      window.Leaderboard.fetchTop5()
        .then(function(rows){ window.renderGameOverLeaderboard(rows); })
        .catch(function(err){
          var elx = document.getElementById('gameOverLeaderboard');
          if (elx) elx.innerHTML = '<h4>// TOP 5 ON-CHAIN</h4>' +
            '<div class="lb-empty" style="color: var(--danger-red);">' +
            window.escapeHtml(err.message || 'read failed') + '</div>';
        });
    } else {
      var b = document.createElement('button');
      b.className = 'btn primary';
      b.innerHTML = btnLabel;
      b.addEventListener('click', onClick);
      overlay.appendChild(b);
    }
    overlay.classList.remove('hidden');
  }

  function loop(ts){
    if (!running || paused || gameOver) return;

    // Deterministic accumulator pattern: run as many ticks as needed to
    // consume the elapsed time. Speed becomes independent of refresh rate
    // and survives GC pauses / tab-switch slowdowns.
    var delta = ts - lastTick;

    // Cap delta to avoid the "death spiral" if the page was paused for a long
    // time (e.g. tab backgrounded). Without this cap, coming back to the tab
    // would trigger hundreds of ticks at once and kill the snake instantly.
    if (delta > 500) delta = 500;

    lastTick = ts;
    accumulator += delta;

    while (accumulator >= interval && running && !paused && !gameOver){
      tick();
      accumulator -= interval;
    }

    window.__draw();
    animId = requestAnimationFrame(loop);
  }

  function tick(){
    dir = nextDir;
    var head = { x: snake[0].x + dir.x, y: snake[0].y + dir.y };
    if (head.x < 0 || head.x >= GRID || head.y < 0 || head.y >= GRID){
      return endGame('WALL_BREACH');
    }
    for (var i = 0; i < snake.length; i++){
      if (snake[i].x === head.x && snake[i].y === head.y){
        return endGame('SELF_LOOP');
      }
    }
    snake.unshift(head);
    if (head.x === orb.x && head.y === orb.y){
      stats.orbs++;
      stats.orbPts += pointsPerOrb;
      orb = spawnOrb();
      if (stats.orbs % ORBS_PER_TIER === 0 && hazards.length < MAX_HAZARDS){
        hazards.push(spawnHazard());
        G.tierFlash = 45;
      }
      renderStats();
    } else {
      snake.pop();
    }
    for (var j = 0; j < hazards.length; j++){
      if (head.x === hazards[j].x && head.y === hazards[j].y){
        var penalty = PENALTY_BY_COUNT[hazards.length] || 1;
        stats.hazards++;
        stats.hazardPts += penalty;
        hazards[j] = spawnHazard();
        G.flashHazard = 10;
        renderStats();
        break;
      }
    }
  }

  function endGame(reason){
    running = false;
    gameOver = true;
    setStatus('GAME_OVER', 'var(--danger-red)');
    pauseBtn.disabled = true;
    // Bring the matrix rain back on the death screen
    if (window.__rain) window.__rain.start();
    var msg = reason === 'WALL_BREACH'
      ? 'Your snake breached the grid perimeter.<br>Connection to DERO lost.'
      : 'Your snake folded into its own loop.<br>Infinite recursion detected.';
    showOverlay('>> GAME OVER <<', msg, 'RETRY', startRun, true);
  }

  initGame();
  renderStats();

  // Defer initial draw to after render script loaded
  setTimeout(function(){ if (window.__draw) window.__draw(); }, 0);
})();

*/
SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'Function InitializePrivate() Uint64 10 IF init() == 0 THEN GOTO 30 20 RETURN 1 30 STORE("var_header_name", "game-core.js") 31 STORE("var_header_description", "") 32 STORE("var_header_icon", "") 33 STORE("dURL", "") 34 STORE("docType", "TELA-JS-1") 35 STORE("subDir", "/") 36 STORE("fileCheckC", "0276e533d850cb2059bbebf2b9fea7efa61eaef9136233b9dc519bcfc79f3927") 37 STORE("fileCheckS", "114e2c204fcdf08297fd873b41c6d8107d0c44a4e1ffdca507910792266aecef") 100 RETURN 0 End Function Function init() Uint64 10 IF EXISTS("owner") == 0 THEN GOTO 30 20 RETURN 1 30 STORE("owner", address()) 50 STORE("docVersion", "1.0.0") 60 STORE("hash", HEX(TXID())) 70 STORE("likes", 0) 80 STORE("dislikes", 0) 100 RETURN 0 End Function Function address() String 10 DIM s as String 20 LET s = SIGNER() 30 IF IS_ADDRESS_VALID(s) THEN GOTO 50 40 RETURN "anon" 50 RETURN ADDRESS_STRING(s) End Function Function Rate(r Uint64) Uint64 10 DIM addr as String 15 LET addr = address() 16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30 20 RETURN 1 30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT()) 40 IF r < 50 THEN GOTO 70 50 STORE("likes", LOAD("likes")+1) 60 RETURN 0 70 STORE("dislikes", LOAD("dislikes")+1) 100 RETURN 0 End Function /* // ============================================================ // CIPHER SNAKE DELUXE - Core game logic (state + UI + input) // ============================================================ (function(){ var canvas = document.getElementById('board'); var GRID = 25; var CELL = canvas.width / GRID; var SPAWN_MARGIN = 1; var BASE_INTERVAL = 90; var SPEED_MULT = [1, 2, 3, 4, 5]; var ORBS_PER_TIER = 10; var MAX_HAZARDS = 10; var PENALTY_BY_COUNT = { 1:5, 2:5, 3:4, 4:4, 5:3, 6:3, 7:2, 8:2, 9:1, 10:1 }; var overlay = document.getElementById('overlay'); var startBtn = document.getElementById('startBtn'); var pauseBtn = document.getElementById('pauseBtn'); var resetBtn = document.getElementById('resetBtn'); var levelsEl = document.getElementById('levels'); var levelInfoEl = document.getElementById('levelInfo'); var el = { orbsCount: document.getElementById('orbsCount'), orbsPoints: document.getElementById('orbsPoints'), hazardsCount: document.getElementById('hazardsCount'), hazardsPoints:document.getElementById('hazardsPoints'), totalScore: document.getElementById('totalScore'), currentLevel: document.getElementById('currentLevel'), currentSpeed: document.getElementById('currentSpeed'), hazardsActive:document.getElementById('hazardsActive'), penaltyPerHit:document.getElementById('penaltyPerHit'), nextTier: document.getElementById('nextTier'), gameStatus: document.getElementById('gameStatus'), }; var snake, dir, nextDir, orb, hazards; var level = 1; var pointsPerOrb = 1; var interval = BASE_INTERVAL; var lastTick = 0; var accumulator = 0; var running = false; var paused = false; var gameOver = false; var animId = null; var stats = { orbs: 0, orbPts: 0, hazards: 0, hazardPts: 0 }; // Shared state published on window.__game so game-render.js can consume it. var G = { GRID: GRID, CELL: CELL, SPAWN_MARGIN: SPAWN_MARGIN, canvas: canvas, getSnake: function(){ return snake; }, getDir: function(){ return dir; }, getOrb: function(){ return orb; }, getHazards: function(){ return hazards; }, flashHazard: 0, tierFlash: 0, }; window.__game = G; function resetStats(){ stats.orbs = 0; stats.orbPts = 0; stats.hazards = 0; stats.hazardPts = 0; renderStats(); } function renderStats(){ el.orbsCount.textContent = stats.orbs; el.orbsPoints.textContent = '+' + stats.orbPts; el.hazardsCount.textContent = stats.hazards; el.hazardsPoints.textContent = '-' + stats.hazardPts; var total = stats.orbPts - stats.hazardPts; el.totalScore.textContent = total; if (total < 0){ el.totalScore.style.color = 'var(--danger-red)'; el.totalScore.style.textShadow = '0 0 12px var(--danger-red)'; } else { el.totalScore.style.color = 'var(--neon-yellow)'; el.totalScore.style.textShadow = '0 0 12px var(--neon-yellow)'; } var count = hazards ? hazards.length : 1; var penalty = PENALTY_BY_COUNT[count] || 1; el.hazardsActive.textContent = count + ' / ' + MAX_HAZARDS; el.penaltyPerHit.textContent = '-' + penalty; if (count >= MAX_HAZARDS){ el.nextTier.textContent = 'MAX'; el.nextTier.style.color = 'var(--neon-pink)'; } else { var remaining = ORBS_PER_TIER - (stats.orbs % ORBS_PER_TIER); el.nextTier.textContent = remaining + ' orb' + (remaining > 1 ? 's' : ''); el.nextTier.style.color = ''; } } function setStatus(txt, color){ el.gameStatus.textContent = txt; el.gameStatus.style.color = color || 'var(--matrix-green)'; } levelsEl.addEventListener('click', function(e){ var btn = e.target.closest('.level-btn'); if (!btn || running) return; var all = document.querySelectorAll('.level-btn'); for (var i = 0; i < all.length; i++) all[i].classList.remove('active'); btn.classList.add('active'); level = parseInt(btn.dataset.level, 10); updateLevelInfo(); }); function updateLevelInfo(){ var mult = SPEED_MULT[level-1]; interval = Math.round(BASE_INTERVAL / mult); pointsPerOrb = level; levelInfoEl.innerHTML = 'SPEED: <span class="accent">x' + mult.toFixed(2) + '</span><br>' + 'REWARD: <span class="accent">+' + pointsPerOrb + ' pt' + (pointsPerOrb > 1 ? 's' : '') + ' / D-orb</span>'; el.currentLevel.textContent = level; el.currentSpeed.textContent = 'x' + mult.toFixed(2); } updateLevelInfo(); function initGame(){ var mid = Math.floor(GRID / 2); snake = [ { x: mid - 1, y: mid }, { x: mid - 2, y: mid }, { x: mid - 3, y: mid }, ]; dir = { x: 1, y: 0 }; nextDir = { x: 1, y: 0 }; orb = spawnOrb(); hazards = [spawnHazard()]; gameOver = false; paused = false; } function isCellFree(x, y, incH, incO){ if (incH === undefined) incH = true; if (incO === undefined) incO = true; for (var i = 0; i < snake.length; i++){ if (snake[i].x === x && snake[i].y === y) return false; } if (incO && orb && orb.x === x && orb.y === y) return false; if (incH && hazards){ for (var j = 0; j < hazards.length; j++){ if (hazards[j].x === x && hazards[j].y === y) return false; } } return true; } function spawnAt(avoidOrb, avoidHazards){ var min = SPAWN_MARGIN; var span = GRID - 2 * SPAWN_MARGIN; var x, y, tries = 0; do { x = min + Math.floor(Math.random() * span); y = min + Math.floor(Math.random() * span); if (++tries > 500) break; } while (!isCellFree(x, y, avoidHazards, avoidOrb)); return { x: x, y: y }; } function spawnOrb(){ return spawnAt(false, true); } function spawnHazard(){ return spawnAt(true, false); } var keyMap = { 'ArrowUp': {x:0, y:-1}, 'KeyW': {x:0, y:-1}, 'ArrowDown': {x:0, y: 1}, 'KeyS': {x:0, y: 1}, 'ArrowLeft': {x:-1,y: 0}, 'KeyA': {x:-1,y: 0}, 'ArrowRight': {x: 1,y: 0}, 'KeyD': {x: 1,y: 0}, }; window.addEventListener('keydown', function(e){ var ae = document.activeElement; if (ae && (ae.tagName === 'INPUT' || ae.tagName === 'TEXTAREA' || ae.isContentEditable)) return; if (document.querySelector('.modal-backdrop.show')) return; if (e.code === 'KeyP' || e.code === 'Space'){ if (running && !gameOver) togglePause(); e.preventDefault(); return; } var d = keyMap[e.code]; if (!d) return; e.preventDefault(); if (d.x === -dir.x && d.y === -dir.y) return; nextDir = d; }); startBtn.addEventListener('click', startRun); pauseBtn.addEventListener('click', togglePause); resetBtn.addEventListener('click', hardReset); function startRun(){ initGame(); resetStats(); updateLevelInfo(); renderStats(); running = true; paused = false; gameOver = false; overlay.classList.add('hidden'); pauseBtn.disabled = false; pauseBtn.textContent = '|| PAUSE'; // Free CPU/GPU: stop the matrix rain while the game runs if (window.__rain) window.__rain.stop(); setStatus('RUNNING', 'var(--matrix-green)'); lastTick = performance.now(); accumulator = 0; if (animId) cancelAnimationFrame(animId); animId = requestAnimationFrame(loop); } function togglePause(){ if (!running || gameOver) return; paused = !paused; if (paused){ pauseBtn.textContent = 'RESUME'; setStatus('PAUSED', 'var(--neon-cyan)'); showOverlay('SYSTEM PAUSED', 'Press P / Space or click RESUME to continue.', 'RESUME', togglePause); } else { pauseBtn.textContent = '|| PAUSE'; setStatus('RUNNING', 'var(--matrix-green)'); overlay.classList.add('hidden'); lastTick = performance.now(); accumulator = 0; animId = requestAnimationFrame(loop); } } function hardReset(){ running = false; paused = false; gameOver = false; if (animId) cancelAnimationFrame(animId); initGame(); resetStats(); renderStats(); pauseBtn.disabled = true; pauseBtn.textContent = '|| PAUSE'; setStatus('IDLE'); // Back to idle screen — matrix rain resumes as ambience if (window.__rain) window.__rain.start(); window.__draw(); showOverlay('READY TO HACK THE CHAIN?', 'Select a difficulty level and press START.<br>Collect D-orbs. Avoid red hazards.<br>Decrypt your highscore on the DERO net.', '&gt; START_RUN', startRun); } function showOverlay(title, msg, btnLabel, onClick, isGO){ overlay.innerHTML = ''; var t = document.createElement('div'); t.className = 'overlay-title' + (isGO ? ' gameover' : ''); t.textContent = title; overlay.appendChild(t); var m = document.createElement('div'); m.className = 'overlay-msg'; m.innerHTML = msg; overlay.appendChild(m); if (isGO){ var f = document.createElement('div'); f.className = 'overlay-final'; var total = stats.orbPts - stats.hazardPts; f.innerHTML = 'FINAL SCORE: <strong>' + total + '</strong><br>' + '<span style="font-size:16px; color: var(--text-muted);">' + stats.orbs + ' orbs &middot; ' + stats.hazards + ' hits &middot; LVL ' + level + '</span>'; overlay.appendChild(f); var row = document.createElement('div'); row.style.cssText = 'display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:4px;'; var retryBtn = document.createElement('button'); retryBtn.className = 'btn primary'; retryBtn.innerHTML = btnLabel; retryBtn.addEventListener('click', onClick); row.appendChild(retryBtn); if (total > 0){ var pubBtn = document.createElement('button'); pubBtn.className = 'btn'; pubBtn.style.borderColor = 'var(--neon-pink)'; pubBtn.style.color = 'var(--neon-pink)'; pubBtn.style.textShadow = '0 0 6px var(--neon-pink)'; pubBtn.innerHTML = 'PUBLISH_ON_CHAIN'; pubBtn.addEventListener('click', function(){ window.openPublishModal(total); }); row.appendChild(pubBtn); } overlay.appendChild(row); var lb = document.createElement('div'); lb.className = 'leaderboard'; lb.id = 'gameOverLeaderboard'; lb.innerHTML = '<h4>// TOP 5 ON-CHAIN</h4><div class="lb-empty">// fetching from ' + (window.Leaderboard.isLive() ? 'DERO chain' : 'simulation storage') + '... //</div>'; overlay.appendChild(lb); window.Leaderboard.fetchTop5() .then(function(rows){ window.renderGameOverLeaderboard(rows); }) .catch(function(err){ var elx = document.getElementById('gameOverLeaderboard'); if (elx) elx.innerHTML = '<h4>// TOP 5 ON-CHAIN</h4>' + '<div class="lb-empty" style="color: var(--danger-red);">' + window.escapeHtml(err.message || 'read failed') + '</div>'; }); } else { var b = document.createElement('button'); b.className = 'btn primary'; b.innerHTML = btnLabel; b.addEventListener('click', onClick); overlay.appendChild(b); } overlay.classList.remove('hidden'); } function loop(ts){ if (!running || paused || gameOver) return; // Deterministic accumulator pattern: run as many ticks as needed to // consume the elapsed time. Speed becomes independent of refresh rate // and survives GC pauses / tab-switch slowdowns. var delta = ts - lastTick; // Cap delta to avoid the "death spiral" if the page was paused for a long // time (e.g. tab backgrounded). Without this cap, coming back to the tab // would trigger hundreds of ticks at once and kill the snake instantly. if (delta > 500) delta = 500; lastTick = ts; accumulator += delta; while (accumulator >= interval && running && !paused && !gameOver){ tick(); accumulator -= interval; } window.__draw(); animId = requestAnimationFrame(loop); } function tick(){ dir = nextDir; var head = { x: snake[0].x + dir.x, y: snake[0].y + dir.y }; if (head.x < 0 || head.x >= GRID || head.y < 0 || head.y >= GRID){ return endGame('WALL_BREACH'); } for (var i = 0; i < snake.length; i++){ if (snake[i].x === head.x && snake[i].y === head.y){ return endGame('SELF_LOOP'); } } snake.unshift(head); if (head.x === orb.x && head.y === orb.y){ stats.orbs++; stats.orbPts += pointsPerOrb; orb = spawnOrb(); if (stats.orbs % ORBS_PER_TIER === 0 && hazards.length < MAX_HAZARDS){ hazards.push(spawnHazard()); G.tierFlash = 45; } renderStats(); } else { snake.pop(); } for (var j = 0; j < hazards.length; j++){ if (head.x === hazards[j].x && head.y === hazards[j].y){ var penalty = PENALTY_BY_COUNT[hazards.length] || 1; stats.hazards++; stats.hazardPts += penalty; hazards[j] = spawnHazard(); G.flashHazard = 10; renderStats(); break; } } } function endGame(reason){ running = false; gameOver = true; setStatus('GAME_OVER', 'var(--danger-red)'); pauseBtn.disabled = true; // Bring the matrix rain back on the death screen if (window.__rain) window.__rain.start(); var msg = reason === 'WALL_BREACH' ? 'Your snake breached the grid perimeter.<br>Connection to DERO lost.' : 'Your snake folded into its own loop.<br>Infinite recursion detected.'; showOverlay('>> GAME OVER <<', msg, 'RETRY', startRun, true); } initGame(); renderStats(); // Defer initial draw to after render script loaded setTimeout(function(){ if (window.__draw) window.__draw(); }, 0); })(); */']


Prove to someone that you have sent them DERO in this transaction

proof can be obtained using wallet command in dero-wallet-cli or from the statement
Note: proof is sent to the server, as the calculations are done on the server side


TX hex bytes
0100000500b0aaa803d9e833bf58116881a5d443da4d4491ffc17475224acc7ae93dab84771ece1678010000000000000000000000000000000000000000000000000000000000000000000121001b68a27da75a613f1345d13448feb128433b5ae59ba63eeaae03041aff3901f4816c799ed4534aac742555a4fd44e558b5715a313e333ef99d6f83cc761dc718ce168b7ddbd59d2ce62dc32ea608635c37aecca2020053348a891f00eeaff6cb2f069799fae606b794daf0a37235b084db768b1688e78517b1cff60a95a669b4c38bfd2f6cb258d35ec17c1b912123010a81771beae8b1c2ea51a26d2e8a83607e8b5570541e7a02481c24c2abd3f8c9ff0ae701ff657018ce7062dc70badbc767bac51c3a00f39c08161a2679b5ea553177c72f237379759651f1aa26f06cb812f8b8332a14b705001c32804fc420a6ac33448d0c18af0db5ff065033e5c844fac2fd5146caed9f2801c3f45eee9be7867f9ccc204ce6f9084198dfe7fa40218dd7bd6e4607b6efa7e1d474a26853435f434f444553793a3b46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528227661725f6865616465725f6e616d65222c202267616d652d636f72652e6a7322290a33312053544f524528227661725f6865616465725f6465736372697074696f6e222c202222290a33322053544f524528227661725f6865616465725f69636f6e222c202222290a33332053544f524528226455524c222c202222290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c20222f22290a33362053544f5245282266696c65436865636b43222c20223032373665353333643835306362323035396262656266326239666561376566613631656165663931333632333362396463353139626366633739663339323722290a33372053544f5245282266696c65436865636b53222c20223131346532633230346663646630383239376664383733623431633664383130376430633434613465316666646361353037393130373932323636616563656622290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a0a2f2f203d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a2f2f2043495048455220534e414b452044454c555845202d20436f72652067616d65206c6f67696320287374617465202b205549202b20696e707574290a2f2f203d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a2866756e6374696f6e28297b0a20207661722063616e766173203d20646f63756d656e742e676574456c656d656e74427949642827626f61726427293b0a0a20207661722047524944203d2032353b0a20207661722043454c4c203d2063616e7661732e7769647468202f20475249443b0a202076617220535041574e5f4d415247494e203d20313b0a202076617220424153455f494e54455256414c203d2039303b0a20207661722053504545445f4d554c54203d205b312c20322c20332c20342c20355d3b0a2020766172204f5242535f5045525f54494552203d2031303b0a2020766172204d41585f48415a41524453203d2031303b0a20207661722050454e414c54595f42595f434f554e54203d207b20313a352c20323a352c20333a342c20343a342c20353a332c20363a332c20373a322c20383a322c20393a312c2031303a31207d3b0a0a2020766172206f7665726c6179203d20646f63756d656e742e676574456c656d656e744279496428276f7665726c617927293b0a202076617220737461727442746e203d20646f63756d656e742e676574456c656d656e74427949642827737461727442746e27293b0a202076617220706175736542746e203d20646f63756d656e742e676574456c656d656e74427949642827706175736542746e27293b0a202076617220726573657442746e203d20646f63756d656e742e676574456c656d656e74427949642827726573657442746e27293b0a2020766172206c6576656c73456c203d20646f63756d656e742e676574456c656d656e744279496428276c6576656c7327293b0a2020766172206c6576656c496e666f456c203d20646f63756d656e742e676574456c656d656e744279496428276c6576656c496e666f27293b0a0a202076617220656c203d207b0a202020206f726273436f756e743a20202020646f63756d656e742e676574456c656d656e744279496428276f726273436f756e7427292c0a202020206f726273506f696e74733a202020646f63756d656e742e676574456c656d656e744279496428276f726273506f696e747327292c0a2020202068617a61726473436f756e743a20646f63756d656e742e676574456c656d656e7442794964282768617a61726473436f756e7427292c0a2020202068617a61726473506f696e74733a646f63756d656e742e676574456c656d656e7442794964282768617a61726473506f696e747327292c0a20202020746f74616c53636f72653a202020646f63756d656e742e676574456c656d656e74427949642827746f74616c53636f726527292c0a2020202063757272656e744c6576656c3a20646f63756d656e742e676574456c656d656e7442794964282763757272656e744c6576656c27292c0a2020202063757272656e7453706565643a20646f63756d656e742e676574456c656d656e7442794964282763757272656e74537065656427292c0a2020202068617a617264734163746976653a646f63756d656e742e676574456c656d656e7442794964282768617a6172647341637469766527292c0a2020202070656e616c74795065724869743a646f63756d656e742e676574456c656d656e7442794964282770656e616c747950657248697427292c0a202020206e657874546965723a2020202020646f63756d656e742e676574456c656d656e744279496428276e6578745469657227292c0a2020202067616d655374617475733a202020646f63756d656e742e676574456c656d656e7442794964282767616d6553746174757327292c0a20207d3b0a0a202076617220736e616b652c206469722c206e6578744469722c206f72622c2068617a617264733b0a2020766172206c6576656c203d20313b0a202076617220706f696e74735065724f7262203d20313b0a202076617220696e74657276616c203d20424153455f494e54455256414c3b0a2020766172206c6173745469636b203d20303b0a202076617220616363756d756c61746f72203d20303b0a20207661722072756e6e696e67203d2066616c73653b0a202076617220706175736564203d2066616c73653b0a20207661722067616d654f766572203d2066616c73653b0a202076617220616e696d4964203d206e756c6c3b0a0a2020766172207374617473203d207b206f7262733a20302c206f72625074733a20302c2068617a617264733a20302c2068617a6172645074733a2030207d3b0a0a20202f2f20536861726564207374617465207075626c6973686564206f6e2077696e646f772e5f5f67616d6520736f2067616d652d72656e6465722e6a732063616e20636f6e73756d652069742e0a20207661722047203d207b0a20202020475249443a20475249442c2043454c4c3a2043454c4c2c20535041574e5f4d415247494e3a20535041574e5f4d415247494e2c0a2020202063616e7661733a2063616e7661732c0a20202020676574536e616b653a2066756e6374696f6e28297b2072657475726e20736e616b653b207d2c0a202020206765744469723a2066756e6374696f6e28297b2072657475726e206469723b207d2c0a202020206765744f72623a2066756e6374696f6e28297b2072657475726e206f72623b207d2c0a2020202067657448617a617264733a2066756e6374696f6e28297b2072657475726e2068617a617264733b207d2c0a20202020666c61736848617a6172643a20302c0a2020202074696572466c6173683a20302c0a20207d3b0a202077696e646f772e5f5f67616d65203d20473b0a0a202066756e6374696f6e207265736574537461747328297b0a2020202073746174732e6f726273203d20303b2073746174732e6f7262507473203d20303b0a2020202073746174732e68617a61726473203d20303b2073746174732e68617a617264507473203d20303b0a2020202072656e646572537461747328293b0a20207d0a0a202066756e6374696f6e2072656e646572537461747328297b0a20202020656c2e6f726273436f756e742e74657874436f6e74656e74203d2073746174732e6f7262733b0a20202020656c2e6f726273506f696e74732e74657874436f6e74656e74203d20272b27202b2073746174732e6f72625074733b0a20202020656c2e68617a61726473436f756e742e74657874436f6e74656e74203d2073746174732e68617a617264733b0a20202020656c2e68617a61726473506f696e74732e74657874436f6e74656e74203d20272d27202b2073746174732e68617a6172645074733b0a2020202076617220746f74616c203d2073746174732e6f7262507473202d2073746174732e68617a6172645074733b0a20202020656c2e746f74616c53636f72652e74657874436f6e74656e74203d20746f74616c3b0a2020202069662028746f74616c203c2030297b0a202020202020656c2e746f74616c53636f72652e7374796c652e636f6c6f72203d2027766172282d2d64616e6765722d72656429273b0a202020202020656c2e746f74616c53636f72652e7374796c652e74657874536861646f77203d2027302030203132707820766172282d2d64616e6765722d72656429273b0a202020207d20656c7365207b0a202020202020656c2e746f74616c53636f72652e7374796c652e636f6c6f72203d2027766172282d2d6e656f6e2d79656c6c6f7729273b0a202020202020656c2e746f74616c53636f72652e7374796c652e74657874536861646f77203d2027302030203132707820766172282d2d6e656f6e2d79656c6c6f7729273b0a202020207d0a2020202076617220636f756e74203d2068617a61726473203f2068617a617264732e6c656e677468203a20313b0a202020207661722070656e616c7479203d2050454e414c54595f42595f434f554e545b636f756e745d207c7c20313b0a20202020656c2e68617a617264734163746976652e74657874436f6e74656e74203d20636f756e74202b2027202f2027202b204d41585f48415a415244533b0a20202020656c2e70656e616c74795065724869742e74657874436f6e74656e74203d20272d27202b2070656e616c74793b0a2020202069662028636f756e74203e3d204d41585f48415a41524453297b0a202020202020656c2e6e657874546965722e74657874436f6e74656e74203d20274d4158273b0a202020202020656c2e6e657874546965722e7374796c652e636f6c6f72203d2027766172282d2d6e656f6e2d70696e6b29273b0a202020207d20656c7365207b0a2020202020207661722072656d61696e696e67203d204f5242535f5045525f54494552202d202873746174732e6f7262732025204f5242535f5045525f54494552293b0a202020202020656c2e6e657874546965722e74657874436f6e74656e74203d2072656d61696e696e67202b2027206f726227202b202872656d61696e696e67203e2031203f20277327203a202727293b0a202020202020656c2e6e657874546965722e7374796c652e636f6c6f72203d2027273b0a202020207d0a20207d0a0a202066756e6374696f6e20736574537461747573287478742c20636f6c6f72297b0a20202020656c2e67616d655374617475732e74657874436f6e74656e74203d207478743b0a20202020656c2e67616d655374617475732e7374796c652e636f6c6f72203d20636f6c6f72207c7c2027766172282d2d6d61747269782d677265656e29273b0a20207d0a0a20206c6576656c73456c2e6164644576656e744c697374656e65722827636c69636b272c2066756e6374696f6e2865297b0a202020207661722062746e203d20652e7461726765742e636c6f7365737428272e6c6576656c2d62746e27293b0a20202020696620282162746e207c7c2072756e6e696e67292072657475726e3b0a2020202076617220616c6c203d20646f63756d656e742e717565727953656c6563746f72416c6c28272e6c6576656c2d62746e27293b0a20202020666f7220287661722069203d20303b2069203c20616c6c2e6c656e6774683b20692b2b2920616c6c5b695d2e636c6173734c6973742e72656d6f7665282761637469766527293b0a2020202062746e2e636c6173734c6973742e616464282761637469766527293b0a202020206c6576656c203d207061727365496e742862746e2e646174617365742e6c6576656c2c203130293b0a202020207570646174654c6576656c496e666f28293b0a20207d293b0a0a202066756e6374696f6e207570646174654c6576656c496e666f28297b0a20202020766172206d756c74203d2053504545445f4d554c545b6c6576656c2d315d3b0a20202020696e74657276616c203d204d6174682e726f756e6428424153455f494e54455256414c202f206d756c74293b0a20202020706f696e74735065724f7262203d206c6576656c3b0a202020206c6576656c496e666f456c2e696e6e657248544d4c203d0a2020202020202753504545443a203c7370616e20636c6173733d22616363656e74223e7827202b206d756c742e746f4669786564283229202b20273c2f7370616e3e3c62723e27202b0a202020202020275245574152443a203c7370616e20636c6173733d22616363656e74223e2b27202b20706f696e74735065724f7262202b202720707427202b2028706f696e74735065724f7262203e2031203f20277327203a20272729202b2027202f20442d6f72623c2f7370616e3e273b0a20202020656c2e63757272656e744c6576656c2e74657874436f6e74656e74203d206c6576656c3b0a20202020656c2e63757272656e7453706565642e74657874436f6e74656e74203d20277827202b206d756c742e746f46697865642832293b0a20207d0a20207570646174654c6576656c496e666f28293b0a0a202066756e6374696f6e20696e697447616d6528297b0a20202020766172206d6964203d204d6174682e666c6f6f722847524944202f2032293b0a20202020736e616b65203d205b0a2020202020207b20783a206d6964202d20312c20793a206d6964207d2c0a2020202020207b20783a206d6964202d20322c20793a206d6964207d2c0a2020202020207b20783a206d6964202d20332c20793a206d6964207d2c0a202020205d3b0a20202020646972203d207b20783a20312c20793a2030207d3b0a202020206e657874446972203d207b20783a20312c20793a2030207d3b0a202020206f7262203d20737061776e4f726228293b0a2020202068617a61726473203d205b737061776e48617a61726428295d3b0a2020202067616d654f766572203d2066616c73653b0a20202020706175736564203d2066616c73653b0a20207d0a0a202066756e6374696f6e20697343656c6c4672656528782c20792c20696e63482c20696e634f297b0a2020202069662028696e6348203d3d3d20756e646566696e65642920696e6348203d20747275653b0a2020202069662028696e634f203d3d3d20756e646566696e65642920696e634f203d20747275653b0a20202020666f7220287661722069203d20303b2069203c20736e616b652e6c656e6774683b20692b2b297b0a20202020202069662028736e616b655b695d2e78203d3d3d207820262620736e616b655b695d2e79203d3d3d2079292072657475726e2066616c73653b0a202020207d0a2020202069662028696e634f202626206f7262202626206f72622e78203d3d3d2078202626206f72622e79203d3d3d2079292072657475726e2066616c73653b0a2020202069662028696e63482026262068617a61726473297b0a202020202020666f722028766172206a203d20303b206a203c2068617a617264732e6c656e6774683b206a2b2b297b0a20202020202020206966202868617a617264735b6a5d2e78203d3d3d20782026262068617a617264735b6a5d2e79203d3d3d2079292072657475726e2066616c73653b0a2020202020207d0a202020207d0a2020202072657475726e20747275653b0a20207d0a0a202066756e6374696f6e20737061776e41742861766f69644f72622c2061766f696448617a61726473297b0a20202020766172206d696e203d20535041574e5f4d415247494e3b0a20202020766172207370616e203d2047524944202d2032202a20535041574e5f4d415247494e3b0a2020202076617220782c20792c207472696573203d20303b0a20202020646f207b0a20202020202078203d206d696e202b204d6174682e666c6f6f72284d6174682e72616e646f6d2829202a207370616e293b0a20202020202079203d206d696e202b204d6174682e666c6f6f72284d6174682e72616e646f6d2829202a207370616e293b0a202020202020696620282b2b7472696573203e203530302920627265616b3b0a202020207d207768696c65202821697343656c6c4672656528782c20792c2061766f696448617a617264732c2061766f69644f726229293b0a2020202072657475726e207b20783a20782c20793a2079207d3b0a20207d0a202066756e6374696f6e20737061776e4f726228297b2072657475726e20737061776e41742866616c73652c2074727565293b207d0a202066756e6374696f6e20737061776e48617a61726428297b2072657475726e20737061776e417428747275652c2066616c7365293b207d0a0a2020766172206b65794d6170203d207b0a20202020274172726f775570273a202020207b783a302c20793a2d317d2c20274b657957273a207b783a302c20793a2d317d2c0a20202020274172726f77446f776e273a20207b783a302c20793a20317d2c20274b657953273a207b783a302c20793a20317d2c0a20202020274172726f774c656674273a20207b783a2d312c793a20307d2c20274b657941273a207b783a2d312c793a20307d2c0a20202020274172726f775269676874273a207b783a20312c793a20307d2c20274b657944273a207b783a20312c793a20307d2c0a20207d3b0a0a202077696e646f772e6164644576656e744c697374656e657228276b6579646f776e272c2066756e6374696f6e2865297b0a20202020766172206165203d20646f63756d656e742e616374697665456c656d656e743b0a20202020696620286165202626202861652e7461674e616d65203d3d3d2027494e50555427207c7c2061652e7461674e616d65203d3d3d2027544558544152454127207c7c2061652e6973436f6e74656e744564697461626c6529292072657475726e3b0a2020202069662028646f63756d656e742e717565727953656c6563746f7228272e6d6f64616c2d6261636b64726f702e73686f772729292072657475726e3b0a2020202069662028652e636f6465203d3d3d20274b65795027207c7c20652e636f6465203d3d3d2027537061636527297b0a2020202020206966202872756e6e696e67202626202167616d654f7665722920746f67676c65506175736528293b0a202020202020652e70726576656e7444656661756c7428293b0a20202020202072657475726e3b0a202020207d0a202020207661722064203d206b65794d61705b652e636f64655d3b0a20202020696620282164292072657475726e3b0a20202020652e70726576656e7444656661756c7428293b0a2020202069662028642e78203d3d3d202d6469722e7820262620642e79203d3d3d202d6469722e79292072657475726e3b0a202020206e657874446972203d20643b0a20207d293b0a0a2020737461727442746e2e6164644576656e744c697374656e65722827636c69636b272c20737461727452756e293b0a2020706175736542746e2e6164644576656e744c697374656e65722827636c69636b272c20746f67676c655061757365293b0a2020726573657442746e2e6164644576656e744c697374656e65722827636c69636b272c20686172645265736574293b0a0a202066756e6374696f6e20737461727452756e28297b0a20202020696e697447616d6528293b0a202020207265736574537461747328293b0a202020207570646174654c6576656c496e666f28293b0a2020202072656e646572537461747328293b0a2020202072756e6e696e67203d20747275653b0a20202020706175736564203d2066616c73653b0a2020202067616d654f766572203d2066616c73653b0a202020206f7665726c61792e636c6173734c6973742e616464282768696464656e27293b0a20202020706175736542746e2e64697361626c6564203d2066616c73653b0a20202020706175736542746e2e74657874436f6e74656e74203d20277c7c205041555345273b0a202020202f2f2046726565204350552f4750553a2073746f7020746865206d6174726978207261696e207768696c65207468652067616d652072756e730a202020206966202877696e646f772e5f5f7261696e292077696e646f772e5f5f7261696e2e73746f7028293b0a20202020736574537461747573282752554e4e494e47272c2027766172282d2d6d61747269782d677265656e2927293b0a202020206c6173745469636b203d20706572666f726d616e63652e6e6f7728293b0a20202020616363756d756c61746f72203d20303b0a2020202069662028616e696d4964292063616e63656c416e696d6174696f6e4672616d6528616e696d4964293b0a20202020616e696d4964203d2072657175657374416e696d6174696f6e4672616d65286c6f6f70293b0a20207d0a0a202066756e6374696f6e20746f67676c65506175736528297b0a20202020696620282172756e6e696e67207c7c2067616d654f766572292072657475726e3b0a20202020706175736564203d20217061757365643b0a2020202069662028706175736564297b0a202020202020706175736542746e2e74657874436f6e74656e74203d2027524553554d45273b0a2020202020207365745374617475732827504155534544272c2027766172282d2d6e656f6e2d6379616e2927293b0a20202020202073686f774f7665726c6179282753595354454d20504155534544272c202750726573732050202f205370616365206f7220636c69636b20524553554d4520746f20636f6e74696e75652e272c2027524553554d45272c20746f67676c655061757365293b0a202020207d20656c7365207b0a202020202020706175736542746e2e74657874436f6e74656e74203d20277c7c205041555345273b0a202020202020736574537461747573282752554e4e494e47272c2027766172282d2d6d61747269782d677265656e2927293b0a2020202020206f7665726c61792e636c6173734c6973742e616464282768696464656e27293b0a2020202020206c6173745469636b203d20706572666f726d616e63652e6e6f7728293b0a202020202020616363756d756c61746f72203d20303b0a202020202020616e696d4964203d2072657175657374416e696d6174696f6e4672616d65286c6f6f70293b0a202020207d0a20207d0a0a202066756e6374696f6e2068617264526573657428297b0a2020202072756e6e696e67203d2066616c73653b20706175736564203d2066616c73653b2067616d654f766572203d2066616c73653b0a2020202069662028616e696d4964292063616e63656c416e696d6174696f6e4672616d6528616e696d4964293b0a20202020696e697447616d6528293b0a202020207265736574537461747328293b0a2020202072656e646572537461747328293b0a20202020706175736542746e2e64697361626c6564203d20747275653b0a20202020706175736542746e2e74657874436f6e74656e74203d20277c7c205041555345273b0a20202020736574537461747573282749444c4527293b0a202020202f2f204261636b20746f2069646c652073637265656e20e28094206d6174726978207261696e20726573756d657320617320616d6269656e63650a202020206966202877696e646f772e5f5f7261696e292077696e646f772e5f5f7261696e2e737461727428293b0a2020202077696e646f772e5f5f6472617728293b0a2020202073686f774f7665726c61792827524541445920544f204841434b2054484520434841494e3f272c0a2020202020202753656c656374206120646966666963756c7479206c6576656c20616e642070726573732053544152542e3c62723e436f6c6c65637420442d6f7262732e2041766f6964207265642068617a617264732e3c62723e4465637279707420796f7572206869676873636f7265206f6e20746865204445524f206e65742e272c0a202020202020272667743b2053544152545f52554e272c20737461727452756e293b0a20207d0a0a202066756e6374696f6e2073686f774f7665726c6179287469746c652c206d73672c2062746e4c6162656c2c206f6e436c69636b2c206973474f297b0a202020206f7665726c61792e696e6e657248544d4c203d2027273b0a202020207661722074203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a20202020742e636c6173734e616d65203d20276f7665726c61792d7469746c6527202b20286973474f203f20272067616d656f76657227203a202727293b0a20202020742e74657874436f6e74656e74203d207469746c653b0a202020206f7665726c61792e617070656e644368696c642874293b0a0a20202020766172206d203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a202020206d2e636c6173734e616d65203d20276f7665726c61792d6d7367273b0a202020206d2e696e6e657248544d4c203d206d73673b0a202020206f7665726c61792e617070656e644368696c64286d293b0a0a20202020696620286973474f297b0a2020202020207661722066203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a202020202020662e636c6173734e616d65203d20276f7665726c61792d66696e616c273b0a20202020202076617220746f74616c203d2073746174732e6f7262507473202d2073746174732e68617a6172645074733b0a202020202020662e696e6e657248544d4c203d202746494e414c2053434f52453a203c7374726f6e673e27202b20746f74616c202b20273c2f7374726f6e673e3c62723e27202b0a2020202020202020273c7370616e207374796c653d22666f6e742d73697a653a313670783b20636f6c6f723a20766172282d2d746578742d6d75746564293b223e27202b0a202020202020202073746174732e6f726273202b2027206f72627320266d6964646f743b2027202b2073746174732e68617a61726473202b2027206869747320266d6964646f743b204c564c2027202b206c6576656c202b0a2020202020202020273c2f7370616e3e273b0a2020202020206f7665726c61792e617070656e644368696c642866293b0a0a20202020202076617220726f77203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a202020202020726f772e7374796c652e63737354657874203d2027646973706c61793a666c65783b206761703a313070783b20666c65782d777261703a777261703b206a7573746966792d636f6e74656e743a63656e7465723b206d617267696e2d746f703a3470783b273b0a20202020202076617220726574727942746e203d20646f63756d656e742e637265617465456c656d656e742827627574746f6e27293b0a202020202020726574727942746e2e636c6173734e616d65203d202762746e207072696d617279273b0a202020202020726574727942746e2e696e6e657248544d4c203d2062746e4c6162656c3b0a202020202020726574727942746e2e6164644576656e744c697374656e65722827636c69636b272c206f6e436c69636b293b0a202020202020726f772e617070656e644368696c6428726574727942746e293b0a0a20202020202069662028746f74616c203e2030297b0a20202020202020207661722070756242746e203d20646f63756d656e742e637265617465456c656d656e742827627574746f6e27293b0a202020202020202070756242746e2e636c6173734e616d65203d202762746e273b0a202020202020202070756242746e2e7374796c652e626f72646572436f6c6f72203d2027766172282d2d6e656f6e2d70696e6b29273b0a202020202020202070756242746e2e7374796c652e636f6c6f72203d2027766172282d2d6e656f6e2d70696e6b29273b0a202020202020202070756242746e2e7374796c652e74657874536861646f77203d20273020302036707820766172282d2d6e656f6e2d70696e6b29273b0a202020202020202070756242746e2e696e6e657248544d4c203d20275055424c4953485f4f4e5f434841494e273b0a202020202020202070756242746e2e6164644576656e744c697374656e65722827636c69636b272c2066756e6374696f6e28297b2077696e646f772e6f70656e5075626c6973684d6f64616c28746f74616c293b207d293b0a2020202020202020726f772e617070656e644368696c642870756242746e293b0a2020202020207d0a2020202020206f7665726c61792e617070656e644368696c6428726f77293b0a0a202020202020766172206c62203d20646f63756d656e742e637265617465456c656d656e74282764697627293b0a2020202020206c622e636c6173734e616d65203d20276c6561646572626f617264273b0a2020202020206c622e6964203d202767616d654f7665724c6561646572626f617264273b0a2020202020206c622e696e6e657248544d4c203d20273c68343e2f2f20544f502035204f4e2d434841494e3c2f68343e3c64697620636c6173733d226c622d656d707479223e2f2f206665746368696e672066726f6d2027202b0a20202020202020202877696e646f772e4c6561646572626f6172642e69734c6976652829203f20274445524f20636861696e27203a202773696d756c6174696f6e2073746f726167652729202b20272e2e2e202f2f3c2f6469763e273b0a2020202020206f7665726c61792e617070656e644368696c64286c62293b0a0a20202020202077696e646f772e4c6561646572626f6172642e6665746368546f703528290a20202020202020202e7468656e2866756e6374696f6e28726f7773297b2077696e646f772e72656e64657247616d654f7665724c6561646572626f61726428726f7773293b207d290a20202020202020202e63617463682866756e6374696f6e28657272297b0a2020202020202020202076617220656c78203d20646f63756d656e742e676574456c656d656e7442794964282767616d654f7665724c6561646572626f61726427293b0a2020202020202020202069662028656c782920656c782e696e6e657248544d4c203d20273c68343e2f2f20544f502035204f4e2d434841494e3c2f68343e27202b0a202020202020202020202020273c64697620636c6173733d226c622d656d70747922207374796c653d22636f6c6f723a20766172282d2d64616e6765722d726564293b223e27202b0a20202020202020202020202077696e646f772e65736361706548746d6c286572722e6d657373616765207c7c202772656164206661696c65642729202b20273c2f6469763e273b0a20202020202020207d293b0a202020207d20656c7365207b0a2020202020207661722062203d20646f63756d656e742e637265617465456c656d656e742827627574746f6e27293b0a202020202020622e636c6173734e616d65203d202762746e207072696d617279273b0a202020202020622e696e6e657248544d4c203d2062746e4c6162656c3b0a202020202020622e6164644576656e744c697374656e65722827636c69636b272c206f6e436c69636b293b0a2020202020206f7665726c61792e617070656e644368696c642862293b0a202020207d0a202020206f7665726c61792e636c6173734c6973742e72656d6f7665282768696464656e27293b0a20207d0a0a202066756e6374696f6e206c6f6f70287473297b0a20202020696620282172756e6e696e67207c7c20706175736564207c7c2067616d654f766572292072657475726e3b0a0a202020202f2f2044657465726d696e697374696320616363756d756c61746f72207061747465726e3a2072756e206173206d616e79207469636b73206173206e656564656420746f0a202020202f2f20636f6e73756d652074686520656c61707365642074696d652e205370656564206265636f6d657320696e646570656e64656e74206f66207265667265736820726174650a202020202f2f20616e6420737572766976657320474320706175736573202f207461622d73776974636820736c6f77646f776e732e0a202020207661722064656c7461203d207473202d206c6173745469636b3b0a0a202020202f2f204361702064656c746120746f2061766f696420746865202264656174682073706972616c22206966207468652070616765207761732070617573656420666f722061206c6f6e670a202020202f2f2074696d652028652e672e20746162206261636b67726f756e646564292e20576974686f75742074686973206361702c20636f6d696e67206261636b20746f20746865207461620a202020202f2f20776f756c6420747269676765722068756e6472656473206f66207469636b73206174206f6e636520616e64206b696c6c2074686520736e616b6520696e7374616e746c792e0a202020206966202864656c7461203e20353030292064656c7461203d203530303b0a0a202020206c6173745469636b203d2074733b0a20202020616363756d756c61746f72202b3d2064656c74613b0a0a202020207768696c652028616363756d756c61746f72203e3d20696e74657276616c2026262072756e6e696e672026262021706175736564202626202167616d654f766572297b0a2020202020207469636b28293b0a202020202020616363756d756c61746f72202d3d20696e74657276616c3b0a202020207d0a0a2020202077696e646f772e5f5f6472617728293b0a20202020616e696d4964203d2072657175657374416e696d6174696f6e4672616d65286c6f6f70293b0a20207d0a0a202066756e6374696f6e207469636b28297b0a20202020646972203d206e6578744469723b0a202020207661722068656164203d207b20783a20736e616b655b305d2e78202b206469722e782c20793a20736e616b655b305d2e79202b206469722e79207d3b0a2020202069662028686561642e78203c2030207c7c20686561642e78203e3d2047524944207c7c20686561642e79203c2030207c7c20686561642e79203e3d2047524944297b0a20202020202072657475726e20656e6447616d65282757414c4c5f42524541434827293b0a202020207d0a20202020666f7220287661722069203d20303b2069203c20736e616b652e6c656e6774683b20692b2b297b0a20202020202069662028736e616b655b695d2e78203d3d3d20686561642e7820262620736e616b655b695d2e79203d3d3d20686561642e79297b0a202020202020202072657475726e20656e6447616d65282753454c465f4c4f4f5027293b0a2020202020207d0a202020207d0a20202020736e616b652e756e73686966742868656164293b0a2020202069662028686561642e78203d3d3d206f72622e7820262620686561642e79203d3d3d206f72622e79297b0a20202020202073746174732e6f7262732b2b3b0a20202020202073746174732e6f7262507473202b3d20706f696e74735065724f72623b0a2020202020206f7262203d20737061776e4f726228293b0a2020202020206966202873746174732e6f7262732025204f5242535f5045525f54494552203d3d3d20302026262068617a617264732e6c656e677468203c204d41585f48415a41524453297b0a202020202020202068617a617264732e7075736828737061776e48617a6172642829293b0a2020202020202020472e74696572466c617368203d2034353b0a2020202020207d0a20202020202072656e646572537461747328293b0a202020207d20656c7365207b0a202020202020736e616b652e706f7028293b0a202020207d0a20202020666f722028766172206a203d20303b206a203c2068617a617264732e6c656e6774683b206a2b2b297b0a20202020202069662028686561642e78203d3d3d2068617a617264735b6a5d2e7820262620686561642e79203d3d3d2068617a617264735b6a5d2e79297b0a20202020202020207661722070656e616c7479203d2050454e414c54595f42595f434f554e545b68617a617264732e6c656e6774685d207c7c20313b0a202020202020202073746174732e68617a617264732b2b3b0a202020202020202073746174732e68617a617264507473202b3d2070656e616c74793b0a202020202020202068617a617264735b6a5d203d20737061776e48617a61726428293b0a2020202020202020472e666c61736848617a617264203d2031303b0a202020202020202072656e646572537461747328293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20656e6447616d6528726561736f6e297b0a2020202072756e6e696e67203d2066616c73653b0a2020202067616d654f766572203d20747275653b0a20202020736574537461747573282747414d455f4f564552272c2027766172282d2d64616e6765722d7265642927293b0a20202020706175736542746e2e64697361626c6564203d20747275653b0a202020202f2f204272696e6720746865206d6174726978207261696e206261636b206f6e207468652064656174682073637265656e0a202020206966202877696e646f772e5f5f7261696e292077696e646f772e5f5f7261696e2e737461727428293b0a20202020766172206d7367203d20726561736f6e203d3d3d202757414c4c5f425245414348270a2020202020203f2027596f757220736e616b6520627265616368656420746865206772696420706572696d657465722e3c62723e436f6e6e656374696f6e20746f204445524f206c6f73742e270a2020202020203a2027596f757220736e616b6520666f6c64656420696e746f20697473206f776e206c6f6f702e3c62723e496e66696e69746520726563757273696f6e2064657465637465642e273b0a2020202073686f774f7665726c617928273e3e2047414d45204f564552203c3c272c206d73672c20275245545259272c20737461727452756e2c2074727565293b0a20207d0a0a2020696e697447616d6528293b0a202072656e646572537461747328293b0a0a20202f2f20446566657220696e697469616c206472617720746f2061667465722072656e64657220736372697074206c6f616465640a202073657454696d656f75742866756e6374696f6e28297b206966202877696e646f772e5f5f64726177292077696e646f772e5f5f6472617728293b207d2c2030293b0a7d2928293b0a0a2a2f6a53435f414354494f4e5501090b863352c7494e1ff2b482afe4a3749497adf4478c903391b14c98ad8061130002f3dc99dab64cc24586440e538bca0ce2d4fcdd276ee896515f84d322a7527f010b09b34a511f4a28904f934444755a60144158dea386615de55122f9be4f6e650018e55cf27cb6c39c7715765f28f28d81617b21dc02a64a368d36f28626a5ac3a0000b58f4412c2b717ba0a45cc19505b30275cd7cf9c78a57e08ed2b76c7d72100002dd9f7bb9a31ce1f4f2f0d022f4291a4aa552061c73ac615024401d323f7ddad0006c9c732757e06a5323d5aa3ef65f0c51aed85c6b8a88c24df81af1c54b9ea560110ca61846f02d07b723ab76b03ac18119d8dbe11c4b3d7f0794361e15d0e602200085e8e3dbc898250618c3d1563dd6b3619dd65fe5d05a927c5f28758db67792900206d588ce41fcbbe259119f37d71f682a7ea26080ace205bea70c0b31674cd40001e3c104afe4e73758412cf1f48682ed991084511d99a05ca4c46a64a9e4f775b002207a19f3fd51d51adb5356d65413e80c8ea2ee5e24ed2a95364f525a582b343000f0e1d99fd8bb266fe7ab2c86695d853d3802cec88462066d1f789e0d8e610660117fc53ae8110c1c2173e4d9c16e022f1f410e25cb9bee669333d4624a0d7d4dc0000000000000000000000000000000000000000000000000000000000000000247ae2e425c17936036bfbd21c9aba3489dc59022533d7b5478be90ed55d67fd011787766f92d2f8c4128acdd8a14c4902d4b3d4dca95d15f5d490eebcd4d0bf012c73653852568e4da20b36d20ce0ac96b33de1a9bacb46a0bc6f4c25d77592c90027e3513c522cef35aae0499eb10897c276bfc4ae0ff037b2405b616323770b71237871e8823369f9c918474bb886120c9be4c328c7c6736aa31f2a85d2bfea090d893e469ced44a4f35434193d8d546708eb7a7b8dd2bf1a22eec72a9dc985ba076979e76517da484259fbb612266bb0a33d35bbc1384ce57e2c778b0e6e28f4283480eff588c47de7a3865953bb73d7c7ef6eeace0b5d1ff753fff799feb9a51f5ba06adf320cf30340b5268c905e882c3e909edc612e40f5f16fe8aad7986f132a4cc185f09913f5dc2b6fa68194248f0611424369bb3cb0b2a5968e20af1118960c47b8368ac38748a1fd7b0d2f5cd868cbefb89500f6593ab782642fc51f159324620a1a702334b181dc6dbb61f7265bae0127569394eb37e9dd9a12a928263ba8b0acb3b7f02375408c575c2d3cbc28de7e497dca2ec88264ed035c944401043888450ca7a6449996a57bb3f200f2aa3aec8c508ec944eb2b509fab982b54002716e6835cd668c5f70ef8934b9e58e128898fca2de6ed60b794b3ee5615b32e010ce201322cf7968ae5509bfd3d06a7b2caac8b846d018e942f7ae2bbda2f214b0008b3a02fefe86d12b2ca496866800e066709dfaeb8399434f2a170ed627ffd2b0121b685fd6d704dd45f7cdfea79c2e621a4ce6aa402c6614fbe27a912bec9411c000f9c57053d3471b4bcf38876c9afa4cbc0bb6e74cb3d408a0c7dd602f600d070000ea0d9f368f59248d00631e71867bafdd66860d9cfa7bd3364bdcb69c4637e5400034fdb4cca1a998099d19ba3ee4a65633b5f67e2e1da0b64ef7b497988e4f8640130158137fde408280bca2adeaf726bc6c26e8f8f39aa9190eed0e9c058e483690006b2883981be8c21b1e3eec93401b6d9362b13b4002b1115b24f96b9c24ec72c0002e628d2c91f73d1ff6f61e7c2da61169c470519f7c0e1066b6e5a39ce38595e002275069dbabad87413a88ef017b067967865f210e48c3916a0331da0d6cd32c1002666ef8193e30270cea5dad5f64ffa7b9a3cac69ff4808087e48c82ebfacdce101
DERO explorer source code | explorer version (api): under development (1.0) | dero version: golang pre-alpha | Copyright 2017-2022 Dero Project