mirror of
https://github.com/alantang1977/hipy.git
synced 2024-11-25 16:03:07 +02:00
1 line
No EOL
7.5 KiB
JavaScript
1 line
No EOL
7.5 KiB
JavaScript
LyoqCiAqIOW9seinhlRWIOi2hemAo+e1kOi3s+i9ieaUr+aMgQogKiBodHRwczovL3QubWUvZm9uZ21pX29mZmljYWwvCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9Gb25nTWkvUmVsZWFzZS90cmVlL21haW4vYXBrCiAqLwp2YXIgcnVsZSA9IHsKCXRpdGxlOiAn6I2Q54mHW+S8mF0nLAoJLy8gaG9zdDogJ2h0dHA6Ly9hcGkyLnJpbmhvbWUuY29tJywKCS8vaG9zdDogJ2h0dHBzOi8vb2l1enkuaGFpdHUzMy5jb20nLAoJaG9zdDogJ2h0dHBzOi8vZG5zLmFsaWRucy5jb20vcmVzb2x2ZT9uYW1lPWpwbW9iaWxlLmppYW5waWFuZG5zLmNvbSZ0eXBlPVRYVCcsCglob3N0SnM6YAoJcHJpbnQoSE9TVCk7CglsZXQgaHRtbD1yZXF1ZXN0KEhPU1Qse2hlYWRlcnM6eyJVc2VyLUFnZW50IjpNT0JJTEVfVUF9fSk7CglsZXQganNvbiA9IGRlYWxKc29uKGh0bWwpOwoJbGV0IGRhdGEgPSBqc29uLkFuc3dlclswXS5kYXRhLnJlcGxhY2UoLyd8Ii9nLCcnKS5zcGxpdCgnLCcpOwoJSE9TVCA9IGRhdGFbMF07CglpZighSE9TVC5zdGFydHNXaXRoKCdodHRwJykpewoJCUhPU1QgPSAnaHR0cHM6Ly8nK0hPU1Q7Cgl9CgkvLyBsb2coSE9TVCk7CglgLAoJaG9tZVVybDogJy9hcGkvdGFnL2hhbmQ/Y29kZT11bmtub3duNjAxMTkzY2YzNzVkYjczZCZjaGFubmVsPXdhbmRvdWppYScsLy/nvZHnq5nnmoTpppbpobXpk77mjqUs55So5LqO5YiG57G76I635Y+W5ZKM5o6o6I2Q6I635Y+WCgkvLyB1cmw6Jy9hcGkvY3J1bWIvbGlzdD9hcmVhPTAmY2F0ZWdvcnlfaWQ9ZnljbGFzcyZwYWdlPWZ5cGFnZSZ0eXBlPTAmbGltaXQ9MjQmZnlmaWx0ZXInLAoJdXJsOiAnL2FwaS9jcnVtYi9saXN0P3BhZ2U9ZnlwYWdlJnR5cGU9MCZsaW1pdD0yNCZmeWZpbHRlcicsCgljbGFzc19uYW1lOiAn5YWo6YOoJueUteW9sSbnlLXop4bliacm5Yqo5ryrJue7vOiJuicsICAgICAvLyDnrZvpgIkgL2FwaS90ZXJtL2FkX2ZlbmxlaT9saW1pdD0xMCZwYWdlPTEKCWNsYXNzX3VybDogJzAmMSYyJjMmNCcsCglkZXRhaWxVcmw6ICcvYXBpL25vZGUvZGV0YWlsP2NoYW5uZWw9d2FuZG91amlhJnRva2VuPSZpZD1meWlkJywvL+S6jOe6p+ivpuaDheaLvOaOpemTvuaOpShqc29u5qC85byP55SoKQoJc2VhcmNoVXJsOiAnL2FwaS92aWRlby9zZWFyY2g/a2V5PSoqJnBhZ2U9ZnlwYWdlJywKCXNlYXJjaGFibGU6IDIsCglxdWlja1NlYXJjaDogMCwKCWZpbHRlcmFibGU6IDEsCglmaWx0ZXI6ICdINHNJQUFBQUFBQUFBKzJWM1VyRE1CaUc3eVhITzJqVHJ0dThBNjlCUENpdXFLaFQ2aFRHR0V6bXhpWTRmNUNxV1BCQTNTbzR0c0hFL2FCWDA2VDJMc3hjMm1SMkZXSHpySWQ1dnBBMDMvZThOQThFc0xTU0IxdGFEaXdCVmRkVUVBTVpkVWNqSzJSMjBHbVJyQS9WN1FQdGUxdG1qTXVXVzdMR21Dd0VVSWhSZlBkdUQ1c1VpejYyK3kxU2NSdTN1TittUmVsSEVaMTE4T0NERmhXLzZIelVTWkhpdUkvZCsyZUd4YVRQOGZVVE5sOG9oNkN3T2k1TW5wWFRWSjE3MXFCbmp4NysraXdvUU5tN1RFenhXUEp3WE9JeDlMQWc4bGowRDBueVdQQ3d3bEZ5ejRRbWVKaGtiMk13RWVncGdZcTNjN29OKzd0NmxyVUIxeS9SOEN6UUJxZlVjcSs5Tm16c1p2MXpQOXZIcUZxaEJWM05ibWJXV2UvdmV0am8wTnJCWGxyTmF1T2JWMk5FQkdiWEdzSExhVzRRMVlyVEhmMCtDTlpEdDJIZ3VoWFFBWjFZOXJzWmtBY1pKcW8xQTIzRTFSdDdXS09ZYytmb0hCY05pdG1ReVFtNFZQYm55Y3lzZGpuT1B0RnBYcURCeU9PUS8wYm55dWZTMUZDaXlFV1JXMnprNEp5Umc3TWpKOG9oM2pGUGlHOUVyR0I3aVNkRUlZOXphWHg5UTQ4RzUxV1VpeWdYLzVZTGFjNWNTQ0c1U00zMkdRb2hQb2l6UGYzUm9jai95UC9GK2kvUDZiODgyMzhvaGZnc2grUWk1SDhCbGNqL3lQOS84Ny93Qlk5Ung2M3FEZ0FBJywKCWZpbHRlcl91cmw6ICdhcmVhPXt7ZmwuYXJlYSBvciAiMCJ9fSZzb3J0PXt7Zmwuc29ydCBvciAidXBkYXRlIn19JnllYXI9e3tmbC55ZWFyIG9yICIwIn19JmNhdGVnb3J5X2lkPXt7ZmwuY2F0ZUlkfX0nLAoJZmlsdGVyX2RlZjogewoJCTA6e2NhdGVJZDonMCd9LAoJCTE6e2NhdGVJZDonMSd9LAoJCTI6e2NhdGVJZDonMid9LAoJCTM6e2NhdGVJZDonMyd9LAoJCTQ6e2NhdGVJZDonNCd9Cgl9LAoJaGVhZGVyczogewoJCSdVc2VyLUFnZW50JzogJ2ppYW5waWFuLWFuZHJvaWQvMzUwJywKCQknSlBBVVRIJzogJ3kyNjFvdzdrRjJkdHpseGgxR1M5RUI4bmJUeE5tYUsvUVFJQWpjdGxLaUV2JwoJfSwKCXRpbWVvdXQ6IDUwMDAsCglsaW1pdDogOCwKCXBsYXlfcGFyc2U6IHRydWUsCglwbGF5X2pzb246IFt7CgkJcmU6ICcqJywKCQlqc29uOiB7CgkJCXBhcnNlOiAwLAoJCQlqeDogMAoJCX0KCX1dLAoJbGF6eTogJycsCgnlm77niYfmnaXmupA6ICdAUmVmZXJlcj13d3cuamlhbnBpYW5hcHAuY29tQFVzZXItQWdlbnQ9amlhbnBpYW4tdmVyc2lvbjM2MScsCgkvLyDmjqjojZA6J2pzb246LnZpZGVvOyo7KjsqOyonLAoJ5o6o6I2QOiBganM6CiAgICAgICAgdmFyIGQgPSBbXTsKICAgICAgICBsZXQgaHRtbCA9IHJlcXVlc3QoaW5wdXQpOwogICAgICAgIGh0bWwgPSBKU09OLnBhcnNlKGh0bWwpLmRhdGFbMF0udmlkZW87CiAgICAgICAgaHRtbC5mb3JFYWNoKGl0ID0+IHsKICAgICAgICAgICAgZC5wdXNoKHsKICAgICAgICAgICAgICAgIHRpdGxlOiBpdC50aXRsZSwKICAgICAgICAgICAgICAgIGltZzogaXQucGF0aCwKICAgICAgICAgICAgICAgIGRlc2M6IGl0LnBsYXlsaXN0LnRpdGxlICsgJyDirZAnICsgaXQuc2NvcmUsCiAgICAgICAgICAgICAgICB1cmw6IGl0LmlkCiAgICAgICAgICAgIH0pCiAgICAgICAgfSk7CiAgICAgICAgc2V0UmVzdWx0KGQpOwogICAgYCwKCS8vIOS4gOe6pzonanNvbjpkYXRhO3RpdGxlO3BhdGg7cGxheWxpc3QudGl0bGU7aWQnLAoJ5LiA57qnOiBganM6CgkJY2F0ZU9iai50aWQgPSBjYXRlT2JqLnRpZCsnJzsKICAgICAgICBpZiAoY2F0ZU9iai50aWQuZW5kc1dpdGgoJ19jbGlja2xpbmsnKSkgewogICAgICAgICAgICBjYXRlT2JqLnRpZCA9IGNhdGVPYmoudGlkLnNwbGl0KCdfJylbMF07CiAgICAgICAgICAgIGlucHV0ID0gSE9TVCArICcvYXBpL3ZpZGVvL3NlYXJjaD9rZXk9JyArIGNhdGVPYmoudGlkICsgJyZwYWdlPScgKyArIE1ZX1BBR0U7CiAgICAgICAgfQogICAgICAgIHZhciBkID0gW107CiAgICAgICAgbGV0IGh0bWwgPSByZXF1ZXN0KGlucHV0KTsKICAgICAgICBodG1sID0gSlNPTi5wYXJzZShodG1sKS5kYXRhOwogICAgICAgIGh0bWwuZm9yRWFjaChpdCA9PiB7CiAgICAgICAgICAgIGQucHVzaCh7CiAgICAgICAgICAgICAgICB0aXRsZTogaXQudGl0bGUsCiAgICAgICAgICAgICAgICBpbWc6IGl0LnRodW1ibmFpbHx8aXQucGF0aCwKICAgICAgICAgICAgICAgIGRlc2M6IChpdC5tYXNrIHx8IGl0LnBsYXlsaXN0LnRpdGxlKSArICcg4q2QJyArIGl0LnNjb3JlLAogICAgICAgICAgICAgICAgdXJsOiBpdC5pZAogICAgICAgICAgICB9KQogICAgICAgIH0pOwogICAgICAgIHNldFJlc3VsdChkKTsKICAgIGAsCgnkuoznuqc6IGBqczoKICAgICAgICBmdW5jdGlvbiBnZXRMaW5rKGRhdGEpIHsKICAgICAgICAgICAgbGV0IGxpbmsgPSBkYXRhLm1hcChpdCA9PiB7CiAgICAgICAgICAgICAgICByZXR1cm4gJ1thPWNyOicgKyBKU09OLnN0cmluZ2lmeSh7J2lkJzppdC5uYW1lKydfY2xpY2tsaW5rJywnbmFtZSc6aXQubmFtZX0pICsgJy9dJyArIGl0Lm5hbWUgKyAnWy9hXScKICAgICAgICAgICAgfSkuam9pbignLCAnKTsKICAgICAgICAgICAgcmV0dXJuIGxpbmsKICAgICAgICB9CgkJdHJ5IHsKICAgICAgICAgICAgbGV0IGh0bWwgPSByZXF1ZXN0KGlucHV0KTsKICAgICAgICAgICAgaHRtbCA9IEpTT04ucGFyc2UoaHRtbCk7CiAgICAgICAgICAgIGxldCBub2RlID0gaHRtbC5kYXRhOwogICAgICAgICAgICBWT0QgPSB7CiAgICAgICAgICAgICAgICB2b2RfaWQ6IG5vZGUuaWQsCiAgICAgICAgICAgICAgICB2b2RfbmFtZTogbm9kZS50aXRsZSwKICAgICAgICAgICAgICAgIHZvZF9waWM6IG5vZGUudGh1bWJuYWlsLAogICAgICAgICAgICAgICAgdHlwZV9uYW1lOiBub2RlLnR5cGVzWzBdLm5hbWUsCiAgICAgICAgICAgICAgICB2b2RfeWVhcjogbm9kZS55ZWFyLnRpdGxlLAogICAgICAgICAgICAgICAgdm9kX2FyZWE6IG5vZGUuYXJlYS50aXRsZSwKICAgICAgICAgICAgICAgIHZvZF9yZW1hcmtzOiBub2RlLnNjb3JlLAogICAgICAgICAgICAgICAgdm9kX2FjdG9yOiBnZXRMaW5rKG5vZGUuYWN0b3JzKSwKICAgICAgICAgICAgICAgIHZvZF9kaXJlY3RvcjogZ2V0TGluayhub2RlLmRpcmVjdG9ycyksCiAgICAgICAgICAgICAgICB2b2RfY29udGVudDogbm9kZS5kZXNjcmlwdGlvbi5zdHJpcCgpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGlmICh0eXBlb2YgcGxheV91cmwgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgICAgICB2YXIgcGxheV91cmwgPSAnJwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxldCBwbGF5TWFwID0ge307CgkJCWlmIChub2RlLmhhdmVfZnRwX3VyID09IDEpIHsKCQkJCXBsYXlNYXBbIui+ueS4i+i+ueaSrei2hea4heeJiCJdID0gbm9kZS5uZXdfZnRwX2xpc3QubWFwKGl0ID0+IHsKCQkJCQlyZXR1cm4gaXQudGl0bGUgKyAiJCIgKyAoL20zdTgvLnRlc3QoaXQudXJsKSA/IHBsYXlfdXJsICsgaXQudXJsIDogInR2Ym94LXhnOiIgKyBpdC51cmwpCgkJCQl9KS5qb2luKCcjJyk7CgkJCX0KCQkJaWYgKG5vZGUuaGF2ZV9tM3U4X3VyID09IDEpIHsKCQkJCXBsYXlNYXBbIuWcqOe6v+eCueaSreaZrua4heeJiCJdID0gbm9kZS5uZXdfbTN1OF9saXN0Lm1hcChpdCA9PiB7CgkJCQkJcmV0dXJuIGl0LnRpdGxlICsgIiQiICsgKC9tM3U4Ly50ZXN0KGl0LnVybCkgPyBwbGF5X3VybCArIGl0LnVybCA6ICJ0dmJveC14ZzoiICsgaXQudXJsKQoJCQkJfSkuam9pbignIycpOwoJCQl9CiAgICAgICAgICAgIGxldCBwbGF5RnJvbSA9IFtdOwogICAgICAgICAgICBsZXQgcGxheUxpc3QgPSBbXTsKICAgICAgICAgICAgT2JqZWN0LmtleXMocGxheU1hcCkuZm9yRWFjaChrZXkgPT4gewogICAgICAgICAgICAgICAgcGxheUZyb20uYXBwZW5kKGtleSk7CiAgICAgICAgICAgICAgICBwbGF5TGlzdC5hcHBlbmQocGxheU1hcFtrZXldKQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgVk9ELnZvZF9wbGF5X2Zyb20gPSBwbGF5RnJvbS5qb2luKCckJCQnKTsKICAgICAgICAgICAgVk9ELnZvZF9wbGF5X3VybCA9IHBsYXlMaXN0LmpvaW4oJyQkJCcpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgbG9nKCLojrflj5bkuoznuqfor6bmg4XpobXlj5HnlJ/plJnor686IiArIGUubWVzc2FnZSk7CiAgICAgICAgfQoJYCwKCS8vIOaQnOe0ojonanNvbjpkYXRhOyo7dGh1bWJuYWlsO21hc2s7KicsCgnmkJzntKI6IGBqczoKICAgICAgICB2YXIgZCA9IFtdOwogICAgICAgIGxldCBodG1sID0gcmVxdWVzdChpbnB1dCk7CiAgICAgICAgaHRtbCA9IEpTT04ucGFyc2UoaHRtbCkuZGF0YTsKICAgICAgICBodG1sLmZvckVhY2goaXQgPT4gewogICAgICAgICAgICBkLnB1c2goewogICAgICAgICAgICAgICAgdGl0bGU6IGl0LnRpdGxlLAogICAgICAgICAgICAgICAgaW1nOiBpdC50aHVtYm5haWwsCiAgICAgICAgICAgICAgICBkZXNjOiBpdC5tYXNrICsgJyDirZAnICsgaXQuc2NvcmUsCiAgICAgICAgICAgICAgICB1cmw6IGl0LmlkCiAgICAgICAgICAgIH0pCiAgICAgICAgfSk7CiAgICAgICAgc2V0UmVzdWx0KGQpOwogICAgYCwKfQ== |