Transaction

90c3e9f41c8b8fb840d9bac8a875226b6ee2b7b00c838ebc0cb7f8a3c04e793c
Timestamp (utc)
2025-02-09 20:41:44
Fee Paid
0.00009922 BSV
(
0.03846818 BSV
-
0.03836896 BSV
)
Fee Rate
499.4 sat/KB
Version
1
Confirmations
53,184
Size Stats
19,867 B

2 Outputs

Total Output:
0.03836896 BSV
  • jMÃŒL{"name":"EncodedFiles","files":[{"name":"ClassCoreGlobalsF.html","size":14660,"type":"text/html","content":"Y2xhc3MgQ29yZUdsb2JhbHMgewogIGNvbnN0cnVjdG9yKCkgewogICAgLy8gRGVmaW5lIFR3ZW1vamkgaW1wbGVtZW50YXRpb24gZGlyZWN0bHkKICAgIHRoaXMudHdlbW9qaSA9IHsKICAgICAgcGFyc2U6IChjb250ZW50KSA9PiB7CiAgICAgICAgcmV0dXJuIGNvbnRlbnQucmVwbGFjZSgvW1x1ezFGMzAwfS1cdXsxRjlGRn1dfFtcdXsyNjAwfS1cdXsyNkZGfV0vZ3UsIChtYXRjaCkgPT4gewogICAgICAgICAgY29uc3QgY29kZVBvaW50ID0gbWF0Y2guY29kZVBvaW50QXQoMCkudG9TdHJpbmcoMTYpOwogICAgICAgICAgcmV0dXJuIGA8aW1nIGNsYXNzPSJlbW9qaSIgZHJhZ2dhYmxlPSJmYWxzZSIgYWx0PSIke21hdGNofSIgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy90d2Vtb2ppLzE0LjAuMi9zdmcvJHtjb2RlUG9pbnR9LnN2ZyI+YDsKICAgICAgICB9KTsKICAgICAgfQogICAgfTsKCiAgICAvLyBTdG9yZSBlbW9qaSBjb2RlcyAodXNpbmcgVW5pY29kZSBlc2NhcGVzKSB0byBwcmV2ZW50IGVuY29kaW5nIGlzc3VlcwogICAgdGhpcy5FTU9KSV9DT0RFUyA9IHsKICAgICAgSU5CT1g6ICdcdXsxRjRFNX0nLCAgICAgIC8vIPCfk6UKICAgICAgU0VOVDogJ1x1ezFGNEU0fScsICAgICAgIC8vIPCfk6QKICAgICAgSlVOSzogJ1x1ezFGNUQxfScsICAgICAgIC8vIPCfl5EKICAgICAgRkFWT1JJVEVTOiAnXHV7MkI1MH0nLCAgICAvLyDirZAKICAgICAgQUREOiAnXHV7Mjc5NX0nLCAgICAgICAgIC8vIOKelQogICAgICBGT0xERVI6ICdcdXsxRjRDMX0nLCAgICAgLy8g8J+TgQogICAgICBDT05UQUNUUzogJ1x1ezFGNDY1fScgICAgLy8g8J+RpQogICAgfTsKCiAgICAvLyBEZWZpbmUgZGVmYXVsdCBmb2xkZXJzCiAgICB0aGlzLkZPTERFUlMgPSB7CiAgICAgIGluYm94OiB7CiAgICAgICAgbmFtZTogJ0luYm94JywKICAgICAgICBzdG9yYWdlS2V5OiAnbWVzc2FnZUluYm94JywKICAgICAgICBpY29uOiB0aGlzLkVNT0pJX0NPREVTLklOQk9YCiAgICAgIH0sCiAgICAgIHNlbnQ6IHsKICAgICAgICBuYW1lOiAnU2VudCcsCiAgICAgICAgc3RvcmFnZUtleTogJ3NlbnRNZXNzYWdlcycsCiAgICAgICAgaWNvbjogdGhpcy5FTU9KSV9DT0RFUy5TRU5UCiAgICAgIH0sCiAgICAgIGp1bms6IHsKICAgICAgICBuYW1lOiAnSnVuaycsCiAgICAgICAgc3RvcmFnZUtleTogJ2p1bmtUcmFuc2FjdGlvbnMnLAogICAgICAgIGljb246IHRoaXMuRU1PSklfQ09ERVMuSlVOSwogICAgICB9LAogICAgICBmYXZvcml0ZXM6IHsKICAgICAgICBuYW1lOiAnRmF2b3JpdGVzJywKICAgICAgICBzdG9yYWdlS2V5OiAnZmF2b3JpdGVNZXNzYWdlcycsCiAgICAgICAgaWNvbjogdGhpcy5FTU9KSV9DT0RFUy5GQVZPUklURVMKICAgICAgfQogICAgfTsKCiAgICAvLyBHbG9iYWwgc3RhdGUKICAgIHRoaXMuZ2xvYmFsU3RhdGUgPSB7CiAgICAgIGN1cnJlbnRWaWV3OiBudWxsLAogICAgICBjdXJyZW50Rm9sZGVyOiBudWxsLAogICAgICB0cmFuc2FjdGlvbkxpc3RlbmVyOiBudWxsCiAgICB9OwoKICAgIC8vIEluamVjdCBiYXNlIENTUyAoZm9yIGVtb2ppIGFuZCB1bmlmaWVkIGZvbGRlciBkaXNwbGF5KQogICAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOwogICAgc3R5bGUudGV4dENvbnRlbnQgPSBgCiAgICAgIC8qIEVtb2ppIFN0eWxlcyAqLwogICAgICBpbWcuZW1vamkgewogICAgICAgIGhlaWdodDogMS4yZW07CiAgICAgICAgd2lkdGg6IDEuMmVtOwogICAgICAgIG1hcmdpbjogMCAuMDVlbSAwIC4xZW07CiAgICAgICAgdmVydGljYWwtYWxpZ246IC0wLjFlbTsKICAgICAgfQogICAgICAuZm9sZGVyLWljb24gaW1nLmVtb2ppIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsKICAgICAgfQogICAgICAKICAgICAgLyogVW5pZmllZCBGb2xkZXIgRGlzcGxheSBTdHlsZXMgKi8KICAgICAgLmZvbGRlci1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMXJlbTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjsKICAgICAgfQogICAgICAuZm9sZGVyLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDFyZW07CiAgICAgIH0KICAgICAgLm1lc3NhZ2UtaXRlbSB7CiAgICAgICAgcGFkZGluZzogMXJlbTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgICAubWVzc2FnZS1pdGVtIGRpdiB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQogICAgICAuYnRuIHsKICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsKICAgICAgfQogICAgICAuYnRuLXByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICMzQjgyRjY7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CiAgICAgIC5idG4tZGFuZ2VyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjRUY0NDQ0OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQogICAgICAvKiBOYXZpZ2F0aW9uIGl0ZW1zIGZvciBjb25zaXN0ZW5jeSAqLwogICAgICAubmF2LWl0ZW0gewogICAgICAgIHBhZGRpbmc6IDAuNXJlbTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KICAgIGA7CiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTsKICB9CgogIC8vIEhlbHBlcjogUmVuZGVyIGVtb2ppcyB1c2luZyBvdXIgdHdlbW9qaSBwYXJzZXIKICByZW5kZXJFbW9qaShjb250ZW50KSB7CiAgICByZXR1cm4gdGhpcy50d2Vtb2ppLnBhcnNlKGNvbnRlbnQpOwogIH0KCiAgLy8gU2V0IHVwIGdsb2JhbCBmdW5jdGlvbnMgYW5kIGluamVjdCBnbG9iYWxzIGludG8gd2luZG93CiAgaW5qZWN0R2xvYmFscygpIHsKICAgIHdpbmRvdy5GT0xERVJTID0gdGhpcy5GT0xERVJTOwogICAgd2luZG93LkVNT0pJX0NPREVTID0gdGhpcy5FTU9KSV9DT0RFUzsKICAgIHdpbmRvdy5nbG9iYWxTdGF0ZSA9IHRoaXMuZ2xvYmFsU3RhdGU7CgogICAgLy8gR2V0IGZvbGRlcnMgZnJvbSBsb2NhbFN0b3JhZ2Ugb3IgdXNlIGRlZmF1bHRzCiAgICB3aW5kb3cuZ2V0Rm9sZGVycyA9ICgpID0+IHsKICAgICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2ZvbGRlcnMnKSB8fCBKU09OLnN0cmluZ2lmeSh0aGlzLkZPTERFUlMpKTsKICAgIH07CgogICAgd2luZG93LmdldENvbnRhY3ROYW1lID0gKGFkZHJlc3MpID0+IHsKICAgICAgY29uc3QgY29udGFjdHMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb250YWN0cycpIHx8ICd7fScpOwogICAgICByZXR1cm4gY29udGFjdHNbYWRkcmVzc10gfHwgYWRkcmVzczsKICAgIH07CgogICAgLy8gR2xvYmFsIGZ1bmN0aW9uOiBTaG93IEluYm94IChjYWxscyBzZXR1cEZvbGRlcikKICAgIHdpbmRvdy5zaG93SW5ib3ggPSAoKSA9PiB7CiAgICAgIHdpbmRvdy5nbG9iYWxTdGF0ZS5jdXJyZW50Rm9sZGVyID0gJ2luYm94JzsKICAgICAgd2luZG93LnNldHVwRm9sZGVyKCdpbmJveCcpOwogICAgfTsKCiAgICAvLyBHbG9iYWwgZnVuY3Rpb246IFNob3cgU2VudAogICAgd2luZG93LnNob3dTZW50ID0gKCkgPT4gewogICAgICB3aW5kb3cuZ2xvYmFsU3RhdGUuY3VycmVudEZvbGRlciA9ICdzZW50JzsKICAgICAgd2luZG93LnNldHVwRm9sZGVyKCdzZW50Jyk7CiAgICB9OwoKICAgIC8vIEdsb2JhbDogU2F2ZSBhIHNlbnQgbWVzc2FnZQogICAgd2luZG93LnNhdmVTZW50TWVzc2FnZSA9IChyZWNpcGllbnQsIHR4aWQpID0+IHsKICAgICAgY29uc3Qgc2VudE1lc3NhZ2VzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc2VudE1lc3NhZ2VzJykgfHwgJ1tdJyk7CiAgICAgIHNlbnRNZXNzYWdlcy5wdXNoKHsKICAgICAgICByZWNpcGllbnQsCiAgICAgICAgdHhpZCwKICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCkKICAgICAgfSk7CiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzZW50TWVzc2FnZXMnLCBKU09OLnN0cmluZ2lmeShzZW50TWVzc2FnZXMpKTsKICAgICAgaWYgKHdpbmRvdy5nbG9iYWxTdGF0ZS5jdXJyZW50Rm9sZGVyID09PSAnc2VudCcpIHsKICAgICAgICB3aW5kb3cuc2V0dXBGb2xkZXIoJ3NlbnQnKTsKICAgICAgfQogICAgfTsKCiAgICAvLyBHbG9iYWw6IFNhdmUgY29udGFjdAogICAgd2luZG93LnNhdmVDb250YWN0ID0gKGFkZHJlc3MsIG5hbWUpID0+IHsKICAgICAgY29uc3QgY29udGFjdHMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb250YWN0cycpIHx8ICd7fScpOwogICAgICBjb250YWN0c1thZGRyZXNzXSA9IG5hbWU7CiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjb250YWN0cycsIEpTT04uc3RyaW5naWZ5KGNvbnRhY3RzKSk7CiAgICB9OwoKICAgIC8vIEdsb2JhbDogRGVsZXRlIG1lc3NhZ2UgZnJvbSBhIGZvbGRlcgogICAgd2luZG93LmRlbGV0ZU1lc3NhZ2UgPSAodHhpZCwgZm9sZGVyS2V5KSA9PiB7CiAgICAgIGNvbnN0IGZvbGRlciA9IHRoaXMuRk9MREVSU1tmb2xkZXJLZXkgfHwgd2luZG93Lmdsb2JhbFN0YXRlLmN1cnJlbnRGb2xkZXJdOwogICAgICBpZiAoIWZvbGRlcikgcmV0dXJuOwogICAgICBjb25zdCBzdG9yZWQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKGZvbGRlci5zdG9yYWdlS2V5KSB8fCAnW10nKTsKICAgICAgY29uc3QgdXBkYXRlZCA9IHN0b3JlZC5maWx0ZXIodHggPT4gdHgudHhpZCAhPT0gdHhpZCk7CiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGZvbGRlci5zdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeSh1cGRhdGVkKSk7CiAgICAgIHdpbmRvdy5zZXR1cEZvbGRlcihmb2xkZXJLZXkgfHwgd2luZG93Lmdsb2JhbFN0YXRlLmN1cnJlbnRGb2xkZXIpOwogICAgfTsKCiAgICAvLyBHbG9iYWw6IFJlZnJlc2ggaW5ib3gKICAgIHdpbmRvdy5yZWZyZXNoSW5ib3ggPSBhc3luYyAoKSA9PiB7CiAgICAgIGNvbnN0IGFkZHJlc3MgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2FsbGV0QWRkcmVzcycpOwogICAgICBpZiAoIWFkZHJlc3MpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCdObyB3YWxsZXQgYWRkcmVzcyBmb3VuZCcpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBjb25zdCBsb2FkaW5nSW5kaWNhdG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIGxvYWRpbmdJbmRpY2F0b3IudGV4dENvbnRlbnQgPSAnRmV0Y2hpbmcgbWVzc2FnZSB0cmFuc2FjdGlvbnMuLi4nOwogICAgICBsb2FkaW5nSW5kaWNhdG9yLnN0eWxlLnBhZGRpbmcgPSAnMXJlbSc7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZXNzYWdlTGlzdCcpLnByZXBlbmQobG9hZGluZ0luZGljYXRvcik7CiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25zID0gYXdhaXQgZmV0Y2hBZGRyZXNzVHJhbnNhY3Rpb25zKGFkZHJlc3MpOwogICAgICAgIGNvbnN0IHsgbWVzc2FnZXMsIG5ld0NvdW50IH0gPSBhd2FpdCBwcm9jZXNzVHJhbnNhY3Rpb25zKHRyYW5zYWN0aW9ucywgYWRkcmVzcyk7CiAgICAgICAgaWYgKG5ld0NvdW50ID4gMCkgewogICAgICAgICAgd2luZG93Lm1vZGFsTWFuYWdlcj8uc2hvd0FsZXJ0KGBGb3VuZCAke25ld0NvdW50fSBuZXcgbWVzc2FnZShzKWApOwogICAgICAgIH0KICAgICAgICB3aW5kb3cuc2V0dXBGb2xkZXIoJ2luYm94Jyk7CiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgICAgY29uc29sZS5lcnJvcignUmVmcmVzaCBmYWlsZWQ6JywgZXJyb3IpOwogICAgICAgIHdpbmRvdy5tb2RhbE1hbmFnZXI/LnNob3dBbGVydCgnRmFpbGVkIHRvIHJlZnJlc2g6ICcgKyBlcnJvci5tZXNzYWdlLCAnZXJyb3InKTsKICAgICAgfSBmaW5hbGx5IHsKICAgICAgICBsb2FkaW5nSW5kaWNhdG9yLnJlbW92ZSgpOwogICAgICB9CiAgICB9OwoKICAgIC8vIEdsb2JhbDogU2V0dXAgbmF2aWdhdGlvbiAoZm9sZGVyIGxpbmtzKQp3aW5kb3cuc2V0dXBOYXZpZ2F0aW9uID0gKCkgPT4gewogIGNvbnN0IG5hdiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ25hdicpOwogIGNvbnN0IGZvbGRlcnMgPSB3aW5kb3cuZ2V0Rm9sZGVycygpOwogIAogIC8vIEJ1aWxkIHN5c3RlbSBuYXZpZ2F0aW9uIGl0ZW1zCiAgY29uc3Qgc3lzdGVtTmF2ID0gYAogICAgPGEgY2xhc3M9Im5hdi1pdGVtIiBvbmNsaWNrPSJzaG93SW5ib3goKSI+CiAgICAgIDxzcGFuIGNsYXNzPSJmb2xkZXItaWNvbiI+JHt3aW5kb3cuY29yZUdsb2JhbHMucmVuZGVyRW1vamkod2luZG93LkVNT0pJX0NPREVTLklOQk9YKX08L3NwYW4+IEluYm94CiAgICA8L2E+CiAgICA8YSBjbGFzcz0ibmF2LWl0ZW0iIG9uY2xpY2s9InNob3dTZW50KCkiPgogICAgICA8c3BhbiBjbGFzcz0iZm9sZGVyLWljb24iPiR7d2luZG93LmNvcmVHbG9iYWxzLnJlbmRlckVtb2ppKHdpbmRvdy5FTU9KSV9DT0RFUy5TRU5UKX08L3NwYW4+IFNlbnQKICAgIDwvYT4KICAgIDxhIGNsYXNzPSJuYXYtaXRlbSIgb25jbGljaz0ic2hvd0NvbnRhY3RzKCkiPgogICAgICA8c3BhbiBjbGFzcz0iZm9sZGVyLWljb24iPiR7d2luZG93LmNvcmVHbG9iYWxzLnJlbmRlckVtb2ppKHdpbmRvdy5FTU9KSV9DT0RFUy5DT05UQUNUUyl9PC9zcGFuPiBDb250YWN0cwogICAgPC9hPgogIGA7CiAgCiAgLy8gQ3VzdG9tIGZvbGRlcnMKICBjb25zdCBjdXN0b21Gb2xkZXJzID0gT2JqZWN0LmVudHJpZXMoZm9sZGVycykKICAgIC5maWx0ZXIoKFtrZXldKSA9PiAhWydpbmJveCcsICdzZW50J10uaW5jbHVkZXMoa2V5KSkKICAgIC5tYXAoKFtrZXksIGZvbGRlcl0pID0+IGAKICAgICAgPGEgY2xhc3M9Im5hdi1pdGVtIiBvbmNsaWNrPSJzaG93Rm9sZGVyKCcke2tleX0nKSI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImZvbGRlci1pY29uIj4ke3dpbmRvdy5jb3JlR2xvYmFscy5yZW5kZXJFbW9qaShmb2xkZXIuaWNvbil9PC9zcGFuPiAke2ZvbGRlci5uYW1lfQogICAgICA8L2E+CiAgICBgKS5qb2luKCcnKTsKICAgIAogIC8vIEFkZCBGb2xkZXIgYnV0dG9uCiAgY29uc3QgYWRkRm9sZGVyQnV0dG9uID0gYAogICAgPGEgY2xhc3M9Im5hdi1pdGVtIGFkZC1mb2xkZXIiIG9uY2xpY2s9InNob3dBZGRGb2xkZXJNb2RhbCgpIj4KICAgICAgPHNwYW4gY2xhc3M9ImZvbGRlci1pY29uIj4ke3dpbmRvdy5jb3JlR2xvYmFscy5yZW5kZXJFbW9qaSh3aW5kb3cuRU1PSklfQ09ERVMuQUREKX08L3NwYW4+IEFkZCBGb2xkZXIKICAgIDwvYT4KICBgOwogIAogIG5hdi5pbm5lckhUTUwgPSBzeXN0ZW1OYXYgKyBjdXN0b21Gb2xkZXJzICsgYWRkRm9sZGVyQnV0dG9uOwp9OwoKICAgIC8vIFVuaWZpZWQgZm9sZGVyIGRpc3BsYXkgZm9yIEluYm94LCBTZW50LCBhbmQgb3RoZXJzCndpbmRvdy5zZXR1cEZvbGRlciA9IChmb2xkZXJLZXkpID0+IHsKICAgICAgICBjb25zdCBmb2xkZXJzID0gd2luZG93LmdldEZvbGRlcnMoKTsKICAgICAgICBjb25zdCBmb2xkZXIgPSBmb2xkZXJzW2ZvbGRlcktleV07CiAgICAgICAgaWYgKCFmb2xkZXIpIHJldHVybjsKICAgICAgICBjb25zdCBtZXNzYWdlcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oZm9sZGVyLnN0b3JhZ2VLZXkpIHx8ICdbXScpOwogICAgICAgIGNvbnN0IG1lc3NhZ2VMaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lc3NhZ2VMaXN0Jyk7CiAgICAgICAgaWYgKCFtZXNzYWdlTGlzdCkgcmV0dXJuOwogICAgICAgIAogICAgICAgIGNvbnN0IGhlYWRlckhUTUwgPSBgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGRlci1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9sZGVyLWhlYWRlci1sZWZ0IiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7Ij4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9sZGVyLWljb24iPiR7d2luZG93LmNvcmVHbG9iYWxzLnJlbmRlckVtb2ppKGZvbGRlci5pY29uKX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJtYXJnaW46IDA7Ij4ke2ZvbGRlci5uYW1lfSAoJHttZXNzYWdlcy5sZW5ndGh9KTwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7Zm9sZGVyS2V5ID09PSAnaW5ib3gnID8gJzxidXR0b24gb25jbGljaz0icmVmcmVzaEluYm94KCkiIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSI+UmVmcmVzaDwvYnV0dG9uPicgOiAnJ30KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgYDsKCiAgICAgICAgY29uc3QgZm9ybWF0RGF0ZSA9ICh0aW1lc3RhbXApID0+IHsKICAgICAgICAgICAgaWYgKCF0aW1lc3RhbXAgfHwgaXNOYU4obmV3IERhdGUodGltZXN0YW1wKS5nZXRUaW1lKCkpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHRpbWVzdGFtcCkudG9Mb2NhbGVTdHJpbmcoKTsKICAgICAgICB9OwoKICAgICAgICBjb25zdCB0cnVuY2F0ZVRleHQgPSAodGV4dCwgbWF4TGVuZ3RoID0gMjgwKSA9PiB7CiAgICAgICAgICAgIGlmICghdGV4dCkgcmV0dXJuICcnOwogICAgICAgICAgICByZXR1cm4gdGV4dC5sZW5ndGggPiBtYXhMZW5ndGggPyB0ZXh0LnNsaWNlKDAsIG1heExlbmd0aCkgKyAnLi4uJyA6IHRleHQ7CiAgICAgICAgfTsKCiAgICAgICAgY29uc3QgbWVzc2FnZUl0ZW1zSFRNTCA9IG1lc3NhZ2VzLmxlbmd0aCA9PT0gMAogICAgICAgICAgICA/IGA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDJyZW07IGNvbG9yOiAjNmI3MjgwOyI+Tm8gbWVzc2FnZXMgaW4gJHtmb2xkZXIubmFtZX08L2Rpdj5gCiAgICAgICAgICAgIDogbWVzc2FnZXMuc29ydCgoYSwgYikgPT4gYi50aW1lc3RhbXAgLSBhLnRpbWVzdGFtcCkKICAgICAgICAgICAgICAgIC5tYXAobWVzc2FnZSA9PiB7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZSA9IGZvcm1hdERhdGUobWVzc2FnZS50aW1lc3RhbXApOwogICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbmRlciA9IG1lc3NhZ2Uuc2VuZGVyID8gd2luZG93LmdldENvbnRhY3ROYW1lKG1lc3NhZ2Uuc2VuZGVyKSA6ICdVbmtub3duIFNlbmRlcic7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlldyA9IHRydW5jYXRlVGV4dChtZXNzYWdlLm1lc3NhZ2VzPy5bMF0gfHwgJycpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIHJldHVybiBgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lc3NhZ2UtaXRlbSIgb25jbGljaz0id2luZG93Lm1lc3NhZ2VIYW5kbGVyLnNob3dNZXNzYWdlKCcke21lc3NhZ2UudHhpZH0nKSIgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IHN0YXJ0OyBwYWRkaW5nOiAwLjc1cmVtOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZmxleDogMTsgbWluLXdpZHRoOiAwOyBtYXJnaW4tcmlnaHQ6IDFyZW07Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXdlaWdodDogNTAwOyBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c2VuZGVyfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4aWQiIHN0eWxlPSJmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDAuODc1cmVtOyBjb2xvcjogIzZiNzI4MDsgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke21lc3NhZ2UudHhpZH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJjb2xvcjogIzZiNzI4MDsgZm9udC1zaXplOiAwLjg3NXJlbTsgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6ICMzNzQxNTE7IGZvbnQtc2l6ZTogMC44NzVyZW07Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmV2aWV3fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXNzYWdlLWFjdGlvbnMiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBnYXA6IDAuNXJlbTsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbW92ZU1lbnUgPSB0aGlzLm5leHRFbGVtZW50U2libGluZzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVNZW51LnN0eWxlLmRpc3BsYXkgPSBtb3ZlTWVudS5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScgPyAnYmxvY2snIDogJ25vbmUnOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOyBmb250LXNpemU6IDAuODc1cmVtOyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPCfk4EgTW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtbWVudSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogMTAwJTsgei1pbmRleDogNTA7IGJhY2tncm91bmQ6IHdoaXRlOyBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViOyBib3JkZXItcmFkaXVzOiA0cHg7IGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMSk7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1tZW51LWl0ZW0iIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB3aW5kb3cubWVzc2FnZUhhbmRsZXIubW92ZU1lc3NhZ2UoJyR7bWVzc2FnZS50eGlkfScsICdqdW5rJyk7IiBzdHlsZT0icGFkZGluZzogOHB4IDE2cHg7IGN1cnNvcjogcG9pbnRlcjsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHt3aW5kb3cuY29yZUdsb2JhbHMucmVuZGVyRW1vamkoZm9sZGVycy5qdW5rLmljb24pfSBNb3ZlIHRvIEp1bmsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtbWVudS1pdGVtIiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgd2luZG93Lm1lc3NhZ2VIYW5kbGVyLm1vdmVNZXNzYWdlKCcke21lc3NhZ2UudHhpZH0nLCAnZmF2b3JpdGVzJyk7IiBzdHlsZT0icGFkZGluZzogOHB4IDE2cHg7IGN1cnNvcjogcG9pbnRlcjsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHt3aW5kb3cuY29yZUdsb2JhbHMucmVuZGVyRW1vamkoZm9sZGVycy5mYXZvcml0ZXMuaWNvbil9IE1vdmUgdG8gRmF2b3JpdGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBkZWxldGVNZXNzYWdlKCcke21lc3NhZ2UudHhpZH0nLCAnJHtmb2xkZXJLZXl9JykiIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYnRuIGJ0bi1kYW5nZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTsgZm9udC1zaXplOiAwLjg3NXJlbTsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWxldGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBgOwogICAgICAgICAgICAgICAgfSkuam9pbignJyk7CgogICAgICAgIG1lc3NhZ2VMaXN0LmlubmVySFRNTCA9IGAKICAgICAgICAgICAgJHtoZWFkZXJIVE1MfQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXNzYWdlLWNvbnRlbnQtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICR7bWVzc2FnZUl0ZW1zSFRNTH0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgYDsKCiAgICAgICAgLy8gQWRkIGdsb2JhbCBjbGljayBoYW5kbGVyIHRvIGNsb3NlIG1vdmUgbWVudXMgd2hlbiBjbGlja2luZyBvdXRzaWRlCiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXZlbnQpID0+IHsKICAgICAgICAgICAgaWYgKCFldmVudC50YXJnZXQuY2xvc2VzdCgnLm1vdmUtYnV0dG9uLWNvbnRhaW5lcicpKSB7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubW92ZS1tZW51JykuZm9yRWFjaChtZW51ID0+IHsKICAgICAgICAgICAgICAgICAgICBtZW51LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfTsKCiAgICAvLyBHbG9iYWw6IFN3aXRjaCBmb2xkZXIgdmlldwogICAgd2luZG93LnNob3dGb2xkZXIgPSAoZm9sZGVyS2V5KSA9PiB7CiAgICAgIHdpbmRvdy5nbG9iYWxTdGF0ZS5jdXJyZW50Rm9sZGVyID0gZm9sZGVyS2V5OwogICAgICB3aW5kb3cuc2V0dXBGb2xkZXIoZm9sZGVyS2V5KTsKICAgIH07CgogICAgLy8gR2xvYmFsOiBTaG93IGNvbnRhY3RzIChpZiBDb250YWN0c01hbmFnZXIgaXMgZGVmaW5lZCkKICAgIHdpbmRvdy5zaG93Q29udGFjdHMgPSAoKSA9PiB7CiAgICAgIGlmICh3aW5kb3cuY29udGFjdHNNYW5hZ2VyICYmIHR5cGVvZiB3aW5kb3cuY29udGFjdHNNYW5hZ2VyLnNob3dDb250YWN0cyA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgIHdpbmRvdy5jb250YWN0c01hbmFnZXIuc2hvd0NvbnRhY3RzKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc29sZS53YXJuKCdDb250YWN0c01hbmFnZXIgaXMgbm90IGF2YWlsYWJsZS4nKTsKICAgICAgfQogICAgfTsKICB9CgogIGluaXRpYWxpemUoKSB7CiAgICB0aGlzLmluamVjdEdsb2JhbHMoKTsKICAgIHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpOwogICAgY29uc29sZS5sb2coJ0NvcmUgZ2xvYmFscyBpbml0aWFsaXplZCBzdWNjZXNzZnVsbHknKTsKICB9CgogIHNldHVwRXZlbnRMaXN0ZW5lcnMoKSB7CiAgICAvLyBMaXN0ZW4gZm9yIGxvY2FsU3RvcmFnZSBjaGFuZ2VzIGZyb20gb3RoZXIgdGFicwogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3N0b3JhZ2UnLCAoZSkgPT4gewogICAgICBpZiAoZS5rZXkgPT09ICdtZXNzYWdlSW5ib3gnIHx8IGUua2V5ID09PSAnc2VudE1lc3NhZ2VzJykgewogICAgICAgIGlmICh3aW5kb3cuZ2xvYmFsU3RhdGUuY3VycmVudEZvbGRlciA9PT0gZS5rZXkpIHsKICAgICAgICAgIHdpbmRvdy5zZXR1cEZvbGRlcih3aW5kb3cuZ2xvYmFsU3RhdGUuY3VycmVudEZvbGRlcik7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9Cn0KCi8vIEluc3RhbnRpYXRlIGFuZCBpbml0aWFsaXplIENvcmVHbG9iYWxzCndpbmRvdy5jb3JlR2xvYmFscyA9IG5ldyBDb3JlR2xvYmFscygpOwp3aW5kb3cuY29yZUdsb2JhbHMuaW5pdGlhbGl6ZSgpOwo="}]}
    https://whatsonchain.com/tx/90c3e9f41c8b8fb840d9bac8a875226b6ee2b7b00c838ebc0cb7f8a3c04e793c