DERO HE BlockChain Explorer(v1) Mainnet

hosted on

DERO Mining Node

Tx hash: 87c7b48eb3c1fba0e0480c4a43fe51449dea007b5f5eb55d491d46da4c1248a4 Type SC

Block: bde30cba121615f2645ee689931328ff87f4797a7daab4c9e4869a2856e42aee (VALID)
SCID current reserves
SCID Amount(in atomic units)
0000000000000000000000000000000000000000000000000000000000000000 0
SCID string variables
key value
C 2f2f2020436f7079726967687420323032342e20436976696c776172652e20416c6c207269676874732072657365727665642e0a2f2f202054454c4120446563656e7472616c697a65642057656220446f63756d656e74202854454c412d444f432d31290a46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c202264617461332e6a7322290a33312053544f524528226465736372486472222c2022446174612066696c65203322290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c202264617461332e6a7322290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c20223232373035346666633831396137393765623266356634653961356131313763336339343962353930383039353937656161373738323565373738643033333922290a33372053544f5245282266696c65436865636b53222c20223135313862353235613930376262336639336435336261336138613935356563663230366664313137343930336264323237386533346139633238633332336122290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a636c6173732043616d6572617b636f6e7374727563746f7228297b746869732e783d302c746869732e793d302c746869732e7a3d352c746869732e70697463683d302c746869732e7961773d302c746869732e7a6f6f6d3d312c746869732e666f763d4d6174682e50492f342c746869732e6e6561723d312c746869732e6661723d3165332c746869732e6d6f64653d226c6f6f6b4174222c746869732e766965774d61747269783d6e657720466c6f617433324172726179285b312c302c302c302c302c312c302c302c302c302c312c302c302c302c302c315d292c746869732e6c617374486974583d302c746869732e6c617374486974593d302c746869732e6c6173744869747a3d307d676574566965774d617472697828297b696628226c6f6f6b4174223d3d3d746869732e6d6f64652972657475726e20746869732e766965774d61747269783b69662822746f70646f776e223d3d3d746869732e6d6f64652972657475726e20746869732e766965774d61747269783b6966282262617272656c223d3d3d746869732e6d6f64652972657475726e20746869732e766965774d61747269783b636f6e737420743d6d6f64656c4d6174726978282d746869732e782c2d746869732e792c2d746869732e7a292c613d726f746174696f6e58282d746869732e7069746368292c723d726f746174696f6e59282d746869732e796177293b72657475726e206d756c7469706c7928612c6d756c7469706c7928722c7429297d67657450726f6a656374696f6e4d61747269782874297b72657475726e2070657273706563746976654d617472697828746869732e666f762a746869732e7a6f6f6d2c742c746869732e6e6561722c746869732e666172297d7d66756e6374696f6e2070657273706563746976654d617472697828742c612c722c65297b636f6e737420693d312f4d6174682e74616e28742f32292c633d312f28722d65293b72657475726e206e657720466c6f617433324172726179285b692f612c302c302c302c302c692c302c302c302c302c28652b72292a632c2d312c302c302c322a652a722a632c305d297d66756e6374696f6e206c6f6f6b417428742c612c72297b636f6e737420653d745b305d2c693d745b315d2c633d745b325d3b6c6574206f3d615b305d2d652c6e3d615b315d2d692c733d615b325d2d633b636f6e7374206d3d4d6174682e6879706f74286f2c6e2c73293b6f2f3d6d2c6e2f3d6d2c732f3d6d3b6c6574206c3d6e2a725b325d2d732a725b315d2c783d732a725b305d2d6f2a725b325d2c793d6f2a725b315d2d6e2a725b305d3b636f6e7374207a3d4d6174682e6879706f74286c2c782c79293b6c2f3d7a2c782f3d7a2c792f3d7a3b6c657420683d782a732d792a6e2c703d792a6f2d6c2a732c753d6c2a6e2d782a6f3b72657475726e206e657720466c6f617433324172726179285b6c2c682c2d6f2c302c782c702c2d6e2c302c792c752c2d732c302c2d286c2a652b782a692b792a63292c2d28682a652b702a692b752a63292c6f2a652b6e2a692b732a632c315d297d66756e6374696f6e206c65727028742c612c72297b72657475726e20742b28612d74292a727d66756e6374696f6e2075706461746543616d65726128297b636f6e737420743d67616d652e706c617965723b6966282262617272656c223d3d3d63616d6572612e6d6f64653f696e7075742e7a6f6f6d496e3f63616d6572612e7a6f6f6d3d6c6572702863616d6572612e7a6f6f6d2c2e342c2e31293a696e7075742e7a6f6f6d4f757426262863616d6572612e7a6f6f6d3d6c6572702863616d6572612e7a6f6f6d2c312c2e3129293a63616d6572612e7a6f6f6d3d6c6572702863616d6572612e7a6f6f6d2c312c2e31292c63616d6572612e7a6f6f6d213d3d63616d6572612e6c6173745a6f6f6d26262863616d6572612e70726f6a656374696f6e4d61747269783d63616d6572612e67657450726f6a656374696f6e4d617472697828617370656374292c63616d6572612e6c6173745a6f6f6d3d63616d6572612e7a6f6f6d292c226c6f6f6b4174223d3d3d63616d6572612e6d6f6465297b742e7374656572416e676c657c7c742e7475726e53706565642c742e73706565643b636f6e737420613d31352c723d612b2e312a742e73706565642c653d742e666f72776172645b305d2c693d742e666f72776172645b325d2c633d686d61702e73616d706c6528742e782b322a652c742e7a2b322a69292c6f3d322a28686d61702e73616d706c6528742e782c742e7a292d63293b742e7069746368536d6f6f74683d6c65727028742e7069746368536d6f6f74687c7c302c6f2c2e31293b636f6e7374206e3d5b742e782c742e67726f756e64592b312e352b322a742e7069746368536d6f6f74682c742e7a5d2c733d5b6e5b305d2d652a722c6e5b315d2b352b2e30352a742e73706565642b332a742e7069746368536d6f6f74682c6e5b325d2d692a725d2c6d3d7b783a742e782c793a742e67726f756e64592b312e352c7a3a742e7a7d2c6c3d7b783a735b305d2d6d2e782c793a735b315d2d6d2e792c7a3a735b325d2d6d2e7a7d2c783d4d6174682e73717274286c2e782a6c2e782b6c2e792a6c2e792b6c2e7a2a6c2e7a292c793d726179636173744f626a65637473286d2c7b783a6c2e782f782c793a6c2e792f782c7a3a6c2e7a2f787d2c322c782c2131293b6c6574207a3d303b696628792626287a3d782d792e64697374292c7a3e30297b636f6e737420743d4d6174682e6d696e282e322a7a2c31292c723d735b305d2b652a28742a61292c633d735b325d2b692a28742a61293b63616d6572612e783d6c6572702863616d6572612e782c722c2e32292c63616d6572612e7a3d6c6572702863616d6572612e7a2c632c2e32297d656c73652063616d6572612e783d6c6572702863616d6572612e782c735b305d2c2e3132292c63616d6572612e793d6c6572702863616d6572612e792c735b315d2c2e3132292c63616d6572612e7a3d6c6572702863616d6572612e7a2c735b325d2c2e3132293b636f6e737420683d7b783a63616d6572612e782c793a63616d6572612e792c7a3a63616d6572612e7a7d3b63616d6572612e766965774d61747269783d6c6f6f6b4174285b63616d6572612e782c63616d6572612e792c63616d6572612e7a5d2c6e2c5b302c312c305d293b636f6e737420703d742e62617272656c2e7472616e73666f726d2e6765744d617472697828293b69662821702972657475726e3b636f6e737420753d61696d65722870292c663d752e636c69702c643d752e6869743b696628726179496e746572736563747354616e6b28682c7b783a642e782d63616d6572612e782c793a642e792d63616d6572612e792c7a3a642e7a2d63616d6572612e7a7d2c74292972657475726e20766f6964206374782e636c6561725265637428302c302c756963616e7661732e77696474682c756963616e7661732e686569676874293b636f6e7374204d3d665b305d2f665b335d2c773d665b315d2f665b335d2c673d282e352a4d2b2e35292a756963616e7661732e77696474682c763d28312d282e352a772b2e3529292a756963616e7661732e6865696768743b696628665b335d3c3d307c7c4d3c2d317c7c4d3e317c7c773c2d317c7c773e312972657475726e3b72657475726e206374782e66696c6c5374796c653d2272676261283235352c302c302c302e3629222c6374782e626567696e5061746828292c6374782e61726328672c762c342c302c322a4d6174682e5049292c766f6964206374782e66696c6c28297d69662822746f70646f776e223d3d3d63616d6572612e6d6f6465297b636f6e737420613d5b742e782c742e792b3130302c742e7a5d2c723d5b742e782c742e792c742e7a5d3b63616d6572612e766965774d61747269783d6c6f6f6b417428612c722c5b302c302c2d315d293b636f6e737420653d742e62617272656c2e7472616e73666f726d2e6765744d617472697828293b69662821652972657475726e3b636f6e737420693d61696d65722865292e636c69702c633d695b305d2f695b335d2c6f3d695b315d2f695b335d2c6e3d282e352a632b2e35292a756963616e7661732e77696474682c733d28312d282e352a6f2b2e3529292a756963616e7661732e6865696768743b696628695b335d3c3d307c7c633c2d317c7c633e317c7c6f3c2d317c7c6f3e312972657475726e3b72657475726e206374782e66696c6c5374796c653d2272676261283235352c302c302c302e3629222c6374782e626567696e5061746828292c6374782e617263286e2c732c342c302c322a4d6174682e5049292c766f6964206374782e66696c6c28297d6966282262617272656c223d3d3d63616d6572612e6d6f6465297b636f6e737420743d67616d652e706c617965722e62617272656c2e7472616e73666f726d2e6765744d617472697828293b69662821742972657475726e3b636f6e737420613d67616d652e706c617965722e7475727265742e7472616e73666f726d2e6765744d617472697828292c723d7b783a745b385d2c793a745b395d2c7a3a745b31305d7d2c653d7b783a615b345d2c793a615b355d2c7a3a615b365d7d2c693d7b783a615b31325d2b722e782c793a615b31335d2b722e792c7a3a615b31345d2b722e7a7d2c633d302c6f3d2e362c6e3d7b783a692e782d722e782a632c793a692e792b6f2c7a3a692e7a2d722e7a2a637d2c733d7b783a692e782b35302a722e782c793a692e792b35302a722e792c7a3a692e7a2b35302a722e7a7d3b63616d6572612e766965774d61747269783d6c6f6f6b4174285b6e2e782c6e2e792c6e2e7a5d2c5b732e782c732e792c732e7a5d2c5b652e782c652e792c652e7a5d293b636f6e7374206d3d61696d65722874292e636c69702c6c3d6d5b305d2f6d5b335d2c783d6d5b315d2f6d5b335d2c793d282e352a6c2b2e35292a756963616e7661732e77696474682c7a3d28312d282e352a782b2e3529292a756963616e7661732e6865696768743b72657475726e206374782e66696c6c5374796c653d2272676261283235352c302c302c302e3629222c6374782e626567696e5061746828292c6374782e61726328792c7a2c342c302c322a4d6174682e5049292c766f6964206374782e66696c6c28297d7d66756e6374696f6e2061696d65722874297b636f6e737420613d7b783a745b385d2c793a745b395d2c7a3a745b31305d7d2c723d7b783a745b31325d2b612e782c793a745b31335d2b612e792c7a3a745b31345d2b612e7a7d2c653d726179636173745465727261696e28722c61292c693d726179636173744f626a6563747328722c612c322c3165332c2130293b6c657420633d652626693f652e646973743c692e646973743f653a693a657c7c693b637c7c28633d7b783a722e782b3265332a612e782c793a722e792b3265332a612e792c7a3a722e7a2b3265332a612e7a7d292c697346696e6974652863616d6572612e6c61737448697458297c7c2863616d6572612e6c617374486974583d632e78292c697346696e6974652863616d6572612e6c61737448697459297c7c2863616d6572612e6c617374486974593d632e79292c697346696e6974652863616d6572612e6c6173744869745a297c7c2863616d6572612e6c6173744869745a3d632e7a292c63616d6572612e6c617374486974583d6c6572702863616d6572612e6c617374486974582c632e782c2e32292c63616d6572612e6c617374486974593d6c6572702863616d6572612e6c617374486974592c632e792c2e32292c63616d6572612e6c6173744869745a3d6c6572702863616d6572612e6c6173744869745a2c632e7a2c2e32293b636f6e7374206f3d5b63616d6572612e6c617374486974582c63616d6572612e6c617374486974592c63616d6572612e6c6173744869745a5d3b72657475726e7b636c69703a6d756c7469706c794d617434566563342863616d6572612e70726f6a656374696f6e4d61747269782c6d756c7469706c794d617434566563342863616d6572612e766965774d61747269782c5b2e2e2e6f2c315d29292c6869743a637d7d66756e6374696f6e20726573657443616d657261466f724c6f6f6b41742874297b636f6e737420613d31352b2e312a742e73706565642c723d5b742e782c742e67726f756e64592b312e352c742e7a5d2c653d742e666f72776172645b305d2c693d742e666f72776172645b325d2c633d5b725b305d2d652a612c725b315d2b352b2e30352a742e73706565642c725b325d2d692a615d3b63616d6572612e783d635b305d2c63616d6572612e793d635b315d2c63616d6572612e7a3d635b325d2c63616d6572612e766965774d61747269783d6c6f6f6b417428632c722c5b302c312c305d297d66756e6374696f6e20726179636173745465727261696e28742c612c723d326533297b636f6e737420653d4d6174682e61627328742e792d686d61702e73616d706c6528742e782c742e7a29293b6c657420693d323b653c3230262628693d31292c653c3130262628693d2e35292c653c35262628693d2e3235293b666f72286c657420653d303b653c723b652b3d69297b636f6e737420723d742e782b612e782a652c693d742e7a2b612e7a2a652c633d686d61702e73616d706c6528722c69293b696628633e742e792b612e792a652972657475726e7b783a722c793a632c7a3a692c646973743a657d7d72657475726e206e756c6c7d66756e6374696f6e20726179636173744f626a6563747328742c612c723d322c653d3265332c693d21312c633d6e756c6c297b666f72286c6574206f3d303b6f3c653b6f2b3d72297b636f6e737420723d742e782b612e782a6f2c653d742e792b612e792a6f2c6e3d742e7a2b612e7a2a6f3b6966286929666f7228636f6e73742074206f662067616d652e656e656d6965732969662863213d3d74262621742e646561642626742e6f62622626706f696e74496e54616e6b4f424228722c652c6e2c74292972657475726e7b783a722c793a652c7a3a6e2c646973743a6f2c743a747d3b666f7228636f6e73742074206f6620776f726c644f626a6563747329696628226f6262223d3d3d742e636f6c6c6964657254797065297b696628706f696e74496e4f424228722c652c6e2c74292972657475726e7b783a722c793a652c7a3a6e2c646973743a6f2c6f626a3a747d7d656c73652069662822636972636c65223d3d3d742e636f6c6c69646572547970652626706f696e74496e43796c696e64657228722c652c6e2c74292972657475726e7b783a722c793a652c7a3a6e2c646973743a6f2c6f626a3a747d7d72657475726e206e756c6c7d66756e6374696f6e20726179496e746572736563747354616e6b28742c612c72297b636f6e737420653d4d6174682e7371727428612e782a612e782b612e792a612e792b612e7a2a612e7a293b612e782f3d652c612e792f3d652c612e7a2f3d653b636f6e737420693d2e32352c633d652f693b6c6574206f3d742e782c6e3d742e792c733d742e7a3b666f72286c657420743d303b743c633b742b2b296966286f2b3d612e782a692c6e2b3d612e792a692c732b3d612e7a2a692c706f696e74496e54616e6b4f4242286f2c6e2c732c72292972657475726e21303b72657475726e21317d66756e6374696f6e20757064617465426f756e64696e67426f78657328297b666f7228636f6e73742065206f6620776f726c644f626a656374732922636972636c6522213d3d652e636f6c6c69646572547970652626226f626222213d3d652e636f6c6c69646572547970657c7c7570646174654f626a6563744f42422865293b62627873557064617465643d21307d66756e6374696f6e2075706461746554616e6b4f42422865297b636f6e7374206f3d4d6174682e73696e28652e796177292c733d4d6174682e636f7328652e796177293b652e6f62622e63783d652e782c652e6f62622e63793d652e67726f756e64592b652e68616c664865696768742c652e6f62622e637a3d652e7a2c652e6f62622e68773d652e636f6c6c696465722e68616c6657696474682c652e6f62622e68643d652e636f6c6c696465722e68616c664c656e6774682c652e6f62622e68683d652e636f6c6c696465722e68616c664865696768742c652e6f62622e773d652e77696474682c652e6f62622e643d652e6c656e6774682c652e6f62622e683d652e6865696768742c652e6f62622e7269676874583d732c652e6f62622e72696768745a3d6f2c652e6f62622e666f7277617264583d2d6f2c652e6f62622e666f72776172645a3d737d66756e6374696f6e207570646174654f626a6563744f42422865297b652e6f62622e63783d652e7472616e73666f726d2e782c652e6f62622e63793d652e7472616e73666f726d2e792c652e6f62622e637a3d652e7472616e73666f726d2e7a2c652e6f62622e68773d652e68616c6657696474682c652e6f62622e68643d652e68616c6644657074682c652e6f62622e68683d652e68616c664865696768742c652e6f62622e773d652e7472616e73666f726d2e73782c652e6f62622e643d652e7472616e73666f726d2e737a2c652e6f62622e683d652e7472616e73666f726d2e73793b636f6e7374206f3d652e7472616e73666f726d2e72793b652e6f62622e7269676874583d4d6174682e636f73286f292c652e6f62622e72696768745a3d4d6174682e73696e286f292c652e6f62622e666f7277617264583d2d4d6174682e73696e286f292c652e6f62622e666f72776172645a3d4d6174682e636f73286f292c652e7261646975733d4d6174682e7371727428652e6f62622e772a652e6f62622e772b652e6f62622e642a652e6f62622e64297d66756e6374696f6e20757064617465436f6c6c6973696f6e7328297b636f6e737420653d67616d652e706c617965723b776f726c644f626a656374735b305d2e6f62627c7c757064617465426f756e64696e67426f78657328292c75706461746554616e6b4f42422865292c776f726c64436f6c6c6973696f6e732865293b666f72286c6574206f3d303b6f3c67616d652e656e656d6965732e6c656e6774683b6f2b2b297b636f6e737420733d67616d652e656e656d6965735b6f5d3b75706461746554616e6b4f42422873292c776f726c64436f6c6c6973696f6e732873292c7265736f6c766554616e6b567354616e6b28652c73293b666f72286c657420653d6f2b313b653c67616d652e656e656d6965732e6c656e6774683b652b2b297265736f6c766554616e6b567354616e6b28732c67616d652e656e656d6965735b655d297d7d66756e6374696f6e20776f726c64436f6c6c6973696f6e732865297b666f7228636f6e7374206f206f6620776f726c644f626a65637473297b636f6e737420733d6f2e7472616e73666f726d2e782d652e782c723d6f2e7472616e73666f726d2e7a2d652e7a3b69662821284d6174682e6162732873293e6f2e7261646975732b652e72616469757329262621284d6174682e6162732872293e6f2e7261646975732b652e726164697573292969662822636972636c65223d3d3d6f2e636f6c6c6964657254797065297b696628696e7465727365637473436972636c6556734f424228652e6f62622c6f2c732c7229297b696628226d696e65223d3d3d6f2e747970652972657475726e2064657374726f794d696e65286f2c65293b7265736f6c7665436972636c6556734f424228652c6f297d7d656c736520696628226f6262223d3d3d6f2e636f6c6c6964657254797065297b636f6e737420743d7361744f424276734f42425f4d545628652e6f62622c6f2e6f62622c732c72293b7426267265736f6c76654f42425f54616e6b56734f626a65637428652c6f2c74297d7d7d66756e6374696f6e207361744f424276734f42425f4d545628652c6f2c732c72297b636f6e737420743d5b7b783a652e7269676874582c7a3a652e72696768745a7d2c7b783a652e666f7277617264582c7a3a652e666f72776172645a7d2c7b783a6f2e7269676874582c7a3a6f2e72696768745a7d2c7b783a6f2e666f7277617264582c7a3a6f2e666f72776172645a7d5d3b6c6574206e3d312f302c613d6e756c6c3b666f7228636f6e73742069206f662074297b636f6e737420743d732a692e782b722a692e7a2c623d4d6174682e61627328652e68772a28652e7269676874582a692e782b652e72696768745a2a692e7a29292b4d6174682e61627328652e68642a28652e666f7277617264582a692e782b652e666f72776172645a2a692e7a29292b284d6174682e616273286f2e772a286f2e7269676874582a692e782b6f2e72696768745a2a692e7a29292b4d6174682e616273286f2e642a286f2e666f7277617264582a692e782b6f2e666f72776172645a2a692e7a2929292d4d6174682e6162732874292d2e353b696628623c3d302972657475726e206e756c6c3b696628623c6e297b6e3d623b636f6e737420653d743c303f2d313a313b613d7b783a692e782a652c7a3a692e7a2a657d7d7d72657475726e20613f7b783a612e782a6e2c7a3a612e7a2a6e7d3a6e756c6c7d66756e6374696f6e207265736f6c76654f42425f54616e6b56734f626a65637428652c6f2c73297b69662821697346696e69746528732e78297c7c21697346696e69746528732e7a292972657475726e3b696628303d3d3d732e782626303d3d3d732e7a2972657475726e3b652e782d3d732e782c652e7a2d3d732e7a3b6c657420723d4d6174682e6879706f7428732e782c732e7a293b723c31652d35262628723d31652d35293b636f6e737420743d732e782f722c6e3d732e7a2f722c613d652e666f72776172645b305d2c693d652e666f72776172645b325d2c623d612a742b692a6e3b696628623e30297b652e666f72776172645b305d3d612d622a742c652e666f72776172645b325d3d692d622a6e3b636f6e7374206f3d4d6174682e6879706f7428652e666f72776172645b305d2c652e666f72776172645b325d293b6f3e31652d35262628652e666f72776172645b305d2f3d6f2c652e666f72776172645b325d2f3d6f297d652e73706565642a3d623e2e373f2e323a623e2e333f2e353a2e397d66756e6374696f6e20696e7465727365637473436972636c6556734f424228652c6f2c732c72297b6f2e7472616e73666f726d2e782c6f2e7472616e73666f726d2e7a3b636f6e737420743d6f2e722c6e3d6f2e7472616e73666f726d2e72792c613d4d6174682e636f73282d6e292c693d4d6174682e73696e282d6e292c623d732a612d722a692c643d732a692b722a612c633d622d4d6174682e6d6178282d652e68772c4d6174682e6d696e28622c652e687729292c663d642d4d6174682e6d6178282d652e68642c4d6174682e6d696e28642c652e686429293b72657475726e20632a632b662a663c3d742a747d66756e6374696f6e207265736f6c7665436972636c6556734f424228652c6f297b636f6e737420733d6f2e7472616e73666f726d2e782c723d6f2e7472616e73666f726d2e7a2c743d6f2e722c6e3d732d652e6f62622e63782c613d722d652e6f62622e637a2c693d6f2e7472616e73666f726d2e72792c623d4d6174682e636f73282d69292c643d4d6174682e73696e282d69292c633d6e2a622d612a642c663d6e2a642b612a622c6c3d632d4d6174682e6d6178282d652e6f62622e68772c4d6174682e6d696e28632c652e6f62622e687729292c683d662d4d6174682e6d6178282d652e6f62622e68642c4d6174682e6d696e28662c652e6f62622e686429292c6d3d742d4d6174682e73717274286c2a6c2b682a68293b6966286d3e30297b636f6e7374206f3d652e6f62622e63782d732c743d652e6f62622e637a2d722c6e3d4d6174682e73717274286f2a6f2b742a74292c613d303d3d3d6e3f313a6f2f6e2c693d303d3d3d6e3f303a742f6e2c623d652e666f72776172645b305d2a612b652e666f72776172645b325d2a692c643d312e312a6d3b652e782b3d612a642c652e7a2b3d692a642c623e2e31262628652e73706565643d30297d7d66756e6374696f6e20706f696e74496e4f424228652c6f2c732c72297b636f6e737420743d652d722e6f62622e63782c6e3d732d722e6f62622e637a2c613d742a722e6f62622e7269676874582b6e2a722e6f62622e72696768745a2c693d742a722e6f62622e666f7277617264582b6e2a722e6f62622e666f72776172645a2c623d6f2d722e6f62622e63793b72657475726e204d6174682e6162732861293c3d722e6f62622e7726264d6174682e6162732869293c3d722e6f62622e6426264d6174682e6162732862293c3d722e6f62622e687d66756e6374696f6e20706f696e74496e43796c696e64657228652c6f2c732c72297b636f6e737420743d652d722e7472616e73666f726d2e782c6e3d732d722e7472616e73666f726d2e7a2c613d742a742b6e2a6e2c693d722e7472616e73666f726d2e73782c623d6f2d722e7472616e73666f726d2e792c643d722e7472616e73666f726d2e73793b72657475726e20613c3d692a6926264d6174682e6162732862293c3d647d66756e6374696f6e20706f696e74496e43796c696e64657254696c74656428652c6f2c732c72297b636f6e737420743d652d722e7472616e73666f726d2e782c6e3d6f2d722e7472616e73666f726d2e792c613d732d722e7472616e73666f726d2e7a2c693d722e7472616e73666f726d2e676574526f746174696f6e4d617472697828292c623d5b695b305d2c695b345d2c695b385d2c695b315d2c695b355d2c695b395d2c695b325d2c695b365d2c695b31305d5d2c643d5b625b305d2c625b335d2c625b365d2c625b315d2c625b345d2c625b375d2c625b325d2c625b355d2c625b385d5d2c633d645b305d2a742b645b315d2a6e2b645b325d2a612c663d645b335d2a742b645b345d2a6e2b645b355d2a612c6c3d645b365d2a742b645b375d2a6e2b645b385d2a612c683d722e7472616e73666f726d2e73783b696628632a632b6c2a6c3e682a682972657475726e21313b636f6e7374206d3d722e7472616e73666f726d2e73793b72657475726e21284d6174682e6162732866293e6d297d66756e6374696f6e20706f696e74496e54616e6b4f424228652c6f2c732c72297b636f6e737420743d722e7472616e73666f726d2e6765744d617472697828292c6e3d652d745b31325d2c613d6f2d745b31335d2c693d732d745b31345d2c623d6e2a745b305d2b612a745b315d2b692a745b325d2c643d6e2a745b345d2b612a745b355d2b692a745b365d2c633d6e2a745b385d2b612a745b395d2b692a745b31305d3b72657475726e204d6174682e6162732862293c3d722e6f62622e687726264d6174682e6162732864293c3d722e6f62622e686826264d6174682e6162732863293c3d722e6f62622e68647d66756e6374696f6e2068616e646c6548697428652c6f297b6966286f2e626173654964262622706c61796572223d3d3d652e6f776e6572297b69662867616d652e62617365735b6f2e6261736549645d2e68702d3d652e64616d6167652c67616d652e62617365735b6f2e6261736549645d2e68703e353029666f7228636f6e73742065206f662067616d652e656e656d69657329652e6163746976617465647c7c64697374616e636528652c67616d652e62617365735b6f2e6261736549645d293c3735262628652e6163746976617465643d2130293b67616d652e62617365735b6f2e6261736549645d2e68703c3d30262664657374726f79426173652867616d652e62617365735b6f2e6261736549645d297d6f2e646573747275637469626c6526262262617272656c223d3d3d6f2e747970652626286f2e68702d3d652e64616d6167652c6f2e68703c3d302626216f2e64657374726f796564262664657374726f7942617272656c286f29292c6f2e646573747275637469626c652626226d696e65223d3d3d6f2e747970652626286f2e68702d3d652e64616d6167652c6f2e68703c3d302626216f2e64657374726f796564262664657374726f794d696e65286f29292c226d67223d3d3d652e747970653f737061776e547269616e676c657328652c352c2e3035293a737061776e547269616e676c657328652c31302c2e3132292c6578706c6f64652865297d66756e6374696f6e20636865636b50726f6a656374696c65436f6c6c6973696f6e2865297b696628652e793c3d686d61702e73616d706c6528652e782c652e7a29296578706c6f64652865293b656c73657b666f7228636f6e7374206f206f6620776f726c644f626a6563747329696628226f626222213d3d6f2e636f6c6c6964657254797065297b69662822636972636c65223d3d3d6f2e636f6c6c6964657254797065297b696628303d3d3d6f2e7472616e73666f726d2e72782626303d3d3d6f2e7472616e73666f726d2e727a3f706f696e74496e43796c696e64657228652e782c652e792c652e7a2c6f293a706f696e74496e43796c696e64657254696c74656428652e782c652e792c652e7a2c6f292972657475726e20766f69642068616e646c6548697428652c6f297d7d656c736520696628706f696e74496e4f424228652e782c652e792c652e7a2c6f292972657475726e20766f69642068616e646c6548697428652c6f293b69662822656e656d79223d3d3d652e6f776e65722626706f696e74496e54616e6b4f424228652e782c652e792c652e7a2c67616d652e706c61796572292968616e646c6556656869636c6548697428652c67616d652e706c61796572293b656c736520666f7228636f6e7374206f206f662067616d652e656e656d6965732969662822656e656d7922213d3d652e6f776e65722626706f696e74496e54616e6b4f424228652e782c652e792c652e7a2c6f292972657475726e20766f69642068616e646c6556656869636c6548697428652c6f297d7d66756e6374696f6e2064657374726f79426173652865297b666f7228636f6e7374206f206f6620652e626f786573297b636f6e737420653d776f726c644f626a656374732e696e6465784f66286f293b2d31213d3d652626776f726c644f626a656374732e73706c69636528652c31293b636f6e737420733d7363656e652e696e6465784f66286f293b2d31213d3d7326267363656e652e73706c69636528732c31297d64656c6574652067616d652e62617365735b652e69645d2c737061776e547269616e676c657328652c36302c32292c737061776e547269616e676c657328652c3130302c2e35292c7366784578706c6f73696f6e2865297d66756e6374696f6e2064657374726f7942617272656c2865297b636f6e7374206f3d776f726c644f626a656374732e696e6465784f662865293b2d31213d3d6f2626776f726c644f626a656374732e73706c696365286f2c31293b636f6e737420733d7363656e652e696e6465784f662865293b2d31213d3d7326267363656e652e73706c69636528732c31292c737061776e547269616e676c6573287b783a652e7472616e73666f726d2e782c793a652e7472616e73666f726d2e792c7a3a652e7472616e73666f726d2e7a7d2c3130302c32292c737061776e4578706c6f73696f6e28652c34302c313530292c7366784578706c6f73696f6e287b783a652e7472616e73666f726d2e782c793a652e7472616e73666f726d2e792c7a3a652e7472616e73666f726d2e7a7d297d66756e6374696f6e2064657374726f794d696e6528652c6f3d6e756c6c297b696628742d652e6465706c6f7965643c317c7c6f3d3d3d67616d652e706c6179657226264d6174682e6162732867616d652e706c617965722e7370656564293c2e312972657475726e3b636f6e737420733d776f726c644f626a656374732e696e6465784f662865293b2d31213d3d732626776f726c644f626a656374732e73706c69636528732c31293b636f6e737420723d7363656e652e696e6465784f662865293b2d31213d3d7226267363656e652e73706c69636528722c31292c737061776e547269616e676c6573287b783a652e7472616e73666f726d2e782c793a652e7472616e73666f726d2e792c7a3a652e7472616e73666f726d2e7a7d2c3130302c32292c737061776e4578706c6f73696f6e28652c33302c3132292c7366784578706c6f73696f6e287b783a652e7472616e73666f726d2e782c793a652e7472616e73666f726d2e792c7a3a652e7472616e73666f726d2e7a7d297d66756e6374696f6e2068616e646c6556656869636c6548697428652c6f297b736678486974286f292c6f2e6865616c74682d3d652e64616d6167652c6f2e6865616c74683c3d3026266b696c6c54616e6b286f292c652e616c6976653d21312c737061776e547269616e676c65732865297d66756e6374696f6e206b696c6c54616e6b2865297b737061776e547269616e676c657328652c34302c2e32292c652e646561643d21303b636f6e7374206f3d7363656e652e696e6465784f662865292c733d7363656e652e696e6465784f6628652e747572726574292c723d7363656e652e696e6465784f6628652e62617272656c293b2d31213d3d7226267363656e652e73706c69636528722c31292c2d31213d3d7326267363656e652e73706c69636528732c31292c2d31213d3d6f26267363656e652e73706c696365286f2c31292c67616d652e656e656d6965733d67616d652e656e656d6965732e66696c74657228653d3e21652e64656164292c7366784578706c6f73696f6e2865297d66756e6374696f6e207265736f6c766554616e6b567354616e6b28652c6f297b636f6e737420733d6f2e6f62622e63782d652e6f62622e63782c723d6f2e6f62622e637a2d652e6f62622e637a3b6966284d6174682e6162732873293e652e7261646975732b6f2e7261646975732972657475726e3b6966284d6174682e6162732872293e652e7261646975732b6f2e7261646975732972657475726e3b636f6e737420743d7361744f424276734f42425f4d545628652e6f62622c6f2e6f62622c732c72293b69662821747c7c21697346696e69746528742e78297c7c21697346696e69746528742e7a292972657475726e3b636f6e7374206e3d652e6d6173732b6f2e6d6173732c613d6f2e6d6173732f6e2c693d652e6d6173732f6e3b652e782d3d742e782a612c652e7a2d3d742e7a2a612c6f2e782b3d742e782a692c6f2e7a2b3d742e7a2a693b636f6e737420623d4d6174682e73696e28652e796177292a652e73706565642c643d4d6174682e636f7328652e796177292a652e73706565642c633d622d4d6174682e73696e286f2e796177292a6f2e73706565642c663d642d4d6174682e636f73286f2e796177292a6f2e73706565642c6c3d4d6174682e6879706f7428742e782c742e7a292c683d2e352a2d28632a28742e782f6c292b662a28742e7a2f6c29293b652e73706565642b3d682a286f2e6d6173732f6e292c6f2e73706565642d3d682a28652e6d6173732f6e297d66756e6374696f6e20757064617465456e656d7928742c65297b69662821742e616374697661746564297b636f6e737420613d742e782d67616d652e706c617965722e782c723d742e7a2d67616d652e706c617965722e7a3b6966282128612a612b722a723c32323530307c7c742e6865616c7468213d3d742e6d61784865616c7468292972657475726e3b742e61637469766174696f6e54696d65722b3d652c742e61637469766174696f6e54696d65723e2e35262628742e6163746976617465643d2130293b666f7228636f6e73742065206f662067616d652e656e656d69657329652e6163746976617465647c7c64697374616e636528742c65293c3735262628652e6163746976617465643d2130297d6c657420612c722c6e3d303b696628742e666f72636552657665727365297b613d312a6e6f726d616c697a65416e676c6528742e666f7263655475726e2d742e796177292c723d302c6e3d317d656c73655b612c64616e67657241686561645d3d636f6d70757465456e656d795475726e28742c65292c723d636f6d70757465456e656d795468726f74746c6528742c64616e67657241686561642c65293b636f6e7374206f3d742e782d742e6c617374582c693d742e7a2d742e6c6173745a3b6966286f2a2d4d6174682e73696e28742e796177292b692a4d6174682e636f7328742e796177293c2e313f742e737475636b54696d65722b3d653a742e737475636b54696d65723d302c742e6c617374583d742e782c742e6c6173745a3d742e7a2c742e666f726365526576657273653d21312c28742e737475636b54696d65723e312626742e737475636b54696d65723c327c7c742e666f726365526576657273652626742e737475636b54696d65723c3229262628742e666f726365526576657273653d21302c742e666f7263655475726e3d742e7961772b2e362a4d6174682e5049292c742e737475636b54696d65723e3d32297b636f6e737420653d67657441766f6964616e63652874293b742e74656d70476f616c3d7b783a742e782b4d6174682e636f7328652e616e676c65292c7a3a742e7a2b4d6174682e73696e28652e616e676c65297d2c742e737475636b54696d65723e35262628742e737475636b54696d65723d30297d73776974636828742e70726f66696c652e7374656572696e674d6f64656c297b636173652274616e6b223a75706461746554616e6b5374656572696e6728742c612c65293b627265616b3b6361736522636172223a7570646174654361725374656572696e6728742c612c65293b627265616b3b63617365226472696674223a75706461746544726966745374656572696e6728742c612c65297d6966287570646174654d6f76656d656e7428742c722c6e2c65292c21742e62617272656c2e7472616e73666f726d2e6765744d617472697828292972657475726e3b636f6e737420733d742e62617272656c2e7472616e73666f726d2e6765744d617472697828292c633d735b385d2c6c3d735b395d2c683d735b31305d2c753d735b31325d2b2e342a632c663d735b31335d2b2e342a6c2c6d3d735b31345d2b2e342a682c793d67616d652e706c617965722e7472616e73666f726d2e6765744d617472697828292c673d795b31325d2d752c703d795b31335d2d662c4d3d795b31345d2d6d2c643d4d6174682e6174616e32282d672c4d292c783d4d6174682e6174616e3228702c4d6174682e7371727428672a672b4d2a4d29292c7a3d6e6f726d616c697a65416e676c6528642d28742e7961772b742e7475727265742e79617729292c773d6e6f726d616c697a65416e676c6528782d4d6174682e6174616e32286c2c4d6174682e7371727428632a632b682a682929293b742e7475727265742e7961772b3d322a7a2a652a322c742e7475727265742e70697463682b3d322a772a652a312e352c742e7475727265742e70697463683d4d6174682e6d6178282d2e332c4d6174682e6d696e28742e7475727265742e70697463682c2e3529292c742e7072696d61727946697265436f6f6c646f776e3c3d3026262874727954757272657453686f7428742c7a2c77292c742e7072696d61727946697265436f6f6c646f776e3d742e7072696d6172794669726552617465292c742e7365636f6e6461727946697265436f6f6c646f776e3c3d302626287472794d616368696e6547756e53686f7428742c7a292c742e7365636f6e6461727946697265436f6f6c646f776e3d742e7072696d6172794669726552617465292c742e7072696d61727946697265436f6f6c646f776e2d3d652c742e7365636f6e6461727946697265436f6f6c646f776e2d3d657d66756e6374696f6e20636f6d70757465456e656d795475726e28742c65297b636f6e737420613d67616d652e706c617965722e782d742e782c723d67616d652e706c617965722e7a2d742e7a2c6e3d4d6174682e6879706f7428612c72292c6f3d612f6e2c693d722f6e2c733d726179636173744f626a65637473287b783a742e782c793a742e67726f756e64592b742e68616c664865696768742c7a3a742e7a7d2c7b783a6f2c793a302c7a3a697d2c312c6e292c633d67657441766f6964616e63652874293b6c6574206c3b6966286e756c6c3d3d73296c3d4d6174682e6174616e32282d612c72292c742e74656d70476f616c3d6e756c6c3b656c73657b742e74656d70476f616c7c7c28742e74656d70476f616c3d7069636b526164697573576179706f696e7428742c6329293b636f6e737420653d742e74656d70476f616c2e782d742e782c613d742e74656d70476f616c2e7a2d742e7a3b6c3d4d6174682e6174616e32282d652c61292c4d6174682e6879706f7428652c61293c3130262628742e74656d70476f616c3d7069636b526164697573576179706f696e7428742c6329297d6c657420683d302c753d303b742e73706565643e312626285b682c755d3d67657441766f6964616e6365416e676c6541646a7573746d656e7428742c6c29292c6c2b3d683b6c657420663d6e6f726d616c697a65416e676c65286c2d742e796177293b636f6e7374206d3d4d6174682e6162732866293b6c657420793b72657475726e20793d22636172223d3d3d742e70726f66696c652e7374656572696e674d6f64656c26266d3c2e353f6d3c2e313f303a2e31352a663a312a662c5b792c755d7d66756e6374696f6e2067657441766f6964616e63652874297b636f6e737420653d742e7961772c613d742e782b2d4d6174682e73696e2865292c723d742e7a2b4d6174682e636f732865292c6e3d5b5d2c6f3d5b5d3b666f72286c657420693d2d313b693c3d313b692b3d2e3135297b636f6e737420733d652b692c633d7b783a2d4d6174682e73696e2873292c793a302c7a3a4d6174682e636f732873297d2c6c3d726179636173744f626a65637473287b783a612c793a742e67726f756e64592b322c7a3a727d2c632c312c313230292c683d6c3f6c2e646973743a3132303b6966286c26266c2e646973743c3829636f6e74696e75653b636f6e737420753d612b632e782a682c663d722b632e7a2a682c6d3d67616d652e706c617965722e782d752c793d67616d652e706c617965722e7a2d662c673d682f3132302c703d312f284d6174682e6879706f74286d2c79292b31293b6c7c7c6e2e70757368287b616e676c653a732c73636f72653a2e342a672b2e362a707d292c6f2e70757368287b616e676c653a732c73636f72653a677d297d72657475726e206e2e6c656e6774683e303f286e2e736f72742828742c65293d3e652e73636f72652d742e73636f7265292c7b616e676c653a6e5b305d2e616e676c657d293a6f2e6c656e6774683e303f286f2e736f72742828742c65293d3e652e73636f72652d742e73636f7265292c7b616e676c653a6f5b305d2e616e676c657d293a7b616e676c653a657d7d66756e6374696f6e207069636b526164697573576179706f696e7428742c65297b636f6e737420613d4d6174682e6879706f742867616d652e706c617965722e782d742e782c67616d652e706c617965722e7a2d742e7a292c723d4d6174682e6d696e2838302c4d6174682e6d61782833302c2e342a6129292c6e3d652e616e676c653b72657475726e7b783a742e782b2d4d6174682e73696e286e292a722c7a3a742e7a2b4d6174682e636f73286e292a727d7d66756e6374696f6e2067657441766f6964616e6365416e676c6541646a7573746d656e7428742c65297b636f6e737420613d742e782c723d742e7a2c6e3d5b7b6f66663a302c7765696768743a317d2c7b6f66663a2e32352c7765696768743a2e377d2c7b6f66663a2d2e32352c7765696768743a2e377d2c7b6f66663a2e35352c7765696768743a2e357d2c7b6f66663a2d2e35352c7765696768743a2e357d5d3b6c6574206f3d302c693d303b666f7228636f6e73742065206f66206e297b726179486974734f626a65637428612c722c742e7961772b652e6f66662b4d6174682e50492f322c313029262628652e6f66663e303f6f2b3d652e7765696768743a692b3d652e776569676874297d636f6e737420733d6f2b693b696628303d3d3d732972657475726e5b302c305d3b6c657420633d303b72657475726e20633d6f3e693f2d2e353a2e352c5b632c735d7d66756e6374696f6e20636f6d70757465456e656d795468726f74746c6528742c653d302c61297b696628653d4d6174682e6162732865292c742e73706565643e34297b696628653e312972657475726e2e353b696628653e3d322972657475726e2d2e353b696628653e3d322e352626742e73706565643e372972657475726e2d317d72657475726e20317d66756e6374696f6e207472794d616368696e6547756e53686f7428742c65297b69662821284d6174682e6162732865293c2e32292972657475726e3b726179486974734f626a65637428742e782c742e7a2c742e7961772c333030293b73686f6f744d616368696e6547756e2874297d66756e6374696f6e2074727954757272657453686f7428742c652c61297b636f6e737420723d4d6174682e6162732865293c2e312c6e3d4d6174682e6162732861293c2e313b69662821727c7c216e2972657475726e3b636f6e7374206f3d742e62617272656c2e7472616e73666f726d2e6765744d617472697828292c693d742e7475727265742e7472616e73666f726d2e6765744d617472697828292c733d676574576f726c64506f732869292c633d676574466f7277617264286f292c6c3d726179636173744f626a6563747328732c632c322c3165332c21302c74292c683d726179486974735465727261696e334428742c316533293b7226266e26262131213d3d6c26262168262673686f6f745475727265742874297d66756e6374696f6e20726179486974734f626a65637428742c652c612c723d326533297b636f6e7374206e3d4d6174682e636f732861292c6f3d4d6174682e73696e2861293b666f72286c657420613d303b613c723b612b3d32297b636f6e737420723d742b6e2a612c693d652b6f2a613b666f7228636f6e73742074206f6620776f726c644f626a6563747329696628226f6262223d3d3d742e636f6c6c6964657254797065297b696628706f696e74496e4f424228722c302c692c74292972657475726e20617d656c73652069662822636972636c65223d3d3d742e636f6c6c69646572547970652626706f696e74496e43796c696e64657228722c302c692c74292972657475726e20617d72657475726e21317d66756e6374696f6e20726179486974735465727261696e334428742c653d326533297b636f6e737420613d742e7961772b742e7475727265742e7961772c723d742e782c6e3d742e7475727265742e792c6f3d742e7a2c693d67616d652e706c617965722e782d722c733d67616d652e706c617965722e7a2d6f3b653d4d6174682e6d696e284d6174682e7371727428692a692b732a73292c65293b666f72286c657420693d323b693c653b692b3d35297b636f6e737420653d722b4d6174682e636f732861292a692c733d6f2b4d6174682e73696e2861292a693b696628686d61702e73616d706c6528652c73293e6e2b4d6174682e73696e28742e7475727265742e7069746368292a692972657475726e21307d72657475726e21317d66756e6374696f6e206e6f726d616c697a65416e676c652874297b72657475726e2874253d322a4d6174682e5049293c2d4d6174682e5049262628742b3d322a4d6174682e5049292c743e4d6174682e5049262628742d3d322a4d6174682e5049292c747d2a2f
dURL 64617461332e6a73
descrHdr 446174612066696c652033
dislikes 0
docType 54454c412d4a532d31
docVersion 312e302e30
fileCheckC 32323730353466666338313961373937656232663566346539613561313137633363393439623539303830393539376561613737383235653737386430333339
fileCheckS 31353138623532356139303762623366393364353362613361386139353565636632303666643131373439303362643232373865333461396332386333323361
hash 38376337623438656233633166626130653034383063346134336665353134343964656130303762356635656235356434393164343664613463313234386134
iconURLHdr
likes 0
nameHdr 64617461332e6a73
owner 6465726f317179347966376335373777717a767a7134347833306c7967686135776a7a377772687736646e76356e337071346634643761716c75717133306d37616b
subDir
SCID uint64 variables
key value
built BLID : b75a518746ea778182245d3271411c665ac1934d3337d323d475b807631763ff
Tx RootHash: 4fb7e9444f49ca71cab187cf5a45b036688a0781e8c813e751e8775c705902f3 built height : 7404073
Timestamp: 1785434815243 Timestamp [UTC]: 2026-07-30 20:06:55 Age [y:d:h:m:s]: 4:59:9.205
Block: 7404074 Fee: 0.28251 Tx size: 19.983 kB
Tx version: 1 No of confirmations: 975 Signature type: DERO_HOMOMORPHIC
Extra:
DERO : 2 inputs/outputs (RING size) Fees 0.28251 Deposited to SC 0.00000
Sender : dero1qy4yf7c577wqzvzq44x30lygha5wjz7wrhw6dnv5n3pq4f4d7aqluqq30m7ak
address
dero1qykyta6ntpd27nl0yq4xtzaf4ls6p5e9pqu0k2x4x3pqq5xavjsdxqgny8270
dero1qy4yf7c577wqzvzq44x30lygha5wjz7wrhw6dnv5n3pq4f4d7aqluqq30m7ak
SC Balance: 0.00000 DERO
SC CODE:
  //  Copyright 2024. Civilware. All rights reserved.
//  TELA Decentralized Web Document (TELA-DOC-1)
Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("nameHdr", "data3.js")
31 STORE("descrHdr", "Data file 3")
32 STORE("iconURLHdr", "")
33 STORE("dURL", "data3.js")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "")
36 STORE("fileCheckC", "227054ffc819a797eb2f5f4e9a5a117c3c949b590809597eaa77825e778d0339")
37 STORE("fileCheckS", "1518b525a907bb3f93d53ba3a8a955ecf206fd1174903bd2278e34a9c28c323a")
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

/*class Camera{constructor(){this.x=0,this.y=0,this.z=5,this.pitch=0,this.yaw=0,this.zoom=1,this.fov=Math.PI/4,this.near=1,this.far=1e3,this.mode="lookAt",this.viewMatrix=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this.lastHitX=0,this.lastHitY=0,this.lastHitz=0}getViewMatrix(){if("lookAt"===this.mode)return this.viewMatrix;if("topdown"===this.mode)return this.viewMatrix;if("barrel"===this.mode)return this.viewMatrix;const t=modelMatrix(-this.x,-this.y,-this.z),a=rotationX(-this.pitch),r=rotationY(-this.yaw);return multiply(a,multiply(r,t))}getProjectionMatrix(t){return perspectiveMatrix(this.fov*this.zoom,t,this.near,this.far)}}function perspectiveMatrix(t,a,r,e){const i=1/Math.tan(t/2),c=1/(r-e);return new Float32Array([i/a,0,0,0,0,i,0,0,0,0,(e+r)*c,-1,0,0,2*e*r*c,0])}function lookAt(t,a,r){const e=t[0],i=t[1],c=t[2];let o=a[0]-e,n=a[1]-i,s=a[2]-c;const m=Math.hypot(o,n,s);o/=m,n/=m,s/=m;let l=n*r[2]-s*r[1],x=s*r[0]-o*r[2],y=o*r[1]-n*r[0];const z=Math.hypot(l,x,y);l/=z,x/=z,y/=z;let h=x*s-y*n,p=y*o-l*s,u=l*n-x*o;return new Float32Array([l,h,-o,0,x,p,-n,0,y,u,-s,0,-(l*e+x*i+y*c),-(h*e+p*i+u*c),o*e+n*i+s*c,1])}function lerp(t,a,r){return t+(a-t)*r}function updateCamera(){const t=game.player;if("barrel"===camera.mode?input.zoomIn?camera.zoom=lerp(camera.zoom,.4,.1):input.zoomOut&&(camera.zoom=lerp(camera.zoom,1,.1)):camera.zoom=lerp(camera.zoom,1,.1),camera.zoom!==camera.lastZoom&&(camera.projectionMatrix=camera.getProjectionMatrix(aspect),camera.lastZoom=camera.zoom),"lookAt"===camera.mode){t.steerAngle||t.turnSpeed,t.speed;const a=15,r=a+.1*t.speed,e=t.forward[0],i=t.forward[2],c=hmap.sample(t.x+2*e,t.z+2*i),o=2*(hmap.sample(t.x,t.z)-c);t.pitchSmooth=lerp(t.pitchSmooth||0,o,.1);const n=[t.x,t.groundY+1.5+2*t.pitchSmooth,t.z],s=[n[0]-e*r,n[1]+5+.05*t.speed+3*t.pitchSmooth,n[2]-i*r],m={x:t.x,y:t.groundY+1.5,z:t.z},l={x:s[0]-m.x,y:s[1]-m.y,z:s[2]-m.z},x=Math.sqrt(l.x*l.x+l.y*l.y+l.z*l.z),y=raycastObjects(m,{x:l.x/x,y:l.y/x,z:l.z/x},2,x,!1);let z=0;if(y&&(z=x-y.dist),z>0){const t=Math.min(.2*z,1),r=s[0]+e*(t*a),c=s[2]+i*(t*a);camera.x=lerp(camera.x,r,.2),camera.z=lerp(camera.z,c,.2)}else camera.x=lerp(camera.x,s[0],.12),camera.y=lerp(camera.y,s[1],.12),camera.z=lerp(camera.z,s[2],.12);const h={x:camera.x,y:camera.y,z:camera.z};camera.viewMatrix=lookAt([camera.x,camera.y,camera.z],n,[0,1,0]);const p=t.barrel.transform.getMatrix();if(!p)return;const u=aimer(p),f=u.clip,d=u.hit;if(rayIntersectsTank(h,{x:d.x-camera.x,y:d.y-camera.y,z:d.z-camera.z},t))return void ctx.clearRect(0,0,uicanvas.width,uicanvas.height);const M=f[0]/f[3],w=f[1]/f[3],g=(.5*M+.5)*uicanvas.width,v=(1-(.5*w+.5))*uicanvas.height;if(f[3]<=0||M<-1||M>1||w<-1||w>1)return;return ctx.fillStyle="rgba(255,0,0,0.6)",ctx.beginPath(),ctx.arc(g,v,4,0,2*Math.PI),void ctx.fill()}if("topdown"===camera.mode){const a=[t.x,t.y+100,t.z],r=[t.x,t.y,t.z];camera.viewMatrix=lookAt(a,r,[0,0,-1]);const e=t.barrel.transform.getMatrix();if(!e)return;const i=aimer(e).clip,c=i[0]/i[3],o=i[1]/i[3],n=(.5*c+.5)*uicanvas.width,s=(1-(.5*o+.5))*uicanvas.height;if(i[3]<=0||c<-1||c>1||o<-1||o>1)return;return ctx.fillStyle="rgba(255,0,0,0.6)",ctx.beginPath(),ctx.arc(n,s,4,0,2*Math.PI),void ctx.fill()}if("barrel"===camera.mode){const t=game.player.barrel.transform.getMatrix();if(!t)return;const a=game.player.turret.transform.getMatrix(),r={x:t[8],y:t[9],z:t[10]},e={x:a[4],y:a[5],z:a[6]},i={x:a[12]+r.x,y:a[13]+r.y,z:a[14]+r.z},c=0,o=.6,n={x:i.x-r.x*c,y:i.y+o,z:i.z-r.z*c},s={x:i.x+50*r.x,y:i.y+50*r.y,z:i.z+50*r.z};camera.viewMatrix=lookAt([n.x,n.y,n.z],[s.x,s.y,s.z],[e.x,e.y,e.z]);const m=aimer(t).clip,l=m[0]/m[3],x=m[1]/m[3],y=(.5*l+.5)*uicanvas.width,z=(1-(.5*x+.5))*uicanvas.height;return ctx.fillStyle="rgba(255,0,0,0.6)",ctx.beginPath(),ctx.arc(y,z,4,0,2*Math.PI),void ctx.fill()}}function aimer(t){const a={x:t[8],y:t[9],z:t[10]},r={x:t[12]+a.x,y:t[13]+a.y,z:t[14]+a.z},e=raycastTerrain(r,a),i=raycastObjects(r,a,2,1e3,!0);let c=e&&i?e.dist<i.dist?e:i:e||i;c||(c={x:r.x+2e3*a.x,y:r.y+2e3*a.y,z:r.z+2e3*a.z}),isFinite(camera.lastHitX)||(camera.lastHitX=c.x),isFinite(camera.lastHitY)||(camera.lastHitY=c.y),isFinite(camera.lastHitZ)||(camera.lastHitZ=c.z),camera.lastHitX=lerp(camera.lastHitX,c.x,.2),camera.lastHitY=lerp(camera.lastHitY,c.y,.2),camera.lastHitZ=lerp(camera.lastHitZ,c.z,.2);const o=[camera.lastHitX,camera.lastHitY,camera.lastHitZ];return{clip:multiplyMat4Vec4(camera.projectionMatrix,multiplyMat4Vec4(camera.viewMatrix,[...o,1])),hit:c}}function resetCameraForLookAt(t){const a=15+.1*t.speed,r=[t.x,t.groundY+1.5,t.z],e=t.forward[0],i=t.forward[2],c=[r[0]-e*a,r[1]+5+.05*t.speed,r[2]-i*a];camera.x=c[0],camera.y=c[1],camera.z=c[2],camera.viewMatrix=lookAt(c,r,[0,1,0])}function raycastTerrain(t,a,r=2e3){const e=Math.abs(t.y-hmap.sample(t.x,t.z));let i=2;e<20&&(i=1),e<10&&(i=.5),e<5&&(i=.25);for(let e=0;e<r;e+=i){const r=t.x+a.x*e,i=t.z+a.z*e,c=hmap.sample(r,i);if(c>t.y+a.y*e)return{x:r,y:c,z:i,dist:e}}return null}function raycastObjects(t,a,r=2,e=2e3,i=!1,c=null){for(let o=0;o<e;o+=r){const r=t.x+a.x*o,e=t.y+a.y*o,n=t.z+a.z*o;if(i)for(const t of game.enemies)if(c!==t&&!t.dead&&t.obb&&pointInTankOBB(r,e,n,t))return{x:r,y:e,z:n,dist:o,t:t};for(const t of worldObjects)if("obb"===t.colliderType){if(pointInOBB(r,e,n,t))return{x:r,y:e,z:n,dist:o,obj:t}}else if("circle"===t.colliderType&&pointInCylinder(r,e,n,t))return{x:r,y:e,z:n,dist:o,obj:t}}return null}function rayIntersectsTank(t,a,r){const e=Math.sqrt(a.x*a.x+a.y*a.y+a.z*a.z);a.x/=e,a.y/=e,a.z/=e;const i=.25,c=e/i;let o=t.x,n=t.y,s=t.z;for(let t=0;t<c;t++)if(o+=a.x*i,n+=a.y*i,s+=a.z*i,pointInTankOBB(o,n,s,r))return!0;return!1}function updateBoundingBoxes(){for(const e of worldObjects)"circle"!==e.colliderType&&"obb"!==e.colliderType||updateObjectOBB(e);bbxsUpdated=!0}function updateTankOBB(e){const o=Math.sin(e.yaw),s=Math.cos(e.yaw);e.obb.cx=e.x,e.obb.cy=e.groundY+e.halfHeight,e.obb.cz=e.z,e.obb.hw=e.collider.halfWidth,e.obb.hd=e.collider.halfLength,e.obb.hh=e.collider.halfHeight,e.obb.w=e.width,e.obb.d=e.length,e.obb.h=e.height,e.obb.rightX=s,e.obb.rightZ=o,e.obb.forwardX=-o,e.obb.forwardZ=s}function updateObjectOBB(e){e.obb.cx=e.transform.x,e.obb.cy=e.transform.y,e.obb.cz=e.transform.z,e.obb.hw=e.halfWidth,e.obb.hd=e.halfDepth,e.obb.hh=e.halfHeight,e.obb.w=e.transform.sx,e.obb.d=e.transform.sz,e.obb.h=e.transform.sy;const o=e.transform.ry;e.obb.rightX=Math.cos(o),e.obb.rightZ=Math.sin(o),e.obb.forwardX=-Math.sin(o),e.obb.forwardZ=Math.cos(o),e.radius=Math.sqrt(e.obb.w*e.obb.w+e.obb.d*e.obb.d)}function updateCollisions(){const e=game.player;worldObjects[0].obb||updateBoundingBoxes(),updateTankOBB(e),worldCollisions(e);for(let o=0;o<game.enemies.length;o++){const s=game.enemies[o];updateTankOBB(s),worldCollisions(s),resolveTankVsTank(e,s);for(let e=o+1;e<game.enemies.length;e++)resolveTankVsTank(s,game.enemies[e])}}function worldCollisions(e){for(const o of worldObjects){const s=o.transform.x-e.x,r=o.transform.z-e.z;if(!(Math.abs(s)>o.radius+e.radius)&&!(Math.abs(r)>o.radius+e.radius))if("circle"===o.colliderType){if(intersectsCircleVsOBB(e.obb,o,s,r)){if("mine"===o.type)return destroyMine(o,e);resolveCircleVsOBB(e,o)}}else if("obb"===o.colliderType){const t=satOBBvsOBB_MTV(e.obb,o.obb,s,r);t&&resolveOBB_TankVsObject(e,o,t)}}}function satOBBvsOBB_MTV(e,o,s,r){const t=[{x:e.rightX,z:e.rightZ},{x:e.forwardX,z:e.forwardZ},{x:o.rightX,z:o.rightZ},{x:o.forwardX,z:o.forwardZ}];let n=1/0,a=null;for(const i of t){const t=s*i.x+r*i.z,b=Math.abs(e.hw*(e.rightX*i.x+e.rightZ*i.z))+Math.abs(e.hd*(e.forwardX*i.x+e.forwardZ*i.z))+(Math.abs(o.w*(o.rightX*i.x+o.rightZ*i.z))+Math.abs(o.d*(o.forwardX*i.x+o.forwardZ*i.z)))-Math.abs(t)-.5;if(b<=0)return null;if(b<n){n=b;const e=t<0?-1:1;a={x:i.x*e,z:i.z*e}}}return a?{x:a.x*n,z:a.z*n}:null}function resolveOBB_TankVsObject(e,o,s){if(!isFinite(s.x)||!isFinite(s.z))return;if(0===s.x&&0===s.z)return;e.x-=s.x,e.z-=s.z;let r=Math.hypot(s.x,s.z);r<1e-5&&(r=1e-5);const t=s.x/r,n=s.z/r,a=e.forward[0],i=e.forward[2],b=a*t+i*n;if(b>0){e.forward[0]=a-b*t,e.forward[2]=i-b*n;const o=Math.hypot(e.forward[0],e.forward[2]);o>1e-5&&(e.forward[0]/=o,e.forward[2]/=o)}e.speed*=b>.7?.2:b>.3?.5:.9}function intersectsCircleVsOBB(e,o,s,r){o.transform.x,o.transform.z;const t=o.r,n=o.transform.ry,a=Math.cos(-n),i=Math.sin(-n),b=s*a-r*i,d=s*i+r*a,c=b-Math.max(-e.hw,Math.min(b,e.hw)),f=d-Math.max(-e.hd,Math.min(d,e.hd));return c*c+f*f<=t*t}function resolveCircleVsOBB(e,o){const s=o.transform.x,r=o.transform.z,t=o.r,n=s-e.obb.cx,a=r-e.obb.cz,i=o.transform.ry,b=Math.cos(-i),d=Math.sin(-i),c=n*b-a*d,f=n*d+a*b,l=c-Math.max(-e.obb.hw,Math.min(c,e.obb.hw)),h=f-Math.max(-e.obb.hd,Math.min(f,e.obb.hd)),m=t-Math.sqrt(l*l+h*h);if(m>0){const o=e.obb.cx-s,t=e.obb.cz-r,n=Math.sqrt(o*o+t*t),a=0===n?1:o/n,i=0===n?0:t/n,b=e.forward[0]*a+e.forward[2]*i,d=1.1*m;e.x+=a*d,e.z+=i*d,b>.1&&(e.speed=0)}}function pointInOBB(e,o,s,r){const t=e-r.obb.cx,n=s-r.obb.cz,a=t*r.obb.rightX+n*r.obb.rightZ,i=t*r.obb.forwardX+n*r.obb.forwardZ,b=o-r.obb.cy;return Math.abs(a)<=r.obb.w&&Math.abs(i)<=r.obb.d&&Math.abs(b)<=r.obb.h}function pointInCylinder(e,o,s,r){const t=e-r.transform.x,n=s-r.transform.z,a=t*t+n*n,i=r.transform.sx,b=o-r.transform.y,d=r.transform.sy;return a<=i*i&&Math.abs(b)<=d}function pointInCylinderTilted(e,o,s,r){const t=e-r.transform.x,n=o-r.transform.y,a=s-r.transform.z,i=r.transform.getRotationMatrix(),b=[i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]],d=[b[0],b[3],b[6],b[1],b[4],b[7],b[2],b[5],b[8]],c=d[0]*t+d[1]*n+d[2]*a,f=d[3]*t+d[4]*n+d[5]*a,l=d[6]*t+d[7]*n+d[8]*a,h=r.transform.sx;if(c*c+l*l>h*h)return!1;const m=r.transform.sy;return!(Math.abs(f)>m)}function pointInTankOBB(e,o,s,r){const t=r.transform.getMatrix(),n=e-t[12],a=o-t[13],i=s-t[14],b=n*t[0]+a*t[1]+i*t[2],d=n*t[4]+a*t[5]+i*t[6],c=n*t[8]+a*t[9]+i*t[10];return Math.abs(b)<=r.obb.hw&&Math.abs(d)<=r.obb.hh&&Math.abs(c)<=r.obb.hd}function handleHit(e,o){if(o.baseId&&"player"===e.owner){if(game.bases[o.baseId].hp-=e.damage,game.bases[o.baseId].hp>50)for(const e of game.enemies)e.activated||distance(e,game.bases[o.baseId])<75&&(e.activated=!0);game.bases[o.baseId].hp<=0&&destroyBase(game.bases[o.baseId])}o.destructible&&"barrel"===o.type&&(o.hp-=e.damage,o.hp<=0&&!o.destroyed&&destroyBarrel(o)),o.destructible&&"mine"===o.type&&(o.hp-=e.damage,o.hp<=0&&!o.destroyed&&destroyMine(o)),"mg"===e.type?spawnTriangles(e,5,.05):spawnTriangles(e,10,.12),explode(e)}function checkProjectileCollision(e){if(e.y<=hmap.sample(e.x,e.z))explode(e);else{for(const o of worldObjects)if("obb"!==o.colliderType){if("circle"===o.colliderType){if(0===o.transform.rx&&0===o.transform.rz?pointInCylinder(e.x,e.y,e.z,o):pointInCylinderTilted(e.x,e.y,e.z,o))return void handleHit(e,o)}}else if(pointInOBB(e.x,e.y,e.z,o))return void handleHit(e,o);if("enemy"===e.owner&&pointInTankOBB(e.x,e.y,e.z,game.player))handleVehicleHit(e,game.player);else for(const o of game.enemies)if("enemy"!==e.owner&&pointInTankOBB(e.x,e.y,e.z,o))return void handleVehicleHit(e,o)}}function destroyBase(e){for(const o of e.boxes){const e=worldObjects.indexOf(o);-1!==e&&worldObjects.splice(e,1);const s=scene.indexOf(o);-1!==s&&scene.splice(s,1)}delete game.bases[e.id],spawnTriangles(e,60,2),spawnTriangles(e,100,.5),sfxExplosion(e)}function destroyBarrel(e){const o=worldObjects.indexOf(e);-1!==o&&worldObjects.splice(o,1);const s=scene.indexOf(e);-1!==s&&scene.splice(s,1),spawnTriangles({x:e.transform.x,y:e.transform.y,z:e.transform.z},100,2),spawnExplosion(e,40,150),sfxExplosion({x:e.transform.x,y:e.transform.y,z:e.transform.z})}function destroyMine(e,o=null){if(t-e.deployed<1||o===game.player&&Math.abs(game.player.speed)<.1)return;const s=worldObjects.indexOf(e);-1!==s&&worldObjects.splice(s,1);const r=scene.indexOf(e);-1!==r&&scene.splice(r,1),spawnTriangles({x:e.transform.x,y:e.transform.y,z:e.transform.z},100,2),spawnExplosion(e,30,12),sfxExplosion({x:e.transform.x,y:e.transform.y,z:e.transform.z})}function handleVehicleHit(e,o){sfxHit(o),o.health-=e.damage,o.health<=0&&killTank(o),e.alive=!1,spawnTriangles(e)}function killTank(e){spawnTriangles(e,40,.2),e.dead=!0;const o=scene.indexOf(e),s=scene.indexOf(e.turret),r=scene.indexOf(e.barrel);-1!==r&&scene.splice(r,1),-1!==s&&scene.splice(s,1),-1!==o&&scene.splice(o,1),game.enemies=game.enemies.filter(e=>!e.dead),sfxExplosion(e)}function resolveTankVsTank(e,o){const s=o.obb.cx-e.obb.cx,r=o.obb.cz-e.obb.cz;if(Math.abs(s)>e.radius+o.radius)return;if(Math.abs(r)>e.radius+o.radius)return;const t=satOBBvsOBB_MTV(e.obb,o.obb,s,r);if(!t||!isFinite(t.x)||!isFinite(t.z))return;const n=e.mass+o.mass,a=o.mass/n,i=e.mass/n;e.x-=t.x*a,e.z-=t.z*a,o.x+=t.x*i,o.z+=t.z*i;const b=Math.sin(e.yaw)*e.speed,d=Math.cos(e.yaw)*e.speed,c=b-Math.sin(o.yaw)*o.speed,f=d-Math.cos(o.yaw)*o.speed,l=Math.hypot(t.x,t.z),h=.5*-(c*(t.x/l)+f*(t.z/l));e.speed+=h*(o.mass/n),o.speed-=h*(e.mass/n)}function updateEnemy(t,e){if(!t.activated){const a=t.x-game.player.x,r=t.z-game.player.z;if(!(a*a+r*r<22500||t.health!==t.maxHealth))return;t.activationTimer+=e,t.activationTimer>.5&&(t.activated=!0);for(const e of game.enemies)e.activated||distance(t,e)<75&&(e.activated=!0)}let a,r,n=0;if(t.forceReverse){a=1*normalizeAngle(t.forceTurn-t.yaw),r=0,n=1}else[a,dangerAhead]=computeEnemyTurn(t,e),r=computeEnemyThrottle(t,dangerAhead,e);const o=t.x-t.lastX,i=t.z-t.lastZ;if(o*-Math.sin(t.yaw)+i*Math.cos(t.yaw)<.1?t.stuckTimer+=e:t.stuckTimer=0,t.lastX=t.x,t.lastZ=t.z,t.forceReverse=!1,(t.stuckTimer>1&&t.stuckTimer<2||t.forceReverse&&t.stuckTimer<2)&&(t.forceReverse=!0,t.forceTurn=t.yaw+.6*Math.PI),t.stuckTimer>=2){const e=getAvoidance(t);t.tempGoal={x:t.x+Math.cos(e.angle),z:t.z+Math.sin(e.angle)},t.stuckTimer>5&&(t.stuckTimer=0)}switch(t.profile.steeringModel){case"tank":updateTankSteering(t,a,e);break;case"car":updateCarSteering(t,a,e);break;case"drift":updateDriftSteering(t,a,e)}if(updateMovement(t,r,n,e),!t.barrel.transform.getMatrix())return;const s=t.barrel.transform.getMatrix(),c=s[8],l=s[9],h=s[10],u=s[12]+.4*c,f=s[13]+.4*l,m=s[14]+.4*h,y=game.player.transform.getMatrix(),g=y[12]-u,p=y[13]-f,M=y[14]-m,d=Math.atan2(-g,M),x=Math.atan2(p,Math.sqrt(g*g+M*M)),z=normalizeAngle(d-(t.yaw+t.turret.yaw)),w=normalizeAngle(x-Math.atan2(l,Math.sqrt(c*c+h*h)));t.turret.yaw+=2*z*e*2,t.turret.pitch+=2*w*e*1.5,t.turret.pitch=Math.max(-.3,Math.min(t.turret.pitch,.5)),t.primaryFireCooldown<=0&&(tryTurretShot(t,z,w),t.primaryFireCooldown=t.primaryFireRate),t.secondaryFireCooldown<=0&&(tryMachineGunShot(t,z),t.secondaryFireCooldown=t.primaryFireRate),t.primaryFireCooldown-=e,t.secondaryFireCooldown-=e}function computeEnemyTurn(t,e){const a=game.player.x-t.x,r=game.player.z-t.z,n=Math.hypot(a,r),o=a/n,i=r/n,s=raycastObjects({x:t.x,y:t.groundY+t.halfHeight,z:t.z},{x:o,y:0,z:i},1,n),c=getAvoidance(t);let l;if(null==s)l=Math.atan2(-a,r),t.tempGoal=null;else{t.tempGoal||(t.tempGoal=pickRadiusWaypoint(t,c));const e=t.tempGoal.x-t.x,a=t.tempGoal.z-t.z;l=Math.atan2(-e,a),Math.hypot(e,a)<10&&(t.tempGoal=pickRadiusWaypoint(t,c))}let h=0,u=0;t.speed>1&&([h,u]=getAvoidanceAngleAdjustment(t,l)),l+=h;let f=normalizeAngle(l-t.yaw);const m=Math.abs(f);let y;return y="car"===t.profile.steeringModel&&m<.5?m<.1?0:.15*f:1*f,[y,u]}function getAvoidance(t){const e=t.yaw,a=t.x+-Math.sin(e),r=t.z+Math.cos(e),n=[],o=[];for(let i=-1;i<=1;i+=.15){const s=e+i,c={x:-Math.sin(s),y:0,z:Math.cos(s)},l=raycastObjects({x:a,y:t.groundY+2,z:r},c,1,120),h=l?l.dist:120;if(l&&l.dist<8)continue;const u=a+c.x*h,f=r+c.z*h,m=game.player.x-u,y=game.player.z-f,g=h/120,p=1/(Math.hypot(m,y)+1);l||n.push({angle:s,score:.4*g+.6*p}),o.push({angle:s,score:g})}return n.length>0?(n.sort((t,e)=>e.score-t.score),{angle:n[0].angle}):o.length>0?(o.sort((t,e)=>e.score-t.score),{angle:o[0].angle}):{angle:e}}function pickRadiusWaypoint(t,e){const a=Math.hypot(game.player.x-t.x,game.player.z-t.z),r=Math.min(80,Math.max(30,.4*a)),n=e.angle;return{x:t.x+-Math.sin(n)*r,z:t.z+Math.cos(n)*r}}function getAvoidanceAngleAdjustment(t,e){const a=t.x,r=t.z,n=[{off:0,weight:1},{off:.25,weight:.7},{off:-.25,weight:.7},{off:.55,weight:.5},{off:-.55,weight:.5}];let o=0,i=0;for(const e of n){rayHitsObject(a,r,t.yaw+e.off+Math.PI/2,10)&&(e.off>0?o+=e.weight:i+=e.weight)}const s=o+i;if(0===s)return[0,0];let c=0;return c=o>i?-.5:.5,[c,s]}function computeEnemyThrottle(t,e=0,a){if(e=Math.abs(e),t.speed>4){if(e>1)return.5;if(e>=2)return-.5;if(e>=2.5&&t.speed>7)return-1}return 1}function tryMachineGunShot(t,e){if(!(Math.abs(e)<.2))return;rayHitsObject(t.x,t.z,t.yaw,300);shootMachineGun(t)}function tryTurretShot(t,e,a){const r=Math.abs(e)<.1,n=Math.abs(a)<.1;if(!r||!n)return;const o=t.barrel.transform.getMatrix(),i=t.turret.transform.getMatrix(),s=getWorldPos(i),c=getForward(o),l=raycastObjects(s,c,2,1e3,!0,t),h=rayHitsTerrain3D(t,1e3);r&&n&&!1!==l&&!h&&shootTurret(t)}function rayHitsObject(t,e,a,r=2e3){const n=Math.cos(a),o=Math.sin(a);for(let a=0;a<r;a+=2){const r=t+n*a,i=e+o*a;for(const t of worldObjects)if("obb"===t.colliderType){if(pointInOBB(r,0,i,t))return a}else if("circle"===t.colliderType&&pointInCylinder(r,0,i,t))return a}return!1}function rayHitsTerrain3D(t,e=2e3){const a=t.yaw+t.turret.yaw,r=t.x,n=t.turret.y,o=t.z,i=game.player.x-r,s=game.player.z-o;e=Math.min(Math.sqrt(i*i+s*s),e);for(let i=2;i<e;i+=5){const e=r+Math.cos(a)*i,s=o+Math.sin(a)*i;if(hmap.sample(e,s)>n+Math.sin(t.turret.pitch)*i)return!0}return!1}function normalizeAngle(t){return(t%=2*Math.PI)<-Math.PI&&(t+=2*Math.PI),t>Math.PI&&(t-=2*Math.PI),t}*/
SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'// Copyright 2024. Civilware. All rights reserved. // TELA Decentralized Web Document (TELA-DOC-1) Function InitializePrivate() Uint64 10 IF init() == 0 THEN GOTO 30 20 RETURN 1 30 STORE("nameHdr", "data3.js") 31 STORE("descrHdr", "Data file 3") 32 STORE("iconURLHdr", "") 33 STORE("dURL", "data3.js") 34 STORE("docType", "TELA-JS-1") 35 STORE("subDir", "") 36 STORE("fileCheckC", "227054ffc819a797eb2f5f4e9a5a117c3c949b590809597eaa77825e778d0339") 37 STORE("fileCheckS", "1518b525a907bb3f93d53ba3a8a955ecf206fd1174903bd2278e34a9c28c323a") 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 /*class Camera{constructor(){this.x=0,this.y=0,this.z=5,this.pitch=0,this.yaw=0,this.zoom=1,this.fov=Math.PI/4,this.near=1,this.far=1e3,this.mode="lookAt",this.viewMatrix=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this.lastHitX=0,this.lastHitY=0,this.lastHitz=0}getViewMatrix(){if("lookAt"===this.mode)return this.viewMatrix;if("topdown"===this.mode)return this.viewMatrix;if("barrel"===this.mode)return this.viewMatrix;const t=modelMatrix(-this.x,-this.y,-this.z),a=rotationX(-this.pitch),r=rotationY(-this.yaw);return multiply(a,multiply(r,t))}getProjectionMatrix(t){return perspectiveMatrix(this.fov*this.zoom,t,this.near,this.far)}}function perspectiveMatrix(t,a,r,e){const i=1/Math.tan(t/2),c=1/(r-e);return new Float32Array([i/a,0,0,0,0,i,0,0,0,0,(e+r)*c,-1,0,0,2*e*r*c,0])}function lookAt(t,a,r){const e=t[0],i=t[1],c=t[2];let o=a[0]-e,n=a[1]-i,s=a[2]-c;const m=Math.hypot(o,n,s);o/=m,n/=m,s/=m;let l=n*r[2]-s*r[1],x=s*r[0]-o*r[2],y=o*r[1]-n*r[0];const z=Math.hypot(l,x,y);l/=z,x/=z,y/=z;let h=x*s-y*n,p=y*o-l*s,u=l*n-x*o;return new Float32Array([l,h,-o,0,x,p,-n,0,y,u,-s,0,-(l*e+x*i+y*c),-(h*e+p*i+u*c),o*e+n*i+s*c,1])}function lerp(t,a,r){return t+(a-t)*r}function updateCamera(){const t=game.player;if("barrel"===camera.mode?input.zoomIn?camera.zoom=lerp(camera.zoom,.4,.1):input.zoomOut&&(camera.zoom=lerp(camera.zoom,1,.1)):camera.zoom=lerp(camera.zoom,1,.1),camera.zoom!==camera.lastZoom&&(camera.projectionMatrix=camera.getProjectionMatrix(aspect),camera.lastZoom=camera.zoom),"lookAt"===camera.mode){t.steerAngle||t.turnSpeed,t.speed;const a=15,r=a+.1*t.speed,e=t.forward[0],i=t.forward[2],c=hmap.sample(t.x+2*e,t.z+2*i),o=2*(hmap.sample(t.x,t.z)-c);t.pitchSmooth=lerp(t.pitchSmooth||0,o,.1);const n=[t.x,t.groundY+1.5+2*t.pitchSmooth,t.z],s=[n[0]-e*r,n[1]+5+.05*t.speed+3*t.pitchSmooth,n[2]-i*r],m={x:t.x,y:t.groundY+1.5,z:t.z},l={x:s[0]-m.x,y:s[1]-m.y,z:s[2]-m.z},x=Math.sqrt(l.x*l.x+l.y*l.y+l.z*l.z),y=raycastObjects(m,{x:l.x/x,y:l.y/x,z:l.z/x},2,x,!1);let z=0;if(y&&(z=x-y.dist),z>0){const t=Math.min(.2*z,1),r=s[0]+e*(t*a),c=s[2]+i*(t*a);camera.x=lerp(camera.x,r,.2),camera.z=lerp(camera.z,c,.2)}else camera.x=lerp(camera.x,s[0],.12),camera.y=lerp(camera.y,s[1],.12),camera.z=lerp(camera.z,s[2],.12);const h={x:camera.x,y:camera.y,z:camera.z};camera.viewMatrix=lookAt([camera.x,camera.y,camera.z],n,[0,1,0]);const p=t.barrel.transform.getMatrix();if(!p)return;const u=aimer(p),f=u.clip,d=u.hit;if(rayIntersectsTank(h,{x:d.x-camera.x,y:d.y-camera.y,z:d.z-camera.z},t))return void ctx.clearRect(0,0,uicanvas.width,uicanvas.height);const M=f[0]/f[3],w=f[1]/f[3],g=(.5*M+.5)*uicanvas.width,v=(1-(.5*w+.5))*uicanvas.height;if(f[3]<=0||M<-1||M>1||w<-1||w>1)return;return ctx.fillStyle="rgba(255,0,0,0.6)",ctx.beginPath(),ctx.arc(g,v,4,0,2*Math.PI),void ctx.fill()}if("topdown"===camera.mode){const a=[t.x,t.y+100,t.z],r=[t.x,t.y,t.z];camera.viewMatrix=lookAt(a,r,[0,0,-1]);const e=t.barrel.transform.getMatrix();if(!e)return;const i=aimer(e).clip,c=i[0]/i[3],o=i[1]/i[3],n=(.5*c+.5)*uicanvas.width,s=(1-(.5*o+.5))*uicanvas.height;if(i[3]<=0||c<-1||c>1||o<-1||o>1)return;return ctx.fillStyle="rgba(255,0,0,0.6)",ctx.beginPath(),ctx.arc(n,s,4,0,2*Math.PI),void ctx.fill()}if("barrel"===camera.mode){const t=game.player.barrel.transform.getMatrix();if(!t)return;const a=game.player.turret.transform.getMatrix(),r={x:t[8],y:t[9],z:t[10]},e={x:a[4],y:a[5],z:a[6]},i={x:a[12]+r.x,y:a[13]+r.y,z:a[14]+r.z},c=0,o=.6,n={x:i.x-r.x*c,y:i.y+o,z:i.z-r.z*c},s={x:i.x+50*r.x,y:i.y+50*r.y,z:i.z+50*r.z};camera.viewMatrix=lookAt([n.x,n.y,n.z],[s.x,s.y,s.z],[e.x,e.y,e.z]);const m=aimer(t).clip,l=m[0]/m[3],x=m[1]/m[3],y=(.5*l+.5)*uicanvas.width,z=(1-(.5*x+.5))*uicanvas.height;return ctx.fillStyle="rgba(255,0,0,0.6)",ctx.beginPath(),ctx.arc(y,z,4,0,2*Math.PI),void ctx.fill()}}function aimer(t){const a={x:t[8],y:t[9],z:t[10]},r={x:t[12]+a.x,y:t[13]+a.y,z:t[14]+a.z},e=raycastTerrain(r,a),i=raycastObjects(r,a,2,1e3,!0);let c=e&&i?e.dist<i.dist?e:i:e||i;c||(c={x:r.x+2e3*a.x,y:r.y+2e3*a.y,z:r.z+2e3*a.z}),isFinite(camera.lastHitX)||(camera.lastHitX=c.x),isFinite(camera.lastHitY)||(camera.lastHitY=c.y),isFinite(camera.lastHitZ)||(camera.lastHitZ=c.z),camera.lastHitX=lerp(camera.lastHitX,c.x,.2),camera.lastHitY=lerp(camera.lastHitY,c.y,.2),camera.lastHitZ=lerp(camera.lastHitZ,c.z,.2);const o=[camera.lastHitX,camera.lastHitY,camera.lastHitZ];return{clip:multiplyMat4Vec4(camera.projectionMatrix,multiplyMat4Vec4(camera.viewMatrix,[...o,1])),hit:c}}function resetCameraForLookAt(t){const a=15+.1*t.speed,r=[t.x,t.groundY+1.5,t.z],e=t.forward[0],i=t.forward[2],c=[r[0]-e*a,r[1]+5+.05*t.speed,r[2]-i*a];camera.x=c[0],camera.y=c[1],camera.z=c[2],camera.viewMatrix=lookAt(c,r,[0,1,0])}function raycastTerrain(t,a,r=2e3){const e=Math.abs(t.y-hmap.sample(t.x,t.z));let i=2;e<20&&(i=1),e<10&&(i=.5),e<5&&(i=.25);for(let e=0;e<r;e+=i){const r=t.x+a.x*e,i=t.z+a.z*e,c=hmap.sample(r,i);if(c>t.y+a.y*e)return{x:r,y:c,z:i,dist:e}}return null}function raycastObjects(t,a,r=2,e=2e3,i=!1,c=null){for(let o=0;o<e;o+=r){const r=t.x+a.x*o,e=t.y+a.y*o,n=t.z+a.z*o;if(i)for(const t of game.enemies)if(c!==t&&!t.dead&&t.obb&&pointInTankOBB(r,e,n,t))return{x:r,y:e,z:n,dist:o,t:t};for(const t of worldObjects)if("obb"===t.colliderType){if(pointInOBB(r,e,n,t))return{x:r,y:e,z:n,dist:o,obj:t}}else if("circle"===t.colliderType&&pointInCylinder(r,e,n,t))return{x:r,y:e,z:n,dist:o,obj:t}}return null}function rayIntersectsTank(t,a,r){const e=Math.sqrt(a.x*a.x+a.y*a.y+a.z*a.z);a.x/=e,a.y/=e,a.z/=e;const i=.25,c=e/i;let o=t.x,n=t.y,s=t.z;for(let t=0;t<c;t++)if(o+=a.x*i,n+=a.y*i,s+=a.z*i,pointInTankOBB(o,n,s,r))return!0;return!1}function updateBoundingBoxes(){for(const e of worldObjects)"circle"!==e.colliderType&&"obb"!==e.colliderType||updateObjectOBB(e);bbxsUpdated=!0}function updateTankOBB(e){const o=Math.sin(e.yaw),s=Math.cos(e.yaw);e.obb.cx=e.x,e.obb.cy=e.groundY+e.halfHeight,e.obb.cz=e.z,e.obb.hw=e.collider.halfWidth,e.obb.hd=e.collider.halfLength,e.obb.hh=e.collider.halfHeight,e.obb.w=e.width,e.obb.d=e.length,e.obb.h=e.height,e.obb.rightX=s,e.obb.rightZ=o,e.obb.forwardX=-o,e.obb.forwardZ=s}function updateObjectOBB(e){e.obb.cx=e.transform.x,e.obb.cy=e.transform.y,e.obb.cz=e.transform.z,e.obb.hw=e.halfWidth,e.obb.hd=e.halfDepth,e.obb.hh=e.halfHeight,e.obb.w=e.transform.sx,e.obb.d=e.transform.sz,e.obb.h=e.transform.sy;const o=e.transform.ry;e.obb.rightX=Math.cos(o),e.obb.rightZ=Math.sin(o),e.obb.forwardX=-Math.sin(o),e.obb.forwardZ=Math.cos(o),e.radius=Math.sqrt(e.obb.w*e.obb.w+e.obb.d*e.obb.d)}function updateCollisions(){const e=game.player;worldObjects[0].obb||updateBoundingBoxes(),updateTankOBB(e),worldCollisions(e);for(let o=0;o<game.enemies.length;o++){const s=game.enemies[o];updateTankOBB(s),worldCollisions(s),resolveTankVsTank(e,s);for(let e=o+1;e<game.enemies.length;e++)resolveTankVsTank(s,game.enemies[e])}}function worldCollisions(e){for(const o of worldObjects){const s=o.transform.x-e.x,r=o.transform.z-e.z;if(!(Math.abs(s)>o.radius+e.radius)&&!(Math.abs(r)>o.radius+e.radius))if("circle"===o.colliderType){if(intersectsCircleVsOBB(e.obb,o,s,r)){if("mine"===o.type)return destroyMine(o,e);resolveCircleVsOBB(e,o)}}else if("obb"===o.colliderType){const t=satOBBvsOBB_MTV(e.obb,o.obb,s,r);t&&resolveOBB_TankVsObject(e,o,t)}}}function satOBBvsOBB_MTV(e,o,s,r){const t=[{x:e.rightX,z:e.rightZ},{x:e.forwardX,z:e.forwardZ},{x:o.rightX,z:o.rightZ},{x:o.forwardX,z:o.forwardZ}];let n=1/0,a=null;for(const i of t){const t=s*i.x+r*i.z,b=Math.abs(e.hw*(e.rightX*i.x+e.rightZ*i.z))+Math.abs(e.hd*(e.forwardX*i.x+e.forwardZ*i.z))+(Math.abs(o.w*(o.rightX*i.x+o.rightZ*i.z))+Math.abs(o.d*(o.forwardX*i.x+o.forwardZ*i.z)))-Math.abs(t)-.5;if(b<=0)return null;if(b<n){n=b;const e=t<0?-1:1;a={x:i.x*e,z:i.z*e}}}return a?{x:a.x*n,z:a.z*n}:null}function resolveOBB_TankVsObject(e,o,s){if(!isFinite(s.x)||!isFinite(s.z))return;if(0===s.x&&0===s.z)return;e.x-=s.x,e.z-=s.z;let r=Math.hypot(s.x,s.z);r<1e-5&&(r=1e-5);const t=s.x/r,n=s.z/r,a=e.forward[0],i=e.forward[2],b=a*t+i*n;if(b>0){e.forward[0]=a-b*t,e.forward[2]=i-b*n;const o=Math.hypot(e.forward[0],e.forward[2]);o>1e-5&&(e.forward[0]/=o,e.forward[2]/=o)}e.speed*=b>.7?.2:b>.3?.5:.9}function intersectsCircleVsOBB(e,o,s,r){o.transform.x,o.transform.z;const t=o.r,n=o.transform.ry,a=Math.cos(-n),i=Math.sin(-n),b=s*a-r*i,d=s*i+r*a,c=b-Math.max(-e.hw,Math.min(b,e.hw)),f=d-Math.max(-e.hd,Math.min(d,e.hd));return c*c+f*f<=t*t}function resolveCircleVsOBB(e,o){const s=o.transform.x,r=o.transform.z,t=o.r,n=s-e.obb.cx,a=r-e.obb.cz,i=o.transform.ry,b=Math.cos(-i),d=Math.sin(-i),c=n*b-a*d,f=n*d+a*b,l=c-Math.max(-e.obb.hw,Math.min(c,e.obb.hw)),h=f-Math.max(-e.obb.hd,Math.min(f,e.obb.hd)),m=t-Math.sqrt(l*l+h*h);if(m>0){const o=e.obb.cx-s,t=e.obb.cz-r,n=Math.sqrt(o*o+t*t),a=0===n?1:o/n,i=0===n?0:t/n,b=e.forward[0]*a+e.forward[2]*i,d=1.1*m;e.x+=a*d,e.z+=i*d,b>.1&&(e.speed=0)}}function pointInOBB(e,o,s,r){const t=e-r.obb.cx,n=s-r.obb.cz,a=t*r.obb.rightX+n*r.obb.rightZ,i=t*r.obb.forwardX+n*r.obb.forwardZ,b=o-r.obb.cy;return Math.abs(a)<=r.obb.w&&Math.abs(i)<=r.obb.d&&Math.abs(b)<=r.obb.h}function pointInCylinder(e,o,s,r){const t=e-r.transform.x,n=s-r.transform.z,a=t*t+n*n,i=r.transform.sx,b=o-r.transform.y,d=r.transform.sy;return a<=i*i&&Math.abs(b)<=d}function pointInCylinderTilted(e,o,s,r){const t=e-r.transform.x,n=o-r.transform.y,a=s-r.transform.z,i=r.transform.getRotationMatrix(),b=[i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]],d=[b[0],b[3],b[6],b[1],b[4],b[7],b[2],b[5],b[8]],c=d[0]*t+d[1]*n+d[2]*a,f=d[3]*t+d[4]*n+d[5]*a,l=d[6]*t+d[7]*n+d[8]*a,h=r.transform.sx;if(c*c+l*l>h*h)return!1;const m=r.transform.sy;return!(Math.abs(f)>m)}function pointInTankOBB(e,o,s,r){const t=r.transform.getMatrix(),n=e-t[12],a=o-t[13],i=s-t[14],b=n*t[0]+a*t[1]+i*t[2],d=n*t[4]+a*t[5]+i*t[6],c=n*t[8]+a*t[9]+i*t[10];return Math.abs(b)<=r.obb.hw&&Math.abs(d)<=r.obb.hh&&Math.abs(c)<=r.obb.hd}function handleHit(e,o){if(o.baseId&&"player"===e.owner){if(game.bases[o.baseId].hp-=e.damage,game.bases[o.baseId].hp>50)for(const e of game.enemies)e.activated||distance(e,game.bases[o.baseId])<75&&(e.activated=!0);game.bases[o.baseId].hp<=0&&destroyBase(game.bases[o.baseId])}o.destructible&&"barrel"===o.type&&(o.hp-=e.damage,o.hp<=0&&!o.destroyed&&destroyBarrel(o)),o.destructible&&"mine"===o.type&&(o.hp-=e.damage,o.hp<=0&&!o.destroyed&&destroyMine(o)),"mg"===e.type?spawnTriangles(e,5,.05):spawnTriangles(e,10,.12),explode(e)}function checkProjectileCollision(e){if(e.y<=hmap.sample(e.x,e.z))explode(e);else{for(const o of worldObjects)if("obb"!==o.colliderType){if("circle"===o.colliderType){if(0===o.transform.rx&&0===o.transform.rz?pointInCylinder(e.x,e.y,e.z,o):pointInCylinderTilted(e.x,e.y,e.z,o))return void handleHit(e,o)}}else if(pointInOBB(e.x,e.y,e.z,o))return void handleHit(e,o);if("enemy"===e.owner&&pointInTankOBB(e.x,e.y,e.z,game.player))handleVehicleHit(e,game.player);else for(const o of game.enemies)if("enemy"!==e.owner&&pointInTankOBB(e.x,e.y,e.z,o))return void handleVehicleHit(e,o)}}function destroyBase(e){for(const o of e.boxes){const e=worldObjects.indexOf(o);-1!==e&&worldObjects.splice(e,1);const s=scene.indexOf(o);-1!==s&&scene.splice(s,1)}delete game.bases[e.id],spawnTriangles(e,60,2),spawnTriangles(e,100,.5),sfxExplosion(e)}function destroyBarrel(e){const o=worldObjects.indexOf(e);-1!==o&&worldObjects.splice(o,1);const s=scene.indexOf(e);-1!==s&&scene.splice(s,1),spawnTriangles({x:e.transform.x,y:e.transform.y,z:e.transform.z},100,2),spawnExplosion(e,40,150),sfxExplosion({x:e.transform.x,y:e.transform.y,z:e.transform.z})}function destroyMine(e,o=null){if(t-e.deployed<1||o===game.player&&Math.abs(game.player.speed)<.1)return;const s=worldObjects.indexOf(e);-1!==s&&worldObjects.splice(s,1);const r=scene.indexOf(e);-1!==r&&scene.splice(r,1),spawnTriangles({x:e.transform.x,y:e.transform.y,z:e.transform.z},100,2),spawnExplosion(e,30,12),sfxExplosion({x:e.transform.x,y:e.transform.y,z:e.transform.z})}function handleVehicleHit(e,o){sfxHit(o),o.health-=e.damage,o.health<=0&&killTank(o),e.alive=!1,spawnTriangles(e)}function killTank(e){spawnTriangles(e,40,.2),e.dead=!0;const o=scene.indexOf(e),s=scene.indexOf(e.turret),r=scene.indexOf(e.barrel);-1!==r&&scene.splice(r,1),-1!==s&&scene.splice(s,1),-1!==o&&scene.splice(o,1),game.enemies=game.enemies.filter(e=>!e.dead),sfxExplosion(e)}function resolveTankVsTank(e,o){const s=o.obb.cx-e.obb.cx,r=o.obb.cz-e.obb.cz;if(Math.abs(s)>e.radius+o.radius)return;if(Math.abs(r)>e.radius+o.radius)return;const t=satOBBvsOBB_MTV(e.obb,o.obb,s,r);if(!t||!isFinite(t.x)||!isFinite(t.z))return;const n=e.mass+o.mass,a=o.mass/n,i=e.mass/n;e.x-=t.x*a,e.z-=t.z*a,o.x+=t.x*i,o.z+=t.z*i;const b=Math.sin(e.yaw)*e.speed,d=Math.cos(e.yaw)*e.speed,c=b-Math.sin(o.yaw)*o.speed,f=d-Math.cos(o.yaw)*o.speed,l=Math.hypot(t.x,t.z),h=.5*-(c*(t.x/l)+f*(t.z/l));e.speed+=h*(o.mass/n),o.speed-=h*(e.mass/n)}function updateEnemy(t,e){if(!t.activated){const a=t.x-game.player.x,r=t.z-game.player.z;if(!(a*a+r*r<22500||t.health!==t.maxHealth))return;t.activationTimer+=e,t.activationTimer>.5&&(t.activated=!0);for(const e of game.enemies)e.activated||distance(t,e)<75&&(e.activated=!0)}let a,r,n=0;if(t.forceReverse){a=1*normalizeAngle(t.forceTurn-t.yaw),r=0,n=1}else[a,dangerAhead]=computeEnemyTurn(t,e),r=computeEnemyThrottle(t,dangerAhead,e);const o=t.x-t.lastX,i=t.z-t.lastZ;if(o*-Math.sin(t.yaw)+i*Math.cos(t.yaw)<.1?t.stuckTimer+=e:t.stuckTimer=0,t.lastX=t.x,t.lastZ=t.z,t.forceReverse=!1,(t.stuckTimer>1&&t.stuckTimer<2||t.forceReverse&&t.stuckTimer<2)&&(t.forceReverse=!0,t.forceTurn=t.yaw+.6*Math.PI),t.stuckTimer>=2){const e=getAvoidance(t);t.tempGoal={x:t.x+Math.cos(e.angle),z:t.z+Math.sin(e.angle)},t.stuckTimer>5&&(t.stuckTimer=0)}switch(t.profile.steeringModel){case"tank":updateTankSteering(t,a,e);break;case"car":updateCarSteering(t,a,e);break;case"drift":updateDriftSteering(t,a,e)}if(updateMovement(t,r,n,e),!t.barrel.transform.getMatrix())return;const s=t.barrel.transform.getMatrix(),c=s[8],l=s[9],h=s[10],u=s[12]+.4*c,f=s[13]+.4*l,m=s[14]+.4*h,y=game.player.transform.getMatrix(),g=y[12]-u,p=y[13]-f,M=y[14]-m,d=Math.atan2(-g,M),x=Math.atan2(p,Math.sqrt(g*g+M*M)),z=normalizeAngle(d-(t.yaw+t.turret.yaw)),w=normalizeAngle(x-Math.atan2(l,Math.sqrt(c*c+h*h)));t.turret.yaw+=2*z*e*2,t.turret.pitch+=2*w*e*1.5,t.turret.pitch=Math.max(-.3,Math.min(t.turret.pitch,.5)),t.primaryFireCooldown<=0&&(tryTurretShot(t,z,w),t.primaryFireCooldown=t.primaryFireRate),t.secondaryFireCooldown<=0&&(tryMachineGunShot(t,z),t.secondaryFireCooldown=t.primaryFireRate),t.primaryFireCooldown-=e,t.secondaryFireCooldown-=e}function computeEnemyTurn(t,e){const a=game.player.x-t.x,r=game.player.z-t.z,n=Math.hypot(a,r),o=a/n,i=r/n,s=raycastObjects({x:t.x,y:t.groundY+t.halfHeight,z:t.z},{x:o,y:0,z:i},1,n),c=getAvoidance(t);let l;if(null==s)l=Math.atan2(-a,r),t.tempGoal=null;else{t.tempGoal||(t.tempGoal=pickRadiusWaypoint(t,c));const e=t.tempGoal.x-t.x,a=t.tempGoal.z-t.z;l=Math.atan2(-e,a),Math.hypot(e,a)<10&&(t.tempGoal=pickRadiusWaypoint(t,c))}let h=0,u=0;t.speed>1&&([h,u]=getAvoidanceAngleAdjustment(t,l)),l+=h;let f=normalizeAngle(l-t.yaw);const m=Math.abs(f);let y;return y="car"===t.profile.steeringModel&&m<.5?m<.1?0:.15*f:1*f,[y,u]}function getAvoidance(t){const e=t.yaw,a=t.x+-Math.sin(e),r=t.z+Math.cos(e),n=[],o=[];for(let i=-1;i<=1;i+=.15){const s=e+i,c={x:-Math.sin(s),y:0,z:Math.cos(s)},l=raycastObjects({x:a,y:t.groundY+2,z:r},c,1,120),h=l?l.dist:120;if(l&&l.dist<8)continue;const u=a+c.x*h,f=r+c.z*h,m=game.player.x-u,y=game.player.z-f,g=h/120,p=1/(Math.hypot(m,y)+1);l||n.push({angle:s,score:.4*g+.6*p}),o.push({angle:s,score:g})}return n.length>0?(n.sort((t,e)=>e.score-t.score),{angle:n[0].angle}):o.length>0?(o.sort((t,e)=>e.score-t.score),{angle:o[0].angle}):{angle:e}}function pickRadiusWaypoint(t,e){const a=Math.hypot(game.player.x-t.x,game.player.z-t.z),r=Math.min(80,Math.max(30,.4*a)),n=e.angle;return{x:t.x+-Math.sin(n)*r,z:t.z+Math.cos(n)*r}}function getAvoidanceAngleAdjustment(t,e){const a=t.x,r=t.z,n=[{off:0,weight:1},{off:.25,weight:.7},{off:-.25,weight:.7},{off:.55,weight:.5},{off:-.55,weight:.5}];let o=0,i=0;for(const e of n){rayHitsObject(a,r,t.yaw+e.off+Math.PI/2,10)&&(e.off>0?o+=e.weight:i+=e.weight)}const s=o+i;if(0===s)return[0,0];let c=0;return c=o>i?-.5:.5,[c,s]}function computeEnemyThrottle(t,e=0,a){if(e=Math.abs(e),t.speed>4){if(e>1)return.5;if(e>=2)return-.5;if(e>=2.5&&t.speed>7)return-1}return 1}function tryMachineGunShot(t,e){if(!(Math.abs(e)<.2))return;rayHitsObject(t.x,t.z,t.yaw,300);shootMachineGun(t)}function tryTurretShot(t,e,a){const r=Math.abs(e)<.1,n=Math.abs(a)<.1;if(!r||!n)return;const o=t.barrel.transform.getMatrix(),i=t.turret.transform.getMatrix(),s=getWorldPos(i),c=getForward(o),l=raycastObjects(s,c,2,1e3,!0,t),h=rayHitsTerrain3D(t,1e3);r&&n&&!1!==l&&!h&&shootTurret(t)}function rayHitsObject(t,e,a,r=2e3){const n=Math.cos(a),o=Math.sin(a);for(let a=0;a<r;a+=2){const r=t+n*a,i=e+o*a;for(const t of worldObjects)if("obb"===t.colliderType){if(pointInOBB(r,0,i,t))return a}else if("circle"===t.colliderType&&pointInCylinder(r,0,i,t))return a}return!1}function rayHitsTerrain3D(t,e=2e3){const a=t.yaw+t.turret.yaw,r=t.x,n=t.turret.y,o=t.z,i=game.player.x-r,s=game.player.z-o;e=Math.min(Math.sqrt(i*i+s*s),e);for(let i=2;i<e;i+=5){const e=r+Math.cos(a)*i,s=o+Math.sin(a)*i;if(hmap.sample(e,s)>n+Math.sin(t.turret.pitch)*i)return!0}return!1}function normalizeAngle(t){return(t%=2*Math.PI)<-Math.PI&&(t+=2*Math.PI),t>Math.PI&&(t-=2*Math.PI),t}*/']


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
0100000500a9f4c303b75a518746ea778182245d3271411c665ac1934d3337d323d475b807631763ff01000000000000000000000000000000000000000000000000000000000000000000010bee6459b67c1e723bd0fa630c0f7f05f024ce9c09d56dd3f07edca82c726ccf009e6cad252e68ace28b9fbe96bbf97e5ae1de092dace5164133c1a2bec49148cf55ebeab319ac16fc90a7c51223d4e86755e8e6e23ea9379202382d454d6b01c51b98ad92b53fb8ae57fcf8640abcae7e7709d7c921c0715d3875570f214ed76749270fc2b6d21826803bf2fe2753c4ff0104dbdc01095572060c6b0804926f5cf15062291668f29317f38e88cc8b15ed7d4d5874f601635d6e4e0652cc4b27db7612668ace82f162661812f43578403f07703981e21b8f3eb05c125e70d00107a10362dea89858fcccb1f83c4a70ddcf949489aed68e85dafe0fb174f91bb7004fb7e9444f49ca71cab187cf5a45b036688a0781e8c813e751e8775c705902f3c29201a26853435f434f4445537949292f2f2020436f7079726967687420323032342e20436976696c776172652e20416c6c207269676874732072657365727665642e0a2f2f202054454c4120446563656e7472616c697a65642057656220446f63756d656e74202854454c412d444f432d31290a46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c202264617461332e6a7322290a33312053544f524528226465736372486472222c2022446174612066696c65203322290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c202264617461332e6a7322290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c20223232373035346666633831396137393765623266356634653961356131313763336339343962353930383039353937656161373738323565373738643033333922290a33372053544f5245282266696c65436865636b53222c20223135313862353235613930376262336639336435336261336138613935356563663230366664313137343930336264323237386533346139633238633332336122290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a636c6173732043616d6572617b636f6e7374727563746f7228297b746869732e783d302c746869732e793d302c746869732e7a3d352c746869732e70697463683d302c746869732e7961773d302c746869732e7a6f6f6d3d312c746869732e666f763d4d6174682e50492f342c746869732e6e6561723d312c746869732e6661723d3165332c746869732e6d6f64653d226c6f6f6b4174222c746869732e766965774d61747269783d6e657720466c6f617433324172726179285b312c302c302c302c302c312c302c302c302c302c312c302c302c302c302c315d292c746869732e6c617374486974583d302c746869732e6c617374486974593d302c746869732e6c6173744869747a3d307d676574566965774d617472697828297b696628226c6f6f6b4174223d3d3d746869732e6d6f64652972657475726e20746869732e766965774d61747269783b69662822746f70646f776e223d3d3d746869732e6d6f64652972657475726e20746869732e766965774d61747269783b6966282262617272656c223d3d3d746869732e6d6f64652972657475726e20746869732e766965774d61747269783b636f6e737420743d6d6f64656c4d6174726978282d746869732e782c2d746869732e792c2d746869732e7a292c613d726f746174696f6e58282d746869732e7069746368292c723d726f746174696f6e59282d746869732e796177293b72657475726e206d756c7469706c7928612c6d756c7469706c7928722c7429297d67657450726f6a656374696f6e4d61747269782874297b72657475726e2070657273706563746976654d617472697828746869732e666f762a746869732e7a6f6f6d2c742c746869732e6e6561722c746869732e666172297d7d66756e6374696f6e2070657273706563746976654d617472697828742c612c722c65297b636f6e737420693d312f4d6174682e74616e28742f32292c633d312f28722d65293b72657475726e206e657720466c6f617433324172726179285b692f612c302c302c302c302c692c302c302c302c302c28652b72292a632c2d312c302c302c322a652a722a632c305d297d66756e6374696f6e206c6f6f6b417428742c612c72297b636f6e737420653d745b305d2c693d745b315d2c633d745b325d3b6c6574206f3d615b305d2d652c6e3d615b315d2d692c733d615b325d2d633b636f6e7374206d3d4d6174682e6879706f74286f2c6e2c73293b6f2f3d6d2c6e2f3d6d2c732f3d6d3b6c6574206c3d6e2a725b325d2d732a725b315d2c783d732a725b305d2d6f2a725b325d2c793d6f2a725b315d2d6e2a725b305d3b636f6e7374207a3d4d6174682e6879706f74286c2c782c79293b6c2f3d7a2c782f3d7a2c792f3d7a3b6c657420683d782a732d792a6e2c703d792a6f2d6c2a732c753d6c2a6e2d782a6f3b72657475726e206e657720466c6f617433324172726179285b6c2c682c2d6f2c302c782c702c2d6e2c302c792c752c2d732c302c2d286c2a652b782a692b792a63292c2d28682a652b702a692b752a63292c6f2a652b6e2a692b732a632c315d297d66756e6374696f6e206c65727028742c612c72297b72657475726e20742b28612d74292a727d66756e6374696f6e2075706461746543616d65726128297b636f6e737420743d67616d652e706c617965723b6966282262617272656c223d3d3d63616d6572612e6d6f64653f696e7075742e7a6f6f6d496e3f63616d6572612e7a6f6f6d3d6c6572702863616d6572612e7a6f6f6d2c2e342c2e31293a696e7075742e7a6f6f6d4f757426262863616d6572612e7a6f6f6d3d6c6572702863616d6572612e7a6f6f6d2c312c2e3129293a63616d6572612e7a6f6f6d3d6c6572702863616d6572612e7a6f6f6d2c312c2e31292c63616d6572612e7a6f6f6d213d3d63616d6572612e6c6173745a6f6f6d26262863616d6572612e70726f6a656374696f6e4d61747269783d63616d6572612e67657450726f6a656374696f6e4d617472697828617370656374292c63616d6572612e6c6173745a6f6f6d3d63616d6572612e7a6f6f6d292c226c6f6f6b4174223d3d3d63616d6572612e6d6f6465297b742e7374656572416e676c657c7c742e7475726e53706565642c742e73706565643b636f6e737420613d31352c723d612b2e312a742e73706565642c653d742e666f72776172645b305d2c693d742e666f72776172645b325d2c633d686d61702e73616d706c6528742e782b322a652c742e7a2b322a69292c6f3d322a28686d61702e73616d706c6528742e782c742e7a292d63293b742e7069746368536d6f6f74683d6c65727028742e7069746368536d6f6f74687c7c302c6f2c2e31293b636f6e7374206e3d5b742e782c742e67726f756e64592b312e352b322a742e7069746368536d6f6f74682c742e7a5d2c733d5b6e5b305d2d652a722c6e5b315d2b352b2e30352a742e73706565642b332a742e7069746368536d6f6f74682c6e5b325d2d692a725d2c6d3d7b783a742e782c793a742e67726f756e64592b312e352c7a3a742e7a7d2c6c3d7b783a735b305d2d6d2e782c793a735b315d2d6d2e792c7a3a735b325d2d6d2e7a7d2c783d4d6174682e73717274286c2e782a6c2e782b6c2e792a6c2e792b6c2e7a2a6c2e7a292c793d726179636173744f626a65637473286d2c7b783a6c2e782f782c793a6c2e792f782c7a3a6c2e7a2f787d2c322c782c2131293b6c6574207a3d303b696628792626287a3d782d792e64697374292c7a3e30297b636f6e737420743d4d6174682e6d696e282e322a7a2c31292c723d735b305d2b652a28742a61292c633d735b325d2b692a28742a61293b63616d6572612e783d6c6572702863616d6572612e782c722c2e32292c63616d6572612e7a3d6c6572702863616d6572612e7a2c632c2e32297d656c73652063616d6572612e783d6c6572702863616d6572612e782c735b305d2c2e3132292c63616d6572612e793d6c6572702863616d6572612e792c735b315d2c2e3132292c63616d6572612e7a3d6c6572702863616d6572612e7a2c735b325d2c2e3132293b636f6e737420683d7b783a63616d6572612e782c793a63616d6572612e792c7a3a63616d6572612e7a7d3b63616d6572612e766965774d61747269783d6c6f6f6b4174285b63616d6572612e782c63616d6572612e792c63616d6572612e7a5d2c6e2c5b302c312c305d293b636f6e737420703d742e62617272656c2e7472616e73666f726d2e6765744d617472697828293b69662821702972657475726e3b636f6e737420753d61696d65722870292c663d752e636c69702c643d752e6869743b696628726179496e746572736563747354616e6b28682c7b783a642e782d63616d6572612e782c793a642e792d63616d6572612e792c7a3a642e7a2d63616d6572612e7a7d2c74292972657475726e20766f6964206374782e636c6561725265637428302c302c756963616e7661732e77696474682c756963616e7661732e686569676874293b636f6e7374204d3d665b305d2f665b335d2c773d665b315d2f665b335d2c673d282e352a4d2b2e35292a756963616e7661732e77696474682c763d28312d282e352a772b2e3529292a756963616e7661732e6865696768743b696628665b335d3c3d307c7c4d3c2d317c7c4d3e317c7c773c2d317c7c773e312972657475726e3b72657475726e206374782e66696c6c5374796c653d2272676261283235352c302c302c302e3629222c6374782e626567696e5061746828292c6374782e61726328672c762c342c302c322a4d6174682e5049292c766f6964206374782e66696c6c28297d69662822746f70646f776e223d3d3d63616d6572612e6d6f6465297b636f6e737420613d5b742e782c742e792b3130302c742e7a5d2c723d5b742e782c742e792c742e7a5d3b63616d6572612e766965774d61747269783d6c6f6f6b417428612c722c5b302c302c2d315d293b636f6e737420653d742e62617272656c2e7472616e73666f726d2e6765744d617472697828293b69662821652972657475726e3b636f6e737420693d61696d65722865292e636c69702c633d695b305d2f695b335d2c6f3d695b315d2f695b335d2c6e3d282e352a632b2e35292a756963616e7661732e77696474682c733d28312d282e352a6f2b2e3529292a756963616e7661732e6865696768743b696628695b335d3c3d307c7c633c2d317c7c633e317c7c6f3c2d317c7c6f3e312972657475726e3b72657475726e206374782e66696c6c5374796c653d2272676261283235352c302c302c302e3629222c6374782e626567696e5061746828292c6374782e617263286e2c732c342c302c322a4d6174682e5049292c766f6964206374782e66696c6c28297d6966282262617272656c223d3d3d63616d6572612e6d6f6465297b636f6e737420743d67616d652e706c617965722e62617272656c2e7472616e73666f726d2e6765744d617472697828293b69662821742972657475726e3b636f6e737420613d67616d652e706c617965722e7475727265742e7472616e73666f726d2e6765744d617472697828292c723d7b783a745b385d2c793a745b395d2c7a3a745b31305d7d2c653d7b783a615b345d2c793a615b355d2c7a3a615b365d7d2c693d7b783a615b31325d2b722e782c793a615b31335d2b722e792c7a3a615b31345d2b722e7a7d2c633d302c6f3d2e362c6e3d7b783a692e782d722e782a632c793a692e792b6f2c7a3a692e7a2d722e7a2a637d2c733d7b783a692e782b35302a722e782c793a692e792b35302a722e792c7a3a692e7a2b35302a722e7a7d3b63616d6572612e766965774d61747269783d6c6f6f6b4174285b6e2e782c6e2e792c6e2e7a5d2c5b732e782c732e792c732e7a5d2c5b652e782c652e792c652e7a5d293b636f6e7374206d3d61696d65722874292e636c69702c6c3d6d5b305d2f6d5b335d2c783d6d5b315d2f6d5b335d2c793d282e352a6c2b2e35292a756963616e7661732e77696474682c7a3d28312d282e352a782b2e3529292a756963616e7661732e6865696768743b72657475726e206374782e66696c6c5374796c653d2272676261283235352c302c302c302e3629222c6374782e626567696e5061746828292c6374782e61726328792c7a2c342c302c322a4d6174682e5049292c766f6964206374782e66696c6c28297d7d66756e6374696f6e2061696d65722874297b636f6e737420613d7b783a745b385d2c793a745b395d2c7a3a745b31305d7d2c723d7b783a745b31325d2b612e782c793a745b31335d2b612e792c7a3a745b31345d2b612e7a7d2c653d726179636173745465727261696e28722c61292c693d726179636173744f626a6563747328722c612c322c3165332c2130293b6c657420633d652626693f652e646973743c692e646973743f653a693a657c7c693b637c7c28633d7b783a722e782b3265332a612e782c793a722e792b3265332a612e792c7a3a722e7a2b3265332a612e7a7d292c697346696e6974652863616d6572612e6c61737448697458297c7c2863616d6572612e6c617374486974583d632e78292c697346696e6974652863616d6572612e6c61737448697459297c7c2863616d6572612e6c617374486974593d632e79292c697346696e6974652863616d6572612e6c6173744869745a297c7c2863616d6572612e6c6173744869745a3d632e7a292c63616d6572612e6c617374486974583d6c6572702863616d6572612e6c617374486974582c632e782c2e32292c63616d6572612e6c617374486974593d6c6572702863616d6572612e6c617374486974592c632e792c2e32292c63616d6572612e6c6173744869745a3d6c6572702863616d6572612e6c6173744869745a2c632e7a2c2e32293b636f6e7374206f3d5b63616d6572612e6c617374486974582c63616d6572612e6c617374486974592c63616d6572612e6c6173744869745a5d3b72657475726e7b636c69703a6d756c7469706c794d617434566563342863616d6572612e70726f6a656374696f6e4d61747269782c6d756c7469706c794d617434566563342863616d6572612e766965774d61747269782c5b2e2e2e6f2c315d29292c6869743a637d7d66756e6374696f6e20726573657443616d657261466f724c6f6f6b41742874297b636f6e737420613d31352b2e312a742e73706565642c723d5b742e782c742e67726f756e64592b312e352c742e7a5d2c653d742e666f72776172645b305d2c693d742e666f72776172645b325d2c633d5b725b305d2d652a612c725b315d2b352b2e30352a742e73706565642c725b325d2d692a615d3b63616d6572612e783d635b305d2c63616d6572612e793d635b315d2c63616d6572612e7a3d635b325d2c63616d6572612e766965774d61747269783d6c6f6f6b417428632c722c5b302c312c305d297d66756e6374696f6e20726179636173745465727261696e28742c612c723d326533297b636f6e737420653d4d6174682e61627328742e792d686d61702e73616d706c6528742e782c742e7a29293b6c657420693d323b653c3230262628693d31292c653c3130262628693d2e35292c653c35262628693d2e3235293b666f72286c657420653d303b653c723b652b3d69297b636f6e737420723d742e782b612e782a652c693d742e7a2b612e7a2a652c633d686d61702e73616d706c6528722c69293b696628633e742e792b612e792a652972657475726e7b783a722c793a632c7a3a692c646973743a657d7d72657475726e206e756c6c7d66756e6374696f6e20726179636173744f626a6563747328742c612c723d322c653d3265332c693d21312c633d6e756c6c297b666f72286c6574206f3d303b6f3c653b6f2b3d72297b636f6e737420723d742e782b612e782a6f2c653d742e792b612e792a6f2c6e3d742e7a2b612e7a2a6f3b6966286929666f7228636f6e73742074206f662067616d652e656e656d6965732969662863213d3d74262621742e646561642626742e6f62622626706f696e74496e54616e6b4f424228722c652c6e2c74292972657475726e7b783a722c793a652c7a3a6e2c646973743a6f2c743a747d3b666f7228636f6e73742074206f6620776f726c644f626a6563747329696628226f6262223d3d3d742e636f6c6c6964657254797065297b696628706f696e74496e4f424228722c652c6e2c74292972657475726e7b783a722c793a652c7a3a6e2c646973743a6f2c6f626a3a747d7d656c73652069662822636972636c65223d3d3d742e636f6c6c69646572547970652626706f696e74496e43796c696e64657228722c652c6e2c74292972657475726e7b783a722c793a652c7a3a6e2c646973743a6f2c6f626a3a747d7d72657475726e206e756c6c7d66756e6374696f6e20726179496e746572736563747354616e6b28742c612c72297b636f6e737420653d4d6174682e7371727428612e782a612e782b612e792a612e792b612e7a2a612e7a293b612e782f3d652c612e792f3d652c612e7a2f3d653b636f6e737420693d2e32352c633d652f693b6c6574206f3d742e782c6e3d742e792c733d742e7a3b666f72286c657420743d303b743c633b742b2b296966286f2b3d612e782a692c6e2b3d612e792a692c732b3d612e7a2a692c706f696e74496e54616e6b4f4242286f2c6e2c732c72292972657475726e21303b72657475726e21317d66756e6374696f6e20757064617465426f756e64696e67426f78657328297b666f7228636f6e73742065206f6620776f726c644f626a656374732922636972636c6522213d3d652e636f6c6c69646572547970652626226f626222213d3d652e636f6c6c69646572547970657c7c7570646174654f626a6563744f42422865293b62627873557064617465643d21307d66756e6374696f6e2075706461746554616e6b4f42422865297b636f6e7374206f3d4d6174682e73696e28652e796177292c733d4d6174682e636f7328652e796177293b652e6f62622e63783d652e782c652e6f62622e63793d652e67726f756e64592b652e68616c664865696768742c652e6f62622e637a3d652e7a2c652e6f62622e68773d652e636f6c6c696465722e68616c6657696474682c652e6f62622e68643d652e636f6c6c696465722e68616c664c656e6774682c652e6f62622e68683d652e636f6c6c696465722e68616c664865696768742c652e6f62622e773d652e77696474682c652e6f62622e643d652e6c656e6774682c652e6f62622e683d652e6865696768742c652e6f62622e7269676874583d732c652e6f62622e72696768745a3d6f2c652e6f62622e666f7277617264583d2d6f2c652e6f62622e666f72776172645a3d737d66756e6374696f6e207570646174654f626a6563744f42422865297b652e6f62622e63783d652e7472616e73666f726d2e782c652e6f62622e63793d652e7472616e73666f726d2e792c652e6f62622e637a3d652e7472616e73666f726d2e7a2c652e6f62622e68773d652e68616c6657696474682c652e6f62622e68643d652e68616c6644657074682c652e6f62622e68683d652e68616c664865696768742c652e6f62622e773d652e7472616e73666f726d2e73782c652e6f62622e643d652e7472616e73666f726d2e737a2c652e6f62622e683d652e7472616e73666f726d2e73793b636f6e7374206f3d652e7472616e73666f726d2e72793b652e6f62622e7269676874583d4d6174682e636f73286f292c652e6f62622e72696768745a3d4d6174682e73696e286f292c652e6f62622e666f7277617264583d2d4d6174682e73696e286f292c652e6f62622e666f72776172645a3d4d6174682e636f73286f292c652e7261646975733d4d6174682e7371727428652e6f62622e772a652e6f62622e772b652e6f62622e642a652e6f62622e64297d66756e6374696f6e20757064617465436f6c6c6973696f6e7328297b636f6e737420653d67616d652e706c617965723b776f726c644f626a656374735b305d2e6f62627c7c757064617465426f756e64696e67426f78657328292c75706461746554616e6b4f42422865292c776f726c64436f6c6c6973696f6e732865293b666f72286c6574206f3d303b6f3c67616d652e656e656d6965732e6c656e6774683b6f2b2b297b636f6e737420733d67616d652e656e656d6965735b6f5d3b75706461746554616e6b4f42422873292c776f726c64436f6c6c6973696f6e732873292c7265736f6c766554616e6b567354616e6b28652c73293b666f72286c657420653d6f2b313b653c67616d652e656e656d6965732e6c656e6774683b652b2b297265736f6c766554616e6b567354616e6b28732c67616d652e656e656d6965735b655d297d7d66756e6374696f6e20776f726c64436f6c6c6973696f6e732865297b666f7228636f6e7374206f206f6620776f726c644f626a65637473297b636f6e737420733d6f2e7472616e73666f726d2e782d652e782c723d6f2e7472616e73666f726d2e7a2d652e7a3b69662821284d6174682e6162732873293e6f2e7261646975732b652e72616469757329262621284d6174682e6162732872293e6f2e7261646975732b652e726164697573292969662822636972636c65223d3d3d6f2e636f6c6c6964657254797065297b696628696e7465727365637473436972636c6556734f424228652e6f62622c6f2c732c7229297b696628226d696e65223d3d3d6f2e747970652972657475726e2064657374726f794d696e65286f2c65293b7265736f6c7665436972636c6556734f424228652c6f297d7d656c736520696628226f6262223d3d3d6f2e636f6c6c6964657254797065297b636f6e737420743d7361744f424276734f42425f4d545628652e6f62622c6f2e6f62622c732c72293b7426267265736f6c76654f42425f54616e6b56734f626a65637428652c6f2c74297d7d7d66756e6374696f6e207361744f424276734f42425f4d545628652c6f2c732c72297b636f6e737420743d5b7b783a652e7269676874582c7a3a652e72696768745a7d2c7b783a652e666f7277617264582c7a3a652e666f72776172645a7d2c7b783a6f2e7269676874582c7a3a6f2e72696768745a7d2c7b783a6f2e666f7277617264582c7a3a6f2e666f72776172645a7d5d3b6c6574206e3d312f302c613d6e756c6c3b666f7228636f6e73742069206f662074297b636f6e737420743d732a692e782b722a692e7a2c623d4d6174682e61627328652e68772a28652e7269676874582a692e782b652e72696768745a2a692e7a29292b4d6174682e61627328652e68642a28652e666f7277617264582a692e782b652e666f72776172645a2a692e7a29292b284d6174682e616273286f2e772a286f2e7269676874582a692e782b6f2e72696768745a2a692e7a29292b4d6174682e616273286f2e642a286f2e666f7277617264582a692e782b6f2e666f72776172645a2a692e7a2929292d4d6174682e6162732874292d2e353b696628623c3d302972657475726e206e756c6c3b696628623c6e297b6e3d623b636f6e737420653d743c303f2d313a313b613d7b783a692e782a652c7a3a692e7a2a657d7d7d72657475726e20613f7b783a612e782a6e2c7a3a612e7a2a6e7d3a6e756c6c7d66756e6374696f6e207265736f6c76654f42425f54616e6b56734f626a65637428652c6f2c73297b69662821697346696e69746528732e78297c7c21697346696e69746528732e7a292972657475726e3b696628303d3d3d732e782626303d3d3d732e7a2972657475726e3b652e782d3d732e782c652e7a2d3d732e7a3b6c657420723d4d6174682e6879706f7428732e782c732e7a293b723c31652d35262628723d31652d35293b636f6e737420743d732e782f722c6e3d732e7a2f722c613d652e666f72776172645b305d2c693d652e666f72776172645b325d2c623d612a742b692a6e3b696628623e30297b652e666f72776172645b305d3d612d622a742c652e666f72776172645b325d3d692d622a6e3b636f6e7374206f3d4d6174682e6879706f7428652e666f72776172645b305d2c652e666f72776172645b325d293b6f3e31652d35262628652e666f72776172645b305d2f3d6f2c652e666f72776172645b325d2f3d6f297d652e73706565642a3d623e2e373f2e323a623e2e333f2e353a2e397d66756e6374696f6e20696e7465727365637473436972636c6556734f424228652c6f2c732c72297b6f2e7472616e73666f726d2e782c6f2e7472616e73666f726d2e7a3b636f6e737420743d6f2e722c6e3d6f2e7472616e73666f726d2e72792c613d4d6174682e636f73282d6e292c693d4d6174682e73696e282d6e292c623d732a612d722a692c643d732a692b722a612c633d622d4d6174682e6d6178282d652e68772c4d6174682e6d696e28622c652e687729292c663d642d4d6174682e6d6178282d652e68642c4d6174682e6d696e28642c652e686429293b72657475726e20632a632b662a663c3d742a747d66756e6374696f6e207265736f6c7665436972636c6556734f424228652c6f297b636f6e737420733d6f2e7472616e73666f726d2e782c723d6f2e7472616e73666f726d2e7a2c743d6f2e722c6e3d732d652e6f62622e63782c613d722d652e6f62622e637a2c693d6f2e7472616e73666f726d2e72792c623d4d6174682e636f73282d69292c643d4d6174682e73696e282d69292c633d6e2a622d612a642c663d6e2a642b612a622c6c3d632d4d6174682e6d6178282d652e6f62622e68772c4d6174682e6d696e28632c652e6f62622e687729292c683d662d4d6174682e6d6178282d652e6f62622e68642c4d6174682e6d696e28662c652e6f62622e686429292c6d3d742d4d6174682e73717274286c2a6c2b682a68293b6966286d3e30297b636f6e7374206f3d652e6f62622e63782d732c743d652e6f62622e637a2d722c6e3d4d6174682e73717274286f2a6f2b742a74292c613d303d3d3d6e3f313a6f2f6e2c693d303d3d3d6e3f303a742f6e2c623d652e666f72776172645b305d2a612b652e666f72776172645b325d2a692c643d312e312a6d3b652e782b3d612a642c652e7a2b3d692a642c623e2e31262628652e73706565643d30297d7d66756e6374696f6e20706f696e74496e4f424228652c6f2c732c72297b636f6e737420743d652d722e6f62622e63782c6e3d732d722e6f62622e637a2c613d742a722e6f62622e7269676874582b6e2a722e6f62622e72696768745a2c693d742a722e6f62622e666f7277617264582b6e2a722e6f62622e666f72776172645a2c623d6f2d722e6f62622e63793b72657475726e204d6174682e6162732861293c3d722e6f62622e7726264d6174682e6162732869293c3d722e6f62622e6426264d6174682e6162732862293c3d722e6f62622e687d66756e6374696f6e20706f696e74496e43796c696e64657228652c6f2c732c72297b636f6e737420743d652d722e7472616e73666f726d2e782c6e3d732d722e7472616e73666f726d2e7a2c613d742a742b6e2a6e2c693d722e7472616e73666f726d2e73782c623d6f2d722e7472616e73666f726d2e792c643d722e7472616e73666f726d2e73793b72657475726e20613c3d692a6926264d6174682e6162732862293c3d647d66756e6374696f6e20706f696e74496e43796c696e64657254696c74656428652c6f2c732c72297b636f6e737420743d652d722e7472616e73666f726d2e782c6e3d6f2d722e7472616e73666f726d2e792c613d732d722e7472616e73666f726d2e7a2c693d722e7472616e73666f726d2e676574526f746174696f6e4d617472697828292c623d5b695b305d2c695b345d2c695b385d2c695b315d2c695b355d2c695b395d2c695b325d2c695b365d2c695b31305d5d2c643d5b625b305d2c625b335d2c625b365d2c625b315d2c625b345d2c625b375d2c625b325d2c625b355d2c625b385d5d2c633d645b305d2a742b645b315d2a6e2b645b325d2a612c663d645b335d2a742b645b345d2a6e2b645b355d2a612c6c3d645b365d2a742b645b375d2a6e2b645b385d2a612c683d722e7472616e73666f726d2e73783b696628632a632b6c2a6c3e682a682972657475726e21313b636f6e7374206d3d722e7472616e73666f726d2e73793b72657475726e21284d6174682e6162732866293e6d297d66756e6374696f6e20706f696e74496e54616e6b4f424228652c6f2c732c72297b636f6e737420743d722e7472616e73666f726d2e6765744d617472697828292c6e3d652d745b31325d2c613d6f2d745b31335d2c693d732d745b31345d2c623d6e2a745b305d2b612a745b315d2b692a745b325d2c643d6e2a745b345d2b612a745b355d2b692a745b365d2c633d6e2a745b385d2b612a745b395d2b692a745b31305d3b72657475726e204d6174682e6162732862293c3d722e6f62622e687726264d6174682e6162732864293c3d722e6f62622e686826264d6174682e6162732863293c3d722e6f62622e68647d66756e6374696f6e2068616e646c6548697428652c6f297b6966286f2e626173654964262622706c61796572223d3d3d652e6f776e6572297b69662867616d652e62617365735b6f2e6261736549645d2e68702d3d652e64616d6167652c67616d652e62617365735b6f2e6261736549645d2e68703e353029666f7228636f6e73742065206f662067616d652e656e656d69657329652e6163746976617465647c7c64697374616e636528652c67616d652e62617365735b6f2e6261736549645d293c3735262628652e6163746976617465643d2130293b67616d652e62617365735b6f2e6261736549645d2e68703c3d30262664657374726f79426173652867616d652e62617365735b6f2e6261736549645d297d6f2e646573747275637469626c6526262262617272656c223d3d3d6f2e747970652626286f2e68702d3d652e64616d6167652c6f2e68703c3d302626216f2e64657374726f796564262664657374726f7942617272656c286f29292c6f2e646573747275637469626c652626226d696e65223d3d3d6f2e747970652626286f2e68702d3d652e64616d6167652c6f2e68703c3d302626216f2e64657374726f796564262664657374726f794d696e65286f29292c226d67223d3d3d652e747970653f737061776e547269616e676c657328652c352c2e3035293a737061776e547269616e676c657328652c31302c2e3132292c6578706c6f64652865297d66756e6374696f6e20636865636b50726f6a656374696c65436f6c6c6973696f6e2865297b696628652e793c3d686d61702e73616d706c6528652e782c652e7a29296578706c6f64652865293b656c73657b666f7228636f6e7374206f206f6620776f726c644f626a6563747329696628226f626222213d3d6f2e636f6c6c6964657254797065297b69662822636972636c65223d3d3d6f2e636f6c6c6964657254797065297b696628303d3d3d6f2e7472616e73666f726d2e72782626303d3d3d6f2e7472616e73666f726d2e727a3f706f696e74496e43796c696e64657228652e782c652e792c652e7a2c6f293a706f696e74496e43796c696e64657254696c74656428652e782c652e792c652e7a2c6f292972657475726e20766f69642068616e646c6548697428652c6f297d7d656c736520696628706f696e74496e4f424228652e782c652e792c652e7a2c6f292972657475726e20766f69642068616e646c6548697428652c6f293b69662822656e656d79223d3d3d652e6f776e65722626706f696e74496e54616e6b4f424228652e782c652e792c652e7a2c67616d652e706c61796572292968616e646c6556656869636c6548697428652c67616d652e706c61796572293b656c736520666f7228636f6e7374206f206f662067616d652e656e656d6965732969662822656e656d7922213d3d652e6f776e65722626706f696e74496e54616e6b4f424228652e782c652e792c652e7a2c6f292972657475726e20766f69642068616e646c6556656869636c6548697428652c6f297d7d66756e6374696f6e2064657374726f79426173652865297b666f7228636f6e7374206f206f6620652e626f786573297b636f6e737420653d776f726c644f626a656374732e696e6465784f66286f293b2d31213d3d652626776f726c644f626a656374732e73706c69636528652c31293b636f6e737420733d7363656e652e696e6465784f66286f293b2d31213d3d7326267363656e652e73706c69636528732c31297d64656c6574652067616d652e62617365735b652e69645d2c737061776e547269616e676c657328652c36302c32292c737061776e547269616e676c657328652c3130302c2e35292c7366784578706c6f73696f6e2865297d66756e6374696f6e2064657374726f7942617272656c2865297b636f6e7374206f3d776f726c644f626a656374732e696e6465784f662865293b2d31213d3d6f2626776f726c644f626a656374732e73706c696365286f2c31293b636f6e737420733d7363656e652e696e6465784f662865293b2d31213d3d7326267363656e652e73706c69636528732c31292c737061776e547269616e676c6573287b783a652e7472616e73666f726d2e782c793a652e7472616e73666f726d2e792c7a3a652e7472616e73666f726d2e7a7d2c3130302c32292c737061776e4578706c6f73696f6e28652c34302c313530292c7366784578706c6f73696f6e287b783a652e7472616e73666f726d2e782c793a652e7472616e73666f726d2e792c7a3a652e7472616e73666f726d2e7a7d297d66756e6374696f6e2064657374726f794d696e6528652c6f3d6e756c6c297b696628742d652e6465706c6f7965643c317c7c6f3d3d3d67616d652e706c6179657226264d6174682e6162732867616d652e706c617965722e7370656564293c2e312972657475726e3b636f6e737420733d776f726c644f626a656374732e696e6465784f662865293b2d31213d3d732626776f726c644f626a656374732e73706c69636528732c31293b636f6e737420723d7363656e652e696e6465784f662865293b2d31213d3d7226267363656e652e73706c69636528722c31292c737061776e547269616e676c6573287b783a652e7472616e73666f726d2e782c793a652e7472616e73666f726d2e792c7a3a652e7472616e73666f726d2e7a7d2c3130302c32292c737061776e4578706c6f73696f6e28652c33302c3132292c7366784578706c6f73696f6e287b783a652e7472616e73666f726d2e782c793a652e7472616e73666f726d2e792c7a3a652e7472616e73666f726d2e7a7d297d66756e6374696f6e2068616e646c6556656869636c6548697428652c6f297b736678486974286f292c6f2e6865616c74682d3d652e64616d6167652c6f2e6865616c74683c3d3026266b696c6c54616e6b286f292c652e616c6976653d21312c737061776e547269616e676c65732865297d66756e6374696f6e206b696c6c54616e6b2865297b737061776e547269616e676c657328652c34302c2e32292c652e646561643d21303b636f6e7374206f3d7363656e652e696e6465784f662865292c733d7363656e652e696e6465784f6628652e747572726574292c723d7363656e652e696e6465784f6628652e62617272656c293b2d31213d3d7226267363656e652e73706c69636528722c31292c2d31213d3d7326267363656e652e73706c69636528732c31292c2d31213d3d6f26267363656e652e73706c696365286f2c31292c67616d652e656e656d6965733d67616d652e656e656d6965732e66696c74657228653d3e21652e64656164292c7366784578706c6f73696f6e2865297d66756e6374696f6e207265736f6c766554616e6b567354616e6b28652c6f297b636f6e737420733d6f2e6f62622e63782d652e6f62622e63782c723d6f2e6f62622e637a2d652e6f62622e637a3b6966284d6174682e6162732873293e652e7261646975732b6f2e7261646975732972657475726e3b6966284d6174682e6162732872293e652e7261646975732b6f2e7261646975732972657475726e3b636f6e737420743d7361744f424276734f42425f4d545628652e6f62622c6f2e6f62622c732c72293b69662821747c7c21697346696e69746528742e78297c7c21697346696e69746528742e7a292972657475726e3b636f6e7374206e3d652e6d6173732b6f2e6d6173732c613d6f2e6d6173732f6e2c693d652e6d6173732f6e3b652e782d3d742e782a612c652e7a2d3d742e7a2a612c6f2e782b3d742e782a692c6f2e7a2b3d742e7a2a693b636f6e737420623d4d6174682e73696e28652e796177292a652e73706565642c643d4d6174682e636f7328652e796177292a652e73706565642c633d622d4d6174682e73696e286f2e796177292a6f2e73706565642c663d642d4d6174682e636f73286f2e796177292a6f2e73706565642c6c3d4d6174682e6879706f7428742e782c742e7a292c683d2e352a2d28632a28742e782f6c292b662a28742e7a2f6c29293b652e73706565642b3d682a286f2e6d6173732f6e292c6f2e73706565642d3d682a28652e6d6173732f6e297d66756e6374696f6e20757064617465456e656d7928742c65297b69662821742e616374697661746564297b636f6e737420613d742e782d67616d652e706c617965722e782c723d742e7a2d67616d652e706c617965722e7a3b6966282128612a612b722a723c32323530307c7c742e6865616c7468213d3d742e6d61784865616c7468292972657475726e3b742e61637469766174696f6e54696d65722b3d652c742e61637469766174696f6e54696d65723e2e35262628742e6163746976617465643d2130293b666f7228636f6e73742065206f662067616d652e656e656d69657329652e6163746976617465647c7c64697374616e636528742c65293c3735262628652e6163746976617465643d2130297d6c657420612c722c6e3d303b696628742e666f72636552657665727365297b613d312a6e6f726d616c697a65416e676c6528742e666f7263655475726e2d742e796177292c723d302c6e3d317d656c73655b612c64616e67657241686561645d3d636f6d70757465456e656d795475726e28742c65292c723d636f6d70757465456e656d795468726f74746c6528742c64616e67657241686561642c65293b636f6e7374206f3d742e782d742e6c617374582c693d742e7a2d742e6c6173745a3b6966286f2a2d4d6174682e73696e28742e796177292b692a4d6174682e636f7328742e796177293c2e313f742e737475636b54696d65722b3d653a742e737475636b54696d65723d302c742e6c617374583d742e782c742e6c6173745a3d742e7a2c742e666f726365526576657273653d21312c28742e737475636b54696d65723e312626742e737475636b54696d65723c327c7c742e666f726365526576657273652626742e737475636b54696d65723c3229262628742e666f726365526576657273653d21302c742e666f7263655475726e3d742e7961772b2e362a4d6174682e5049292c742e737475636b54696d65723e3d32297b636f6e737420653d67657441766f6964616e63652874293b742e74656d70476f616c3d7b783a742e782b4d6174682e636f7328652e616e676c65292c7a3a742e7a2b4d6174682e73696e28652e616e676c65297d2c742e737475636b54696d65723e35262628742e737475636b54696d65723d30297d73776974636828742e70726f66696c652e7374656572696e674d6f64656c297b636173652274616e6b223a75706461746554616e6b5374656572696e6728742c612c65293b627265616b3b6361736522636172223a7570646174654361725374656572696e6728742c612c65293b627265616b3b63617365226472696674223a75706461746544726966745374656572696e6728742c612c65297d6966287570646174654d6f76656d656e7428742c722c6e2c65292c21742e62617272656c2e7472616e73666f726d2e6765744d617472697828292972657475726e3b636f6e737420733d742e62617272656c2e7472616e73666f726d2e6765744d617472697828292c633d735b385d2c6c3d735b395d2c683d735b31305d2c753d735b31325d2b2e342a632c663d735b31335d2b2e342a6c2c6d3d735b31345d2b2e342a682c793d67616d652e706c617965722e7472616e73666f726d2e6765744d617472697828292c673d795b31325d2d752c703d795b31335d2d662c4d3d795b31345d2d6d2c643d4d6174682e6174616e32282d672c4d292c783d4d6174682e6174616e3228702c4d6174682e7371727428672a672b4d2a4d29292c7a3d6e6f726d616c697a65416e676c6528642d28742e7961772b742e7475727265742e79617729292c773d6e6f726d616c697a65416e676c6528782d4d6174682e6174616e32286c2c4d6174682e7371727428632a632b682a682929293b742e7475727265742e7961772b3d322a7a2a652a322c742e7475727265742e70697463682b3d322a772a652a312e352c742e7475727265742e70697463683d4d6174682e6d6178282d2e332c4d6174682e6d696e28742e7475727265742e70697463682c2e3529292c742e7072696d61727946697265436f6f6c646f776e3c3d3026262874727954757272657453686f7428742c7a2c77292c742e7072696d61727946697265436f6f6c646f776e3d742e7072696d6172794669726552617465292c742e7365636f6e6461727946697265436f6f6c646f776e3c3d302626287472794d616368696e6547756e53686f7428742c7a292c742e7365636f6e6461727946697265436f6f6c646f776e3d742e7072696d6172794669726552617465292c742e7072696d61727946697265436f6f6c646f776e2d3d652c742e7365636f6e6461727946697265436f6f6c646f776e2d3d657d66756e6374696f6e20636f6d70757465456e656d795475726e28742c65297b636f6e737420613d67616d652e706c617965722e782d742e782c723d67616d652e706c617965722e7a2d742e7a2c6e3d4d6174682e6879706f7428612c72292c6f3d612f6e2c693d722f6e2c733d726179636173744f626a65637473287b783a742e782c793a742e67726f756e64592b742e68616c664865696768742c7a3a742e7a7d2c7b783a6f2c793a302c7a3a697d2c312c6e292c633d67657441766f6964616e63652874293b6c6574206c3b6966286e756c6c3d3d73296c3d4d6174682e6174616e32282d612c72292c742e74656d70476f616c3d6e756c6c3b656c73657b742e74656d70476f616c7c7c28742e74656d70476f616c3d7069636b526164697573576179706f696e7428742c6329293b636f6e737420653d742e74656d70476f616c2e782d742e782c613d742e74656d70476f616c2e7a2d742e7a3b6c3d4d6174682e6174616e32282d652c61292c4d6174682e6879706f7428652c61293c3130262628742e74656d70476f616c3d7069636b526164697573576179706f696e7428742c6329297d6c657420683d302c753d303b742e73706565643e312626285b682c755d3d67657441766f6964616e6365416e676c6541646a7573746d656e7428742c6c29292c6c2b3d683b6c657420663d6e6f726d616c697a65416e676c65286c2d742e796177293b636f6e7374206d3d4d6174682e6162732866293b6c657420793b72657475726e20793d22636172223d3d3d742e70726f66696c652e7374656572696e674d6f64656c26266d3c2e353f6d3c2e313f303a2e31352a663a312a662c5b792c755d7d66756e6374696f6e2067657441766f6964616e63652874297b636f6e737420653d742e7961772c613d742e782b2d4d6174682e73696e2865292c723d742e7a2b4d6174682e636f732865292c6e3d5b5d2c6f3d5b5d3b666f72286c657420693d2d313b693c3d313b692b3d2e3135297b636f6e737420733d652b692c633d7b783a2d4d6174682e73696e2873292c793a302c7a3a4d6174682e636f732873297d2c6c3d726179636173744f626a65637473287b783a612c793a742e67726f756e64592b322c7a3a727d2c632c312c313230292c683d6c3f6c2e646973743a3132303b6966286c26266c2e646973743c3829636f6e74696e75653b636f6e737420753d612b632e782a682c663d722b632e7a2a682c6d3d67616d652e706c617965722e782d752c793d67616d652e706c617965722e7a2d662c673d682f3132302c703d312f284d6174682e6879706f74286d2c79292b31293b6c7c7c6e2e70757368287b616e676c653a732c73636f72653a2e342a672b2e362a707d292c6f2e70757368287b616e676c653a732c73636f72653a677d297d72657475726e206e2e6c656e6774683e303f286e2e736f72742828742c65293d3e652e73636f72652d742e73636f7265292c7b616e676c653a6e5b305d2e616e676c657d293a6f2e6c656e6774683e303f286f2e736f72742828742c65293d3e652e73636f72652d742e73636f7265292c7b616e676c653a6f5b305d2e616e676c657d293a7b616e676c653a657d7d66756e6374696f6e207069636b526164697573576179706f696e7428742c65297b636f6e737420613d4d6174682e6879706f742867616d652e706c617965722e782d742e782c67616d652e706c617965722e7a2d742e7a292c723d4d6174682e6d696e2838302c4d6174682e6d61782833302c2e342a6129292c6e3d652e616e676c653b72657475726e7b783a742e782b2d4d6174682e73696e286e292a722c7a3a742e7a2b4d6174682e636f73286e292a727d7d66756e6374696f6e2067657441766f6964616e6365416e676c6541646a7573746d656e7428742c65297b636f6e737420613d742e782c723d742e7a2c6e3d5b7b6f66663a302c7765696768743a317d2c7b6f66663a2e32352c7765696768743a2e377d2c7b6f66663a2d2e32352c7765696768743a2e377d2c7b6f66663a2e35352c7765696768743a2e357d2c7b6f66663a2d2e35352c7765696768743a2e357d5d3b6c6574206f3d302c693d303b666f7228636f6e73742065206f66206e297b726179486974734f626a65637428612c722c742e7961772b652e6f66662b4d6174682e50492f322c313029262628652e6f66663e303f6f2b3d652e7765696768743a692b3d652e776569676874297d636f6e737420733d6f2b693b696628303d3d3d732972657475726e5b302c305d3b6c657420633d303b72657475726e20633d6f3e693f2d2e353a2e352c5b632c735d7d66756e6374696f6e20636f6d70757465456e656d795468726f74746c6528742c653d302c61297b696628653d4d6174682e6162732865292c742e73706565643e34297b696628653e312972657475726e2e353b696628653e3d322972657475726e2d2e353b696628653e3d322e352626742e73706565643e372972657475726e2d317d72657475726e20317d66756e6374696f6e207472794d616368696e6547756e53686f7428742c65297b69662821284d6174682e6162732865293c2e32292972657475726e3b726179486974734f626a65637428742e782c742e7a2c742e7961772c333030293b73686f6f744d616368696e6547756e2874297d66756e6374696f6e2074727954757272657453686f7428742c652c61297b636f6e737420723d4d6174682e6162732865293c2e312c6e3d4d6174682e6162732861293c2e313b69662821727c7c216e2972657475726e3b636f6e7374206f3d742e62617272656c2e7472616e73666f726d2e6765744d617472697828292c693d742e7475727265742e7472616e73666f726d2e6765744d617472697828292c733d676574576f726c64506f732869292c633d676574466f7277617264286f292c6c3d726179636173744f626a6563747328732c632c322c3165332c21302c74292c683d726179486974735465727261696e334428742c316533293b7226266e26262131213d3d6c26262168262673686f6f745475727265742874297d66756e6374696f6e20726179486974734f626a65637428742c652c612c723d326533297b636f6e7374206e3d4d6174682e636f732861292c6f3d4d6174682e73696e2861293b666f72286c657420613d303b613c723b612b3d32297b636f6e737420723d742b6e2a612c693d652b6f2a613b666f7228636f6e73742074206f6620776f726c644f626a6563747329696628226f6262223d3d3d742e636f6c6c6964657254797065297b696628706f696e74496e4f424228722c302c692c74292972657475726e20617d656c73652069662822636972636c65223d3d3d742e636f6c6c69646572547970652626706f696e74496e43796c696e64657228722c302c692c74292972657475726e20617d72657475726e21317d66756e6374696f6e20726179486974735465727261696e334428742c653d326533297b636f6e737420613d742e7961772b742e7475727265742e7961772c723d742e782c6e3d742e7475727265742e792c6f3d742e7a2c693d67616d652e706c617965722e782d722c733d67616d652e706c617965722e7a2d6f3b653d4d6174682e6d696e284d6174682e7371727428692a692b732a73292c65293b666f72286c657420693d323b693c653b692b3d35297b636f6e737420653d722b4d6174682e636f732861292a692c733d6f2b4d6174682e73696e2861292a693b696628686d61702e73616d706c6528652c73293e6e2b4d6174682e73696e28742e7475727265742e7069746368292a692972657475726e21307d72657475726e21317d66756e6374696f6e206e6f726d616c697a65416e676c652874297b72657475726e2874253d322a4d6174682e5049293c2d4d6174682e5049262628742b3d322a4d6174682e5049292c743e4d6174682e5049262628742d3d322a4d6174682e5049292c747d2a2f6a53435f414354494f4e55010d5dc06c42907ee0e2d1908b444e6b0145b38a1cc198b41b559353c2916ffc7d011bf5b55b3854787f4c73cb5c8d55683ae7070b7276b278810e2a232751a94cc900017be9c2ac3054bf33329ee9d8a7a098cc2fb9f16184d31c6bc33d8ce604e6a80009d8155f40fdbb71efe3894c0730236a00609aa293be160fab96202650fb872001106b4e989a0493742a0c264c760cdbf7da3c85073300a00bc17e68068496c09d0022fa3cc054b2f6071acbe5b8138f8fcbe83954ee5410a7b1f40721d30ad7553d002bf7429f93684a094f69128cd61c3a3aaa84b85e07fcd03700d8df58edd39696012563e99271b35ad1bf103a848dcb2173632bcff79b38bb5108e08002992a27030008b87cd19d11c71193f95fc3b2e80eefcf21844152acba73741071344a0fda2401115ca050cb47c6e00b361e78710bda5072b9cc9fba873f4dc015f848c5b2a34e011ae52dc2b9f48f980cb9dc2a3fbc746d2b4a523d4f6438f113291389b84da5250100418547cbea85a4d310f5a3f0c53850cba34351d118f853ddcd30455b11f47900126657a97e5001aeba3ed6c316669ada976f6622076a813a1cbf9861df256b2101119cef889f1b3636a56187f03ab53a7a70b4f4cb95c2dc1e1402af02dda5c2cd0000000000000000000000000000000000000000000000000000000000000000179d68d0882fb33be06b76f2391ed94548ef2ebdc189c2052d94bb2d95357b2d2beecbee1c46fd0a81142f7dec7427fce2fc2460d2d187c5e86b85c05571ddbf01145b17bd2d5fabce53a7bac4913dc499a5a8b4142707849057adbe44baf4ecf40101ce65161b559e91fd13d38a229ebf2d45b9dab390645b63d886469cbbe892b305c2f88493a9593d4dfbef606c938f7883512d9c552f4fbb20bc0271942811850700c8228e566342d7100b0beefe7eb4862dec00104aa2b1d076c2950750c8c6109fe06bb39e4ac1c782fd69c066c763d7a3ec115668dc8a06497f6624711cb33040a1e6f7e4dd98f4915169deeb018f2d85b584400ae6dc479e48b19f63a55b29c254785a298f42b6ae986e09381c9528b7d10744499a1e85e2c75f8511f7b10f1874209cf1e5b303b6384a2845987d4a82eb902483a0187e8854f5d57d6cb01e8858d82e7fe91a39bb222b362d1f7ffb1c4200732eb0474bdaeba96834a7272582a57643ee08a7c927fd7f6da771e2e735e9321e40d35a22fed880ac6b523e260b080566373d48aee726dc24712ee79c2a958c217b8d981f24ace85c7ca98b011f13ffcce14ea3e94f4b6453f22966da42bf662e063cc254bb664e74b668568e0010f394467473756a6e89fc344859c17ab7c643ef606344e25131cb0dbbfdc5c70029b2ebc35050cc5135390e228473224e1912cc2746ca0dd56e6be5f210aab90c0001d8ded507409b591055359e5cfc8cfb39183c09fb8927699a742b8e96bb26c901190d508df3c4a07c62067c5bf813d911422c53fa8cc32f4e8349883f15e97bf6012574e866eee2f22a0c0e335f7b63733a5ef6c80c1c36255bf8c4928a113ae62f011b93c784c8019af0dd5fed23f8e2302033613445f9d8d370714bff9d0b20c9a80028488a1653895e004bcaf3a2949ad92951b25ed0838c65cc03626bf1970f1bb60121b6e7cb10c9823c17b84e6e075f1733fd95fc89a720b1cecb2d0b7f3d828b960125c2a63fb75e82d32e798da59fb23c3f20e0eb84fae64f6a175684a2b76f794d00050171fa2d585ee751e4d8b5e7a830eca27ff78eac8aa33de610ee51add870a201180d1f6adf182687ce902359daa34cebfaae2886af0ae63def1ac74df775fabe0017966b9705be80535bdc85452ef29b6bac81e7957a5a5f93a1da89e6f751357c01
DERO explorer source code | explorer version (api): under development (1.0) | dero version: golang pre-alpha | Copyright 2017-2022 Dero Project