Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥京圈太子爷每天都想转正完蛋我养的小白脸是京圈太子爷@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZGlzcGxheU5hbWVcIjpcIueIseein+W9seinhlwiLFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJcIixcImxpc3RUb0NsZWFyQXNzb2NpYXRlZEZLXCI6W10sXCJsaXN0VG9DbGVhclNlbGZGS1wiOltdLFwicGFnZUxpc3RcIjpbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaOqOmAgVwiLFwicGF0aFwiOlwicHVzaFwiLFwicnVsZVwiOlwianM6XFxubGV0IGl0ZW1zID0gW107XFxubGV0IHB1c2hpbiA9IGRlY29kZVVSSUNvbXBvbmVudChnZXRQYXJhbShcXFwicHVzaHVybFxcXCIpKTtcXG5sZXQgdHZpcCA9IGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnJyk7XFxuXFxuaXRlbXMucHVzaCh7XFxuICAgIHRpdGxlOiAn5b2T5YmNSVDvvJonICsgdHZpcCxcXG4gICAgdXJsOiBcXFwiaW5wdXQ6Ly9cXFwiICsgZ2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsICdodHRwOi8vJyArIGdldElQKCkgKyAnOjk5NzgnKSArIFxcXCIvLy8v6K+36L6T5YWlVFZCb3jnq6/nmoRJUOWcsOWdgO+8jOWmgmh0dHA6Ly9cXFwiICsgZ2V0SVAoKSArIFxcXCI6OTk3OC5qczpzZXRJdGVtKCdoaWtlcnR2Ym94c2V0JyxpbnB1dCk7cmVmcmVzaFBhZ2UoKVxcXCIsXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxufSk7XFxudmFyIHB1cmwgPSBwdXNoaW47XFxuXFxuaWYgKHB1c2hpbi5pbmNsdWRlcygnXFxcXG4nKSAmJiAhcHVzaGluLnN0YXJ0c1dpdGgoJ3snKSkge1xcbiAgICBwdXJsID0gcHVzaGluLnJlcGxhY2UoXFxcIlxcXFxuXFxcIiwgJyQnKTtcXG59XFxuaWYgKHB1c2hpbi5zdGFydHNXaXRoKCdodHRwJykgJiYgcHVzaGluLmluY2x1ZGVzKCc7eycpKSB7XFxuICAgIHB1cmwgPSBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLmtbfpmJTnm7Tpk77mjqjpgIFcXFwiLFxcbiAgICAgICAgXFxcInVybFxcXCI6IHB1c2hpblxcbiAgICB9KVxcbn1cXG5pZiAocHVzaGluLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vd3d3LmFsaXl1bmRyaXZlLmNvbS9zLycpKSB7XFxuICAgIGxldCByZWZ0b2tlbiA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMvaWN5L2ljeS1hbGktdG9rZW4uanNvbicsIHt9KSlbMF0ucmVmcmVzaF90b2tlbjtcXG4gICAgcHVybCA9IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgIFxcXCJ1cmxcXFwiOiBwdXNoaW4sXFxuICAgICAgICBcXFwicmVmcmVzaF90b2tlblxcXCI6IHJlZnRva2VuXFxuICAgIH0pXFxufVxcbmlmIChwdXNoaW4uaW5jbHVkZXMoJzo1MjAyMCcpKSB7XFxuICAgIGlmIChwdXNoaW4uaW5jbHVkZXMoJ3JlZGlyZWN0UGxheVVybCcpKSB7XFxuICAgICAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIua1t+mYlOaKleWxj+ebtOmTvlxcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6IHB1c2hpblxcbiAgICAgICAgfSlcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHB1cmwgPSBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5rW36ZiU572R6aG15oqV5bGPXFxcIixcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjogcHVzaGluXFxuICAgICAgICB9KVxcbiAgICB9XFxufVxcblxcbi8vbG9nKCfmjqjpgIEnK3B1cmwpO1xcbnZhciBzdGF0ZSA9IHJlcXVlc3QodHZpcCArICcvYWN0aW9uJywge1xcbiAgICBoZWFkZXJzOiB7XFxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXFxuICAgICAgICAvLydYLVJlcXVlc3RlZC1XaXRoJzogJ1hNTEh0dHBSZXF1ZXN0JyxcXG4gICAgICAgICdSZWZlcmVyJzogdHZpcFxcbiAgICB9LFxcbiAgICB0aW1lb3V0OiAyMDAwLFxcbiAgICBib2R5OiAnZG89cHVzaCZ1cmw9JyArIHB1cmwucmVwbGFjZSgvXFxcXCYvZywgJ++8hu+8hicpLFxcbiAgICBtZXRob2Q6ICdQT1NUJ1xcbn0pO1xcbi8vbG9nKHN0YXRlKTtcXG5pZiAoc3RhdGUgPT0gJ29rJykge1xcbiAgICAvL2xvZyhzdGF0ZSk7XFxuICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IFxcXCLinIVcXFwiICsgc3RhdGUsXFxuICAgICAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5XFxcIixcXG4gICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG4gICAgfSk7XFxufSBlbHNlIHtcXG4gICAgLy9sb2coc3RhdGUpO1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi4p2OXFxcIiArIHN0YXRlLFxcbiAgICAgICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxuICAgIH0pO1xcblxcbn1cXG5zZXRSZXN1bHQoaXRlbXMpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5Yqo5oCBXCIsXCJwYXRoXCI6XCJkdDFcIixcInJ1bGVcIjpcImNvbnN0IGVtcHR5ID0gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuXFxuaWYgKHR5cGVvZijmi7zmjqXliIbnsbspICE9ICd1bmRlZmluZWQnICYmIOaLvOaOpeWIhuexuyAhPSAnJykge1xcbiAgICB2YXIgY2F0ZWdvcmllcyA9IHBkZmEoaHRtbCwg5aSn57G75a6a5L2NKS5jb25jYXQocGRmYShodG1sLCDmi7zmjqXliIbnsbspKVxcbn0gZWxzZSB7XFxuICAgIHZhciBjYXRlZ29yaWVzID0gcGRmYShodG1sLCDlpKfnsbvlrprkvY0pXFxufVxcblxcbmxldCBpbml0X2NhdGUgPSBbXVxcblxcbmZvciAobGV0IGkgPSAwOyBpIDwgMjA7IGkrKykge1xcbiAgICBpbml0X2NhdGUucHVzaChcXFwiMFxcXCIpXFxufVxcblxcbmNvbnN0IGZvbGQgPSBnZXRWYXIoTVlfUlVMRS5ncm91cCwgXFxcIjBcXFwiKVxcbmNvbnN0IGNhdGVfdGVtcF9qc29uID0gZ2V0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KGluaXRfY2F0ZSkpXFxuY29uc3QgY2F0ZV90ZW1wID0gSlNPTi5wYXJzZShjYXRlX3RlbXBfanNvbilcXG5cXG5pZiAocGFyc2VJbnQocGFnZSkgPT09IDEpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBmb2xkID09PSAnMScgPyAn4oCc4oCc4oCd4oCdPGI+JyArICfwn5GQJy5mb250Y29sb3IoXFxcIiNGRjAwMDBcXFwiKSArICc8L2I+JyA6ICfigJzigJzigJ3igJ08Yj4nICsgJ/CfkY8nLmZvbnRjb2xvcihcXFwiIzFhYWQxOVxcXCIpICsgJzwvYj4nLFxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKGZvbGQpID0+IHtcXG4gICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS5ncm91cCwgZm9sZCA9PT0gJzEnID8gJzAnIDogJzEnKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfSwgZm9sZCksXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICB9KVxcbiAgICBjYXRlZ29yaWVzLmZvckVhY2goKGNhdGVnb3J5LCBpbmRleCkgPT4ge1xcbiAgICAgICAgbGV0IHN1Yl9jYXRlZ29yaWVzID0gcGRmYShjYXRlZ29yeSwg5bCP57G75a6a5L2NKTtcXG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZijmjpLpmaQpICE9ICd1bmRlZmluZWQnICYmIOaOkumZpCAhPSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS5yZXBsYWNlKG5ldyBSZWdFeHAo5o6S6ZmkLCBcXFwiZ1xcXCIpLCBcXFwiXFxcIilcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGtleS50b1N0cmluZygpID09PSBjYXRlX3RlbXBbaW5kZXhdID8gXFxcIuKAnOKAnOKAneKAnVxcXCIgKyB0aXRsZS5mb250Y29sb3Io5YiG57G76aKc6ImyKSA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld19jYXRlID0gW11cXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2F0ZV90ZW1wLmZvckVhY2goKGNhdGUsIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19jYXRlLnB1c2goaW5kZXggPT09IDAgPyBwYXJhbXMua2V5LnRvU3RyaW5nKCkgOiBcXFwiMFxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkobmV3X2NhdGUpKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9IGVsc2UgaWYgKGZvbGQgPT09ICcxJykge1xcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZijmjpLpmaQpICE9ICd1bmRlZmluZWQnICYmIOaOkumZpCAhPSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS5yZXBsYWNlKG5ldyBSZWdFeHAo5o6S6ZmkLCBcXFwiZ1xcXCIpLCBcXFwiXFxcIilcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGtleS50b1N0cmluZygpID09PSBjYXRlX3RlbXBbaW5kZXhdID8gXFxcIuKAnOKAnOKAneKAnVxcXCIgKyB0aXRsZS5mb250Y29sb3Io5YiG57G76aKc6ImyKSA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcFtwYXJhbXMuaW5kZXhdID0gcGFyYW1zLmtleS50b1N0cmluZygpXFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KHBhcmFtcy5jYXRlX3RlbXApKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICB9KVxcbn1cIn1dLFwic2F2ZWRcIjpmYWxzZSxcInRpdGxlXCI6XCLlsI/nmb3nn63liadcIixcInZlcnNpb25cIjowLFwidXJsXCI6XCJodHRwczovL2lpZGllLmNvbS9zaG93LTEzNjU2NC8jaW1tZXJzaXZlVGhlbWUjO2dldDtVVEYtODt7VXNlci1BZ2VudEBNb3ppbGxhLzUuMCAoTGludXjvvJvvvJsgQW5kcm9pZCAxNO+8m++8myAyMzAxM1JLNzVDIEJ1aWxkL1VLUTEuMjMwODA0LjAwMe+8m++8myB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzExOC4wLjAuMCBNb2JpbGUgU2FmYXJpLzUzNy4zNn1cIixcImNvbF90eXBlXCI6XCJtb3ZpZV8xXCIsXCJmaW5kX3J1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxudmFyIGh0bWwgPSBnZXRSZXNDb2RlKCk7XFxuXFxucHV0VmFyKFxcXCJfeDVcXFwiLCAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgdmFyIHVybHMgPSBfZ2V0VXJscygpXFxuICAgIGZ1bmN0aW9uIGNoZWNrKHUpe1xcbiAgICAgICAgaWYgICh1Lm1hdGNoKC9cXFxcLm1wM3xcXFxcLm1wNHxcXFxcLm0zdTgvKSAmJiAhdS5tYXRjaCgvaHRtbHxtM3U4XFxcXC50dnxcXFxcJm5leHR8YWNcXFxcPWRtfFxcXFw9aHR0cHxodHRwc1xcXFw6XFxcXC9cXFxcL1tcXFxcZF1cXFxcLm0zdTh8XFxcXD91cmxcXFxcPVxcXFwvbTN1OC8pKXtcXG4gICAgICAgICAgIC8vIGZ5X2JyaWRnZV9hcHAubG9nKHVybHNbaV0pXFxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgICB9XFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG4gICAgZm9yICh2YXIgaSBpbiB1cmxzKSB7XFxuICAgICAgICBpZiAgKGNoZWNrKHVybHNbaV0pKXtcXG4gICAgICAgICAgIC8vIGZ5X2JyaWRnZV9hcHAubG9nKHVybHNbaV0pXFxuICAgICAgICAgICAgcmV0dXJuIHVybHNbaV1cXG4gICAgICAgIH1cXG4gICAgICAgIGlmKHVybHNbaV0uaW5jbHVkZXMoXFxcInVybD1odHRwXFxcIikpe1xcbiAgICAgICAgICAgIGxldCB1ID0gdXJsc1tpXS5zcGxpdChcXFwidXJsPVxcXCIpWzFdO1xcbiAgICAgICAgICAgIGlmKGNoZWNrKHUpKXtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHU7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufSkpXFxudmFyIGxhenkgPSBcXFwiQGxhenlSdWxlPS5qczpzaG93TG9hZGluZygn5q2j5Zyo6I635Y+W56uZ54K56LWE5rqQLOivt+eojeWQji4uLicpOyd4NVJ1bGU6Ly8nK2lucHV0KydAJyArIGdldFZhcignX3g1JylcXFwiO1xcblxcbi8v57q/6Lev5ZCN5YiX6KGo55qE5a6a5L2NXFxudmFyIGFydHMgPSBwYXJzZURvbUZvckFycmF5KGh0bWwsICdib2R5JiYudGl0MDR8fGgzJyk7XFxuICBcXG4vL+e6v+i3r+WQjeWIl+ihqOWQjeensOeahOWumuS9jVxcbnZhciB0YWJzID0gW107XFxuZm9yICh2YXIgaSBpbiBhcnRzKSB7XFxuICAgIHRhYnMucHVzaChwYXJzZURvbUZvckh0bWwoYXJ0c1tpXSwgJ2gyJiZUZXh0JykpXFxufVxcblxcblxcbi8v5pKt5pS+5YiX6KGo55qE5YiX6KGo55qE5a6a5L2NXFxudmFyIGNvbnRzID0gcGFyc2VEb21Gb3JBcnJheShodG1sLCAnYm9keSYmLmp1amlib3gnKTtcXG5cXG5cXG4vL+aSreaUvuWIl+ihqOeahOWIl+ihqOWQjeensOeahOWumuS9jVxcbnZhciBsaXN0cyA9IFtdO1xcbmZvciAodmFyIGkgaW4gY29udHMpIHtcXG4gICAgbGlzdHMucHVzaChwYXJzZURvbUZvckFycmF5KGNvbnRzW2ldLCAnYm9keSYmYScpKVxcbn1cXG5cXG5cXG52YXIg5a+85ryUID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICdwOmNvbnRhaW5zKOWvvOa8lO+8mikmJlRleHQnKTtcXG5cXG52YXIg5Li75ryUID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICdwOmNvbnRhaW5zKOS4u+a8lO+8mikmJlRleHQnKTtcXG5cXG52YXIg5pu05pawID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICdoMzptYXRjaGVzKOS4iuaYoO+8mikmJlRleHQnKTtcXG5cXG52YXIg54q25oCBID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICdwOm1hdGNoZXMo6ZuG5pWw77yafOWkh+azqO+8mikmJlRleHQnKTtcXG5cXG52YXIg5Zu+54mHID0gcGFyc2VEb20oaHRtbCwgJ2ltZyYmc3JjJyk7XFxuXFxudmFyIOeugOS7iyA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLmpxLWppZXNoYW8mJlRleHQnKS5yZXBsYWNlKCfmlLbotbcnLCAnJyk7XFxuXFxudmFyIENvbG9yID0gXFxcIiNmMTNiNjZhXFxcIjtcXG52YXIgQ29sb3IxID0gXFxcIiMwOThBQzFcXFwiO1xcblxcbmZ1bmN0aW9uIGdldEhlYWQodGl0bGUpIHtcXG4gICAgcmV0dXJuICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVxcXCInICsgQ29sb3IgKyAnXFxcIj4nICsgdGl0bGUgKyAnPC9mcm9udD48L3N0cm9uZz4nO1xcbn1cXG5sZXQgbGluZV9tb2RlbCA9IDg7XFxubGV0IGxpbmVfdHlwZV9tb2RlbCA9ICdibGFua19ibG9jayc7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IOWvvOa8lCArICdcXFxcbicgKyDkuLvmvJQsXFxuICAgIGRlc2M6IOabtOaWsCArICdcXFxcbicgKyDnirbmgIEsXFxuICAgIHBpY191cmw6IOWbvueJhyxcXG4gICAgdXJsOiBNWV9VUkwsXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cidcXG59KTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxzbWFsbD48Zm9udCBjb2xvcj1cXFwiI2ZmMTQ4ZThlXFxcIj7nroDku4vvvJonICsg566A5LuLLnN1YnN0cigwLCA1NSkgKyAnLi4uPC9mb250PjxzbWFsbD48Zm9udCBjb2xvcj1cXFwicmVkXFxcIj7or6bmg4U8L2ZvbnQ+PC9zbWFsbD48L3NtYWxsPicsXFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHkjJyArICdcXFxcbicgKyDnroDku4sgKyBgQHJ1bGU9anM6dmFyIHJlcyA9IHt9OyB2YXIgZCA9IFtdO2QucHVzaCh7dGl0bGU6J+W9seeJh+eugOS7i++8micrIE1ZX1VSTC5zcGxpdCgnaGlrZXI6Ly9lbXB0eSMnKVsxXSxjb2xfdHlwZTogJ2xvbmdfdGV4dCd9KTtyZXMuZGF0YSA9IGQ7IHNldEhvbWVSZXN1bHQocmVzKTtgLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG59KTtcXG5mb3IgKGxldCBpID0gMDsgaSA8IGxpbmVfbW9kZWw7IGkrKykge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6IGxpbmVfdHlwZV9tb2RlbFxcbiAgICB9KVxcbn1cXG5cXG4vL+WkhOeQhuaOqOmAgVRWQm94IHN0YXJ0XFxubGV0IHRmcHVzaCA9IGdldEl0ZW0oJ3dlYnB1c2gnLCAnMCcpO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAoZ2V0SXRlbSgnd2VicHVzaCcsICcwJykgPT0gJzEnID8gJ+WNlembhuaOqOmAgfCfn6InIDogJ+WNlembhuaOqOmAgfCflLQnKSxcXG4gICAgdXJsOiBgaGlrZXI6Ly9lbXB0eUBsYXp5UnVsZT0uanM6Z2V0SXRlbSgnd2VicHVzaCcsJzAnKT09JzEnP3NldEl0ZW0oJ3dlYnB1c2gnLCcwJyk6c2V0SXRlbSgnd2VicHVzaCcsJzEnKTtyZWZyZXNoUGFnZSgpOyd0b2FzdDovL+WIh+aNouaIkOWKn++8gSdgLFxcblxcbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICforr7nva7nlLXop4ZJUCcsXFxuICAgIHVybDogXFxcImlucHV0Oi8vXFxcIiArIGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnaHR0cDovLycgKyBnZXRJUCgpICsgJzo5OTc4JykgKyBcXFwiLy8vL+ivt+i+k+WFpXR2Ym945o6o6YCBSVDlnLDlnYDvvIzlpoJodHRwOi8vXFxcIiArIGdldElQKCkgKyBcXFwiOjk5NzguanM6c2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcXFwiLFxcbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnJyksXFxuICAgIC8vdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxuICAgIHVybDogXFxcImlucHV0Oi8vXFxcIiArIGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnaHR0cDovLycgKyBnZXRJUCgpICsgJzo5OTc4JykgKyBcXFwiLy8vL+ivt+i+k+WFpXR2Ym945o6o6YCBSVDlnLDlnYDvvIzlpoJodHRwOi8vXFxcIiArIGdldElQKCkgKyBcXFwiOjk5NzguanM6c2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcXFwiLFxcbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxufSk7XFxuXFxudmFyIHBsYXlVcmxzID0gJyc7XFxuZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0cy5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgbGlzdCA9IGxpc3RzW2ldO1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcXG4gICAgICAgIGlmIChqID09IGxpc3QubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgICAgIHBsYXlVcmxzICs9IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpICsgXFxcIiRcXFwiICsgcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKSArIFxcXCIkJCRcXFwiO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBwbGF5VXJscyArPSBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKSArIFxcXCIkXFxcIiArIHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJykgKyBcXFwiI1xcXCI7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuXFxucGxheVVybHMgPSBwbGF5VXJscy5zdWJzdHJpbmcoMCwgcGxheVVybHMubGVuZ3RoIC0gMyk7XFxuLy9sb2cocGxheVVybHMpO1xcblxcbmxldCBwdXNoID0gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICBcXFwibmFtZVxcXCI6IGdldFBhZ2VUaXRsZSgpLFxcbiAgICBcXFwicGljXFxcIjogcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcubGF6eWxvYWQmJmRhdGEtc3JjJyksXFxuICAgIFxcXCJjb250ZW50XFxcIjogcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcudm9kX2NvbnRlbnQmJlRleHQnKSxcXG4gICAgXFxcImZyb21cXFwiOiB0YWJzLmpvaW4oJyQkJCcpLFxcbiAgICBcXFwidXJsXFxcIjogcGxheVVybHMucmVwbGFjZSgvXFxcXCYvZywgJ++8hu+8hicpXFxufSk7XFxuLy9sb2cocHVzaCk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLmjqjpgIHlvZPliY3pobXliJfooajliLBUVkJveFxcXCIsXFxuICAgIHVybDogJChwdXNoKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS9wdXNoP3B1c2h1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChpbnB1dCk7XFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcInNjcm9sbF9idXR0b25cXFwiXFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgfSlcXG4gICAgLy/lpITnkIbmjqjpgIFUVkJveCBlbmRcXG5cXG5mdW5jdGlvbiBzZXRUYWJzKHRhYnMsIHZhcmkpIHtcXG4gICAgZm9yICh2YXIgaSBpbiB0YWJzKSB7XFxuICAgICAgICB2YXIgdXJsID0gXFxcIiNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpwdXRWYXIoJ1xcXCIgKyB2YXJpICsgXFxcIicsICdcXFwiICsgaSArIFxcXCInKTtyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5YiH5o2i5oiQ5Yqf77yBJzsnI25vSGlzdG9yeSNoaWtlcjovL2VtcHR5J1xcXCI7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBnZXRWYXIodmFyaSwgJzAnKSA9PSBpID8gZ2V0SGVhZCh0YWJzW2ldKSA6IHRhYnNbaV0sXFxuICAgICAgICAgICAgdXJsOiB1cmwsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xcbiAgICAgICAgfSlcXG4gICAgfVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xcbiAgICB9KVxcbn1cXG5cXG5mdW5jdGlvbiBzZXRMaXN0cyhsaXN0cywgaW5kZXgpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgfSlcXG59XFxuaWYgKGdldFZhcignc2hzb3J0JykgPT0gJzEnKSB7XFxuICAgIHZhciBzeCA9ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cXFwiIzBhYTM0NFxcXCI+5o6S5bqPPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XFxcIiMwYWEzNDRcXFwiPuKGkTwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZmY0YzAwXFxcIj7ihpM8L2ZvbnQ+PC9zbWFsbD4nO1xcbn0gZWxzZSB7XFxuICAgIHZhciBzeCA9ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cXFwiIzBhYTM0NFxcXCI+5o6S5bqPPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XFxcIiNmZjRjMDBcXFwiPuKGkTwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjMGFhMzQ0XFxcIj7ihpM8L2ZvbnQ+PC9zbWFsbD4nO1xcbn1cXG5cXG5mdW5jdGlvbiBzZXRMaXN0cyhsaXN0cywgaW5kZXgpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNwYW4gc3R5bGU9XFxcImNvbG9yOicgKyBDb2xvcjEgKyAnXFxcIj48c21hbGw+6YCJ6ZuG5YiX6KGoPC9zbWFsbD4nICsgJ1xcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdDxzcGFuIHN0eWxlPVxcXCJmbG9hdDpyaWdodFxcXCI+JyArICc8c21hbGw+JyArIHN4ICsgJzwvc21hbGw+JyxcXG4gICAgICAgIHVybDogYCNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpsZXQgY29uZiA9IGdldFZhcignc2hzb3J0Jyk7aWYoY29uZj09JzEnKXtwdXRWYXIoe2tleTonc2hzb3J0JywgdmFsdWU6JzAnfSk7fWVsc2V7cHV0VmFyKHtrZXk6J3Noc29ydCcsIHZhbHVlOicxJ30pfTtyZWZyZXNoUGFnZSgpOyd0b2FzdDovL+WIh+aNouaOkuW6j+aIkOWKnyc7JyNub0hpc3RvcnkjaGlrZXI6Ly9lbXB0eSdgLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICB9KVxcbiAgICB2YXIgbGlzdCA9IGxpc3RzW2luZGV4XTtcXG5cXG4gICAgaWYgKGdldFZhcignc2hzb3J0JykgPT0gJzEnKSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGZvciAodmFyIGogPSBsaXN0Lmxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgICAgICAgICAgIGlmICh0ZnB1c2ggPT0gJzAnKSB7XFxuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKS5yZXBsYWNlKC/nrKx86ZuGfOivnXzmnJ8vZywgJycpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKSArIGxhenksXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IGxpc3QubGVuZ3RoID4gNCA/ICd0ZXh0XzUnIDogJ3RleHRfMidcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHVybHggPSAnaGlrZXI6Ly9wYWdlL3B1c2g/cHVzaHVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IGdldFBhZ2VUaXRsZSgpICsgcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JyksXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBpY1xcXCI6IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLmxhenlsb2FkJiZkYXRhLXNyYycpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJjb250ZW50XFxcIjogcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcudm9kX2NvbnRlbnQmJlRleHQnKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKVxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGV4dHJheCA9IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKVxcbiAgICAgICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJyksXFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmx4LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBsaXN0Lmxlbmd0aCA+IDQgPyAndGV4dF81JyA6ICd0ZXh0XzInLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhOiBleHRyYXhcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5rKh5pyJ6YCJ6ZuG5ZOf77yM5LiN5L+h54K55Zu+54mH5Y6755yL55yL8J+RgCcsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0Lmxlbmd0aDsgaisrKSB7XFxuICAgICAgICAgICAgICAgIGlmICh0ZnB1c2ggPT0gJzAnKSB7XFxuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKS5yZXBsYWNlKC/nrKx86ZuGfOivnXzmnJ8vZywgJycpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKSArIGxhenksXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IGxpc3QubGVuZ3RoID4gNCA/ICd0ZXh0XzUnIDogJ3RleHRfMidcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHVybHggPSAnaGlrZXI6Ly9wYWdlL3B1c2g/cHVzaHVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IGdldFBhZ2VUaXRsZSgpICsgcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JyksXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBpY1xcXCI6IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsJyksXFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcImNvbnRlbnRcXFwiOiBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5zaG93LWRlc2MmJlRleHQnKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFwidXJsXFxcIjogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKVxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGV4dHJheCA9IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKVxcbiAgICAgICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJyksXFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmx4LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBsaXN0Lmxlbmd0aCA+IDQgPyAndGV4dF81JyA6ICd0ZXh0XzInLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhOiBleHRyYXhcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5rKh5pyJ6YCJ6ZuG5ZOf77yM5LiN5L+h54K55Zu+54mH5Y6755yL55yL8J+RgCcsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG5cXG4gICAgfVxcbn1cXG5zZXRUYWJzKHRhYnMsIE1ZX1VSTCk7XFxuc2V0TGlzdHMobGlzdHMsIGdldFZhcihNWV9VUkwsICcwJykpO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAnPGJyPicsXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcbn0pO1xcbnNldFJlc3VsdChkKTtcIixcImdyb3VwXCI6XCLlsI/nmb3nn63liadcIixcInVhXCI6XCJtb2JpbGVcIixcInByZVJ1bGVcIjpcIlwiLFwicGFnZXNcIjpcIlt7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLmjqjpgIFcXFwiLFxcXCJwYXRoXFxcIjpcXFwicHVzaFxcXCIsXFxcInJ1bGVcXFwiOlxcXCJqczpcXFxcbmxldCBpdGVtcyA9IFtdO1xcXFxubGV0IHB1c2hpbiA9IGRlY29kZVVSSUNvbXBvbmVudChnZXRQYXJhbShcXFxcXFxcInB1c2h1cmxcXFxcXFxcIikpO1xcXFxubGV0IHR2aXAgPSBnZXRJdGVtKCdoaWtlcnR2Ym94c2V0JywgJycpO1xcXFxuXFxcXG5pdGVtcy5wdXNoKHtcXFxcbiAgICB0aXRsZTogJ+W9k+WJjUlQ77yaJyArIHR2aXAsXFxcXG4gICAgdXJsOiBcXFxcXFxcImlucHV0Oi8vXFxcXFxcXCIgKyBnZXRJdGVtKCdoaWtlcnR2Ym94c2V0JywgJ2h0dHA6Ly8nICsgZ2V0SVAoKSArICc6OTk3OCcpICsgXFxcXFxcXCIvLy8v6K+36L6T5YWlVFZCb3jnq6/nmoRJUOWcsOWdgO+8jOWmgmh0dHA6Ly9cXFxcXFxcIiArIGdldElQKCkgKyBcXFxcXFxcIjo5OTc4LmpzOnNldEl0ZW0oJ2hpa2VydHZib3hzZXQnLGlucHV0KTtyZWZyZXNoUGFnZSgpXFxcXFxcXCIsXFxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXFxcbn0pO1xcXFxudmFyIHB1cmwgPSBwdXNoaW47XFxcXG5cXFxcbmlmIChwdXNoaW4uaW5jbHVkZXMoJ1xcXFxcXFxcbicpICYmICFwdXNoaW4uc3RhcnRzV2l0aCgneycpKSB7XFxcXG4gICAgcHVybCA9IHB1c2hpbi5yZXBsYWNlKFxcXFxcXFwiXFxcXFxcXFxuXFxcXFxcXCIsICckJyk7XFxcXG59XFxcXG5pZiAocHVzaGluLnN0YXJ0c1dpdGgoJ2h0dHAnKSAmJiBwdXNoaW4uaW5jbHVkZXMoJzt7JykpIHtcXFxcbiAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcXFxuICAgICAgICBcXFxcXFxcIm5hbWVcXFxcXFxcIjogXFxcXFxcXCLmtbfpmJTnm7Tpk77mjqjpgIFcXFxcXFxcIixcXFxcbiAgICAgICAgXFxcXFxcXCJ1cmxcXFxcXFxcIjogcHVzaGluXFxcXG4gICAgfSlcXFxcbn1cXFxcbmlmIChwdXNoaW4uc3RhcnRzV2l0aCgnaHR0cHM6Ly93d3cuYWxpeXVuZHJpdmUuY29tL3MvJykpIHtcXFxcbiAgICBsZXQgcmVmdG9rZW4gPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2ljeS9pY3ktYWxpLXRva2VuLmpzb24nLCB7fSkpWzBdLnJlZnJlc2hfdG9rZW47XFxcXG4gICAgcHVybCA9IEpTT04uc3RyaW5naWZ5KHtcXFxcbiAgICAgICAgXFxcXFxcXCJ1cmxcXFxcXFxcIjogcHVzaGluLFxcXFxuICAgICAgICBcXFxcXFxcInJlZnJlc2hfdG9rZW5cXFxcXFxcIjogcmVmdG9rZW5cXFxcbiAgICB9KVxcXFxufVxcXFxuaWYgKHB1c2hpbi5pbmNsdWRlcygnOjUyMDIwJykpIHtcXFxcbiAgICBpZiAocHVzaGluLmluY2x1ZGVzKCdyZWRpcmVjdFBsYXlVcmwnKSkge1xcXFxuICAgICAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcXFxuICAgICAgICAgICAgXFxcXFxcXCJuYW1lXFxcXFxcXCI6IFxcXFxcXFwi5rW36ZiU5oqV5bGP55u06ZO+XFxcXFxcXCIsXFxcXG4gICAgICAgICAgICBcXFxcXFxcInVybFxcXFxcXFwiOiBwdXNoaW5cXFxcbiAgICAgICAgfSlcXFxcbiAgICB9IGVsc2Uge1xcXFxuICAgICAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcXFxuICAgICAgICAgICAgXFxcXFxcXCJuYW1lXFxcXFxcXCI6IFxcXFxcXFwi5rW36ZiU572R6aG15oqV5bGPXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICBcXFxcXFxcInVybFxcXFxcXFwiOiBwdXNoaW5cXFxcbiAgICAgICAgfSlcXFxcbiAgICB9XFxcXG59XFxcXG5cXFxcbi8vbG9nKCfmjqjpgIEnK3B1cmwpO1xcXFxudmFyIHN0YXRlID0gcmVxdWVzdCh0dmlwICsgJy9hY3Rpb24nLCB7XFxcXG4gICAgaGVhZGVyczoge1xcXFxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXFxcXG4gICAgICAgIC8vJ1gtUmVxdWVzdGVkLVdpdGgnOiAnWE1MSHR0cFJlcXVlc3QnLFxcXFxuICAgICAgICAnUmVmZXJlcic6IHR2aXBcXFxcbiAgICB9LFxcXFxuICAgIHRpbWVvdXQ6IDIwMDAsXFxcXG4gICAgYm9keTogJ2RvPXB1c2gmdXJsPScgKyBwdXJsLnJlcGxhY2UoL1xcXFxcXFxcJi9nLCAn77yG77yGJyksXFxcXG4gICAgbWV0aG9kOiAnUE9TVCdcXFxcbn0pO1xcXFxuLy9sb2coc3RhdGUpO1xcXFxuaWYgKHN0YXRlID09ICdvaycpIHtcXFxcbiAgICAvL2xvZyhzdGF0ZSk7XFxcXG4gICAgaXRlbXMucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBcXFxcXFxcIuKchVxcXFxcXFwiICsgc3RhdGUsXFxcXG4gICAgICAgIHVybDogXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCIsXFxcXG4gICAgICAgIGNvbF90eXBlOiBcXFxcXFxcInRleHRfY2VudGVyXzFcXFxcXFxcIlxcXFxuICAgIH0pO1xcXFxufSBlbHNlIHtcXFxcbiAgICAvL2xvZyhzdGF0ZSk7XFxcXG4gICAgaXRlbXMucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBcXFxcXFxcIuKdjlxcXFxcXFwiICsgc3RhdGUsXFxcXG4gICAgICAgIHVybDogXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCIsXFxcXG4gICAgICAgIGNvbF90eXBlOiBcXFxcXFxcInRleHRfY2VudGVyXzFcXFxcXFxcIlxcXFxuICAgIH0pO1xcXFxuXFxcXG59XFxcXG5zZXRSZXN1bHQoaXRlbXMpO1xcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJtb3ZpZV8zXFxcIixcXFwibmFtZVxcXCI6XFxcIuWKqOaAgVxcXCIsXFxcInBhdGhcXFwiOlxcXCJkdDFcXFwiLFxcXCJydWxlXFxcIjpcXFwiY29uc3QgZW1wdHkgPSBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIlxcXFxuXFxcXG5pZiAodHlwZW9mKOaLvOaOpeWIhuexuykgIT0gJ3VuZGVmaW5lZCcgJiYg5ou85o6l5YiG57G7ICE9ICcnKSB7XFxcXG4gICAgdmFyIGNhdGVnb3JpZXMgPSBwZGZhKGh0bWwsIOWkp+exu+WumuS9jSkuY29uY2F0KHBkZmEoaHRtbCwg5ou85o6l5YiG57G7KSlcXFxcbn0gZWxzZSB7XFxcXG4gICAgdmFyIGNhdGVnb3JpZXMgPSBwZGZhKGh0bWwsIOWkp+exu+WumuS9jSlcXFxcbn1cXFxcblxcXFxubGV0IGluaXRfY2F0ZSA9IFtdXFxcXG5cXFxcbmZvciAobGV0IGkgPSAwOyBpIDwgMjA7IGkrKykge1xcXFxuICAgIGluaXRfY2F0ZS5wdXNoKFxcXFxcXFwiMFxcXFxcXFwiKVxcXFxufVxcXFxuXFxcXG5jb25zdCBmb2xkID0gZ2V0VmFyKE1ZX1JVTEUuZ3JvdXAsIFxcXFxcXFwiMFxcXFxcXFwiKVxcXFxuY29uc3QgY2F0ZV90ZW1wX2pzb24gPSBnZXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkoaW5pdF9jYXRlKSlcXFxcbmNvbnN0IGNhdGVfdGVtcCA9IEpTT04ucGFyc2UoY2F0ZV90ZW1wX2pzb24pXFxcXG5cXFxcbmlmIChwYXJzZUludChwYWdlKSA9PT0gMSkge1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBmb2xkID09PSAnMScgPyAn4oCc4oCc4oCd4oCdPGI+JyArICfwn5GQJy5mb250Y29sb3IoXFxcXFxcXCIjRkYwMDAwXFxcXFxcXCIpICsgJzwvYj4nIDogJ+KAnOKAnOKAneKAnTxiPicgKyAn8J+RjycuZm9udGNvbG9yKFxcXFxcXFwiIzFhYWQxOVxcXFxcXFwiKSArICc8L2I+JyxcXFxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKGZvbGQpID0+IHtcXFxcbiAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLmdyb3VwLCBmb2xkID09PSAnMScgPyAnMCcgOiAnMScpO1xcXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcXFxuICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgICAgIH0sIGZvbGQpLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcXFxuICAgIH0pXFxcXG4gICAgY2F0ZWdvcmllcy5mb3JFYWNoKChjYXRlZ29yeSwgaW5kZXgpID0+IHtcXFxcbiAgICAgICAgbGV0IHN1Yl9jYXRlZ29yaWVzID0gcGRmYShjYXRlZ29yeSwg5bCP57G75a6a5L2NKTtcXFxcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XFxcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXFxcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mKOaOkumZpCkgIT0gJ3VuZGVmaW5lZCcgJiYg5o6S6ZmkICE9ICcnKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlID0gdGl0bGUucmVwbGFjZShuZXcgUmVnRXhwKOaOkumZpCwgXFxcXFxcXCJnXFxcXFxcXCIpLCBcXFxcXFxcIlxcXFxcXFwiKVxcXFxuICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyBcXFxcXFxcIuKAnOKAnOKAneKAnVxcXFxcXFwiICsgdGl0bGUuZm9udGNvbG9yKOWIhuexu+minOiJsikgOiB0aXRsZSxcXFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3X2NhdGUgPSBbXVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcC5mb3JFYWNoKChjYXRlLCBpbmRleCkgPT4ge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19jYXRlLnB1c2goaW5kZXggPT09IDAgPyBwYXJhbXMua2V5LnRvU3RyaW5nKCkgOiBcXFxcXFxcIjBcXFxcXFxcIilcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkobmV3X2NhdGUpKVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudXJsLCBpbnB1dClcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCJcXFxcbiAgICAgICAgICAgICAgICAgICAgfSwge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGtleSxcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcXFxuICAgICAgICAgICAgICAgIH0pXFxcXG4gICAgICAgICAgICB9KVxcXFxuICAgICAgICAgICAgZC5wdXNoKHtcXFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcXFxcXCJibGFua19ibG9ja1xcXFxcXFwiXFxcXG4gICAgICAgICAgICB9KTtcXFxcbiAgICAgICAgfSBlbHNlIGlmIChmb2xkID09PSAnMScpIHtcXFxcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcXFxuICAgICAgICAgICAgICAgIGxldCB0aXRsZSA9IHBkZmgoaXRlbSwg5YiG57G75qCH6aKYKVxcXFxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Yo5o6S6ZmkKSAhPSAndW5kZWZpbmVkJyAmJiDmjpLpmaQgIT0gJycpIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS5yZXBsYWNlKG5ldyBSZWdFeHAo5o6S6ZmkLCBcXFxcXFxcImdcXFxcXFxcIiksIFxcXFxcXFwiXFxcXFxcXCIpXFxcXG4gICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBrZXkudG9TdHJpbmcoKSA9PT0gY2F0ZV90ZW1wW2luZGV4XSA/IFxcXFxcXFwi4oCc4oCc4oCd4oCdXFxcXFxcXCIgKyB0aXRsZS5mb250Y29sb3Io5YiG57G76aKc6ImyKSA6IHRpdGxlLFxcXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQocGQoaXRlbSwg5YiG57G76ZO+5o6lKSArICcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChwYXJhbXMpID0+IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5jYXRlX3RlbXBbcGFyYW1zLmluZGV4XSA9IHBhcmFtcy5rZXkudG9TdHJpbmcoKVxcXFxuXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1zLmNhdGVfdGVtcCkpXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS51cmwsIGlucHV0KVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIlxcXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlX3RlbXA6IGNhdGVfdGVtcCxcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcXFxcbiAgICAgICAgICAgICAgICAgICAgfSksXFxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxcXG4gICAgICAgICAgICAgICAgfSlcXFxcbiAgICAgICAgICAgIH0pXFxcXG4gICAgICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFxcXFxcImJsYW5rX2Jsb2NrXFxcXFxcXCJcXFxcbiAgICAgICAgICAgIH0pO1xcXFxuICAgICAgICB9XFxcXG4gICAgfSlcXFxcbn1cXFwifV1cIn0iLCJwaWNVcmwiOiJodHRwczovL3d3dy5oZHZkLnRvcC91cGxvYWQvdm9kLzIwMjQxMDE3LTEvMDk5NGFmMzE4YTI2MTQ0M2RhMzgxNzBiYWRmZjlkN2YuanBnQFJlZmVyZXI9IiwidGl0bGUiOiLkuqzlnIjlpKrlrZDniLfmr4/lpKnpg73mg7PovazmraPlrozom4vmiJHlhbvnmoTlsI/nmb3ohLjmmK/kuqzlnIjlpKrlrZDniLcifQ==
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement