jM4{"name":"EncodedFiles","files":[{"name":"classmessagehandlerA7.html","size":9900,"type":"text/html","content":"Y2xhc3MgTWVzc2FnZUhhbmRsZXIgewogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy5mZXRjaGVyID0gbmV3IEJsb2NrY2hhaW5GZXRjaGVyKCk7CiAgICAgICAgdGhpcy5pbml0aWFsaXplU3R5bGVzKCk7CiAgICB9CgogICAgaW5pdGlhbGl6ZVN0eWxlcygpIHsKICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgICAgc3R5bGUudGV4dENvbnRlbnQgPSBgCiAgICAgICAgICAgIC5tZXNzYWdlLXZpZXcgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07CiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5tZXNzYWdlLWhlYWRlciB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtOwogICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7CiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5tZXNzYWdlLWluZm8gewogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgICAgICAgICBjb2xvcjogIzZiNzI4MDsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLm1lc3NhZ2UtY29udGVudCB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtOwogICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y5ZmFmYjsKICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICAgICAgfQogICAgICAgICAgICAuY29udGVudC1jb250YWluZXIgaW1nLAogICAgICAgICAgICAuY29udGVudC1jb250YWluZXIgdmlkZW8sCiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciBhdWRpbyB7CiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHByZSB7CiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5pZnJhbWUtY29udGFpbmVyIHsKICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICAgICAgaGVpZ2h0OiA1MDBweDsKICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgfQogICAgICAgIGA7CiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CiAgICB9CgogICAgYXN5bmMgc2hvd01lc3NhZ2UodHhpZCkgewogICAgICAgIGNvbnN0IG1lc3NhZ2VMaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lc3NhZ2VMaXN0Jyk7CiAgICAgICAgaWYgKCFtZXNzYWdlTGlzdCkgcmV0dXJuOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBtZXNzYWdlTGlzdC5pbm5lckhUTUwgPSBgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLWluZGljYXRvciI+TG9hZGluZyBtZXNzYWdlICR7dHhpZH0uLi48L2Rpdj4KICAgICAgICAgICAgYDsKCiAgICAgICAgICAgIGNvbnN0IHJhd0RhdGEgPSBhd2FpdCB0aGlzLmZldGNoZXIuZmV0Y2hUcmFuc2FjdGlvbih0eGlkKTsKICAgICAgICAgICAgdGhpcy5zaG93Q29udGVudChyYXdEYXRhLCB0eGlkKTsKICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzaG93aW5nIG1lc3NhZ2U6JywgZXJyb3IpOwogICAgICAgICAgICBtZXNzYWdlTGlzdC5pbm5lckhUTUwgPSBgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICBFcnJvciBsb2FkaW5nIG1lc3NhZ2U6ICR7ZXJyb3IubWVzc2FnZX0KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9IndpbmRvdy5zZXR1cEZvbGRlcignaW5ib3gnKSIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEJhY2sgdG8gSW5ib3gKICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOwogICAgICAgIH0KICAgIH0KCiAgICBjcmVhdGVNYWlsdG9MaW5rKHR4aWQsIGNvbnRlbnQsIHR5cGUpIHsKICAgIGNvbnN0IHN1YmplY3QgPSBgQlNWIE1lc3NhZ2U6ICR7dHhpZH1gOwogICAgbGV0IGJvZHk7CgogICAgLy8gRm9ybWF0IGJvZHkgYmFzZWQgb24gY29udGVudCB0eXBlCiAgICBpZiAodHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSB8fCB0eXBlLnN0YXJ0c1dpdGgoJ3ZpZGVvLycpIHx8IHR5cGUuc3RhcnRzV2l0aCgnYXVkaW8vJykpIHsKICAgICAgICBib2R5ID0gYEJsb2NrY2hhaW4gVHJhbnNhY3Rpb24gSUQ6ICR7dHhpZH1cblxuYCArCiAgICAgICAgICAgICAgYFRoaXMgbWVzc2FnZSBjb250YWlucyAke3R5cGV9IGNvbnRlbnQgd2hpY2ggY2FuIGJlIHZpZXdlZCBhdDpcbmAgKwogICAgICAgICAgICAgIGBodHRwczovL3doYXRzb25jaGFpbi5jb20vdHgvJHt0eGlkfWA7CiAgICB9IGVsc2UgewogICAgICAgIGJvZHkgPSBgQmxvY2tjaGFpbiBUcmFuc2FjdGlvbiBJRDogJHt0eGlkfVxuXG5gICsKICAgICAgICAgICAgICBgTWVzc2FnZSBDb250ZW50OlxuJHtjb250ZW50fVxuXG5gICsKICAgICAgICAgICAgICBgVmlldyBvbiBibG9ja2NoYWluOlxuaHR0cHM6Ly93aGF0c29uY2hhaW4uY29tL3R4LyR7dHhpZH1gOwogICAgfQoKICAgIHJldHVybiB7CiAgICAgICAgbWFpbHRvOiBgbWFpbHRvOj9zdWJqZWN0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHN1YmplY3QpfSZib2R5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGJvZHkpfWAsCiAgICAgICAgZ21haWw6IGBodHRwczovL21haWwuZ29vZ2xlLmNvbS9tYWlsLz92aWV3PWNtJmZzPTEmdG89JnN1PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHN1YmplY3QpfSZib2R5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGJvZHkpfWAsCiAgICAgICAgb3V0bG9vazogYGh0dHBzOi8vb3V0bG9vay5saXZlLmNvbS9tYWlsLzAvZGVlcGxpbmsvY29tcG9zZT9zdWJqZWN0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHN1YmplY3QpfSZib2R5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGJvZHkpfWAsCiAgICAgICAgeWFob286IGBodHRwOi8vY29tcG9zZS5tYWlsLnlhaG9vLmNvbS8/c3ViamVjdD0ke2VuY29kZVVSSUNvbXBvbmVudChzdWJqZWN0KX0mYm9keT0ke2VuY29kZVVSSUNvbXBvbmVudChib2R5KX1gLAogICAgICAgIGNvbnRlbnQ6IGJvZHkgLy8gRm9yIGNvcHkgdG8gY2xpcGJvYXJkCiAgICB9Owp9CgoKc2hvd0NvbnRlbnQocmF3RGF0YSwgdHhpZCkgewogICAgICAgIGxldCBjb250ZW50OwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IGNoYWluRGlza0RhdGEgPSBKU09OLnBhcnNlKHJhd0RhdGEpOwogICAgICAgICAgICBpZiAoIWNoYWluRGlza0RhdGEuZmlsZXMgfHwgIWNoYWluRGlza0RhdGEuZmlsZXNbMF0pIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBDaGFpbkRpc2sgZm9ybWF0Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY29uc3QgZmlsZSA9IGNoYWluRGlza0RhdGEuZmlsZXNbMF07CiAgICAgICAgICAgIGNvbnRlbnQgPSB7CiAgICAgICAgICAgICAgICBkYXRhOiBhdG9iKGZpbGUuY29udGVudCksCiAgICAgICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUgfHwgJ3RleHQvcGxhaW4nLAogICAgICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lCiAgICAgICAgICAgIH07CiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgICAgICAgY29udGVudCA9IHsKICAgICAgICAgICAgICAgIGRhdGE6IHJhd0RhdGEsCiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dC9wbGFpbicsCiAgICAgICAgICAgICAgICBuYW1lOiAnbWVzc2FnZS50eHQnCiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIGNvbnN0IGVtYWlsTGlua3MgPSB0aGlzLmNyZWF0ZU1haWx0b0xpbmsodHhpZCwgY29udGVudC5kYXRhLCBjb250ZW50LnR5cGUpOwogICAgICAgIGNvbnN0IG1lc3NhZ2VMaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lc3NhZ2VMaXN0Jyk7CiAgICAgICAgbWVzc2FnZUxpc3QuaW5uZXJIVE1MID0gYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXNzYWdlLXZpZXciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZS1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJ3aW5kb3cuc2V0dXBGb2xkZXIoJ2luYm94JykiIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYWNrIHRvIEluYm94CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImRlbGV0ZU1lc3NhZ2UoJyR7dHhpZH0nKSIgY2xhc3M9ImJ0biBidG4tZGFuZ2VyIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNXJlbTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVsZXRlIE1lc3NhZ2UKICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogMC41cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0idGhpcy5uZXh0RWxlbWVudFNpYmxpbmcuY2xhc3NMaXN0LnRvZ2dsZSgnaGlkZGVuJykiIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTQgNGgxNmMxLjEgMCAyIC45IDIgMnYxMmMwIDEuMS0uOSAyLTIgMkg0Yy0xLjEgMC0yLS45LTItMlY2YzAtMS4xLjktMiAyLTJ6JyUzRSUzQy9wYXRoJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMiw2IDEyLDEzIDIsNiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFIiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDogMC4yNXJlbTsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tOyIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGFyZSDilrwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuIGFic29sdXRlIGJnLXdoaXRlIGJvcmRlciByb3VuZGVkIHNoYWRvdy1sZyBtdC0xIHB5LTEgcmlnaHQtMCIgc3R5bGU9InotaW5kZXg6IDEwMDsgbWluLXdpZHRoOiAyMDBweDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiR7ZW1haWxMaW5rcy5nbWFpbH0iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIGhvdmVyOmJnLWdyYXktMTAwIHRleHQtZ3JheS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcGVuIGluIEdtYWlsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiR7ZW1haWxMaW5rcy5vdXRsb29rfSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJibG9jayBweC00IHB5LTIgaG92ZXI6YmctZ3JheS0xMDAgdGV4dC1ncmF5LTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9wZW4gaW4gT3V0bG9vawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIke2VtYWlsTGlua3MueWFob299IiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImJsb2NrIHB4LTQgcHktMiBob3ZlcjpiZy1ncmF5LTEwMCB0ZXh0LWdyYXktNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3BlbiBpbiBZYWhvbyBNYWlsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiR7ZW1haWxMaW5rcy5tYWlsdG99IiBjbGFzcz0iYmxvY2sgcHgtNCBweS0yIGhvdmVyOmJnLWdyYXktMTAwIHRleHQtZ3JheS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcGVuIGluIERlZmF1bHQgTWFpbCBBcHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgnJHtlbWFpbExpbmtzLmNvbnRlbnQucmVwbGFjZSgvJy9nLCAiXFwnIil9JykudGhlbigoKSA9PiBhbGVydCgnTWVzc2FnZSBjb3BpZWQgdG8gY2xpcGJvYXJkIScpKSIgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYmxvY2sgdy1mdWxsIHRleHQtbGVmdCBweC00IHB5LTIgaG92ZXI6YmctZ3JheS0xMDAgdGV4dC1ncmF5LTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHkgdG8gQ2xpcGJvYXJkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZS1pbmZvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5GaWxlOiAke2NvbnRlbnQubmFtZX08L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5UeXBlOiAke2NvbnRlbnQudHlwZX08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZS1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5mb3JtYXRDb250ZW50KGNvbnRlbnQpfQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIGA7CiAgICB9CgogICAgZm9ybWF0Q29udGVudChjb250ZW50KSB7CiAgICAgICAgaWYgKGNvbnRlbnQudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkgewogICAgICAgICAgICBjb25zdCBiYXNlNjREYXRhID0gYnRvYShjb250ZW50LmRhdGEpOwogICAgICAgICAgICByZXR1cm4gYDxpbWcgc3JjPSJkYXRhOiR7Y29udGVudC50eXBlfTtiYXNlNjQsJHtiYXNlNjREYXRhfSIgYWx0PSJJbWFnZSIgLz5gOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvbnRlbnQudHlwZS5zdGFydHNXaXRoKCd2aWRlby8nKSkgewogICAgICAgICAgICBjb25zdCBiYXNlNjREYXRhID0gYnRvYShjb250ZW50LmRhdGEpOwogICAgICAgICAgICByZXR1cm4gYAogICAgICAgICAgICAgICAgPHZpZGVvIGNvbnRyb2xzPgogICAgICAgICAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJkYXRhOiR7Y29udGVudC50eXBlfTtiYXNlNjQsJHtiYXNlNjREYXRhfSIgdHlwZT0iJHtjb250ZW50LnR5cGV9Ij4KICAgICAgICAgICAgICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB2aWRlbyBwbGF5YmFjay4KICAgICAgICAgICAgICAgIDwvdmlkZW8+CiAgICAgICAgICAgIGA7CiAgICAgICAgfQoKICAgICAgICBpZiAoY29udGVudC50eXBlLnN0YXJ0c1dpdGgoJ2F1ZGlvLycpKSB7CiAgICAgICAgICAgIGNvbnN0IGJhc2U2NERhdGEgPSBidG9hKGNvbnRlbnQuZGF0YSk7CiAgICAgICAgICAgIHJldHVybiBgCiAgICAgICAgICAgICAgICA8YXVkaW8gY29udHJvbHM+CiAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzcmM9ImRhdGE6JHtjb250ZW50LnR5cGV9O2Jhc2U2NCwke2Jhc2U2NERhdGF9IiB0eXBlPSIke2NvbnRlbnQudHlwZX0iPgogICAgICAgICAgICAgICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGF1ZGlvIHBsYXliYWNrLgogICAgICAgICAgICAgICAgPC9hdWRpbz4KICAgICAgICAgICAgYDsKICAgICAgICB9CgogICAgICAgIGlmIChjb250ZW50LnR5cGUgPT09ICd0ZXh0L2h0bWwnKSB7CiAgICAgICAgICAgIHJldHVybiBgCiAgICAgICAgICAgICAgICA8aWZyYW1lIAogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpZnJhbWUtY29udGFpbmVyIgogICAgICAgICAgICAgICAgICAgIHNhbmRib3g9ImFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4iCiAgICAgICAgICAgICAgICAgICAgc3JjZG9jPSIke2NvbnRlbnQuZGF0YS5yZXBsYWNlKC8iL2csICcmcXVvdDsnKX0iPgogICAgICAgICAgICAgICAgPC9pZnJhbWU+CiAgICAgICAgICAgIGA7CiAgICAgICAgfQoKICAgICAgICBpZiAoY29udGVudC50eXBlID09PSAnYXBwbGljYXRpb24vcGRmJykgewogICAgICAgICAgICBjb25zdCBiYXNlNjREYXRhID0gYnRvYShjb250ZW50LmRhdGEpOwogICAgICAgICAgICByZXR1cm4gYAogICAgICAgICAgICAgICAgPGlmcmFtZSAKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaWZyYW1lLWNvbnRhaW5lciIKICAgICAgICAgICAgICAgICAgICBzcmM9ImRhdGE6YXBwbGljYXRpb24vcGRmO2Jhc2U2NCwke2Jhc2U2NERhdGF9Ij4KICAgICAgICAgICAgICAgIDwvaWZyYW1lPgogICAgICAgICAgICBgOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvbnRlbnQudHlwZS5zdGFydHNXaXRoKCd0ZXh0LycpKSB7CiAgICAgICAgICAgIGNvbnN0IHRleHQgPSBjb250ZW50LmRhdGEKICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8mL2csICcmYW1wOycpCiAgICAgICAgICAgICAgICAucmVwbGFjZSgvPC9nLCAnJmx0OycpCiAgICAgICAgICAgICAgICAucmVwbGFjZSgvPi9nLCAnJmd0OycpCiAgICAgICAgICAgICAgICAucmVwbGFjZSgvIi9nLCAnJnF1b3Q7JykKICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8nL2csICcmIzAzOTsnKQogICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhodHRwcz86XC9cL1teXHNdKykvZywgJzxhIGhyZWY9IiQxIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InRleHQtYmx1ZS01MDAgaG92ZXI6dW5kZXJsaW5lIj4kMTwvYT4nKTsKCiAgICAgICAgICAgIHJldHVybiBgPHByZT4ke3RleHR9PC9wcmU+YDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBgPHByZT4ke2NvbnRlbnQuZGF0YX08L3ByZT5gOwogICAgfQp9Cgp3aW5kb3cubWVzc2FnZUhhbmRsZXIgPSBuZXcgTWVzc2FnZUhhbmRsZXIoKTsK"}]}
https://whatsonchain.com/tx/undefined