{"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\\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\\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:aW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2J6emdqLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FzeW5jVG9HZW5lcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAudGVzdC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanMiOwppbXBvcnQgInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZS5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgZGljdENvbnRyYWN0cyBmcm9tICdAL2NvbXBvbmVudHMvZGljdC9EaWN0U2VsZWN0VXRpbHMuanMnOwppbXBvcnQgY29udHJhY3RNYW5hZ2UgZnJvbSAnQC9hcGkvZGV2aWNlL2NvbnRyYWN0TWFuYWdlLmpzJzsKaW1wb3J0IHJlc291cmNlTWFuYWdlIGZyb20gJ0AvYXBpL2RldmljZS9yZXNvdXJjZU1hbmFnZS5qcyc7CmltcG9ydCB1dGlscyBmcm9tICdAL2hvdGVudC11aS11dGlsLmpzJzsKaW1wb3J0IHJlcSBmcm9tICdAL3JlcXVlc3QuanMnOwppbXBvcnQgeyBFeHRlbmRQYXJhbXNNaXhpbiB9IGZyb20gJ0AvbWl4aW5zL2V4dGVuZFBhcmFtcy5qcyc7CmltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAndnVleCc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnRm9ybURpYWxvZycsCiAgbWl4aW5zOiBbRXh0ZW5kUGFyYW1zTWl4aW5dLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB2aXNpYmxlOiBmYWxzZSwKICAgICAgcGFyYW1zOiB7CiAgICAgICAgY29udHJhY3RDb2RlOiAnJywKICAgICAgICAvL+WQiOWQjOe8lueggQogICAgICAgIGNvbnRyYWN0TmFtZTogJycsCiAgICAgICAgLy/lkIjlkIzlkI3np7AKICAgICAgICBjb250cmFjdFN0YXR1czogJycsCiAgICAgICAgLy/lkIjlkIznirbmgIEoMe+8mui/m+ihjOS4re+8jDLvvJrlt7LlrozmiJApCiAgICAgICAgY29udHJhY3RUeXBlOiAnJywKICAgICAgICAvL+WQiOWQjOexu+Wei++8iDHvvJrph4fotK3lkIjlkIzvvIwy77ya5bu66K6+5ZCI5ZCM77yMM++8mui/kOe7tOWQiOWQjO+8iQogICAgICAgIGVuZERhdGU6ICcnLAogICAgICAgIC8v57uT5p2f5pe26Ze0CiAgICAgICAgbWVtbzogJycsCiAgICAgICAgLy/lpIfms6gKICAgICAgICBwZXJzb25MaWFibGU6ICcnLAogICAgICAgIC8v6LSj5Lu75Lq6CiAgICAgICAgc2lnbkRhdGU6ICcnLAogICAgICAgIC8v562+6K6i5pel5pyfCiAgICAgICAgc3RhcnREYXRlOiAnJywKICAgICAgICAvL+W8gOWni+aXtumXtAogICAgICAgIGNvbXBhbnlOYW1lOiAnJywKICAgICAgICByZWxhdGlvblN1cHBsaWVyQ29udHJhY3Q6IHsKICAgICAgICAgIGNvbXBhbnlJZDogJycKICAgICAgICB9LAogICAgICAgIGlkOiBudWxsCiAgICAgIH0sCiAgICAgIGZpbGVBUlJMaXN0OiBbXSwKICAgICAgdGl0bGU6ICfmlrDlop4nLAogICAgICB1c2VySWQ6ICcnLAogICAgICAvL+W9k+WJjeeZu+W9leS6uueahElECiAgICAgIGFjdGl2ZUNvbGxhcHNlOiAnMScsCiAgICAgIGNvbnRyYWN0VHlwZXM6IFtdLAogICAgICBjb250cmFjdFN0YXR1c0xpc3Q6IFt7CiAgICAgICAgdmFsdWU6ICcxJywKICAgICAgICBuYW1lOiAn6L+b6KGM5LitJwogICAgICB9LCB7CiAgICAgICAgdmFsdWU6ICcyJywKICAgICAgICBuYW1lOiAn5bey5a6M5oiQJwogICAgICB9XSwKICAgICAgdXBsb2FkVXJsOiB3aW5kb3cuY29udGV4dC5wb3J0YWwgKyAnL2ZpbGUvdjEvdXBsb2FkRmlsZUZvckNvbmZpZycsCiAgICAgIC8vIOacjeWKoeWZqOS4iuS8oOWcsOWdgAogICAgICBhY2NlcHQ6ICcuYm1wLC5qcGcsLnBuZywudGlmLC5naWYsLnBjeCwudGdhLC5leGlmLC5mcHgsLnN2ZywucHNkLC5jZHIsLnBjZCwuZHhmLC51Zm8sLmVwcywuYWksLnJhdywuV01GLC53ZWJwLC5hdmlmLC5hcG5nLC54bHMsLmRvY3gsLmRvY20sLmRvYywuZG90eCwucHB0eCwucHB0bSwucHB0LC5wZGYsLnhwcywucG90eCwudHh0LC54bHMsLnhsc3gsLnhwcywuemlwLC5yYXIsLjd6JywKICAgICAgZmlsZUxpc3Q6IFtdLAogICAgICBhcnJMaXN0OiBbXSwKICAgICAgc3VwcGxpZXJMaXN0OiBbXSwKICAgICAgLy8g5L6b5bqU5ZWG5pWw5o2u5YiX6KGoCiAgICAgIHJ1bGVzOiB7CiAgICAgICAgY29udHJhY3RDb2RlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWlMjDlrZfku6XlhoXnmoTlkIjlkIznvJbnoIEnLAogICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLAogICAgICAgICAgbWF4OiAyMAogICAgICAgIH1dLAogICAgICAgIGNvbnRyYWN0VHlwZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeWQiOWQjOexu+WeiycsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICBjb250cmFjdE5hbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaUzMOWtl+S7peWGheeahOWQiOWQjOe8lueggScsCiAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sCiAgICAgICAgICBtYXg6IDMwCiAgICAgICAgfV0sCiAgICAgICAgcGVyc29uTGlhYmxlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWlMzDlrZfku6XlhoXnmoTotKPku7vkuronLAogICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLAogICAgICAgICAgbWF4OiAyMAogICAgICAgIH1dLAogICAgICAgIHNpZ25EYXRlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup5ZCI5ZCM562+6K6i5pe26Ze0JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIGNvbnRyYWN0U3RhdHVzOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup5ZCI5ZCM54q25oCBJywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHN0YXJ0RGF0ZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeWQiOWQjOW8gOWni+aXtumXtCcsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XSwKICAgICAgICBlbmREYXRlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup5ZCI5ZCM57uT5p2f5pe26Ze0JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIC8vIGNvbXBhbnlOYW1lOiBbewogICAgICAgIC8vICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgLy8gICBtZXNzYWdlOiAn6K+36YCJ5oup5L6b5bqU5ZWGJywKICAgICAgICAvLyAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIC8vIH1dLAogICAgICAgIG1lbW86IFt7CiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicsCiAgICAgICAgICBtYXg6IDUwMAogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIHF1ZXJ5UGFybWFzOiB7CiAgICAgICAgcGFnZUJlYW46IHsKICAgICAgICAgIHBhZ2U6IDEsCiAgICAgICAgICBwYWdlU2l6ZTogLTEsCiAgICAgICAgICBzaG93VG90YWw6IHRydWUKICAgICAgICB9LAogICAgICAgIHF1ZXJ5czogW3sKICAgICAgICAgIGdyb3VwOiAnbWFpbicsCiAgICAgICAgICBvcGVyYXRpb246ICdFUVVBTCcsCiAgICAgICAgICBwcm9wZXJ0eTogJ2Jpel9pZF8nLAogICAgICAgICAgcmVsYXRpb246ICdBTkQnLAogICAgICAgICAgdmFsdWU6ICcnCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgcHJldmlld0ltZ1VybDogJycsCiAgICAgIGlzU2hvd1ByZXZpZXc6IGZhbHNlCiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgIF90aGlzLmNvbnRyYWN0VHlwZXMgPSBkaWN0Q29udHJhY3RzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnaHRseCcpOwogICAgICAgICAgICBfdGhpcy5jb21wYW55VHlwZSA9IGRpY3RDb250cmFjdHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCdkd2x4Jyk7CiAgICAgICAgICAgIC8vIGF3YWl0IHRoaXMuZ2V0RXh0ZW5kUGFyYW1zKDMpCiAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgIH0KICAgICAgfSwgX2NhbGxlZSk7CiAgICB9KSkoKTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB0aGlzLmdldFN1cHBsaWVySW5mbygpOwogIH0sCiAgY29tcHV0ZWQ6IG1hcFN0YXRlKHsKICAgIGhlYWRlcjogZnVuY3Rpb24gaGVhZGVyKHN0YXRlKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgQXV0aG9yaXphdGlvbjogIkJlYXJlciAiLmNvbmNhdChzdGF0ZS5sb2dpbi5jdXJyZW50VXNlci50b2tlbikKICAgICAgfTsKICAgIH0sCiAgICBwcmV2aWV3VXJsOiBmdW5jdGlvbiBwcmV2aWV3VXJsKF8pIHsKICAgICAgcmV0dXJuIHdpbmRvdy5jb250ZXh0LnBvcnRhbCArICcvZmlsZS9vbmxpbmVQcmV2aWV3Q29udHJvbGxlci92MS9nZXRGaWxlQnlJZF8nOwogICAgfQogIH0pLAogIG1ldGhvZHM6IHsKICAgIGFkZDogZnVuY3Rpb24gYWRkKCkgewogICAgICAvLyB0aGlzLmhhbmRsZUV4dGVuZFBhcmFtc01peGluKCkKICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTsKICAgICAgdGhpcy5wYXJhbXMuY29udHJhY3RUeXBlID0gdGhpcy5jb250cmFjdFR5cGVzWzBdLnZhbHVlOwogICAgICB0aGlzLnBhcmFtcy5jb250cmFjdFN0YXR1cyA9IHRoaXMuY29udHJhY3RTdGF0dXNMaXN0WzBdLnZhbHVlOwogICAgfSwKICAgIC8vIHJlbW92ZVVwbG9hZCh2YWwpIHsKICAgIC8vICAgY29uc29sZS5sb2codmFsKQogICAgLy8gfSwKICAgIHVwbG9hZFN1Y2Nlc3M6IGZ1bmN0aW9uIHVwbG9hZFN1Y2Nlc3MocmVzKSB7CiAgICAgIGlmIChyZXMpIHsKICAgICAgICB0aGlzLmFyckxpc3QucHVzaCh7CiAgICAgICAgICBmaWxlTmFtZTogcmVzLmZpbGVOYW1lLAogICAgICAgICAgaWQ6IHJlcy5maWxlSWQKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyDmj5DnpLrkv6Hmga/vvIzpnIDlvJXlhaVNZXNzYWdlCiAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcign5LiK5Lyg5aSx6LSl77yBJyk7CiAgICAgIH0KICAgIH0sCiAgICBnZXRBc3luY0RhdGE6IGZ1bmN0aW9uIGdldEFzeW5jRGF0YShpZHMpIHsKICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICByZXEuZ2V0KHdpbmRvdy5jb250ZXh0LmZvcm0gKyAnL2ZpbGUvdjEvZG93bmxvYWRGaWxlP2ZpbGVJZD0nICsgaWRzKTsKICAgICAgfSk7CiAgICB9LAogICAgLy/pmYTku7bkuIvovb0KICAgIGRvd25sb2FkVGV4dDogZnVuY3Rpb24gZG93bmxvYWRUZXh0KCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgaWYgKHRoaXMuZmlsZUxpc3QubGVuZ3RoID09IDApIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCfmsqHmnInpmYTku7blhoXlrrknKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmZpbGVMaXN0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIHJldHVybiBfdGhpczIuZ2V0QXN5bmNEYXRhKGl0ZW0uYml6SWQpOwogICAgICAgIH0pOwogICAgICB9CiAgICB9LAogICAgYmVmb3JlUmVtb3ZlOiBmdW5jdGlvbiBiZWZvcmVSZW1vdmUoZmlsZSwgZmlsZUxpc3QpIHsKICAgICAgaWYgKGZpbGUuY3JlYXRlQnkgPT0gdGhpcy51c2VySWQpIHsKICAgICAgICB0aGlzLmZpbGVBUlJMaXN0LnB1c2goZmlsZS5iaXpJZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICBtZXNzYWdlOiAn5oKo5rKh5pyJ5p2D6ZmQJywKICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJwogICAgICAgIH0pOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSwKICAgIGJlZm9yZVVwbG9hZDogZnVuY3Rpb24gYmVmb3JlVXBsb2FkKGZpbGUpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9LAogICAgZWRpdDogZnVuY3Rpb24gZWRpdChyb3cpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF90aGlzMy5maWxlTGlzdCA9IFtdOwogICAgICAgICAgICAgIC8v6I635Y+W55So5oi35L+h5oGvCiAgICAgICAgICAgICAgLy8g6I635Y+W5omp5bGV5a2X5q615YC8CiAgICAgICAgICAgICAgLy8gYXdhaXQgdGhpcy5nZXRFeHRlbmRQYXJhbXNEYXRhKDMsIHJvdy5pZCkKICAgICAgICAgICAgICAvLyDmianlsZXlrZfmrrXmt7flhaXliLDooajljZXnu5HlrprmlbDmja7kuK0KICAgICAgICAgICAgICAvLyB0aGlzLmhhbmRsZUV4dGVuZFBhcmFtc01peGluKCkKICAgICAgICAgICAgICBjb250cmFjdE1hbmFnZS5jb250cmFjdERldGFpbChyb3cuaWQpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgX3RoaXMzLnBhcmFtcy5jb250cmFjdENvZGUgPSByZXMuY29udHJhY3RDb2RlOwogICAgICAgICAgICAgICAgX3RoaXMzLnBhcmFtcy5jb250cmFjdE5hbWUgPSByZXMuY29udHJhY3ROYW1lOwogICAgICAgICAgICAgICAgX3RoaXMzLnBhcmFtcy5jb250cmFjdFN0YXR1cyA9IHJlcy5jb250cmFjdFN0YXR1czsKICAgICAgICAgICAgICAgIF90aGlzMy5wYXJhbXMuY29udHJhY3RUeXBlID0gcmVzLmNvbnRyYWN0VHlwZTsKICAgICAgICAgICAgICAgIF90aGlzMy5wYXJhbXMuZW5kRGF0ZSA9IHJlcy5lbmREYXRlOwogICAgICAgICAgICAgICAgX3RoaXMzLnBhcmFtcy5zaWduRGF0ZSA9IHJlcy5zaWduRGF0ZTsKICAgICAgICAgICAgICAgIF90aGlzMy5wYXJhbXMuc3RhcnREYXRlID0gcmVzLnN0YXJ0RGF0ZTsKICAgICAgICAgICAgICAgIF90aGlzMy5wYXJhbXMuaWQgPSByZXMuaWQ7CiAgICAgICAgICAgICAgICBfdGhpczMucGFyYW1zLnJlbGF0aW9uU3VwcGxpZXJDb250cmFjdC5jb21wYW55SWQgPSByZXMucmVsYXRpb25TdXBwbGllckNvbnRyYWN0LmNvbXBhbnlJZDsKICAgICAgICAgICAgICAgIF90aGlzMy5wYXJhbXMucGVyc29uTGlhYmxlID0gcmVzLnBlcnNvbkxpYWJsZTsKICAgICAgICAgICAgICAgIF90aGlzMy5wYXJhbXMubWVtbyA9IHJlcy5tZW1vOwogICAgICAgICAgICAgICAgX3RoaXMzLnBhcmFtcy5jb21wYW55TmFtZSA9IHJvdy5jb21wYW55TmFtZTsKICAgICAgICAgICAgICAgIF90aGlzMy5xdWVyeVBhcm1hcy5xdWVyeXNbMF0udmFsdWUgPSByZXMuaWQ7CiAgICAgICAgICAgICAgICBjb250cmFjdE1hbmFnZS5xdWVyeUZpbGUoX3RoaXMzLnF1ZXJ5UGFybWFzLCBmdW5jdGlvbiAocmVwKSB7CiAgICAgICAgICAgICAgICAgIGlmIChyZXAucm93cykgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcCwgNTU1KTsKICAgICAgICAgICAgICAgICAgICByZXAucm93cy5mb3JFYWNoKGZ1bmN0aW9uIChwKSB7CiAgICAgICAgICAgICAgICAgICAgICB2YXIgYXJyID0gewogICAgICAgICAgICAgICAgICAgICAgICBiaXpJZDogcC5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcC5maWxlTmFtZSArICcuJyArIHAuZXh0ZW5zaW9uTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlQnk6IHAuY3JlYXRlQnkKICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICBfdGhpczMuZmlsZUxpc3QucHVzaChhcnIpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICBfdGhpczMudGl0bGUgPSAn5L+u5pS5JzsKICAgICAgICAgICAgICBjb250cmFjdE1hbmFnZS5nZXRVc2VySW5mbygpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgX3RoaXMzLnVzZXJJZCA9IHJlcy51c2VyLmlkOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIC8vICBjb25zb2xlLmxvZyh0aGlzLnVzZXJJZCwgdGhpcy5maWxlTGlzdCwyMjIpCiAgICAgICAgICAgICAgX3RoaXMzLnZpc2libGUgPSB0cnVlOwogICAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTIpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBzdXBwbGllckNoYW5nZTogZnVuY3Rpb24gc3VwcGxpZXJDaGFuZ2UodmFsdWUpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIGlmICh0aGlzLnBhcmFtcy5yZWxhdGlvblN1cHBsaWVyQ29udHJhY3QuY29tcGFueUlkID09ICcnKSB7CiAgICAgICAgdGhpcy5wYXJhbXMucmVsYXRpb25TdXBwbGllckNvbnRyYWN0LmNvbXBhbnlJZCA9IHZhbHVlOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMucGFyYW1zLnJlbGF0aW9uU3VwcGxpZXJDb250cmFjdC5jb21wYW55SWQgPSB2YWx1ZTsKICAgICAgfQogICAgICB0aGlzLnN1cHBsaWVyTGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgaWYgKHZhbHVlID09IGl0ZW0uaWQgJiYgX3RoaXM0LnBhcmFtcy5jb21wYW55TmFtZSA9PSAnJykgewogICAgICAgICAgX3RoaXM0LnBhcmFtcy5jb21wYW55TmFtZSA9IGl0ZW0uY29tcGFueU5hbWU7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICAvLyDojrflj5bkvpvlupTllYbkv6Hmga8KICAgIGdldFN1cHBsaWVySW5mbzogZnVuY3Rpb24gZ2V0U3VwcGxpZXJJbmZvKCkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgdmFyIGNvbXBhbnlUeXBlID0gJyc7CiAgICAgIHRoaXMuY29tcGFueVR5cGUuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIGlmIChpdGVtLm5hbWUgPT0gJ+S+m+W6lOWVhicpIHsKICAgICAgICAgIGNvbXBhbnlUeXBlID0gaXRlbS52YWx1ZTsKICAgICAgICB9CiAgICAgIH0pOwogICAgICB2YXIgZGF0YSA9IHsKICAgICAgICBwYWdlQmVhbjogewogICAgICAgICAgcGFnZTogMSwKICAgICAgICAgIHBhZ2VTaXplOiAtMSwKICAgICAgICAgIHNob3dUb3RhbDogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgcXVlcnlzOiBbewogICAgICAgICAgZ3JvdXA6ICdtYWluJywKICAgICAgICAgIG9wZXJhdGlvbjogJ0xJS0UnLAogICAgICAgICAgcGFyZW50R3JvdXA6ICcnLAogICAgICAgICAgcHJvcGVydHk6ICdjb21wYW55VHlwZScsCiAgICAgICAgICByZWxhdGlvbjogJ0FORCcsCiAgICAgICAgICB2YWx1ZTogY29tcGFueVR5cGUKICAgICAgICB9XQogICAgICB9OwogICAgICByZXNvdXJjZU1hbmFnZS5sb2FkVW5pdChkYXRhLCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM1LnN1cHBsaWVyTGlzdCA9IHJlcy5yb3dzOwogICAgICAgIF90aGlzNS4kc2V0KF90aGlzNS5zdXBwbGllckxpc3QpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDkv53lrZjlkIjlkIzkv6Hmga8KICAgIGdvSW5mbzogZnVuY3Rpb24gZ29JbmZvKCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgdGhpcy4kcmVmcy5mb3JtSW5mby52YWxpZGF0ZShmdW5jdGlvbiAodmFsaWQpIHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGlmIChfdGhpczYuZmlsZUFSUkxpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgIGNvbnRyYWN0TWFuYWdlLnJlbW92ZUZpbGUoX3RoaXM2LmZpbGVBUlJMaXN0LCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgICAgLy8gaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgICAgIC8vIAl0aGlzLiRub3RpZnkoewogICAgICAgICAgICAgIC8vIAkJdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgIC8vIAkJbWVzc2FnZTogJ+WIoOmZpOaIkOWKnycsCiAgICAgICAgICAgICAgLy8gCQlkdXJhdGlvbjogMjAwMCwKICAgICAgICAgICAgICAvLyAJfSkKICAgICAgICAgICAgICAvLyB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgICAgdmFyIHRlbXBEYXRhID0gdXRpbHMuZGVlcENsb25lKF90aGlzNi5wYXJhbXMpOwogICAgICAgICAgdGVtcERhdGEgPSBfdGhpczYuaGFuZGxlRXh0ZW5kUGFyYW1zU2F2ZSh0ZW1wRGF0YSwgJzMnKTsKICAgICAgICAgIHZhciBtZXRob2Q7CiAgICAgICAgICBpZiAoX3RoaXM2LnRpdGxlID09PSAn5paw5aKeJykgewogICAgICAgICAgICBtZXRob2QgPSBjb250cmFjdE1hbmFnZS5hZGRDb250cmFjdDsKICAgICAgICAgIH0gZWxzZSBpZiAoX3RoaXM2LnRpdGxlID09PSAn5L+u5pS5JykgewogICAgICAgICAgICBtZXRob2QgPSBjb250cmFjdE1hbmFnZS51cGRhdGVDb250cmFjdDsKICAgICAgICAgIH0KICAgICAgICAgIG1ldGhvZCh0ZW1wRGF0YSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgICAgaWYgKF90aGlzNi50aXRsZSA9PT0gJ+aWsOWinicpIHsKICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdGUpIHsKICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5tZXNzYWdlICYmIHJlc3BvbnNlLnN0YXRlKSB7CiAgICAgICAgICAgICAgICAgIF90aGlzNi5hcnJMaXN0LmZvckVhY2goZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICBlLmJpeklkID0gcmVzcG9uc2UubWVzc2FnZTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgIGNvbnRyYWN0TWFuYWdlLmZpbGVVcGxvYWQoX3RoaXM2LmFyckxpc3QsIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICAgICAgICBpZiAocmVzLnN0YXRlKSB7CiAgICAgICAgICAgICAgICAgICAgICBfdGhpczYuJG5vdGlmeSh7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogX3RoaXM2LnRpdGxlICsgJ+aIkOWKnycsCiAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAyMDAwCiAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgIF90aGlzNi5oYW5kbGVDbG9zZSgpOwogICAgICAgICAgICAgICAgICAgICAgX3RoaXM2LiRwYXJlbnQubG9hZERhdGEoMSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIF90aGlzNi4kbm90aWZ5KHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsCiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogX3RoaXM2LnRpdGxlICsgJ+aIkOWKnycsCiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDIwMDAKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgIF90aGlzNi5oYW5kbGVDbG9zZSgpOwogICAgICAgICAgICAgICAgICBfdGhpczYuJHBhcmVudC5sb2FkRGF0YSgxKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgX3RoaXM2LiRtZXNzYWdlLndhcm5pbmcocmVzcG9uc2UubWVzc2FnZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKF90aGlzNi50aXRsZSA9PT0gJ+S/ruaUuScpIHsKICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdGUpIHsKICAgICAgICAgICAgICAgIF90aGlzNi5hcnJMaXN0LmZvckVhY2goZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgZS5iaXpJZCA9IF90aGlzNi5wYXJhbXMuaWQ7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGNvbnRyYWN0TWFuYWdlLmZpbGVVcGxvYWQoX3RoaXM2LmFyckxpc3QsIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgICAgICAgICAgIF90aGlzNi4kbm90aWZ5KHsKICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJywKICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IF90aGlzNi50aXRsZSArICfmiJDlip8nLAogICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDIwMDAKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBfdGhpczYuaGFuZGxlQ2xvc2UoKTsKICAgICAgICAgICAgICAgICAgICBfdGhpczYuJHBhcmVudC5sb2FkRGF0YSgxKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIHRoaXMuJG1lc3NhZ2Uud2FybmluZyhyZXNwb25zZS5tZXNzYWdlKQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzNi4kbm90aWZ5KHsKICAgICAgICAgICAgdHlwZTogJ3dhcm5pbmcnLAogICAgICAgICAgICBtZXNzYWdlOiAn6K+35a6M5ZaE6KGo5Y2V5L+h5oGv77yBJywKICAgICAgICAgICAgZHVyYXRpb246IDIwMDAKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgLy8g5YWz6Zet5paw5aKe5ZCI5ZCM56qX5Y+jCiAgICBoYW5kbGVDbG9zZTogZnVuY3Rpb24gaGFuZGxlQ2xvc2UoKSB7CiAgICAgIHRoaXMucGFyYW1zID0gewogICAgICAgIGNvbnRyYWN0Q29kZTogJycsCiAgICAgICAgLy/lkIjlkIznvJbnoIEKICAgICAgICBjb250cmFjdE5hbWU6ICcnLAogICAgICAgIC8v5ZCI5ZCM5ZCN56ewCiAgICAgICAgY29udHJhY3RTdGF0dXM6ICcnLAogICAgICAgIC8v5ZCI5ZCM54q25oCBKDHvvJrov5vooYzkuK3vvIwy77ya5bey5a6M5oiQKQogICAgICAgIGNvbnRyYWN0VHlwZTogJycsCiAgICAgICAgLy/lkIjlkIznsbvlnovvvIgx77ya6YeH6LSt5ZCI5ZCM77yMMu+8muW7uuiuvuWQiOWQjO+8jDPvvJrov5Dnu7TlkIjlkIzvvIkKICAgICAgICBlbmREYXRlOiAnJywKICAgICAgICAvL+e7k+adn+aXtumXtAogICAgICAgIG1lbW86ICcnLAogICAgICAgIC8v5aSH5rOoCiAgICAgICAgcGVyc29uTGlhYmxlOiAnJywKICAgICAgICAvL+i0o+S7u+S6ugogICAgICAgIHNpZ25EYXRlOiAnJywKICAgICAgICAvL+etvuiuouaXpeacnwogICAgICAgIHN0YXJ0RGF0ZTogJycsCiAgICAgICAgLy/lvIDlp4vml7bpl7QKICAgICAgICBjb21wYW55TmFtZTogJycsCiAgICAgICAgcmVsYXRpb25TdXBwbGllckNvbnRyYWN0OiB7CiAgICAgICAgICBjb21wYW55SWQ6ICcnCiAgICAgICAgfSwKICAgICAgICBpZDogbnVsbAogICAgICB9OwogICAgICB0aGlzLnRpdGxlID0gJ+aWsOWinic7CiAgICAgIHRoaXMuYWN0aXZlQ29sbGFwc2UgPSAnMSc7CiAgICAgIHRoaXMuZmlsZUxpc3QgPSBbXTsKICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7CiAgICB9LAogICAgLy8g54K55Ye75paH5Lu25YiX6KGo5Lit5bey5LiK5Lyg55qE5paH5Lu25pe255qE6ZKp5a2QCiAgICBvblByZXZpZXc6IGZ1bmN0aW9uIG9uUHJldmlldyhmaWxlKSB7CiAgICAgIHZhciBmaWxlTmFtZSA9IGZpbGUubmFtZSB8fCBmaWxlLnJlc3BvbnNlLmZpbGVOYW1lIHx8ICcnOwogICAgICB2YXIgZmlsZUlkID0gZmlsZS5iaXpJZCB8fCBmaWxlLnJlc3BvbnNlLmZpbGVJZCB8fCAnJzsKICAgICAgdmFyIHByZXZpZXdSZWcgPSAvXC4ocG5nKSQvaTsKICAgICAgaWYgKHByZXZpZXdSZWcudGVzdChmaWxlTmFtZSkgJiYgZmlsZUlkKSB7CiAgICAgICAgdGhpcy5pc1Nob3dQcmV2aWV3ID0gdHJ1ZTsKICAgICAgICB0aGlzLnByZXZpZXdJbWdVcmwgPSB0aGlzLnByZXZpZXdVcmwgKyBmaWxlSWQ7CiAgICAgIH0KICAgIH0KICB9Cn07"},null]}