{"remainingRequest":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\infoMgmtPatrolsRescues\\infoMgmtPatrolsManage\\components\\EditAddPage\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\infoMgmtPatrolsRescues\\infoMgmtPatrolsManage\\components\\EditAddPage\\index.vue","mtime":1741314105644},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\babel.config.js","mtime":1741314102158},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IFB1YlN1YiBmcm9tICdwdWJzdWItanMnOwppbXBvcnQgeyBnZXRUcmVlLCB0YWJsZUFkZCwgdGFibGVEZXRhaWwsIHRhYmxlRWRpdCB9IGZyb20gJ0AvYXBpL3BhdHJvbEFuZFJlc2N1ZS9pbmZvTWdtdFBhdHJvbHNSZXNjdWVzL2luZm9NZ210UGF0cm9sc01hbmFnZSc7CmltcG9ydCB7IGdldERpY3Rpb25hcnlCeUNvZGUgfSBmcm9tICdAL3V0aWxzL2RpY3Rpb25hcnknOwppbXBvcnQgeyBsbmdBbmRMYXRUb1BpZSB9IGZyb20gJ0AvdXRpbHMvcG9pbnRDb252ZXJzaW9uJzsKaW1wb3J0IFJvYWRDaG9pY2VEaWFsb2cgZnJvbSAnLi9jb21wb25lbnRzL1JvYWRDaG9pY2VEaWFsb2cnOwppbXBvcnQgTWluZU1hcCBmcm9tICdAL2NvbXBvbmVudHMvTWluZU1hcC9pbmRleC52dWUnOwppbXBvcnQgeyByZWZpbmVSZXF1ZXN0Qm9keSB9IGZyb20gJ0AvdXRpbHMvcmVxdWVzdFdyYXBwZXJzJzsKaW1wb3J0IHsgdGFibGVEYXRhIGFzIHJvYWRTZWN0aW9uSW5mb0ludGVyIH0gZnJvbSAnQC9hcGkvcGF0cm9sQW5kUmVzY3VlL2luZm9NZ210UGF0cm9sc1Jlc2N1ZXMvcm9hZFNlY3Rpb25JbmZvJzsKaW1wb3J0IHsgdGFibGVEYXRhIGFzIHRlYW1EYXRhIH0gZnJvbSAnQC9hcGkvcGF0cm9sQW5kUmVzY3VlL2luZm9NZ210UGF0cm9sc1Jlc2N1ZXMvcGF0cm9sQW5kUmVzY3VlVGVhbXNNZ210JzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdFZGl0QWRkUGFnZScsCiAgY29tcG9uZW50czogewogICAgTWluZU1hcDogTWluZU1hcCwKICAgIFJvYWRDaG9pY2VEaWFsb2c6IFJvYWRDaG9pY2VEaWFsb2cKICB9LAogIHByb3BzOiB7CiAgICBjb21wb25lbnROYW1lOiB7CiAgICAgIGRlZmF1bHQ6ICdFZGl0QWRkUGFnZScsCiAgICAgIHR5cGU6IFN0cmluZwogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHJlc291cmNlTGlzdDogW3sKICAgICAgICB2YWx1ZTogMSwKICAgICAgICBuYW1lOiAn5beh5p+l6am754K5JwogICAgICB9XSwKICAgICAgYWRkRWRpdEZvcm06IHsKICAgICAgICB0eXBlOiAxLAogICAgICAgIGxuZzogJycsCiAgICAgICAgbGF0OiAnJywKICAgICAgICAvLyB0eXBlOiAxLAogICAgICAgIGRpcmVjdGlvbjogJzEnLAogICAgICAgIHJvYWROYW1lOiAnJwogICAgICB9LAogICAgICBhZGRFZGl0UnVsZXM6IHsKICAgICAgICBuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5beh5p+l54K55ZCN56ew5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIC8vIGR1dHlOdW06IFsKICAgICAgICAvLyAgIHsKICAgICAgICAvLyAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgLy8gICAgIG1lc3NhZ2U6ICflgLznj63kurrmlbDkuI3og73kuLrnqbonLAogICAgICAgIC8vICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICAvLyAgIH0KICAgICAgICAvLyBdLAogICAgICAgIC8vIGR1dHlUZWw6IFsKICAgICAgICAvLyAgIHsKICAgICAgICAvLyAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgLy8gICAgIG1lc3NhZ2U6ICflgLznj63nlLXor53kuI3og73kuLrnqbonLAogICAgICAgIC8vICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICAvLyAgIH0sCiAgICAgICAgLy8gICB7CiAgICAgICAgLy8gICAgIHBhdHRlcm46IC9cZHszfS1cZHs4fXxcZHs0fS1cZHs3fXxeMSgzWzAtOV18NFs1N118NVswLTM1LTldfDdbMDY3OF18OFswLTldKVxkezh9JC8sIG1lc3NhZ2U6ICflgLznj63nlLXor53ovpPlhaXmnInor68nLCB0cmlnZ2VyOiAnYmx1cicKICAgICAgICAvLyAgIH0KICAgICAgICAvLyBdLAogICAgICAgIC8vIHR1cm5OdW06IFsKICAgICAgICAvLyAgIHsKICAgICAgICAvLyAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgLy8gICAgIG1lc3NhZ2U6ICfova7nj63kurrmlbDkuI3og73kuLrnqbonLAogICAgICAgIC8vICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICAvLyAgIH0KICAgICAgICAvLyBdLAogICAgICAgIC8vIGxpbmtOYW1lOiBbCiAgICAgICAgLy8gICB7CiAgICAgICAgLy8gICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgIC8vICAgICBtZXNzYWdlOiAn6LSf6LSj5Lq65LiN6IO95Li656m6JywKICAgICAgICAvLyAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgLy8gICB9CiAgICAgICAgLy8gXSwKICAgICAgICAvLyBsaW5rVGVsOiBbCiAgICAgICAgLy8gICB7CiAgICAgICAgLy8gICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgIC8vICAgICBtZXNzYWdlOiAn6LSf6LSj5Lq66IGU57O755S16K+d5LiN6IO95Li656m6JywKICAgICAgICAvLyAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgLy8gICB9LAogICAgICAgIC8vICAgewogICAgICAgIC8vICAgICBwYXR0ZXJuOiAvXjEoM1swLTldfDRbNTddfDVbMC0zNS05XXw3WzA2NzhdfDhbMC05XSlcZHs4fSQvLCBtZXNzYWdlOiAn6LSf6LSj5Lq66IGU57O755S16K+d6L6T5YWl5pyJ6K+vJywgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgLy8gICB9CiAgICAgICAgLy8gXSwKCiAgICAgICAgdGVhbUlkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5omA5bGe5beh5p+l5pWR5o+06Zif5LyN5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIC8vIG1vbml0b3JUZWw6IFsKICAgICAgICAvLyAgIHsKICAgICAgICAvLyAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgLy8gICAgIG1lc3NhZ2U6ICfmiYDlsZ7nm5HmjqfkuK3lv4PnlLXor53kuI3og73kuLrnqbonLAogICAgICAgIC8vICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICAvLyAgIH0sCiAgICAgICAgLy8gICB7CiAgICAgICAgLy8gICAgIHBhdHRlcm46IC9cZHszfS1cZHs4fXxcZHs0fS1cZHs3fS8sIG1lc3NhZ2U6ICfmiYDlsZ7nm5HmjqfkuK3lv4PnlLXor53ovpPlhaXmoLzlvI/mnInor68nLCB0cmlnZ2VyOiAnYmx1cicKICAgICAgICAvLyAgIH0KICAgICAgICAvLyBdLAogICAgICAgIC8vIG1hbmFnZW1lbnREOiBbCiAgICAgICAgLy8gICB7CiAgICAgICAgLy8gICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgIC8vICAgICBtZXNzYWdlOiAn5omA566h6L6W5Yy65Lqk6YCa57u85ZCI5omn5rOV5aSn6Zif5LiN6IO95Li656m6JywKICAgICAgICAvLyAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgLy8gICB9CiAgICAgICAgLy8gXSwKCiAgICAgICAgLy8gbG5nOiBbCiAgICAgICAgLy8gICB7CiAgICAgICAgLy8gICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgIC8vICAgICBtZXNzYWdlOiAn57uP5bqm5LiN6IO95Li656m6JywKICAgICAgICAvLyAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgLy8gICB9CiAgICAgICAgLy8gXSwKICAgICAgICAvLyBsYXQ6IFsKICAgICAgICAvLyAgIHsKICAgICAgICAvLyAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgLy8gICAgIG1lc3NhZ2U6ICfnuqzluqbkuI3og73kuLrnqbonLAogICAgICAgIC8vICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICAvLyAgIH0KICAgICAgICAvLyBdLAogICAgICAgIHR5cGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICflnLrmiYDnsbvlnosnLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfV0sCiAgICAgICAgcGVnOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn54K55L2N5qGp5Y+3JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIHBlZ0FkZDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+eCueS9jeahqeWPt+mZhOWKoCcsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICBwZWdWYWw6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfngrnkvY3moanlj7flhajlgLzkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfV0KICAgICAgICAvLyByZXNjdXNUZWw6IFsKICAgICAgICAvLyAgIHsKICAgICAgICAvLyAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgLy8gICAgIG1lc3NhZ2U6ICfmlZHmj7TmnI3liqHnlLXor53kuI3og73kuLrnqbonLAogICAgICAgIC8vICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICAvLyAgIH0sCiAgICAgICAgLy8gICB7CiAgICAgICAgLy8gICAgIHBhdHRlcm46IC9cZHszfS1cZHs4fXxcZHs0fS1cZHs3fS8sIG1lc3NhZ2U6ICfmlZHmj7TmnI3liqHnlLXor53ovpPlhaXmoLzlvI/mnInor68nLCB0cmlnZ2VyOiAnYmx1cicKICAgICAgICAvLyAgIH0KICAgICAgICAvLyBdCiAgICAgIH0sCiAgICAgIHNhdmVMb2FkaW5nOiBmYWxzZSwKICAgICAgLy8g5LiK5LygbG9hZGluZwogICAgICBpZDogJycsCiAgICAgIC8vIGlk5qCH6K+G56ymCiAgICAgIHdoZXRoZXJUb0NhbmNlbDogZmFsc2UsCiAgICAgIHJvYWRDaG9pY2VEaWFsb2c6IGZhbHNlLAogICAgICAvLyDmmK/lkKblsZXnpLrpgInmi6not6/mrrXlvLnlsYIKICAgICAgcm91dGVyRGF0YTogW10sCiAgICAgIC8vIOi3r+e6v+aVsOaNrgogICAgICBwdWJTdWI6IG51bGwsCiAgICAgIC8vIG1hcExvYWRpbmc6IHRydWUsIC8vIOWcsOWbvuWKoOi9vWxvYWRpbmcKICAgICAgbWFwOiBudWxsLAogICAgICBtYXBEZWZhdWx0T3B0aW9uczogewogICAgICAgIGNlbnRlcjogWzEwNi41NTA3LCAyOS41NjQ3XSAvKuWcsOWbvuS4reW/g+eCuSovLAogICAgICAgIHpvb206IDkgLyrlnLDlm77pu5jorqTnvKnmlL7nrYnnuqcqLwogICAgICB9LAogICAgICBtYXJrZXJzOiBbXSwKICAgICAgdGVhbVRyZWVEYXRhOiBbXSwKICAgICAgLy8g5pWR5o+06Zif5LyN57uE57uH5qCRCiAgICAgIG1vbml0b3JUcmVlRGF0YTogW10sCiAgICAgIC8vIOebkeaOp+S4reW/g+e7hOe7h+agkQogICAgICByb2FkT3B0aW9uczogW10sCiAgICAgIHRlYW1PcHRpb25zOiBbXQogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICBjb21wb25lbnROYW1lOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIobmV3VmFsKSB7CiAgICAgICAgaWYgKG5ld1ZhbCA9PT0gdGhpcy4kb3B0aW9ucy5uYW1lKSB7CiAgICAgICAgICB0aGlzLm9wZW5QYWdlKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuY2xvc2VQYWdlKCk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdGhpcy5nZXRPcmdUcmVlRGF0YSgpOwogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICB0aGlzLnB1YlN1YiA9IFB1YlN1Yi5zdWJzY3JpYmUoJ0VkaXRBZGRQYWdlJywgZnVuY3Rpb24gKF8sIGRhdGEpIHsKICAgICAgY29uc29sZS5sb2coZGF0YSwgJy8vLy8vLy8vJyk7CiAgICAgIGlmIChkYXRhLnJvYWROYW1lICE9PSAnJykgewogICAgICAgIF90aGlzLmFkZEVkaXRGb3JtLnJvYWROYW1lID0gKGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGF0YS5yb2FkTmFtZSkgfHwgJyc7CiAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0ucm9hZElkID0gKGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGF0YS5jYXRhbG9nSWQpIHx8ICcnOwogICAgICAgIF90aGlzLmFkZEVkaXRGb3JtLnJvYWRGdWxsSWQgPSAoZGF0YSA9PT0gbnVsbCB8fCBkYXRhID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkYXRhLnBhdGgpIHx8ICcnOwogICAgICB9CiAgICAgIGlmIChkYXRhLmlkKSB7CiAgICAgICAgX3RoaXMuaWQgPSBkYXRhLmlkOwogICAgICAgIF90aGlzLmdldERldGFpbChkYXRhLmlkKTsKICAgICAgfSBlbHNlIHt9CiAgICAgIF90aGlzLmdldFJvYWREYXRhKCk7CiAgICB9KTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGdldERpY3Rpb25hcnlCeUNvZGU6IGdldERpY3Rpb25hcnlCeUNvZGUsCiAgICAvLyDmoLnmja7nu4/nuqzluqbovazmoanlj7flhajlgLwKICAgIHRvUGlsZTogZnVuY3Rpb24gdG9QaWxlKCkgewogICAgICB2YXIgZGF0YSA9IHsKICAgICAgICBsb246IDEwNi4zNDA0MjgxMjU0NjQ4MywKICAgICAgICBsYXQ6IDI5LjY2NTIzODIyMjYxMTExLAogICAgICAgIHBvaW50VHlwZTogJzAyJywKICAgICAgICByb3V0ZUNvZGU6ICdHOTMnLAogICAgICAgIHVwRG93bjogJzInCiAgICAgIH07CiAgICAgIGxuZ0FuZExhdFRvUGllKGRhdGEpOwogICAgfSwKICAgIC8v6I635Y+W5omA5Zyo6Lev5q615YiX6KGo5pWw5o2uCiAgICBnZXRSb2FkRGF0YTogZnVuY3Rpb24gZ2V0Um9hZERhdGEoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgdmFyIF95aWVsZCRyb2FkU2VjdGlvbkluZiwgX3lpZWxkJHJvYWRTZWN0aW9uSW5mMiwgcm93czsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gcm9hZFNlY3Rpb25JbmZvSW50ZXIoewogICAgICAgICAgICAgICAgcGFnZUJlYW46IHsKICAgICAgICAgICAgICAgICAgcGFnZVNpemU6IC0xCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfeWllbGQkcm9hZFNlY3Rpb25JbmYgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgIF95aWVsZCRyb2FkU2VjdGlvbkluZjIgPSBfeWllbGQkcm9hZFNlY3Rpb25JbmYucm93czsKICAgICAgICAgICAgICByb3dzID0gX3lpZWxkJHJvYWRTZWN0aW9uSW5mMiA9PT0gdm9pZCAwID8gW10gOiBfeWllbGQkcm9hZFNlY3Rpb25JbmYyOwogICAgICAgICAgICAgIF90aGlzMi5yb2FkT3B0aW9ucyA9IHJvd3MubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICBpdGVtLnJvYWROYW1lID0gaXRlbS5uYW1lICsgJyAnICsgaXRlbS5jb2RlOwogICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgaWYgKCFfdGhpczIuaWQpIHsKICAgICAgICAgICAgICAgIC8vIHRoaXMuJHNldCh0aGlzLmFkZEVkaXRGb3JtLCAncm9hZElkJywgdGhpcy5yb2FkT3B0aW9uc1swXS5pZCkKICAgICAgICAgICAgICAgIF90aGlzMi5yb2FkQ2hhbmdlKF90aGlzMi5hZGRFZGl0Rm9ybS5yb2FkSWQpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOmAmui/h+i3r+auteS/oeaBr+iOt+WPluW3oeafpeaVkeaPtOmYn+S8jeS/oeaBrwogICAgZ2V0VGVhbURhdGE6IGZ1bmN0aW9uIGdldFRlYW1EYXRhKHZhbHVlKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHZhciBfeWllbGQkdGVhbURhdGEsIF95aWVsZCR0ZWFtRGF0YSRyb3dzLCByb3dzOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuIHRlYW1EYXRhKHJlZmluZVJlcXVlc3RCb2R5KHsKICAgICAgICAgICAgICAgIHF1ZXJ5czogW3sKICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uOiAnSU4nLAogICAgICAgICAgICAgICAgICBwcm9wZXJ0eTogJ3IuaWRfJywKICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlCiAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgIH0pLCAnYWRkRWRpdCcpOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgX3lpZWxkJHRlYW1EYXRhID0gX2NvbnRleHQyLnNlbnQ7CiAgICAgICAgICAgICAgX3lpZWxkJHRlYW1EYXRhJHJvd3MgPSBfeWllbGQkdGVhbURhdGEucm93czsKICAgICAgICAgICAgICByb3dzID0gX3lpZWxkJHRlYW1EYXRhJHJvd3MgPT09IHZvaWQgMCA/IFtdIDogX3lpZWxkJHRlYW1EYXRhJHJvd3M7CiAgICAgICAgICAgICAgX3RoaXMzLnRlYW1PcHRpb25zID0gcm93czsKICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUyKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgcm9hZENoYW5nZTogZnVuY3Rpb24gcm9hZENoYW5nZSh2YWx1ZSkgewogICAgICBpZiAodGhpcy5hZGRFZGl0Rm9ybS50ZWFtSWQpIHsKICAgICAgICB0aGlzLiRzZXQodGhpcy5hZGRFZGl0Rm9ybSwgJ3RlYW1JZCcsICcnKTsKICAgICAgfQogICAgICBpZiAodGhpcy5hZGRFZGl0Rm9ybS50ZWFtTmFtZSkgewogICAgICAgIHRoaXMuJHNldCh0aGlzLmFkZEVkaXRGb3JtLCAndGVhbU5hbWUnLCAnJyk7CiAgICAgIH0KICAgICAgdGhpcy5nZXRUZWFtRGF0YSh2YWx1ZSk7CiAgICB9LAogICAgLy8g5omA5bGe5pWR5o+06Zif5LyN6YCJ5oupCiAgICB0ZWFtSWRDaGFuZ2U6IGZ1bmN0aW9uIHRlYW1JZENoYW5nZSh2YWx1ZSkgewogICAgICB2YXIgdGVhbUluZm8gPSB0aGlzLnRlYW1PcHRpb25zLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS5pZCA9PT0gdmFsdWU7CiAgICAgIH0pOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLnRlYW1OYW1lID0gdGVhbUluZm8ubmFtZTsKICAgICAgY29uc29sZS5sb2codGhpcy5hZGRFZGl0Rm9ybS50ZWFtTmFtZSwgJz09PT09PT09PT0nKTsKICAgIH0sCiAgICAvLyDnm5HmjqfkuK3lv4PpgInmi6kKICAgIC8vIG1vbml0b3JJZENoYW5nZSgpIHsKICAgIC8vICAgdGhpcy5hZGRFZGl0Rm9ybS5tb25pdG9ySWQgPSB0aGlzLiRyZWZzLm1vbml0b3JJZENhc2NhZGVyPy5nZXRDaGVja2VkTm9kZXMoKVswXT8udmFsdWUgfHwgJycKICAgIC8vICAgdGhpcy5hZGRFZGl0Rm9ybS5tb25pdG9yTmFtZSA9IHRoaXMuJHJlZnMubW9uaXRvcklkQ2FzY2FkZXI/LmdldENoZWNrZWROb2RlcygpWzBdPy5sYWJlbCB8fCAnJwogICAgLy8gfSwKICAgIC8vIOiOt+WPluWFrOWPuOagkQogICAgZ2V0T3JnVHJlZURhdGE6IGZ1bmN0aW9uIGdldE9yZ1RyZWVEYXRhKCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMygpIHsKICAgICAgICB2YXIgZGF0YTsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTMkKF9jb250ZXh0MykgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQzLnByZXYgPSBfY29udGV4dDMubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAyOwogICAgICAgICAgICAgIHJldHVybiBnZXRUcmVlKCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBkYXRhID0gX2NvbnRleHQzLnNlbnQ7CiAgICAgICAgICAgICAgX3RoaXM0LnRlYW1UcmVlRGF0YSA9IGRhdGE7CiAgICAgICAgICAgICAgX3RoaXM0Lm1vbml0b3JUcmVlRGF0YSA9IGRhdGE7CiAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMyk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOiHquWumuS5ieagh+iusOeCuQogICAgY3VzdG9tVGFnUG9pbnRzOiBmdW5jdGlvbiBjdXN0b21UYWdQb2ludHMoKSB7CiAgICAgIHZhciBfdGhpcyRtYXJrZXJzLAogICAgICAgIF90aGlzNSA9IHRoaXM7CiAgICAgIHZhciBsbmdsYXQgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IFtdOwogICAgICAoX3RoaXMkbWFya2VycyA9IHRoaXMubWFya2Vyc1t0aGlzLm1hcmtlcnMubGVuZ3RoIC0gMV0pID09PSBudWxsIHx8IF90aGlzJG1hcmtlcnMgPT09IHZvaWQgMCB8fCBfdGhpcyRtYXJrZXJzLnJlbW92ZSgpOwogICAgICAvLyDoh6rlrprkuYnngrnmoIforrDnmoTlhoXpg6hET03lhYPntKAKICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIGVsLmNsYXNzTmFtZSA9ICdtYXJrZXItdGlwJzsKICAgICAgLy8gTWFya2Vy5p6E6YCg5Ye95pWw5o6l5pS25Lik5Liq5Y+C5pWw77yM5LiA5Liq5Li66Ieq5a6a5LmJ55qERE9N5YWD57Sg77yM5LiA5Liq5pivT2JqZWN05Y+C5pWw77yM5YW25Lit5YyF5ous5YGP56e76YeP562JCiAgICAgIHZhciBtYXJrZXIgPSBuZXcgdGhpcy4kcmVmcy5taW5lTWFwLm1pbmVNYXAuTWFya2VyKGVsLCB7CiAgICAgICAgZHJhZ2dhYmxlOiB0cnVlLAogICAgICAgIGFuY2hvcjogJ2NlbnRlcicsCiAgICAgICAgb2Zmc2V0OiBbMCwgMF0gLy8gb2Zmc2V05Y+C5pWw5Li65qCH5rOo54K555u45a+55LqO5YW25bem5LiK6KeS5YGP56e75YOP57Sg5aSn5bCPCiAgICAgIH0pCiAgICAgIC8vIOiwg+eUqHNldExuZ0xhdOaWueazleaMh+Wumk1hcmtlcueahOWdkOagh+S9jee9rgogICAgICAuc2V0TG5nTGF0KGxuZ2xhdCkuYWRkVG8odGhpcy4kcmVmcy5taW5lTWFwLm1hcCkub24oJ2RyYWdlbmQnLCBmdW5jdGlvbiAoX3JlZikgewogICAgICAgIHZhciB0YXJnZXQgPSBfcmVmLnRhcmdldDsKICAgICAgICB2YXIgX3RhcmdldCRnZXRMbmdMYXQgPSB0YXJnZXQuZ2V0TG5nTGF0KCksCiAgICAgICAgICBsbmcgPSBfdGFyZ2V0JGdldExuZ0xhdC5sbmcsCiAgICAgICAgICBsYXQgPSBfdGFyZ2V0JGdldExuZ0xhdC5sYXQ7CiAgICAgICAgX3RoaXM1LmFkZEVkaXRGb3JtID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBfdGhpczUuYWRkRWRpdEZvcm0pLCB7fSwgewogICAgICAgICAgbG5nOiBsbmcsCiAgICAgICAgICBsYXQ6IGxhdAogICAgICAgIH0pOwogICAgICB9KTsKICAgICAgdGhpcy4kcmVmcy5taW5lTWFwLm1hcC5zZXRDZW50ZXIobG5nbGF0KTsKICAgICAgdGhpcy5tYXJrZXJzLnB1c2gobWFya2VyKTsKICAgIH0sCiAgICAvLyDkv67mlLnnu4/nuqzluqbmm7TmlrDlnLDlm77moIfngrkKICAgIHVwZGF0ZVBvaW50OiBmdW5jdGlvbiB1cGRhdGVQb2ludChlKSB7CiAgICAgIHZhciBfdGhpcyRhZGRFZGl0Rm9ybSA9IHRoaXMuYWRkRWRpdEZvcm0sCiAgICAgICAgX3RoaXMkYWRkRWRpdEZvcm0kbG5nID0gX3RoaXMkYWRkRWRpdEZvcm0ubG5nLAogICAgICAgIGxuZyA9IF90aGlzJGFkZEVkaXRGb3JtJGxuZyA9PT0gdm9pZCAwID8gJycgOiBfdGhpcyRhZGRFZGl0Rm9ybSRsbmcsCiAgICAgICAgX3RoaXMkYWRkRWRpdEZvcm0kbGF0ID0gX3RoaXMkYWRkRWRpdEZvcm0ubGF0LAogICAgICAgIGxhdCA9IF90aGlzJGFkZEVkaXRGb3JtJGxhdCA9PT0gdm9pZCAwID8gJycgOiBfdGhpcyRhZGRFZGl0Rm9ybSRsYXQ7CiAgICAgIGlmIChsbmcgJiYgbGF0KSB7CiAgICAgICAgdGhpcy5jdXN0b21UYWdQb2ludHMoW2xuZywgbGF0XSk7CiAgICAgIH0KICAgIH0sCiAgICAvLyDmiZPlvIDpobXpnaLmiafooYwKICAgIG9wZW5QYWdlOiBmdW5jdGlvbiBvcGVuUGFnZSgpIHsKICAgICAgdGhpcy50b1BpbGUoKTsKICAgICAgLy8gdGhpcy4kcmVmcy5taW5lTWFwPy5tYXA/LnJlc2l6ZSgpCiAgICB9LAogICAgLy8g5bGV56S65by55bGCCiAgICBzaG93RGlhbG9nOiBmdW5jdGlvbiBzaG93RGlhbG9nKGRpYWxvZ05hbWUpIHsKICAgICAgaWYgKCFkaWFsb2dOYW1lKSByZXR1cm47CiAgICAgIHRoaXNbZGlhbG9nTmFtZSArICdEaWFsb2cnXSA9IHRydWU7CiAgICB9LAogICAgLy8g5YWz6Zet6aG16Z2i5omn6KGMCiAgICBjbG9zZVBhZ2U6IGZ1bmN0aW9uIGNsb3NlUGFnZSgpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CiAgICAgIHZhciBwdWJTdWIgPSB0aGlzLnB1YlN1YiwKICAgICAgICBhZGRFZGl0UnVsZXMgPSB0aGlzLmFkZEVkaXRSdWxlczsKICAgICAgLy8g6YeN572u57uE5Lu25pWw5o2uCiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy4kZGF0YSwgdGhpcy4kb3B0aW9ucy5kYXRhLmNhbGwodGhpcyksIHsKICAgICAgICBwdWJTdWI6IHB1YlN1YiwKICAgICAgICBhZGRFZGl0UnVsZXM6IGFkZEVkaXRSdWxlcywKICAgICAgICByb2FkT3B0aW9uczogcm9hZE9wdGlvbnMKICAgICAgfSk7CiAgICAgIC8vIHRoaXMuJHJlZnMubWluZU1hcD8ucmVzZXRNYXAoXyA9PiB0aGlzLm1hcExvYWRpbmcgPSBmYWxzZSkgLy8g6YeN572u5Zyw5Zu+CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uIChfKSB7CiAgICAgICAgX3RoaXM2LiRyZWZzLmFkZEVkaXRGb3JtLiRlbC5zY3JvbGxUb3AgPSAwOwogICAgICAgIF90aGlzNi4kcmVmcy5hZGRFZGl0Rm9ybS5jbGVhclZhbGlkYXRlKCk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOiOt+WPluivpuaDhQogICAgZ2V0RGV0YWlsOiBmdW5jdGlvbiBnZXREZXRhaWwoaWQpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTQoKSB7CiAgICAgICAgdmFyIHJlc3BvbnNlOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlNCQoX2NvbnRleHQ0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDQucHJldiA9IF9jb250ZXh0NC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlRGV0YWlsKGlkKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIHJlc3BvbnNlID0gX2NvbnRleHQ0LnNlbnQ7CiAgICAgICAgICAgICAgX3RoaXM3LmFkZEVkaXRGb3JtID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCByZXNwb25zZSksIHt9LCB7CiAgICAgICAgICAgICAgICByb2FkTmFtZTogcmVzcG9uc2Uucm9hZE5hbWUgfHwgX3RoaXM3LmFkZEVkaXRGb3JtLnJvYWROYW1lIC8vIOWmguaenOaOpeWPo+i/lOWbnueahCBvcmdOYW1lIOS4uuepuu+8jOS9v+eUqOW9k+WJjeihqOWNleeahCBvcmdOYW1lCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ0LnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlNCk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOS/neWtmAogICAgaGFuZGxlU2F2ZTogZnVuY3Rpb24gaGFuZGxlU2F2ZSgpIHsKICAgICAgdmFyIF90aGlzOCA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMuYWRkRWRpdEZvcm0udmFsaWRhdGUoLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX3JlZjIgPSBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTUodmFsaWQsIG9iamVjdCkgewogICAgICAgICAgdmFyIGRhdGEsIG15SW50ZXJGYWNlLCBfeWllbGQkbXlJbnRlckZhY2UsIHN0YXRlLCBtZXNzYWdlLCB2YWx1ZTsKICAgICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlNSQoX2NvbnRleHQ1KSB7CiAgICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0NS5wcmV2ID0gX2NvbnRleHQ1Lm5leHQpIHsKICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhfdGhpczguYWRkRWRpdEZvcm0udHlwZSwgJ3R5cGXnmoTlgLwnKTsKICAgICAgICAgICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDUubmV4dCA9IDU7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgX3RoaXM4LiRtZXNzYWdlLndhcm5pbmcoIlx1NjcwOSIuY29uY2F0KE9iamVjdC5rZXlzKG9iamVjdCkubGVuZ3RoLCAiXHU0RTJBXHU1QjU3XHU2QkI1XHU2NzJBXHU5MDFBXHU4RkM3XHU2ODIxXHU5QThDXHVGRjBDXHU4QkY3XHU2QjYzXHU3ODZFXHU1ODZCXHU1MTk5XHU4ODY4XHU1MzU1XHU1MTg1XHU1QkI5XHUzMDAyIikpOwogICAgICAgICAgICAgICAgX2NvbnRleHQ1Lm5leHQgPSAyMTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICAgIF90aGlzOC5zYXZlTG9hZGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICBkYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfdGhpczguYWRkRWRpdEZvcm0pKTsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEsICctLS0tLS0tLS0tLS0tLScpOwogICAgICAgICAgICAgICAgZGF0YS5wZWdWYWwgPSAnaycgKyBkYXRhLnBlZyArICcrJyArIGRhdGEucGVnOwogICAgICAgICAgICAgICAgbXlJbnRlckZhY2UgPSBfdGhpczguaWQgPyB0YWJsZUVkaXQgOiB0YWJsZUFkZDsKICAgICAgICAgICAgICAgIF9jb250ZXh0NS5wcmV2ID0gMTA7CiAgICAgICAgICAgICAgICBfY29udGV4dDUubmV4dCA9IDEzOwogICAgICAgICAgICAgICAgcmV0dXJuIG15SW50ZXJGYWNlKF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgZGF0YSksIGRhdGEucm9hZCkpOwogICAgICAgICAgICAgIGNhc2UgMTM6CiAgICAgICAgICAgICAgICBfeWllbGQkbXlJbnRlckZhY2UgPSBfY29udGV4dDUuc2VudDsKICAgICAgICAgICAgICAgIHN0YXRlID0gX3lpZWxkJG15SW50ZXJGYWNlLnN0YXRlOwogICAgICAgICAgICAgICAgbWVzc2FnZSA9IF95aWVsZCRteUludGVyRmFjZS5tZXNzYWdlOwogICAgICAgICAgICAgICAgdmFsdWUgPSBfeWllbGQkbXlJbnRlckZhY2UudmFsdWU7CiAgICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IF90aGlzOC5pZCA/ICfnvJbovpEnIDogJ+aWsOWinic7CiAgICAgICAgICAgICAgICAgIF90aGlzOC4kbWVzc2FnZS5zdWNjZXNzKCJcdTY1NTFcdTYzRjRcdTcwQjkiLmNvbmNhdChtZXNzYWdlLCAiXHU2MjEwXHU1MjlGIikpOwogICAgICAgICAgICAgICAgICBQdWJTdWIucHVibGlzaCgnVGFibGVQYWdlJywgewogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdhZGQnCiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAvLyDmiYvliqjlsIYgb3JnTmFtZSDmt7vliqDliLDov5Tlm57nmoTmlbDmja7kuK0KICAgICAgICAgICAgICAgICAgZGF0YS5yb2FkTmFtZSA9IF90aGlzOC5hZGRFZGl0Rm9ybS5yb2FkTmFtZTsKICAgICAgICAgICAgICAgICAgX3RoaXM4LmNoYW5nZVBhZ2UoJ1RhYmxlUGFnZScsIF90aGlzOC5pZCA/ICdlZGl0JyA6ICdhZGQnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBjYXNlIDE4OgogICAgICAgICAgICAgICAgX2NvbnRleHQ1LnByZXYgPSAxODsKICAgICAgICAgICAgICAgIF90aGlzOC5zYXZlTG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NS5maW5pc2goMTgpOwogICAgICAgICAgICAgIGNhc2UgMjE6CiAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDUuc3RvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBfY2FsbGVlNSwgbnVsbCwgW1sxMCwsIDE4LCAyMV1dKTsKICAgICAgICB9KSk7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChfeCwgX3gyKSB7CiAgICAgICAgICByZXR1cm4gX3JlZjIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICB9KCkpOwogICAgfSwKICAgIC8vIOaUueWPmOmhtemdogogICAgY2hhbmdlUGFnZTogZnVuY3Rpb24gY2hhbmdlUGFnZSgpIHsKICAgICAgdmFyIHBhZ2VOYW1lID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAnJzsKICAgICAgdmFyIHR5cGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6ICcnOwogICAgICBpZiAoIXBhZ2VOYW1lKSByZXR1cm47CiAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZVBhZ2UnLCBwYWdlTmFtZSwgZnVuY3Rpb24gKF8pIHsKICAgICAgICBQdWJTdWIucHVibGlzaChwYWdlTmFtZSwgewogICAgICAgICAgdHlwZTogdHlwZQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0KICB9LAogIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7CiAgICAvLyDlnKjnu4Tku7bplIDmr4HkuYvliY0g5riF6Zmk6K6i6ZiF5raI5oGvCiAgICBQdWJTdWIudW5zdWJzY3JpYmUodGhpcy5wdWJTdWIpOwogIH0KfTs="},null]}