Advertisement
xiaomianao666

邀您一起看:八角笼中

Jul 8th, 2023
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥八角笼中@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJqczpcXG52YXIgY2hwID0gW107XFxudHJ5IHtcXG4gICAgdmFyIGh0bWwgPSBnZXRSZXNDb2RlKCk7XFxuICAgIHZhciBjb250cyA9IHBhcnNlRG9tRm9yQXJyYXkoaHRtbCwgJ2JvZHkmJi5tb2R1bGUtbGlzdCcpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgbGlzdCA9IHBkZmEoY29udHNbaV0sICcubW9kdWxlLXBsYXktbGlzdC1jb250ZW50JiZhJyk7XFxuICAgICAgICBjaHAucHVzaChsaXN0Lmxlbmd0aCk7XFxuICAgIH0gICAgIFxcbn0gY2F0Y2ggKGUpIHt9XFxuc2V0UmVzdWx0KCfmm7TmlrDoh7M6JyArIChNYXRoLm1heC5hcHBseShudWxsLCBjaHApKSk7XCIsXCJsaXN0VG9DbGVhckFzc29jaWF0ZWRGS1wiOltdLFwibGlzdFRvQ2xlYXJTZWxmRktcIjpbXSxcInBhZ2VMaXN0XCI6W3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJsYXp5XCIsXCJwYXRoXCI6XCJsYXp5XCIsXCJydWxlXCI6XCJ2YXIgbGF6eSA9ICQoJycpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgdHJ5IHtcXG4gICAgICAgIGZ1bmN0aW9uIHRvVXJsKHBsYXlVcmwpIHtcXG4gICAgICAgICAgICBpZiAoL21ndHZ8c29odS8udGVzdChwbGF5VXJsKSkge1xcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybCArIFxcXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCl9XFxcIjtcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKC9iaWxpLy50ZXN0KHBsYXlVcmwpKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiBwbGF5VXJsICsgXFxcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCYmUmVmZXJlckBodHRwczovL3d3dy5iaWxpYmlsaS5jb219XFxcIjtcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKC9peGlndWEvLnRlc3QocGxheVVybCkpIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlVcmwgKyBcXFwiI2lzVmlkZW89dHJ1ZSNcXFwiICsgXFxcIiMubXA0O3tSZWZlcmVyQGh0dHBzOi8vd3d3Lml4aWd1YS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfVxcXCI7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlVcmw7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgdmFyIGh0bWwgPSByZXF1ZXN0KGlucHV0LCB7fSk7XFxuICAgICAgICB2YXIgcGxheWVyX2RhdGEgPSBKU09OLnBhcnNlKGh0bWwubWF0Y2goL3IgcGxheWVyXy4qPz0oLio/KTwvKVsxXSk7XFxuICAgICAgICB2YXIgZnJvID0gcGxheWVyX2RhdGEuZnJvbTtcXG4gICAgICAgIHZhciBwbGF5VXJsID0gcGxheWVyX2RhdGEudXJsO1xcblxcblxcbiAgICAgICAgaWYgKHBsYXllcl9kYXRhLmVuY3J5cHQgPT0gJzEnKSB7XFxuICAgICAgICAgICAgcGxheVVybCA9IHVuZXNjYXBlKHBsYXllcl9kYXRhLnVybCk7XFxuICAgICAgICB9IGVsc2UgaWYgKHBsYXllcl9kYXRhLmVuY3J5cHQgPT0gJzInKSB7XFxuICAgICAgICAgICAgcGxheVVybCA9IHVuZXNjYXBlKGJhc2U2NERlY29kZShwbGF5ZXJfZGF0YS51cmwpKTtcXG4gICAgICAgIH07XFxuICAgICAgICB2YXIgZXhjbHVkZSA9IC9wbGF5bTN1OHxtM3U4XFxcXC50dnxtaW5cXFxcLmNzc3w0MDRcXFxcLm0zdTh8XFxcXC5jc3MvO1xcbiAgICAgICAgdmFyIGNvbnRhaW4gPSAvXFxcXC5tcDR8XFxcXC5tM3U4fFxcXFwuZmx2fFxcXFwuYXZpfFxcXFwubXBlZ3xcXFxcLndtdnxcXFxcLm1vdnxcXFxcLnJtdmJ8XFxcXC5kYXR8cXFCRmRvd25sb2FkfG1pbWU9dmlkZW8lMkZ8dmlkZW9fbXA0LztcXG4gICAgICAgIGlmICghZXhjbHVkZS50ZXN0KHBsYXlVcmwpICYmIGNvbnRhaW4udGVzdChwbGF5VXJsKSkge1xcbiAgICAgICAgICAgIHJldHVybiB0b1VybChwbGF5VXJsKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHZhciBqeFVybCA9ICdodHRwczovL2xhbmd1YW5nLmtza3N5LmNvbS8/dXJsPScgKyBwbGF5VXJsICsgJyZ0bT0nICsgcGxheWVyX2RhdGEudG0gKyAnJmtleT0nICsgcGxheWVyX2RhdGEua2V5ICsgJyZuZXh0PScgKyBwbGF5ZXJfZGF0YS5saW5rX25leHQgKyAnJnRpdGxlPScgKyBwZGZoKGh0bWwsIFxcXCJ0aXRsZSYmVGV4dFxcXCIpLnNwbGl0KFxcXCItXFxcIilbMF07XFxuICAgICAgICB2YXIganhIdG1sID0gcmVxdWVzdChqeFVybCwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgXFxcIlVzZXItQWdlbnRcXFwiOiBcXFwiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMClcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICBtZXRob2Q6IFxcXCJHRVRcXFwiXFxuICAgICAgICB9KTtcXG4gICAgICAgIGV2YWwoanhIdG1sLm1hdGNoKC92YXIgY29uZmlnID0ge1tcXFxcc1xcXFxTXSo/fS8pWzBdICsgXFxcIlxcXCIpO1xcbiAgICAgICAgdmFyIGFwaVVybCA9ICdodHRwczovL2xhbmd1YW5nLmtza3N5LmNvbS9BUEkucGhwJztcXG4gICAgICAgIHZhciBhcGlIdG1sID0gcmVxdWVzdChhcGlVcmwsIHtcXG4gICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogXFxcIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApXFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgYm9keTogXFxcInVybD1cXFwiICsgY29uZmlnLnVybCArIFxcXCImdGltZT1cXFwiICsgY29uZmlnLnRpbWUgKyBcXFwiJmtleT1cXFwiICsgY29uZmlnLmtleSxcXG4gICAgICAgICAgICBtZXRob2Q6IFxcXCJQT1NUXFxcIlxcbiAgICAgICAgfSk7XFxuICAgICAgICB2YXIganNvbiA9IEpTT04ucGFyc2UoYXBpSHRtbCk7XFxuICAgICAgICBpZiAoanNvbi5jb2RlID09IDIwMCkge1xcbiAgICAgICAgICAgIHBsYXlVcmwgPSBqc29uLnVybDtcXG4gICAgICAgICAgICByZXR1cm4gdG9VcmwocGxheVVybCk7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly8nICsganNvbi5tc2c7XFxuICAgICAgICB9XFxuXFxuICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgIC8vc2V0RXJyb3IoZSk7XFxuICAgICAgICBzaG93TG9hZGluZyhcXFwi5q2j5Zyo6L+b6KGM5qOA57Si77yM6K+356iN5YCZLi4uXFxcIik7XFxuICAgICAgICB2YXIgdmlkZW8gPSAneDVSdWxlOi8vJyArIGlucHV0ICsgJ0AnICsgJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgLy9mYmEubG9nKGZiYS5nZXRVcmxzKCkpXFxuICAgICAgICAgICAgdmFyIHVybHMgPSBfZ2V0VXJscygpXFxuICAgICAgICAgICAgdmFyIGV4Y2x1ZGUgPSAvcGxheW0zdTh8bTN1OFxcXFwudHZ8bWluXFxcXC5jc3N8NDA0XFxcXC5tM3U4fFxcXFwuY3NzLztcXG4gICAgICAgICAgICB2YXIgY29udGFpbiA9IC9cXFxcLm1wNHxcXFxcLm0zdTh8XFxcXC5mbHZ8XFxcXC5hdml8XFxcXC5tcGVnfFxcXFwud212fFxcXFwubW92fFxcXFwucm12YnxcXFxcLmRhdHxxcUJGZG93bmxvYWR8bWltZT12aWRlbyUyRnx2aWRlb19tcDQvO1xcbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gdXJscykge1xcbiAgICAgICAgICAgICAgICBpZiAoIWV4Y2x1ZGUudGVzdCh1cmxzW2ldKSAmJiBjb250YWluLnRlc3QodXJsc1tpXSkpIHtcXG4gICAgICAgICAgICAgICAgICAgIC8vIGZ5X2JyaWRnZV9hcHAubG9nKHVybHNbaV0pXFxuICAgICAgICAgICAgICAgICAgICBpZiAoL21ndHZ8c29odS8udGVzdCh1cmxzW2ldKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldICsgXFxcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKX1cXFwiO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvYmlsaS8udGVzdCh1cmxzW2ldKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldICsgXFxcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCYmUmVmZXJlckBodHRwczovL3d3dy5iaWxpYmlsaS5jb219XFxcIjtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL2l4aWd1YS8udGVzdCh1cmxzW2ldKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldICsgXFxcIiNpc1ZpZGVvPXRydWUjXFxcIiArIFxcXCIjLm1wNDt7UmVmZXJlckBodHRwczovL3d3dy5peGlndWEuY29tLyYmVXNlci1BZ2VudEBNb3ppbGxhLzUuMH1cXFwiO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJsc1tpXVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSk7XFxuICAgICAgICByZXR1cm4gdmlkZW87XFxuICAgIH1cXG59KTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcImR0XCIsXCJwYXRoXCI6XCJkdFwiLFwicnVsZVwiOlwiY29uc3QgZW1wdHkgPSBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gdmFyIGNhdGVnb3JpZXMgPSBwZGZhKGh0bWwsIOmhteeggeWumuS9jSlcXG5cXG5sZXQgaW5pdF9jYXRlID0gW11cXG5cXG5mb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcXG4gICAgaW5pdF9jYXRlLnB1c2goXFxcIjBcXFwiKVxcbn1cXG5cXG5jb25zdCBmb2xkID0gZ2V0VmFyKE1ZX1JVTEUuZ3JvdXAsIFxcXCIwXFxcIilcXG5jb25zdCBjYXRlX3RlbXBfanNvbiA9IGdldFZhcihNWV9SVUxFLnRpdGxlLCBKU09OLnN0cmluZ2lmeShpbml0X2NhdGUpKVxcbmNvbnN0IGNhdGVfdGVtcCA9IEpTT04ucGFyc2UoY2F0ZV90ZW1wX2pzb24pXFxuXFxuaWYgKHBhcnNlSW50KHBhZ2UpID09PSAxKSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogZm9sZCA9PT0gJzEnID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogIzE5Qjg5RFxcXCI+OiAoPC9zcGFuPjwvYj4nIDogJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogIzkxMDExM1xcXCI+OiApPC9zcGFuPjwvYj4nLFxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKGZvbGQpID0+IHtcXG4gICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS5ncm91cCwgZm9sZCA9PT0gJzEnID8gJzAnIDogJzEnKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfSwgZm9sZCksXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICB9KVxcblxcbmNhdGVnb3JpZXMuZm9yRWFjaCgoY2F0ZWdvcnksIGluZGV4KSA9PiB7XFxuICAgICAgICBsZXQgc3ViX2NhdGVnb3JpZXMgPSBwZGZhKGNhdGVnb3J5LCDlsI/nsbvlrprkvY0pO1xcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXMuZm9yRWFjaCgoaXRlbSwga2V5KSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCB0aXRsZSA9IHBkZmgoaXRlbSwg5YiG57G75qCH6aKYKVxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGtleS50b1N0cmluZygpID09PSBjYXRlX3RlbXBbaW5kZXhdID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogJyArIOWIhuexu+minOiJsiArICdcXFwiPicgKyB0aXRsZSArICc8L3NwYW4+PC9iPicgOiB0aXRsZSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdfY2F0ZSA9IFtdXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcC5mb3JFYWNoKChjYXRlLCBpbmRleCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY2F0ZS5wdXNoKGluZGV4ID09PSAwID8gcGFyYW1zLmtleS50b1N0cmluZygpIDogXFxcIjBcXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KG5ld19jYXRlKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS51cmwsIGlucHV0KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfSBlbHNlIGlmIChmb2xkID09PSAnMScpIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gcGRmaChpdGVtLCDliIbnsbvmoIfpopgpXFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcImNvbG9yOiAnICsg5YiG57G76aKc6ImyICsgJ1xcXCI+JyArIHRpdGxlICsgJzwvc3Bhbj48L2I+JyA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcFtwYXJhbXMuaW5kZXhdID0gcGFyYW1zLmtleS50b1N0cmluZygpXFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KHBhcmFtcy5jYXRlX3RlbXApKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICB9KVxcbn1cXG5cIn1dLFwicGFyYW1zXCI6XCJ7XFxcImNsc1xcXCI6XFxcIlxcXCIsXFxcImlkXFxcIjpcXFwiXFxcIixcXFwiaW1nXFxcIjpcXFwiaHR0cHM6Ly95b3VrdS55b3VrdXBob3RvLmNvbS91cGxvYWQvdm9kLzIwMjMwNzA4LTEvOWNiN2QzMTRkYmRjZjU2M2JkMDBhMjExNGZjYjM0MWEuanBnQFJlZmVyZXI9XFxcIn1cIixcInNhdmVkXCI6ZmFsc2UsXCJ0aXRsZVwiOlwiQVBQ5b2x6KeGzrFcIixcInZlcnNpb25cIjowLFwidXJsXCI6XCJoaWtlcjovL2VtcHR5IyNodHRwczovL3d3dy5hcHBtb3ZpZS5jYy9pbmRleC5waHAvdm9kL2RldGFpbC9pZC81MTU1NjkuaHRtbCNpbW1lcnNpdmVUaGVtZSM7Z2V0O1VURi04O3tVc2VyLUFnZW50QE1vemlsbGEvNS4wIChMaW51eO+8m++8myBBbmRyb2lkIDEx77yb77ybIE1pIDEwIFBybykgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzg4LjAuNDMyNC4xNTIgTW9iaWxlIFNhZmFyaS81MzcuMzZ9XCIsXCJjb2xfdHlwZVwiOlwibW92aWVfMVwiLFwiZmluZF9ydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcblxcbk1ZX1VSTD1NWV9VUkwucmVwbGFjZSgnaGlrZXI6Ly9lbXB0eSMjJywnJyk7XFxudmFyIGh0bWwgPSBmZXRjaChNWV9VUkwpO1xcblxcbmQucHVzaCh7XFxuICAgICB0aXRsZTogJ+eJh+WQje+8micgKyBwZGZoKGh0bWwsICdib2R5JiYudGl0bGUmJlRleHQnKSArXFxuICAgICAgICAnXFxcXG4nICsgcGRmaChodG1sLCAnYm9keSYmLmRhdGE6Y29udGFpbnMo57G75Z6LKSYmVGV4dCcpLFxcbiAgICBkZXNjOiBwZGZoKGh0bWwsICdib2R5JiYuZGF0YTpjb250YWlucyjlr7zmvJQpJiZUZXh0Jykuc3Vic3RyKDAsMTYpICsgJ1xcXFxuJyBcXG4rIHBkZmgoaHRtbCwgJ2JvZHkmJi5kYXRhOmNvbnRhaW5zKOS4u+a8lCkmJlRleHQnKS5zdWJzdHIoMCwxMCkrICdcXFxcbicgXFxuKyBwZGZoKGh0bWwsICdib2R5JiYuZGF0YTpjb250YWlucyjnirbmgIEpJiZUZXh0JyksXFxuICAgIGltZzogTVlfUEFSQU1TLmltZyxcXG4gICAgdXJsOiBNWV9VUkwsXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cidcXG59KTtcXG4vL+eugOS7i1xcbnZhciBkZXNjID0gcGRmaChodG1sLCAnLnN0dWktY29udGVudF9fZGVzYyYmVGV4dCcpO1xcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvZXI/cnVsZT3OsScpKS5ydWxlKTtcXG5cXG5cXG5cXG5mdW5jdGlvbiBzZXREZXNjKGFyciwgZGVzYykge1xcbiAgICBmdW5jdGlvbiBjdXRzdHIoc3RyLCBsZW4pIHtcXG4gICAgICAgIHZhciBzdHJfbGVuZ3RoID0gMDtcXG4gICAgICAgIHZhciBzdHJfbGVuID0gMDtcXG4gICAgICAgIHN0cl9jdXQgPSBuZXcgU3RyaW5nKCk7XFxuICAgICAgICBzdHJfbGVuID0gc3RyLmxlbmd0aDtcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyX2xlbjsgaSsrKSB7XFxuICAgICAgICAgICAgYSA9IHN0ci5jaGFyQXQoaSk7XFxuICAgICAgICAgICAgc3RyX2xlbmd0aCsrO1xcbiAgICAgICAgICAgIGlmIChlc2NhcGUoYSkubGVuZ3RoID4gNCkge1xcbiAgICAgICAgICAgICAgICAvL+S4reaWh+Wtl+espueahOmVv+W6pue7j+e8lueggeS5i+WQjuWkp+S6jjRcXG4gICAgICAgICAgICAgICAgc3RyX2xlbmd0aCsrO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBzdHJfY3V0ID0gc3RyX2N1dC5jb25jYXQoYSk7XFxuICAgICAgICAgICAgaWYgKHN0cl9sZW5ndGggPj0gbGVuKSB7XFxuICAgICAgICAgICAgICAgIC8v6L6+5Yiw55uu5qCH6ZW/5bqm77yM5Y2z5Li65a2X56ym5Liy5Yqg5LiK55yB55Wl5Y+35bm26L+U5ZueXFxuICAgICAgICAgICAgICAgIHN0cl9jdXQgPSBzdHJfY3V0LmNvbmNhdChcXFwiLi4uXFxcIik7XFxuICAgICAgICAgICAgICAgIHJldHVybiBzdHJfY3V0O1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICAgIC8v5aaC5p6c5a2X56ym5Liy6ZW/5bqm5bCP5LqO6ZyA6KaB6KOB5YiH55qE6ZW/5bqm77yM55u05o6l6L+U5ZueXFxuICAgICAgICBpZiAoc3RyX2xlbmd0aCA8IGxlbikge1xcbiAgICAgICAgICAgIHJldHVybiBzdHI7XFxuICAgICAgICB9XFxuICAgIH1cXG4gICAgZGVzYz1kZXNjLmNvbnN0cnVjdG9yPT1BcnJheT9kZXNjLmpvaW4oJycpOmRlc2M7XFxuICAgIGlmIChkZXNjLnJlcGxhY2UoLyg8YnI+fFxcXFxzKykvZywgJycpLmxlbmd0aCA9PSAwKSB7XFxuICAgICAgICByZXR1cm5cXG4gICAgfVxcbiAgICBkZXNjID0gZGVzYy5zdGFydHNXaXRoKCfjgIDjgIAnKSA/IGRlc2MgOiAn44CA44CAJyArIGRlc2M7XFxuICAgIGRlc2MgPSAnPHNtYWxsPicgKyBkZXNjICsgJzwvc21hbGw+JztcXG4gICAgbGV0IHNkZXNjID0gY3V0c3RyKGRlc2MsIDExMSk7XFxuICAgIGFyci5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn5Ymn5oOF566A5LuLPHNwYW4gc3R5bGU9XFxcImNvbG9yOiNmZjAwMDA7XFxcIj48Yj48c21hbGw+JyArIHN0b3JhZ2UwLmdldEl0ZW0oJ2RzaG93JywgJ+WxleW8gCcpICsgJzwvc21hbGw+PC9iPjwvc3Bhbj46JyxcXG4gICAgICAgIGNvbF90eXBlOiAnYXZhdGFyJyxcXG4gICAgICAgIGltZzogJ2h0dHBzOi8vaGlrZXJmYW5zLmNvbS90dWJpYW8vc3lzdGVtLzc1LnBuZycsXFxuICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGRjLCBzZGMpID0+IHtcXG4gICAgICAgICAgICB2YXIgZHMgPSBzdG9yYWdlMC5nZXRJdGVtKCdkc2hvdycsICflsZXlvIAnKTtcXG4gICAgICAgICAgICB2YXIgdGl0bGUgPSBmaW5kSXRlbSgnZHNob3cnKS50aXRsZTtcXG4gICAgICAgICAgICBpZiAoZHMgPT0gJ+WxleW8gCcpIHtcXG4gICAgICAgICAgICAgICAgc3RvcmFnZTAuc2V0SXRlbSgnZHNob3cnLCAn5pS26LW3JylcXG4gICAgICAgICAgICAgICAgdXBkYXRlSXRlbSgnZGNvbnRlbnQnLCB7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogZGMsXFxuICAgICAgICAgICAgICAgIH0pO1xcblxcbiAgICAgICAgICAgICAgICB1cGRhdGVJdGVtKCdkc2hvdycsIHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZS5yZXBsYWNlKCflsZXlvIAnLCAn5pS26LW3JylcXG4gICAgICAgICAgICAgICAgfSk7XFxuXFxuICAgICAgICAgICAgICAgIHVwZGF0ZUl0ZW1cXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBzdG9yYWdlMC5zZXRJdGVtKCdkc2hvdycsICflsZXlvIAnKVxcbiAgICAgICAgICAgICAgICB1cGRhdGVJdGVtKCdkY29udGVudCcsIHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBzZGMsXFxuICAgICAgICAgICAgICAgIH0pO1xcblxcbiAgICAgICAgICAgICAgICB1cGRhdGVJdGVtKCdkc2hvdycsIHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZS5yZXBsYWNlKCfmlLbotbcnLCAn5bGV5byAJylcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgIH0sIGRlc2MsIHNkZXNjKSxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgaWQ6ICdkc2hvdycsXFxuICAgICAgICB9XFxuICAgIH0pXFxuICAgIGFyci5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBzdG9yYWdlMC5nZXRJdGVtKCdkc2hvdycsICflsZXlvIAnKSA9PSAn5bGV5byAJyA/IHNkZXNjIDogZGVzYyxcXG4gICAgICAgIGNvbF90eXBlOiAncmljaF90ZXh0JyxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgaWQ6ICdkY29udGVudCcsXFxuICAgICAgICB9XFxuICAgIH0pXFxufVxcblxcbnNldERlc2MoZCwgZGVzYyk7XFxuXFxuZnVuY3Rpb24gY291bnRDaGFycyhzdHIpIHtcXG4gICAgY29uc3QgY2hpbmVzZVJlZ2V4ID0gL1tcXFxcdTRlMDAtXFxcXHU5ZmE1XS9nOyAvLyDljLnphY3kuK3mloflrZfnrKZcXG4gICAgY29uc3QgZW5nbGlzaFJlZ2V4ID0gL1thLXpBLVpdL2c7IC8vIOWMuemFjeiLseaWh+Wtl+esplxcbiAgICBjb25zdCBudW1iZXJSZWdleCA9IC9cXFxcZC9nOyAvL+WMuemFjeaVsOWtl1xcbiAgICBjb25zdCBjaGluZXNlQ291bnQgPSAoc3RyLm1hdGNoKGNoaW5lc2VSZWdleCkgfHwgW10pLmxlbmd0aDtcXG4gICAgY29uc3QgZW5nbGlzaENvdW50ID0gKHN0ci5tYXRjaChlbmdsaXNoUmVnZXgpIHx8IFtdKS5sZW5ndGg7XFxuICAgIGNvbnN0IG51bWJlckNvdW50ID0gKHN0ci5tYXRjaChudW1iZXJSZWdleCkgfHwgW10pLmxlbmd0aDtcXG4gICAgcmV0dXJuIHtcXG4gICAgICAgIGNoaW5lc2VDb3VudCxcXG4gICAgICAgIGVuZ2xpc2hDb3VudCxcXG4gICAgICAgIG51bWJlckNvdW50LFxcbiAgICB9O1xcbn1cXG5cXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2xhenknKSkucnVsZSk7XFxuXFxuXFxuLy/nur/ot6/vvIzmiYDmnInpgInpm4bliJfooajvvIznur/ot6/lkI3vvIzljZXnur/ot6/miYDmnInpm4bmlbBcXG5cXG52YXIg57q/6LevID0gJ2JvZHkmJmgzOm50aC1jaGlsZChuKzIpJ1xcbnZhciDpgInpm4YgPSAnYm9keSYmLnN0dWktY29udGVudF9fcGxheWxpc3QnXFxudmFyIOe6v+i3r+WQjSA9ICdUZXh0J1xcbnZhciDpgInpm4bliJfooaggPSAnYm9keSYmYSdcXG5cXG5cXG52YXIgcGxheWxpc3QgPSBbe1xcbiAgICDnsbvlnos6ICfmkq3mlL7liJfooagnLFxcbiAgICDnur/ot686IOe6v+i3ryxcXG4gICAg6YCJ6ZuGOiDpgInpm4YsXFxuICAgIOe6v+i3r+WQjeensDog57q/6Lev5ZCNLFxcbiAgICDpgInpm4bliJfooag6IOmAiembhuWIl+ihqCxcXG4gICAg5o6S6ZmkOiAnJyxcXG4gICAgLy/pgInpm4blkI3np7A6ICfnjJzkvaDllpzmrKInLFxcbiAgICAvL+mAiembhumTvuaOpTogJycsXFxuICAgIOino+aekDogbGF6eVxcbn1dXFxuXFxuRXJqaS5nZXRQbGF5ZXJzKHBsYXlsaXN0LCAyKTtcXG5cXG5zZXRSZXN1bHQoZClcIixcImdyb3VwXCI6XCIjMTIzXCIsXCJ1YVwiOlwibW9iaWxlXCIsXCJwcmVSdWxlXCI6XCJ2YXIgaGFzU3ViID0gaGFzSG9tZVN1YignaHR0cDovL2hpa2VyLm5va2lhLnByZXNzL2hpa2VydWxlL3J1bGVsaXN0Lmpzb24/aWQ9NjQxNyZkZWJ1Zz10cnVlJylcXG5cXG5pZiAoIWhhc1N1Yikge1xcbiAgICBjb25maXJtKHtcXG4gICAgICAgIHRpdGxlOiAn5L6d6LWW5qOA5rWLJyxcXG4gICAgICAgIGNvbnRlbnQ6ICfmo4DmtYvliLDnvLrlsJHlsI/nqIvluo8s6K+35a+85YWlIScsXFxuICAgICAgICBjb25maXJtOiAoKSA9PiB7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJydWxlOi8vNXJXMzZaaVU2S2VHNTVXTTVZMlY2S2VFNVlpWjZLNmk2WmlGNzcrbGFHOXRaVjl6ZFdMdnY2WE9zVUJBYUhSMGNEb3ZMMmhwYTJWeUxtNXZhMmxoTG5CeVpYTnpMMmhwYTJWeWRXeGxMM0oxYkdWc2FYTjBMbXB6YjI0L2FXUTlOalF4Tnlaa1pXSjFaejEwY25WbFxcXCJcXG4gICAgICAgIH1cXG4gICAgfSlcXG59IGVsc2Uge1xcbiAgICBpZiAocmVxdWVzdCgnaGlrZXI6Ly9ob21lQM6xJykgPT0gJ251bGwnKSB7XFxuICAgICAgICBjb25maXJtKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+S+nei1luajgOa1iycsXFxuICAgICAgICAgICAgY29udGVudDogJ+ajgOa1i+WIsOe8uuWwkeWwj+eoi+W6jyzor7flr7zlhaUhJyxcXG4gICAgICAgICAgICBjb25maXJtOiAoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwi5rW36ZiU6KeG55WM6aaW6aG16aKR6YGT6KeE5YiZ44CQzrHjgJHvv6Vob21lX3J1bGVfdXJs77+laHR0cDovL2hpa2VyLm5va2lhLnByZXNzL2hpa2VydWxlL3J1bGVsaXN0Lmpzb24/aWQ9NjQxN1xcXCJcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICB9XFxufVwiLFwicGFnZXNcIjpcIlt7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCJsYXp5XFxcIixcXFwicGF0aFxcXCI6XFxcImxhenlcXFwiLFxcXCJydWxlXFxcIjpcXFwidmFyIGxhenkgPSAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XFxcXG4gICAgdHJ5IHtcXFxcbiAgICAgICAgZnVuY3Rpb24gdG9VcmwocGxheVVybCkge1xcXFxuICAgICAgICAgICAgaWYgKC9tZ3R2fHNvaHUvLnRlc3QocGxheVVybCkpIHtcXFxcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybCArIFxcXFxcXFwiO3tVc2VyLUFnZW50QE1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApfVxcXFxcXFwiO1xcXFxuICAgICAgICAgICAgfSBlbHNlIGlmICgvYmlsaS8udGVzdChwbGF5VXJsKSkge1xcXFxuICAgICAgICAgICAgICAgIHJldHVybiBwbGF5VXJsICsgXFxcXFxcXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAmJlJlZmVyZXJAaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tfVxcXFxcXFwiO1xcXFxuICAgICAgICAgICAgfSBlbHNlIGlmICgvaXhpZ3VhLy50ZXN0KHBsYXlVcmwpKSB7XFxcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlVcmwgKyBcXFxcXFxcIiNpc1ZpZGVvPXRydWUjXFxcXFxcXCIgKyBcXFxcXFxcIiMubXA0O3tSZWZlcmVyQGh0dHBzOi8vd3d3Lml4aWd1YS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfVxcXFxcXFwiO1xcXFxuICAgICAgICAgICAgfSBlbHNlIHtcXFxcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybDtcXFxcbiAgICAgICAgICAgIH1cXFxcbiAgICAgICAgfVxcXFxuXFxcXG4gICAgICAgIHZhciBodG1sID0gcmVxdWVzdChpbnB1dCwge30pO1xcXFxuICAgICAgICB2YXIgcGxheWVyX2RhdGEgPSBKU09OLnBhcnNlKGh0bWwubWF0Y2goL3IgcGxheWVyXy4qPz0oLio/KTwvKVsxXSk7XFxcXG4gICAgICAgIHZhciBmcm8gPSBwbGF5ZXJfZGF0YS5mcm9tO1xcXFxuICAgICAgICB2YXIgcGxheVVybCA9IHBsYXllcl9kYXRhLnVybDtcXFxcblxcXFxuXFxcXG4gICAgICAgIGlmIChwbGF5ZXJfZGF0YS5lbmNyeXB0ID09ICcxJykge1xcXFxuICAgICAgICAgICAgcGxheVVybCA9IHVuZXNjYXBlKHBsYXllcl9kYXRhLnVybCk7XFxcXG4gICAgICAgIH0gZWxzZSBpZiAocGxheWVyX2RhdGEuZW5jcnlwdCA9PSAnMicpIHtcXFxcbiAgICAgICAgICAgIHBsYXlVcmwgPSB1bmVzY2FwZShiYXNlNjREZWNvZGUocGxheWVyX2RhdGEudXJsKSk7XFxcXG4gICAgICAgIH07XFxcXG4gICAgICAgIHZhciBleGNsdWRlID0gL3BsYXltM3U4fG0zdThcXFxcXFxcXC50dnxtaW5cXFxcXFxcXC5jc3N8NDA0XFxcXFxcXFwubTN1OHxcXFxcXFxcXC5jc3MvO1xcXFxuICAgICAgICB2YXIgY29udGFpbiA9IC9cXFxcXFxcXC5tcDR8XFxcXFxcXFwubTN1OHxcXFxcXFxcXC5mbHZ8XFxcXFxcXFwuYXZpfFxcXFxcXFxcLm1wZWd8XFxcXFxcXFwud212fFxcXFxcXFxcLm1vdnxcXFxcXFxcXC5ybXZifFxcXFxcXFxcLmRhdHxxcUJGZG93bmxvYWR8bWltZT12aWRlbyUyRnx2aWRlb19tcDQvO1xcXFxuICAgICAgICBpZiAoIWV4Y2x1ZGUudGVzdChwbGF5VXJsKSAmJiBjb250YWluLnRlc3QocGxheVVybCkpIHtcXFxcbiAgICAgICAgICAgIHJldHVybiB0b1VybChwbGF5VXJsKTtcXFxcbiAgICAgICAgfVxcXFxuXFxcXG4gICAgICAgIHZhciBqeFVybCA9ICdodHRwczovL2xhbmd1YW5nLmtza3N5LmNvbS8/dXJsPScgKyBwbGF5VXJsICsgJyZ0bT0nICsgcGxheWVyX2RhdGEudG0gKyAnJmtleT0nICsgcGxheWVyX2RhdGEua2V5ICsgJyZuZXh0PScgKyBwbGF5ZXJfZGF0YS5saW5rX25leHQgKyAnJnRpdGxlPScgKyBwZGZoKGh0bWwsIFxcXFxcXFwidGl0bGUmJlRleHRcXFxcXFxcIikuc3BsaXQoXFxcXFxcXCItXFxcXFxcXCIpWzBdO1xcXFxuICAgICAgICB2YXIganhIdG1sID0gcmVxdWVzdChqeFVybCwge1xcXFxuICAgICAgICAgICAgaGVhZGVyczoge1xcXFxuICAgICAgICAgICAgICAgIFxcXFxcXFwiVXNlci1BZ2VudFxcXFxcXFwiOiBcXFxcXFxcIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApXFxcXFxcXCJcXFxcbiAgICAgICAgICAgIH0sXFxcXG4gICAgICAgICAgICBtZXRob2Q6IFxcXFxcXFwiR0VUXFxcXFxcXCJcXFxcbiAgICAgICAgfSk7XFxcXG4gICAgICAgIGV2YWwoanhIdG1sLm1hdGNoKC92YXIgY29uZmlnID0ge1tcXFxcXFxcXHNcXFxcXFxcXFNdKj99LylbMF0gKyBcXFxcXFxcIlxcXFxcXFwiKTtcXFxcbiAgICAgICAgdmFyIGFwaVVybCA9ICdodHRwczovL2xhbmd1YW5nLmtza3N5LmNvbS9BUEkucGhwJztcXFxcbiAgICAgICAgdmFyIGFwaUh0bWwgPSByZXF1ZXN0KGFwaVVybCwge1xcXFxuICAgICAgICAgICAgaGVhZGVyczoge1xcXFxuICAgICAgICAgICAgICAgIFxcXFxcXFwiVXNlci1BZ2VudFxcXFxcXFwiOiBcXFxcXFxcIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApXFxcXFxcXCJcXFxcbiAgICAgICAgICAgIH0sXFxcXG4gICAgICAgICAgICBib2R5OiBcXFxcXFxcInVybD1cXFxcXFxcIiArIGNvbmZpZy51cmwgKyBcXFxcXFxcIiZ0aW1lPVxcXFxcXFwiICsgY29uZmlnLnRpbWUgKyBcXFxcXFxcIiZrZXk9XFxcXFxcXCIgKyBjb25maWcua2V5LFxcXFxuICAgICAgICAgICAgbWV0aG9kOiBcXFxcXFxcIlBPU1RcXFxcXFxcIlxcXFxuICAgICAgICB9KTtcXFxcbiAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGFwaUh0bWwpO1xcXFxuICAgICAgICBpZiAoanNvbi5jb2RlID09IDIwMCkge1xcXFxuICAgICAgICAgICAgcGxheVVybCA9IGpzb24udXJsO1xcXFxuICAgICAgICAgICAgcmV0dXJuIHRvVXJsKHBsYXlVcmwpO1xcXFxuICAgICAgICB9IGVsc2Uge1xcXFxuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovLycgKyBqc29uLm1zZztcXFxcbiAgICAgICAgfVxcXFxuXFxcXG4gICAgfSBjYXRjaCAoZSkge1xcXFxuICAgICAgICAvL3NldEVycm9yKGUpO1xcXFxuICAgICAgICBzaG93TG9hZGluZyhcXFxcXFxcIuato+WcqOi/m+ihjOajgOe0ou+8jOivt+eojeWAmS4uLlxcXFxcXFwiKTtcXFxcbiAgICAgICAgdmFyIHZpZGVvID0gJ3g1UnVsZTovLycgKyBpbnB1dCArICdAJyArICQudG9TdHJpbmcoKCkgPT4ge1xcXFxuICAgICAgICAgICAgLy9mYmEubG9nKGZiYS5nZXRVcmxzKCkpXFxcXG4gICAgICAgICAgICB2YXIgdXJscyA9IF9nZXRVcmxzKClcXFxcbiAgICAgICAgICAgIHZhciBleGNsdWRlID0gL3BsYXltM3U4fG0zdThcXFxcXFxcXC50dnxtaW5cXFxcXFxcXC5jc3N8NDA0XFxcXFxcXFwubTN1OHxcXFxcXFxcXC5jc3MvO1xcXFxuICAgICAgICAgICAgdmFyIGNvbnRhaW4gPSAvXFxcXFxcXFwubXA0fFxcXFxcXFxcLm0zdTh8XFxcXFxcXFwuZmx2fFxcXFxcXFxcLmF2aXxcXFxcXFxcXC5tcGVnfFxcXFxcXFxcLndtdnxcXFxcXFxcXC5tb3Z8XFxcXFxcXFwucm12YnxcXFxcXFxcXC5kYXR8cXFCRmRvd25sb2FkfG1pbWU9dmlkZW8lMkZ8dmlkZW9fbXA0LztcXFxcbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gdXJscykge1xcXFxuICAgICAgICAgICAgICAgIGlmICghZXhjbHVkZS50ZXN0KHVybHNbaV0pICYmIGNvbnRhaW4udGVzdCh1cmxzW2ldKSkge1xcXFxuICAgICAgICAgICAgICAgICAgICAvLyBmeV9icmlkZ2VfYXBwLmxvZyh1cmxzW2ldKVxcXFxuICAgICAgICAgICAgICAgICAgICBpZiAoL21ndHZ8c29odS8udGVzdCh1cmxzW2ldKSkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyBcXFxcXFxcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKX1cXFxcXFxcIjtcXFxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvYmlsaS8udGVzdCh1cmxzW2ldKSkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyBcXFxcXFxcIjt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCYmUmVmZXJlckBodHRwczovL3d3dy5iaWxpYmlsaS5jb219XFxcXFxcXCI7XFxcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL2l4aWd1YS8udGVzdCh1cmxzW2ldKSkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyBcXFxcXFxcIiNpc1ZpZGVvPXRydWUjXFxcXFxcXCIgKyBcXFxcXFxcIiMubXA0O3tSZWZlcmVyQGh0dHBzOi8vd3d3Lml4aWd1YS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfVxcXFxcXFwiO1xcXFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV1cXFxcbiAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgIH1cXFxcbiAgICAgICAgfSk7XFxcXG4gICAgICAgIHJldHVybiB2aWRlbztcXFxcbiAgICB9XFxcXG59KTtcXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCJkdFxcXCIsXFxcInBhdGhcXFwiOlxcXCJkdFxcXCIsXFxcInJ1bGVcXFwiOlxcXCJjb25zdCBlbXB0eSA9IFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gdmFyIGNhdGVnb3JpZXMgPSBwZGZhKGh0bWwsIOmhteeggeWumuS9jSlcXFxcblxcXFxubGV0IGluaXRfY2F0ZSA9IFtdXFxcXG5cXFxcbmZvciAobGV0IGkgPSAwOyBpIDwgMjA7IGkrKykge1xcXFxuICAgIGluaXRfY2F0ZS5wdXNoKFxcXFxcXFwiMFxcXFxcXFwiKVxcXFxufVxcXFxuXFxcXG5jb25zdCBmb2xkID0gZ2V0VmFyKE1ZX1JVTEUuZ3JvdXAsIFxcXFxcXFwiMFxcXFxcXFwiKVxcXFxuY29uc3QgY2F0ZV90ZW1wX2pzb24gPSBnZXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkoaW5pdF9jYXRlKSlcXFxcbmNvbnN0IGNhdGVfdGVtcCA9IEpTT04ucGFyc2UoY2F0ZV90ZW1wX2pzb24pXFxcXG5cXFxcbmlmIChwYXJzZUludChwYWdlKSA9PT0gMSkge1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBmb2xkID09PSAnMScgPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcXFxcXCJjb2xvcjogIzE5Qjg5RFxcXFxcXFwiPjogKDwvc3Bhbj48L2I+JyA6ICfigJzigJzigJ3igJ08Yj48c3BhbiBzdHlsZT1cXFxcXFxcImNvbG9yOiAjOTEwMTEzXFxcXFxcXCI+OiApPC9zcGFuPjwvYj4nLFxcXFxuICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoZm9sZCkgPT4ge1xcXFxuICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUuZ3JvdXAsIGZvbGQgPT09ICcxJyA/ICcwJyA6ICcxJyk7XFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxcXG4gICAgICAgICAgICByZXR1cm4gXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCJcXFxcbiAgICAgICAgfSwgZm9sZCksXFxcXG4gICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxcXG4gICAgfSlcXFxcblxcXFxuY2F0ZWdvcmllcy5mb3JFYWNoKChjYXRlZ29yeSwgaW5kZXgpID0+IHtcXFxcbiAgICAgICAgbGV0IHN1Yl9jYXRlZ29yaWVzID0gcGRmYShjYXRlZ29yeSwg5bCP57G75a6a5L2NKTtcXFxcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XFxcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXFxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcXFxcXCJjb2xvcjogJyArIOWIhuexu+minOiJsiArICdcXFxcXFxcIj4nICsgdGl0bGUgKyAnPC9zcGFuPjwvYj4nIDogdGl0bGUsXFxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld19jYXRlID0gW11cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5jYXRlX3RlbXAuZm9yRWFjaCgoY2F0ZSwgaW5kZXgpID0+IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY2F0ZS5wdXNoKGluZGV4ID09PSAwID8gcGFyYW1zLmtleS50b1N0cmluZygpIDogXFxcXFxcXCIwXFxcXFxcXCIpXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KG5ld19jYXRlKSlcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiBwYWdlLFxcXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXFxcbiAgICAgICAgICAgICAgICB9KVxcXFxuICAgICAgICAgICAgfSlcXFxcbiAgICAgICAgICAgIGQucHVzaCh7XFxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXFxcXFwiYmxhbmtfYmxvY2tcXFxcXFxcIlxcXFxuICAgICAgICAgICAgfSk7XFxcXG4gICAgICAgIH0gZWxzZSBpZiAoZm9sZCA9PT0gJzEnKSB7XFxcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXFxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcXFxcXCJjb2xvcjogJyArIOWIhuexu+minOiJsiArICdcXFxcXFxcIj4nICsgdGl0bGUgKyAnPC9zcGFuPjwvYj4nIDogdGl0bGUsXFxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcFtwYXJhbXMuaW5kZXhdID0gcGFyYW1zLmtleS50b1N0cmluZygpXFxcXG5cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnRpdGxlLCBKU09OLnN0cmluZ2lmeShwYXJhbXMuY2F0ZV90ZW1wKSlcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiBwYWdlLFxcXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXFxcbiAgICAgICAgICAgICAgICB9KVxcXFxuICAgICAgICAgICAgfSlcXFxcbiAgICAgICAgICAgIGQucHVzaCh7XFxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXFxcXFwiYmxhbmtfYmxvY2tcXFxcXFxcIlxcXFxuICAgICAgICAgICAgfSk7XFxcXG4gICAgICAgIH1cXFxcbiAgICB9KVxcXFxufVxcXFxuXFxcIn1dXCJ9IiwicGljVXJsIjoiaHR0cHM6Ly95b3VrdS55b3VrdXBob3RvLmNvbS91cGxvYWQvdm9kLzIwMjMwNzA4LTEvOWNiN2QzMTRkYmRjZjU2M2JkMDBhMjExNGZjYjM0MWEuanBnQFJlZmVyZXI9IiwidGl0bGUiOiLlhavop5LnrLzkuK0ifQ==
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement