Why Nostr? What is Njump?
2024-01-23 21:50:48

npub1eu…ms6ns on Nostr: video200 ...

video200
data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHRpdGxlPnZpZGVvMjAwPC90aXRsZT4KICAgIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBtYXJnaW46IDFlbTsKICAgICAgZm9udC1mYW1pbHk6IE5vdG8gU2FuczsKICAgIH0KICAgIGgxIHsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgZm9udC1zaXplOiAxLjVlbTsKICAgIH0KICAgICNkZXNjcmlwdGlvbiB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgY29sb3I6ICM2NjY7CiAgICAgIGxlZnQ6IDE0ZW07CiAgICAgIHJpZ2h0OiAxNGVtOwogICAgICBsaW5lLWhlaWdodDogMS41ZW07CiAgICAgIG1hcmdpbi10b3A6IC4xNGVtOwogICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgbWF4LWhlaWdodDogNmVtOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQogICAgLyojZGVzY3JpcHRpb24gc3BhbiB7CiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICB9Ki8KICAgICNsb2cgewogICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBib3R0b206IDFlbTsKICAgICAgdG9wOiAxMWVtOwogICAgICBib3JkZXI6IC4zZW0gc29saWQgIzY2NjsKICAgICAgYm9yZGVyLXJhZGl1czogLjNlbTsKICAgICAgcmlnaHQ6IDFlbTsKICAgICAgbGVmdDogMWVtOwogICAgICBwYWRkaW5nOiAuNWVtOwogICAgICBiYWNrZ3JvdW5kOiAjZWVlOwogICAgfQogICAgI3Byb2dyZXNzIHsKICAgICAgYmFja2dyb3VuZDogI2RkZDsKICAgICAgYm9yZGVyLXJhZGl1czogLjNlbTsKICAgIH0KICAgICNwcm9ncmVzc2JhciB7CiAgICAgIGhlaWdodDogMS4zZW07CiAgICAgIGJhY2tncm91bmQ6IGJsdWU7CiAgICAgIHdpZHRoOiAwJTsKICAgICAgYm9yZGVyLXJhZGl1czogLjRlbTsKICAgIH0KICAgICNsb2cgPiBhIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgIH0KICAgIHAgewogICAgICBtYXJnaW4tdG9wOiAwOwogICAgfQogICAgI2xvZyBwIHsKICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKICAgICAgbWF4LWhlaWdodDogN2VtOwogICAgfQogICAgdmlkZW8gewogICAgICBkaXNwbGF5OiBub25lOwogICAgICB6LWluZGV4OiAxOwogICAgfQogICAgI2NhbnZhcywKICAgIHZpZGVvIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDFlbTsKICAgICAgcmlnaHQ6IDFlbTsKICAgICAgd2lkdGg6IDEwZW07CiAgICAgIGhlaWdodDogNmVtOwogICAgfQogICAgLmNvZGUgewogICAgICBiYWNrZ3JvdW5kOiAjYmJiOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgIH0KICAgIDwvc3R5bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj5jcmVhdGUgb25lIHNlY29uZCB2aWRlbyBjbGlwcyBpbiBicm93c2VyPC9wPgogICAgPGgxPnZpZGVvMjAwPC9oMT4KICAgIDxmb3JtIGlkPSJmb3JtIj4KICAgICAgPHA+CiAgICAgICAgPGlucHV0IGlkPSJmaWxlIiB0eXBlPSJmaWxlIi8+CiAgICAgIDwvcD4KICAgICAgPHA+CiAgICAgICAgPGlucHV0IGlkPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9ImVuY29kZSIgZGlzYWJsZWQ9IjEiIC8+CiAgICAgICAgPGJ1dHRvbiBpZD0icHVibGlzaCIgZGlzYWJsZWQ9IjEiPnB1Ymxpc2g8L2J1dHRvbj4KICAgICAgPC9wPgogICAgPC9mb3JtPgogICAgPHZpZGVvIGlkPSJ2aWRlbyI+PC92aWRlbz4KICAgIDx2aWRlbyBpZD0idmlkZW8yIiBjb250cm9scyBsb29wPSIxIj48L3ZpZGVvPgogICAgPGNhbnZhcyBpZD0iY2FudmFzIj48L2NhbnZhcz4KICAgIDxkaXYgaWQ9InByb2dyZXNzIj4KICAgICAgPGRpdiBpZD0icHJvZ3Jlc3NiYXIiPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJsb2ciPgogICAgICA8cD4KICAgICAgICA8c3Ryb25nIGlkPSJtb2RlX3RleHQiPjwvc3Ryb25nPiBtb2RlIHwKICAgICAgICA8YSBpZD0idG9nZ2xlX21vZGUiIGhyZWY9IiMiPnRvZ2dsZTwvYT4KICAgICAgPC9wPgogICAgPGRpdj4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9iZWNoMzItYnVmZmVyQDAuMi4xL2Rpc3QvYmVjaDMyLWJ1ZmZlci5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL25vc3RyLXRvb2xzQDIuMS40L2xpYi9ub3N0ci5idW5kbGUuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCB0eXBlPSJtb2R1bGUiPgogICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpCiAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKQogICAgY29uc3QgbG9nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpCiAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2aWRlbyIpCiAgICB2aWRlby5jcm9zc09yaWdpbiA9ICJBbm9ueW1vdXMiCiAgICBjb25zdCB2aWRlbzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlkZW8yIikKICAgIGNvbnN0IHByb2dyZXNzYmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb2dyZXNzYmFyIikKICAgIGNvbnN0IGZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybSIpCiAgICBsZXQgZmlsZXMgPSBudWxsCiAgICBsZXQgdmlkZW9fZGF0YV91cmkgPSBudWxsCiAgICBjb25zdCBtYXhfcHVibGlzaF9zaXplID0gMjYyMTQ0CiAgICBjb25zdCByZWxheSA9ICJ3c3M6Ly9ub3N0ci5zZWxmLWRldGVybWluZWQuZGUiCiAgICBsZXQgaW5zZWN1cmUgPSBudWxsCgogICAgY29uc3QgZnJhbWVfZHVyYXRpb24gPSAxLzMwCiAgICBjb25zdCBleHRyYWN0X2ZyYW1lX2NvdW50ID0gMzAKICAgIGxldCB0aW1lID0gbnVsbAoKICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IGZldGNoKAogICAgICAiaHR0cHM6Ly91bnBrZy5jb20vd2VibS13YXNtQDAuNC4xL2Rpc3Qvd2VibS13b3JrZXIuanMiCiAgICApLnRoZW4ociA9PiByLmFycmF5QnVmZmVyKCkpCgogICAgbGV0IHdvcmtlciA9IG51bGwKICAgIGxldCBlbmNvZGVkX2RhdGEgPSBudWxsCiAgICBsZXQgc3RhcnRfdGltZSA9IG51bGwKICAgIGxldCByZWFkeSA9IGZhbHNlCgogICAgbGV0IHZpZGVvX2V2dCA9IG51bGwKICAgIGxldCBub3RlX2V2dCA9IG51bGwKCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybSIpLnJlc2V0KCkKCiAgICBvbmhhc2hjaGFuZ2UgPSBmdW5jdGlvbigpewogICAgICB1cGRhdGVfbW9kZSgpCiAgICB9CgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUiKS5vbmNoYW5nZSA9IGZ1bmN0aW9uKCl7CiAgICAgIGZvcm0ucXVlcnlTZWxlY3RvckFsbCgiaW5wdXQiKS5mb3JFYWNoKGVsID0+IGVsLmRpc2FibGVkID0gZmFsc2UpCiAgICB9CgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInB1Ymxpc2giKS5vbmNsaWNrID0gZnVuY3Rpb24oZSl7CiAgICAgIGUucHJldmVudERlZmF1bHQoKQogICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZQogICAgICBwdWJsaXNoKCkKICAgIH0KCiAgICBmdW5jdGlvbiBmcm9tX2hleF9zdHJpbmcoc3RyKXsKICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHN0ci5sZW5ndGggLyAyKS5tYXAoKHYsIGkpID0+IHBhcnNlSW50KHN0ci5zdWJzdHIoMiAqIGksIDIpLCAxNikpCiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlX3ZpZGVvX2V2dCh2aWRlb19kYXRhX3VyaSwgc2spewogICAgICByZXR1cm4gTm9zdHJUb29scy5maW5hbGl6ZUV2ZW50KHsKICAgICAgICBraW5kOiAxMDYzLAogICAgICAgIGNyZWF0ZWRfYXQ6IHBhcnNlSW50KG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCwgMTApLAogICAgICAgIGNvbnRlbnQ6ICJ2aWRlbyIsCiAgICAgICAgdGFnczogWwogICAgICAgICAgWyJ1cmwiLCB2aWRlb19kYXRhX3VyaV0KICAgICAgICBdCiAgICAgIH0sIHNrKQogICAgfQoKICAgIGZ1bmN0aW9uIGNyZWF0ZV9ub3RlX2V2dCh2aWRlb19ldnRfaWQsIHNrKXsKICAgICAgY29uc3QgdmlkZW9fbm90ZV9pZCA9IGJlY2gzMi5lbmNvZGUoIm5vdGUiLCBmcm9tX2hleF9zdHJpbmcodmlkZW9fZXZ0X2lkKSkKCiAgICAgIHJldHVybiBOb3N0clRvb2xzLmZpbmFsaXplRXZlbnQoewogICAgICAgIGtpbmQ6IDEsCiAgICAgICAgY3JlYXRlZF9hdDogcGFyc2VJbnQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwLCAxMCksCiAgICAgICAgY29udGVudDogInZpZGVvXG5ub3N0cjoiICsgdmlkZW9fbm90ZV9pZCwKICAgICAgICB0YWdzOiBbXQogICAgICB9LCBzaykKICAgIH0KCiAgICBmdW5jdGlvbiBwdWJsaXNoKCl7CiAgICAgIGluZm8oInB1Ymxpc2gga2luZCAxMDYzIGV2ZW50IHRvICIgKyByZWxheSkKCiAgICAgIGxldCBzb2NrZXQgPSBuZXcgV2ViU29ja2V0KHJlbGF5KQoKICAgICAgc29ja2V0Lm9ub3BlbiA9IGFzeW5jIGZ1bmN0aW9uKCl7CiAgICAgICAgdGhpcy5zZW5kKEpTT04uc3RyaW5naWZ5KFsiRVZFTlQiLCB2aWRlb19ldnRdKSkKICAgICAgfQoKICAgICAgc29ja2V0Lm9ubWVzc2FnZSA9IGFzeW5jIGZ1bmN0aW9uKGUpewogICAgICAgIGNvbnN0IHJlcyA9IEpTT04ucGFyc2UoZS5kYXRhKQoKICAgICAgICBpZihyZXNbMF0gPT0gIk9LIil7CiAgICAgICAgICBpZihyZXNbMV0gPT0gdmlkZW9fZXZ0LmlkKXsKICAgICAgICAgICAgaW5mbygicHVibGlzaCBraW5kIDEgbm90ZSIpCiAgICAgICAgICAgIHRoaXMuc2VuZChKU09OLnN0cmluZ2lmeShbIkVWRU5UIiwgbm90ZV9ldnRdKSkKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgaWYocmVzWzFdID09IG5vdGVfZXZ0LmlkKXsKICAgICAgICAgICAgY29uc3Qgbm90ZV9pZCA9IGJlY2gzMi5lbmNvZGUoIm5vdGUiLCBmcm9tX2hleF9zdHJpbmcobm90ZV9ldnQuaWQpKQogICAgICAgICAgICBpbmZvKG1ha2VfbGluaygiaHR0cHM6Ly9jb3JhY2xlLnNvY2lhbC8iICsgbm90ZV9pZCkpCiAgICAgICAgICAgIHNvY2tldC5jbG9zZSgpCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYocmVzWzBdID09ICJOT1RJQ0UiKXsKICAgICAgICAgIGluZm8ocmVzWzFdKQogICAgICAgICAgc29ja2V0LmNsb3NlKCkKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHNvY2tldC5vbmVycm9yID0gZnVuY3Rpb24oZSl7CiAgICAgICAgY29uc29sZS5sb2coInNvY2tldCBlcnJvciIsIGUudXJsLCBlLm1lc3NhZ2UpCiAgICAgIH0KICAgIH0KCiAgICBmb3JtLm9uc3VibWl0ID0gZnVuY3Rpb24oZSl7CiAgICAgIGUucHJldmVudERlZmF1bHQoKQogICAgICB2aWRlbzIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgdmlkZW8yLnBhdXNlKCkKICAgICAgcHJvZ3Jlc3NiYXIuc3R5bGUud2lkdGggPSAiMC41JSIKICAgICAgZm9ybS5xdWVyeVNlbGVjdG9yQWxsKCJpbnB1dCIpLmZvckVhY2goZWwgPT4gZWwuZGlzYWJsZWQgPSB0cnVlKQogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VibWl0IikudmFsdWUgPSAiZW5jb2RpbmciCiAgICAgIGZpbGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUiKS5maWxlcwogICAgICBzdGFydCgpCiAgICB9CgogICAgZnVuY3Rpb24gYmxvYlRvRGF0YVVSTChibG9iLCBjYWxsYmFjaykgewogICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CiAgICAgICAgdmFyIGEgPSBuZXcgRmlsZVJlYWRlcigpCiAgICAgICAgYS5vbmxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICByZXNvbHZlKGUudGFyZ2V0LnJlc3VsdCkKICAgICAgICB9CiAgICAgICAgYS5yZWFkQXNEYXRhVVJMKGJsb2IpCiAgICAgIH0pCiAgICB9CgogICAgZnVuY3Rpb24gaW5mbyhkYXRhKXsKICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikKCiAgICAgIGlmKHR5cGVvZiBkYXRhID09ICJzdHJpbmciKXsKICAgICAgICBlbC5pbm5lclRleHQgPSBkYXRhCiAgICAgIH1lbHNlewogICAgICAgIGVsLmFwcGVuZChkYXRhKQogICAgICB9CgogICAgICBsb2cuYXBwZW5kKGVsKQogICAgICBsb2cuc2Nyb2xsVG8oMCwgMWU2KQogICAgfQoKICAgIGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NfdmlkZW8oKXsKICAgICAgbGV0IGZyYW1lX2NvdW50ID0gMAoKICAgICAgdmlkZW8ub25zZWVrZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgZnJhbWVfY291bnQrKwogICAgICAgIGluZm8oImV4dHJhY3QgZnJhbWUgIiArIGZyYW1lX2NvdW50ICsgIiAvICIgKyBleHRyYWN0X2ZyYW1lX2NvdW50KQoKICAgICAgICBjdHguZHJhd0ltYWdlKHZpZGVvLCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOwogICAgICAgIGNvbnN0IGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KQoKICAgICAgICBpZihmcmFtZV9jb3VudCA8IGV4dHJhY3RfZnJhbWVfY291bnQpewogICAgICAgICAgdGltZSArPSBmcmFtZV9kdXJhdGlvbgogICAgICAgICAgdGhpcy5jdXJyZW50VGltZSA9IE1hdGgubWluKE1hdGgubWF4KDAsICh0aW1lIDwgMCA/IHRoaXMuZHVyYXRpb24gOiAwKSArIHRpbWUpLCB0aGlzLmR1cmF0aW9uKQogICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKGltYWdlRGF0YS5kYXRhLmJ1ZmZlciwgW2ltYWdlRGF0YS5kYXRhLmJ1ZmZlcl0pCiAgICAgICAgfWVsc2V7CiAgICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UobnVsbCkKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0b3RhbF90aW1lKHN0YXJ0KXsKICAgICAgcmV0dXJuIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHN0YXJ0KSAvIDEwMDAKICAgIH0KCiAgICBmdW5jdGlvbiBjcmVhdGVCdWZmZXJVUkwoYnVmZmVyLCB0eXBlID0gJycpIHsKICAgICAgcmV0dXJuIFVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW2J1ZmZlcl0sIHt0eXBlfSkpOwogICAgfQoKICAgIGZ1bmN0aW9uIG1ha2VfbGluayh0ZXh0LCBocmVmKXsKICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKQogICAgICBsaW5rLmlubmVyVGV4dCA9IHRleHQKICAgICAgbGluay5ocmVmID0gaHJlZiB8fCB0ZXh0CiAgICAgIHJldHVybiBsaW5rCiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gc2hvd19kYXRhX3VyaShibG9iKXsKICAgICAgbGV0IGJsb2JfdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKQogICAgICB2aWRlb19kYXRhX3VyaSA9IGF3YWl0IGJsb2JUb0RhdGFVUkwoYmxvYikKICAgICAgLy9pbmZvKHZpZGVvX2RhdGFfdXJpKQoKICAgICAgaW5mbygiZW5jb2RpbmcgZmluaXNoZWQgKHNpemU6ICIgKyAocGFyc2VJbnQoYmxvYi5zaXplIC8gMTAwLCAxMCkgLyAxMCkgKyAiIGtCLCBiYXNlNjQgc2l6ZTogIiArIHZpZGVvX2RhdGFfdXJpLmxlbmd0aCArICIgQiwgZHVyYXRpb246ICIgKyAocGFyc2VJbnQodG90YWxfdGltZShzdGFydF90aW1lKSAqIDEwLCAxMCkgLyAxMCkgKwogICAgICAgICAgICAiIHMsIHNwZWVkOiAiICsgKHBhcnNlSW50KHRvdGFsX3RpbWUoc3RhcnRfdGltZSkgLyBleHRyYWN0X2ZyYW1lX2NvdW50ICogMTAsIDEwKSAvIDEwKSAgKyIgcyAvIGZyYW1lKSIpCgogICAgICBpbmZvKG1ha2VfbGluayhibG9iX3VybCkpCgogICAgICBpZih2aWRlb19kYXRhX3VyaS5sZW5ndGggPiBtYXhfcHVibGlzaF9zaXplKXsKICAgICAgICBpbmZvKCJldmVudCBpcyB0b28gYmlnIHRvIHB1Ymxpc2giKQogICAgICAgIGluZm8oIm1heCBzaXplOiAiICsgbWF4X3B1Ymxpc2hfc2l6ZSArICIgQiIpCiAgICAgIH1lbHNlewogICAgICAgIGNvbnN0IHNrID0gTm9zdHJUb29scy5nZW5lcmF0ZVNlY3JldEtleSgpCiAgICAgICAgdmlkZW9fZXZ0ID0gY3JlYXRlX3ZpZGVvX2V2dCh2aWRlb19kYXRhX3VyaSwgc2spCiAgICAgICAgbm90ZV9ldnQgPSBjcmVhdGVfbm90ZV9ldnQodmlkZW9fZXZ0LmlkLCBzaykKICAgICAgICBjb25zdCBldmVudHMgPSBbdmlkZW9fZXZ0LCBub3RlX2V2dF0KCiAgICAgICAgY29uc3QgdmlkZW9fZXZ0X2Jsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkoZXZlbnRzKV0sIHsKICAgICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICB9KQoKICAgICAgICBsZXQgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKQogICAgICAgIHNwYW4uaW5uZXJUZXh0ID0gInlvdSBjYW4gcHVibGlzaCB0aGlzIGZpbGUgdXNpbmcgdG9yIGFuZCBub3N0ci10b29sLiBmaXJzdCBkb3dubG9hZCAiCiAgICAgICAgY29uc3QgbGluayA9IG1ha2VfbGluaygiZXZlbnRzLmpzb24iLCBVUkwuY3JlYXRlT2JqZWN0VVJMKHZpZGVvX2V2dF9ibG9iKSkKICAgICAgICBsaW5rLmRvd25sb2FkID0gImV2ZW50cy5qc29uIgogICAgICAgIHNwYW4uYXBwZW5kKGxpbmspCiAgICAgICAgaW5mbyhzcGFuKQoKICAgICAgICBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpCiAgICAgICAgc3Bhbi5pbm5lckhUTUwgPSAncHVibGlzaCBmcm9tIGNvbW1hbmQgbGluZTogPHNwYW4gY2xhc3M9ImNvZGUiPnRvcnNvY2tzIG5vc3RyLXRvb2wgLXIgJyArIHJlbGF5ICsgJyBicm9hZGNhc3QtZXZlbnRzIC0tZmlsZS1wYXRoIGV2ZW50cy5qc29uPC9zcGFuPicKICAgICAgICBpbmZvKHNwYW4pCiAgICAgICAgaW5mbygiZXZlbnQgaWQ6ICIgKyBiZWNoMzIuZW5jb2RlKCJub3RlIiwgZnJvbV9oZXhfc3RyaW5nKG5vdGVfZXZ0LmlkKSkpCgogICAgICAgIGlmKGluc2VjdXJlKXsKICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwdWJsaXNoIikuZGlzYWJsZWQgPSBmYWxzZQogICAgICAgIH0KICAgICAgfQoKICAgICAgdmlkZW8yLnNyYyA9IGJsb2JfdXJsCiAgICAgIHZpZGVvMi5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKICAgICAgdmlkZW8yLnBsYXkoKQoKICAgICAgcHJvZ3Jlc3NiYXIuc3R5bGUud2lkdGggPSAiMTAwJSIKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0iKS5yZXNldCgpCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdWJtaXQiKS52YWx1ZSA9ICJlbmNvZGUiCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlIikuZGlzYWJsZWQgPSBmYWxzZQogICAgfQoKICAgIGZ1bmN0aW9uIHdvcmtlcl9tZXNzYWdlKGUpewogICAgICBpZighZS5kYXRhKSB7CiAgICAgICAgcmV0dXJuCiAgICAgIH0KCiAgICAgIGlmKGUuZGF0YSAhPSBudWxsICYmIHR5cGVvZiBlLmRhdGEgPT0gIm9iamVjdCIgJiYgZS5kYXRhLmJ5dGVMZW5ndGggPiAwKXsKICAgICAgICBlbmNvZGVkX2RhdGEucHVzaChlLmRhdGEpCiAgICAgICAgaW5mbygiZW5jb2RlICIgKyBlbmNvZGVkX2RhdGEubGVuZ3RoICsgIiAvICIgKyBleHRyYWN0X2ZyYW1lX2NvdW50KQogICAgICAgIHByb2dyZXNzYmFyLnN0eWxlLndpZHRoID0gcGFyc2VJbnQoKGVuY29kZWRfZGF0YS5sZW5ndGggLyBleHRyYWN0X2ZyYW1lX2NvdW50KSAqIDEwMCwgMTApICsgIiUiCiAgICAgIH0KCiAgICAgIGlmKGUuZGF0YSA9PSAiUkVBRFkiKXsKICAgICAgICBpbmZvKCJyZWFkeSIsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCkKCiAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsKICAgICAgICAgIHdpZHRoOiBjYW52YXMud2lkdGgsCiAgICAgICAgICBoZWlnaHQ6IGNhbnZhcy5oZWlnaHQsCiAgICAgICAgICByZWFsdGltZTogdHJ1ZSwKICAgICAgICAgIGJpdHJhdGU6IDE1MAogICAgICAgIH0pCgogICAgICAgIHJlYWR5ID0gdHJ1ZQogICAgICAgIHByb2Nlc3NfdmlkZW8oKQogICAgICB9CiAgICAgIGVsc2UgaWYocmVhZHkpewogICAgICAgIGlmKGUuZGF0YS5ieXRlTGVuZ3RoID09IDApewogICAgICAgICAgd29ya2VyLnRlcm1pbmF0ZSgpCiAgICAgICAgICByZWFkeSA9IGZhbHNlCiAgICAgICAgICBsZXQgYmxvYiA9IG5ldyBCbG9iKGVuY29kZWRfZGF0YSwgeyB0eXBlOiAndmlkZW8vd2VibScgfSkKICAgICAgICAgIHNob3dfZGF0YV91cmkoYmxvYikKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBsb2FkX3ZpZGVvKCl7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgICB2aWRlby5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGVzWzBdKQoKICAgICAgICB2aWRlby5vbmxvYWRlZG1ldGFkYXRhID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBjYW52YXMud2lkdGggPSAxMDI0CiAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gdmlkZW8udmlkZW9IZWlnaHQgLyB2aWRlby52aWRlb1dpZHRoICogY2FudmFzLndpZHRoCiAgICAgICAgICB0aGlzLmN1cnJlbnRUaW1lID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgKHRpbWUgPCAwID8gdGhpcy5kdXJhdGlvbiA6IDApICsgdGltZSksIHRoaXMuZHVyYXRpb24pCiAgICAgICAgICByZXNvbHZlKCkKICAgICAgICB9CiAgICAgIH0pCiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoKXsKICAgICAgd29ya2VyID0gbmV3IFdvcmtlcigKICAgICAgICBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6ICJ0ZXh0L2phdmFzY3JpcHQiIH0pKQogICAgICApCgogICAgICB3b3JrZXIub25tZXNzYWdlID0gd29ya2VyX21lc3NhZ2UKICAgICAgZW5jb2RlZF9kYXRhID0gW10KICAgICAgbm90ZV9ldnQgPSBudWxsCiAgICAgIHN0YXJ0X3RpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKQogICAgICB0aW1lID0gMTUKICAgICAgYXdhaXQgbG9hZF92aWRlbygpCiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgiaHR0cHM6Ly91bnBrZy5jb20vd2VibS13YXNtQDAuNC4xL2Rpc3Qvd2VibS13YXNtLndhc20iKQogICAgfQoKICAgIGZ1bmN0aW9uIHVwZGF0ZV9tb2RlKCl7CiAgICAgIGluc2VjdXJlID0gKGxvY2F0aW9uLmhhc2ggPT09ICIjaW5zZWN1cmUiKQogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kZV90ZXh0IikuaW5uZXJUZXh0ID0gKGluc2VjdXJlICYmICJpbnNlY3VyZSIgfHwgIm9mZmxpbmUiKQoKICAgICAgaWYobm90ZV9ldnQpewogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwdWJsaXNoIikuZGlzYWJsZWQgPSAhaW5zZWN1cmUKICAgICAgfQogICAgfQoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2dnbGVfbW9kZSIpLm9uY2xpY2sgPSBmdW5jdGlvbihlKXsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpCiAgICAgIGxvY2F0aW9uLmhhc2ggPSBpbnNlY3VyZSAmJiAiIyIgfHwgImluc2VjdXJlIgogICAgICB1cGRhdGVfbW9kZSgpCiAgICB9CgogICAgdXBkYXRlX21vZGUoKQogICAgPC9zY3JpcHQ+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
Author Public Key
npub1eu502ceyh3vhd3ejy96yywuaev6hjsy0fn6n35zmlzdwnst75zfshms6ns