6c8cd7d29581752690da219300345d8a.json 21 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\thread-loader\\dist\\cjs.js!D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js!D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\system\\onlineUpgrade\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\system\\onlineUpgrade\\index.vue","mtime":1761614939077},{"path":"D:\\front\\item\\zyAdmin\\babel.config.js","mtime":1761614925168},{"path":"D:\\front\\item\\zyAdmin\\.babelrc","mtime":1761614925165},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1761614937017},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJEOi9mcm9udC9pdGVtL3p5QWRtaW4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5LmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvciBmcm9tICJEOi9mcm9udC9pdGVtL3p5QWRtaW4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2Zyb250L2l0ZW0venlBZG1pbi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmNvbmNhdC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC50by1qc29uLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmRlbGV0ZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwtc2VhcmNoLXBhcmFtcy5oYXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLXNlYXJjaC1wYXJhbXMuc2l6ZS5qcyI7CmltcG9ydCB7IHVwZ3JhZGVMaXN0QXBpLCB1cGdyYWRlUHJvZ3Jlc3NBcGksIHVwZ3JhZGVBZ3JlZW1lbnRBcGksIHVwZ3JhZGVTdGF0dXNBcGksIHVwZ3JhZGVMb2dMaXN0QXBpLCB1cGdyYWRlYWJsZUxpc3RBcGksIGRvd25sb2FkQXBpIH0gZnJvbSAnQC9hcGkvc3lzdGVtJzsKaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJzsKaW1wb3J0IHsgQWNjb3VudExvZ291dCB9IGZyb20gJ0AvYXBpL2FjY291bnQnOwppbXBvcnQgeyBnZXRDb29raWVzLCByZW1vdmVDb29raWVzIH0gZnJvbSAnQC9saWJzL3V0aWwnOwppbXBvcnQgU2V0dGluZyBmcm9tICdAL3NldHRpbmcnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ3N5c3RlbVVwZ3JhZGVjbGllbnQnLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBQYW5lbDogJzEnLAogICAgICBjdXJyZW50VGFiOiAnMScsCiAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSwKICAgICAgdXBkYXRlTW9kYWw6IGZhbHNlLAogICAgICBtb2RhbF9sb2FkaW5nOiBmYWxzZSwKICAgICAgcGVyY2VudDogMCwKICAgICAgcGFyYW1zOiBbXSwKICAgICAgYXJyOiBbXSwKICAgICAgZHluYW1pYzogZmFsc2UsCiAgICAgIHN0YXR1czogZmFsc2UsCiAgICAgIHZlcnNpb246ICcnLAogICAgICBmb3JjZVZlcnNpb246ICcnLAogICAgICBoZWFkZXJMaXN0OiBbewogICAgICAgIGxhYmVsOiAn57O757uf5Y2H57qnJywKICAgICAgICB2YWx1ZTogMQogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICfljYfnuqforrDlvZUnLAogICAgICAgIHZhbHVlOiAyCiAgICAgIH1dLAogICAgICB1cGdyYWRlTGlzdDogW10sCiAgICAgIHVwZ3JhZGVMb2dMaXN0OiBbXSwKICAgICAgdXBncmFkZWFibGVMaXN0OiBbXSwKICAgICAgdXBncmFkZVByb2dyZXNzOiB7CiAgICAgICAgc3BlZWQ6IDAKICAgICAgfSwKICAgICAgdXBncmFkZUFncmVlbWVudDogW10sCiAgICAgIHVwZ3JhZGVTdGF0dXM6IHt9LAogICAgICBkb3dubG9hZFN0YXR1czogbnVsbCwKICAgICAgcGFnZTogMSwKICAgICAgbGltaXQ6IDE1LAogICAgICAvLyDlrprml7blmagKICAgICAgdGltZXI6IG51bGwsCiAgICAgIHBhcmFtc19rZXk6IHVuZGVmaW5lZCwKICAgICAgbmV3S2V5OiBudWxsLAogICAgICBzZXJ2aW9uU3RhdHVzOiBmYWxzZSwKICAgICAgY291bnQ6IDAKICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgLy8gdGhpcy5nZXRVcGdyYWRlTGlzdCgpOwogICAgLy8gdGhpcy5nZXRVcGdyYWRlTG9nTGlzdCgpOwogICAgLy8gdGhpcy5nZXR1cGdyYWRlYWJsZUxpc3QoKTsKICAgIC8vIGlmICh0aGlzLiRyb3V0ZS5wYXJhbXMuaXRlbXMpIHsKICAgIC8vICAgdGhpcy5nZXRVcGdyYWRlQWdyZWVtZW50KCk7CiAgICAvLyB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yKCkubShmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yKCkudyhmdW5jdGlvbiAoX2NvbnRleHQpIHsKICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5uKSB7CiAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgIF90aGlzLmdldFVwZ3JhZGVTdGF0dXMoKTsKICAgICAgICAgICAgX2NvbnRleHQubiA9IDE7CiAgICAgICAgICAgIHJldHVybiBfdGhpcy5nZXRVcGdyYWRlTGlzdCgpOwogICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICBfY29udGV4dC5uID0gMjsKICAgICAgICAgICAgcmV0dXJuIF90aGlzLmdldHVwZ3JhZGVhYmxlTGlzdCgpOwogICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICBpZiAoX3RoaXMuJHN0b3JlLnN0YXRlLnVwZ3JhZGUudG9nZ2xlU3RhdHVzKSB7CiAgICAgICAgICAgICAgX3RoaXMuc2VydmlvblN0YXR1cyA9IHRydWU7CiAgICAgICAgICAgICAgX3RoaXMuZ2V0VXBncmFkZUFncmVlbWVudCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIHRoaXMuY29tcGFyZSgpOwogICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYSgyKTsKICAgICAgICB9CiAgICAgIH0sIF9jYWxsZWUpOwogICAgfSkpKCk7CiAgfSwKICB3YXRjaDogewogICAgJ3VwZ3JhZGVQcm9ncmVzcy5zcGVlZCc6IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcihuZXdWYWwsIG9sZFZhbCkgewogICAgICAgIGlmIChuZXdWYWwgPT09ICcxMDAuMCcpIHsKICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICAvLyAndGhpcy5kb3dubG9hZFN0YXR1cyc6IHsKICAgIC8vICAgaGFuZGxlcihuZXdWYWwsIG9sZFZhbCkgewogICAgLy8gICAgIGlmIChuZXdWYWwgPSAnMjAwJykgewogICAgLy8gICAgICAgdGhpcy51cGRhdGVNb2RhbCA9IGZhbHNlOwogICAgLy8gICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTsKICAgIC8vICAgICB9CiAgICAvLyAgIH0KICAgIC8vIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIGhhbmRsZVJlYWNoQm90dG9tOiBmdW5jdGlvbiBoYW5kbGVSZWFjaEJvdHRvbSgpIHsKICAgICAgaWYgKHRoaXMuY291bnQgPT09IHRoaXMudXBncmFkZUxvZ0xpc3QubGVuZ3RoKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfmmoLml6Dmm7TlpJrljYfnuqforrDlvZUnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmdldFVwZ3JhZGVMb2dMaXN0KCk7CiAgICAgIH0KICAgIH0sCiAgICBoYW5kbGVDbGljazogZnVuY3Rpb24gaGFuZGxlQ2xpY2soKSB7CiAgICAgIHRoaXMucGFnZSA9IDE7CiAgICAgIGlmICh0aGlzLmN1cnJlbnRUYWIgPT0gMSkgewogICAgICAgIHRoaXMuZ2V0dXBncmFkZWFibGVMaXN0KCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy51cGdyYWRlTG9nTGlzdCA9IFtdOwogICAgICAgIHRoaXMuZ2V0VXBncmFkZUxvZ0xpc3QoKTsKICAgICAgfQogICAgfSwKICAgIC8vIOWNh+e6p+WIl+ihqAogICAgZ2V0VXBncmFkZUxpc3Q6IGZ1bmN0aW9uIGdldFVwZ3JhZGVMaXN0KCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3IoKS5tKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHZhciBkYXRhLCByZXM7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvcigpLncoZnVuY3Rpb24gKF9jb250ZXh0MikgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQyLm4pIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIGRhdGEgPSB7CiAgICAgICAgICAgICAgICBwYWdlOiBfdGhpczIucGFnZSwKICAgICAgICAgICAgICAgIGxpbWl0OiBfdGhpczIubGltaXQKICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIF9jb250ZXh0Mi5uID0gMTsKICAgICAgICAgICAgICByZXR1cm4gdXBncmFkZUxpc3RBcGkoZGF0YSk7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICByZXMgPSBfY29udGV4dDIudjsKICAgICAgICAgICAgICBfdGhpczIudXBncmFkZUxpc3QgPSByZXMuZGF0YS5saXN0OwogICAgICAgICAgICAgIF90aGlzMi51cGdyYWRlTGlzdCA9IHJlcy5kYXRhLmxpc3Q7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLmEoMik7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTIpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDljYfnuqforrDlvZUKICAgIGdldFVwZ3JhZGVMb2dMaXN0OiBmdW5jdGlvbiBnZXRVcGdyYWRlTG9nTGlzdCgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHZhciBkYXRhID0gewogICAgICAgIHBhZ2U6IHRoaXMucGFnZSwKICAgICAgICBsaW1pdDogdGhpcy5saW1pdAogICAgICB9OwogICAgICB1cGdyYWRlTG9nTGlzdEFwaShkYXRhKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczMudXBncmFkZUxvZ0xpc3QgPSBbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KF90aGlzMy51cGdyYWRlTG9nTGlzdCksIF90b0NvbnN1bWFibGVBcnJheShyZXMuZGF0YS5saXN0KSk7CiAgICAgICAgX3RoaXMzLmNvdW50ID0gcmVzLmRhdGEuY291bnQ7CiAgICAgICAgaWYgKF90aGlzMy51cGdyYWRlTG9nTGlzdC5sZW5ndGggPCBfdGhpczMuY291bnQpIHsKICAgICAgICAgIF90aGlzMy5wYWdlKys7CiAgICAgICAgfQogICAgICAgIGlmIChfdGhpczMuY291bnQgPT09IF90aGlzMy51cGdyYWRlTG9nTGlzdC5sZW5ndGgpIHsKICAgICAgICAgIF90aGlzMy4kbWVzc2FnZS53YXJuaW5nKCfmmoLml6Dmm7TlpJrljYfnuqforrDlvZUnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMzLmdldFVwZ3JhZGVMb2dMaXN0KCk7CiAgICAgICAgfQogICAgICB9KS5jYXRjaChmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDlj6/ljYfnuqfliJfooagKICAgIGdldHVwZ3JhZGVhYmxlTGlzdDogZnVuY3Rpb24gZ2V0dXBncmFkZWFibGVMaXN0KCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3IoKS5tKGZ1bmN0aW9uIF9jYWxsZWUzKCkgewogICAgICAgIHZhciByZXMsIGZpcnN0VmVyLCBkYXRhOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3IoKS53KGZ1bmN0aW9uIChfY29udGV4dDMpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0My5uKSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDMubiA9IDE7CiAgICAgICAgICAgICAgcmV0dXJuIHVwZ3JhZGVhYmxlTGlzdEFwaSgpOwogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgcmVzID0gX2NvbnRleHQzLnY7CiAgICAgICAgICAgICAgX3RoaXM0LnVwZ3JhZGVhYmxlTGlzdCA9IHJlcy5kYXRhOwogICAgICAgICAgICAgIGZpcnN0VmVyID0gcmVzLmRhdGFbMF07CiAgICAgICAgICAgICAgaWYgKF90aGlzNC4kc3RvcmUuc3RhdGUudXBncmFkZS50b2dnbGVTdGF0dXMgfHwgX3RoaXM0LnVwZ3JhZGVTdGF0dXMuZm9yY2VfcmVtaW5kZXIpIHsKICAgICAgICAgICAgICAgIGRhdGEgPSByZXMuZGF0YS5maW5kKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmZvcmNlX3JlbWluZGVyID09PSAxOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBfdGhpczQubmV3S2V5ID0gZGF0YS5wYWNrYWdlX2tleTsKICAgICAgICAgICAgICAgIF90aGlzNC5mb3JjZVZlcnNpb24gPSBkYXRhLmZpcnN0X3ZlcnNpb24gKyAnLicgKyBkYXRhLnNlY29uZF92ZXJzaW9uICsgJy4nICsgZGF0YS50aGlyZF92ZXJzaW9uICsgJy4nICsgZGF0YS5mb3VydGhfdmVyc2lvbjsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgX3RoaXM0LnBhcmFtc19rZXkgPSBfdGhpczQudXBncmFkZWFibGVMaXN0WzBdLnBhY2thZ2Vfa2V5OwogICAgICAgICAgICAgICAgX3RoaXM0LmZvcmNlVmVyc2lvbiA9IGZpcnN0VmVyLmZpcnN0X3ZlcnNpb24gKyAnLicgKyBmaXJzdFZlci5zZWNvbmRfdmVyc2lvbiArICcuJyArIGZpcnN0VmVyLnRoaXJkX3ZlcnNpb24gKyAnLicgKyBmaXJzdFZlci5mb3VydGhfdmVyc2lvbjsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIC8vIGFyci5mb3JFYWNoKChpdGVtKSA9PiB7CiAgICAgICAgICAgICAgLy8gICB0aGlzLiRzZXQoCiAgICAgICAgICAgICAgLy8gICAgIGl0ZW0sCiAgICAgICAgICAgICAgLy8gICAgICdzZXJ2aW9uJywKICAgICAgICAgICAgICAvLyAgICAgaXRlbS5maXJzdF92ZXJzaW9uICsgJy4nICsgaXRlbS5zZWNvbmRfdmVyc2lvbiArICcuJyArIGl0ZW0udGhpcmRfdmVyc2lvbiArICcuJyArIGl0ZW0uZm91cnRoX3ZlcnNpb24sCiAgICAgICAgICAgICAgLy8gICApOwogICAgICAgICAgICAgIC8vIH0pOwoKICAgICAgICAgICAgICAvLyBsZXQgZGF0YSA9IFtdOwogICAgICAgICAgICAgIC8vIGFyci5tYXAoKGVsZSkgPT4gewogICAgICAgICAgICAgIC8vICAgZGF0YS5wdXNoKGVsZS5zZXJ2aW9uKTsKICAgICAgICAgICAgICAvLyB9KTsKICAgICAgICAgICAgICAvLyAvLyDniYjmnKzlj7fmjpLluo8KICAgICAgICAgICAgICAvLyBmdW5jdGlvbiBzb3J0VmVyc2lvbihsaXN0KSB7CiAgICAgICAgICAgICAgLy8gICByZXR1cm4gbGlzdC5zb3J0KCh2ZXJzaW9uMSwgdmVyc2lvbjIpID0+IHsKICAgICAgICAgICAgICAvLyAgICAgY29uc3QgYXJyMSA9IHZlcnNpb24xLnNwbGl0KCcuJykubWFwKChlKSA9PiBlICogMSk7CiAgICAgICAgICAgICAgLy8gICAgIGNvbnN0IGFycjIgPSB2ZXJzaW9uMi5zcGxpdCgnLicpLm1hcCgoZSkgPT4gZSAqIDEpOwogICAgICAgICAgICAgIC8vICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1heChhcnIxLmxlbmd0aCwgYXJyMi5sZW5ndGgpOwogICAgICAgICAgICAgIC8vICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgLy8gICAgICAgaWYgKChhcnIxW2ldIHx8IDApID4gKGFycjJbaV0gfHwgMCkpIHJldHVybiAxOwogICAgICAgICAgICAgIC8vICAgICAgIGlmICgoYXJyMVtpXSB8fCAwKSA8IChhcnIyW2ldIHx8IDApKSByZXR1cm4gLTE7CiAgICAgICAgICAgICAgLy8gICAgIH0KICAgICAgICAgICAgICAvLyAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgLy8gICB9KTsKICAgICAgICAgICAgICAvLyB9CiAgICAgICAgICAgICAgLy8gdGhpcy5mb3JjZVZlcnNpb24gPSBkYXRhWzBdOwogICAgICAgICAgICAgIC8vIHRoaXMucGFyYW1zLm1hcCgoaXRlbSkgPT4gewogICAgICAgICAgICAgIC8vICAgaWYgKGl0ZW0uc2VydmlvbiA9PSBkYXRhW2RhdGEubGVuZ3RoIC0gMV0pIHsKICAgICAgICAgICAgICAvLyAgICAgdGhpcy5uZXdLZXkgPSBpdGVtLnBhY2thZ2Vfa2V5OwogICAgICAgICAgICAgIC8vICAgfQogICAgICAgICAgICAgIC8vIH0pOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5hKDIpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUzKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5LiL6L295Y2H57qn5YyFCiAgICBnZXRkb3dubG9hZDogZnVuY3Rpb24gZ2V0ZG93bmxvYWQoKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICBpZiAodGhpcy4kc3RvcmUuc3RhdGUudXBncmFkZS50b2dnbGVTdGF0dXMgfHwgdGhpcy51cGdyYWRlU3RhdHVzLmZvcmNlX3JlbWluZGVyKSB7CiAgICAgICAgdGhpcy5wYXJhbXNfa2V5ID0gdGhpcy5uZXdLZXk7CiAgICAgIH0KICAgICAgZG93bmxvYWRBcGkodGhpcy5wYXJhbXNfa2V5KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAvLyB0aGlzLmRvd25sb2FkU3RhdHVzID0gcmVzLnN0YXR1czsKICAgICAgICBpZiAocmVzLnN0YXR1cyA9PSAyMDApIHsKICAgICAgICAgIGlmIChfdGhpczUudXBncmFkZVByb2dyZXNzLnNwZWVkICE9PSAnMTAwLjAnKSB7CiAgICAgICAgICAgIF90aGlzNS50aW1lciA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIF90aGlzNS5nZXRVcGdyYWRlUHJvZ3Jlc3MoKTsKICAgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgICAgfSwgNTAwMCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjbGVhckludGVydmFsKF90aGlzNS50aW1lcik7CiAgICAgICAgICAgIF90aGlzNS51cGRhdGVNb2RhbCA9IGZhbHNlOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczUudXBkYXRlTW9kYWwgPSBmYWxzZTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICBjbGVhckludGVydmFsKF90aGlzNS50aW1lcik7CiAgICAgICAgX3RoaXM1LiRtZXNzYWdlLmVycm9yKCfkuIvovb3nu4jmraInKTsKICAgICAgICBfdGhpczUudXBkYXRlTW9kYWwgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgZG93bmxvYWRGaWxlOiBmdW5jdGlvbiBkb3dubG9hZEZpbGUodXJsKSB7CiAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpOwogICAgfSwKICAgIC8vIOWNh+e6p+i/m+W6pgogICAgZ2V0VXBncmFkZVByb2dyZXNzOiBmdW5jdGlvbiBnZXRVcGdyYWRlUHJvZ3Jlc3MoKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICB1cGdyYWRlUHJvZ3Jlc3NBcGkoKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczYudXBncmFkZVByb2dyZXNzID0gcmVzLmRhdGE7CiAgICAgICAgX3RoaXM2LmRvd25sb2FkU3RhdHVzID0gcmVzLnN0YXR1czsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKHJlcykgewogICAgICAgIGNsZWFySW50ZXJ2YWwoX3RoaXM2LnRpbWVyKTsKICAgICAgICBfdGhpczYuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOWNh+e6p+WNj+iurgogICAgZ2V0VXBncmFkZUFncmVlbWVudDogZnVuY3Rpb24gZ2V0VXBncmFkZUFncmVlbWVudCgpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CiAgICAgIHVwZ3JhZGVBZ3JlZW1lbnRBcGkoKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczcudXBncmFkZUFncmVlbWVudCA9IHJlcy5kYXRhOwogICAgICAgIF90aGlzNy5kZWNsYXJhdGlvbiA9IHRydWU7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczcuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOWNh+e6p+eKtuaAgQogICAgZ2V0VXBncmFkZVN0YXR1czogZnVuY3Rpb24gZ2V0VXBncmFkZVN0YXR1cygpIHsKICAgICAgdmFyIF90aGlzOCA9IHRoaXM7CiAgICAgIHVwZ3JhZGVTdGF0dXNBcGkoKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczgudXBncmFkZVN0YXR1cyA9IHJlcy5kYXRhOwogICAgICAgIGlmIChyZXMuZGF0YS5mb3JjZV9yZW1pbmRlcikgewogICAgICAgICAgX3RoaXM4LmRlY2xhcmF0aW9uID0gdHJ1ZTsKICAgICAgICAgIF90aGlzOC5nZXRVcGdyYWRlQWdyZWVtZW50KCk7CiAgICAgICAgfQogICAgICB9KS5jYXRjaChmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM4LiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDnq4vljbPmm7TmlrAKICAgIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlKGl0ZW0pIHsKICAgICAgdGhpcy5kZWNsYXJhdGlvbiA9IHRydWU7CiAgICAgIGlmIChpdGVtICYmIHRoaXMuJHN0b3JlLnN0YXRlLnVwZ3JhZGUudG9nZ2xlU3RhdHVzID09IGZhbHNlKSB7CiAgICAgICAgdGhpcy5wYXJhbXNfa2V5ID0gaXRlbS5wYXJhbXNfa2V5OwogICAgICB9CiAgICAgIC8vIHRoaXMudmVyc2lvbiA9IGl0ZW0uZmlyc3RfdmVyc2lvbiArICIuIiArIGl0ZW0uc2Vjb25kX3ZlcnNpb24gKyAiLiIgKyBpdGVtLnRoaXJkX3ZlcnNpb24gKyAiLiIgKyBpdGVtLmZvdXJ0aF92ZXJzaW9uOwogICAgICB0aGlzLmdldFVwZ3JhZGVBZ3JlZW1lbnQoKTsKICAgIH0sCiAgICAvLyDmr5TovoPnm7jlkIzniYjmnKzlj7cKICAgIGNvbXBhcmU6IGZ1bmN0aW9uIGNvbXBhcmUoKSB7CiAgICAgIHZhciBfdGhpczkgPSB0aGlzOwogICAgICB0aGlzLnVwZ3JhZGVMaXN0Lm1hcChmdW5jdGlvbiAoZWxlLCBpKSB7CiAgICAgICAgX3RoaXM5LiRzZXQoX3RoaXM5LnVwZ3JhZGVMaXN0W2ldLCAnbW4nLCBlbGUuZmlyc3RfdmVyc2lvbiArIGVsZS5zZWNvbmRfdmVyc2lvbiArIGVsZS50aGlyZF92ZXJzaW9uICsgZWxlLmZvdXJ0aF92ZXJzaW9uKTsKICAgICAgICBfdGhpczkudXBncmFkZWFibGVMaXN0Lm1hcChmdW5jdGlvbiAoaXRlbSwgaSkgewogICAgICAgICAgX3RoaXM5LiRzZXQoX3RoaXM5LnVwZ3JhZGVhYmxlTGlzdFtpXSwgJ21uJywgaXRlbS5maXJzdF92ZXJzaW9uICsgaXRlbS5zZWNvbmRfdmVyc2lvbiArIGl0ZW0udGhpcmRfdmVyc2lvbiArIGl0ZW0uZm91cnRoX3ZlcnNpb24pOwogICAgICAgIH0pOwogICAgICAgIGlmIChfdGhpczkudXBncmFkZUxpc3RbaV0ubW4gPT0gX3RoaXM5LnVwZ3JhZGVhYmxlTGlzdFtpXS5tbikgewogICAgICAgICAgX3RoaXM5LiRzZXQoX3RoaXM5LnVwZ3JhZGVMaXN0W2ldLCAnaW5kZXhuJywgdHJ1ZSk7CiAgICAgICAgICBfdGhpczkuJHNldChfdGhpczkudXBncmFkZUxpc3RbaV0sICdwYXJhbXNfa2V5JywgX3RoaXM5LnVwZ3JhZGVhYmxlTGlzdFtpXS5wYWNrYWdlX2tleSk7CiAgICAgICAgICBfdGhpczkuJHNldChfdGhpczkudXBncmFkZWFibGVMaXN0W2ldLCAnaW5kZXhuJywgdHJ1ZSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICAvLyDlkIzmhI8KICAgIGFncmVlOiBmdW5jdGlvbiBhZ3JlZSgpIHsKICAgICAgdGhpcy5kZWNsYXJhdGlvbiA9IGZhbHNlOwogICAgICB0aGlzLnVwZGF0ZU1vZGFsID0gdHJ1ZTsKICAgICAgdGhpcy5nZXRkb3dubG9hZCgpOwogICAgICB0aGlzLiRzdG9yZS5jb21taXQoInVwZ3JhZGUvVE9HR0xFX1NUQVRVUyIsIGZhbHNlKTsKICAgIH0sCiAgICByZWplY3Q6IGZ1bmN0aW9uIHJlamVjdCgpIHsKICAgICAgdGhpcy5kZWNsYXJhdGlvbiA9IGZhbHNlOwogICAgICB0aGlzLiRzdG9yZS5jb21taXQoInVwZ3JhZGUvVE9HR0xFX1NUQVRVUyIsIGZhbHNlKTsKICAgIH0sCiAgICBiYWNrOiBmdW5jdGlvbiBiYWNrKCkgewogICAgICB2YXIgX3RoaXMwID0gdGhpczsKICAgICAgdGhpcy51cGRhdGVNb2RhbCA9IGZhbHNlOwogICAgICAvLyB0aGlzLmdldFVwZ3JhZGVMaXN0KCk7CiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7CiAgICAgIEFjY291bnRMb2dvdXQoKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczAuJG1lc3NhZ2Uuc3VjY2Vzcygn5oKo5bey5oiQ5Yqf6YCA5Ye6Jyk7CiAgICAgICAgX3RoaXMwLiRyb3V0ZXIucmVwbGFjZShfdGhpczAuJHJvdXRlUHJvU3RyICsgJy9sb2dpbicpOwogICAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpOwogICAgICAgIHJlbW92ZUNvb2tpZXMoJ3Rva2VuJyk7CiAgICAgICAgcmVtb3ZlQ29va2llcygnZXhwaXJlc190aW1lJyk7CiAgICAgICAgcmVtb3ZlQ29va2llcygndXVpZCcpOwogICAgICAgIC8vIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKQogICAgICB9KS5jYXRjaChmdW5jdGlvbiAocmVzKSB7fSk7CiAgICB9LAogICAgYmFja1N1cmU6IGZ1bmN0aW9uIGJhY2tTdXJlKCkgewogICAgICB0aGlzLnVwZGF0ZU1vZGFsID0gZmFsc2U7CiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7CiAgICB9LAogICAgY2FuY2VsOiBmdW5jdGlvbiBjYW5jZWwoKSB7CiAgICAgIHRoaXMudXBkYXRlTW9kYWwgPSBmYWxzZTsKICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTsKICAgIH0sCiAgICAvLyDlr7zlh7rlpIfku73mlofku7YKICAgIGV4cG9ydHM6IGZ1bmN0aW9uIGV4cG9ydHMoaXRlbSkgewogICAgICB2YXIgbmFtZSA9IGl0ZW0udGl0bGUgKyAndicgKyBpdGVtLmZpcnN0X3ZlcnNpb24gKyAnLicgKyBpdGVtLnNlY29uZF92ZXJzaW9uICsgJy4nICsgaXRlbS50aGlyZF92ZXJzaW9uICsgJy4nICsgaXRlbS5mb3VydGhfdmVyc2lvbiArICcuJyArIGl0ZW0udXBncmFkZV90aW1lOwogICAgICB2YXIgaHJlZiA9IFNldHRpbmcuYXBpQmFzZVVSTCArICIvc3lzdGVtL3VwZ3JhZGVfZXhwb3J0LyIuY29uY2F0KGl0ZW0uaWQsICIvZmlsZSIpOwogICAgICBheGlvcyh7CiAgICAgICAgbWV0aG9kOiAnZ2V0JywKICAgICAgICB1cmw6IGhyZWYsCiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsCiAgICAgICAgaGVhZGVyczogewogICAgICAgICAgJ0F1dGhvcmktemF0aW9uJzogJ0JlYXJlciAnICsgZ2V0Q29va2llcygndG9rZW4nKQogICAgICAgIH0KICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbcmVzLmRhdGFdLCB7CiAgICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2NoYXJzZXQ9VVRGLTgnCiAgICAgICAgfSk7CiAgICAgICAgdmFyIGRvd25sb2FkRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAvLyDkuIvovb3nmoTmlofku7blkI0KICAgICAgICBkb3dubG9hZEVsZW1lbnQuZG93bmxvYWQgPSAiIi5jb25jYXQobmFtZSwgIi56aXAiKTsKICAgICAgICAvLyDliJvlu7rkuIvovb3nmoTpk77mjqUKICAgICAgICBkb3dubG9hZEVsZW1lbnQuaHJlZiA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOwogICAgICAgIC8vIOeCueWHu+S4i+i9vQogICAgICAgIGRvd25sb2FkRWxlbWVudC5jbGljaygpOwogICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRFbGVtZW50KTsKICAgICAgICAvLyDkuIvovb3lrozmiJDnp7vpmaTlhYPntKAKICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvd25sb2FkRWxlbWVudCk7CiAgICAgICAgLy8g6YeK5pS+5o6JYmxvYuWvueixoQogICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGRvd25sb2FkRWxlbWVudC5ocmVmKTsKICAgICAgfSk7CiAgICB9LAogICAgaGFuZGxlRG93bmxvYWQ6IGZ1bmN0aW9uIGhhbmRsZURvd25sb2FkKGl0ZW0pIHsKICAgICAgdmFyIG5hbWUgPSBpdGVtLnRpdGxlICsgJ3YnICsgaXRlbS5maXJzdF92ZXJzaW9uICsgJy4nICsgaXRlbS5zZWNvbmRfdmVyc2lvbiArICcuJyArIGl0ZW0udGhpcmRfdmVyc2lvbiArICcuJyArIGl0ZW0uZm91cnRoX3ZlcnNpb24gKyAnLicgKyBpdGVtLnVwZ3JhZGVfdGltZTsKICAgICAgdmFyIGhyZWYgPSBTZXR0aW5nLmFwaUJhc2VVUkwgKyAiL3N5c3RlbS91cGdyYWRlX2V4cG9ydC8iLmNvbmNhdChpdGVtLmlkLCAiL2RhdGEiKTsKICAgICAgYXhpb3MoewogICAgICAgIG1ldGhvZDogJ2dldCcsCiAgICAgICAgdXJsOiBocmVmLAogICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLAogICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICdBdXRob3JpLXphdGlvbic6ICdCZWFyZXIgJyArIGdldENvb2tpZXMoJ3Rva2VuJykKICAgICAgICB9CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoW3Jlcy5kYXRhXSwgewogICAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtjaGFyc2V0PVVURi04JwogICAgICAgIH0pOwogICAgICAgIHZhciBkb3dubG9hZEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CiAgICAgICAgLy8g5LiL6L2955qE5paH5Lu25ZCNCiAgICAgICAgZG93bmxvYWRFbGVtZW50LmRvd25sb2FkID0gIiIuY29uY2F0KG5hbWUsICIuZ3oiKTsKICAgICAgICAvLyDliJvlu7rkuIvovb3nmoTpk77mjqUKICAgICAgICBkb3dubG9hZEVsZW1lbnQuaHJlZiA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOwogICAgICAgIC8vIOeCueWHu+S4i+i9vQogICAgICAgIGRvd25sb2FkRWxlbWVudC5jbGljaygpOwogICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRFbGVtZW50KTsKICAgICAgICAvLyDkuIvovb3lrozmiJDnp7vpmaTlhYPntKAKICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvd25sb2FkRWxlbWVudCk7CiAgICAgICAgLy8g6YeK5pS+5o6JYmxvYuWvueixoQogICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGRvd25sb2FkRWxlbWVudC5ocmVmKTsKICAgICAgfSk7CiAgICB9LAogICAgcXVlYXJ5RXZlYXI6IGZ1bmN0aW9uIHF1ZWFyeUV2ZWFyKGlkLCBpbmRleCkgewogICAgICB0aGlzLmR5bmFtaWMgPSBpbmRleDsKICAgIH0KICB9LAogIGRlc3Ryb3llZDogZnVuY3Rpb24gZGVzdHJveWVkKCkgewogICAgLy/plIDmr4EKICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7CiAgfQp9Ow=="},null]}