{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\resourceManage\\components\\contractManageDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\resourceManage\\components\\contractManageDialog.vue","mtime":1725536854294},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgZGljdENvbnRyYWN0cyBmcm9tICdAL2NvbXBvbmVudHMvZGljdC9EaWN0U2VsZWN0VXRpbHMuanMnDQppbXBvcnQgY29udHJhY3RNYW5hZ2UgZnJvbSAnQC9hcGkvZGV2aWNlL2NvbnRyYWN0TWFuYWdlLmpzJw0KaW1wb3J0IHJlc291cmNlTWFuYWdlIGZyb20gJ0AvYXBpL2RldmljZS9yZXNvdXJjZU1hbmFnZS5qcycNCmltcG9ydCB1dGlscyBmcm9tICdAL2hvdGVudC11aS11dGlsLmpzJw0KaW1wb3J0IHJlcSBmcm9tICdAL3JlcXVlc3QuanMnDQppbXBvcnQgew0KICBFeHRlbmRQYXJhbXNNaXhpbg0KfSBmcm9tICdAL21peGlucy9leHRlbmRQYXJhbXMuanMnDQppbXBvcnQgew0KICBtYXBTdGF0ZQ0KfSBmcm9tICd2dWV4Jw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdGb3JtRGlhbG9nJywNCiAgbWl4aW5zOiBbRXh0ZW5kUGFyYW1zTWl4aW5dLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICB2aXNpYmxlOiBmYWxzZSwNCiAgICAgIHBhcmFtczogew0KICAgICAgICBjb250cmFjdENvZGU6ICcnLCAvL+WQiOWQjOe8lueggQ0KICAgICAgICBjb250cmFjdE5hbWU6ICcnLCAvL+WQiOWQjOWQjeensA0KICAgICAgICBjb250cmFjdFN0YXR1czogJycsIC8v5ZCI5ZCM54q25oCBKDHvvJrov5vooYzkuK3vvIwy77ya5bey5a6M5oiQKQ0KICAgICAgICBjb250cmFjdFR5cGU6ICcnLCAvL+WQiOWQjOexu+Wei++8iDHvvJrph4fotK3lkIjlkIzvvIwy77ya5bu66K6+5ZCI5ZCM77yMM++8mui/kOe7tOWQiOWQjO+8iQ0KICAgICAgICBlbmREYXRlOiAnJywgLy/nu5PmnZ/ml7bpl7QNCiAgICAgICAgbWVtbzogJycsIC8v5aSH5rOoDQogICAgICAgIHBlcnNvbkxpYWJsZTogJycsIC8v6LSj5Lu75Lq6DQogICAgICAgIHNpZ25EYXRlOiAnJywgLy/nrb7orqLml6XmnJ8NCiAgICAgICAgc3RhcnREYXRlOiAnJywgLy/lvIDlp4vml7bpl7QNCiAgICAgICAgY29tcGFueU5hbWU6ICcnLA0KICAgICAgICByZWxhdGlvblN1cHBsaWVyQ29udHJhY3Q6IHsNCiAgICAgICAgICBjb21wYW55SWQ6ICcnDQogICAgICAgIH0sDQogICAgICAgIGlkOiBudWxsDQogICAgICB9LA0KICAgICAgZmlsZUFSUkxpc3Q6IFtdLA0KICAgICAgdGl0bGU6ICfmlrDlop4nLA0KICAgICAgdXNlcklkOiAnJywgLy/lvZPliY3nmbvlvZXkurrnmoRJRA0KICAgICAgYWN0aXZlQ29sbGFwc2U6ICcxJywNCiAgICAgIGNvbnRyYWN0VHlwZXM6IFtdLA0KICAgICAgY29udHJhY3RTdGF0dXNMaXN0OiBbew0KICAgICAgICB2YWx1ZTogJzEnLA0KICAgICAgICBuYW1lOiAn6L+b6KGM5LitJw0KICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHZhbHVlOiAnMicsDQogICAgICAgICAgbmFtZTogJ+W3suWujOaIkCcNCiAgICAgICAgfQ0KICAgICAgXSwNCiAgICAgIHVwbG9hZFVybDogd2luZG93LmNvbnRleHQucG9ydGFsICsgJy9maWxlL3YxL3VwbG9hZEZpbGVGb3JDb25maWcnLCAvLyDmnI3liqHlmajkuIrkvKDlnLDlnYANCiAgICAgIGFjY2VwdDogJy5ibXAsLmpwZywucG5nLC50aWYsLmdpZiwucGN4LC50Z2EsLmV4aWYsLmZweCwuc3ZnLC5wc2QsLmNkciwucGNkLC5keGYsLnVmbywuZXBzLC5haSwucmF3LC5XTUYsLndlYnAsLmF2aWYsLmFwbmcsLnhscywuZG9jeCwuZG9jbSwuZG9jLC5kb3R4LC5wcHR4LC5wcHRtLC5wcHQsLnBkZiwueHBzLC5wb3R4LC50eHQsLnhscywueGxzeCwueHBzLC56aXAsLnJhciwuN3onLA0KICAgICAgZmlsZUxpc3Q6IFtdLA0KICAgICAgYXJyTGlzdDogW10sDQogICAgICBzdXBwbGllckxpc3Q6IFtdLCAvLyDkvpvlupTllYbmlbDmja7liJfooagNCiAgICAgIHJ1bGVzOiB7DQogICAgICAgIGNvbnRyYWN0Q29kZTogW3sNCiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWlMjDlrZfku6XlhoXnmoTlkIjlkIznvJbnoIEnLA0KICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICBtYXg6IDIwDQogICAgICAgIH1dLA0KICAgICAgICBjb250cmFjdFR5cGU6IFt7DQogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeWQiOWQjOexu+WeiycsDQogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInDQogICAgICAgIH1dLA0KICAgICAgICBjb250cmFjdE5hbWU6IFt7DQogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpTMw5a2X5Lul5YaF55qE5ZCI5ZCM57yW56CBJywNCiAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgbWF4OiAzMA0KICAgICAgICB9XSwNCiAgICAgICAgcGVyc29uTGlhYmxlOiBbew0KICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaUzMOWtl+S7peWGheeahOi0o+S7u+S6uicsDQogICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIG1heDogMjANCiAgICAgICAgfV0sDQogICAgICAgIHNpZ25EYXRlOiBbew0KICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6nlkIjlkIznrb7orqLml7bpl7QnLA0KICAgICAgICAgIHRyaWdnZXI6ICdibHVyJw0KICAgICAgICB9XSwNCiAgICAgICAgY29udHJhY3RTdGF0dXM6IFt7DQogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeWQiOWQjOeKtuaAgScsDQogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInDQogICAgICAgIH1dLA0KICAgICAgICBzdGFydERhdGU6IFt7DQogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeWQiOWQjOW8gOWni+aXtumXtCcsDQogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInDQogICAgICAgIH1dLA0KICAgICAgICBlbmREYXRlOiBbew0KICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6nlkIjlkIznu5PmnZ/ml7bpl7QnLA0KICAgICAgICAgIHRyaWdnZXI6ICdibHVyJw0KICAgICAgICB9XSwNCiAgICAgICAgLy8gY29tcGFueU5hbWU6IFt7DQogICAgICAgIC8vICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgIC8vICAgbWVzc2FnZTogJ+ivt+mAieaLqeS+m+W6lOWVhicsDQogICAgICAgIC8vICAgdHJpZ2dlcjogJ2JsdXInDQogICAgICAgIC8vIH1dLA0KICAgICAgICBtZW1vOiBbew0KICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwNCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicsDQogICAgICAgICAgbWF4OiA1MDANCiAgICAgICAgfV0NCiAgICAgIH0sDQogICAgICBxdWVyeVBhcm1hczogew0KICAgICAgICBwYWdlQmVhbjogew0KICAgICAgICAgIHBhZ2U6IDEsDQogICAgICAgICAgcGFnZVNpemU6IC0xLA0KICAgICAgICAgIHNob3dUb3RhbDogdHJ1ZQ0KICAgICAgICB9LA0KICAgICAgICBxdWVyeXM6IFt7DQogICAgICAgICAgZ3JvdXA6ICdtYWluJywNCiAgICAgICAgICBvcGVyYXRpb246ICdFUVVBTCcsDQogICAgICAgICAgcHJvcGVydHk6ICdiaXpfaWRfJywNCiAgICAgICAgICByZWxhdGlvbjogJ0FORCcsDQogICAgICAgICAgdmFsdWU6ICcnDQogICAgICAgIH1dDQogICAgICB9LA0KICAgICAgcHJldmlld0ltZ1VybDogJycsDQogICAgICBpc1Nob3dQcmV2aWV3OiBmYWxzZQ0KICAgIH0NCiAgfSwNCiAgYXN5bmMgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmNvbnRyYWN0VHlwZXMgPSBkaWN0Q29udHJhY3RzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnaHRseCcpDQogICAgdGhpcy5jb21wYW55VHlwZSA9IGRpY3RDb250cmFjdHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCdkd2x4JykNCiAgICAvLyBhd2FpdCB0aGlzLmdldEV4dGVuZFBhcmFtcygzKQ0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIHRoaXMuZ2V0U3VwcGxpZXJJbmZvKCkNCiAgfSwNCiAgY29tcHV0ZWQ6IG1hcFN0YXRlKHsNCiAgICBoZWFkZXI6IChzdGF0ZSkgPT4gew0KICAgICAgcmV0dXJuIHsNCiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3N0YXRlLmxvZ2luLmN1cnJlbnRVc2VyLnRva2VufWANCiAgICAgIH0NCiAgICB9LA0KICAgIHByZXZpZXdVcmw6IF8gPT4gd2luZG93LmNvbnRleHQucG9ydGFsICsgJy9maWxlL29ubGluZVByZXZpZXdDb250cm9sbGVyL3YxL2dldEZpbGVCeUlkXycNCiAgfSksDQogIG1ldGhvZHM6IHsNCiAgICBhZGQoKSB7DQogICAgICAvLyB0aGlzLmhhbmRsZUV4dGVuZFBhcmFtc01peGluKCkNCiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWUNCiAgICAgIHRoaXMucGFyYW1zLmNvbnRyYWN0VHlwZSA9IHRoaXMuY29udHJhY3RUeXBlc1swXS52YWx1ZQ0KICAgICAgdGhpcy5wYXJhbXMuY29udHJhY3RTdGF0dXMgPSB0aGlzLmNvbnRyYWN0U3RhdHVzTGlzdFswXS52YWx1ZQ0KICAgIH0sDQogICAgLy8gcmVtb3ZlVXBsb2FkKHZhbCkgew0KICAgIC8vICAgY29uc29sZS5sb2codmFsKQ0KICAgIC8vIH0sDQogICAgdXBsb2FkU3VjY2VzcyhyZXMpIHsNCiAgICAgIGlmIChyZXMpIHsNCiAgICAgICAgdGhpcy5hcnJMaXN0LnB1c2goew0KICAgICAgICAgIGZpbGVOYW1lOiByZXMuZmlsZU5hbWUsDQogICAgICAgICAgaWQ6IHJlcy5maWxlSWQNCiAgICAgICAgfSkNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIC8vIOaPkOekuuS/oeaBr++8jOmcgOW8leWFpU1lc3NhZ2UNCiAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcign5LiK5Lyg5aSx6LSl77yBJykNCiAgICAgIH0NCiAgICB9LA0KICAgIGdldEFzeW5jRGF0YShpZHMpIHsNCiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7DQogICAgICAgIHJlcS5nZXQod2luZG93LmNvbnRleHQuZm9ybSArICcvZmlsZS92MS9kb3dubG9hZEZpbGU/ZmlsZUlkPScgKyBpZHMpDQogICAgICB9KQ0KICAgIH0sDQogICAgLy/pmYTku7bkuIvovb0NCiAgICBkb3dubG9hZFRleHQoKSB7DQogICAgICBpZiAodGhpcy5maWxlTGlzdC5sZW5ndGggPT0gMCkgew0KICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCfmsqHmnInpmYTku7blhoXlrrknKQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy5maWxlTGlzdC5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXN5bmNEYXRhKGl0ZW0uYml6SWQpDQogICAgICAgIH0pDQogICAgICB9DQogICAgfSwNCiAgICBiZWZvcmVSZW1vdmUoZmlsZSwgZmlsZUxpc3QpIHsNCiAgICAgIGlmIChmaWxlLmNyZWF0ZUJ5ID09IHRoaXMudXNlcklkKSB7DQogICAgICAgIHRoaXMuZmlsZUFSUkxpc3QucHVzaChmaWxlLmJpeklkKQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZSh7DQogICAgICAgICAgbWVzc2FnZTogJ+aCqOayoeacieadg+mZkCcsDQogICAgICAgICAgdHlwZTogJ3dhcm5pbmcnDQogICAgICAgIH0pDQogICAgICAgIHJldHVybiBmYWxzZQ0KICAgICAgfQ0KICAgIH0sDQogICAgYmVmb3JlVXBsb2FkKGZpbGUpIHsNCiAgICAgIHJldHVybiB0cnVlDQogICAgfSwNCiAgICBhc3luYyBlZGl0KHJvdykgew0KICAgICAgdGhpcy5maWxlTGlzdCA9IFtdDQogICAgICAvL+iOt+WPlueUqOaIt+S/oeaBrw0KICAgICAgLy8g6I635Y+W5omp5bGV5a2X5q615YC8DQogICAgICAvLyBhd2FpdCB0aGlzLmdldEV4dGVuZFBhcmFtc0RhdGEoMywgcm93LmlkKQ0KICAgICAgLy8g5omp5bGV5a2X5q615re35YWl5Yiw6KGo5Y2V57uR5a6a5pWw5o2u5LitDQogICAgICAvLyB0aGlzLmhhbmRsZUV4dGVuZFBhcmFtc01peGluKCkNCiAgICAgIGNvbnRyYWN0TWFuYWdlLmNvbnRyYWN0RGV0YWlsKHJvdy5pZCkudGhlbigocmVzKSA9PiB7DQogICAgICAgIHRoaXMucGFyYW1zLmNvbnRyYWN0Q29kZSA9IHJlcy5jb250cmFjdENvZGUNCiAgICAgICAgdGhpcy5wYXJhbXMuY29udHJhY3ROYW1lID0gcmVzLmNvbnRyYWN0TmFtZQ0KICAgICAgICB0aGlzLnBhcmFtcy5jb250cmFjdFN0YXR1cyA9IHJlcy5jb250cmFjdFN0YXR1cw0KICAgICAgICB0aGlzLnBhcmFtcy5jb250cmFjdFR5cGUgPSByZXMuY29udHJhY3RUeXBlDQogICAgICAgIHRoaXMucGFyYW1zLmVuZERhdGUgPSByZXMuZW5kRGF0ZQ0KICAgICAgICB0aGlzLnBhcmFtcy5zaWduRGF0ZSA9IHJlcy5zaWduRGF0ZQ0KICAgICAgICB0aGlzLnBhcmFtcy5zdGFydERhdGUgPSByZXMuc3RhcnREYXRlDQogICAgICAgIHRoaXMucGFyYW1zLmlkID0gcmVzLmlkDQogICAgICAgIHRoaXMucGFyYW1zLnJlbGF0aW9uU3VwcGxpZXJDb250cmFjdC5jb21wYW55SWQgPQ0KICAgICAgICAgIHJlcy5yZWxhdGlvblN1cHBsaWVyQ29udHJhY3QuY29tcGFueUlkDQogICAgICAgIHRoaXMucGFyYW1zLnBlcnNvbkxpYWJsZSA9IHJlcy5wZXJzb25MaWFibGUNCiAgICAgICAgdGhpcy5wYXJhbXMubWVtbyA9IHJlcy5tZW1vDQogICAgICAgIHRoaXMucGFyYW1zLmNvbXBhbnlOYW1lID0gcm93LmNvbXBhbnlOYW1lDQogICAgICAgIHRoaXMucXVlcnlQYXJtYXMucXVlcnlzWzBdLnZhbHVlID0gcmVzLmlkDQogICAgICAgIGNvbnRyYWN0TWFuYWdlLnF1ZXJ5RmlsZSh0aGlzLnF1ZXJ5UGFybWFzLCAocmVwKSA9PiB7DQogICAgICAgICAgaWYgKHJlcC5yb3dzKSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZyhyZXAsIDU1NSkNCiAgICAgICAgICAgIHJlcC5yb3dzLmZvckVhY2goKHApID0+IHsNCiAgICAgICAgICAgICAgbGV0IGFyciA9IHsNCiAgICAgICAgICAgICAgICBiaXpJZDogcC5pZCwNCiAgICAgICAgICAgICAgICBuYW1lOiBwLmZpbGVOYW1lICsgJy4nICsgcC5leHRlbnNpb25OYW1lLA0KICAgICAgICAgICAgICAgIGNyZWF0ZUJ5OiBwLmNyZWF0ZUJ5DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgdGhpcy5maWxlTGlzdC5wdXNoKGFycikNCiAgICAgICAgICAgIH0pDQogICAgICAgICAgfQ0KICAgICAgICB9KQ0KICAgICAgfSkNCiAgICAgIHRoaXMudGl0bGUgPSAn5L+u5pS5Jw0KICAgICAgY29udHJhY3RNYW5hZ2UuZ2V0VXNlckluZm8oKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgdGhpcy51c2VySWQgPSByZXMudXNlci5pZA0KICAgICAgfSkNCiAgICAgIC8vICBjb25zb2xlLmxvZyh0aGlzLnVzZXJJZCwgdGhpcy5maWxlTGlzdCwyMjIpDQogICAgICB0aGlzLnZpc2libGUgPSB0cnVlDQogICAgfSwNCiAgICBzdXBwbGllckNoYW5nZSh2YWx1ZSkgew0KICAgICAgaWYgKHRoaXMucGFyYW1zLnJlbGF0aW9uU3VwcGxpZXJDb250cmFjdC5jb21wYW55SWQgPT0gJycpIHsNCiAgICAgICAgdGhpcy5wYXJhbXMucmVsYXRpb25TdXBwbGllckNvbnRyYWN0LmNvbXBhbnlJZCA9IHZhbHVlDQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLnBhcmFtcy5yZWxhdGlvblN1cHBsaWVyQ29udHJhY3QuY29tcGFueUlkID0gdmFsdWUNCiAgICAgIH0NCiAgICAgIHRoaXMuc3VwcGxpZXJMaXN0LmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgaWYgKHZhbHVlID09IGl0ZW0uaWQgJiYgdGhpcy5wYXJhbXMuY29tcGFueU5hbWUgPT0gJycpIHsNCiAgICAgICAgICB0aGlzLnBhcmFtcy5jb21wYW55TmFtZSA9IGl0ZW0uY29tcGFueU5hbWUNCiAgICAgICAgfQ0KICAgICAgfSkNCiAgICB9LA0KICAgIC8vIOiOt+WPluS+m+W6lOWVhuS/oeaBrw0KICAgIGdldFN1cHBsaWVySW5mbygpIHsNCiAgICAgIGxldCBjb21wYW55VHlwZSA9ICcnDQogICAgICB0aGlzLmNvbXBhbnlUeXBlLmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgaWYgKGl0ZW0ubmFtZSA9PSAn5L6b5bqU5ZWGJykgew0KICAgICAgICAgIGNvbXBhbnlUeXBlID0gaXRlbS52YWx1ZQ0KICAgICAgICB9DQogICAgICB9KQ0KICAgICAgbGV0IGRhdGEgPSB7DQogICAgICAgIHBhZ2VCZWFuOiB7DQogICAgICAgICAgcGFnZTogMSwNCiAgICAgICAgICBwYWdlU2l6ZTogLTEsDQogICAgICAgICAgc2hvd1RvdGFsOiB0cnVlDQogICAgICAgIH0sDQogICAgICAgIHF1ZXJ5czogW3sNCiAgICAgICAgICBncm91cDogJ21haW4nLA0KICAgICAgICAgIG9wZXJhdGlvbjogJ0xJS0UnLA0KICAgICAgICAgIHBhcmVudEdyb3VwOiAnJywNCiAgICAgICAgICBwcm9wZXJ0eTogJ2NvbXBhbnlUeXBlJywNCiAgICAgICAgICByZWxhdGlvbjogJ0FORCcsDQogICAgICAgICAgdmFsdWU6IGNvbXBhbnlUeXBlDQogICAgICAgIH1dDQogICAgICB9DQogICAgICByZXNvdXJjZU1hbmFnZS5sb2FkVW5pdChkYXRhLCAocmVzKSA9PiB7DQogICAgICAgIHRoaXMuc3VwcGxpZXJMaXN0ID0gcmVzLnJvd3MNCiAgICAgICAgdGhpcy4kc2V0KHRoaXMuc3VwcGxpZXJMaXN0KQ0KICAgICAgfSkNCiAgICB9LA0KICAgIC8vIOS/neWtmOWQiOWQjOS/oeaBrw0KICAgIGdvSW5mbygpIHsNCiAgICAgIHRoaXMuJHJlZnMuZm9ybUluZm8udmFsaWRhdGUoKHZhbGlkKSA9PiB7DQogICAgICAgIGlmICh2YWxpZCkgew0KICAgICAgICAgIGlmICh0aGlzLmZpbGVBUlJMaXN0Lmxlbmd0aCkgew0KICAgICAgICAgICAgY29udHJhY3RNYW5hZ2UucmVtb3ZlRmlsZSh0aGlzLmZpbGVBUlJMaXN0LCAocmVzKSA9PiB7DQogICAgICAgICAgICAgIC8vIGlmIChyZXMuc3RhdGUpIHsNCiAgICAgICAgICAgICAgLy8gCXRoaXMuJG5vdGlmeSh7DQogICAgICAgICAgICAgIC8vIAkJdHlwZTogJ3N1Y2Nlc3MnLA0KICAgICAgICAgICAgICAvLyAJCW1lc3NhZ2U6ICfliKDpmaTmiJDlip8nLA0KICAgICAgICAgICAgICAvLyAJCWR1cmF0aW9uOiAyMDAwLA0KICAgICAgICAgICAgICAvLyAJfSkNCiAgICAgICAgICAgICAgLy8gfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgICB9DQogICAgICAgICAgbGV0IHRlbXBEYXRhID0gdXRpbHMuZGVlcENsb25lKHRoaXMucGFyYW1zKQ0KICAgICAgICAgIHRlbXBEYXRhID0gdGhpcy5oYW5kbGVFeHRlbmRQYXJhbXNTYXZlKHRlbXBEYXRhLCAnMycpDQogICAgICAgICAgbGV0IG1ldGhvZA0KICAgICAgICAgIGlmICh0aGlzLnRpdGxlID09PSAn5paw5aKeJykgew0KICAgICAgICAgICAgbWV0aG9kID0gY29udHJhY3RNYW5hZ2UuYWRkQ29udHJhY3QNCiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGl0bGUgPT09ICfkv67mlLknKSB7DQogICAgICAgICAgICBtZXRob2QgPSBjb250cmFjdE1hbmFnZS51cGRhdGVDb250cmFjdA0KICAgICAgICAgIH0NCiAgICAgICAgICBtZXRob2QodGVtcERhdGEpLnRoZW4oKHJlc3BvbnNlKSA9PiB7DQogICAgICAgICAgICBpZiAodGhpcy50aXRsZSA9PT0gJ+aWsOWinicpIHsNCiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXRlKSB7DQogICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm1lc3NhZ2UgJiYgcmVzcG9uc2Uuc3RhdGUpIHsNCiAgICAgICAgICAgICAgICAgIHRoaXMuYXJyTGlzdC5mb3JFYWNoKChlKSA9PiB7DQogICAgICAgICAgICAgICAgICAgIGUuYml6SWQgPSByZXNwb25zZS5tZXNzYWdlDQogICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgY29udHJhY3RNYW5hZ2UuZmlsZVVwbG9hZCh0aGlzLmFyckxpc3QsIChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgew0KICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJG5vdGlmeSh7DQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRpdGxlICsgJ+aIkOWKnycsDQogICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMjAwMA0KICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDbG9zZSgpDQogICAgICAgICAgICAgICAgICAgICAgdGhpcy4kcGFyZW50LmxvYWREYXRhKDEpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgIHRoaXMuJG5vdGlmeSh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywNCiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50aXRsZSArICfmiJDlip8nLA0KICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMjAwMA0KICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKQ0KICAgICAgICAgICAgICAgICAgdGhpcy4kcGFyZW50LmxvYWREYXRhKDEpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZyhyZXNwb25zZS5tZXNzYWdlKQ0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGl0bGUgPT09ICfkv67mlLknKSB7DQogICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuYXJyTGlzdC5mb3JFYWNoKChlKSA9PiB7DQogICAgICAgICAgICAgICAgICBlLmJpeklkID0gdGhpcy5wYXJhbXMuaWQNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIGNvbnRyYWN0TWFuYWdlLmZpbGVVcGxvYWQodGhpcy5hcnJMaXN0LCAocmVzKSA9PiB7DQogICAgICAgICAgICAgICAgICBpZiAocmVzLnN0YXRlKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJG5vdGlmeSh7DQogICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLA0KICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudGl0bGUgKyAn5oiQ5YqfJywNCiAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMjAwMA0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNsb3NlKCkNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcGFyZW50LmxvYWREYXRhKDEpDQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAvLyB0aGlzLiRtZXNzYWdlLndhcm5pbmcocmVzcG9uc2UubWVzc2FnZSkNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgdGhpcy4kbm90aWZ5KHsNCiAgICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJywNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7flrozlloTooajljZXkv6Hmga/vvIEnLA0KICAgICAgICAgICAgZHVyYXRpb246IDIwMDANCiAgICAgICAgICB9KQ0KICAgICAgICB9DQogICAgICB9KQ0KICAgIH0sDQogICAgLy8g5YWz6Zet5paw5aKe5ZCI5ZCM56qX5Y+jDQogICAgaGFuZGxlQ2xvc2UoKSB7DQogICAgICB0aGlzLnBhcmFtcyA9IHsNCiAgICAgICAgY29udHJhY3RDb2RlOiAnJywgLy/lkIjlkIznvJbnoIENCiAgICAgICAgY29udHJhY3ROYW1lOiAnJywgLy/lkIjlkIzlkI3np7ANCiAgICAgICAgY29udHJhY3RTdGF0dXM6ICcnLCAvL+WQiOWQjOeKtuaAgSgx77ya6L+b6KGM5Lit77yMMu+8muW3suWujOaIkCkNCiAgICAgICAgY29udHJhY3RUeXBlOiAnJywgLy/lkIjlkIznsbvlnovvvIgx77ya6YeH6LSt5ZCI5ZCM77yMMu+8muW7uuiuvuWQiOWQjO+8jDPvvJrov5Dnu7TlkIjlkIzvvIkNCiAgICAgICAgZW5kRGF0ZTogJycsIC8v57uT5p2f5pe26Ze0DQogICAgICAgIG1lbW86ICcnLCAvL+Wkh+azqA0KICAgICAgICBwZXJzb25MaWFibGU6ICcnLCAvL+i0o+S7u+S6ug0KICAgICAgICBzaWduRGF0ZTogJycsIC8v562+6K6i5pel5pyfDQogICAgICAgIHN0YXJ0RGF0ZTogJycsIC8v5byA5aeL5pe26Ze0DQogICAgICAgIGNvbXBhbnlOYW1lOiAnJywNCiAgICAgICAgcmVsYXRpb25TdXBwbGllckNvbnRyYWN0OiB7DQogICAgICAgICAgY29tcGFueUlkOiAnJw0KICAgICAgICB9LA0KICAgICAgICBpZDogbnVsbA0KICAgICAgfQ0KICAgICAgdGhpcy50aXRsZSA9ICfmlrDlop4nDQogICAgICB0aGlzLmFjdGl2ZUNvbGxhcHNlID0gJzEnDQogICAgICB0aGlzLmZpbGVMaXN0ID0gW10NCiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlDQogICAgfSwNCg0KICAgIC8vIOeCueWHu+aWh+S7tuWIl+ihqOS4reW3suS4iuS8oOeahOaWh+S7tuaXtueahOmSqeWtkA0KICAgIG9uUHJldmlldyhmaWxlKSB7DQogICAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGUubmFtZSB8fCBmaWxlLnJlc3BvbnNlLmZpbGVOYW1lIHx8ICcnDQogICAgICBjb25zdCBmaWxlSWQgPSBmaWxlLmJpeklkIHx8IGZpbGUucmVzcG9uc2UuZmlsZUlkIHx8ICcnDQogICAgICBjb25zdCBwcmV2aWV3UmVnID0gL1wuKHBuZykkL2kNCiAgICAgIGlmIChwcmV2aWV3UmVnLnRlc3QoZmlsZU5hbWUpICYmIGZpbGVJZCkgew0KICAgICAgICB0aGlzLmlzU2hvd1ByZXZpZXcgPSB0cnVlDQogICAgICAgIHRoaXMucHJldmlld0ltZ1VybCA9IHRoaXMucHJldmlld1VybCArIGZpbGVJZA0KICAgICAgfQ0KICAgIH0NCiAgfQ0KfQ0K"},null]}