{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\components\\monitorPage.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\components\\monitorPage.vue","mtime":1731062408612},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\babel.config.js","mtime":1725536844935},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvYnp6Z2otZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsKaW1wb3J0IGRpY3RVdGlscyBmcm9tICdAL2NvbXBvbmVudHMvZGljdC9EaWN0U2VsZWN0VXRpbHMuanMnOwppbXBvcnQgZXF1aXBtZW50TWFuYWdlIGZyb20gJ0AvYXBpL2RldmljZS9lcXVpcG1lbnRNYW5hZ2UuanMnOwppbXBvcnQgVmlkZW9GYWNpbGl0aWVzIGZyb20gJ0AvYXBpL2RldmljZS9WaWRlb0ZhY2lsaXRpZXMuanMnOwppbXBvcnQgcmVxIGZyb20gJ0AvcmVxdWVzdC5qcyc7CmltcG9ydCB7IFRhYmxlTWl4aW4gfSBmcm9tICdAL21peGlucy90YWJsZU1peGluJzsKaW1wb3J0IHZpZGVvRm9ybURpYWxvZyBmcm9tICdAL3ZpZXdzL0RldmljZS9kZXZpY2VNYW5hZ2UvY29tcG9uZW50cy92aWRlb0Zvcm1EaWFsb2cnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ1ZpZGVvRmFjaWxpdGllcycsCiAgY29tcG9uZW50czogewogICAgdmlkZW9Gb3JtRGlhbG9nOiB2aWRlb0Zvcm1EaWFsb2cKICB9LAogIG1peGluczogW1RhYmxlTWl4aW5dLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAvL+aQuuW4puWPguaVsAogICAgICB1cGxvYWREYXRhOiB7CiAgICAgICAgY2F0YWxvZ0NvZGU6ICcnCiAgICAgIH0sCiAgICAgIHJldmlzZURhdDogJycsCiAgICAgIHJldmlzZVZpc2libGU6IGZhbHNlLAogICAgICByZXZpc2VTdGFydDogJycsCiAgICAgIGNhdGFsb2dzOiBbXSwKICAgICAgLy/op4bpopHnm67lvZUKICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgIGZ1bGxJZDogJycsCiAgICAgIC8v55uu5b2V5qCR57yW56CBCiAgICAgIGNhdGFsb2dDb2RlOiAnJywKICAgICAgLy/nm67lvZXnvJbnoIEKICAgICAgY2F0YWxvZ1BsYXRmb3JtOiAnJywKICAgICAgbXVsdGlwbGVTZWxlY3Rpb246IFtdLAogICAgICAvLyDlpI3pgInmoYYKICAgICAgcGFyYW1zOiB7CiAgICAgICAgbmFtZTogJycsCiAgICAgICAgY2F0YWxvZ0NvZGU6ICcnLAogICAgICAgIHN0YXR1czogJycsCiAgICAgICAgem9uZUNvZGU6ICcnCiAgICAgIH0sCiAgICAgIHF1ZXJ5czogW3sKICAgICAgICBncm91cDogJ21haW4nLAogICAgICAgIG9wZXJhdGlvbjogJ0xJS0UnLAogICAgICAgIHBhcmVudEdyb3VwOiAnJywKICAgICAgICBwcm9wZXJ0eTogJ3IubmFtZV8nLAogICAgICAgIHJlbGF0aW9uOiAnQU5EJywKICAgICAgICB2YWx1ZTogJycKICAgICAgfSwKICAgICAgLy8gewogICAgICAvLyAgIGdyb3VwOiAnbWFpbicsCiAgICAgIC8vICAgb3BlcmF0aW9uOiAnUklHSFRfTElLRScsCiAgICAgIC8vICAgcGFyZW50R3JvdXA6ICcnLAogICAgICAvLyAgIHByb3BlcnR5OiAnei5mdWxsX2lkXycsCiAgICAgIC8vICAgcmVsYXRpb246ICdBTkQnLAogICAgICAvLyAgIHZhbHVlOiAnJwogICAgICAvLyB9LAogICAgICB7CiAgICAgICAgZ3JvdXA6ICdtYWluJywKICAgICAgICBvcGVyYXRpb246ICdFUVVBTCcsCiAgICAgICAgcGFyZW50R3JvdXA6ICcnLAogICAgICAgIHByb3BlcnR5OiAnci5jYXRhbG9nX2NvZGVfJywKICAgICAgICByZWxhdGlvbjogJ0FORCcsCiAgICAgICAgdmFsdWU6ICcnCiAgICAgIH0sIHsKICAgICAgICBncm91cDogJ21haW4nLAogICAgICAgIG9wZXJhdGlvbjogJ0VRVUFMJywKICAgICAgICBwYXJlbnRHcm91cDogJycsCiAgICAgICAgcHJvcGVydHk6ICdlLmltcG9ydGFudF8nLAogICAgICAgIHJlbGF0aW9uOiAnQU5EJywKICAgICAgICB2YWx1ZTogJycKICAgICAgfV0sCiAgICAgIHJlZ2lvbkluZGV4Q29kZTogJycsCiAgICAgIHRvdGFsOiAwLAogICAgICB0YWJsZURhdGE6IFtdLAogICAgICB2aWRlb1RyZWU6IFtdLAogICAgICBkZWZhdWx0UHJvcHM6IHsKICAgICAgICB2YWx1ZTogJ2NvZGUnLAogICAgICAgIGxhYmVsOiAnbmFtZScKICAgICAgfSwKICAgICAgZGF0YTogW10sCiAgICAgIGZpbHRlclRleHQ6ICcnLAogICAgICBzaG93OiBmYWxzZSwKICAgICAgcnVsZXM6IHsKICAgICAgICBuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5Yy65Z+f5ZCN56ewJywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgfV0sCiAgICAgICAgY29kZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeWMuuWfn+e8lueggScsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIHRpdGxlczogJycsCiAgICAgIGFyZWE6IHsKICAgICAgICBjb2RlOiAnJywKICAgICAgICBuYW1lOiAnJwogICAgICB9LAogICAgICBwQXJlYTogbnVsbCwKICAgICAgYWN0aXZlQ29sbGFwc2VEaWE6ICcxJywKICAgICAgc2hvd1RyZWVOb2RlOiBmYWxzZSwKICAgICAgdXJsOiB7CiAgICAgICAgZGVsZXRlOiAnL2Jpei9jYXRhbG9nL2Jhc2UvcG9pbnQvJwogICAgICB9LAogICAgICBzYnp0TGlzdDogW10sCiAgICAgIG1vbml0b3I6IHt9CiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgIGZpbHRlclRleHQ6IGZ1bmN0aW9uIGZpbHRlclRleHQodmFsKSB7CiAgICAgIHRoaXMuJHJlZnMudHJlZS5maWx0ZXIodmFsKTsKICAgIH0KICB9LAogIC8v6I635Y+WdG9rZW4KICBjb21wdXRlZDogbWFwU3RhdGUoewogICAgaGVhZGVyOiBmdW5jdGlvbiBoZWFkZXIoc3RhdGUpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBBdXRob3JpemF0aW9uOiAiQmVhcmVyICIuY29uY2F0KHN0YXRlLmxvZ2luLmN1cnJlbnRVc2VyLnRva2VuKQogICAgICB9OwogICAgfQogIH0pLAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICAvL+WcqGNyZWF0ZWTph4zpnaLljLrojrflj5ZhY3Rpb25VcmwKICAgIHRoaXMubW9uaXRvciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21vbml0b3InKSk7CiAgICB0aGlzLmFjdGlvblVybCA9IHdpbmRvdy5jb250ZXh0LnBvcnRhbDsKICAgIHRoaXMuc2J6dExpc3QgPSBkaWN0VXRpbHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCdzYnp0Jyk7CgogICAgLy8gdGhpcy5nZXRUcmVlRGljdCgpCiAgfSwKICBtZXRob2RzOiB7CiAgICBnb0JhY2s6IGZ1bmN0aW9uIGdvQmFjaygpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICdEZXZpY2VBbmFseXNpcycKICAgICAgfSk7CiAgICB9LAogICAgaGFuZGxlRGJDbGljazogZnVuY3Rpb24gaGFuZGxlRGJDbGljayh2YWwpIHsKICAgICAgY29uc29sZS5sb2codmFsKTsKICAgICAgdGhpcy4kcmVmcy5mb3JtTW9kYWwuZWRpdEJhc2ljKHZhbCk7CiAgICB9LAogICAgLy/kuIrkvKDmiJDlip8KICAgIGhhbmRsZUF2YXRhclN1Y2Nlc3M6IGZ1bmN0aW9uIGhhbmRsZUF2YXRhclN1Y2Nlc3MocmVzLCBmaWxlKSB7CiAgICAgIC8v5o+Q56S6CiAgICAgIHRoaXMuJG5vdGlmeSh7CiAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgIG1lc3NhZ2U6IHRoaXMuJHQoJ2RvbWVzdGljLnN1Y2Nlc3MnKSwKICAgICAgICBkdXJhdGlvbjogMjAwMAogICAgICB9KTsKICAgICAgdGhpcy5sb2FkRGF0YSgpOyAvL+iwg+eUqOeUqOmhtemdouafpeivouaOpeWPo++8jOWIt+aWsOaVsOaNrgogICAgfSwKICAgIC8v5LiK5Lyg5aSx6LSlCiAgICBoYW5kbGVBdmF0YXJFcnJvcjogZnVuY3Rpb24gaGFuZGxlQXZhdGFyRXJyb3IoZXJyLCBmaWxlLCBmaWxlTGlzdCkgewogICAgICAvL+aPkOekugogICAgICB0aGlzLiRub3RpZnkoewogICAgICAgIHR5cGU6ICdlcnJvcicsCiAgICAgICAgbWVzc2FnZTogdGhpcy4kdCgnZG9tZXN0aWMuZmFpbHVyZScpLAogICAgICAgIGR1cmF0aW9uOiAyMDAwCiAgICAgIH0pOwogICAgfSwKICAgIC8v5pWw5o2u5a+85YWlCiAgICBpbXBvcnREYXRhOiBmdW5jdGlvbiBpbXBvcnREYXRhKCkge30sCiAgICAvL+aVsOaNruWvvOWHugogICAgZXhwb3J0RGF0YTogZnVuY3Rpb24gZXhwb3J0RGF0YSgpIHsKICAgICAgdmFyIGV4cG9ydFBhcmFtID0gX29iamVjdFNwcmVhZCh7fSwgdGhpcy5xdWVyeVBhcmFtKTsKICAgICAgZXhwb3J0UGFyYW0ucGFnZUJlYW4gPSB7CiAgICAgICAgcGFnZTogMSwKICAgICAgICBwYWdlU2l6ZTogLTEKICAgICAgfTsKICAgICAgY29uc29sZS5sb2coZXhwb3J0UGFyYW0pOwogICAgICBlcXVpcG1lbnRNYW5hZ2UuZXhwb3J0UG9pbnRCYXNlKGV4cG9ydFBhcmFtLCBmdW5jdGlvbiAocmVzKSB7fSk7CiAgICAgIC8vICAgdGhpcy5sb2FkRGF0YSgpCiAgICB9LAogICAgLy8KICAgIGhhbmRsZUNsb3NlOiBmdW5jdGlvbiBoYW5kbGVDbG9zZSgpIHsKICAgICAgdGhpcy5yZXZpc2VWaXNpYmxlID0gZmFsc2U7CiAgICB9LAogICAgLy8KICAgIHJldmlzZTogZnVuY3Rpb24gcmV2aXNlKHZhbCkgewogICAgICB0aGlzLnJldmlzZVZpc2libGUgPSB0cnVlOwogICAgICB0aGlzLnJldmlzZURhdCA9IHZhbDsKICAgIH0sCiAgICByZXZpc2VCdG46IGZ1bmN0aW9uIHJldmlzZUJ0bigpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgLy8gY29uc29sZS5sb2codGhpcy5yZXZpc2VEYXQpCiAgICAgIGVxdWlwbWVudE1hbmFnZS51cGRhdGVTdGF0dXMoewogICAgICAgIGlkOiB0aGlzLnJldmlzZURhdC5pZCwKICAgICAgICBwcm9kdWN0Q29kZTogJ3ZpZGVvJywKICAgICAgICBzdGF0dXM6IHRoaXMucmV2aXNlU3RhcnQKICAgICAgfSwgZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzLmxvYWREYXRhKCk7CiAgICAgICAgX3RoaXMucmV2aXNlVmlzaWJsZSA9IGZhbHNlOwogICAgICAgIC8vICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgIC8vICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAvLyAgICAgICBtZXNzYWdlOiByZXMubWVzc2FnZSwKICAgICAgICAvLyAgICAgICB0eXBlOiAnc3VjY2VzcycKICAgICAgICAvLyAgICAgfSkKICAgICAgICAvLyAgICAgdGhpcy5sb2FkRGF0YSgpCiAgICAgICAgLy8gICAgIHRoaXMucmV2aXNlVmlzaWJsZSA9IGZhbHNlCiAgICAgICAgLy8gICB9CiAgICAgIH0pOwogICAgfSwKICAgIGVxdWlwbWVudDogZnVuY3Rpb24gZXF1aXBtZW50KHZhbCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgY29uc29sZS5sb2codmFsKTsKICAgICAgdmFyIGltcG9ydGFudERhdGEgPSAwOwogICAgICBpZiAodmFsLmltcG9ydGFudCA9PSAxICYmIHZhbC5pbXBvcnRhbnQpIHsKICAgICAgICBpbXBvcnRhbnREYXRhID0gMDsKICAgICAgfSBlbHNlIHsKICAgICAgICBpbXBvcnRhbnREYXRhID0gMTsKICAgICAgfQogICAgICBlcXVpcG1lbnRNYW5hZ2UudXBkYXRlSW1wb3J0YW50UG9pbnQoewogICAgICAgIGlkOiB2YWwuaWQsCiAgICAgICAgaW1wb3J0YW50OiBpbXBvcnRhbnREYXRhCiAgICAgIH0sIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAvLyBjb25zb2xlLmxvZyhyZXMpCiAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgX3RoaXMyLiRtZXNzYWdlKHsKICAgICAgICAgICAgbWVzc2FnZTogcmVzLm1lc3NhZ2UsCiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJwogICAgICAgICAgfSk7CiAgICAgICAgICBfdGhpczIubG9hZERhdGEoKTsKICAgICAgICAgIC8vIHRoaXMucmV2aXNlVmlzaWJsZSA9IGZhbHNlCiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBoYW5kbGVEZWxldGVTaXRlOiBmdW5jdGlvbiBoYW5kbGVEZWxldGVTaXRlKHJvdykgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgVmlkZW9GYWNpbGl0aWVzLmRlbGV0ZVZpZGVvU2l0ZShyb3cuaWQsIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLnN0YXRlKSB7CiAgICAgICAgICBfdGhpczMuJG1lc3NhZ2Uuc3VjY2Vzcygn5Yig6Zmk5oiQ5YqfJyk7CiAgICAgICAgICBfdGhpczMubG9hZERhdGEoKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHNlbGVjdGFibGU6IGZ1bmN0aW9uIHNlbGVjdGFibGUocm93KSB7CiAgICAgIGlmIChyb3cuZGF0YVR5cGUgPT0gMikgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSwKICAgIGhhbmRsZUFkZDogZnVuY3Rpb24gaGFuZGxlQWRkKCkgewogICAgICBpZiAoIXRoaXMucmVnaW9uSW5kZXhDb2RlKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fpgInmi6nmlrDlop7op4bpopHngrnkvY3miYDlsZ7ljLrln5/vvIEnKTsKICAgICAgICByZXR1cm47CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIHBEYXRhID0gewogICAgICAgICAgY2F0YWxvZ0NvZGU6IHRoaXMuY2F0YWxvZ0NvZGUsCiAgICAgICAgICBwbGF0Zm9ybTogdGhpcy5jYXRhbG9nUGxhdGZvcm0sCiAgICAgICAgICB6b25lQ29kZTogdGhpcy5yZWdpb25JbmRleENvZGUKICAgICAgICB9OwogICAgICAgIHRoaXMuJHJlZnMuZm9ybU1vZGFsLmFkZChwRGF0YSk7CiAgICAgIH0KICAgIH0sCiAgICByZWxvYWQ6IGZ1bmN0aW9uIHJlbG9hZCgpIHt9LAogICAgaGFuZGxlQ2xvc2VEaWE6IGZ1bmN0aW9uIGhhbmRsZUNsb3NlRGlhKCkgewogICAgICB0aGlzLnNob3dUcmVlTm9kZSA9IGZhbHNlOwogICAgICB0aGlzLmFyZWEgPSB7CiAgICAgICAgY29kZTogJycsCiAgICAgICAgbmFtZTogJycKICAgICAgfTsKICAgICAgdGhpcy5wQXJlYSA9IG51bGw7CiAgICB9LAogICAgaGFuZGxlU2F2ZURpYTogZnVuY3Rpb24gaGFuZGxlU2F2ZURpYSgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMuZm9ybUluZm8udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICB2YXIgQVBJID0gVmlkZW9GYWNpbGl0aWVzLnVwZGF0ZVZpZGVvQXJlYTsKICAgICAgICAgIGlmIChfdGhpczQudGl0bGVzID09ICfmlrDlop4nKSB7CiAgICAgICAgICAgIF90aGlzNC5hcmVhLmJhc2VDb2RlID0gX3RoaXM0LnBBcmVhLmJhc2VDb2RlOwogICAgICAgICAgICBfdGhpczQuYXJlYS5wYXJlbnRJZCA9IF90aGlzNC5wQXJlYS5pZDsKICAgICAgICAgICAgX3RoaXM0LmFyZWEucGxhdGZvcm0gPSBfdGhpczQucEFyZWEucGxhdGZvcm07CiAgICAgICAgICAgIEFQSSA9IFZpZGVvRmFjaWxpdGllcy5hZGRWaWRlb0FyZWE7CiAgICAgICAgICB9CiAgICAgICAgICBjb25zb2xlLmxvZyhfdGhpczQuYXJlYSk7CiAgICAgICAgICBBUEkoX3RoaXM0LmFyZWEsIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgICAgIF90aGlzNC4kbm90aWZ5KHsKICAgICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgICAgIG1lc3NhZ2U6IF90aGlzNC50aXRsZXMgKyAn6KeG6aKR5Yy65Z+f5oiQ5Yqf77yBJywKICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAyMDAwCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgX3RoaXM0LmdldFRyZWUoKTsKICAgICAgICAgICAgICBfdGhpczQuaGFuZGxlQ2xvc2VEaWEoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBfdGhpczQuJG5vdGlmeSh7CiAgICAgICAgICAgICAgICB0eXBlOiAnZXJyb3InLAogICAgICAgICAgICAgICAgbWVzc2FnZTogcmVzLm1lc3NhZ2UsCiAgICAgICAgICAgICAgICBkdXJhdGlvbjogMjAwMCwKICAgICAgICAgICAgICAgIG9mZnNldDogODAKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBhcHBlbmQ6IGZ1bmN0aW9uIGFwcGVuZChkYXRhLCB0eXBlKSB7CiAgICAgIGNvbnNvbGUubG9nKGRhdGEsIHR5cGUsICdkYXRhLCB0eXBlJyk7CiAgICAgIHRoaXMuYWN0aXZlQ29sbGFwc2VEaWEgPSAnMSc7CiAgICAgIHRoaXMudGl0bGVzID0gJ+aWsOWinic7CiAgICAgIHRoaXMuc2hvd1RyZWVOb2RlID0gdHJ1ZTsKICAgICAgdGhpcy5wQXJlYSA9IGRhdGE7CiAgICB9LAogICAgdXBEYXRlaW5mbzogZnVuY3Rpb24gdXBEYXRlaW5mbyhkYXRhLCB0eXBlKSB7CiAgICAgIHRoaXMudGl0bGVzID0gJ+S/ruaUuSc7CiAgICAgIHRoaXMuYXJlYSA9IGRhdGE7CiAgICAgIHRoaXMuc2hvd1RyZWVOb2RlID0gdHJ1ZTsKICAgIH0sCiAgICAvLyDliKDpmaTop4bpopHnm67lvZUKICAgIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlKGRhdGEpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIHRoaXMuJGNvbmZpcm0oJ+ehruWumuWIoOmZpOmAieS4reaVsOaNru+8nycsICfmj5DnpLonLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa4g5a6aJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+WIOa2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIFZpZGVvRmFjaWxpdGllcy5kZWxldGVWaWRlb0FyZWEoZGF0YS5pZCwgZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgICBfdGhpczUuJG5vdGlmeSh7CiAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgIG1lc3NhZ2U6ICfliKDpmaTmiJDlip8nLAogICAgICAgICAgICAgIGR1cmF0aW9uOiAyMDAwCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBfdGhpczUuZ2V0VHJlZSgpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgX3RoaXM1LiRub3RpZnkoewogICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsCiAgICAgICAgICAgICAgbWVzc2FnZTogcmVzLm1lc3NhZ2UsCiAgICAgICAgICAgICAgZHVyYXRpb246IDIwMDAsCiAgICAgICAgICAgICAgb2Zmc2V0OiA4MAogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgfSwKICAgIC8vIOiOt+WPluebruW9lQogICAgZ2V0VHJlZURpY3Q6IGZ1bmN0aW9uIGdldFRyZWVEaWN0KCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgVmlkZW9GYWNpbGl0aWVzLmdldFZpZGVvRih7fSwgZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzNi5jYXRhbG9ncyA9IHJlcy52YWx1ZTsKICAgICAgICBfdGhpczYuY2F0YWxvZ0NvZGUgPSBfdGhpczYuY2F0YWxvZ3NbMF0uY29kZTsKICAgICAgICBfdGhpczYuY2F0YWxvZ1BsYXRmb3JtID0gX3RoaXM2LmNhdGFsb2dzWzBdLnBsYXRmb3JtOwogICAgICAgIF90aGlzNi5nZXRUcmVlKCk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOiOt+WPluebruW9leagkQogICAgZ2V0VHJlZTogZnVuY3Rpb24gZ2V0VHJlZSgpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CiAgICAgIHZhciBxdWVyeSA9IHsKICAgICAgICB6b25lQ29kZTogdGhpcy5jYXRhbG9nQ29kZQogICAgICB9OwogICAgICBWaWRlb0ZhY2lsaXRpZXMuZ2V0VmlkZW9UcmVlKHF1ZXJ5LCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM3LnZpZGVvVHJlZSA9IHJlcy52YWx1ZTsKICAgICAgICBfdGhpczcuZnVsbElkID0gX3RoaXM3LnZpZGVvVHJlZS5sZW5ndGggPyBfdGhpczcudmlkZW9UcmVlWzBdLmZ1bGxJZCA6ICcnOwogICAgICAgIGlmIChfdGhpczcudmlkZW9UcmVlLmxlbmd0aCkgewogICAgICAgICAgX3RoaXM3LmxvYWREYXRhKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzNy52aWRlb1RyZWVbMF0gPSB7CiAgICAgICAgICAgIG5hbWU6ICctLScsCiAgICAgICAgICAgIGlkOiAnLTEnLAogICAgICAgICAgICBkYXRhVHlwZTogMSwKICAgICAgICAgICAgYmFzZUNvZGU6IF90aGlzNy5jYXRhbG9nQ29kZSwKICAgICAgICAgICAgcGxhdGZvcm06IF90aGlzNy5jYXRhbG9nUGxhdGZvcm0KICAgICAgICAgIH07CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICAvLyDliIfmjaLnm67lvZUKICAgIGNoYW5nZUNhdGFsb2c6IGZ1bmN0aW9uIGNoYW5nZUNhdGFsb2codmFsKSB7CiAgICAgIHRoaXMuJHJlZnMubXVsdGlwbGVTZWxlY3Rpb24uY2xlYXJTZWxlY3Rpb24oKTsgLy/liIfmjaLvvIzpgInkuK3lsLHlvZLpm7YKICAgICAgaWYgKHZhbCkgewogICAgICAgIHRoaXMuY2F0YWxvZ0NvZGUgPSB2YWw7CiAgICAgICAgdGhpcy5jYXRhbG9nUGxhdGZvcm0gPSB2YWw7CiAgICAgICAgdmFyIHBsYXRmb3JtID0gdGhpcy5jYXRhbG9ncy5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIHJldHVybiBpdGVtLmNvZGUgPT0gdmFsOwogICAgICAgIH0pWzBdLnBsYXRmb3JtOwogICAgICAgIHRoaXMuY2F0YWxvZ1BsYXRmb3JtID0gcGxhdGZvcm07CiAgICAgICAgdGhpcy5nZXRUcmVlKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5jYXRhbG9nQ29kZSA9ICcnOwogICAgICAgIHRoaXMuY2F0YWxvZ1BsYXRmb3JtID0gJyc7CiAgICAgICAgdGhpcy52aWRlb1RyZWUgPSBbXTsKICAgICAgICB0aGlzLiRzZXQodGhpcy52aWRlb1RyZWUsIHRoaXMudmlkZW9UcmVlLCByZXMudmFsdWUpOwogICAgICB9CiAgICB9LAogICAgaGFuZGxlVXBkYXRlOiBmdW5jdGlvbiBoYW5kbGVVcGRhdGUodmFsKSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwogICAgICBWaWRlb0ZhY2lsaXRpZXMuZ2V0RGV0YWlscyh2YWwuY29kZSwgZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMpIHsKICAgICAgICAgIHZhciBwYXRoID0gX3RoaXM4LiRyb3V0ZS5wYXRoOwogICAgICAgICAgaWYgKHBhdGguaW5kZXhPZignZnJvbnRQbGF0JykgIT09IC0xKSB7CiAgICAgICAgICAgIF90aGlzOC4kcm91dGVyLnB1c2goewogICAgICAgICAgICAgIG5hbWU6ICdWaWRlb0RldGFpbHMnLAogICAgICAgICAgICAgIHF1ZXJ5OiByZXMKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBfdGhpczguJHJvdXRlci5wdXNoKHsKICAgICAgICAgICAgICBuYW1lOiAnVmlkZW9EZXRhaWxzTGluaycsCiAgICAgICAgICAgICAgcXVlcnk6IHJlcwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGNoYW5nZU5vZGU6IGZ1bmN0aW9uIGNoYW5nZU5vZGUoZGF0YSkgewogICAgICBjb25zb2xlLmxvZyhkYXRhKTsKICAgICAgaWYgKGRhdGEpIHsKICAgICAgICB0aGlzLnJlZ2lvbkluZGV4Q29kZSA9IGRhdGEuY29kZTsKICAgICAgICB0aGlzLmZ1bGxJZCA9IGRhdGEuZnVsbElkOwogICAgICAgIHRoaXMucGFyYW1zLnpvbmVDb2RlID0gZGF0YS5jb2RlOwogICAgICAgIC8v5aaC5p6c54K55Ye75qCR77yM6YCJ5Lit54q25oCB5b2SMAogICAgICAgIHRoaXMuJHJlZnMubXVsdGlwbGVTZWxlY3Rpb24uY2xlYXJTZWxlY3Rpb24oKTsKICAgICAgICB0aGlzLmxvYWREYXRhKCk7CiAgICAgIH0KICAgIH0sCiAgICBsb2FkRGF0YTogZnVuY3Rpb24gbG9hZERhdGEoKSB7CiAgICAgIHZhciBfdGhpczkgPSB0aGlzOwogICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgdGhpcy50YWJsZURhdGEgPSBbXTsKICAgICAgdGhpcy5xdWVyeVBhcmFtLnF1ZXJ5cyA9IFtdOwogICAgICB0aGlzLnF1ZXJ5UGFyYW0ucGFyYW1zID0gdGhpcy5wYXJhbXM7CiAgICAgIHRoaXMudXBsb2FkRGF0YS5jYXRhbG9nQ29kZSA9IHRoaXMuY2F0YWxvZ0NvZGU7CiAgICAgIFZpZGVvRmFjaWxpdGllcy5nZXRMaXN0KHRoaXMucXVlcnlQYXJhbSwgZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMpIHsKICAgICAgICAgIF90aGlzOS50YWJsZURhdGEgPSByZXMucm93czsKICAgICAgICAgIF90aGlzOS50b3RhbCA9IHJlcy50b3RhbDsKICAgICAgICAgIF90aGlzOS5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICAvL+WQjOatpeaVsOaNrgogICAgc3luY2hyb1RyZWU6IGZ1bmN0aW9uIHN5bmNocm9UcmVlKCkgewogICAgICB2YXIgX3RoaXMxMCA9IHRoaXM7CiAgICAgIFZpZGVvRmFjaWxpdGllcy5hc3ljQ2F0YUxvZyhmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgICBfdGhpczEwLiRtZXNzYWdlLnN1Y2Nlc3MoJ+ebruW9leWQjOatpeaIkOWKnycpOwogICAgICAgICAgICBfdGhpczEwLmdldFRyZWVEaWN0KCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBfdGhpczEwLiRtZXNzYWdlLmVycm9yKCflkIzmraXlpLHotKUnKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHN5bmNocm86IGZ1bmN0aW9uIHN5bmNocm8obm9kZSwgZGF0YSkgewogICAgICB2YXIgX3RoaXMxMSA9IHRoaXM7CiAgICAgIFZpZGVvRmFjaWxpdGllcy5hc3ljQ2F0YUxvZ1pvbmUoewogICAgICAgIHRyZWVDb2RlOiB0aGlzLmNhdGFsb2dDb2RlCiAgICAgIH0sIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLnN0YXRlKSB7CiAgICAgICAgICBfdGhpczExLiRtZXNzYWdlLnN1Y2Nlc3MoJ+WMuuWfn+WQjOatpeaIkOWKnycpOwogICAgICAgICAgX3RoaXMxMS5nZXRUcmVlbigpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczExLiRtZXNzYWdlLmVycm9yKCflkIzmraXlpLHotKUnKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIG9uQ2xpY2tTeW5jaDogZnVuY3Rpb24gb25DbGlja1N5bmNoKCkgewogICAgICB2YXIgX3RoaXMxMiA9IHRoaXM7CiAgICAgIFZpZGVvRmFjaWxpdGllcy5nZXRTeW5jaCh7fSwgZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuc3RhdGUpIHsKICAgICAgICAgIF90aGlzMTIuJG1lc3NhZ2Uuc3VjY2Vzcygn5ZCM5q2l5oiQ5YqfJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzMTIuJG1lc3NhZ2UuZXJyb3IoJ+WQjOatpeWksei0pScpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZmlsdGVyTm9kZTogZnVuY3Rpb24gZmlsdGVyTm9kZSh2YWx1ZSwgZGF0YSkgewogICAgICBpZiAoIXZhbHVlKSByZXR1cm4gdHJ1ZTsKICAgICAgcmV0dXJuIGRhdGEubmFtZS5pbmRleE9mKHZhbHVlKSAhPT0gLTE7CiAgICB9LAogICAgaGFuZGxlU2l6ZUNoYW5nZTogZnVuY3Rpb24gaGFuZGxlU2l6ZUNoYW5nZSh2YWwpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtLnBhZ2VCZWFuLnBhZ2VTaXplID0gdmFsOwogICAgICB0aGlzLmxvYWREYXRhKCk7CiAgICB9LAogICAgaGFuZGxlQ3VycmVudENoYW5nZTogZnVuY3Rpb24gaGFuZGxlQ3VycmVudENoYW5nZSh2YWwpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtLnBhZ2VCZWFuLnBhZ2UgPSB2YWw7CiAgICAgIHRoaXMubG9hZERhdGEoKTsKICAgIH0sCiAgICAvLyBoYW5kbGVTZWxlY3Rpb25DaGFuZ2UodmFsKSB7CiAgICAvLyAgICAgdGhpcy5tdWx0aXBsZVNlbGVjdGlvbiA9IHZhbC5tYXAoKGl0ZW0pID0+IHsKICAgIC8vICAgICAgICAgcmV0dXJuIGl0ZW0uaWQKICAgIC8vICAgICB9KQogICAgLy8gfSwKICAgIC8vIC8vIOaMh+WumuS4gOS4qmtleeagh+ivhui/meS4gOihjOeahOaVsOaNrgogICAgZ2V0Um93S2V5OiBmdW5jdGlvbiBnZXRSb3dLZXkocm93KSB7CiAgICAgIHJldHVybiByb3cuaWQ7CiAgICB9LAogICAgLy8gLy8g54K55Ye75p+l6K+iCiAgICBvbkNsaWNrU2VhcmNoOiBmdW5jdGlvbiBvbkNsaWNrU2VhcmNoKCkgewogICAgICB0aGlzLnF1ZXJ5UGFyYW0ucGFnZUJlYW4ucGFnZSA9IDE7CiAgICAgIHRoaXMubG9hZERhdGEoKTsKICAgIH0KICB9Cn07"},null]}