{"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\\rescuePersonnelMgmt\\components\\EditAddPage\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\infoMgmtPatrolsRescues\\rescuePersonnelMgmt\\components\\EditAddPage\\index.vue","mtime":1741723721200},{"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:aW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS94Y2p5LWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzLmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKdmFyIF9leGNsdWRlZCA9IFsicG9zdCJdLAogIF9leGNsdWRlZDIgPSBbImFjY291bnQiLCAidGVsIiwgIm91dENvbXBhbnlOYW1lIiwgIm91dENvbXBhbnlJZCIsICJ0ZWFtSWQiXTsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZXJyb3IuY2F1c2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50ZXN0LmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBQdWJTdWIgZnJvbSAncHVic3ViLWpzJzsKaW1wb3J0IHsgdGFibGVBZGQsIHRhYmxlRGV0YWlsLCB0YWJsZUVkaXQgfSBmcm9tICdAL2FwaS9wYXRyb2xBbmRSZXNjdWUvaW5mb01nbXRQYXRyb2xzUmVzY3Vlcy9wYXRyb2xBbmRSZXNjdWVQZXJzb25uZWxNZ210JzsKaW1wb3J0IHsgZ2V0Q2FzY2FkZURpY3RCeUNvZGVFdmVudCwgZ2V0RGljdGlvbmFyeUJ5Q29kZSB9IGZyb20gJ0AvdXRpbHMvZGljdGlvbmFyeSc7CmltcG9ydCB7IG9yZ1RyZWUgfSBmcm9tICdAL2FwaS9zeXN0ZW1JbnRlcmZhY2UnOwppbXBvcnQgeyB0YWJsZURhdGEgYXMgdGVhbURhdGEgfSBmcm9tICdAL2FwaS9wYXRyb2xBbmRSZXNjdWUvaW5mb01nbXRQYXRyb2xzUmVzY3Vlcy9wYXRyb2xBbmRSZXNjdWVUZWFtc01nbXQnOwppbXBvcnQgeyB0YWJsZURhdGEgYXMgY29tcGFueURhdGEgfSBmcm9tICdAL2FwaS9wYXRyb2xBbmRSZXNjdWUvaW5mb01nbXRQYXRyb2xzUmVzY3Vlcy9vdXRzb3VyY2luZ0NvbXBhbnlNZ210JzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdFZGl0QWRkUGFnZScsCiAgY29tcG9uZW50czoge30sCiAgcHJvcHM6IHsKICAgIGNvbXBvbmVudE5hbWU6IHsKICAgICAgZGVmYXVsdDogJ1RhYmxlUGFnZScsCiAgICAgIHR5cGU6IFN0cmluZwogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHZhciB2YWxpZGF0ZUFjY291bnRUZWwgPSBmdW5jdGlvbiB2YWxpZGF0ZUFjY291bnRUZWwodGV4dCwgdmFsdWUsIGNhbGxiYWNrKSB7CiAgICAgIHZhciBwaG9uZVJlZ2V4ID0gL14xWzMtOV1cZHs5fSQvOwogICAgICBpZiAocGhvbmVSZWdleC50ZXN0KHZhbHVlKSkgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCIiLmNvbmNhdCh0ZXh0LCAiXHU5NzAwXHU0RTNBMTFcdTRGNERcdTYyNEJcdTY3M0FcdTUzRjciKSkpOwogICAgICB9CiAgICB9OwogICAgdmFyIHZhbGlkYXRlQ29kZSA9IGZ1bmN0aW9uIHZhbGlkYXRlQ29kZShfLCB2YWx1ZSwgY2FsbGJhY2spIHsKICAgICAgdmFyIGlkQ2FyZFJlZ2V4ID0gL14oPzpcZHsxNX18XGR7MTd9W1xkWHhdKSQvOwogICAgICBpZiAoaWRDYXJkUmVnZXgudGVzdCh2YWx1ZSkpIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcign6K+36L6T5YWl5ZCI5rOV55qE6Lqr5Lu96K+B5Y+3JykpOwogICAgICB9CiAgICB9OwogICAgcmV0dXJuIHsKICAgICAgZmlsdGVyZWREd2x4OiBbXSwKICAgICAgLy8g55So5LqO5a2Y5YKo6L+H5ruk5ZCO55qE5a2X5YW45YC8CiAgICAgIGFkZEVkaXRGb3JtOiB7CiAgICAgICAgdHlwZTogJzAnLAogICAgICAgIHBvc3Q6ICcnLAogICAgICAgIGlzT3V0OiAnMScsCiAgICAgICAgdGVhbUlkOiAnJywKICAgICAgICB0ZWFtTmFtZTogJycsCiAgICAgICAgcm9hZEZ1bGxJZDogJycKICAgICAgfSwKICAgICAgYWRkRWRpdFJ1bGVzOiB7CiAgICAgICAgYWNjb3VudDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+i0puWPt+WQjeS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9LCB7CiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcihfLCB2YWwsIGNiKSB7CiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUFjY291bnRUZWwoJ+i0puWPt+WQjScsIHZhbCwgY2IpOwogICAgICAgICAgfSwKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIHRlbDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+aJi+acuuWPt+S4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9LCB7CiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgICAgICB2YWxpZGF0b3I6IGZ1bmN0aW9uIHZhbGlkYXRvcihfLCB2YWwsIGNiKSB7CiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUFjY291bnRUZWwoJ+aJi+acuuWPtycsIHZhbCwgY2IpOwogICAgICAgICAgfSwKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIGNvZGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfouqvku73or4Hlj7fkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfSwgewogICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0ZUNvZGUsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICBuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6Zif5ZGY5aeT5ZCN5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIG91dENvbXBhbnlJZDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+WkluWMheWFrOWPuOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2NoYW5nZScsICdibHVyJ10KICAgICAgICB9XSwKICAgICAgICB0eXBlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5Lq65ZGY57G75Z6L5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXQogICAgICAgIH1dLAogICAgICAgIHBvc3Q6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfkurrlkZjogYzliqHkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddCiAgICAgICAgfV0sCiAgICAgICAgdGVhbUlkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn5omA5bGe6Zif5LyN5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6IFsnYmx1ciddCiAgICAgICAgfV0sCiAgICAgICAgaXNPdXQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfmmK/lkKblpJbmtL7kurrlkZjkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnXQogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIHNhdmVMb2FkaW5nOiBmYWxzZSwKICAgICAgLy8g5LiK5LygbG9hZGluZwogICAgICBpZDogJycsCiAgICAgIC8vIGlk5qCH6K+G56ymCiAgICAgIHB1YlN1YjogbnVsbCwKICAgICAgb3V0Q29tcGFueURpYWxvZzogZmFsc2UsCiAgICAgIC8vIOaYr+WQpuWxleekuumAieaLqeWkluWMheWFrOWPuOmAieaLqQogICAgICB0cmVlRGF0YTogW10sCiAgICAgIC8vIOe7hOe7h+agkQogICAgICB0ZWFtT3B0aW9uczogW10sCiAgICAgIGNvbXBhbnlPcHRpb25zOiBbXQogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7CiAgICBwb3N0T3B0OiBmdW5jdGlvbiBwb3N0T3B0KCkgewogICAgICAvLyDojrflj5bnuqfogZTlrZflhbgKICAgICAgcmV0dXJuIGdldENhc2NhZGVEaWN0QnlDb2RlRXZlbnQoJ3J5bHgteGNqeXJ5JywgdGhpcy5hZGRFZGl0Rm9ybS50eXBlKTsKICAgIH0KICB9LAogIHdhdGNoOiB7CiAgICBjb21wb25lbnROYW1lOiBmdW5jdGlvbiBjb21wb25lbnROYW1lKG5ld1ZhbCkgewogICAgICBpZiAobmV3VmFsID09PSB0aGlzLiRvcHRpb25zLm5hbWUpIHsKICAgICAgICB0aGlzLm9wZW5QYWdlKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5jbG9zZVBhZ2UoKTsKICAgICAgfQogICAgfQogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIC8vIHRoaXMuZ2V0T3JnVHJlZURhdGEoKQogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICB0aGlzLnRyZWVQdWJTdWIgPSBQdWJTdWIuc3Vic2NyaWJlKCdUcmVlSXRlbVNlbGVjdGVkJywgZnVuY3Rpb24gKF8sIGRhdGEpIHsKICAgICAgX3RoaXMuYWRkRWRpdEZvcm0udGVhbUlkID0gZGF0YS5pZDsKICAgICAgX3RoaXMuYWRkRWRpdEZvcm0udGVhbU5hbWUgPSBkYXRhLm5hbWU7CiAgICAgIF90aGlzLmFkZEVkaXRGb3JtLnJvYWRGdWxsSWQgPSBkYXRhLnBhdGg7CiAgICB9KTsKICAgIHRoaXMucHViU3ViID0gUHViU3ViLnN1YnNjcmliZSgnRWRpdEFkZFBhZ2UnLCBmdW5jdGlvbiAoXywgZGF0YSkgewogICAgICBpZiAoZGF0YS50cmVlSXRlbSkgewogICAgICAgIGNvbnNvbGUubG9nKGRhdGEudHJlZUl0ZW0sICc1NTU1NTU1NTUnKTsKICAgICAgICBfdGhpcy5hZGRFZGl0Rm9ybS50ZWFtTmFtZSA9IGRhdGEudHJlZUl0ZW0ubmFtZTsKICAgICAgICBfdGhpcy5hZGRFZGl0Rm9ybS50ZWFtSWQgPSBkYXRhLnRyZWVJdGVtLmlkOwoKICAgICAgICAvLyB0aGlzLmFkZEVkaXRGb3JtLnJvYWRGdWxsSWQgPSBkYXRhPy5wYXRoIHx8ICcnCiAgICAgIH0KICAgICAgaWYgKGRhdGEuaWQpIHsKICAgICAgICBfdGhpcy5pZCA9IGRhdGEuaWQ7CiAgICAgICAgX3RoaXMuZ2V0RGV0YWlsKGRhdGEuaWQpOwogICAgICB9IGVsc2UgewogICAgICAgIHZhciBfZGF0YSR0cmVlSXRlbSwgX2RhdGEkdHJlZUl0ZW0yOwogICAgICAgIC8vIGNvbnN0IHtpZDogdGVhbUlkID0gJycsIHBhdGg6IHRlYW1GdWxsSWQgPSAnJ30gPSBkYXRhLnRyZWVJdGVtIHx8IHt9CiAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0gPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIF90aGlzLmFkZEVkaXRGb3JtKSwge30sIHsKICAgICAgICAgIC8vIHRlYW1OYW1lOiBkYXRhPy50ZWFtTmFtZSB8fCAnJyAvLyDnoa7kv53mlrDlop7ml7YgdGVhbU5hbWUg6KKr5Yid5aeL5YyWCiAgICAgICAgICB0ZWFtSWQ6IGRhdGEudGVhbUlkIHx8ICgoX2RhdGEkdHJlZUl0ZW0gPSBkYXRhLnRyZWVJdGVtKSA9PT0gbnVsbCB8fCBfZGF0YSR0cmVlSXRlbSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2RhdGEkdHJlZUl0ZW0uaWQpIHx8ICcnLAogICAgICAgICAgLy8g56Gu5L+dIHRlYW1JZCDooqvmraPnoa7otYvlgLwKICAgICAgICAgIHRlYW1OYW1lOiBkYXRhLnRlYW1OYW1lIHx8ICgoX2RhdGEkdHJlZUl0ZW0yID0gZGF0YS50cmVlSXRlbSkgPT09IG51bGwgfHwgX2RhdGEkdHJlZUl0ZW0yID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZGF0YSR0cmVlSXRlbTIubmFtZSkgfHwgJycgLy8g56Gu5L+dIHRlYW1OYW1lIOiiq+ato+ehrui1i+WAvAogICAgICAgIH0pOwogICAgICB9CiAgICB9KTsKICAgIHRoaXMuZ2V0VGVhbURhdGEoKTsKICAgIHRoaXMuZ2V0Q29tcGFueWF0YSgpOwogIH0sCiAgbWV0aG9kczogewogICAgZmlsdGVyRHdseDogZnVuY3Rpb24gZmlsdGVyRHdseCgpIHsKICAgICAgdmFyIGR3bHggPSB0aGlzLmdldERpY3Rpb25hcnlCeUNvZGUoJ3J5bHgteGNqeXJ5Jyk7CiAgICAgIGlmIChkd2x4ICYmIGR3bHgubGVuZ3RoID4gMCkgewogICAgICAgIHRoaXMuZmlsdGVyZWREd2x4ID0gW2R3bHhbMV1dOyAvLyDlj6rkv53nlZnnrKzkuIDkuKrlgLwKICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnR5cGUgPSBkd2x4WzFdLnZhbHVlOyAvLyDorr7nva7pu5jorqTlgLwKICAgICAgfQogICAgfSwKICAgIGdldERpY3Rpb25hcnlCeUNvZGU6IGdldERpY3Rpb25hcnlCeUNvZGUsCiAgICAvL+WkluWMheWFrOWPuOafpeivogogICAgZ2V0Q29tcGFueWF0YTogZnVuY3Rpb24gZ2V0Q29tcGFueWF0YSgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICB2YXIgX3lpZWxkJGNvbXBhbnlEYXRhLCBfeWllbGQkY29tcGFueURhdGEkcm8sIHJvd3M7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhbnlEYXRhKCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfeWllbGQkY29tcGFueURhdGEgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgIF95aWVsZCRjb21wYW55RGF0YSRybyA9IF95aWVsZCRjb21wYW55RGF0YS5yb3dzOwogICAgICAgICAgICAgIHJvd3MgPSBfeWllbGQkY29tcGFueURhdGEkcm8gPT09IHZvaWQgMCA/IFtdIDogX3lpZWxkJGNvbXBhbnlEYXRhJHJvOwogICAgICAgICAgICAgIF90aGlzMi5jb21wYW55T3B0aW9ucyA9IHJvd3M7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDpgJrov4fot6/mrrXkv6Hmga/ojrflj5blt6Hmn6XmlZHmj7TpmJ/kvI3kv6Hmga8KICAgIGdldFRlYW1EYXRhOiBmdW5jdGlvbiBnZXRUZWFtRGF0YSgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgdmFyIF95aWVsZCR0ZWFtRGF0YSwgX3lpZWxkJHRlYW1EYXRhJHJvd3MsIHJvd3M7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gdGVhbURhdGEoKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF95aWVsZCR0ZWFtRGF0YSA9IF9jb250ZXh0Mi5zZW50OwogICAgICAgICAgICAgIF95aWVsZCR0ZWFtRGF0YSRyb3dzID0gX3lpZWxkJHRlYW1EYXRhLnJvd3M7CiAgICAgICAgICAgICAgcm93cyA9IF95aWVsZCR0ZWFtRGF0YSRyb3dzID09PSB2b2lkIDAgPyBbXSA6IF95aWVsZCR0ZWFtRGF0YSRyb3dzOwogICAgICAgICAgICAgIF90aGlzMy50ZWFtT3B0aW9ucyA9IHJvd3M7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMik7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOaJk+W8gOmhtemdouaJp+ihjAogICAgb3BlblBhZ2U6IGZ1bmN0aW9uIG9wZW5QYWdlKCkgewogICAgICB0aGlzLnR5cGVDaGFuZ2UoKTsKICAgICAgdGhpcy5maWx0ZXJEd2x4KCk7IC8vIOi/h+a7pOWtl+WFuOWAvAogICAgfSwKICAgIC8vIOWFs+mXremhtemdouaJp+ihjAogICAgY2xvc2VQYWdlOiBmdW5jdGlvbiBjbG9zZVBhZ2UoKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICB2YXIgcHViU3ViID0gdGhpcy5wdWJTdWIsCiAgICAgICAgYWRkRWRpdFJ1bGVzID0gdGhpcy5hZGRFZGl0UnVsZXMsCiAgICAgICAgdHJlZURhdGEgPSB0aGlzLnRyZWVEYXRhLAogICAgICAgIHRlYW1PcHRpb25zID0gdGhpcy50ZWFtT3B0aW9ucywKICAgICAgICBjb21wYW55T3B0aW9ucyA9IHRoaXMuY29tcGFueU9wdGlvbnM7CiAgICAgIC8vIOmHjee9rue7hOS7tuaVsOaNrgogICAgICBPYmplY3QuYXNzaWduKHRoaXMuJGRhdGEsIHRoaXMuJG9wdGlvbnMuZGF0YS5jYWxsKHRoaXMpLCB7CiAgICAgICAgcHViU3ViOiBwdWJTdWIsCiAgICAgICAgYWRkRWRpdFJ1bGVzOiBhZGRFZGl0UnVsZXMsCiAgICAgICAgdHJlZURhdGE6IHRyZWVEYXRhLAogICAgICAgIHRlYW1PcHRpb25zOiB0ZWFtT3B0aW9ucywKICAgICAgICBjb21wYW55T3B0aW9uczogY29tcGFueU9wdGlvbnMKICAgICAgfSk7CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uIChfKSB7CiAgICAgICAgX3RoaXM0LiRyZWZzLmFkZEVkaXRGb3JtLiRlbC5zY3JvbGxUb3AgPSAwOwogICAgICAgIF90aGlzNC4kcmVmcy5hZGRFZGl0Rm9ybS5jbGVhclZhbGlkYXRlKCk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOiOt+WPluivpuaDhQogICAgZ2V0RGV0YWlsOiBmdW5jdGlvbiBnZXREZXRhaWwoaWQpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTMoKSB7CiAgICAgICAgdmFyIF95aWVsZCR0YWJsZURldGFpbCwgX3lpZWxkJHRhYmxlRGV0YWlsJHBvLCBwb3N0LCBhZGRFZGl0Rm9ybSwgb2xkUG9zdDsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTMkKF9jb250ZXh0MykgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQzLnByZXYgPSBfY29udGV4dDMubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAyOwogICAgICAgICAgICAgIHJldHVybiB0YWJsZURldGFpbChpZCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfeWllbGQkdGFibGVEZXRhaWwgPSBfY29udGV4dDMuc2VudDsKICAgICAgICAgICAgICBfeWllbGQkdGFibGVEZXRhaWwkcG8gPSBfeWllbGQkdGFibGVEZXRhaWwucG9zdDsKICAgICAgICAgICAgICBwb3N0ID0gX3lpZWxkJHRhYmxlRGV0YWlsJHBvID09PSB2b2lkIDAgPyAnJyA6IF95aWVsZCR0YWJsZURldGFpbCRwbzsKICAgICAgICAgICAgICBhZGRFZGl0Rm9ybSA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfeWllbGQkdGFibGVEZXRhaWwsIF9leGNsdWRlZCk7CiAgICAgICAgICAgICAgb2xkUG9zdCA9IHBvc3Q7IC8vIOS/neaMgeivpuaDheWOn+Wni3Bvc3TlhoXlrrnvvIzpgb/lhY3lm6DooajljZXotYvlgLzlkI7op6blj5F0eXBlQ2hhbmdl5LqL5Lu26ICM5Lii5aSxcG9zdOeahOWAvAogICAgICAgICAgICAgIF90aGlzNS5hZGRFZGl0Rm9ybSA9IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgYWRkRWRpdEZvcm0pLCB7fSwgewogICAgICAgICAgICAgICAgcG9zdDogcG9zdCwKICAgICAgICAgICAgICAgIHRlYW1OYW1lOiBhZGRFZGl0Rm9ybS50ZWFtTmFtZSB8fCBfdGhpczUuYWRkRWRpdEZvcm0udGVhbU5hbWUgLy8g56Gu5L+dIHRlYW1OYW1lIOiiq+i1i+WAvAogICAgICAgICAgICAgICAgLy8gb3V0Q29tcGFueTogeyBvdXRDb21wYW55TmFtZSwgb3V0Q29tcGFueUlkIH0KICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICBfdGhpczUuYWRkRWRpdEZvcm0ucG9zdCA9IG9sZFBvc3Q7CiAgICAgICAgICAgIGNhc2UgOToKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMyk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOiOt+WPluWFrOWPuOagkQogICAgZ2V0T3JnVHJlZURhdGE6IGZ1bmN0aW9uIGdldE9yZ1RyZWVEYXRhKCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlNCgpIHsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTQkKF9jb250ZXh0NCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQ0LnByZXYgPSBfY29udGV4dDQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSAyOwogICAgICAgICAgICAgIHJldHVybiBvcmdUcmVlKCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfdGhpczYudHJlZURhdGEgPSBfY29udGV4dDQuc2VudDsKICAgICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWU0KTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g54K55L2N57G75Z6L5Y+R55Sf5Y+Y5YyWCiAgICB0eXBlQ2hhbmdlOiBmdW5jdGlvbiB0eXBlQ2hhbmdlKCkgewogICAgICB2YXIgX3RoaXMkcG9zdE9wdCQ7CiAgICAgIC8vIOW9k+ihqOWNleS4reeCueS9jeexu+Wei+WPkeeUn+aUueWPmOeahOaXtuWAme+8jOi1i+WAvOWGheWuueWtl+WFuOS4reeahOesrOS4gOmhueWtl+WFuOWAvOe7meihqOWNleS4reWGheWuueWtl+autQogICAgICB0aGlzLmFkZEVkaXRGb3JtLnBvc3QgPSAoKF90aGlzJHBvc3RPcHQkID0gdGhpcy5wb3N0T3B0WzBdKSA9PT0gbnVsbCB8fCBfdGhpcyRwb3N0T3B0JCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkcG9zdE9wdCQudmFsdWUpIHx8ICcnOwogICAgfSwKICAgIC8vIOW3oeafpemYn+S8jeWIh+aNogogICAgdGVhbUlkQ2hhbmdlOiBmdW5jdGlvbiB0ZWFtSWRDaGFuZ2UoKSB7CiAgICAgIHZhciBfdGhpcyQkcmVmcyRjYXNjYWRlcjsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS50ZWFtRnVsbElkID0gKChfdGhpcyQkcmVmcyRjYXNjYWRlciA9IHRoaXMuJHJlZnMuY2FzY2FkZXIpID09PSBudWxsIHx8IF90aGlzJCRyZWZzJGNhc2NhZGVyID09PSB2b2lkIDAgfHwgKF90aGlzJCRyZWZzJGNhc2NhZGVyID0gX3RoaXMkJHJlZnMkY2FzY2FkZXIuZ2V0Q2hlY2tlZE5vZGVzKClbMF0pID09PSBudWxsIHx8IF90aGlzJCRyZWZzJGNhc2NhZGVyID09PSB2b2lkIDAgfHwgKF90aGlzJCRyZWZzJGNhc2NhZGVyID0gX3RoaXMkJHJlZnMkY2FzY2FkZXIuZGF0YSkgPT09IG51bGwgfHwgX3RoaXMkJHJlZnMkY2FzY2FkZXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJCRyZWZzJGNhc2NhZGVyLnBhdGgpIHx8ICcnOwogICAgfSwKICAgIC8vIOS/neWtmAogICAgaGFuZGxlU2F2ZTogZnVuY3Rpb24gaGFuZGxlU2F2ZSgpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMuYWRkRWRpdEZvcm0udmFsaWRhdGUoLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX3JlZiA9IF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlNSh2YWxpZCwgb2JqZWN0KSB7CiAgICAgICAgICB2YXIgbXlJbnRlckZhY2UsIF90aGlzNyRhZGRFZGl0Rm9ybSwgX3RoaXM3JGFkZEVkaXRGb3JtJGFjLCBhY2NvdW50LCBfdGhpczckYWRkRWRpdEZvcm0kdGUsIHRlbCwgX3RoaXM3JGFkZEVkaXRGb3JtJG91LCBvdXRDb21wYW55TmFtZSwgX3RoaXM3JGFkZEVkaXRGb3JtJG91Miwgb3V0Q29tcGFueUlkLCBfdGhpczckYWRkRWRpdEZvcm0kdGUyLCB0ZWFtSWQsIGFkZEVkaXRGb3JtLCBjb21wYW55SW5mbywgdGVhbUluZm8sIF95aWVsZCRteUludGVyRmFjZSwgc3RhdGUsIG1lc3NhZ2U7CiAgICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTUkKF9jb250ZXh0NSkgewogICAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDUucHJldiA9IF9jb250ZXh0NS5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0NS5uZXh0ID0gNDsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBfdGhpczcuJG1lc3NhZ2Uud2FybmluZygiXHU2NzA5Ii5jb25jYXQoT2JqZWN0LmtleXMob2JqZWN0KS5sZW5ndGgsICJcdTRFMkFcdTVCNTdcdTZCQjVcdTY3MkFcdTkwMUFcdThGQzdcdTY4MjFcdTlBOENcdUZGMENcdThCRjdcdTZCNjNcdTc4NkVcdTU4NkJcdTUxOTlcdTg4NjhcdTUzNTVcdTUxODVcdTVCQjlcdTMwMDIiKSk7CiAgICAgICAgICAgICAgICBfY29udGV4dDUubmV4dCA9IDE5OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgX3RoaXM3LnNhdmVMb2FkaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgIG15SW50ZXJGYWNlID0gX3RoaXM3LmlkID8gdGFibGVFZGl0IDogdGFibGVBZGQ7CiAgICAgICAgICAgICAgICBfdGhpczckYWRkRWRpdEZvcm0gPSBfdGhpczcuYWRkRWRpdEZvcm0sIF90aGlzNyRhZGRFZGl0Rm9ybSRhYyA9IF90aGlzNyRhZGRFZGl0Rm9ybS5hY2NvdW50LCBhY2NvdW50ID0gX3RoaXM3JGFkZEVkaXRGb3JtJGFjID09PSB2b2lkIDAgPyAnJyA6IF90aGlzNyRhZGRFZGl0Rm9ybSRhYywgX3RoaXM3JGFkZEVkaXRGb3JtJHRlID0gX3RoaXM3JGFkZEVkaXRGb3JtLnRlbCwgdGVsID0gX3RoaXM3JGFkZEVkaXRGb3JtJHRlID09PSB2b2lkIDAgPyAnJyA6IF90aGlzNyRhZGRFZGl0Rm9ybSR0ZSwgX3RoaXM3JGFkZEVkaXRGb3JtJG91ID0gX3RoaXM3JGFkZEVkaXRGb3JtLm91dENvbXBhbnlOYW1lLCBvdXRDb21wYW55TmFtZSA9IF90aGlzNyRhZGRFZGl0Rm9ybSRvdSA9PT0gdm9pZCAwID8gJycgOiBfdGhpczckYWRkRWRpdEZvcm0kb3UsIF90aGlzNyRhZGRFZGl0Rm9ybSRvdTIgPSBfdGhpczckYWRkRWRpdEZvcm0ub3V0Q29tcGFueUlkLCBvdXRDb21wYW55SWQgPSBfdGhpczckYWRkRWRpdEZvcm0kb3UyID09PSB2b2lkIDAgPyAnJyA6IF90aGlzNyRhZGRFZGl0Rm9ybSRvdTIsIF90aGlzNyRhZGRFZGl0Rm9ybSR0ZTIgPSBfdGhpczckYWRkRWRpdEZvcm0udGVhbUlkLCB0ZWFtSWQgPSBfdGhpczckYWRkRWRpdEZvcm0kdGUyID09PSB2b2lkIDAgPyAnJyA6IF90aGlzNyRhZGRFZGl0Rm9ybSR0ZTIsIGFkZEVkaXRGb3JtID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF90aGlzNyRhZGRFZGl0Rm9ybSwgX2V4Y2x1ZGVkMik7CiAgICAgICAgICAgICAgICBjb21wYW55SW5mbyA9IF90aGlzNy5jb21wYW55T3B0aW9ucy5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uaWQgPT09IG91dENvbXBhbnlJZDsKICAgICAgICAgICAgICAgIH0pWzBdOwogICAgICAgICAgICAgICAgdGVhbUluZm8gPSBfdGhpczcudGVhbU9wdGlvbnMuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmlkID09PSB0ZWFtSWQ7CiAgICAgICAgICAgICAgICB9KVswXTsKICAgICAgICAgICAgICAgIF9jb250ZXh0NS5wcmV2ID0gOTsKICAgICAgICAgICAgICAgIF9jb250ZXh0NS5uZXh0ID0gMTI7CiAgICAgICAgICAgICAgICByZXR1cm4gbXlJbnRlckZhY2UoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBhZGRFZGl0Rm9ybSksIHt9LCB7CiAgICAgICAgICAgICAgICAgIHRlbDogdGVsLAogICAgICAgICAgICAgICAgICBhY2NvdW50OiBhY2NvdW50LAogICAgICAgICAgICAgICAgICAvLyBvdXRDb21wYW55TmFtZTogY29tcGFueUluZm8ubmFtZSwKICAgICAgICAgICAgICAgICAgb3V0Q29tcGFueUlkOiBvdXRDb21wYW55SWQsCiAgICAgICAgICAgICAgICAgIHRlYW1JZDogdGVhbUlkCiAgICAgICAgICAgICAgICAgIC8vIHRlYW1OYW1lOiB0ZWFtSW5mby5uYW1lCiAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgICAgIF95aWVsZCRteUludGVyRmFjZSA9IF9jb250ZXh0NS5zZW50OwogICAgICAgICAgICAgICAgc3RhdGUgPSBfeWllbGQkbXlJbnRlckZhY2Uuc3RhdGU7CiAgICAgICAgICAgICAgICBtZXNzYWdlID0gX3lpZWxkJG15SW50ZXJGYWNlLm1lc3NhZ2U7CiAgICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IF90aGlzNy5pZCA/ICfnvJbovpEnIDogJ+aWsOWinic7CiAgICAgICAgICAgICAgICAgIF90aGlzNy4kbWVzc2FnZS5zdWNjZXNzKCJcdTY1NTFcdTYzRjRcdTRFQkFcdTU0NTgiLmNvbmNhdChtZXNzYWdlLCAiXHU2MjEwXHU1MjlGIikpOwogICAgICAgICAgICAgICAgICBfdGhpczcuY2hhbmdlUGFnZSgnVGFibGVQYWdlJywgX3RoaXM3LmlkID8gJ2VkaXQnIDogJ2FkZCcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGNhc2UgMTY6CiAgICAgICAgICAgICAgICBfY29udGV4dDUucHJldiA9IDE2OwogICAgICAgICAgICAgICAgX3RoaXM3LnNhdmVMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ1LmZpbmlzaCgxNik7CiAgICAgICAgICAgICAgY2FzZSAxOToKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NS5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWU1LCBudWxsLCBbWzksLCAxNiwgMTldXSk7CiAgICAgICAgfSkpOwogICAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gsIF94MikgewogICAgICAgICAgcmV0dXJuIF9yZWYuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICB9KCkpOwogICAgfSwKICAgIC8vIOWxleekuuW8ueWxggogICAgc2hvd0RpYWxvZzogZnVuY3Rpb24gc2hvd0RpYWxvZyhkaWFsb2dOYW1lKSB7CiAgICAgIGlmICghZGlhbG9nTmFtZSkgcmV0dXJuOwogICAgICB0aGlzW2RpYWxvZ05hbWUgKyAnRGlhbG9nJ10gPSB0cnVlOwogICAgfSwKICAgIC8vIOaUueWPmOmhtemdogogICAgY2hhbmdlUGFnZTogZnVuY3Rpb24gY2hhbmdlUGFnZSgpIHsKICAgICAgdmFyIHBhZ2VOYW1lID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAnJzsKICAgICAgdmFyIHR5cGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6ICcnOwogICAgICBpZiAoIXBhZ2VOYW1lKSByZXR1cm47CiAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZVBhZ2UnLCBwYWdlTmFtZSwgZnVuY3Rpb24gKF8pIHsKICAgICAgICBQdWJTdWIucHVibGlzaChwYWdlTmFtZSwgewogICAgICAgICAgdHlwZTogdHlwZQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0KICB9LAogIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7CiAgICBQdWJTdWIudW5zdWJzY3JpYmUodGhpcy50cmVlUHViU3ViKTsgLy8g5paw5aKe5Y+W5raI6K6i6ZiFCiAgICAvLyDlnKjnu4Tku7bplIDmr4HkuYvliY0g5riF6Zmk6K6i6ZiF5raI5oGvCiAgICBQdWJTdWIudW5zdWJzY3JpYmUodGhpcy5wdWJTdWIpOwogIH0KfTs="},null]}