9e1b322483
Signed-off-by: 潇洒 <14147370+PizazzXS@user.noreply.gitee.com>
1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+eZvuW/meaXoOaenFvlrphdJywKICAgIGhvc3Q6ICdodHRwczovL3BpYW5rdS5hcGkuJTZkJTY3JTc0JTc2LmNvbScsCiAgICBob21lVXJsOiAnJywKICAgIC8vIHNlYXJjaFVybDogJ2h0dHBzOi8vbW9iaWxlc28uYnouJTZkJTY3JTc0JTc2LmNvbS9wYy9zZWFyY2gvdjE/cT0qKiZwbj1meXBhZ2UmcGM9MTAnLAogICAgLy8g5paw54mI5o6l5Y+j5pCc57Si5Y+Y5oiQdjLlubbkuJTliqDkuobpqozor4HvvIzom4vnlrwKICAgIC8vIHNlYXJjaFVybDogJ2h0dHBzOi8vbW9iaWxlc28uYnoubWd0di5jb20vcGMvc2VhcmNoL3YyP2FsbG93ZWRSQz0xJnNyYz1tZ3R2JmRpZD1jZjAzYjk1OS02OTQ1LTRjYjYtYmNiMy04ODc2MjQ1OTM1NGQmdGltZXN0YW1wPTIwMjQtMDYtMjFUMTUlM0E1MiUzQTU1WiZzaWduVmVyc2lvbj0xJnNpZ25Ob25jZT04ZGFlNjdhMWZhZmM0YmRhOTg0ZWM4ZGViNDc2NjZhZCZxPSoqJnBuPWZ5cGFnZSZwYz0xMCZjb3JyPTEmX3N1cHBvcnQ9MTAwMDAwMDAmc2lnbmF0dXJlPTRlMjdmZGRjZDJhMWE2NmQ2YzE3NjRlZDZiNzRiYWI3JywKICAgIC8vIOeUqOaJi+acuueahOWQp++8jOaQnuS4jeWumui/meS4qgogICAgc2VhcmNoVXJsOiAnaHR0cHM6Ly9tb2JpbGVzby5iei4lNmQlNjclNzQlNzYuY29tL21zaXRlL3NlYXJjaC92Mj9xPSoqJnBuPWZ5cGFnZSZwYz0xMCcsCiAgICBkZXRhaWxVcmw6ICdodHRwczovL3Bjd2ViLmFwaS5tZ3R2LmNvbS9lcGlzb2RlL2xpc3Q/cGFnZT0xJnNpemU9NTAmdmlkZW9faWQ9ZnlpZCcsCiAgICBzZWFyY2hhYmxlOiAyLAogICAgcXVpY2tTZWFyY2g6IDAsCiAgICBmaWx0ZXJhYmxlOiAxLAogICAgbXVsdGk6IDEsCiAgICAvLyDliIbnsbvpk77mjqVmeXBhZ2Xlj4LmlbDmlK/mjIEx5LiqKCnooajovr7lvI8KICAgIC8vIGh0dHBzOi8vd3d3Lm1ndHYuY29tL2xpYi8zP2xhc3RwPWxpc3RfaW5kZXgma2luZD1hMSZ5ZWFyPWFsbCZjaGFyZ2VJbmZvPWExJnNvcnQ9YzIKICAgIHVybDogJy9yaWRlci9saXN0L3Bjd2ViL3YzP3BsYXRmb3JtPXBjd2ViJmNoYW5uZWxJZD1meWNsYXNzJnBuPWZ5cGFnZSZwYz04MCZodWRvbmc9MSZfc3VwcG9ydD0xMDAwMDAwMCZraW5kPWExJmFyZWE9YTEnLAogICAgZmlsdGVyX3VybDogJ3llYXI9e3tmbC55ZWFyIG9yICJhbGwifX0mc29ydD17e2ZsLnNvcnQgb3IgImFsbCJ9fSZjaGFyZ2VJbmZvPXt7ZmwuY2hhcmdlSW5mbyBvciAiYWxsIn19JywKICAgIGhlYWRlcnM6IHsKICAgICAgICAnVXNlci1BZ2VudCc6ICdQQ19VQScKICAgIH0sCiAgICB0aW1lb3V0OiA1MDAwLAogICAgY2xhc3NfbmFtZTogJ+eUteinhuWJpybnlLXlvbEm57u86Im6JuWKqOa8qybnuqrlvZXniYcm5pWZ6IKyJuWwkeWEvycsCiAgICBjbGFzc191cmw6ICcyJjMmMSY1MCY1MSYxMTUmMTAnLAogICAgZmlsdGVyOiAnSDRzSUFBQUFBQUFBQSsyWHZVckRVQlNBMytYT0hjNjVhZHJhTitqbTVDSWRZb2svR0Z1cFdpaWxJQmFsSUZZb0loMUVCeEVLSWloME1PWjFtc1MraGJjMXlUbmk0bUttczZYZklibm5DL21HOWhTcTZtWlA3YnRkVlZXTlhhZTk0OWFhMnkxVlVFM253RFZzSGt3K1ozNzhGb1QzbDRaMkhPL0VYZDNTTk1Qd2ZMb1lUSmZZL0hBOFQvVUw2ZURLM0pVTXRqRGpuYjNERk9vTWJ0VFc0NXRwT0h4UFIxWTJTazQvODZQeFN6b3RxbjU5T2YvZSthalZQcVp0bzlFNC9Mait0V2QwZHhyZHZpWVBhTkE2aHNlRDlNRU4yaWgrZUpyN284WHpKQnhlcE5PZngzWmRwMDNIaHY1c0hqeisvZlZvME1VRXJ5NFp0NGhibkd2aW1uTWtqcHdEY1dBYzF6SnVMaG12RUs5d1hpWmU1cnhFdk1TNVRkem1uSHlSK3lMNUl2ZEY4a1h1aStTTDNCZkpGN2t2a0M5d1h5QmY0TDVBdnNCOWdYeUIrd0w1QXZjRjhvWFZsMU12S0MycFNXcVNXaDZwV1pLYXBDYXA1WkdhRGRLYXRDYXQ1ZEthL0Z1VDFxUzFYRnBEODBZa05vbE5ZdnYzMlBwZkNMa25lSWNVQUFBPScsCiAgICBsaW1pdDogMjAsCiAgICBwbGF5X3BhcnNlOiB0cnVlLAogICAgLy8g5omL5Yqo6LCD55So6Kej5p6Q6K+35rGCanNvbueahHVybCzmraRsYXp55LiN5pa55L6/CiAgICAvLyBsYXp5OidqczpwcmludChpbnB1dCk7ZmV0Y2hfcGFyYW1zLmhlYWRlcnNbInVzZXItYWdlbnQiXT1NT0JJTEVfVUE7bGV0IGh0bWw9cmVxdWVzdChpbnB1dCk7bGV0IHJ1cmw9aHRtbC5tYXRjaCgvd2luZG93XFwub3BlblxcKFwnKC4qPylcJywvKVsxXTtydXJsPXVybERlYWwocnVybCk7aW5wdXQ9e3BhcnNlOjEsdXJsOnJ1cmx9OycsCiAgICAvLyDmjqjojZA6Jy5saXN0X2l0ZW07aW1nJiZhbHQ7aW1nJiZzcmM7YSYmVGV4dDthJiZkYXRhLWZsb2F0JywKICAgIOS4gOe6pzogJ2pzb246ZGF0YS5oaXREb2NzO3RpdGxlO2ltZzt1cGRhdGVJbmZvfHxyaWdodENvcm5lci50ZXh0O3BsYXlQYXJ0SWQnLAogICAgLy8g5LiA57qnOidqc29uOmRhdGEuaGl0RG9jczt0aXRsZTtpbWc7dXBkYXRlSW5mbztwbGF5UGFydElkJywKICAgIOS6jOe6pzogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBmZXRjaF9wYXJhbXMuaGVhZGVycy5SZWZlcmVyID0gImh0dHBzOi8vd3d3Lm1ndHYuY29tIjsKICAgICAgICBmZXRjaF9wYXJhbXMuaGVhZGVyc1siVXNlci1BZ2VudCJdID0gVUE7CiAgICAgICAgcGRmaCA9IGpzcC5wZGZoOwogICAgICAgIHBkZmEgPSBqc3AucGRmYTsKICAgICAgICBwZCA9IGpzcC5wZDsKICAgICAgICBWT0QgPSB7fTsKICAgICAgICBsZXQgZCA9IFtdOwogICAgICAgIGxldCBodG1sID0gcmVxdWVzdChpbnB1dCk7CiAgICAgICAgbGV0IGpzb24gPSBKU09OLnBhcnNlKGh0bWwpOwogICAgICAgIGxldCBob3N0ID0gImh0dHBzOi8vd3d3Lm1ndHYuY29tIjsKICAgICAgICBsZXQgb3VybCA9IGpzb24uZGF0YS5saXN0Lmxlbmd0aCA+IDAgPyBqc29uLmRhdGEubGlzdFswXS51cmwgOiBqc29uLmRhdGEuc2VyaWVzWzBdLnVybDsKICAgICAgICBpZiAoIS9eaHR0cC8udGVzdChvdXJsKSkgewogICAgICAgICAgICBvdXJsID0gaG9zdCArIG91cmwKICAgICAgICB9CiAgICAgICAgZmV0Y2hfcGFyYW1zLmhlYWRlcnNbIlVzZXItQWdlbnQiXSA9IE1PQklMRV9VQTsKICAgICAgICBodG1sID0gcmVxdWVzdChvdXJsKTsKICAgICAgICBpZiAoaHRtbC5pbmNsdWRlcygid2luZG93LmxvY2F0aW9uID0iKSkgewogICAgICAgICAgICBwcmludCgi5byA5aeL6I635Y+Wb3VybCIpOwogICAgICAgICAgICBvdXJsID0gcGRmaChodG1sLCAibWV0YVtodHRwLWVxdWl2PXJlZnJlc2hdJiZjb250ZW50Iikuc3BsaXQoInVybD0iKVsxXTsKICAgICAgICAgICAgcHJpbnQoIuiOt+WPluWIsG91cmw6IiArIG91cmwpOwogICAgICAgICAgICBodG1sID0gcmVxdWVzdChvdXJsKQogICAgICAgIH0KICAgICAgICB0cnkgewogICAgICAgICAgICBsZXQgZGV0YWlscyA9IHBkZmgoaHRtbCwgIi5tLWRldGFpbHMmJkh0bWwiKS5yZXBsYWNlKC9oMT4vLCAiaDY+IikucmVwbGFjZSgvZGl2L2csICJiciIpOwogICAgICAgICAgICBwcmludChkZXRhaWxzKTsKICAgICAgICAgICAgbGV0IGFjdG9yID0gIiIsCiAgICAgICAgICAgICAgICBkaXJlY3RvciA9ICIiLAogICAgICAgICAgICAgICAgdGltZSA9ICIiOwogICAgICAgICAgICBpZiAoL+aSreWHuuaXtumXtC8udGVzdChkZXRhaWxzKSkgewogICAgICAgICAgICAgICAgYWN0b3IgPSBwZGZoKGh0bWwsICJwOmVxKDUpJiZUZXh0Iikuc3Vic3RyKDAsIDI1KTsKICAgICAgICAgICAgICAgIGRpcmVjdG9yID0gcGRmaChodG1sLCAicDplcSg0KSYmVGV4dCIpOwogICAgICAgICAgICAgICAgdGltZSA9IHBkZmgoaHRtbCwgInA6ZXEoMykmJlRleHQiKQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgYWN0b3IgPSBwZGZoKGh0bWwsICJwOmVxKDQpJiZUZXh0Iikuc3Vic3RyKDAsIDI1KTsKICAgICAgICAgICAgICAgIGRpcmVjdG9yID0gcGRmaChodG1sLCAicDplcSgzKSYmVGV4dCIpOwogICAgICAgICAgICAgICAgdGltZSA9ICLlt7Llroznu5MiCiAgICAgICAgICAgIH0KICAgICAgICAgICAgbGV0IF9pbWcgPSBwZChodG1sLCAiLnZpZGVvLWltZyYmaW1nJiZzcmMiKTsKICAgICAgICAgICAgbGV0IEpKID0gcGRmaChodG1sLCAiLmRlc2MmJlRleHQiKS5zcGxpdCgi566A5LuL77yaIilbMV07CiAgICAgICAgICAgIGxldCBfZGVzYyA9IHRpbWU7CiAgICAgICAgICAgIFZPRC52b2RfbmFtZSA9IHBkZmgoaHRtbCwgIi52dC10eHQmJlRleHQiKTsKICAgICAgICAgICAgVk9ELnR5cGVfbmFtZSA9IHBkZmgoaHRtbCwgInA6ZXEoMCkmJlRleHQiKS5zdWJzdHIoMCwgNik7CiAgICAgICAgICAgIFZPRC52b2RfYXJlYSA9IHBkZmgoaHRtbCwgInA6ZXEoMSkmJlRleHQiKTsKICAgICAgICAgICAgVk9ELnZvZF9hY3RvciA9IGFjdG9yOwogICAgICAgICAgICBWT0Qudm9kX2RpcmVjdG9yID0gZGlyZWN0b3I7CiAgICAgICAgICAgIFZPRC52b2RfcmVtYXJrcyA9IF9kZXNjOwogICAgICAgICAgICBWT0Qudm9kX3BpYyA9IF9pbWc7CiAgICAgICAgICAgIFZPRC52b2RfY29udGVudCA9IEpKOwogICAgICAgICAgICBpZiAoIVZPRC52b2RfbmFtZSkgewogICAgICAgICAgICAgICAgVk9ELnZvZF9uYW1lID0gVk9ELnR5cGVfbmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgbG9nKCLojrflj5blvbHniYfkv6Hmga/lj5HnlJ/plJnor686IiArIGUubWVzc2FnZSkKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGdldFJqcGcoaW1nVXJsLCB4cykgewogICAgICAgICAgICB4cyA9IHhzIHx8IDM7CiAgICAgICAgICAgIGxldCBwaWNTaXplID0gL2pwZ18vLnRlc3QoaW1nVXJsKSA/IGltZ1VybC5zcGxpdCgianBnXyIpWzFdLnNwbGl0KCIuIilbMF0gOiBmYWxzZTsKICAgICAgICAgICAgbGV0IHJqcGcgPSBmYWxzZTsKICAgICAgICAgICAgaWYgKHBpY1NpemUpIHsKICAgICAgICAgICAgICAgIGxldCBhID0gcGFyc2VJbnQocGljU2l6ZS5zcGxpdCgieCIpWzBdKSAqIHhzOwogICAgICAgICAgICAgICAgbGV0IGIgPSBwYXJzZUludChwaWNTaXplLnNwbGl0KCJ4IilbMV0pICogeHM7CiAgICAgICAgICAgICAgICByanBnID0gYSArICJ4IiArIGIgKyAiLmpwZyIKICAgICAgICAgICAgfQogICAgICAgICAgICBsZXQgaW1nID0gL2pwZ18vLnRlc3QoaW1nVXJsKSAmJiByanBnID8gaW1nVXJsLnJlcGxhY2UoaW1nVXJsLnNwbGl0KCJqcGdfIilbMV0sIHJqcGcpIDogaW1nVXJsOwogICAgICAgICAgICByZXR1cm4gaW1nCiAgICAgICAgfQoKICAgICAgICBpZiAoanNvbi5kYXRhLnRvdGFsID09PSAxICYmIGpzb24uZGF0YS5saXN0Lmxlbmd0aCA9PT0gMSkgewogICAgICAgICAgICBsZXQgZGF0YSA9IGpzb24uZGF0YS5saXN0WzBdOwogICAgICAgICAgICBsZXQgdXJsID0gImh0dHBzOi8vd3d3Lm1ndHYuY29tIiArIGRhdGEudXJsOwogICAgICAgICAgICBkLnB1c2goewogICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEudDQsCiAgICAgICAgICAgICAgICBkZXNjOiBkYXRhLnQyLAogICAgICAgICAgICAgICAgcGljX3VybDogZ2V0UmpwZyhkYXRhLmltZyksCiAgICAgICAgICAgICAgICB1cmw6IHVybAogICAgICAgICAgICB9KQogICAgICAgIH0gZWxzZSBpZiAoanNvbi5kYXRhLmxpc3QubGVuZ3RoID4gMSkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBqc29uLmRhdGEudG90YWxfcGFnZTsgaSsrKSB7CiAgICAgICAgICAgICAgICBpZiAoaSA+IDEpIHsKICAgICAgICAgICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShmZXRjaChpbnB1dC5yZXBsYWNlKCJwYWdlPTEiLCAicGFnZT0iICsgaSksIHt9KSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGpzb24uZGF0YS5saXN0LmZvckVhY2goZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICBsZXQgdXJsID0gImh0dHBzOi8vd3d3Lm1ndHYuY29tIiArIGRhdGEudXJsOwogICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmlzSW50YWN0ID09ICIxIikgewogICAgICAgICAgICAgICAgICAgICAgICBkLnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEudDQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiBkYXRhLnQyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGljX3VybDogZ2V0UmpwZyhkYXRhLmltZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybAogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmludChpbnB1dCArICLmmoLml6DniYfmupAiKQogICAgICAgIH0KICAgICAgICBWT0Qudm9kX3BsYXlfZnJvbSA9ICJtZ3R2IjsKICAgICAgICBWT0Qudm9kX3BsYXlfdXJsID0gZC5tYXAoZnVuY3Rpb24gKGl0KSB7CiAgICAgICAgICAgIHJldHVybiBpdC50aXRsZSArICIkIiArIGl0LnVybAogICAgICAgIH0pLmpvaW4oIiMiKTsKICAgICAgICBzZXRSZXN1bHQoZCk7CiAgICB9KSwKCiAgICAvLyDmkJzntKI6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAvLyAgICAgZmV0Y2hfcGFyYW1zLmhlYWRlcnMuUmVmZXJlciA9ICJodHRwczovL3d3dy5tZ3R2LmNvbSI7CiAgICAvLyAgICAgZmV0Y2hfcGFyYW1zLmhlYWRlcnNbIlVzZXItQWdlbnQiXSA9IFVBOwogICAgLy8gICAgIGxldCBkID0gW107CiAgICAvLyAgICAgbGV0IGh0bWwgPSByZXF1ZXN0KGlucHV0KTsKICAgIC8vICAgICBsZXQganNvbiA9IEpTT04ucGFyc2UoaHRtbCk7CiAgICAvLyAgICAganNvbi5kYXRhLmNvbnRlbnRzLmZvckVhY2goZnVuY3Rpb24gKGRhdGEpIHsKICAgIC8vICAgICAgICAgaWYgKGRhdGEuZGF0YS5zb3VyY2VMaXN0IHx8IGRhdGEuZGF0YS55ZWFyTGlzdCkgewogICAgLy8gICAgICAgICAgICAgbGV0IGxpc3QgPSBkYXRhLmRhdGEuc291cmNlTGlzdCA/IGRhdGEuZGF0YS5zb3VyY2VMaXN0IDogZGF0YS5kYXRhLnllYXJMaXN0WzBdLnNvdXJjZUxpc3Q7CiAgICAvLyAgICAgICAgICAgICBsZXQgZGVzYyA9ICIiOwogICAgLy8gICAgICAgICAgICAgbGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChpdCkgewogICAgLy8gICAgICAgICAgICAgICAgIGRlc2MgKz0gaXQubmFtZSArICJcdCIKICAgIC8vICAgICAgICAgICAgIH0pOwogICAgLy8gICAgICAgICAgICAgbGV0IGZ5Y2xhc3MgPSAnJzsKICAgIC8vICAgICAgICAgICAgIGlmIChsaXN0WzBdLnNvdXJjZSA9PT0gImltZ28iKSB7CiAgICAvLyAgICAgICAgICAgICAgICAgbGV0IGltZyA9IGRhdGEuZGF0YS5waWMgPyBkYXRhLmRhdGEucGljIDogZGF0YS5kYXRhLnllYXJMaXN0WzBdLnBpYzsKICAgIC8vICAgICAgICAgICAgICAgICB0cnkgewogICAgLy8gICAgICAgICAgICAgICAgICAgICBmeWNsYXNzID0gZGF0YS5kYXRhLmRlc2MuZmluZChpdCA9PiBpdC5sYWJlbCA9PT0gJ+exu+WeiycpLnVybC5tYXRjaCgvbGliXC8oXGQrKS8pWzFdICsgJyQnOwogICAgLy8gICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgIC8vICAgICAgICAgICAgICAgICAgICAgZnljbGFzcyA9ICcnOwogICAgLy8gICAgICAgICAgICAgICAgIH0KICAgIC8vICAgICAgICAgICAgICAgICBsb2coZnljbGFzcyk7CiAgICAvLyAgICAgICAgICAgICAgICAgZC5wdXNoKHsKICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEuZGF0YS50aXRsZSA/IGRhdGEuZGF0YS50aXRsZSA6IGRhdGEuZGF0YS55ZWFyTGlzdFswXS50aXRsZSwKICAgIC8vICAgICAgICAgICAgICAgICAgICAgaW1nOiBpbWcsCiAgICAvLyAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGRhdGEuZGF0YS5zdG9yeSA/IGRhdGEuZGF0YS5zdG9yeSA6IGRhdGEuZGF0YS55ZWFyTGlzdFswXS5zdG9yeSwKICAgIC8vICAgICAgICAgICAgICAgICAgICAgZGVzYzogZGF0YS5kYXRhLnBsYXlUaW1lLAogICAgLy8gICAgICAgICAgICAgICAgICAgICB1cmw6IGZ5Y2xhc3MgKyBsaXN0WzBdLnZpZAogICAgLy8gICAgICAgICAgICAgICAgIH0pCiAgICAvLyAgICAgICAgICAgICB9CiAgICAvLyAgICAgICAgIH0KICAgIC8vICAgICB9KTsKICAgIC8vICAgICBzZXRSZXN1bHQoZCk7CiAgICAvLyB9KSwKICAgIOaQnOe0ojogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBmZXRjaF9wYXJhbXMuaGVhZGVycy5SZWZlcmVyID0gImh0dHBzOi8vd3d3Lm1ndHYuY29tIjsKICAgICAgICBmZXRjaF9wYXJhbXMuaGVhZGVyc1siVXNlci1BZ2VudCJdID0gVUE7CiAgICAgICAgbGV0IGQgPSBbXTsKICAgICAgICBsZXQgaHRtbCA9IHJlcXVlc3QoaW5wdXQpOwogICAgICAgIGxldCBqc29uID0gSlNPTi5wYXJzZShodG1sKTsKICAgICAgICBqc29uLmRhdGEuY29udGVudHMuZm9yRWFjaChmdW5jdGlvbiAoZGF0YSkgewogICAgICAgICAgICBpZiAoZGF0YS50eXBlICYmIGRhdGEudHlwZSA9PSAnbWVkaWEnKSB7CiAgICAgICAgICAgICAgICBsZXQgaXRlbSA9IGRhdGEuZGF0YVswXTsKICAgICAgICAgICAgICAgIGxldCBkZXNjID0gaXRlbS5kZXNjLmpvaW4oJywnKTsKICAgICAgICAgICAgICAgIGxldCBmeWNsYXNzID0gJyc7CiAgICAgICAgICAgICAgICBpZiAoaXRlbS5zb3VyY2UgPT09ICJpbWdvIikgewogICAgICAgICAgICAgICAgICAgIGxldCBpbWcgPSBpdGVtLmltZyA/IGl0ZW0uaW1nIDogJyc7CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgZnljbGFzcyA9IGl0ZW0ucnB0Lm1hdGNoKC9pZHg9KC4qPykmLylbMV0gKyAnJCc7CiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICBsb2coZS5tZXNzYWdlKTsKICAgICAgICAgICAgICAgICAgICAgICAgZnljbGFzcyA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBsb2coZnljbGFzcyk7CiAgICAgICAgICAgICAgICAgICAgZC5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGUucmVwbGFjZSgvPEI+fDxcL0I+L2csICcnKSwKICAgICAgICAgICAgICAgICAgICAgICAgaW1nOiBpbWcsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiBkZXNjLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGZ5Y2xhc3MgKyBpdGVtLnVybC5tYXRjaCgvLipcLyguKj8pXC5odG1sLylbMV0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgc2V0UmVzdWx0KGQpOwogICAgfSksCn0= |