Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@Zlib Pro@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiWmxpYiBQcm8iLCJhdXRob3IiOiJKb2UiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IiwidmVyc2lvbiI6OCwiY29sX3R5cGUiOiJtb3ZpZV8zIiwiY2xhc3NfbmFtZSI6IiIsInR5cGUiOiJyZWFkIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG5sZXQgbGF5b3V0ID0gW107XG5sYXlvdXQucHVzaCh7XG4gICAgY29sX3R5cGU6IFwiYmlnX2JsYW5rX2Jsb2NrXCJcbn0pO1xubGF5b3V0LnB1c2goe1xuICAgIGNvbF90eXBlOiBcImJpZ19ibGFua19ibG9ja1wiXG59KTtcbmxheW91dC5wdXNoKHtcbiAgICBjb2xfdHlwZTogXCJiaWdfYmxhbmtfYmxvY2tcIlxufSk7XG5sYXlvdXQucHVzaCh7XG4gICAgY29sX3R5cGU6IFwiYmlnX2JsYW5rX2Jsb2NrXCJcbn0pO1xuXG5sYXlvdXQucHVzaCh7XG4gICAgdGl0bGU6ICc8aDEgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGJpZz48Zm9udCBjb2xvcj1cIiNGRUJENkZcIj5abGliIFBybzwvZm9udD48L2JpZz48YnI+PHNtYWxsPjxmb250IGNvbG9yPVwiI0ZCNkM3M1wiPuS4i+S5puWlveW4ruaJizwvZm9udD48L3NtYWxsPjwvaDE+JyxcbiAgICBjb2xfdHlwZTogXCJyaWNoX3RleHRcIlxufSk7XG5sYXlvdXQucHVzaCh7XG4gICAgY29sX3R5cGU6IFwiaW5wdXRcIixcbiAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICByZXR1cm4gXCJoaWtlcjovL3BhZ2Uv5pCc57SiP3BhZ2U9ZnlwYWdlJmt3PVwiICsgaW5wdXRcbiAgICB9KSxcbiAgICB0aXRsZTogXCLmkJzntKJcIlxufSlcbmxheW91dC5wdXNoKHtcbiAgICBjb2xfdHlwZTogXCJiaWdfYmxhbmtfYmxvY2tcIlxufSk7XG5sYXlvdXQucHVzaCh7XG4gICAgY29sX3R5cGU6IFwiYmlnX2JsYW5rX2Jsb2NrXCJcbn0pO1xubGF5b3V0LnB1c2goe1xuICAgIGNvbF90eXBlOiBcImJpZ19ibGFua19ibG9ja1wiXG59KTtcbmxheW91dC5wdXNoKHtcbiAgICB0aXRsZTogXCLwn5SwIOWOhuWPsuiusOW9lVwiLFxuICAgIGNvbF90eXBlOiBcInRleHRfMVwiLFxuICAgIHVybDogJChcIuehruiupOa4hemZpO+8n1wiKS5jb25maXJtKCgpID0+IHtcbiAgICAgICAgY2xlYXJJdGVtKFwiaGlzdG9yeVwiKVxuICAgICAgICByZWZyZXNoUGFnZSgpXG4gICAgICAgIHRvYXN0KFwi5riF55CG5oiQ5YqfXCIpXG4gICAgfSlcbn0pO1xudmFyIGhpc3RvcnkgPSBzdG9yYWdlMC5nZXRJdGVtKFwiaGlzdG9yeVwiLCBbXSlcbmhpc3RvcnkuZm9yRWFjaChpdGVtID0+IHtcbiAgICBsYXlvdXQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBpdGVtLFxuICAgICAgICB1cmw6IFwiaGlrZXI6Ly9wYWdlL+aQnOe0oj9wYWdlPWZ5cGFnZSZrdz1cIiArIGl0ZW0sXG4gICAgICAgIGNvbF90eXBlOiBcImZsZXhfYnV0dG9uXCJcbiAgICB9KVxufSlcbnNldFJlc3VsdChsYXlvdXQpOyIsInNlYXJjaF91cmwiOiJoaWtlcjovL2VtcHR5P2t3PSoqIiwiZ3JvdXAiOiLpmIXor7siLCJzZWFyY2hGaW5kIjoianM6XG5zZXRSZXN1bHQoW3tcbiAgICB1cmw6IFwiaGlrZXI6Ly9wYWdlL+aQnOe0oj9wYWdlPWZ5cGFnZSZrdz1cIiArIGdldFBhcmFtKFwia3dcIiksXG4gICAgdGl0bGU6IFwi5pCc57Si77yaXCIgKyBnZXRQYXJhbShcImt3XCIpXG59XSkiLCJkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwiZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInNkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwic2RldGFpbF9maW5kX3J1bGUiOiIiLCJ1YSI6Im1vYmlsZSIsInByZVJ1bGUiOiIiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwidGV4dF8xXCIsXCJuYW1lXCI6XCLmkJzntKJcIixcInBhdGhcIjpcIuaQnOe0olwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG50cnkge1xcbiAgICBpZiAoTVlfUEFHRSA9PSAxKSB7XFxuICAgICAgICB2YXIgZW5naW5lcyA9IFtcXFwiWWxpYnJhcnlcXFwiLCBcXFwiWmhlbHBlcl92NVxcXCIsIFxcXCJaaGVscGVyX3Y0XFxcIiwgXFxcIkxpYmdlblxcXCIsIFxcXCLml6DlkI3lm77kuaZcXFwiLCBcXFwi572R55uYXFxcIl1cXG4gICAgICAgIGVuZ2luZXMuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogZ2V0SXRlbShcXFwiZW5naW5lXFxcIiwgXFxcIllsaWJyYXJ5XFxcIikgPT0gaXRlbSA/IGDigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVxcXCIjZjEzYjY2YVxcXCI+4peJIDwvZnJvbnQ+PC9zdHJvbmc+JHtpdGVtfWAgOiBpdGVtLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgobikgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgc2V0SXRlbShcXFwiZW5naW5lXFxcIiwgbilcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/lt7LliIfmjaLlvJXmk47vvJpcXFwiICsgblxcbiAgICAgICAgICAgICAgICB9LCBpdGVtKSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJzY3JvbGxfYnV0dG9uXFxcIlxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KVxcbiAgICB9XFxuICAgIHZhciBoaXN0b3J5ID0gc3RvcmFnZTAuZ2V0SXRlbShcXFwiaGlzdG9yeVxcXCIsIFtdKVxcbiAgICBpZiAoIWhpc3RvcnkuaW5jbHVkZXMoZ2V0UGFyYW0oXFxcImt3XFxcIikpKSB7XFxuICAgICAgICBoaXN0b3J5LnVuc2hpZnQoZ2V0UGFyYW0oXFxcImt3XFxcIikpXFxuICAgICAgICBzdG9yYWdlMC5zZXRJdGVtKFxcXCJoaXN0b3J5XFxcIiwgaGlzdG9yeSlcXG4gICAgfVxcbiAgICAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9hcGlcXFwiKVtnZXRJdGVtKFxcXCJlbmdpbmVcXFwiLCBcXFwiWWxpYnJhcnlcXFwiKV0oZ2V0UGFyYW0oXFxcImt3XFxcIiksIE1ZX1BBR0UpXFxufSBjYXRjaCAoZSkge1xcbiAgICB0b2FzdChcXFwi5pCc57Si5aSx6LSl5LqG77yM6K+35YiH5o2i5byV5pOO6YeN6K+VXFxcIilcXG4gICAgbG9nKGUubWVzc2FnZSlcXG59XFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwidGV4dF8xXCIsXCJuYW1lXCI6XCJhcGlcIixcInBhdGhcIjpcImFwaVwiLFwicnVsZVwiOlwiJC5leHBvcnRzID0ge1xcbiAgICBzZXJ2ZXJzOiBbXFxcImh0dHBzOi8vaXBmc2d3MDAuc3Rhcml2ZXJwYW4uY29tOjkwOTUvaXBmcy9cXFwiLCBcXFwiaHR0cHM6Ly9kd2ViLmxpbmsvaXBmcy9cXFwiLCBcXFwiaHR0cHM6Ly9pcGZzLmpwdS5qcC9pcGZzL1xcXCIsIFxcXCJodHRwczovL2NmLWlwZnMuY29tL2lwZnMvXFxcIiwgXFxcImh0dHBzOi8vZ2F0ZXdheS5waW5hdGEuY2xvdWQvaXBmcy9cXFwiLCBcXFwiaHR0cHM6Ly9pcGZzLWdhdGV3YXkuY2xvdWQvaXBmcy9cXFwiXSxcXG4gICAgZ2V0RmlsZVNpemU6IGZ1bmN0aW9uKHNpemUpIHtcXG4gICAgICAgIGlmIChzaXplIDw9IDApIHtcXG4gICAgICAgICAgICByZXR1cm4gXFxcIlxcXCI7XFxuICAgICAgICB9XFxuICAgICAgICBsZXQgdW5pdEZvcm0gPSBbXFxcIkJ5dGVcXFwiLCBcXFwiS0JcXFwiLCBcXFwiTUJcXFwiLCBcXFwiR0JcXFwiLCBcXFwiVEJcXFwiXTtcXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB1bml0Rm9ybS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xcbiAgICAgICAgICAgIGlmIChzaXplID4gMTAyNCkge1xcbiAgICAgICAgICAgICAgICBzaXplIC89IDEwMjQ7XFxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiBzaXplLnRvRml4ZWQoMikucmVwbGFjZSgvKFxcXFwuMDApJC8sIFxcXCJcXFwiKSArIHVuaXRGb3JtW2ldO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiBcXFwiRVJST1I65pWw5YC86L+H5aSnXFxcIjtcXG4gICAgfSxcXG4gICAgWWxpYnJhcnk6IGZ1bmN0aW9uKGt3LCBwYWdlKSB7XFxuICAgICAgICB2YXIgcmVzID0gSlNPTi5wYXJzZShwb3N0KFxcXCJodHRwczovL2FwaS55bGlicmFyeS5vcmcvYXBpL3NlYXJjaC9cXFwiLCB7XFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgICAgICBcXFwia2V5d29yZFxcXCI6IGt3LFxcbiAgICAgICAgICAgICAgICBcXFwicGFnZVxcXCI6IHBhZ2UsXFxuICAgICAgICAgICAgICAgIFxcXCJzZW5zaXRpdmVcXFwiOiBmYWxzZVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KSkuZGF0YVxcbiAgICAgICAgcmVzLmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGUsXFxuICAgICAgICAgICAgICAgIGRlc2M6IGDigJzigJzigJ3igJ08c21hbGw+5L2c6ICFOiR7aXRlbS5hdXRob3J9IOWHuueJiOekvjoke2l0ZW0ucHVibGlzaGVyP2l0ZW0ucHVibGlzaGVyOlxcXCLmmoLml6BcXFwifSBJU0JOOiR7aXRlbS5pc2JuP2l0ZW0uaXNibjpcXFwi5pqC5pegXFxcIn0g5Ye654mI5pe26Ze0OiR7aXRlbS55ZWFyP2l0ZW0ueWVhcjpcXFwi5pqC5pegXFxcIn0g5paH5Lu25qC85byPOiR7aXRlbS5leHRlbnNpb259IOaWh+S7tuWkp+WwjzokeyQucmVxdWlyZShcXFwiYXBpXFxcIikuZ2V0RmlsZVNpemUoaXRlbS5maWxlc2l6ZSl9PC9zbWFsbD5gLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoaWQpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcyA9IEpTT04ucGFyc2UocG9zdChcXFwiaHR0cHM6Ly9hcGkueWxpYnJhcnkub3JnL2FwaS9kZXRhaWwvXFxcIiwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBpZCxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzb3VyY2VcXFwiOiBcXFwiemxpYnJhcnlcXFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlcnZlcnMgPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9hcGlcXFwiKS5zZXJ2ZXJzXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVycy51bnNoaWZ0KFxcXCJpcGZz5LiL6L29XFxcIilcXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJzLnVuc2hpZnQoXFxcIueZvuW6puS6keebmOi9rOWtmFxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5pbl9saWJnZW4pIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVycy51bnNoaWZ0KFxcXCJMaWJnZW4o5o6o6I2QKVxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkKHNlcnZlcnMsIDEsIFxcXCLpgInmi6nnur/ot69cXFwiKS5zZWxlY3QoKHJlcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQgPT0gXFxcIkxpYmdlbijmjqjojZApXFxcIikge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJkb3dubG9hZDovL1xcXCIgKyBwZGZoKHJlcXVlc3QoXFxcImh0dHA6Ly9saWJyYXJ5LmxvbC9tYWluL1xcXCIgKyByZXMubWQ1KSwgXFxcIiNkb3dubG9hZCYmYSYmaHJlZlxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQgPT0gXFxcIueZvuW6puS6keebmOi9rOWtmFxcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkLnJlcXVpcmUoXFxcImFwaVxcXCIpLmJhaWR1KHJlcylcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dCA9PSBcXFwiaXBmc+S4i+i9vVxcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgeDU6Ly9odHRwczovL2lwZnMtY2hlY2tlci4xa2J0b29sLmNvbS8ke3Jlcy5pcGZzX2NpZH1gXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQuaW5jbHVkZXMoXFxcImlwZnNndzAwLnN0YXJpdmVycGFuLmNvbVxcXCIpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImRvd25sb2FkOi8vXFxcIiArIGlucHV0ICsgcmVzLmlwZnNfY2lkICsgXFxcIjt7UmVmZXJlckBodHRwczovL3d4LnN0YXJpdmVycGFuLmNvbS99XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJkb3dubG9hZDovL1xcXCIgKyBpbnB1dCArIHJlcy5pcGZzX2NpZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgcmVzKVxcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZyhlLm1lc3NhZ2UpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+ino+aekOWksei0pVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSwgaXRlbS5pZClcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSlcXG4gICAgfSxcXG4gICAgWmhlbHBlcl92NTogZnVuY3Rpb24oa3csIHBhZ2UpIHtcXG4gICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHBvc3QoXFxcImh0dHBzOi8vYXBpLnY1LnpoZWxwZXIubmV0L2FwaS9zZWFyY2gvXFxcIiwge1xcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgICAgICAgICAgXFxcImtleXdvcmRcXFwiOiBrdyxcXG4gICAgICAgICAgICAgICAgXFxcInBhZ2VcXFwiOiBwYWdlLFxcbiAgICAgICAgICAgICAgICBcXFwic2Vuc2l0aXZlXFxcIjogZmFsc2VcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSkpLmRhdGFcXG4gICAgICAgIHJlcy5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxcbiAgICAgICAgICAgICAgICBkZXNjOiBg4oCc4oCc4oCd4oCdPHNtYWxsPuS9nOiAhToke2l0ZW0uYXV0aG9yfSDlh7rniYjnpL46JHtpdGVtLnB1Ymxpc2hlcj9pdGVtLnB1Ymxpc2hlcjpcXFwi5pqC5pegXFxcIn0gSVNCTjoke2l0ZW0uaXNibj9pdGVtLmlzYm46XFxcIuaaguaXoFxcXCJ9IOWHuueJiOaXtumXtDoke2l0ZW0ueWVhcj9pdGVtLnllYXI6XFxcIuaaguaXoFxcXCJ9IOaWh+S7tuagvOW8jzoke2l0ZW0uZXh0ZW5zaW9ufSDmlofku7blpKflsI86JHskLnJlcXVpcmUoXFxcImFwaVxcXCIpLmdldEZpbGVTaXplKGl0ZW0uZmlsZXNpemUpfTwvc21hbGw+YCxcXG4gICAgICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKGlkKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHBvc3QoXFxcImh0dHBzOi8vYXBpLnY1LnpoZWxwZXIubmV0L2FwaS9kZXRhaWwvXFxcIiwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBpZCxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJzb3VyY2VcXFwiOiBcXFwiemxpYnJhcnlcXFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlcnZlcnMgPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9hcGlcXFwiKS5zZXJ2ZXJzXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVycy51bnNoaWZ0KFxcXCJpcGZz5LiL6L29XFxcIilcXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJzLnVuc2hpZnQoXFxcIueZvuW6puS6keebmOi9rOWtmFxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5pbl9saWJnZW4pIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVycy51bnNoaWZ0KFxcXCJMaWJnZW4o5o6o6I2QKVxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkKHNlcnZlcnMsIDEsIFxcXCLpgInmi6nnur/ot69cXFwiKS5zZWxlY3QoKHJlcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQgPT0gXFxcIkxpYmdlbijmjqjojZApXFxcIikge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJkb3dubG9hZDovL1xcXCIgKyBwZGZoKHJlcXVlc3QoXFxcImh0dHA6Ly9saWJyYXJ5LmxvbC9tYWluL1xcXCIgKyByZXMubWQ1KSwgXFxcIiNkb3dubG9hZCYmYSYmaHJlZlxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQgPT0gXFxcIueZvuW6puS6keebmOi9rOWtmFxcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkLnJlcXVpcmUoXFxcImFwaVxcXCIpLmJhaWR1KHJlcylcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dCA9PSBcXFwiaXBmc+S4i+i9vVxcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgeDU6Ly9odHRwczovL2lwZnMtY2hlY2tlci4xa2J0b29sLmNvbS8ke3Jlcy5pcGZzX2NpZH1gXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQuaW5jbHVkZXMoXFxcImlwZnNndzAwLnN0YXJpdmVycGFuLmNvbVxcXCIpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImRvd25sb2FkOi8vXFxcIiArIGlucHV0ICsgcmVzLmlwZnNfY2lkICsgXFxcIjt7UmVmZXJlckBodHRwczovL3d4LnN0YXJpdmVycGFuLmNvbS99XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJkb3dubG9hZDovL1xcXCIgKyBpbnB1dCArIHJlcy5pcGZzX2NpZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgcmVzKVxcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZyhlLm1lc3NhZ2UpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+ino+aekOWksei0pVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSwgaXRlbS5pZClcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSlcXG4gICAgfSxcXG4gICAgWmhlbHBlcl92NDogZnVuY3Rpb24oa3csIHBhZ2UpIHtcXG4gICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHBvc3QoXFxcImh0dHBzOi8vYXBpLm1pYm9va3MudGsvYXBpL3NlYXJjaC9cXFwiLCB7XFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgICAgICBcXFwia2V5d29yZFxcXCI6IGt3LFxcbiAgICAgICAgICAgICAgICBcXFwicGFnZVxcXCI6IHBhZ2UsXFxuICAgICAgICAgICAgICAgIFxcXCJzZW5zaXRpdmVcXFwiOiBmYWxzZVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KSkuZGF0YVxcbiAgICAgICAgcmVzLmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGUsXFxuICAgICAgICAgICAgICAgIGRlc2M6IGDigJzigJzigJ3igJ08c21hbGw+5L2c6ICFOiR7aXRlbS5hdXRob3J9IOWHuueJiOekvjoke2l0ZW0ucHVibGlzaGVyP2l0ZW0ucHVibGlzaGVyOlxcXCLmmoLml6BcXFwifSBJU0JOOiR7aXRlbS5pc2JuP2l0ZW0uaXNibjpcXFwi5pqC5pegXFxcIn0g5Ye654mI5pe26Ze0OiR7aXRlbS55ZWFyP2l0ZW0ueWVhcjpcXFwi5pqC5pegXFxcIn0g5paH5Lu25qC85byPOiR7aXRlbS5leHRlbnNpb259IOaWh+S7tuWkp+WwjzokeyQucmVxdWlyZShcXFwiYXBpXFxcIikuZ2V0RmlsZVNpemUoaXRlbS5maWxlc2l6ZSl9PC9zbWFsbD5gLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoaWQpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlcnZlcnMgPSBbJ2h0dHBzOi8vdGVzdDEuemxpYi5kb3dubG9hZCcsICdodHRwczovL3Rlc3QyLnpsaWIuZG93bmxvYWQnLCAnaHR0cHM6Ly96bGliLmpnMTIxMjMub25lJ11cXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJChzZXJ2ZXJzLCAxLCBcXFwi6K+36YCJ5oup5LiL6L2957q/6LevXFxcIikuc2VsZWN0KChpZCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImRvd25sb2FkOi8vXFxcIiArIGlucHV0ICsgXFxcIi9kb3dubG9hZC9cXFwiICsgaWQgKyBcXFwiL1xcXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBpZClcXG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2coZS5tZXNzYWdlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/op6PmnpDlpLHotKVcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0sIGl0ZW0uaWQpXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgIH0sXFxuICAgIGNoZWNrTGliZ2VuOiBmdW5jdGlvbigpIHtcXG4gICAgICAgIHZhciBkb21haW5zID0gW1xcXCJodHRwOi8vbGliZ2VuLnJzXFxcIiwgXFxcImh0dHA6Ly9saWJnZW4uaXNcXFwiLCBcXFwiaHR0cDovL2xpYmdlbi5zdFxcXCJdXFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGZvciAoaXRlbSBvZiBkb21haW5zKSB7XFxuICAgICAgICAgICAgICAgIHZhciBjb2RlID0gSlNPTi5wYXJzZShyZXF1ZXN0KGl0ZW0sIHtcXG4gICAgICAgICAgICAgICAgICAgIHdpdGhTdGF0dXNDb2RlOiB0cnVlXFxuICAgICAgICAgICAgICAgIH0pKS5zdGF0dXNDb2RlXFxuICAgICAgICAgICAgICAgIGlmIChjb2RlID09IDIwMCkge1xcbiAgICAgICAgICAgICAgICAgICAgc2V0SXRlbShcXFwibGliZ2VuXFxcIiwgaXRlbSlcXG4gICAgICAgICAgICAgICAgICAgIHRvYXN0KFxcXCLmo4DmtYvliLDlj6/nlKjplZzlg49cXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB0b2FzdChcXFwi5omA5pyJ6ZWc5YOP6YO95peg5rOV5L2/55So77yM6K+35omT5byAVFrkvb/nlKhcXFwiKVxcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgIGxvZyhlLm1lc3NhZ2UpXFxuICAgICAgICB9XFxuICAgIH0sXFxuICAgIExpYmdlbjogZnVuY3Rpb24oa3csIHBhZ2UpIHtcXG4gICAgICAgIGlmIChnZXRJdGVtKFxcXCJsaWJnZW5cXFwiLCBcXFwiXFxcIikgPT0gXFxcIlxcXCIpIHtcXG4gICAgICAgICAgICB0b2FzdChcXFwi5peg5Y+v55So6ZWc5YOP77yM5q2j5Zyo5qOA5rWL5LitLi4uXFxcIilcXG4gICAgICAgICAgICAkLnJlcXVpcmUoXFxcImFwaVxcXCIpLmNoZWNrTGliZ2VuKClcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHVybCA9IGdldEl0ZW0oXFxcImxpYmdlblxcXCIpICsgXFxcIi9zZWFyY2gucGhwP3JlcT1cXFwiICsga3cgKyBcXFwiJnBhZ2U9XFxcIiArIHBhZ2VcXG4gICAgICAgICAgICB2YXIgciA9IEpTT04ucGFyc2UocmVxdWVzdCh1cmwsIHtcXG4gICAgICAgICAgICAgICAgd2l0aEhlYWRlcnM6IHRydWVcXG4gICAgICAgICAgICB9KSlcXG4gICAgICAgICAgICBpZiAoci5zdGF0dXNDb2RlID09IDIwMCkge1xcbiAgICAgICAgICAgICAgICB2YXIgcmVzID0gci5ib2R5XFxuICAgICAgICAgICAgICAgIHZhciBsaXN0ID0gcGRmYShyZXMsIFxcXCJib2R5JiZ0clxcXCIpLmZpbHRlcihpdGVtID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmluY2x1ZGVzKFxcXCJub3dyYXBcXFwiKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtXFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciBsaSA9IGl0ZW0ubWF0Y2gobmV3IFJlZ0V4cChcXFwiPHRkKC4qPyk8L3RkPlxcXCIsIFxcXCJnXFxcIikpXFxuICAgICAgICAgICAgICAgICAgICB2YXIgZGVzYyA9IFxcXCLigJzigJzigJ3igJ08c21hbGw+XFxcIiArIHBkZmgobGlbMV0sIFxcXCJhJiZUZXh0XFxcIilcXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAzOyBpIDwgbGkubGVuZ3RoIC0gMzsgaSsrKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzYyArPSBcXFwi77ybXFxcIiArIHBkZmgobGlbaV0sIFxcXCJUZXh0XFxcIilcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIGRlc2MgKz0gXFxcIjwvc21hbGw+XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogcGRmaChsaVsyXSwgXFxcIlRleHRcXFwiKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiBkZXNjLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKChsaSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImRvd25sb2FkOi8vXFxcIiArIHBkZmgocmVxdWVzdChwZGZoKGxpWzldLCBcXFwiYSYmaHJlZlxcXCIpKSwgXFxcIiNkb3dubG9hZCYmYSYmaHJlZlxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgbGkpXFxuICAgICAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHRvYXN0KFxcXCLplZzlg4/lpLHmlYjvvIzph43mlrDmo4DmtYvkuK0uLi5cXFwiKVxcbiAgICAgICAgICAgICAgICAkLnJlcXVpcmUoXFxcImFwaVxcXCIpLmNoZWNrTGliZ2VuKClcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgIH0sXFxuICAgIOe9keebmDogZnVuY3Rpb24oa3csIHBhZ2UpIHtcXG4gICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHBvc3QoXFxcImh0dHBzOi8vYXBpLmJvb2twYW4ubmV0L2FwaS9zZWFyY2gvXFxcIiwge1xcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgICAgICAgICAgXFxcImtleXdvcmRcXFwiOiBrdyxcXG4gICAgICAgICAgICAgICAgXFxcInBhZ2VcXFwiOiBwYWdlLFxcbiAgICAgICAgICAgICAgICBcXFwic2Vuc2l0aXZlXFxcIjogZmFsc2VcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSkpLmRhdGFcXG4gICAgICAgIHJlcy5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLmluZm8sXFxuICAgICAgICAgICAgICAgIGRlc2M6IFxcXCLigJzigJzigJ3igJ08c21hbGw+XFxcIiArIGl0ZW0uc291cmNlICsgXFxcIjwvc21hbGw+XFxcIixcXG4gICAgICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKGlkLCBzb3VyY2UpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcyA9IEpTT04ucGFyc2UocG9zdChcXFwiaHR0cHM6Ly9hcGkuYm9va3Bhbi5uZXQvYXBpL2RldGFpbC9cXFwiLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IGlkLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInNvdXJjZVxcXCI6IHNvdXJjZVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMuZG93bmxvYWRfbGluaykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGljdCA9IHt9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5kb3dubG9hZF9saW5rLnVuc2hpZnQoe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXFxcIuWOn+e9kemhtVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHJlcy51cmxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQocmVzLmRvd25sb2FkX2xpbmsubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLm5hbWVcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIDEsIFxcXCLor7fpgInmi6nkuIvovb3nur/ot69cXFwiKS5zZWxlY3QoKGxpbmtzKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGlua3NbbGlua3MubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5uYW1lXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5pbmRleE9mKGlucHV0KV0udXJsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHJlcy5kb3dubG9hZF9saW5rKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXMudXJsXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZyhlLm1lc3NhZ2UpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+ino+aekOWksei0pVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSwgaXRlbS5pZCwgaXRlbS5zb3VyY2UpXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgIH0sXFxuICAgIOaXoOWQjeWbvuS5pjogZnVuY3Rpb24oa3csIHBhZ2UpIHtcXG4gICAgICAgIHZhciB1cmwgPSBcXFwiaHR0cHM6Ly93d3cuYm9vazEyMy5pbmZvL2xpc3Q/a2V5PVxcXCIgKyBrdyArIFxcXCImcGFnZT1cXFwiICsgcGFnZVxcbiAgICAgICAgdmFyIHJlcyA9IHJlcXVlc3QodXJsKVxcbiAgICAgICAgdmFyIGxpc3QgPSBwZGZhKHJlcywgXFxcIi5saXN0X3BhZ2VDb250ZW50X196X3l6diYmbGlcXFwiKVxcbiAgICAgICAgbGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sIFxcXCIubGlzdF90aXRsZV9fMDZudDImJlRleHRcXFwiKSxcXG4gICAgICAgICAgICAgICAgZGVzYzogXFxcIuKAnOKAnOKAneKAnTxzbWFsbD5cXFwiICsgcGRmaChpdGVtLCBcXFwiLmxpc3RfYXV0aG9yX19sUHdwbCYmVGV4dFxcXCIpICsgXFxcIlxcXFxuXFxcIiArIHBkZmgoaXRlbSwgXFxcIi5saXN0X3JhdGVfX0o3T3gxJiZUZXh0XFxcIikgKyBcXFwiXFxcXG5cXFwiICsgcGRmaChpdGVtLCBcXFwiLmxpc3RfZGVzY19fa0pqMVkmJlRleHRcXFwiKSArIFxcXCI8L3NtYWxsPlxcXCIsXFxuICAgICAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKCh1cmwpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiZG93bmxvYWQ6Ly9cXFwiICsgcGRmaChyZXF1ZXN0KHVybCksIFxcXCIuZGV0YWlsX2Rvd25sb2FkX2J0bl9fdjdiN2smJmhyZWZcXFwiKVxcbiAgICAgICAgICAgICAgICB9LCBcXFwiaHR0cHM6Ly93d3cuYm9vazEyMy5pbmZvXFxcIiArIHBkZmgoaXRlbSwgXFxcImEmJmhyZWZcXFwiKSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSlcXG4gICAgfSxcXG4gICAgYmFpZHU6IGZ1bmN0aW9uKHJlcykge1xcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBpZiAoIWZpbGVFeGlzdChcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9Kb2UvYmFpZHUudHh0XFxcIikpIHtcXG4gICAgICAgICAgICAgICAgdG9hc3QoXFxcIui/mOacqueZu+mZhlxcXCIpXFxuICAgICAgICAgICAgICAgIHJldHVybiAkKCkucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBzZXRSZXN1bHQoW3tcXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IFxcXCJodHRwczovL3Bhbi5iYWlkdS5jb20vXFxcIixcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcIng1X3dlYnZpZXdfc2luZ2xlXFxcIixcXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiBcXFwiMTAwJSYmZmxvYXRcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSBsb2NhdGlvbi5ocmVmXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodXJsLmluY2x1ZGVzKFxcXCJodHRwczovL3Bhbi5iYWlkdS5jb20vd2FwXFxcIikpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYmEud3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL0pvZS9iYWlkdS50eHRcXFwiLCBmYmEuZ2V0Q29va2llKFxcXCJcXFwiKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGVydChcXFwi5bey6I635Y+W5YiwY29va2ll77yM6L+U5Zue5Y2z5Y+vXFxcIilcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYmEuYmFjaygpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1YTogTU9CSUxFX1VBLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5CYWNrOiB0cnVlXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfV0pXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgdmFyIGJkc3Rva2VuID0gSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJodHRwczovL3Bhbi5iYWlkdS5jb20vYXBpL2dldHRlbXBsYXRldmFyaWFibGU/ZmllbGRzPVslMjJiZHN0b2tlbiUyMl1cXFwiLCB7XFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llOiByZXF1ZXN0KFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL0pvZS9iYWlkdS50eHRcXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KSkucmVzdWx0LmJkc3Rva2VuXFxuICAgICAgICAgICAgICAgIHJldHVybiAkKFxcXCIv55S15a2Q5LmmL1xcXCIgKyByZXMudGl0bGUgKyBcXFwiLlxcXCIgKyByZXMuZXh0ZW5zaW9uLCBcXFwi6K+36L6T5YWl5L+d5a2Y6Lev5b6EXFxcIikuaW5wdXQoKGJkc3Rva2VuLCByZXMpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHBvc3QoXFxcImh0dHBzOi8vcGFuLmJhaWR1LmNvbS9yZXN0LzIuMC94cGFuL2ZpbGU/bWV0aG9kPWNyZWF0ZSZiZHN0b2tlbj1cXFwiICsgYmRzdG9rZW4sIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvb2tpZTogcmVxdWVzdChcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9Kb2UvYmFpZHUudHh0XFxcIilcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVzLmZpbGVzaXplICsgXFxcIlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGlucHV0LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja19saXN0OiBbcmVzLm1kNV0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0eXBlOiAwXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfSkpXFxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmVycm5vID09IDApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v6L2s5a2Y5oiQ5YqfXFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMuZXJybm8gPT0gLTgpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v6L2s5a2Y5aSx6LSl77yM5bey57uP5L+d5a2Y6L+H6L+Z5Liq5paH5Lu25LqGXFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMuZXJybm8gPT0gMikge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/ovazlrZjlpLHotKXvvIzplJnor6/nmoTot6/lvoRcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZyhyZXMuZXJybm8pXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+i9rOWtmOWksei0pVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSwgYmRzdG9rZW4sIHJlcylcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICAgICAgbG9nKGUubWVzc2FnZSlcXG4gICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v6L2s5a2Y5aSx6LSlXFxcIlxcbiAgICAgICAgfVxcbiAgICB9XFxufVwifV0iLCJpY29uIjoiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL2tlLzM4LnBuZyIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment