xiaomianao666

小程序:GithubApp

Apr 10th, 2024
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@GithubApp@eyJmaXJzdEhlYWRlciI6ImNsYXNzIiwibGFzdF9jaGFwdGVyX3J1bGUiOiJib2R5JiZkaXZbZGF0YS1ocGNdJiZzZWN0aW9uJiZoMiYmVGV4dCIsInRpdGxlIjoiR2l0aHViQXBwIiwiYXV0aG9yIjoiUjrkuI3opoHkv67mlLnlsI/nqIvluo/lkI3vvIzlj6/og73kvJrmiqXplJkiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IyMiLCJ2ZXJzaW9uIjoyMDI0MDQwMTEwLCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdXG52YXIg5pu05pawID0gMjQgLy8o5bCP5pe2KeaPkOmGkuajgOa1i+abtOaWsOmXtOmalOaXtumXtFxudmFyIOmXtOmalCA9IGNvbmZpZy7pl7TpmpRcblxuLy8g6K6+572u5Y2V5Ye75pON5L2c5piv6L+b5YWl5LqM57qn6aG16Z2i6L+Y5piv5o6S5bqPXG52YXIgY2xpY2tfYWN0aW9uID0gZ2V0TXlWYXIoJ2NsaWNrX2FjdGlvbicsICdjbGljaycpXG5cbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2Uv5re75YqgJywge30pKS5ydWxlKVxuXG5kLnB1c2goe1xuICAgIGNvbF90eXBlOiAnaW5wdXQnLFxuICAgIHRpdGxlOiAn8J+NsycsXG4gICAgZGVzYzogJ+aQnOe0okFwcCcsXG4gICAgdXJsOiAncHV0TXlWYXIoXCJmaWx0ZXJBcHBXb3JkXCIsIGlucHV0KTsgcmVmcmVzaFBhZ2UoKTtcImhpa2VyOi8vZW1wdHlcIicsXG59KVxuXG5mdW5jdGlvbiBjb21wYXJlQXJyYXlzKGFycjEsIGFycjIpIHtcbiAgICBsZXQgZGlmZmVyZW50SW5kaWNlcyA9IFtdXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICghYXJyMS5pbmNsdWRlcyhhcnIyW2ldKSkge1xuICAgICAgICAgICAgZGlmZmVyZW50SW5kaWNlcy5wdXNoKGkpXG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRpZmZlcmVudEluZGljZXNcbn1cblxudmFyIGRhdGEgPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2Fwb2xsby9HaXRodWJBcHAvR2l0aHViQXBwLnR4dCcpIHx8ICdbXScpXG4vL2xvZyhkYXRhKVxudmFyIHZlcnNpb24gPSBnZXRJdGVtKCd2Jykuc3BsaXQoJ/CflKUnKVxuXG5pZiAoTVlfUEFHRSA9PSAxKSB7XG4gICAgZC5wdXNoKFxuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTpcbiAgICAgICAgICAgICAgICDpl7TpmpQgPCDmm7TmlrAgPyAn4oCc4oCc4oCd4oCdJyArICdcXHTimpkg5qOA5rWL5pu05pawIOKamScuYm9sZCgpIDogJ+KAnOKAnOKAneKAnScgKyAnXFx04pqZIOajgOa1i+abtOaWsCDimpknLmJvbGQoKS5mb250Y29sb3IoJyNGRjAwRkYnKSxcbiAgICAgICAgICAgIGltZzogJ2hpa2VyOi8vaW1hZ2VzL2ljb25fc2VhcmNoNicsXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2ljb25fMl9yb3VuZCcsXG4gICAgICAgICAgICB1cmw6XG4gICAgICAgICAgICAgICAgJ2hpa2VyOi8vZW1wdHknICtcbiAgICAgICAgICAgICAgICAkKCcnKS5sYXp5UnVsZShcbiAgICAgICAgICAgICAgICAgICAgKGRhdGEsIHZlcnNpb24sIGNvbXBhcmVBcnJheXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXJscyA9IFtdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIFVybHMgPSBkYXRhLm1hcCgoaSkgPT4gaS5zcGxpdCgn8J+UpScpWzFdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVybHMuZm9yRWFjaCgodSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmxzLnB1c2goeyB1cmw6IHUgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2cyA9IGJmKHVybHMpLm1hcCgoaCkgPT4gcGRmaChoLCAnYm9keSYmZGl2W2RhdGEtaHBjXSYmc2VjdGlvbiYmaDImJlRleHQnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgciA9IGNvbXBhcmVBcnJheXModmVyc2lvbiwgdnMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSByLmpvaW4oJ/CflKUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2ID0gdnMuam9pbign8J+UpScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYuaW5jbHVkZXMoJ/CflKXwn5SlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ajgOa1i+Wksei0pe+8jOivt+mHjeivlSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmVyc2lvbi5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJdGVtKCd2JywgdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WIneWni+eJiOacrOWPt+aIkOWKnydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEl0ZW0oJ3MnLCBzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXRlbSgndicsIHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mo4DmtYvmnIknICsgci5sZW5ndGggKyAn5Liq5pu05pawfidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ayoeacieaVsOaNrn4nXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgICAgICAgICAgIGNvbXBhcmVBcnJheXNcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyAnXFx04pqZIOabtOWkmuWKn+iDvSDimpknLmJvbGQoKSxcbiAgICAgICAgICAgIGltZzogJ2hpa2VyOi8vaW1hZ2VzL2ljb25fbWVudTYnLFxuICAgICAgICAgICAgY29sX3R5cGU6ICdpY29uXzJfcm91bmQnLFxuICAgICAgICAgICAgdXJsOiAkKFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgJ+WvvOWFpeWIhuS6q+aVsOaNricsXG4gICAgICAgICAgICAgICAgICAgICfliIbkuqvljp/lp4vmlbDmja4nLFxuICAgICAgICAgICAgICAgICAgICAn5YiG5Lqr5LqR5Ymq6LS05p2/JyxcbiAgICAgICAgICAgICAgICAgICAgJ+WIhuS6q+S6keWPo+S7pCcsXG4gICAgICAgICAgICAgICAgICAgICfmi4nlj5bimqDvuI/kupHmlbDmja4nLFxuICAgICAgICAgICAgICAgICAgICAn5ZCI5bm25pys5Zyw5ZKM5LqRJyxcbiAgICAgICAgICAgICAgICAgICAgJ+a4heepuuacrOWcsOaVsOaNricsXG4gICAgICAgICAgICAgICAgICAgICfnvJbovpHov5znqIvmlbDmja4nLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgKS5zZWxlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dCA9PSAn5a+85YWl5YiG5Lqr5pWw5o2uJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJCgnJywgJ+aUr+aMgeWOn+Wni+aVsOaNruWSjOS6keWJqui0tOadv+WIhuS6qycpLmlucHV0KChydWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2JhdGNoSW0/cnVsZT0nICsgcnVsZSkpLnJ1bGUpXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQuc3RhcnRzV2l0aCgnR2l0aHViQXBw5YiG5LqrIyMnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0ID0gYmFzZTY0RGVjb2RlKHBhcnNlUGFzdGUoaW5wdXQuc3BsaXQoJyMjXFxuJylbMV0pKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dC5zdGFydHNXaXRoKCdHaXRodWJBcHDliIbkuqssJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCA9IGJhc2U2NERlY29kZShwYXJzZVBhc3RlKGlucHV0LnNwbGl0KCdcXG4nKVsxXS5zcGxpdCgnQCcpWzBdKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gLyogZWxzZSBpZiAoL17kupFcXGQrb29vb2xlfF5odHRwczpcXC9cXC8oPzpwYXN0ZW1lXFwudHlyYW50Z3xuZXRjdXR8Y21kfG5vdGV8dHh0cGJiZHxoYXNzZHRlYmluKS8udGVzdChpbnB1dCkpe1xuICAgICAgICAgICAgICAgIGlucHV0ID0gYmFzZTY0RGVjb2RlKHBhcnNlUGFzdGUoaW5wdXQpKTtcbiAgICAgICAgICAgIH0qL1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhdGNoSW1wb3J0KGlucHV0LCBydWxlKVxuICAgICAgICAgICAgICAgICAgICB9LCAnR2l0aHViQXBwJylcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0ID09ICflkIjlubbmnKzlnLDlkozkupEnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2JhdGNoSW0nLCB7fSkpLnJ1bGUpXG4gICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2RhdGEnLCB7fSkpLnJ1bGUpXG4gICAgICAgICAgICAgICAgICAgICAgICB5ZGF0YSA9IEpTT04uc3RyaW5naWZ5KHlkYXRhKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhdGNoSW1wb3J0KHlkYXRhLCAnR2l0aHViQXBwJylcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6I635Y+W5aSx6LSl77yM6K+36YeN6K+VJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dCA9PSAn5ouJ5Y+W4pqg77iP5LqR5pWw5o2uJykge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvZGF0YScsIHt9KSkucnVsZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlRmlsZSgnaGlrZXI6Ly9maWxlcy9ydWxlcy9hcG9sbG8vR2l0aHViQXBwL0dpdGh1YkFwcC50eHQnLCBKU09OLnN0cmluZ2lmeSh5ZGF0YSkpXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6I635Y+W5aSx6LSl77yM6K+36YeN6K+VJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dCA9PSAn5riF56m65pys5Zyw5pWw5o2uJykge1xuICAgICAgICAgICAgICAgICAgICB3cml0ZUZpbGUoJ2hpa2VyOi8vZmlsZXMvcnVsZXMvYXBvbGxvL0dpdGh1YkFwcC9HaXRodWJBcHAudHh0JywgJycpXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dCA9PSAn57yW6L6R6L+c56iL5pWw5o2uJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJCgnJywgJ+WvhueggVxcbuS4jeefpemBk+ivt+eVmeepuicpLmlucHV0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnd2ViOi8vaHR0cHM6Ly9pZ2R1eC50b3AvfmdpdGh1YmFwcDonICsgaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJCgn56Gu5a6a5a+85Ye677yfJykuY29uZmlybSgodHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvbmZpZyA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMvYXBvbGxvL0dpdGh1YkFwcC9HaXRodWJBcHAudHh0JykgfHwgJ1tdJylcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlID09ICfliIbkuqvkupHliarotLTmnb8nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSAnR2l0aHViQXBw5YiG5LqrIyNcXG4nICsgc2hhcmVQYXN0ZShiYXNlNjRFbmNvZGUoSlNPTi5zdHJpbmdpZnkoY29uZmlnKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ+WIhuS6q+S6keWPo+S7pCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdHaXRodWJBcHDliIbkuqss5aSN5Yi25ZCO5omT5byA6L2v5Lu25Y2z5Y+v5a+85YWlXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlUGFzdGUoYmFzZTY0RW5jb2RlKEpTT04uc3RyaW5naWZ5KGNvbmZpZykpKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAaW1wb3J0PWpzOmV2YWwoSlNPTi5wYXJzZShmZXRjaChcImhpa2VyOi8vcGFnZS9jbG91ZD9ydWxlPUdpdGh1YkFwcFwiKSkucnVsZSknXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYXRhID0gSlNPTi5zdHJpbmdpZnkoY29uZmlnKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdjb3B5Oi8vJyArIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgfSwgaW5wdXQpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgIH1cbiAgICApXG59XG5cbmQucHVzaCh7XG4gICAgY29sX3R5cGU6ICdiaWdfYmxhbmtfYmxvY2snLFxufSlcbi8qXG5kLnB1c2goe1xuICAgIGNvbF90eXBlOiBcImxpbmVfYmxhbmtcIlxufSkqL1xuXG52YXIgc3MgPSBnZXRJdGVtKCdzJykuc3BsaXQoJ/CflKUnKVxuZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGZpbHRlckFwcFdvcmQgPSBnZXRNeVZhcignZmlsdGVyQXBwV29yZCcsICcnKVxuICAgIHZhciBBcHAgPSBkYXRhW2ldLnNwbGl0KCfwn5SlJylbMF1cbiAgICB2YXIgVXJscyA9IGRhdGFbaV0uc3BsaXQoJ/CflKUnKVsxXVxuICAgIHZhciBJbWcgPSBkYXRhW2ldLnNwbGl0KCfwn5SlJylbMl1cblxuICAgIGlmIChBcHAudG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlckFwcFdvcmQudG9Mb3dlckNhc2UoKSkgPT0gLTEpIHtcbiAgICAgICAgY29udGludWVcbiAgICB9XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IHNzLmluZGV4T2YoaS50b1N0cmluZygpKSA9PSAnLTEnID8gQXBwIDogJ+KAnOKAnOKAneKAnScgKyBBcHAuZm9udGNvbG9yKCcjRkYwMEZGJyksXG4gICAgICAgIGRlc2M6IGkgKyAxLFxuICAgICAgICBpbWc6IEltZyxcbiAgICAgICAgLy8gdXJsOiBVcmxzLFxuICAgICAgICAvLyB1cmw6IFwidG9hc3Q6Ly/lh4blpIfmjpLluo/mi4lcIixcblx0XHQvLyDljZXlh7vmk43kvZw6IOi/lOWbnnVybHPvvIxcblx0XHQvLyDmjpLluo/mk43kvZw6IOagueaNruiOt+WPlueahOenu+WKqEFwcOS9jee9rm1vdmVfaW5kZXjlkozngrnlh7vopoHmlL7nva7kvY3nva5yZXBsYWNlX2luZGV477yM6L+b6KGM5a+5R2l0aHViQXBwLnR4dOeahOWGheWuuei/m+ihjOmHjeaWsOaOkuW6j+W5tumHjeaWsOWGmeWbnlxuICAgICAgICB1cmw6XG4gICAgICAgICAgICBjbGlja19hY3Rpb24gPT0gJ2NsaWNrJ1xuICAgICAgICAgICAgICAgID8gVXJsc1xuICAgICAgICAgICAgICAgIDogJCgpLmxhenlSdWxlKChyZXBsYWNlX2luZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2NsaWNrX2FjdGlvbicsICdjbGljaycpXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IG1vdmVfaW5kZXggPSBnZXRNeVZhcignbW92ZV9pbmRleCcsIDApXG4gICAgICAgICAgICAgICAgICAgICAgJC5sb2coJ+enu+WKqOeahOe0ouW8leS4ujogJyArIG1vdmVfaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgJC5sb2coJ+abv+aNoueahOS9jee9ruS4ujogJyArIHJlcGxhY2VfaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGNvbmZpZyA9IEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMvYXBvbGxvL0dpdGh1YkFwcC9HaXRodWJBcHAudHh0JykpXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGNvbmZpZy5zcGxpY2UobW92ZV9pbmRleCwgMSlbMF1cbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcuc3BsaWNlKHJlcGxhY2VfaW5kZXgsIDAsIGVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2Fwb2xsby9HaXRodWJBcHAvR2l0aHViQXBwLnR4dCcsIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpXG4gICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mjpLluo/lrozmr5UnXG4gICAgICAgICAgICAgICAgICB9LCBpKSxcbiAgICAgICAgY29sX3R5cGU6ICdpY29uXzRfY2FyZCcsXG4gICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICBzczogc3MsXG4gICAgICAgICAgICBpOiBpLFxuICAgICAgICAgICAgbG9uZ0NsaWNrOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJyDnvJYg6L6RICcsXG4gICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGEsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJCgnaGlrZXI6Ly9lbXB0eScpLnJ1bGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkYXRhLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQYWdlVGl0bGUoJ+e8lui+kUdpdGh1YkFwcCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IFtdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WQjeensCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6ICfovpPlhaVBcHDlkI3lrZcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKCduYScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZGF0YVtpXS5zcGxpdCgn8J+UpScpWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHRhcmVhJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogLTEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZTogXCJwdXRNeVZhcignbmEnLGlucHV0KVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WcsOWdgCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6ICfovpPlhaVnaXRodWIgcmVsZWFzZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKCdyZWxlYXNlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnaW5wdXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBkYXRhW2ldLnNwbGl0KCfwn5SlJylbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dGFyZWEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAtMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBcInB1dE15VmFyKCdyZWxlYXNlJyxpbnB1dClcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflm77moIcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiAn6L6T5YWl5Zu+5qCH5Zyw5Z2AJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAkLnRvU3RyaW5nKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcignaWNvJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnaW5wdXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBkYXRhW2ldLnNwbGl0KCfwn5SlJylbMl0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dGFyZWEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAtMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBcInB1dE15VmFyKCdpY28nLGlucHV0KVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyAn56Gu6K6k5L+u5pS5Jy5mb250Y29sb3IoJyNGRjAwRkYnKS5iaWcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGEsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0TXlWYXIoJ25hJykgPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WQjeWtl+S4jeiDveS4uuepun4nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TXlWYXIoJ3JlbGVhc2UnKSA9PSAnJyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhL15odHRwc1xcOlxcL1xcL2dpdGh1YlxcLmNvbVxcLy4qP1xcL3JlbGVhc2VzJC8udGVzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE15VmFyKCdyZWxlYXNlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6K+36L6T5YWl5q2j56Gu55qE5Zyw5Z2AfidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRNeVZhcignbmEnLCAnJykgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ/CflKUnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE15VmFyKCdyZWxlYXNlJywgJycpLnRvTG93ZXJDYXNlKCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ/CflKUnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE15VmFyKCdpY28nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtpXSA9IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hpa2VyOi8vZmlsZXMvcnVsZXMvYXBvbGxvL0dpdGh1YkFwcC9HaXRodWJBcHAudHh0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGRhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFjayh0cnVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5L+u5pS55oiQ5YqffidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVzdWx0KGQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcg56e7IOS9jSAnLFxuICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZyhcbiAgICAgICAgICAgICAgICAgICAgICAgIChkYXRhLCBtb3ZlX2luZGV4KSA9PiB7XG5cdFx0XHRcdFx0XHRcdC8vIOiuvue9ruWNleWHu+WKqOS9nOS4uuaOkuW6j++8jOiOt+WPluimgeenu+WKqEFwcOeahOS9jee9rm1vdmVfaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignY2xpY2tfYWN0aW9uJywgJ21vdmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdtb3ZlX2luZGV4JywgbW92ZV9pbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJuICQoJycsICfor7fovpPlhaXnp7vliqjliLDnrKzlh6DkvY1cXG4x5Li6572u6aG2LCcrZGF0YS5sZW5ndGgrJ+S4uue9ruW6lScpLmlucHV0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAoZGF0YSwgaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgdmFyIHRlbXAgPSBkYXRhW2ldXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBpZiAoaW5wdXQgLSAxIDwgaSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGRhdGEuc3BsaWNlKGlucHV0IC0gMSwgMCwgdGVtcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBkYXRhLnNwbGljZShpICsgMSwgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgZGF0YS5zcGxpY2UoaW5wdXQsIDAsIHRlbXApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgZGF0YS5zcGxpY2UoaSwgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHdyaXRlRmlsZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAnaGlrZXI6Ly9maWxlcy9ydWxlcy9hcG9sbG8vR2l0aHViQXBwL0dpdGh1YkFwcC50eHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGRhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/np7vkvY3miJDlip9+J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnIOWIoCDpmaQgJyxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGF0YSwgaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc3BsaWNlKGksIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2Fwb2xsby9HaXRodWJBcHAvR2l0aHViQXBwLnR4dCcsIEpTT04uc3RyaW5naWZ5KGRhdGEpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgaVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJyDmt7sg5YqgICcsXG4gICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxuICAgICAgICAgICAgICAgICAgICAgICAgKOa3u+WKoCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eScgKyDmt7vliqBcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICDmt7vliqAsXG4gICAgICAgICAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnICcgKyAoaSArIDEpICsgJyAnLFxuICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgIH0pXG59XG5cbmQucHVzaCh7XG4gICAgdGl0bGU6ICfmt7vliqAnLFxuICAgIGltZzogJ2h0dHBzOi8vaW1nLnZpbnVhLmNuL2ltYWdlcy9JS1doUi5wbmcnLFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHknICsg5re75YqgLFxuICAgIGNvbF90eXBlOiAnaWNvbl80X2NhcmQnLFxuICAgIGV4dHJhOiB7XG4gICAgICAgIGk6IGRhdGEubGVuZ3RoLFxuICAgICAgICBsb25nQ2xpY2s6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+W5uOi/kOaXpScsXG4gICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbnVtYiA9IDEgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAzMSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+S9oOeahOW5uOi/kOaXpeaYr+OAkCcgKyBudW1iICsgJ+OAkeaXpSdcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgfSxcbn0pXG5zZXRSZXN1bHQoZClcbiIsInNlYXJjaF91cmwiOiIiLCJncm91cCI6IuKRo+KPsCIsInNlYXJjaEZpbmQiOiIiLCJkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwiZGV0YWlsX2ZpbmRfcnVsZSI6ImpzOlxuYWRkTGlzdGVuZXIoXCJvbkNsb3NlXCIsICQudG9TdHJpbmcoKCkgPT4ge1xuICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxufSkpO1xudmFyIGQgPSBbXVxudmFyIGh0bWwgPSBmZXRjaChNWV9VUkwpXG5cbnZhciBzcyA9IE1ZX1BBUkFNUy5zc1xudmFyIGkgPSBNWV9QQVJBTVMuaVxuICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBzcy5pbmRleE9mKGkudG9TdHJpbmcoKSlcbiAgICAgICAgICAgICAgICAgICAgaWYoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHNzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzcy5sZW5ndGg8MSlcbiAgICAgICAgICAgICAgICAgICAgICAge3ZhciBzID0gJyd9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSBzcy5qb2luKCfwn5SlJyl9ICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBzZXRJdGVtKCdzJywgcylcbiAgICAgICAgICAgICAgICAgICAgIH1cblxudmFyIGF1dGhvciA9IHBkZmgoaHRtbCwnYm9keSYmZGl2W2RhdGEtaHBjXSYmc2VjdGlvbiYmLm1iLW1kLTImJlRleHQnKVxudmFyIGltZyA9IHBkZmgoaHRtbCwnYm9keSYmZGl2W2RhdGEtaHBjXSYmc2VjdGlvbiYmLm1iLW1kLTImJmltZyYmc3JjJylcbnZhciB2ZXJzaW9uID0gcGRmaChodG1sLCdib2R5JiZkaXZbZGF0YS1ocGNdJiZzZWN0aW9uJiZoMiYmVGV4dCcpXG5kLnB1c2goe1xuICAgIHRpdGxlOiBhdXRob3IsXG4gICAgZGVzYzogJ0xhc3TvvJonICsgdmVyc2lvbi5mb250Y29sb3IoJyNGRjY2OTknKS5iaWcoKSArICdcXHRcXHRcXHRcXHQnLFxuICAgIGltZzogaW1nLFxuICAgIHVybDogTVlfVVJMLFxuICAgIGNvbF90eXBlOiAnYXZhdGFyJ1xufSlcblxudmFyIGNvbnRlbnQgPSBwZGZoKGh0bWwsIFwiYm9keSYmZGl2W2RhdGEtaHBjXSYmc2VjdGlvbiYmLmNvbC1tZC05JiZkaXZbZGF0YS1wamF4PXRydWVdJiZUZXh0XCIpO1xuZC5wdXNoKHtcbiAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyBjb250ZW50LmZvbnRjb2xvcignIzQ1NTVCNicpLnNtYWxsKCksXG4gICAgZGVzYzogJycsXG4gICAgcGljX3VybDogJycsXG4gICAgdXJsOiBNWV9VUkwgKyAkKCcnKS5ydWxlKChodG1sKT0+e1xuICAgICAgICAgICAgICB2YXIgZCA9IFtdXG4gICAgICAgICAgICAgIHZhciBjb250ZW50ID0gcGRmaChodG1sLCBcImJvZHkmJmRpdltkYXRhLWhwY10mJnNlY3Rpb24mJi5jb2wtbWQtOSYmZGl2W2RhdGEtcGpheD10cnVlXSYmSHRtbFwiKS5yZXBsYWNlKC88XFxzKig/IShsaXxwKVxccypcXC8/KVtePl0rPi9nbSwgJycpO1xuICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgdGl0bGU6IGNvbnRlbnQuZm9udGNvbG9yKCcjNDU1NUI2Jykuc21hbGwoKSxcbiAgICAgICAgICAgICAgICAgZGVzYzogJycsXG4gICAgICAgICAgICAgICAgIHBpY191cmw6ICcnLFxuICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCcgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldFJlc3VsdChkKVxuICAgICAgICAgICAgIH0saHRtbCksXG4gICAgY29sX3R5cGU6ICd0ZXh0XzEnXG59KTtcblxudmFyIHVybCA9IHBkKGh0bWwsJ2JvZHkmJmRpdltkYXRhLWhwY10mJnNlY3Rpb24mJmRldGFpbHM6aGFzKGluY2x1ZGUtZnJhZ21lbnQpJiZpbmNsdWRlLWZyYWdtZW50JiZzcmN8fGRhdGEtZGVmZXJyZWQtc3JjJylcbi8vbG9nKHVybClcbnZhciBsaXN0ID0gcGRmYShmZXRjaCh1cmwpLCd1bCYmbGknKVxubGlzdC5mb3JFYWNoKGl0ZW09PntcbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyBwZGZoKGl0ZW0sJy5UcnVuY2F0ZS10ZXh0JiZUZXh0JykuZm9udGNvbG9yKCcjM2E3MzU2JyksXG4gICAgICAgIGRlc2M6IHBkZmgoaXRlbSwnLmZsZXgtanVzdGlmeS1lbmQmJlRleHQnKS5yZXBsYWNlKC8oXFxkezR9KS8sJ/Cfk4YkMScpLnJlcGxhY2UoL1okLywnJykucmVwbGFjZSgnVCcsJ+KPsCcpLFxuICAgICAgICB1cmw6IHBkKGl0ZW0sJ2EmJmhyZWYnKSArICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKCkgPT4geyAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICByZXR1cm4gJ2Rvd25sb2FkOi8vJyArIGlucHV0XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xuICAgfSlcbn0pXG5cbnNldFJlc3VsdChkKSIsInNkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwic2RldGFpbF9maW5kX3J1bGUiOiIiLCJ1YSI6Im1vYmlsZSIsInByZVJ1bGUiOiJsZXQgdGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpLnRvU3RyaW5nKClcbmxldCDml7bpl7Tpl7TpmpQgPSB0aW1lLWdldEl0ZW0oJ3RpbWUnLCBuZXcgRGF0ZSgpLmdldFRpbWUoKS50b1N0cmluZygpKVxuXG5zZXRJdGVtKCd0aW1lJywgdGltZSk7XG5cbmxldCDpl7TpmpTlpKnmlbAgPSBNYXRoLmZsb29yKOaXtumXtOmXtOmalCAvICgyNCAqIDYwICogNjAgKiAxMDAwKSkudG9TdHJpbmcoKTtcbmxldCDpl7TpmpTml7bmlbAgPSBNYXRoLmZsb29yKOaXtumXtOmXtOmalCAvICg2MCAqIDYwICogMTAwMCkpLnRvU3RyaW5nKCk7XG5sZXQg6Ze06ZqU5YiG5pWwID0gTWF0aC5mbG9vcijml7bpl7Tpl7TpmpQgLyAoIDYwICogMTAwMCkpLnRvU3RyaW5nKCk7XG5sZXQg6Ze06ZqU56eS5pWwID0gTWF0aC5mbG9vcijml7bpl7Tpl7TpmpQgLyAxMDAwKS50b1N0cmluZygpO1xuXG5zZXRJdGVtKCfpl7TpmpQnLCDpl7TpmpTml7bmlbApXG5cbmluaXRDb25maWcoe1xuICAgIOmXtOmalDogZ2V0SXRlbSgn6Ze06ZqUJywgJzAnKVxufSk7IiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIum7mOiupOaVsOaNrlwiLFwicGF0aFwiOlwiZGF0YVwiLFwicnVsZVwiOlwidmFyIHlkYXRhID0gSlNPTi5wYXJzZShmZXRjaChcXFwiaHR0cHM6Ly9pZ2R1eC50b3AvfmdpdGh1YmFwcFxcXCIse3RpbWVvdXQ6MjAyM30pKVxcbi8qXFxuXFxu5a+G56CB5Li644CQ4paJ4paJ4paJ4paJ4paJ4paJ44CR6K+355So5bCP5YiA5Yiu5byA6I635Y+WXFxuXFxuW1xcXCJTaW5nYm948J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9TYWdlck5ldC9zaW5nLWJveC9yZWxlYXNlc/CflKVodHRwczovL2ltZy52aW51YS5jbi9pbWFnZXMvSUthUEUucG5nXFxcIixcXFwiS2FyaW5n8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9LYXJpbmdYL2thcmluZy9yZWxlYXNlc/CflKVodHRwczovL2ltZy52aW51YS5jbi9pbWFnZXMvejdEV1IucG5nXFxcIixcXFwiSGlkZGlmefCflKVodHRwczovL2dpdGh1Yi5jb20vaGlkZGlmeS9oaWRkaWZ5LW5leHQvcmVsZWFzZXPwn5SlaHR0cHM6Ly9pbWcudmludWEuY24vaW1hZ2VzL3pwWUJKLnBuZ1xcXCIsXFxcIuiZjuWFlfCflKVodHRwczovL2dpdGh1Yi5jb20veGNoYWNoYTIwLXBvbHkxMzA1L2h1c2kvcmVsZWFzZXPwn5SlaHR0cHM6Ly9pbWcudmludWEuY24vaW1hZ2VzL3pyRnpXLnBuZ1xcXCIsXFxcIk5la29ib3jwn5SlaHR0cHM6Ly9naXRodWIuY29tL01hdHN1cmlEYXlvL05la29Cb3hGb3JBbmRyb2lkL3JlbGVhc2Vz8J+UpWh0dHBzOi8vaW1nLnZpbnVhLmNuL2ltYWdlcy96cng0Ui53ZWJwXFxcIixcXFwiU3VyZmJvYXJk8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzdXJmYm9hcmQvc3VyZmJvYXJkL3JlbGVhc2Vz8J+UpWh0dHBzOi8vaW1nLnZpbnVhLmNuL2ltYWdlcy96cnJGSi5wbmdcXFwiLFxcXCJDTUZB8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9tZXRhY3ViZXgvY2xhc2htZXRhZm9yYW5kcm9pZC9yZWxlYXNlc/CflKVodHRwczovL2ltZy52aW51YS5jbi9pbWFnZXMvSUtQT1UucG5nXFxcIixcXFwiVjJyYXlOR/CflKVodHRwczovL2dpdGh1Yi5jb20vMmR1c3QvdjJyYXlORy9yZWxlYXNlc/CflKVodHRwczovL2ltZy52aW51YS5jbi9pbWFnZXMvSUsyajQucG5nXFxcIixcXFwiY2xhc2gtdmVyZ2UtcmV28J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9jbGFzaC12ZXJnZS1yZXYvY2xhc2gtdmVyZ2UtcmV2L3JlbGVhc2Vz8J+UpWh0dHBzOi8vcGljLnppeXVhbi53YW5nL3VzZXIvamFic2FzLzIwMjQvMDQvMTUyNTM0NDY3XzJlOWM1YzkyYmQwNTgucG5nXFxcIixcXFwiUHJveHlQaW7wn5SlaHR0cHM6Ly9naXRodWIuY29tL3dhbmdob25nZW5waW4vbmV0d29ya19wcm94eV9mbHV0dGVyL3JlbGVhc2Vz8J+UpWh0dHBzOi8vdGh1bWJzbmFwLmNvbS9pL21zR1pZekFULnBuZ1xcXCIsXFxcIuWFg+iQneWNnPCflKVodHRwczovL2dpdGh1Yi5jb20va2F0YW5hLW9mZmljaWFsL3NwYXRjaC11cGRhdGUvcmVsZWFzZXPwn5SlaHR0cHM6Ly90aHVtYnNuYXAuY29tL2kvdmdDaHZxYVUuanBnXFxcIixcXFwiUmVxYWJsZfCflKVodHRwczovL2dpdGh1Yi5jb20vcmVxYWJsZS9yZXFhYmxlLWFwcC9yZWxlYXNlc/CflKVodHRwczovL2ltZy52aW51YS5jbi9pbWFnZXMvSUtCbmgud2VicFxcXCIsXFxcIlNoaXp1a3Xwn5SlaHR0cHM6Ly9naXRodWIuY29tL1Jpa2thQXBwcy9TaGl6dWt1L3JlbGVhc2Vz8J+UpWh0dHBzOi8vaW1nLnZpbnVhLmNuL2ltYWdlcy9JS0Q3di53ZWJwXFxcIixcXFwi5oiR55qE55S16KeG8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9saXpvbmd5aW5nL215LXR2L3JlbGVhc2Vz8J+UpWh0dHBzOi8vdGh1bWJzbmFwLmNvbS9pL1JuWXFqbjN0LnBuZ1xcXCIsXFxcInBpbGlwYWxh8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9ndW96aGlncS9waWxpcGFsYS9yZWxlYXNlc/CflKVodHRwczovL3RodW1ic25hcC5jb20vaS81TlVhWGVCTi5qcGdcXFwiLFxcXCJCQkxM8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS94aWF5ZTEzNTc5L2JibGwvcmVsZWFzZXPwn5SlaHR0cHM6Ly90aHVtYnNuYXAuY29tL2kvU05WWXVoMkQuanBnXFxcIixcXFwiUGl4aXYgU2xpbmt58J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9jZXVpbGlzYS9waXhpdi1zbGlua3kvcmVsZWFzZXPwn5SlaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy83LzdlL1BpeGl2X0ljb24uc3ZnXFxcIixcXFwiRWh2aWV3ZXLwn5SlaHR0cHM6Ly9naXRodWIuY29tL3hpYW9qaWVvbmx5L2Vodmlld2VyX2NuX3N4ai9yZWxlYXNlc/CflKVodHRwczovL2ltZy52aW51YS5jbi9pbWFnZXMvSUtucUouanBlZ1xcXCIsXFxcIkJhbmd1bWnwn5SlaHR0cHM6Ly9naXRodWIuY29tL2N6eTA3MjkvYmFuZ3VtaS9yZWxlYXNlc/CflKVodHRwczovL2ltZy52aW51YS5jbi9pbWFnZXMvSUtkc0UucG5nXFxcIixcXFwiZXhoZW50YWktbWFuZ2EtbWFuYWdlcvCflKVodHRwczovL2dpdGh1Yi5jb20vU2NobmVlSGVydHovZXhoZW50YWktbWFuZ2EtbWFuYWdlci9yZWxlYXNlc/CflKVodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vU2NobmVlSGVydHovZXhoZW50YWktbWFuZ2EtbWFuYWdlci9tYXN0ZXIvcHVibGljL2ljb24ucG5nXFxcIixcXFwiRWh2aWV3ZXLwn5SlaHR0cHM6Ly9naXRodWIuY29tL3VqdWl1anVtYW5kYW4vZWh2aWV3ZXIvcmVsZWFzZXPwn5SlaHR0cHM6Ly9pbWcudmludWEuY24vaW1hZ2VzL0lLcHVZLmpwZWdcXFwiLFxcXCJKaGVudGFp8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9qaWFuZ3RpYW42MTYvamhlbnRhaS9yZWxlYXNlc/CflKVodHRwczovL3RodW1ic25hcC5jb20vaS83bk43cjR4Vy5qcGdcXFwiLFxcXCJBZnVzZUt08J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9hdHRlbXB0ZC9hZnVzZWt0LXJlbGVhc2UvcmVsZWFzZXPwn5SlaHR0cHM6Ly9waWMueml5dWFuLndhbmcvdXNlci9qYWJzYXMvMjAyNC8wNC9pY29uXzMxNDMxMWE5MmIyODYucG5nXFxcIixcXFwic3BvdHViZfCflKVodHRwczovL2dpdGh1Yi5jb20va3J0aXJ0aG8vc3BvdHViZS9yZWxlYXNlc/CflKVodHRwczovL3BpYy56aXl1YW4ud2FuZy91c2VyL2phYnNhcy8yMDI0LzA0L2ljb25fMzhhNzg2MTI1NTcxMS5wbmdcXFwiLFxcXCJUYWNoaXlvbWlTWfCflKVodHRwczovL2dpdGh1Yi5jb20vam9ib2JieTA0L3RhY2hpeW9taXN5L3JlbGVhc2Vz8J+UpWh0dHBzOi8vcGljLnppeXVhbi53YW5nL3VzZXIvamFic2FzLzIwMjQvMDQvaWNvbl8zMWU1N2Q5NzJjZDk5LnBuZ1xcXCIsXFxcIkxBTnJhcmFnafCflKVodHRwczovL2dpdGh1Yi5jb20vZGlmZWd1ZS9sYW5yYXJhZ2kvcmVsZWFzZXPwn5SlaHR0cHM6Ly9waWMueml5dWFuLndhbmcvdXNlci9qYWJzYXMvMjAyNC8wNC9mYXZpY29uXzE5NmVlMjI3M2E5ZTMuaWNvXFxcIixcXFwiTWFuZ2FSZWFkZXLwn5SlaHR0cHM6Ly9naXRodWIuY29tL3lvdW5pYW9ndS9tYW5nYXJlYWRlci9yZWxlYXNlc/CflKVodHRwczovL3BpYy56aXl1YW4ud2FuZy91c2VyL2phYnNhcy8yMDI0LzA0L2ljb25fOWVkN2VhNTU2NWI3YS5wbmdcXFwiLFxcXCJPYmxpdmlvbvCflKVodHRwczovL2dpdGh1Yi5jb20vYmVwYXNzLW9yZy9vYmxpdmlvbi9yZWxlYXNlc/CflKVodHRwczovL3BpYy56aXl1YW4ud2FuZy91c2VyL2phYnNhcy8yMDI0LzA0L2ljb25fNjdjZmVjZDg0NWJlNS5wbmdcXFwiLFxcXCJPcGVuSHVi8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS90aGlydHlkZWdyZWVzcmF5L29wZW5odWIvcmVsZWFzZXPwn5SlaHR0cHM6Ly9waWMueml5dWFuLndhbmcvdXNlci9qYWJzYXMvMjAyNC8wNC9pY29uXzE4YzY4MWNlOWFmYjAucG5nXFxcIixcXFwi57qv57qv55yL55Wq8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9lYXN5YmFuZ3VtaW9yZy9lYXN5YmFuZ3VtaS9yZWxlYXNlc/CflKVodHRwczovL3BpYy56aXl1YW4ud2FuZy91c2VyL2phYnNhcy8yMDI0LzA0L2ljb25fN2UzMjUxY2Y0NmZhYS5wbmdcXFwiLFxcXCJIYW4xbWVWaWV3ZXLwn5SlaHR0cHM6Ly9naXRodWIuY29tL3llbmFseWxpZXcvaGFuMW1ldmlld2VyL3JlbGVhc2Vz8J+UpWh0dHBzOi8vcGljLnppeXVhbi53YW5nL3VzZXIvamFic2FzLzIwMjQvMDQvaWNvbl85MzM4YTE0ZGUyZjY1LnBuZ1xcXCIsXFxcIlNoYWRvd1NoYXJl8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS9wYXdkcm9pZC9zaGFkb3dzaGFyZS9yZWxlYXNlc/CflKVodHRwczovL2ltZzIuaW1ndHAuY29tLzIwMjQvMDQvMDIvWENVaGdXSEMucG5nXFxcIixcXFwiTFNQb3NlZPCflKVodHRwczovL2dpdGh1Yi5jb20vbHNwb3NlZC9sc3Bvc2VkL3JlbGVhc2Vz8J+UpWh0dHBzOi8vaW1nMi5pbWd0cC5jb20vMjAyNC8wNC8wMi9rNEtiR1ljZy5qcGVnXFxcIixcXFwiWnlnaXNrTmV4dPCflKVodHRwczovL2dpdGh1Yi5jb20vZHItdHNuZy96eWdpc2tuZXh0L3JlbGVhc2Vz8J+UpWh0dHBzOi8vaW1nMi5pbWd0cC5jb20vMjAyNC8wNC8wMi9hY2IwMkQ3Ri5qcGVnXFxcIixcXFwiTWFnaXNr8J+UpWh0dHBzOi8vZ2l0aHViLmNvbS90b3Bqb2hud3UvbWFnaXNrL3JlbGVhc2Vz8J+UpWh0dHBzOi8vaW1nMi5pbWd0cC5jb20vMjAyNC8wNC8wMi9VVEpsOXRRMS5qcGVnXFxcIl1cXG4qL1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5LqR5Y+j5LukXCIsXCJwYXRoXCI6XCJjbG91ZFwiLFwicnVsZVwiOlwiZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS9iYXRjaEltP3J1bGU9R2l0aHViQXBwXFxcIikpLnJ1bGUpO1xcbmxldCBjb250ZW50ID0gYmFzZTY0RGVjb2RlKHBhcnNlUGFzdGUoaW5wdXQpKTtcXG5iYXRjaEltcG9ydChjb250ZW50LCBcXFwiR2l0aHViQXBwXFxcIik7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLliIbkuqvlr7zlhaVcIixcInBhdGhcIjpcImJhdGNoSW1cIixcInJ1bGVcIjpcImZ1bmN0aW9uIGJhdGNoSW1wb3J0KGlucHV0LCBydWxlKSB7XFxuICAgIGlucHV0ID0gaW5wdXQudHJpbSgpO1xcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDwgMyApIHtcXG4gICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/or7fovpPlhaXmraPnoa7nmoTmoLzlvI9cXFwiXFxuICAgIH1cXG4gICAgbGV0IGltID0gSlNPTi5wYXJzZShpbnB1dCk7XFxuICAgIGlmIChpbSA9PSBudWxsIHx8IGltLmxlbmd0aCA8IDEpIHtcXG4gICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/or7fovpPlhaXmraPnoa7nmoTmoLzlvI9cXFwiXFxuICAgIH1cXG4gICAgXFxuICAgIGxldCBjb25maWcgPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2Fwb2xsby9HaXRodWJBcHAvR2l0aHViQXBwLnR4dCcpIHx8ICdbXScpO1xcbiAgICBsZXQgY291bnQgPSAwO1xcbiAgICBsZXQgYWxsID0gY29uZmlnLm1hcChpdCA9PiBpdC5zcGxpdCgn8J+UpScpWzFdLnRvTG93ZXJDYXNlKCkpO1xcbiAgICBmb3IgKGxldCBpIG9mIGltKSB7XFxuICAgICAgICBpZiAoYWxsLmluZGV4T2YoaS5zcGxpdCgn8J+UpScpWzFdLnRvTG93ZXJDYXNlKCkpID49IDApIHtcXG4gICAgICAgICAgICAvL+mHjeWkjeeahOS4jeimgVxcbiAgICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcbiAgICAgICAgY291bnQrKztcXG4gICAgICAgIGNvbmZpZy5wdXNoKGkpXFxuICAgIH1cXG4gICAgd3JpdGVGaWxlKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2Fwb2xsby9HaXRodWJBcHAvR2l0aHViQXBwLnR4dCcsIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpO1xcbiAgICByZWZyZXNoUGFnZSgpO1xcbiAgICByZXR1cm4gXFxcInRvYXN0Oi8v5bey5a+85YWlXFxcIiArIGNvdW50ICsgXFxcIuS4qkFwcFxcXCI7XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5re75YqgQXBwXCIsXCJwYXRoXCI6XCLmt7vliqBcIixcInJ1bGVcIjpcInZhciDmt7vliqAgPSAkKCcnKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgICB2YXIgaW5kZXggPSBNWV9QQVJBTVMuaVxcbiAgICAgICAgICAgIHNldFBhZ2VUaXRsZSgn5re75YqgR2l0aHViQXBwJylcXG4gICAgICAgICAgICB2YXIgZCA9IFtdXFxuICAgICAgICAgICAgZC5wdXNoKFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WQjeensCcsXFxuICAgICAgICAgICAgICAgICAgICBkZXNjOiAn6L6T5YWlQXBw5ZCN5a2XJyxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcignbmFtZScpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBnZXRNeVZhcignbmFtZScsICcnKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dGFyZWEnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogLTEsXFxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IFxcXCJwdXRNeVZhcignbmFtZScsaW5wdXQpXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5Zyw5Z2AJyxcXG4gICAgICAgICAgICAgICAgICAgIGRlc2M6ICfovpPlhaVnaXRodWIgcmVsZWFzZXMnLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKCdyZWxlYXNlcycpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBnZXRNeVZhcigncmVsZWFzZXMnLCAnJyksXFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHRhcmVhJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IC0xLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ3JlbGVhc2VzJyxpbnB1dClcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflm77moIcnLFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzogJ+i+k+WFpeWbvuagh+WcsOWdgCcsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyTXlWYXIoJ2ljb24nKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdpbnB1dCcsXFxuICAgICAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZ2V0TXlWYXIoJ2ljb24nLCAnJyksXFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHRhcmVhJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IC0xLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ2ljb24nLGlucHV0KVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyAn56Gu6K6k5re75YqgJy5mb250Y29sb3IoJyNGRjAwRkYnKS5iaWcoKSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaW5kZXgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0TXlWYXIoJ25hbWUnKSA9PSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5ZCN5a2X5LiN6IO95Li656m6fidcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRNeVZhcigncmVsZWFzZXMnKSA9PSAnJyB8fFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhL15odHRwc1xcXFw6XFxcXC9cXFxcL2dpdGh1YlxcXFwuY29tXFxcXC8uKj9cXFxcL3JlbGVhc2VzJC8udGVzdChnZXRNeVZhcigncmVsZWFzZXMnKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ivt+i+k+WFpeato+ehrueahOWcsOWdgH4nXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW0gPVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TXlWYXIoJ25hbWUnLCAnJykgK1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ/CflKUnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE15VmFyKCdyZWxlYXNlcycsICcnKS50b0xvd2VyQ2FzZSgpICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICfwn5SlJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRNeVZhcignaWNvbicsICcnKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3RyID0gZmV0Y2goJ2hpa2VyOi8vZmlsZXMvcnVsZXMvYXBvbGxvL0dpdGh1YkFwcC9HaXRodWJBcHAudHh0JylcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdHIpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0ID0gW2l0ZW1dXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUZpbGUoJ2hpa2VyOi8vZmlsZXMvcnVsZXMvYXBvbGxvL0dpdGh1YkFwcC9HaXRodWJBcHAudHh0JywgSlNPTi5zdHJpbmdpZnkobGlzdCkpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrKHRydWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8vQXBw5re75Yqg5oiQ5YqffidcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0ID0gSlNPTi5wYXJzZShzdHIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVsZWFzZSA9IGxpc3QubWFwKChpKSA9PiBpLnNwbGl0KCfwn5SlJylbMV0udG9Mb3dlckNhc2UoKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWxlYXNlLmluZGV4T2YoaXRlbS5zcGxpdCgn8J+UpScpWzFdKSA9PSAnLTEnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICBsaXN0LnB1c2goaXRlbSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaXN0LnVuc2hpZnQoaXRlbSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LnNwbGljZShpbmRleCwgMCwgaXRlbSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGlrZXI6Ly9maWxlcy9ydWxlcy9hcG9sbG8vR2l0aHViQXBwL0dpdGh1YkFwcC50eHQnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShsaXN0KVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrKHRydWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL0FwcOa3u+WKoOaIkOWKn34nXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7LmnInnm7jlkIxBcHB+J1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfSxpbmRleCksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdJyArICfngrnmiJHpooTop4gnLmZvbnRjb2xvcignIzAwREFDNCcpLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogZ2V0TXlWYXIoJ25hbWUnLCAnJyksXFxuICAgICAgICAgICAgICAgICAgICBpbWc6IGdldE15VmFyKCdpY29uJywgJycpLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKCdpY29uJylcXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKCduYW1lJylcXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKCdyZWxlYXNlcycpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2ljb25fNF9jYXJkJyxcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIClcXG4gICAgICAgICAgICBzZXRSZXN1bHQoZClcXG4gICAgICAgIH0pXCJ9XSIsImljb24iOiJodHRwczovL2ltZy52aW51YS5jbi9pbWFnZXMvenBucHYud2VicCIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment