Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥尾随痴汉@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJcIixcImxpc3RUb0NsZWFyQXNzb2NpYXRlZEZLXCI6W10sXCJsaXN0VG9DbGVhclNlbGZGS1wiOltdLFwicGFnZUxpc3RcIjpbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcImFlc1wiLFwicGF0aFwiOlwiYWVzXCIsXCJydWxlXCI6XCIvL+WKoOi9vUNyeXB0b0pT5bqTXFxuZXZhbChnZXRDcnlwdG9KUygpKVxcblxcbi8vIOino+WvhuWHveaVsFxcbmZ1bmN0aW9uIERlY3J5cHQod29yZCkge1xcbiAgICBjb25zdCBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFwiTlFZVDNlU3NYRzUyV1BEU1xcXCIpO1xcbiAgICBjb25zdCBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKFxcXCJlODkyMjVjZmJiaW1na2N1XFxcIik7XFxuICAgIGxldCBlbmNyeXB0ZWRIZXhTdHIgPSBDcnlwdG9KUy5lbmMuQmFzZTY0LnBhcnNlKHdvcmQpO1xcbiAgICBsZXQgZGVjcnlwdCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KHtcXG4gICAgICAgIGNpcGhlcnRleHQ6IGVuY3J5cHRlZEhleFN0clxcbiAgICB9LCBrZXksIHtcXG4gICAgICAgIGl2OiBpdixcXG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3IC8vIOazqOaEj+i/memHjOW6lOivpeaYr0NyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXG4gICAgfSk7XFxuICAgIGlmIChkZWNyeXB0KSB7XFxuICAgICAgICBsZXQgZGVjcnlwdGVkU3RyID0gZGVjcnlwdC50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOCk7XFxuICAgICAgICByZXR1cm4gZGVjcnlwdGVkU3RyO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8g6Kej5a+G5aSx6LSl77yM6L+U5ZuebnVsbOaIlumUmeivr+S/oeaBr1xcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG59XFxuXFxuLy8g5Yqg5a+G5Ye95pWwXFxuZnVuY3Rpb24gRW5jcnlwdChwbGFpbnRleHQpIHtcXG4gICAgY29uc3Qga2V5ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoXFxcIk5RWVQzZVNzWEc1MldQRFNcXFwiKTtcXG4gICAgY29uc3QgaXYgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFwiZTg5MjI1Y2ZiYmltZ2tjdVxcXCIpO1xcbiAgICB2YXIgZW5jcnlwdGVkID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQocGxhaW50ZXh0LCBrZXksIHtcXG4gICAgICAgIGl2OiBpdixcXG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3IC8vIOazqOaEj+i/memHjOW6lOivpeaYr0NyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXG4gICAgfSk7XFxuICAgIHZhciBjaXBoZXJ0ZXh0ID0gZW5jcnlwdGVkLmNpcGhlcnRleHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLkJhc2U2NCk7XFxuICAgIHJldHVybiBjaXBoZXJ0ZXh0O1xcbn1cXG5cXG4vL+WbvueJh+ino+WvhlxcbmtleSA9ICdmNWQ5NjVkZjc1MzM2MjcwJztcXG5pdiA9ICc5N2I2MDM5NGFiYzJmYmUxJztcXG5mdW5jdGlvbiBpbWdEZWMoa2V5LGl2LGEsYil7XFxuXFx0aWYoIWIpe1xcbiBcXHRcXHRiPSdQS0NTNVBhZGRpbmcnO1xcbiBcXHR9XFxuICAgIFxcdHZhciBzc3MgPSBgXFxuICAgICAgICAgICAgZnVuY3Rpb24gaW1nRGVjcnlwdCgpIHtcXG4gICAgICAgICAgICAgICAgdmFyIGphdmFJbXBvcnQgPSBuZXcgSmF2YUltcG9ydGVyKCk7XFxuICAgICAgICAgICAgICAgIGphdmFJbXBvcnQuaW1wb3J0UGFja2FnZShcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmNvbS5leGFtcGxlLmhpa2Vydmlldy51dGlscyxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmEubGFuZyxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmEuc2VjdXJpdHksXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZhLnV0aWwsXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZhLmlvLFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YS50ZXh0LFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YXguY3J5cHRvLFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YXguY3J5cHRvLnNwZWMsXFxuICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgICAgIHdpdGgoamF2YUltcG9ydCkge1xcbiAgICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVzID0gRmlsZVV0aWwudG9CeXRlcyhpbnB1dCk7XFxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkZWNyeXB0RGF0YShiQXJyKSB7XFxuXFx0XFx0ICAgIGlmKC9CQC8udGVzdChcXFwiJHtrZXl9XFxcIikpe1xcbiAgICAgIFxcdFxcdFxcdHZhciBzZWNyZXRLZXlTcGVjID0gbmV3IFNlY3JldEtleVNwZWMoU3RyaW5nKFxcXCIke2tleX1cXFwiKSwgXFxcIiR7YX1cXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIFxcdHZhciBpdlBhcmFtZXRlclNwZWMgPSBuZXcgSXZQYXJhbWV0ZXJTcGVjKFN0cmluZyhcXFwiJHtpdn1cXFwiKSk7XFxuXFx0XFx0ICAgIH1lbHNle1xcblxcdFxcdCAgICBcXHR2YXIgc2VjcmV0S2V5U3BlYyA9IG5ldyBTZWNyZXRLZXlTcGVjKFN0cmluZyhcXFwiJHtrZXl9XFxcIikuZ2V0Qnl0ZXMoKSwgXFxcIiR7YX1cXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIFxcdHZhciBpdlBhcmFtZXRlclNwZWMgPSBuZXcgSXZQYXJhbWV0ZXJTcGVjKFN0cmluZyhcXFwiJHtpdn1cXFwiKS5nZXRCeXRlcygpKTtcXG5cXHRcXHQgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIFxcdHZhciBjaXBoZXIgPSBDaXBoZXIuZ2V0SW5zdGFuY2UoXFxcIiR7YX1cXFwiK1xcXCIvQ0JDL1xcXCIrXFxcIiR7Yn1cXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIFxcdGNpcGhlci5pbml0KDIsIHNlY3JldEtleVNwZWMsIGl2UGFyYW1ldGVyU3BlYyk7XFxuICAgICAgICAgICAgICAgICAgIFxcdCByZXR1cm4gY2lwaGVyLmRvRmluYWwoYkFycik7XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICBieXRlcyA9IGRlY3J5cHREYXRhKGJ5dGVzKTtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVXRpbC50b0lucHV0U3RyZWFtKGJ5dGVzKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxcbiAgICAgICAgYDtcXG4gICAgICAgIHB1dFZhcignc3NzJywgc3NzKTtcXG4gICAgICAgIHZhciBpbWdkZWMgPSAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICBldmFsKGdldFZhcignc3NzJykpO1xcbiAgICAgICAgICAgIHJldHVybiBpbWdEZWNyeXB0KCk7XFxuICAgICAgICB9KTsgICAgICAgIFxcbiAgICAgICAgcHV0VmFyKCdpbWdkZWMnLCBpbWdkZWMpO1xcbiAgICAgICAgcmV0dXJuIGltZ2RlYztcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLml7bpl7TmiLPovazmjaJcIixcInBhdGhcIjpcIuaXtumXtOaIs+i9rOaNolwiLFwicnVsZVwiOlwiZnVuY3Rpb24gdGltZXN0YW1wVG9UaW1lKHRtLCB0cykge1xcblxcdFxcdHVuZGVmaW5lZFxcblxcdFxcdHZhciBkYXRlID0gbmV3IERhdGUodG0gKiAxMDAwKTsgLy/ml7bpl7TmiLPkuLoxMOS9jemcgCoxMDAw77yM5pe26Ze05oiz5Li6MTPkvY3nmoTor53kuI3pnIDkuZgxMDAwXFxuXFx0XFx0dmFyIFkgPSBkYXRlLmdldEZ1bGxZZWFyKCkgKyAnLSc7XFxuXFx0XFx0dmFyIE0gPSAoZGF0ZS5nZXRNb250aCgpICsgMSA8IDEwID8gJzAnICsgKGRhdGUuZ2V0TW9udGgoKSArIDEpIDogZGF0ZS5nZXRNb250aCgpICsgMSkgKyAnLSc7XFxuXFx0XFx0dmFyIEQgPSBkYXRlLmdldERhdGUoKTtcXG5cXHRcXHR2YXIgaCA9ICcgfCAnICsgZGF0ZS5nZXRIb3VycygpICsgJzonO1xcblxcdFxcdHZhciBtID0gZGF0ZS5nZXRNaW51dGVzKCk7XFxuXFx0XFx0aWYobTwxMCkgbSA9ICcwJyttO1xcblxcdFxcdG0gPSBtICsgJzonXFxuXFx0XFx0dmFyIHMgPSBkYXRlLmdldFNlY29uZHMoKTtcXG5cXHRcXHRpZihzPDEwKSBzID0gJzAnK3M7XFxuXFx0XFx0aWYgKHRzID09IDApIHJldHVybiBZICsgTSArIEQ7XFxuXFx0XFx0aWYgKHRzID09IDEpIHJldHVybiBZICsgTSArIEQgKyBoICsgbSArIHM7XFxuXFx0fVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5LqM57qnXCIsXCJwYXRoXCI6XCJlcmppXCIsXCJydWxlXCI6XCJqczogXFxudmFyIGQgPSBbXTtcXG5cXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG5cXG4vL+eUn+aIkOaXtumXtOaIs1xcbmZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lc3RhbXAoKSB7XFxuICAgIHJldHVybiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcXG59XFxuLy9tZDXliqDlr4ZcXG5mdW5jdGlvbiBtZDUoc3RyKSB7XFxuICAgIHJldHVybiBDcnlwdG9KUy5NRDUoc3RyKS50b1N0cmluZygpO1xcbn1cXG4vL3NoYTI1NuWKoOWvhlxcbmZ1bmN0aW9uIHNoYTI1NihzdHIpIHtcXG4gICAgcmV0dXJuIENyeXB0b0pTLlNIQTI1NihzdHIpLnRvU3RyaW5nKCk7XFxufVxcblxcbnZhciB0ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7IC8vbG9nKHQpXFxubGV0IGlkPU1ZX1VSTC5zcGxpdCgnIyMnKVszXTtcXG5sZXQgcD1NWV9VUkwuc3BsaXQoJyMjJylbMV07XFxubGV0IHogPSBNWV9VUkwuc3BsaXQoJyMjJylbMl07XFxubGV0IGRhdGEwPSd7XFxcInRhYl9pZFxcXCI6XFxcIicraWQrJ1xcXCIsXFxcImxpbWl0XFxcIjpcXFwiMzBcXFwiLFxcXCJwYWdlXFxcIjpcXFwiJytwKydcXFwiLFxcXCJzb3J0XFxcIjpcXFwiJyt6KydcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImFhYTkzOWYyNzQ4YTI1ZTM4ZDQyZTdkNTAwYjA1YzAxXFxcIixcXFwiYnVuZGxlX2lkXFxcIjpcXFwiY29tLjdkdS5jbi5vcmdcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiMi4wLjVcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwid2ViXFxcIixcXFwibGFuZ3VhZ2VcXFwiOlxcXCJ6aFxcXCJ9J1xcbi8vbG9nKGRhdGEwKVxcbnZhciBkYXRhID0gRW5jcnlwdChkYXRhMCk7IFxcbi8vbG9nKGRhdGEpXFxudmFyIHNpZ24gPSBtZDUoc2hhMjU2KCdkYXRhPScrZGF0YSsnJnRpbWVzdGFtcD0nK3QrJ05RWVQzZVNzWEc1MldQRFMnKSk7IC8vbG9nKHNpZ24pXFxudmFyIGJvZHkgPSAndGltZXN0YW1wPScrdCsnJmRhdGE9JytkYXRhKycmc2lnbj0nK3NpZ247IFxcbi8vbG9nKGJvZHkpXFxudmFyIHVybCA9ICdodHRwczovL2xveWFwaTAyLnhpbmdxdTIwMC5jb20vYXBpLnBocGFwaS90YWJuZXcvbGlzdF90YWJfbXYnO1xcbnZhciBodG1sID0gZmV0Y2godXJsLCB7XFxuICAgIGhlYWRlcnM6IHtcXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXFxuICAgIH0sXFxuICAgIGJvZHk6IGJvZHksXFxuICAgIG1ldGhvZDogJ1BPU1QnXFxufSk7IFxcbi8vbG9nKGh0bWwpXFxuXFxubGV0IGh0bWwxID0gSlNPTi5wYXJzZShodG1sKS5kYXRhOyBcXG4vL2xvZyhodG1sMSlcXG5sZXQgaHRtbDIgPSBEZWNyeXB0KGh0bWwxKTsgXFxuLy9sb2coaHRtbDIpXFxuXFxudmFyIGxpc3QgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmxpc3Q7XFxudmFyIGxhenkgPSAkKCcnKS5pbWFnZSgoKSA9PiB7XFxuY29uc3QgQ3J5cHRvVXRpbCA9ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9hc3NldHMvY3J5cHRvLWphdmEuanNcXFwiKTtcXG5cXHRsZXQga2V5ID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlVVRGOChcXFwiZjVkOTY1ZGY3NTMzNjI3MFxcXCIpO1xcblxcdGxldCBpdiA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZVVURjgoXFxcIjk3YjYwMzk0YWJjMmZiZTFcXFwiKTtcXG5cXHRsZXQgdGV4dERhdGEgPSBDcnlwdG9VdGlsLkRhdGEucGFyc2VJbnB1dFN0cmVhbShpbnB1dCk7XFxuXFx0bGV0IGVuY3J5cHRlZCA9IENyeXB0b1V0aWwuQUVTLmRlY3J5cHQodGV4dERhdGEsIGtleSwge1xcbiAgXFx0bW9kZTogXFxcIkFFUy9DQkMvUEtDUzdQYWRkaW5nXFxcIixcXG5cXHRcXHRpdjogaXZcXG5cXHR9KTtcXG5cXHRyZXR1cm4gZW5jcnlwdGVkLnRvSW5wdXRTdHJlYW0oKTtcXG59KVxcbi8vbG9nKGxpc3QpO1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgdmFyIHVybCA9IGRhdGEucGxheV91cmw7XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS/ml7bpl7TmiLPovazmjaInKSkucnVsZSk7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6ICB0aW1lc3RhbXBUb1RpbWUoZGF0YS5yZWZyZXNoX2F0LDEpKydcXFxcdFxcXFx0XFxcXHRcXFxcdCcrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbi82MCkrJzonK3BhcnNlSW50KGRhdGEuZHVyYXRpb24lNjApLFxcbiAgICAgICAgICAgaW1nOiBkYXRhLmNvdmVyX3RodW1iX3VybCArIGxhenksXFxuICAgICAgICAgICAvLyBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgKyAnQGpzPScgKyBpbWdEZWMoa2V5LCBpdiwgJ0FFUycpLCxcXG4gICAgICAgICAgICB1cmw6IHVybC5yZXBsYWNlKC9cXFxcL1xcXFwvLipwbGF5XFxcXC4vLCcvL2xvbmcuJylcXG4gICAgICAgIH0pXFxuICAgIH0pXFxuXFxuc2V0UmVzdWx0KGQpXCJ9XSxcInNhdmVkXCI6ZmFsc2UsXCJ0aXRsZVwiOlwi5pqX572R6Kej5a+GXCIsXCJ2ZXJzaW9uXCI6MCxcInVybFwiOlwiaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIyNob3QjIzE5MjtnZXQ7VVRGLTg7e1VzZXItQWdlbnRATW96aWxsYS81LjAgKExpbnV477yb77ybIEFuZHJvaWQgMTTvvJvvvJsgMjMwMTNSSzc1QyBCdWlsZC9VS1ExLjIzMDgwNC4wMDHvvJvvvJsgd3YpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIENocm9tZS8xMTguMC4wLjAgTW9iaWxlIFNhZmFyaS81MzcuMzZ9XCIsXCJjb2xfdHlwZVwiOlwibW92aWVfMlwiLFwiZmluZF9ydWxlXCI6XCJqczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9lcmppXFxcIilcIixcImdyb3VwXCI6XCLpgZPplb/ovablupPinIjvuI9cIixcInVhXCI6XCJtb2JpbGVcIixcInByZVJ1bGVcIjpcIlwiLFwicGFnZXNcIjpcIlt7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCJhZXNcXFwiLFxcXCJwYXRoXFxcIjpcXFwiYWVzXFxcIixcXFwicnVsZVxcXCI6XFxcIi8v5Yqg6L29Q3J5cHRvSlPlupNcXFxcbmV2YWwoZ2V0Q3J5cHRvSlMoKSlcXFxcblxcXFxuLy8g6Kej5a+G5Ye95pWwXFxcXG5mdW5jdGlvbiBEZWNyeXB0KHdvcmQpIHtcXFxcbiAgICBjb25zdCBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFxcXFxcIk5RWVQzZVNzWEc1MldQRFNcXFxcXFxcIik7XFxcXG4gICAgY29uc3QgaXYgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFxcXFxcImU4OTIyNWNmYmJpbWdrY3VcXFxcXFxcIik7XFxcXG4gICAgbGV0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2Uod29yZCk7XFxcXG4gICAgbGV0IGRlY3J5cHQgPSBDcnlwdG9KUy5BRVMuZGVjcnlwdCh7XFxcXG4gICAgICAgIGNpcGhlcnRleHQ6IGVuY3J5cHRlZEhleFN0clxcXFxuICAgIH0sIGtleSwge1xcXFxuICAgICAgICBpdjogaXYsXFxcXG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxcXFxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczcgLy8g5rOo5oSP6L+Z6YeM5bqU6K+l5pivQ3J5cHRvSlMucGFkLk5vUGFkZGluZ1xcXFxuICAgIH0pO1xcXFxuICAgIGlmIChkZWNyeXB0KSB7XFxcXG4gICAgICAgIGxldCBkZWNyeXB0ZWRTdHIgPSBkZWNyeXB0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KTtcXFxcbiAgICAgICAgcmV0dXJuIGRlY3J5cHRlZFN0cjtcXFxcbiAgICB9IGVsc2Uge1xcXFxuICAgICAgICAvLyDop6Plr4blpLHotKXvvIzov5Tlm55udWxs5oiW6ZSZ6K+v5L+h5oGvXFxcXG4gICAgICAgIHJldHVybiBudWxsO1xcXFxuICAgIH1cXFxcbn1cXFxcblxcXFxuLy8g5Yqg5a+G5Ye95pWwXFxcXG5mdW5jdGlvbiBFbmNyeXB0KHBsYWludGV4dCkge1xcXFxuICAgIGNvbnN0IGtleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKFxcXFxcXFwiTlFZVDNlU3NYRzUyV1BEU1xcXFxcXFwiKTtcXFxcbiAgICBjb25zdCBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKFxcXFxcXFwiZTg5MjI1Y2ZiYmltZ2tjdVxcXFxcXFwiKTtcXFxcbiAgICB2YXIgZW5jcnlwdGVkID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQocGxhaW50ZXh0LCBrZXksIHtcXFxcbiAgICAgICAgaXY6IGl2LFxcXFxuICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQyxcXFxcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3IC8vIOazqOaEj+i/memHjOW6lOivpeaYr0NyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXFxcbiAgICB9KTtcXFxcbiAgICB2YXIgY2lwaGVydGV4dCA9IGVuY3J5cHRlZC5jaXBoZXJ0ZXh0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5CYXNlNjQpO1xcXFxuICAgIHJldHVybiBjaXBoZXJ0ZXh0O1xcXFxufVxcXFxuXFxcXG4vL+WbvueJh+ino+WvhlxcXFxua2V5ID0gJ2Y1ZDk2NWRmNzUzMzYyNzAnO1xcXFxuaXYgPSAnOTdiNjAzOTRhYmMyZmJlMSc7XFxcXG5mdW5jdGlvbiBpbWdEZWMoa2V5LGl2LGEsYil7XFxcXG5cXFxcdGlmKCFiKXtcXFxcbiBcXFxcdFxcXFx0Yj0nUEtDUzVQYWRkaW5nJztcXFxcbiBcXFxcdH1cXFxcbiAgICBcXFxcdHZhciBzc3MgPSBgXFxcXG4gICAgICAgICAgICBmdW5jdGlvbiBpbWdEZWNyeXB0KCkge1xcXFxuICAgICAgICAgICAgICAgIHZhciBqYXZhSW1wb3J0ID0gbmV3IEphdmFJbXBvcnRlcigpO1xcXFxuICAgICAgICAgICAgICAgIGphdmFJbXBvcnQuaW1wb3J0UGFja2FnZShcXFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuY29tLmV4YW1wbGUuaGlrZXJ2aWV3LnV0aWxzLFxcXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZhLmxhbmcsXFxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmEuc2VjdXJpdHksXFxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmEudXRpbCxcXFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YS5pbyxcXFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YS50ZXh0LFxcXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZheC5jcnlwdG8sXFxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmF4LmNyeXB0by5zcGVjLFxcXFxuICAgICAgICAgICAgICAgICk7XFxcXG4gICAgICAgICAgICAgICAgd2l0aChqYXZhSW1wb3J0KSB7XFxcXG4gICAgICAgICAgICAgICAgICAgIGxldCBieXRlcyA9IEZpbGVVdGlsLnRvQnl0ZXMoaW5wdXQpO1xcXFxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkZWNyeXB0RGF0YShiQXJyKSB7XFxcXG5cXFxcdFxcXFx0ICAgIGlmKC9CQC8udGVzdChcXFxcXFxcIiR7a2V5fVxcXFxcXFwiKSl7XFxcXG4gICAgICBcXFxcdFxcXFx0XFxcXHR2YXIgc2VjcmV0S2V5U3BlYyA9IG5ldyBTZWNyZXRLZXlTcGVjKFN0cmluZyhcXFxcXFxcIiR7a2V5fVxcXFxcXFwiKSwgXFxcXFxcXCIke2F9XFxcXFxcXCIpO1xcXFxuICAgICAgICAgICAgICAgICAgICBcXFxcdHZhciBpdlBhcmFtZXRlclNwZWMgPSBuZXcgSXZQYXJhbWV0ZXJTcGVjKFN0cmluZyhcXFxcXFxcIiR7aXZ9XFxcXFxcXCIpKTtcXFxcblxcXFx0XFxcXHQgICAgfWVsc2V7XFxcXG5cXFxcdFxcXFx0ICAgIFxcXFx0dmFyIHNlY3JldEtleVNwZWMgPSBuZXcgU2VjcmV0S2V5U3BlYyhTdHJpbmcoXFxcXFxcXCIke2tleX1cXFxcXFxcIikuZ2V0Qnl0ZXMoKSwgXFxcXFxcXCIke2F9XFxcXFxcXCIpO1xcXFxuICAgICAgICAgICAgICAgICAgICBcXFxcdHZhciBpdlBhcmFtZXRlclNwZWMgPSBuZXcgSXZQYXJhbWV0ZXJTcGVjKFN0cmluZyhcXFxcXFxcIiR7aXZ9XFxcXFxcXCIpLmdldEJ5dGVzKCkpO1xcXFxuXFxcXHRcXFxcdCAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICBcXFxcdHZhciBjaXBoZXIgPSBDaXBoZXIuZ2V0SW5zdGFuY2UoXFxcXFxcXCIke2F9XFxcXFxcXCIrXFxcXFxcXCIvQ0JDL1xcXFxcXFwiK1xcXFxcXFwiJHtifVxcXFxcXFwiKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgXFxcXHRjaXBoZXIuaW5pdCgyLCBzZWNyZXRLZXlTcGVjLCBpdlBhcmFtZXRlclNwZWMpO1xcXFxuICAgICAgICAgICAgICAgICAgIFxcXFx0IHJldHVybiBjaXBoZXIuZG9GaW5hbChiQXJyKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICBieXRlcyA9IGRlY3J5cHREYXRhKGJ5dGVzKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVVdGlsLnRvSW5wdXRTdHJlYW0oYnl0ZXMpO1xcXFxuICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxcXFxuICAgICAgICBgO1xcXFxuICAgICAgICBwdXRWYXIoJ3NzcycsIHNzcyk7XFxcXG4gICAgICAgIHZhciBpbWdkZWMgPSAkLnRvU3RyaW5nKCgpID0+IHtcXFxcbiAgICAgICAgICAgIGV2YWwoZ2V0VmFyKCdzc3MnKSk7XFxcXG4gICAgICAgICAgICByZXR1cm4gaW1nRGVjcnlwdCgpO1xcXFxuICAgICAgICB9KTsgICAgICAgIFxcXFxuICAgICAgICBwdXRWYXIoJ2ltZ2RlYycsIGltZ2RlYyk7XFxcXG4gICAgICAgIHJldHVybiBpbWdkZWM7XFxcXG59XFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5pe26Ze05oiz6L2s5o2iXFxcIixcXFwicGF0aFxcXCI6XFxcIuaXtumXtOaIs+i9rOaNolxcXCIsXFxcInJ1bGVcXFwiOlxcXCJmdW5jdGlvbiB0aW1lc3RhbXBUb1RpbWUodG0sIHRzKSB7XFxcXG5cXFxcdFxcXFx0dW5kZWZpbmVkXFxcXG5cXFxcdFxcXFx0dmFyIGRhdGUgPSBuZXcgRGF0ZSh0bSAqIDEwMDApOyAvL+aXtumXtOaIs+S4ujEw5L2N6ZyAKjEwMDDvvIzml7bpl7TmiLPkuLoxM+S9jeeahOivneS4jemcgOS5mDEwMDBcXFxcblxcXFx0XFxcXHR2YXIgWSA9IGRhdGUuZ2V0RnVsbFllYXIoKSArICctJztcXFxcblxcXFx0XFxcXHR2YXIgTSA9IChkYXRlLmdldE1vbnRoKCkgKyAxIDwgMTAgPyAnMCcgKyAoZGF0ZS5nZXRNb250aCgpICsgMSkgOiBkYXRlLmdldE1vbnRoKCkgKyAxKSArICctJztcXFxcblxcXFx0XFxcXHR2YXIgRCA9IGRhdGUuZ2V0RGF0ZSgpO1xcXFxuXFxcXHRcXFxcdHZhciBoID0gJyB8ICcgKyBkYXRlLmdldEhvdXJzKCkgKyAnOic7XFxcXG5cXFxcdFxcXFx0dmFyIG0gPSBkYXRlLmdldE1pbnV0ZXMoKTtcXFxcblxcXFx0XFxcXHRpZihtPDEwKSBtID0gJzAnK207XFxcXG5cXFxcdFxcXFx0bSA9IG0gKyAnOidcXFxcblxcXFx0XFxcXHR2YXIgcyA9IGRhdGUuZ2V0U2Vjb25kcygpO1xcXFxuXFxcXHRcXFxcdGlmKHM8MTApIHMgPSAnMCcrcztcXFxcblxcXFx0XFxcXHRpZiAodHMgPT0gMCkgcmV0dXJuIFkgKyBNICsgRDtcXFxcblxcXFx0XFxcXHRpZiAodHMgPT0gMSkgcmV0dXJuIFkgKyBNICsgRCArIGggKyBtICsgcztcXFxcblxcXFx0fVxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJtb3ZpZV8zXFxcIixcXFwibmFtZVxcXCI6XFxcIuS6jOe6p1xcXCIsXFxcInBhdGhcXFwiOlxcXCJlcmppXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOiBcXFxcbnZhciBkID0gW107XFxcXG5cXFxcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcXFxuXFxcXG4vL+eUn+aIkOaXtumXtOaIs1xcXFxuZnVuY3Rpb24gZ2V0Q3VycmVudFRpbWVzdGFtcCgpIHtcXFxcbiAgICByZXR1cm4gbmV3IERhdGUoKS5nZXRUaW1lKCk7XFxcXG59XFxcXG4vL21kNeWKoOWvhlxcXFxuZnVuY3Rpb24gbWQ1KHN0cikge1xcXFxuICAgIHJldHVybiBDcnlwdG9KUy5NRDUoc3RyKS50b1N0cmluZygpO1xcXFxufVxcXFxuLy9zaGEyNTbliqDlr4ZcXFxcbmZ1bmN0aW9uIHNoYTI1NihzdHIpIHtcXFxcbiAgICByZXR1cm4gQ3J5cHRvSlMuU0hBMjU2KHN0cikudG9TdHJpbmcoKTtcXFxcbn1cXFxcblxcXFxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcXFxcbmxldCBpZD1NWV9VUkwuc3BsaXQoJyMjJylbM107XFxcXG5sZXQgcD1NWV9VUkwuc3BsaXQoJyMjJylbMV07XFxcXG5sZXQgeiA9IE1ZX1VSTC5zcGxpdCgnIyMnKVsyXTtcXFxcbmxldCBkYXRhMD0ne1xcXFxcXFwidGFiX2lkXFxcXFxcXCI6XFxcXFxcXCInK2lkKydcXFxcXFxcIixcXFxcXFxcImxpbWl0XFxcXFxcXCI6XFxcXFxcXCIzMFxcXFxcXFwiLFxcXFxcXFwicGFnZVxcXFxcXFwiOlxcXFxcXFwiJytwKydcXFxcXFxcIixcXFxcXFxcInNvcnRcXFxcXFxcIjpcXFxcXFxcIicreisnXFxcXFxcXCIsXFxcXFxcXCJvYXV0aF9pZFxcXFxcXFwiOlxcXFxcXFwiYWFhOTM5ZjI3NDhhMjVlMzhkNDJlN2Q1MDBiMDVjMDFcXFxcXFxcIixcXFxcXFxcImJ1bmRsZV9pZFxcXFxcXFwiOlxcXFxcXFwiY29tLjdkdS5jbi5vcmdcXFxcXFxcIixcXFxcXFxcInZlcnNpb25cXFxcXFxcIjpcXFxcXFxcIjIuMC41XFxcXFxcXCIsXFxcXFxcXCJvYXV0aF90eXBlXFxcXFxcXCI6XFxcXFxcXCJ3ZWJcXFxcXFxcIixcXFxcXFxcImxhbmd1YWdlXFxcXFxcXCI6XFxcXFxcXCJ6aFxcXFxcXFwifSdcXFxcbi8vbG9nKGRhdGEwKVxcXFxudmFyIGRhdGEgPSBFbmNyeXB0KGRhdGEwKTsgXFxcXG4vL2xvZyhkYXRhKVxcXFxudmFyIHNpZ24gPSBtZDUoc2hhMjU2KCdkYXRhPScrZGF0YSsnJnRpbWVzdGFtcD0nK3QrJ05RWVQzZVNzWEc1MldQRFMnKSk7IC8vbG9nKHNpZ24pXFxcXG52YXIgYm9keSA9ICd0aW1lc3RhbXA9Jyt0KycmZGF0YT0nK2RhdGErJyZzaWduPScrc2lnbjsgXFxcXG4vL2xvZyhib2R5KVxcXFxudmFyIHVybCA9ICdodHRwczovL2xveWFwaTAyLnhpbmdxdTIwMC5jb20vYXBpLnBocGFwaS90YWJuZXcvbGlzdF90YWJfbXYnO1xcXFxudmFyIGh0bWwgPSBmZXRjaCh1cmwsIHtcXFxcbiAgICBoZWFkZXJzOiB7XFxcXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXFxcXG4gICAgfSxcXFxcbiAgICBib2R5OiBib2R5LFxcXFxuICAgIG1ldGhvZDogJ1BPU1QnXFxcXG59KTsgXFxcXG4vL2xvZyhodG1sKVxcXFxuXFxcXG5sZXQgaHRtbDEgPSBKU09OLnBhcnNlKGh0bWwpLmRhdGE7IFxcXFxuLy9sb2coaHRtbDEpXFxcXG5sZXQgaHRtbDIgPSBEZWNyeXB0KGh0bWwxKTsgXFxcXG4vL2xvZyhodG1sMilcXFxcblxcXFxudmFyIGxpc3QgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmxpc3Q7XFxcXG52YXIgbGF6eSA9ICQoJycpLmltYWdlKCgpID0+IHtcXFxcbmNvbnN0IENyeXB0b1V0aWwgPSAkLnJlcXVpcmUoXFxcXFxcXCJoaWtlcjovL2Fzc2V0cy9jcnlwdG8tamF2YS5qc1xcXFxcXFwiKTtcXFxcblxcXFx0bGV0IGtleSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZVVURjgoXFxcXFxcXCJmNWQ5NjVkZjc1MzM2MjcwXFxcXFxcXCIpO1xcXFxuXFxcXHRsZXQgaXYgPSBDcnlwdG9VdGlsLkRhdGEucGFyc2VVVEY4KFxcXFxcXFwiOTdiNjAzOTRhYmMyZmJlMVxcXFxcXFwiKTtcXFxcblxcXFx0bGV0IHRleHREYXRhID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlSW5wdXRTdHJlYW0oaW5wdXQpO1xcXFxuXFxcXHRsZXQgZW5jcnlwdGVkID0gQ3J5cHRvVXRpbC5BRVMuZGVjcnlwdCh0ZXh0RGF0YSwga2V5LCB7XFxcXG4gIFxcXFx0bW9kZTogXFxcXFxcXCJBRVMvQ0JDL1BLQ1M3UGFkZGluZ1xcXFxcXFwiLFxcXFxuXFxcXHRcXFxcdGl2OiBpdlxcXFxuXFxcXHR9KTtcXFxcblxcXFx0cmV0dXJuIGVuY3J5cHRlZC50b0lucHV0U3RyZWFtKCk7XFxcXG59KVxcXFxuLy9sb2cobGlzdCk7XFxcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxcXG4gICAgdmFyIHVybCA9IGRhdGEucGxheV91cmw7XFxcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL+aXtumXtOaIs+i9rOaNoicpKS5ydWxlKTtcXFxcbiAgICAgICAgZC5wdXNoKHtcXFxcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcXFxuICAgICAgICAgICAgZGVzYzogIHRpbWVzdGFtcFRvVGltZShkYXRhLnJlZnJlc2hfYXQsMSkrJ1xcXFxcXFxcdFxcXFxcXFxcdFxcXFxcXFxcdFxcXFxcXFxcdCcrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbi82MCkrJzonK3BhcnNlSW50KGRhdGEuZHVyYXRpb24lNjApLFxcXFxuICAgICAgICAgICBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgbGF6eSxcXFxcbiAgICAgICAgICAgLy8gaW1nOiBkYXRhLmNvdmVyX3RodW1iX3VybCArICsgJ0Bqcz0nICsgaW1nRGVjKGtleSwgaXYsICdBRVMnKSwsXFxcXG4gICAgICAgICAgICB1cmw6IHVybC5yZXBsYWNlKC9cXFxcXFxcXC9cXFxcXFxcXC8uKnBsYXlcXFxcXFxcXC4vLCcvL2xvbmcuJylcXFxcbiAgICAgICAgfSlcXFxcbiAgICB9KVxcXFxuXFxcXG5zZXRSZXN1bHQoZClcXFwifV1cIn0iLCJwaWNVcmwiOiJodHRwczovL25ldzEuanVjaHVhbi5iaXovdXBsb2FkL2Fkcy8yMDI0MDMwOS8yMDI0MDMwOTE0NTEyOTkxMDgxLnBuZ0Bqcz0oXG4oKSA9PiB7XG4gICAgZXZhbChnZXRWYXIoXCJzc3NcIikpO1xuICAgIHJldHVybiBpbWdEZWNyeXB0KCk7XG59XG4pKCkiLCJ0aXRsZSI6IuWwvumaj+eXtOaxiSJ9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement