Advertisement
xiaomianao666

邀您一起看:登陆

Apr 26th, 2024
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥登陆@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJcIixcImxpc3RUb0NsZWFyQXNzb2NpYXRlZEZLXCI6W10sXCJsaXN0VG9DbGVhclNlbGZGS1wiOltdLFwicGFnZUxpc3RcIjpbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcImNvZGVcIixcInBhdGhcIjpcImNvZGVcIixcInJ1bGVcIjpcIiQuZXhwb3J0cy5sb2dpbiA9IGZ1bmN0aW9uKHVzZXJuYW1lLCBwYXNzd29yZCkge1xcbiAgICBsZXQgcmVzID0gSlNPTi5wYXJzZShwb3N0KFxcXCJodHRwczovL3VzZXIubXlwaWtwYWsuY29tL3YxL2F1dGgvc2lnbmluXFxcIiwge1xcbiAgICAgICAgYm9keToge1xcbiAgICAgICAgICAgIFxcXCJjYXB0Y2hhX3Rva2VuXFxcIjogXFxcIlxcXCIsXFxuICAgICAgICAgICAgXFxcImNsaWVudF9pZFxcXCI6IFxcXCJZTnhUOXc3R01kV3ZFT0thXFxcIixcXG4gICAgICAgICAgICBcXFwiY2xpZW50X3NlY3JldFxcXCI6IFxcXCJkYncyT3RtVkVldVV2SXB0YjFDb3lnXFxcIixcXG4gICAgICAgICAgICBcXFwidXNlcm5hbWVcXFwiOiB1c2VybmFtZSxcXG4gICAgICAgICAgICBcXFwicGFzc3dvcmRcXFwiOiBwYXNzd29yZFxcbiAgICAgICAgfVxcbiAgICB9KSlcXG4gICAgaWYgKHJlcy5hY2Nlc3NfdG9rZW4pIHtcXG4gICAgICAgIHNldEl0ZW0oXFxcImFjY2Vzc190b2tlblxcXCIsIHJlcy5hY2Nlc3NfdG9rZW4pXFxuICAgICAgICBzZXRJdGVtKFxcXCJyZWZyZXNoX3Rva2VuXFxcIiwgcmVzLnJlZnJlc2hfdG9rZW4pXFxuICAgICAgICByZXR1cm4gdHJ1ZVxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgbG9nKHJlcylcXG4gICAgICAgIHJldHVybiBmYWxzZVxcbiAgICB9XFxufVxcbiQuZXhwb3J0cy5yZWZyZXNodG9rZW4gPSBmdW5jdGlvbigpIHtcXG4gICAgbGV0IHJlcyA9IEpTT04ucGFyc2UocG9zdChcXFwiaHR0cHM6Ly91c2VyLm15cGlrcGFrLmNvbS92MS9hdXRoL3Rva2VuXFxcIiwge1xcbiAgICAgICAgYm9keToge1xcbiAgICAgICAgICAgIFxcXCJjbGllbnRfaWRcXFwiOiBcXFwiWU54VDl3N0dNZFd2RU9LYVxcXCIsXFxuICAgICAgICAgICAgXFxcImNsaWVudF9zZWNyZXRcXFwiOiBcXFwiZGJ3Mk90bVZFZXVVdklwdGIxQ295Z1xcXCIsXFxuICAgICAgICAgICAgXFxcImdyYW50X3R5cGVcXFwiOiBcXFwicmVmcmVzaF90b2tlblxcXCIsXFxuICAgICAgICAgICAgXFxcInJlZnJlc2hfdG9rZW5cXFwiOiBnZXRJdGVtKFxcXCJyZWZyZXNoX3Rva2VuXFxcIilcXG4gICAgICAgIH1cXG4gICAgfSkpXFxuICAgIGlmIChyZXMuYWNjZXNzX3Rva2VuKSB7XFxuICAgICAgICBzZXRJdGVtKFxcXCJhY2Nlc3NfdG9rZW5cXFwiLCByZXMuYWNjZXNzX3Rva2VuKVxcbiAgICAgICAgc2V0SXRlbShcXFwicmVmcmVzaF90b2tlblxcXCIsIHJlcy5yZWZyZXNoX3Rva2VuKVxcbiAgICAgICAgcmV0dXJuIHRydWVcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGxvZyhyZXMpXFxuICAgICAgICByZXR1cm4gZmFsc2VcXG4gICAgfVxcbn1cXG4kLmV4cG9ydHMuZ2V0SHptID0gZnVuY3Rpb24oZmlsZU5hbWUpIHtcXG4gICAgcmV0dXJuIGZpbGVOYW1lLnN1YnN0cihmaWxlTmFtZS5sYXN0SW5kZXhPZihcXFwiLlxcXCIpICsgMSlcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJ0ZXh0XzJcIixcIm5hbWVcIjpcInNldHRpbmdzXCIsXCJwYXRoXCI6XCJzZXR0aW5nc1wiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIui0puWPtyjpgq7nrrEpXFxcIixcXG4gICAgdXJsOiAkKGdldEl0ZW0oXFxcInVzZXJuYW1lXFxcIiwgXFxcIlxcXCIpKS5pbnB1dCgoKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKFxcXCJ1c2VybmFtZVxcXCIsIGlucHV0KVxcbiAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICB9KVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLlr4bnoIFcXFwiLFxcbiAgICB1cmw6ICQoZ2V0SXRlbShcXFwicGFzc3dkXFxcIiwgXFxcIlxcXCIpKS5pbnB1dCgoKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKFxcXCJwYXNzd2RcXFwiLCBpbnB1dClcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgfSlcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi55m76ZmGXFxcIixcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgY29uc3Qge1xcbiAgICAgICAgICAgIGxvZ2luXFxuICAgICAgICB9ID0gJC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvY29kZVxcXCIpXFxuICAgICAgICBpZiAobG9naW4oZ2V0SXRlbShcXFwidXNlcm5hbWVcXFwiKSwgZ2V0SXRlbShcXFwicGFzc3dkXFxcIikpKSB7XFxuICAgICAgICAgICAgYmFjaygpXFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+eZu+mZhuaIkOWKn1xcXCJcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+eZu+mZhuWksei0pVxcXCJcXG4gICAgICAgIH1cXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG59KVxcbnNldFJlc3VsdChkKVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiaHBcIixcInBhdGhcIjpcImhwXCIsXCJydWxlXCI6XCJ2YXIgZCA9IFtdO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi55m76ZmGXFxcIixcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzJcXFwiLFxcbiAgICB1cmw6IFxcXCJoaWtlcjovL3BhZ2Uvc2V0dGluZ3NcXFwiXFxufSlcXG5pZiAoZ2V0SXRlbShcXFwiYWNjZXNzX3Rva2VuXFxcIiwgXFxcIlxcXCIpICE9IFxcXCJcXFwiKSB7XFxuICAgIHRyeSB7XFxuICAgICAgICBjb25zdCB7XFxuICAgICAgICAgICAgZ2V0SHptXFxuICAgICAgICB9ID0gJC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvY29kZVxcXCIpXFxuICAgICAgICBsZXQgcGF0aHMgPSBzdG9yYWdlMC5nZXRNeVZhcihcXFwicGF0aHNcXFwiLCBbe1xcbiAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCJcXFwiLFxcbiAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuWutlxcXCJcXG4gICAgICAgIH1dKVxcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogXFxcIua3u+WKoOejgemTvlxcXCIsXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzJcXFwiLFxcbiAgICAgICAgICAgIHVybDogJChcXFwiXFxcIiwgXFxcIui+k+WFpeejgeWKm+mTvuaOpVxcXCIpLmlucHV0KCgpID0+IHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJwaWtwYWthcHA6Ly9teXBpa3Bhay5jb20veHBhbi9tYWluX3RhYj90YWI9MSZhZGRfdXJsPVxcXCIgKyBlbmNvZGVVUklDb21wb25lbnQoaW5wdXQpXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgICAgICBwYXRocy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0ubmFtZSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJzY3JvbGxfYnV0dG9uXFxcIixcXG4gICAgICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKHBhdGhzLCBpKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcihcXFwicGF0aHNcXFwiLCBwYXRocy5zbGljZSgwLCBpICsgMSkpXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgIH0sIHBhdGhzLCBpKVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KVxcbiAgICAgICAgbGV0IGxpc3QgPSBKU09OLnBhcnNlKHJlcXVlc3QoYnVpbGRVcmwoXFxcImh0dHBzOi8vYXBpLWRyaXZlLm15cGlrcGFrLmNvbS9kcml2ZS92MS9maWxlc1xcXCIsIHtcXG4gICAgICAgICAgICBcXFwicGFyZW50X2lkXFxcIjogcGF0aHNbcGF0aHMubGVuZ3RoIC0gMV0uaWQsXFxuICAgICAgICAgICAgXFxcInRodW1ibmFpbF9zaXplXFxcIjogXFxcIlNJWkVfTEFSR0VcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ3aXRoX2F1ZGl0XFxcIjogXFxcInRydWVcXFwiLFxcbiAgICAgICAgICAgIFxcXCJsaW1pdFxcXCI6IFxcXCIxMDAwXFxcIixcXG4gICAgICAgICAgICBcXFwiZmlsdGVyc1xcXCI6ICd7XFxcInBoYXNlXFxcIjp7XFxcImVxXFxcIjpcXFwiUEhBU0VfVFlQRV9DT01QTEVURVxcXCJ9LFxcXCJ0cmFzaGVkXFxcIjp7XFxcImVxXFxcIjpmYWxzZX19JyxcXG4gICAgICAgICAgICBcXFwicGFnZV90b2tlblxcXCI6IFxcXCJcXFwiXFxuICAgICAgICB9KSwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgXFxcIkF1dGhvcml6YXRpb25cXFwiOiBcXFwiQmVhcmVyIFxcXCIgKyBnZXRJdGVtKFxcXCJhY2Nlc3NfdG9rZW5cXFwiKVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pKVxcbiAgICAgICAgbGlzdC5maWxlcy5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgIGlmIChpdGVtLmtpbmQgPT0gXFxcImRyaXZlI2ZvbGRlclxcXCIpIHtcXG4gICAgICAgICAgICAgICAgdmFyIHVybGwgPSAkKCkubGF6eVJ1bGUoKHBhdGhzLCBpdGVtKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBwYXRocy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaXRlbS5pZCxcXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWVcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcihcXFwicGF0aHNcXFwiLCBwYXRocylcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICAgICAgfSwgcGF0aHMsIGl0ZW0pXFxuICAgICAgICAgICAgfSBlbHNlIGlmICgkLm1vdmllLmluY2x1ZGVzKGdldEh6bShpdGVtLm5hbWUpKSkge1xcblxcbiAgICAgICAgICAgICAgICB2YXIgZXh0ID0gXFxcIiNpc1ZpZGVvPXRydWUjXFxcIlxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoJC5hdWRpby5pbmNsdWRlcyhnZXRIem0oaXRlbS5uYW1lKSkpIHtcXG4gICAgICAgICAgICAgICAgdmFyIGV4dCA9IFxcXCIjaXNNdXNpYz10cnVlI1xcXCJcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCQuaW1nLmluY2x1ZGVzKGdldEh6bShpdGVtLm5hbWUpKSkge1xcbiAgICAgICAgICAgICAgICB2YXIgZXh0ID0gXFxcIiMuanBnXFxcIlxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHZhciBleHQgPSBcXFwiXFxcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB2YXIgdXJsID0gJCgpLmxhenlSdWxlKChpdGVtLCBleHQpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHUgPSBgaHR0cHM6Ly9hcGktZHJpdmUubXlwaWtwYWsuY29tL2RyaXZlL3YxL2ZpbGVzLyR7aXRlbS5pZH0/X21hZ2ljPTIwMjEmdGh1bWJuYWlsX3NpemU9U0laRV9MQVJHRWBcXG4gICAgICAgICAgICAgICAgbGV0IHJlcyA9IEpTT04ucGFyc2UocmVxdWVzdCh1LCB7XFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcIkF1dGhvcml6YXRpb25cXFwiOiBcXFwiQmVhcmVyIFxcXCIgKyBnZXRJdGVtKFxcXCJhY2Nlc3NfdG9rZW5cXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KSlcXG4gICAgICAgICAgICAgICAgZm9yIChpdGVtIG9mIHJlcy5tZWRpYXMpIHtcXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IGl0ZW0ubGlua1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAudXJsKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0bXAudXJsICsgZXh0XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0sIGl0ZW0sIGV4dClcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxcbiAgICAgICAgICAgICAgICBpbWc6IGl0ZW0uaWNvbl9saW5rLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImF2YXRhclxcXCIsXFxuICAgICAgICAgICAgICAgIHVybDogaXRlbS5raW5kID09IFxcXCJkcml2ZSNmb2xkZXJcXFwiID8gdXJsbCA6IHVybFxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KVxcbiAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICB0b2FzdChcXFwi5qOA5rWL5Yiw6ZSZ6K+vXFxcIilcXG4gICAgICAgIGxvZyhlLm1lc3NhZ2UpXFxuICAgIH1cXG59XFxuXFxuc2V0UmVzdWx0KGQpO1wifV0sXCJzYXZlZFwiOmZhbHNlLFwidGl0bGVcIjpcIlBpa1Bha1wiLFwidmVyc2lvblwiOjAsXCJ1cmxcIjpcImhpa2VyOi8vcGFnZS9zZXR0aW5nc1wiLFwiY29sX3R5cGVcIjpcInRleHRfMlwiLFwiZmluZF9ydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi6LSm5Y+3KOmCrueusSlcXFwiLFxcbiAgICB1cmw6ICQoZ2V0SXRlbShcXFwidXNlcm5hbWVcXFwiLCBcXFwiXFxcIikpLmlucHV0KCgpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oXFxcInVzZXJuYW1lXFxcIiwgaW5wdXQpXFxuICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgIH0pXFxufSlcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIuWvhueggVxcXCIsXFxuICAgIHVybDogJChnZXRJdGVtKFxcXCJwYXNzd2RcXFwiLCBcXFwiXFxcIikpLmlucHV0KCgpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oXFxcInBhc3N3ZFxcXCIsIGlucHV0KVxcbiAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICB9KVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLnmbvpmYZcXFwiLFxcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICBjb25zdCB7XFxuICAgICAgICAgICAgbG9naW5cXG4gICAgICAgIH0gPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9jb2RlXFxcIilcXG4gICAgICAgIGlmIChsb2dpbihnZXRJdGVtKFxcXCJ1c2VybmFtZVxcXCIpLCBnZXRJdGVtKFxcXCJwYXNzd2RcXFwiKSkpIHtcXG4gICAgICAgICAgICBiYWNrKClcXG4gICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v55m76ZmG5oiQ5YqfXFxcIlxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v55m76ZmG5aSx6LSlXFxcIlxcbiAgICAgICAgfVxcbiAgICB9KSxcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIlxcbn0pXFxuc2V0UmVzdWx0KGQpXCIsXCJncm91cFwiOlwiQee9keebmFwiLFwidWFcIjpcIm1vYmlsZVwiLFwicHJlUnVsZVwiOlwiJC5leHRlbmQoe1xcbiAgICBhdWRpbzogW1xcXCJtcDNcXFwiLCBcXFwiZmxhY1xcXCIsIFxcXCJvZ2dcXFwiLCBcXFwibTRhXFxcIiwgXFxcIndhdlxcXCIsIFxcXCJvcHVzXFxcIl0sXFxuICAgIG1vdmllOiBbXFxcIm1wNFxcXCIsIFxcXCJta3ZcXFwiLCBcXFwiYXZpXFxcIiwgXFxcIm1vdlxcXCIsIFxcXCJybXZiXFxcIiwgXFxcIndlYm1cXFwiLCBcXFwiZmx2XFxcIiwgXFxcIm00dlxcXCIsIFxcXCJtM3U4XFxcIiwgXFxcInRzXFxcIl0sXFxuICAgIGltZzogW1xcXCJqcGdcXFwiLCBcXFwicG5nXFxcIiwgXFxcImpwZWdcXFwiLCBcXFwiZ2lmXFxcIiwgXFxcInN2Z1xcXCIsIFxcXCJyYXdcXFwiXVxcbn0pXFxuY29uc3Qge1xcbiAgICByZWZyZXNodG9rZW5cXG59ID0gJC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvY29kZVxcXCIpXFxucmVmcmVzaHRva2VuKClcIixcInBhZ2VzXCI6XCJbe1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwiY29kZVxcXCIsXFxcInBhdGhcXFwiOlxcXCJjb2RlXFxcIixcXFwicnVsZVxcXCI6XFxcIiQuZXhwb3J0cy5sb2dpbiA9IGZ1bmN0aW9uKHVzZXJuYW1lLCBwYXNzd29yZCkge1xcXFxuICAgIGxldCByZXMgPSBKU09OLnBhcnNlKHBvc3QoXFxcXFxcXCJodHRwczovL3VzZXIubXlwaWtwYWsuY29tL3YxL2F1dGgvc2lnbmluXFxcXFxcXCIsIHtcXFxcbiAgICAgICAgYm9keToge1xcXFxuICAgICAgICAgICAgXFxcXFxcXCJjYXB0Y2hhX3Rva2VuXFxcXFxcXCI6IFxcXFxcXFwiXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICBcXFxcXFxcImNsaWVudF9pZFxcXFxcXFwiOiBcXFxcXFxcIllOeFQ5dzdHTWRXdkVPS2FcXFxcXFxcIixcXFxcbiAgICAgICAgICAgIFxcXFxcXFwiY2xpZW50X3NlY3JldFxcXFxcXFwiOiBcXFxcXFxcImRidzJPdG1WRWV1VXZJcHRiMUNveWdcXFxcXFxcIixcXFxcbiAgICAgICAgICAgIFxcXFxcXFwidXNlcm5hbWVcXFxcXFxcIjogdXNlcm5hbWUsXFxcXG4gICAgICAgICAgICBcXFxcXFxcInBhc3N3b3JkXFxcXFxcXCI6IHBhc3N3b3JkXFxcXG4gICAgICAgIH1cXFxcbiAgICB9KSlcXFxcbiAgICBpZiAocmVzLmFjY2Vzc190b2tlbikge1xcXFxuICAgICAgICBzZXRJdGVtKFxcXFxcXFwiYWNjZXNzX3Rva2VuXFxcXFxcXCIsIHJlcy5hY2Nlc3NfdG9rZW4pXFxcXG4gICAgICAgIHNldEl0ZW0oXFxcXFxcXCJyZWZyZXNoX3Rva2VuXFxcXFxcXCIsIHJlcy5yZWZyZXNoX3Rva2VuKVxcXFxuICAgICAgICByZXR1cm4gdHJ1ZVxcXFxuICAgIH0gZWxzZSB7XFxcXG4gICAgICAgIGxvZyhyZXMpXFxcXG4gICAgICAgIHJldHVybiBmYWxzZVxcXFxuICAgIH1cXFxcbn1cXFxcbiQuZXhwb3J0cy5yZWZyZXNodG9rZW4gPSBmdW5jdGlvbigpIHtcXFxcbiAgICBsZXQgcmVzID0gSlNPTi5wYXJzZShwb3N0KFxcXFxcXFwiaHR0cHM6Ly91c2VyLm15cGlrcGFrLmNvbS92MS9hdXRoL3Rva2VuXFxcXFxcXCIsIHtcXFxcbiAgICAgICAgYm9keToge1xcXFxuICAgICAgICAgICAgXFxcXFxcXCJjbGllbnRfaWRcXFxcXFxcIjogXFxcXFxcXCJZTnhUOXc3R01kV3ZFT0thXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICBcXFxcXFxcImNsaWVudF9zZWNyZXRcXFxcXFxcIjogXFxcXFxcXCJkYncyT3RtVkVldVV2SXB0YjFDb3lnXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICBcXFxcXFxcImdyYW50X3R5cGVcXFxcXFxcIjogXFxcXFxcXCJyZWZyZXNoX3Rva2VuXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICBcXFxcXFxcInJlZnJlc2hfdG9rZW5cXFxcXFxcIjogZ2V0SXRlbShcXFxcXFxcInJlZnJlc2hfdG9rZW5cXFxcXFxcIilcXFxcbiAgICAgICAgfVxcXFxuICAgIH0pKVxcXFxuICAgIGlmIChyZXMuYWNjZXNzX3Rva2VuKSB7XFxcXG4gICAgICAgIHNldEl0ZW0oXFxcXFxcXCJhY2Nlc3NfdG9rZW5cXFxcXFxcIiwgcmVzLmFjY2Vzc190b2tlbilcXFxcbiAgICAgICAgc2V0SXRlbShcXFxcXFxcInJlZnJlc2hfdG9rZW5cXFxcXFxcIiwgcmVzLnJlZnJlc2hfdG9rZW4pXFxcXG4gICAgICAgIHJldHVybiB0cnVlXFxcXG4gICAgfSBlbHNlIHtcXFxcbiAgICAgICAgbG9nKHJlcylcXFxcbiAgICAgICAgcmV0dXJuIGZhbHNlXFxcXG4gICAgfVxcXFxufVxcXFxuJC5leHBvcnRzLmdldEh6bSA9IGZ1bmN0aW9uKGZpbGVOYW1lKSB7XFxcXG4gICAgcmV0dXJuIGZpbGVOYW1lLnN1YnN0cihmaWxlTmFtZS5sYXN0SW5kZXhPZihcXFxcXFxcIi5cXFxcXFxcIikgKyAxKVxcXFxufVxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJ0ZXh0XzJcXFwiLFxcXCJuYW1lXFxcIjpcXFwic2V0dGluZ3NcXFwiLFxcXCJwYXRoXFxcIjpcXFwic2V0dGluZ3NcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG52YXIgZCA9IFtdO1xcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogXFxcXFxcXCLotKblj7co6YKu566xKVxcXFxcXFwiLFxcXFxuICAgIHVybDogJChnZXRJdGVtKFxcXFxcXFwidXNlcm5hbWVcXFxcXFxcIiwgXFxcXFxcXCJcXFxcXFxcIikpLmlucHV0KCgpID0+IHtcXFxcbiAgICAgICAgc2V0SXRlbShcXFxcXFxcInVzZXJuYW1lXFxcXFxcXCIsIGlucHV0KVxcXFxuICAgICAgICByZWZyZXNoUGFnZSgpXFxcXG4gICAgfSlcXFxcbn0pXFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiBcXFxcXFxcIuWvhueggVxcXFxcXFwiLFxcXFxuICAgIHVybDogJChnZXRJdGVtKFxcXFxcXFwicGFzc3dkXFxcXFxcXCIsIFxcXFxcXFwiXFxcXFxcXCIpKS5pbnB1dCgoKSA9PiB7XFxcXG4gICAgICAgIHNldEl0ZW0oXFxcXFxcXCJwYXNzd2RcXFxcXFxcIiwgaW5wdXQpXFxcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXFxcbiAgICB9KVxcXFxufSlcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6IFxcXFxcXFwi55m76ZmGXFxcXFxcXCIsXFxcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcXFxuICAgICAgICBjb25zdCB7XFxcXG4gICAgICAgICAgICBsb2dpblxcXFxuICAgICAgICB9ID0gJC5yZXF1aXJlKFxcXFxcXFwiaGlrZXI6Ly9wYWdlL2NvZGVcXFxcXFxcIilcXFxcbiAgICAgICAgaWYgKGxvZ2luKGdldEl0ZW0oXFxcXFxcXCJ1c2VybmFtZVxcXFxcXFwiKSwgZ2V0SXRlbShcXFxcXFxcInBhc3N3ZFxcXFxcXFwiKSkpIHtcXFxcbiAgICAgICAgICAgIGJhY2soKVxcXFxuICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwidG9hc3Q6Ly/nmbvpmYbmiJDlip9cXFxcXFxcIlxcXFxuICAgICAgICB9IGVsc2Uge1xcXFxuICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwidG9hc3Q6Ly/nmbvpmYblpLHotKVcXFxcXFxcIlxcXFxuICAgICAgICB9XFxcXG4gICAgfSksXFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwidGV4dF9jZW50ZXJfMVxcXFxcXFwiXFxcXG59KVxcXFxuc2V0UmVzdWx0KGQpXFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwiaHBcXFwiLFxcXCJwYXRoXFxcIjpcXFwiaHBcXFwiLFxcXCJydWxlXFxcIjpcXFwidmFyIGQgPSBbXTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6IFxcXFxcXFwi55m76ZmGXFxcXFxcXCIsXFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwidGV4dF8yXFxcXFxcXCIsXFxcXG4gICAgdXJsOiBcXFxcXFxcImhpa2VyOi8vcGFnZS9zZXR0aW5nc1xcXFxcXFwiXFxcXG59KVxcXFxuaWYgKGdldEl0ZW0oXFxcXFxcXCJhY2Nlc3NfdG9rZW5cXFxcXFxcIiwgXFxcXFxcXCJcXFxcXFxcIikgIT0gXFxcXFxcXCJcXFxcXFxcIikge1xcXFxuICAgIHRyeSB7XFxcXG4gICAgICAgIGNvbnN0IHtcXFxcbiAgICAgICAgICAgIGdldEh6bVxcXFxuICAgICAgICB9ID0gJC5yZXF1aXJlKFxcXFxcXFwiaGlrZXI6Ly9wYWdlL2NvZGVcXFxcXFxcIilcXFxcbiAgICAgICAgbGV0IHBhdGhzID0gc3RvcmFnZTAuZ2V0TXlWYXIoXFxcXFxcXCJwYXRoc1xcXFxcXFwiLCBbe1xcXFxuICAgICAgICAgICAgXFxcXFxcXCJpZFxcXFxcXFwiOiBcXFxcXFxcIlxcXFxcXFwiLFxcXFxuICAgICAgICAgICAgXFxcXFxcXCJuYW1lXFxcXFxcXCI6IFxcXFxcXFwi5a62XFxcXFxcXCJcXFxcbiAgICAgICAgfV0pXFxcXG4gICAgICAgIGQucHVzaCh7XFxcXG4gICAgICAgICAgICB0aXRsZTogXFxcXFxcXCLmt7vliqDno4Hpk75cXFxcXFxcIixcXFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFxcXFxcInRleHRfMlxcXFxcXFwiLFxcXFxuICAgICAgICAgICAgdXJsOiAkKFxcXFxcXFwiXFxcXFxcXCIsIFxcXFxcXFwi6L6T5YWl56OB5Yqb6ZO+5o6lXFxcXFxcXCIpLmlucHV0KCgpID0+IHtcXFxcbiAgICAgICAgICAgICAgICByZXR1cm4gXFxcXFxcXCJwaWtwYWthcHA6Ly9teXBpa3Bhay5jb20veHBhbi9tYWluX3RhYj90YWI9MSZhZGRfdXJsPVxcXFxcXFwiICsgZW5jb2RlVVJJQ29tcG9uZW50KGlucHV0KVxcXFxuICAgICAgICAgICAgfSlcXFxcbiAgICAgICAgfSlcXFxcbiAgICAgICAgcGF0aHMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xcXFxuICAgICAgICAgICAgZC5wdXNoKHtcXFxcbiAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxcXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFxcXFxcInNjcm9sbF9idXR0b25cXFxcXFxcIixcXFxcbiAgICAgICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgocGF0aHMsIGkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoXFxcXFxcXCJwYXRoc1xcXFxcXFwiLCBwYXRocy5zbGljZSgwLCBpICsgMSkpXFxcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgICAgICAgICAgICAgfSwgcGF0aHMsIGkpXFxcXG4gICAgICAgICAgICB9KVxcXFxuICAgICAgICB9KVxcXFxuICAgICAgICBsZXQgbGlzdCA9IEpTT04ucGFyc2UocmVxdWVzdChidWlsZFVybChcXFxcXFxcImh0dHBzOi8vYXBpLWRyaXZlLm15cGlrcGFrLmNvbS9kcml2ZS92MS9maWxlc1xcXFxcXFwiLCB7XFxcXG4gICAgICAgICAgICBcXFxcXFxcInBhcmVudF9pZFxcXFxcXFwiOiBwYXRoc1twYXRocy5sZW5ndGggLSAxXS5pZCxcXFxcbiAgICAgICAgICAgIFxcXFxcXFwidGh1bWJuYWlsX3NpemVcXFxcXFxcIjogXFxcXFxcXCJTSVpFX0xBUkdFXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICBcXFxcXFxcIndpdGhfYXVkaXRcXFxcXFxcIjogXFxcXFxcXCJ0cnVlXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICBcXFxcXFxcImxpbWl0XFxcXFxcXCI6IFxcXFxcXFwiMTAwMFxcXFxcXFwiLFxcXFxuICAgICAgICAgICAgXFxcXFxcXCJmaWx0ZXJzXFxcXFxcXCI6ICd7XFxcXFxcXCJwaGFzZVxcXFxcXFwiOntcXFxcXFxcImVxXFxcXFxcXCI6XFxcXFxcXCJQSEFTRV9UWVBFX0NPTVBMRVRFXFxcXFxcXCJ9LFxcXFxcXFwidHJhc2hlZFxcXFxcXFwiOntcXFxcXFxcImVxXFxcXFxcXCI6ZmFsc2V9fScsXFxcXG4gICAgICAgICAgICBcXFxcXFxcInBhZ2VfdG9rZW5cXFxcXFxcIjogXFxcXFxcXCJcXFxcXFxcIlxcXFxuICAgICAgICB9KSwge1xcXFxuICAgICAgICAgICAgaGVhZGVyczoge1xcXFxuICAgICAgICAgICAgICAgIFxcXFxcXFwiQXV0aG9yaXphdGlvblxcXFxcXFwiOiBcXFxcXFxcIkJlYXJlciBcXFxcXFxcIiArIGdldEl0ZW0oXFxcXFxcXCJhY2Nlc3NfdG9rZW5cXFxcXFxcIilcXFxcbiAgICAgICAgICAgIH1cXFxcbiAgICAgICAgfSkpXFxcXG4gICAgICAgIGxpc3QuZmlsZXMuZm9yRWFjaChpdGVtID0+IHtcXFxcbiAgICAgICAgICAgIGlmIChpdGVtLmtpbmQgPT0gXFxcXFxcXCJkcml2ZSNmb2xkZXJcXFxcXFxcIikge1xcXFxuICAgICAgICAgICAgICAgIHZhciB1cmxsID0gJCgpLmxhenlSdWxlKChwYXRocywgaXRlbSkgPT4ge1xcXFxuICAgICAgICAgICAgICAgICAgICBwYXRocy5wdXNoKHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lXFxcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxcXG4gICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKFxcXFxcXFwicGF0aHNcXFxcXFxcIiwgcGF0aHMpXFxcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgICAgICAgICAgICAgfSwgcGF0aHMsIGl0ZW0pXFxcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCQubW92aWUuaW5jbHVkZXMoZ2V0SHptKGl0ZW0ubmFtZSkpKSB7XFxcXG5cXFxcbiAgICAgICAgICAgICAgICB2YXIgZXh0ID0gXFxcXFxcXCIjaXNWaWRlbz10cnVlI1xcXFxcXFwiXFxcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCQuYXVkaW8uaW5jbHVkZXMoZ2V0SHptKGl0ZW0ubmFtZSkpKSB7XFxcXG4gICAgICAgICAgICAgICAgdmFyIGV4dCA9IFxcXFxcXFwiI2lzTXVzaWM9dHJ1ZSNcXFxcXFxcIlxcXFxuICAgICAgICAgICAgfSBlbHNlIGlmICgkLmltZy5pbmNsdWRlcyhnZXRIem0oaXRlbS5uYW1lKSkpIHtcXFxcbiAgICAgICAgICAgICAgICB2YXIgZXh0ID0gXFxcXFxcXCIjLmpwZ1xcXFxcXFwiXFxcXG4gICAgICAgICAgICB9IGVsc2Uge1xcXFxuICAgICAgICAgICAgICAgIHZhciBleHQgPSBcXFxcXFxcIlxcXFxcXFwiXFxcXG4gICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICB2YXIgdXJsID0gJCgpLmxhenlSdWxlKChpdGVtLCBleHQpID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgdSA9IGBodHRwczovL2FwaS1kcml2ZS5teXBpa3Bhay5jb20vZHJpdmUvdjEvZmlsZXMvJHtpdGVtLmlkfT9fbWFnaWM9MjAyMSZ0aHVtYm5haWxfc2l6ZT1TSVpFX0xBUkdFYFxcXFxuICAgICAgICAgICAgICAgIGxldCByZXMgPSBKU09OLnBhcnNlKHJlcXVlc3QodSwge1xcXFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBcXFxcXFxcIkF1dGhvcml6YXRpb25cXFxcXFxcIjogXFxcXFxcXCJCZWFyZXIgXFxcXFxcXCIgKyBnZXRJdGVtKFxcXFxcXFwiYWNjZXNzX3Rva2VuXFxcXFxcXCIpXFxcXG4gICAgICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICB9KSlcXFxcbiAgICAgICAgICAgICAgICBmb3IgKGl0ZW0gb2YgcmVzLm1lZGlhcykge1xcXFxuICAgICAgICAgICAgICAgICAgICB0cnkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IGl0ZW0ubGlua1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcC51cmwpIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG1wLnVybCArIGV4dFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxcXG4gICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgfSwgaXRlbSwgZXh0KVxcXFxuICAgICAgICAgICAgZC5wdXNoKHtcXFxcbiAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxcXFxuICAgICAgICAgICAgICAgIGltZzogaXRlbS5pY29uX2xpbmssXFxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXFxcXFwiYXZhdGFyXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICAgICAgdXJsOiBpdGVtLmtpbmQgPT0gXFxcXFxcXCJkcml2ZSNmb2xkZXJcXFxcXFxcIiA/IHVybGwgOiB1cmxcXFxcbiAgICAgICAgICAgIH0pXFxcXG4gICAgICAgIH0pXFxcXG4gICAgfSBjYXRjaCAoZSkge1xcXFxuICAgICAgICB0b2FzdChcXFxcXFxcIuajgOa1i+WIsOmUmeivr1xcXFxcXFwiKVxcXFxuICAgICAgICBsb2coZS5tZXNzYWdlKVxcXFxuICAgIH1cXFxcbn1cXFxcblxcXFxuc2V0UmVzdWx0KGQpO1xcXCJ9XVwiLFwicHJveHlcIjpcIlwifSIsInRpdGxlIjoi55m76ZmGIn0=
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement