You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
100 KiB
1 lines
100 KiB
{"remainingRequest":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\project\\infoShow\\queryList.vue?vue&type=script&lang=js&","dependencies":[{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\project\\infoShow\\queryList.vue","mtime":1643081076597},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJGOi93b3Jrc3BhY2UvZ2N5L1JLLWh0bWwvUkstcHJvamVjdC9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQiKS5kZWZhdWx0OwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyIpOwoKcmVxdWlyZSgicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzIik7Cgp2YXIgX2FzeW5jVG9HZW5lcmF0b3IyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJGOi93b3Jrc3BhY2UvZ2N5L1JLLWh0bWwvUkstcHJvamVjdC9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3luY1RvR2VuZXJhdG9yIikpOwoKdmFyIF9pbmZvID0gcmVxdWlyZSgiQC9hcGkvcHJvamVjdC9pbmZvMiIpOwoKdmFyIF9hdXRoID0gcmVxdWlyZSgiQC91dGlscy9hdXRoIik7Cgp2YXIgX0JMWWlUdW9DaGFydCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiLi4vLi4vZGFzaGJvYXJkL0JMWWlUdW9DaGFydCIpKTsKCnZhciBfQmFyQ2hhcnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIi4uLy4uL2Rhc2hib2FyZC9CYXJDaGFydDMiKSk7Cgp2YXIgX0JhckxpbmVDaGFydCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiLi4vLi4vZGFzaGJvYXJkL0JhckxpbmVDaGFydCIpKTsKCnZhciBfaW5mbzIgPSByZXF1aXJlKCJAL2FwaS9wcm9qZWN0L2luZm8zIik7CgovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwp2YXIgX2RlZmF1bHQgPSB7CiAgbmFtZTogIkluZm8iLAogIGNvbXBvbmVudHM6IHsKICAgIEJMWWlUdW9DaGFydDogX0JMWWlUdW9DaGFydC5kZWZhdWx0LAogICAgQmFyQ2hhcnQzOiBfQmFyQ2hhcnQuZGVmYXVsdCwKICAgIEJhckxpbmVDaGFydDogX0JhckxpbmVDaGFydC5kZWZhdWx0CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgempmOiAwLAogICAgICAvLyDkuIrkvKDlj4LmlbAKICAgICAgdXBsb2FkUHJvamVjdDogewogICAgICAgIC8vIOaYr+WQpuaYvuekuuW8ueWHuuWxgu+8iOeUqOaIt+WvvOWFpe+8iQogICAgICAgIG9wZW46IGZhbHNlLAogICAgICAgIC8vIOW8ueWHuuWxguagh+mimO+8iOeUqOaIt+WvvOWFpe+8iQogICAgICAgIHRpdGxlOiAiIiwKICAgICAgICAvLyDmmK/lkKbnpoHnlKjkuIrkvKAKICAgICAgICBpc1VwbG9hZGluZzogZmFsc2UsCiAgICAgICAgLy8g5piv5ZCm5pu05paw5bey57uP5a2Y5Zyo55qE55So5oi35pWw5o2uCiAgICAgICAgdXBkYXRlU3VwcG9ydDogMCwKICAgICAgICAvLyDorr7nva7kuIrkvKDnmoTor7fmsYLlpLTpg6gKICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICBBdXRob3JpemF0aW9uOiAiQmVhcmVyICIgKyAoMCwgX2F1dGguZ2V0VG9rZW4pKCkKICAgICAgICB9LAogICAgICAgIC8vIOS4iuS8oOeahOWcsOWdgAogICAgICAgIHVybDogcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSSArICIvdXBsb2FkL2FkZFByb2plY3QiLAogICAgICAgIHR5cGU6ICdhbGwnLAogICAgICAgIG9wdGlvbjogJ2luc2V0JwogICAgICB9LAogICAgICAvLyDkuIrkvKDlj4LmlbAKICAgICAgdXBsb2FkOiB7CiAgICAgICAgdGl0bGU6ICIiLAogICAgICAgIG9wZW46IGZhbHNlLAogICAgICAgIC8vIOaYr+WQpuemgeeUqOS4iuS8oAogICAgICAgIGlzVXBsb2FkaW5nOiBmYWxzZSwKICAgICAgICAvLyDorr7nva7kuIrkvKDnmoTor7fmsYLlpLTpg6gKICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICBBdXRob3JpemF0aW9uOiAiQmVhcmVyICIgKyAoMCwgX2F1dGguZ2V0VG9rZW4pKCkKICAgICAgICB9LAogICAgICAgIC8vIOS4iuS8oOeahOWcsOWdgAogICAgICAgIHVybDogcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSSArICIvcHJvamVjdC9pbmZvL2NvbW1vbi91cGxvYWQiLAogICAgICAgIC8vIOS4iuS8oOeahOaWh+S7tuWIl+ihqAogICAgICAgIGZpbGVMaXN0OiBbXQogICAgICB9LAogICAgICAvLyDpga7nvanlsYIKICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgLy8g6YCJ5Lit5pWw57uECiAgICAgIGlkczogW10sCiAgICAgIC8vIOmdnuWNleS4quemgeeUqAogICAgICBzaW5nbGU6IHRydWUsCiAgICAgIC8vIOmdnuWkmuS4quemgeeUqAogICAgICBtdWx0aXBsZTogdHJ1ZSwKICAgICAgLy8g5pi+56S65pCc57Si5p2h5Lu2CiAgICAgIHNob3dTZWFyY2g6IHRydWUsCiAgICAgIC8vIOaAu+adoeaVsAogICAgICB0b3RhbDogMCwKICAgICAgLy8g44CQ6K+35aGr5YaZ5Yqf6IO95ZCN56ew44CR6KGo5qC85pWw5o2uCiAgICAgIGluZm9MaXN0OiBbXSwKICAgICAgLy8g5by55Ye65bGC5qCH6aKYCiAgICAgIHRpdGxlOiAiIiwKICAgICAgLy8g5piv5ZCm5pi+56S65by55Ye65bGCCiAgICAgIG9wZW46IGZhbHNlLAogICAgICBuYW1lVHVPcGVuOiBmYWxzZSwKICAgICAgdXNlck5hbWVUdU9wZW46IGZhbHNlLAogICAgICB0b3RhbEJ1Z2V0OiBudWxsLAogICAgICBkaWFsb2dGb3JtVmlzaWJsZTogZmFsc2UsCiAgICAgIHN0YXR1c09wdGlvbnM6IFtdLAogICAgICB0eXBlT3B0aW9uczogW10sCiAgICAgIHNlY3JldE9wdGlvbnM6IFtdLAogICAgICBzb3VyY2VPcHRpb25zOiBbXSwKICAgICAgY2F0ZWdvcnlPcHRpb25zOiBbXSwKICAgICAgeWVzTm9PcHRpb25zOiBbXSwKICAgICAgeWVhck9wdGlvbnM6IFtdLAogICAgICB4QXhpc0NlbnRlcjg6IFtdLAogICAgICBzZXJpZXNDZW50ZXI4OiBbXSwKICAgICAgeEF4aXNDZW50ZXI3OiBbXSwKICAgICAgc2VyaWVzQ2VudGVyNzogW10sCiAgICAgIGJsWDogW10sCiAgICAgIGJsTGc6IFtdLAogICAgICBibFNlcjogW10sCiAgICAgIG90VGl0bGU6ICIiLAogICAgICAvLyDmn6Xor6Llj4LmlbAKICAgICAgcXVlcnlQYXJhbXM6IHsKICAgICAgICBwYWdlTnVtOiAxLAogICAgICAgIHBhZ2VTaXplOiAxMCwKICAgICAgICBjYXRlZ29yeTogbnVsbCwKICAgICAgICBjb2RlOiBudWxsLAogICAgICAgIG5hbWU6IG51bGwsCiAgICAgICAgdXNlck5hbWU6IG51bGwsCiAgICAgICAgdHlwZTogbnVsbCwKICAgICAgICBkZXBhcnRtZW50SWQ6IG51bGwsCiAgICAgICAgdXNlcklkOiBudWxsLAogICAgICAgIGRlYWRsaW5lOiBudWxsLAogICAgICAgIHRvdGFsT3V0bGF5OiBudWxsLAogICAgICAgIGZpcnN0T3V0bGF5OiBudWxsLAogICAgICAgIHNlY29uZE91dGxheTogbnVsbCwKICAgICAgICBzdGF0dXM6IG51bGwsCiAgICAgICAgYmVnaW5EYXRlOiBudWxsLAogICAgICAgIGNvbXBsZXRlRGF0ZTogbnVsbCwKICAgICAgICBiZWdpbkRhdGVMWDogbnVsbCwKICAgICAgICBjb21wbGV0ZURhdGVMWDogbnVsbCwKICAgICAgICBlbmREYXRlOiBudWxsLAogICAgICAgIGFwcHJvdmFsRGF0ZTogbnVsbCwKICAgICAgICBpc1NlY3JlY3k6IG51bGwsCiAgICAgICAgc2VjcmVjeUxldmVsOiBudWxsLAogICAgICAgIHNlY3JlY3lUZXJtOiBudWxsLAogICAgICAgIGlzVG9waWM6IG51bGwsCiAgICAgICAgdGFza1RhcmdldDogbnVsbCwKICAgICAgICByZXN1bHRUYXJnZXQ6IG51bGwsCiAgICAgICAgbWV0aG9kUm91dGU6IG51bGwsCiAgICAgICAgcGxhbjogbnVsbCwKICAgICAgICBzcGVuZEV4cGxhaW46IG51bGwsCiAgICAgICAgcmVseUlkOiBudWxsLAogICAgICAgIGxhc3REYXRlOiBudWxsLAogICAgICAgIHJldmlld1N0YXR1c1hiOiBudWxsLAogICAgICAgIHJldmlld1N0YXR1c0N3OiBudWxsLAogICAgICAgIHRvdGFsQnVkZ2V0OiBudWxsLAogICAgICAgIGZpcnN0QnVkZ2V0OiBudWxsLAogICAgICAgIHNlY29uZEJ1ZGdldDogbnVsbCwKICAgICAgICBhcHBseUlkOiBudWxsLAogICAgICAgIHByb2plY3RTb3VyY2U6IG51bGwsCiAgICAgICAgcHJvamVjdFNvdXJjZUNvbXBhbnk6IG51bGwsCiAgICAgICAgcmV2aWV3U3RhdHVzWndoOiBudWxsLAogICAgICAgIGlzQWdyZWVtZW50OiBudWxsLAogICAgICAgIHJlbHlVbml0SGVhZDogbnVsbCwKICAgICAgICByZWx5VW5pdEhlYWR0b2N3OiBudWxsLAogICAgICAgIHRhc2tQZXJpb2Q6IG51bGwsCiAgICAgICAgb3RoZXJwbGFuOiBudWxsLAogICAgICAgIHBvaW50OiBudWxsLAogICAgICAgIHJlc3VsdDogbnVsbCwKICAgICAgICBpbnRyb2R1Y3Rpb246IG51bGwsCiAgICAgICAgcHJvcHJvdGlvbjogbnVsbCwKICAgICAgICB0ZXJtOiBudWxsLAogICAgICAgIHBpc2hpU3RhdHVzOiBudWxsLAogICAgICAgIHllYXJSYWRpbzI6IG51bGwsCiAgICAgICAgcHJvUGVvcE5hbWU6IG51bGwsCiAgICAgICAgeWl0dW9BcmVhOiBudWxsLAogICAgICAgIGlzUmVzdWx0OiBudWxsLAogICAgICAgIGltcG9ydGFudEtleTogbnVsbCwKICAgICAgICBzZWFyY2hWYWx1ZTogbnVsbAogICAgICB9LAogICAgICAvLyDooajljZXlj4LmlbAKICAgICAgZm9ybToge30sCiAgICAgIC8vIOihqOWNleagoemqjAogICAgICBydWxlczoge30sCiAgICAgIGZvcm1Db3VudGVuOiB7CiAgICAgICAgbmFtZTogJycsCiAgICAgICAgcmVnaW9uOiAnJywKICAgICAgICBkYXRlMTogJycsCiAgICAgICAgZGF0ZTI6ICcnLAogICAgICAgIGRlbGl2ZXJ5OiBmYWxzZSwKICAgICAgICB0eXBlOiBbXSwKICAgICAgICByZXNvdXJjZTogJycsCiAgICAgICAgZGVzYzogJycKICAgICAgfSwKICAgICAgZm9ybUxhYmVsV2lkdGg6ICcxMjBweCcsCiAgICAgIGV4Y2VsVHlwZTogW3sKICAgICAgICBuYW1lOiAnQUxMJywKICAgICAgICB2YWx1ZTogJ2FsbCcKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfpobnnm64nLAogICAgICAgIHZhbHVlOiAncHJvamVjdEV4cG9ydCcKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfor77popgnLAogICAgICAgIHZhbHVlOiAndG9waWNFeHBvcnQnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5LiT6aKYJywKICAgICAgICB2YWx1ZTogJ3NwZWNpYWxFeHBvcnQnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5L6d5omY5Y2V5L2NJywKICAgICAgICB2YWx1ZTogJ2RlcHRFeHBvcnQnCiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5Y+C5LiO5Lq65ZGY5L+h5oGvJywKICAgICAgICB2YWx1ZTogJ3BhcnRpY2lwYW50c0V4cG9ydCcKICAgICAgfSwgewogICAgICAgIG5hbWU6ICfnrqHnkIbmiqXlkYonLAogICAgICAgIHZhbHVlOiAncmVwb3J0RXhwb3J0JwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+S7u+WKoeS5picsCiAgICAgICAgdmFsdWU6ICdib29rRXhwb3J0JwogICAgICB9XSwKICAgICAgZXhjZWxPcHRpb246IFt7CiAgICAgICAgbmFtZTogJ+a3u+WKoCcsCiAgICAgICAgdmFsdWU6ICdpbnNldCcsCiAgICAgICAgdXJsOiAnL3VwbG9hZC9hZGRQcm9qZWN0JwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+S/ruaUuScsCiAgICAgICAgdmFsdWU6ICd1cGRhdGUnLAogICAgICAgIHVybDogJy91cGxvYWQvbW9kaWZ5RGF0YScKICAgICAgfV0KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKCiAgICBpZiAodGhpcy4kcm91dGUucXVlcnkueWVhclJhZGlvMikgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnllYXJSYWRpbzIgPSB0aGlzLiRyb3V0ZS5xdWVyeS55ZWFyUmFkaW8yOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy55ZWFyUmFkaW8yID0gIjAiOwogICAgfQoKICAgIGlmICh0aGlzLiRyb3V0ZS5xdWVyeS5zZWNyZWN5TGV2ZWwpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy5zZWNyZWN5TGV2ZWwgPSB0aGlzLiRyb3V0ZS5xdWVyeS5zZWNyZWN5TGV2ZWw7CiAgICB9IGVsc2UgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnNlY3JlY3lMZXZlbCA9ICIwIjsKICAgIH0KCiAgICBpZiAodGhpcy4kcm91dGUucXVlcnkudHlwZSkgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnR5cGUgPSB0aGlzLiRyb3V0ZS5xdWVyeS50eXBlOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy50eXBlID0gIjAiOwogICAgfQoKICAgIGlmICh0aGlzLiRyb3V0ZS5xdWVyeS5kZXBhcnRtZW50SWQpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZXBhcnRtZW50SWQgPSB0aGlzLiRyb3V0ZS5xdWVyeS5kZXBhcnRtZW50SWQ7CiAgICB9IGVsc2UgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmRlcGFydG1lbnRJZCA9ICIwIjsKICAgIH0KCiAgICB0aGlzLnF1ZXJ5UGFyYW1zLnlpdHVvVW5pdCA9IHRoaXMuJHJvdXRlLnF1ZXJ5LnlpdHVvVW5pdDsKICAgIHRoaXMucXVlcnlQYXJhbXMudXNlck5hbWUgPSB0aGlzLiRyb3V0ZS5xdWVyeS51c2VyTmFtZTsKICAgIHRoaXMucXVlcnlQYXJhbXMuaW1wb3J0YW50S2V5ID0gdGhpcy4kcm91dGUucXVlcnkuaW1wb3J0YW50S2V5OwogICAgdGhpcy5xdWVyeVBhcmFtcy55aXR1b0FyZWEgPSB0aGlzLiRyb3V0ZS5xdWVyeS55aXR1b0FyZWE7IC8vIHRoaXMucXVlcnlQYXJhbXMueWVhclJhZGlvID0gdGhpcy4kcm91dGUucXVlcnkueWVhclJhZGlvOwogICAgLy8KICAgIC8vIHRoaXMucXVlcnlQYXJhbXMuaXNSZXN1bHQgPSB0aGlzLiRyb3V0ZS5xdWVyeS5pc1Jlc3VsdDsKICAgIC8vIHRoaXMucXVlcnlQYXJhbXMuc3RhdHVzID0gdGhpcy4kcm91dGUucXVlcnkuc3RhdHVzOwogICAgLy8KICAgIC8vCgogICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwogICAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7CiAgICB0aGlzLnllYXJPcHRpb25zWzBdID0geWVhcjsKICAgIHRoaXMueWVhck9wdGlvbnNbMV0gPSB5ZWFyIC0gMTsKICAgIHRoaXMueWVhck9wdGlvbnNbMl0gPSB5ZWFyIC0gMjsKICAgIHRoaXMueWVhck9wdGlvbnNbM10gPSB5ZWFyIC0gMzsKICAgIHRoaXMueWVhck9wdGlvbnNbNF0gPSB5ZWFyIC0gNDsKICAgIHRoaXMueWVhck9wdGlvbnNbNV0gPSB5ZWFyIC0gNTsKICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgdGhpcy5nZXREaWN0cygicHJvX3R5cGUiKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICBfdGhpcy50eXBlT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0RGljdHMoInByb19zZWNyZXRfbGV2ZWwiKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICBfdGhpcy5zZWNyZXRPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgIH0pOwogICAgdGhpcy5nZXREaWN0cygicHJvX3NvdXJjZSIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLnNvdXJjZU9wdGlvbnMgPSByZXNwb25zZS5kYXRhOwogICAgfSk7CiAgICB0aGlzLmdldERpY3RzKCJwcm9fY2F0ZWdvcnkiKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICBfdGhpcy5jYXRlZ29yeU9wdGlvbnMgPSByZXNwb25zZS5kYXRhOwogICAgfSk7CiAgICB0aGlzLmdldERpY3RzKCJwcm9fc3RhdHVzIikudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgX3RoaXMuc3RhdHVzT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0RGljdHMoInN5c195ZXNfbm8iKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICBfdGhpcy55ZXNOb09wdGlvbnMgPSByZXNwb25zZS5kYXRhOwogICAgfSk7CiAgfSwKICBtZXRob2RzOiB7CiAgICB0YWJsZVJvd0NsYXNzTmFtZTogZnVuY3Rpb24gdGFibGVSb3dDbGFzc05hbWUoX3JlZikgewogICAgICB2YXIgcm93ID0gX3JlZi5yb3csCiAgICAgICAgICByb3dJbmRleCA9IF9yZWYucm93SW5kZXg7CgogICAgICBpZiAoKHJvd0luZGV4ICsgMSkgJSAyID09PSAwKSB7CiAgICAgICAgcmV0dXJuICJ3YXJuaW5nLXJvdyI7IC8v57G75ZCNCiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICJzdWNjZXNzLXJvdyI7IC8v57G75ZCNCiAgICAgIH0KICAgIH0sCiAgICBzb3J0Q2hhbmdlOiBmdW5jdGlvbiBzb3J0Q2hhbmdlKGNvbHVtbiwgcHJvcCwgb3JkZXIpIHsKICAgICAgaWYgKGNvbHVtbi5wcm9wID09ICJjYXRlZ29yeSIpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNhdGVnb3J5T3JkZXIgPSAiMSI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jb2RlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm5hbWVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ucHJvcCA9PSAiY29kZSIpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNhdGVnb3J5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNvZGVPcmRlciA9ICIxIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm5hbWVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ucHJvcCA9PSAibmFtZSIpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNhdGVnb3J5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNvZGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMubmFtZU9yZGVyID0gIjEiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ucHJvcCA9PSAidHlwZSIpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNhdGVnb3J5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNvZGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMubmFtZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50eXBlT3JkZXIgPSAiMSI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ucHJvcCA9PSAiZGVhZGxpbmUiKSB7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jYXRlZ29yeU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jb2RlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm5hbWVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIjEiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudG90YWxPdXRsYXlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMucHJvamVjdFNvdXJjZU9yZGVyID0gIiI7CiAgICAgIH0gZWxzZSBpZiAoY29sdW1uLnByb3AgPT0gInRvdGFsT3V0bGF5IikgewogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY2F0ZWdvcnlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY29kZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5uYW1lT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnR5cGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuZGVhZGxpbmVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudG90YWxPdXRsYXlPcmRlciA9ICIxIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnByb2plY3RTb3VyY2VPcmRlciA9ICIiOwogICAgICB9IGVsc2UgaWYgKGNvbHVtbi5wcm9wID09ICJwcm9qZWN0U291cmNlIikgewogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY2F0ZWdvcnlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY29kZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5uYW1lT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnR5cGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuZGVhZGxpbmVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudG90YWxPdXRsYXlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMucHJvamVjdFNvdXJjZU9yZGVyID0gIjEiOwogICAgICB9CgogICAgICBpZiAoY29sdW1uLm9yZGVyID09ICJhc2NlbmRpbmciKSB7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5vcmRlclNvcnQgPSAiYXNjIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ub3JkZXIgPT0gImRlc2NlbmRpbmciKSB7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5vcmRlclNvcnQgPSAiZGVzYyI7CiAgICAgIH0KCiAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgfSwKICAgIGlzVG9waWNGb3JtYXQ6IGZ1bmN0aW9uIGlzVG9waWNGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMueWVzTm9PcHRpb25zLCByb3cuaXNUb3BpYyk7CiAgICB9LAogICAgaXNTZWNyZWN5Rm9ybWF0OiBmdW5jdGlvbiBpc1NlY3JlY3lGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMueWVzTm9PcHRpb25zLCByb3cuaXNTZWNyZWN5KTsKICAgIH0sCiAgICB0eXBlRm9ybWF0OiBmdW5jdGlvbiB0eXBlRm9ybWF0KHJvdywgY29sdW1uKSB7CiAgICAgIHJldHVybiB0aGlzLnNlbGVjdERpY3RMYWJlbCh0aGlzLnR5cGVPcHRpb25zLCByb3cudHlwZSk7CiAgICB9LAogICAgc2VjcmV0Rm9ybWF0OiBmdW5jdGlvbiBzZWNyZXRGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMuc2VjcmV0T3B0aW9ucywgcm93LnNlY3JlY3lMZXZlbCk7CiAgICB9LAogICAgY2F0ZWdvcnlGb3JtYXQ6IGZ1bmN0aW9uIGNhdGVnb3J5Rm9ybWF0KHJvdywgY29sdW1uKSB7CiAgICAgIHJldHVybiB0aGlzLnNlbGVjdERpY3RMYWJlbCh0aGlzLmNhdGVnb3J5T3B0aW9ucywgcm93LmNhdGVnb3J5KTsKICAgIH0sCiAgICBzdGF0dXNGb3JtYXQ6IGZ1bmN0aW9uIHN0YXR1c0Zvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy5zdGF0dXNPcHRpb25zLCByb3cuc3RhdHVzKTsKICAgIH0sCiAgICBzb3VyY2VGb3JtYXQ6IGZ1bmN0aW9uIHNvdXJjZUZvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy5zb3VyY2VPcHRpb25zLCByb3cucHJvamVjdFNvdXJjZSk7CiAgICB9LAogICAgZ2V0U3RhdGlzdGljczogZnVuY3Rpb24gZ2V0U3RhdGlzdGljcyhxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICAgICgwLCBfaW5mbzIuc3RhdGlzdGljcykocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICBfdGhpczIuempmID0gcmVzcC5kYXRhLnpqZjsKICAgICAgfSk7CiAgICB9LAoKICAgIC8qKiDlr7zlhaXmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZUltcG9ydDogZnVuY3Rpb24gaGFuZGxlSW1wb3J0KCkgewogICAgICB0aGlzLnVwbG9hZFByb2plY3QudGl0bGUgPSAi6aG555uu5a+85YWlIjsKICAgICAgdGhpcy51cGxvYWRQcm9qZWN0Lm9wZW4gPSB0cnVlOwogICAgfSwKCiAgICAvKiog5p+l6K+i44CQ6K+35aGr5YaZ5Yqf6IO95ZCN56ew44CR5YiX6KGoICovCiAgICBnZXRMaXN0OiBmdW5jdGlvbiBnZXRMaXN0KCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKCiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgICAgICgwLCBfaW5mby5saXN0SW5mbykodGhpcy5xdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczMuaW5mb0xpc3QgPSByZXNwb25zZS5yb3dzOwogICAgICAgIF90aGlzMy50b3RhbCA9IHJlc3BvbnNlLnRvdGFsOwogICAgICAgIF90aGlzMy5sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pOwogICAgICB0aGlzLmdldFN0YXRpc3RpY3ModGhpcy5xdWVyeVBhcmFtcyk7CiAgICB9LAogICAgLy8g5Y+W5raI5oyJ6ZKuCiAgICBjYW5jZWw6IGZ1bmN0aW9uIGNhbmNlbCgpIHsKICAgICAgdGhpcy5vcGVuID0gZmFsc2U7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgIH0sCiAgICAvLyDooajljZXph43nva4KICAgIHJlc2V0OiBmdW5jdGlvbiByZXNldCgpIHsKICAgICAgdGhpcy5mb3JtID0gewogICAgICAgIGlkOiBudWxsLAogICAgICAgIGNhdGVnb3J5OiBudWxsLAogICAgICAgIGNvZGU6IG51bGwsCiAgICAgICAgbmFtZTogbnVsbCwKICAgICAgICB0eXBlOiBudWxsLAogICAgICAgIGRlcGFydG1lbnRJZDogbnVsbCwKICAgICAgICB1c2VySWQ6IG51bGwsCiAgICAgICAgZGVhZGxpbmU6IG51bGwsCiAgICAgICAgdG90YWxPdXRsYXk6IG51bGwsCiAgICAgICAgZmlyc3RPdXRsYXk6IG51bGwsCiAgICAgICAgc2Vjb25kT3V0bGF5OiBudWxsLAogICAgICAgIHN0YXR1czogMCwKICAgICAgICBiZWdpbkRhdGU6IG51bGwsCiAgICAgICAgY29tcGxldGVEYXRlOiBudWxsLAogICAgICAgIGVuZERhdGU6IG51bGwsCiAgICAgICAgYXBwcm92YWxEYXRlOiBudWxsLAogICAgICAgIGlzU2VjcmVjeTogbnVsbCwKICAgICAgICBzZWNyZWN5TGV2ZWw6IG51bGwsCiAgICAgICAgc2VjcmVjeVRlcm06IG51bGwsCiAgICAgICAgaXNUb3BpYzogbnVsbCwKICAgICAgICB0YXNrVGFyZ2V0OiBudWxsLAogICAgICAgIHJlc3VsdFRhcmdldDogbnVsbCwKICAgICAgICBtZXRob2RSb3V0ZTogbnVsbCwKICAgICAgICBwbGFuOiBudWxsLAogICAgICAgIHNwZW5kRXhwbGFpbjogbnVsbCwKICAgICAgICByZWx5SWQ6IG51bGwsCiAgICAgICAgbGFzdERhdGU6IG51bGwsCiAgICAgICAgcmV2aWV3U3RhdHVzWGI6IG51bGwsCiAgICAgICAgcmV2aWV3U3RhdHVzQ3c6IG51bGwsCiAgICAgICAgdG90YWxCdWRnZXQ6IG51bGwsCiAgICAgICAgZmlyc3RCdWRnZXQ6IG51bGwsCiAgICAgICAgc2Vjb25kQnVkZ2V0OiBudWxsLAogICAgICAgIGFwcGx5SWQ6IG51bGwsCiAgICAgICAgcHJvamVjdFNvdXJjZTogbnVsbCwKICAgICAgICBwcm9qZWN0U291cmNlQ29tcGFueTogbnVsbCwKICAgICAgICByZXZpZXdTdGF0dXNad2g6IG51bGwsCiAgICAgICAgaXNBZ3JlZW1lbnQ6IG51bGwsCiAgICAgICAgcmVseVVuaXRIZWFkOiBudWxsLAogICAgICAgIHJlbHlVbml0SGVhZHRvY3c6IG51bGwsCiAgICAgICAgdGFza1BlcmlvZDogbnVsbCwKICAgICAgICBvdGhlcnBsYW46IG51bGwsCiAgICAgICAgcG9pbnQ6IG51bGwsCiAgICAgICAgcmVzdWx0OiBudWxsLAogICAgICAgIGludHJvZHVjdGlvbjogbnVsbCwKICAgICAgICBwcm9wcm90aW9uOiBudWxsLAogICAgICAgIHRlcm06IG51bGwsCiAgICAgICAgY3JlYXRlQnk6IG51bGwsCiAgICAgICAgY3JlYXRlVGltZTogbnVsbCwKICAgICAgICB1cGRhdGVCeTogbnVsbCwKICAgICAgICB1cGRhdGVUaW1lOiBudWxsLAogICAgICAgIGRlbEZsYWc6IG51bGwKICAgICAgfTsKICAgICAgdGhpcy5yZXNldEZvcm0oImZvcm0iKTsKICAgIH0sCiAgICBsb2dvdXQ6IGZ1bmN0aW9uIGxvZ291dCgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICByZXR1cm4gKDAsIF9hc3luY1RvR2VuZXJhdG9yMi5kZWZhdWx0KSggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgX3RoaXM0LiRjb25maXJtKCfnoa7lrprms6jplIDlubbpgIDlh7rns7vnu5/lkJfvvJ8nLCAn5o+Q56S6JywgewogICAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLAogICAgICAgICAgICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICBfdGhpczQuJHN0b3JlLmRpc3BhdGNoKCdMb2dPdXQnKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5ocmVmID0gJy9pbmRleCc7CiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LnN0b3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCgogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlUXVlcnk6IGZ1bmN0aW9uIGhhbmRsZVF1ZXJ5KCkgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgICAgdGhpcy5nZXRMZWZ0Nyh0aGlzLnF1ZXJ5UGFyYW1zKTsKICAgICAgdGhpcy5nZXRDZW50ZXI4KHRoaXMucXVlcnlQYXJhbXMpOwogICAgICB0aGlzLmdldExlZnQxKHRoaXMucXVlcnlQYXJhbXMpOwogICAgfSwKICAgIGhhbmRsZU5hbWVRdWVyeTogZnVuY3Rpb24gaGFuZGxlTmFtZVF1ZXJ5KCkgewogICAgICB0aGlzLm5hbWVUdU9wZW4gPSB0cnVlOwogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgICAgdGhpcy5nZXRMZWZ0Nyh0aGlzLnF1ZXJ5UGFyYW1zKTsKICAgICAgdGhpcy5nZXRMZWZ0MSh0aGlzLnF1ZXJ5UGFyYW1zKTsgLy8gdGhpcy5nZXRDZW50ZXI4KHRoaXMucXVlcnlQYXJhbXMpOwogICAgfSwKICAgIGhhbmRsZVVzZXJOYW1lUXVlcnk6IGZ1bmN0aW9uIGhhbmRsZVVzZXJOYW1lUXVlcnkoKSB7CiAgICAgIHRoaXMudXNlck5hbWVUdU9wZW4gPSB0cnVlOwogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgICAgdGhpcy5nZXRUb3RhbEJ1Z2V0KHRoaXMucXVlcnlQYXJhbXMpOwogICAgICB0aGlzLmdldENlbnRlcjgodGhpcy5xdWVyeVBhcmFtcyk7CiAgICB9LAogICAgZ2V0VG90YWxCdWdldDogZnVuY3Rpb24gZ2V0VG90YWxCdWdldChxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKCiAgICAgICgwLCBfaW5mbzIudG90YWxCdWdldERhdGEpKHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgX3RoaXM1LnRvdGFsQnVnZXQgPSByZXNwLmRhdGEudG90YWxCdWRnZXQ7CiAgICAgIH0pOwogICAgfSwKICAgIGdldExlZnQxOiBmdW5jdGlvbiBnZXRMZWZ0MShxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIHZhciBwYXJhbSA9IHF1ZXJ5UGFyYW1zLnllYXJSYWRpbzI7CgogICAgICBpZiAocGFyYW0gPT0gJzAnKSB7CiAgICAgICAgcGFyYW0gPSAnOTk5JzsKICAgICAgfQoKICAgICAgKDAsIF9pbmZvMi5sZWZ0MURhdGEpKHsKICAgICAgICB5ZWFyUmFkaW8yOiBwYXJhbQogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgaWYgKHF1ZXJ5UGFyYW1zLnllYXJSYWRpbzIgPT0gJzAnKSB7CiAgICAgICAgICBfdGhpczYub3RUaXRsZSA9ICcyMDE2LeS7iic7CiAgICAgICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy55ZWFyUmFkaW8yID09ICcyMDE1JykgewogICAgICAgICAgX3RoaXM2Lm90VGl0bGUgPSAiMjAxNuW5tOS7peWJjSI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzNi5vdFRpdGxlID0gIjIwMTYt5LuKIjsKICAgICAgICB9CgogICAgICAgIF90aGlzNi5ibExnID0gWyfpobnnm67mlbAnLCAn57uP6LS55pWwJ107CiAgICAgICAgX3RoaXM2LmJsWCA9IHJlc3AuZGF0YS55ZWFyQXJyYXk7CiAgICAgICAgdmFyIHRlbXAgPSBbXTsKICAgICAgICB2YXIgaXRlbSA9IHt9OwogICAgICAgIGl0ZW0ubmFtZSA9ICfpobnnm67mlbAnOwogICAgICAgIGl0ZW0udHlwZSA9ICdiYXInOwogICAgICAgIGl0ZW0uYmFyV2lkdGggPSA1MDsKICAgICAgICBpdGVtLmRhdGEgPSByZXNwLmRhdGEubnVtQXJyYXk7CiAgICAgICAgaXRlbS5pdGVtU3R5bGUgPSB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgLy/ov5nph4zmmK/ph43ngrkKICAgICAgICAgICAgY29sb3I6ICdyZ2IoMjEsMTEyLDE5OCknCiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgICB0ZW1wLnB1c2goaXRlbSk7CiAgICAgICAgdmFyIGl0ZW0xID0ge307CiAgICAgICAgaXRlbTEubmFtZSA9ICfnu4/otLnmlbAnOwogICAgICAgIGl0ZW0xLnR5cGUgPSAnbGluZSc7CiAgICAgICAgaXRlbTEueUF4aXNJbmRleCA9IDE7CiAgICAgICAgaXRlbTEuZGF0YSA9IHJlc3AuZGF0YS5idWdldEFycmF5OwogICAgICAgIGl0ZW0xLml0ZW1TdHlsZSA9IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAvL+i/memHjOaYr+mHjeeCuQogICAgICAgICAgICBjb2xvcjogJ3JnYigyMjIsMTc3LDYyKScKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIHRlbXAucHVzaChpdGVtMSk7CiAgICAgICAgX3RoaXM2LmJsU2VyID0gdGVtcDsKICAgICAgfSk7CiAgICB9LAogICAgZ2V0TGVmdDc6IGZ1bmN0aW9uIGdldExlZnQ3KHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczcgPSB0aGlzOwoKICAgICAgKDAsIF9pbmZvMi5sZWZ0N0RhdGEpKHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgaWYgKHF1ZXJ5UGFyYW1zLnllYXJSYWRpbzIgPT0gJzAnKSB7CiAgICAgICAgICBfdGhpczcub3RUaXRsZSA9ICLoh7Pku4oiOwogICAgICAgIH0gZWxzZSBpZiAocXVlcnlQYXJhbXMueWVhclJhZGlvMiA9PSAnMjAxNScpIHsKICAgICAgICAgIF90aGlzNy5vdFRpdGxlID0gIjIwMTblubTku6XliY0iOwogICAgICAgIH0gZWxzZSBpZiAocXVlcnlQYXJhbXMueWVhclJhZGlvMiA9PSAnOTk5JykgewogICAgICAgICAgX3RoaXM3Lm90VGl0bGUgPSAiMjAxNi3ku4oiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczcub3RUaXRsZSA9IHF1ZXJ5UGFyYW1zLnllYXJSYWRpbzIgKyAi5bm0IjsKICAgICAgICB9CgogICAgICAgIHZhciB0ZW1wID0gW107CiAgICAgICAgdmFyIGl0ZW0gPSB7fTsKICAgICAgICBpdGVtLm5hbWUgPSAn57uP6LS55pWwJzsKICAgICAgICBpdGVtLnR5cGUgPSAnYmFyJzsKICAgICAgICBpdGVtLmJhckdhcCA9ICItMTAwJSI7CiAgICAgICAgaXRlbS5kYXRhID0gcmVzcC5kYXRhLnlqZkFycmF5OwogICAgICAgIGl0ZW0uaXRlbVN0eWxlID0gewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIC8v6L+Z6YeM5piv6YeN54K5CiAgICAgICAgICAgIGNvbG9yOiAncmdiKDEyOSwxNjIsMjU1KScKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIHRlbXAucHVzaChpdGVtKTsKICAgICAgICB2YXIgaXRlbTEgPSB7fTsKICAgICAgICBpdGVtMS5uYW1lID0gJ+WunumZhee7j+i0uSc7CiAgICAgICAgaXRlbTEudHlwZSA9ICdiYXInOwogICAgICAgIGl0ZW0xLnlBeGlzSW5kZXggPSAxOwogICAgICAgIGl0ZW0xLmJhckdhcCA9ICItMTAwJSI7CiAgICAgICAgaXRlbTEuZGF0YSA9IHJlc3AuZGF0YS55U2pqZkFycmF5OwogICAgICAgIGl0ZW0xLml0ZW1TdHlsZSA9IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAvL+i/memHjOaYr+mHjeeCuQogICAgICAgICAgICBjb2xvcjogJ3JnYig4NCwxMTEsMTk4KScKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIHRlbXAucHVzaChpdGVtMSk7CiAgICAgICAgdmFyIGl0ZW0yID0ge307CiAgICAgICAgaXRlbTIubmFtZSA9ICfpobnnm67mlbAnOwogICAgICAgIGl0ZW0yLnR5cGUgPSAnbGluZSc7CiAgICAgICAgaXRlbTIueUF4aXNJbmRleCA9IDI7CiAgICAgICAgaXRlbTIuZGF0YSA9IHJlc3AuZGF0YS55TnVtQXJyYXk7CiAgICAgICAgaXRlbTIuaXRlbVN0eWxlID0gewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIC8v6L+Z6YeM5piv6YeN54K5CiAgICAgICAgICAgIGNvbG9yOiAncmdiKDIyMiwxNzcsNjIpJwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgdGVtcC5wdXNoKGl0ZW0yKTsKICAgICAgICBfdGhpczcuc2VyaWVzQ2VudGVyNyA9IHRlbXA7CiAgICAgICAgX3RoaXM3LnhBeGlzQ2VudGVyNyA9IHJlc3AuZGF0YS54QXhpc0FycmF5OwogICAgICB9KTsKICAgIH0sCiAgICBnZXRDZW50ZXI4OiBmdW5jdGlvbiBnZXRDZW50ZXI4KHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwoKICAgICAgKDAsIF9pbmZvMi5jZW50ZXI4RGF0YSkocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICBpZiAocXVlcnlQYXJhbXMueWVhclJhZGlvMiA9PSAnMCcpIHsKICAgICAgICAgIF90aGlzOC5vdFRpdGxlID0gIuiHs+S7iiI7CiAgICAgICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy55ZWFyUmFkaW8yID09ICcyMDE1JykgewogICAgICAgICAgX3RoaXM4Lm90VGl0bGUgPSAiMjAxNuW5tOS7peWJjSI7CiAgICAgICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy55ZWFyUmFkaW8yID09ICc5OTknKSB7CiAgICAgICAgICBfdGhpczgub3RUaXRsZSA9ICIyMDE2LeS7iiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzOC5vdFRpdGxlID0gcXVlcnlQYXJhbXMueWVhclJhZGlvMiArICLlubQiOwogICAgICAgIH0KCiAgICAgICAgX3RoaXM4LnNlcmllc0NlbnRlcjggPSByZXNwLmRhdGEueEF4aXNBcnJheTsKICAgICAgICBfdGhpczgueEF4aXNDZW50ZXI4ID0gcmVzcC5kYXRhLnlBeGlzQXJyYXk7CiAgICAgIH0pOwogICAgfSwKICAgIHRvWWVhclBhZ2U6IGZ1bmN0aW9uIHRvWWVhclBhZ2UoeWVhcikgey8vIHRoaXMuJHJvdXRlci5wdXNoKHtwYXRoOiIvcHJvamVjdC9pbmZvU2hvdy9xdWVyeSIscXVlcnk6e3llYXJSYWRpbzI6eWVhcn19ICk7CiAgICB9LAogICAgdG95aXR1b1VuaXRQYWdlOiBmdW5jdGlvbiB0b3lpdHVvVW5pdFBhZ2UodW5pdCkgey8vIGxldCB5ZWFyUmFkaW8gPSB0aGlzLnllYXJSYWRpbzI7CiAgICAgIC8vIHRoaXMuJHJvdXRlci5wdXNoKHtwYXRoOiIvcHJvamVjdC9pbmZvU2hvdy9xdWVyeSIscXVlcnk6e3lpdHVvVW5pdDp1bml0LHllYXJSYWRpbzI6eWVhclJhZGlvfX0gKTsKICAgIH0sCiAgICB0b1VzZXJOYW1lUGFnZTogZnVuY3Rpb24gdG9Vc2VyTmFtZVBhZ2UodXNlck5hbWUpIHsvLyBsZXQgeWVhclJhZGlvID0gdGhpcy55ZWFyUmFkaW8yOwogICAgICAvLyB0aGlzLiRyb3V0ZXIucHVzaCh7cGF0aDoiL3Byb2plY3QvaW5mb1Nob3cvcXVlcnkiLHF1ZXJ5Ont1c2VyTmFtZTp1c2VyTmFtZSx5ZWFyUmFkaW8yOnllYXJSYWRpb319ICk7CiAgICB9LAoKICAgIC8qKiDph43nva7mjInpkq7mk43kvZwgKi8KICAgIHJlc2V0UXVlcnk6IGZ1bmN0aW9uIHJlc2V0UXVlcnkoKSB7CiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy55ZWFyUmFkaW8yID0gIjAiOwogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnNlY3JlY3lMZXZlbCA9ICIwIjsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy50eXBlID0gIjAiOwogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmRlcGFydG1lbnRJZCA9ICIwIjsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy5zZWFyY2hWYWx1ZSA9IG51bGw7CiAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKTsKICAgIH0sCiAgICAvLyDlpJrpgInmoYbpgInkuK3mlbDmja4KICAgIGhhbmRsZVNlbGVjdGlvbkNoYW5nZTogZnVuY3Rpb24gaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbikgewogICAgICB0aGlzLmlkcyA9IHNlbGVjdGlvbi5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS5pZDsKICAgICAgfSk7CiAgICAgIHRoaXMuc2luZ2xlID0gc2VsZWN0aW9uLmxlbmd0aCAhPT0gMTsKICAgICAgdGhpcy5tdWx0aXBsZSA9ICFzZWxlY3Rpb24ubGVuZ3RoOwogICAgfSwKCiAgICAvKiog5paw5aKe5oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVBZGQ6IGZ1bmN0aW9uIGhhbmRsZUFkZCgpIHsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICB0aGlzLm9wZW4gPSB0cnVlOwogICAgICB0aGlzLnRpdGxlID0gIua3u+WKoOOAkOivt+Whq+WGmeWKn+iDveWQjeensOOAkSI7CiAgICB9LAoKICAgIC8qKiDkv67mlLnmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZVVwZGF0ZTogZnVuY3Rpb24gaGFuZGxlVXBkYXRlKHJvdykgewogICAgICB2YXIgX3RoaXM5ID0gdGhpczsKCiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgdmFyIGlkID0gcm93LmlkIHx8IHRoaXMuaWRzOwogICAgICAoMCwgX2luZm8uZ2V0SW5mbykoaWQpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM5LmZvcm0gPSByZXNwb25zZS5kYXRhOwogICAgICAgIF90aGlzOS5vcGVuID0gdHJ1ZTsKICAgICAgICBfdGhpczkudGl0bGUgPSAi5L+u5pS544CQ6K+35aGr5YaZ5Yqf6IO95ZCN56ew44CRIjsKICAgICAgfSk7CiAgICB9LAoKICAgIC8qKiDmj5DkuqTmjInpkq4gKi8KICAgIHN1Ym1pdEZvcm06IGZ1bmN0aW9uIHN1Ym1pdEZvcm0oKSB7CiAgICAgIHZhciBfdGhpczEwID0gdGhpczsKCiAgICAgIHRoaXMuJHJlZnNbImZvcm0iXS52YWxpZGF0ZShmdW5jdGlvbiAodmFsaWQpIHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGlmIChfdGhpczEwLmZvcm0uaWQgIT0gbnVsbCkgewogICAgICAgICAgICAoMCwgX2luZm8udXBkYXRlSW5mbykoX3RoaXMxMC5mb3JtKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgICAgICAgIGlmIChyZXNwb25zZS5jb2RlID09PSAyMDApIHsKICAgICAgICAgICAgICAgIF90aGlzMTAubXNnU3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7CgogICAgICAgICAgICAgICAgX3RoaXMxMC5vcGVuID0gZmFsc2U7CgogICAgICAgICAgICAgICAgX3RoaXMxMC5nZXRMaXN0KCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICgwLCBfaW5mby5hZGRJbmZvKShfdGhpczEwLmZvcm0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmNvZGUgPT09IDIwMCkgewogICAgICAgICAgICAgICAgX3RoaXMxMC5tc2dTdWNjZXNzKCLmlrDlop7miJDlip8iKTsKCiAgICAgICAgICAgICAgICBfdGhpczEwLm9wZW4gPSBmYWxzZTsKCiAgICAgICAgICAgICAgICBfdGhpczEwLmdldExpc3QoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIC8qKiDliKDpmaTmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZURlbGV0ZTogZnVuY3Rpb24gaGFuZGxlRGVsZXRlKHJvdykgewogICAgICB2YXIgX3RoaXMxMSA9IHRoaXM7CgogICAgICB2YXIgaWRzID0gcm93LmlkOwogICAgICB0aGlzLiRjb25maXJtKCfmmK/lkKbnoa7orqTliKDpmaTpobnnm67nvJblj7fkuLoiJyArIHJvdy5jb2RlICsgJyLnmoTmlbDmja7pobk/JywgIuitpuWRiiIsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIuehruWumiIsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogIuWPlua2iCIsCiAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAoMCwgX2luZm8uZGVsSW5mbykoaWRzKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMxMS5nZXRMaXN0KCk7CgogICAgICAgIF90aGlzMTEubXNnU3VjY2Vzcygi5Yig6Zmk5oiQ5YqfIik7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsKICAgIH0sCgogICAgLyoqIOWvvOWHuuaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlRXhwb3J0OiBmdW5jdGlvbiBoYW5kbGVFeHBvcnQoKSB7CiAgICAgIHZhciBfdGhpczEyID0gdGhpczsKCiAgICAgIHZhciBxdWVyeVBhcmFtcyA9IHRoaXMucXVlcnlQYXJhbXM7CiAgICAgIHRoaXMuJGNvbmZpcm0oIuaYr+WQpuehruiupOWvvOWHuuaJgOacieOAkOivt+Whq+WGmeWKn+iDveWQjeensOOAkeaVsOaNrumhuT8iLCAi6K2m5ZGKIiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuICgwLCBfaW5mby5leHBvcnRJbmZvKShxdWVyeVBhcmFtcyk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXMxMi5kb3dubG9hZChyZXNwb25zZS5tc2cpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAogICAgLy8g5paH5Lu25LiK5Lyg5Lit5aSE55CGCiAgICBoYW5kbGVQcm9qZWN0RmlsZVVwbG9hZFByb2dyZXNzOiBmdW5jdGlvbiBoYW5kbGVQcm9qZWN0RmlsZVVwbG9hZFByb2dyZXNzKGV2ZW50LCBmaWxlLCBmaWxlTGlzdCkgewogICAgICB0aGlzLnVwbG9hZFByb2plY3QuaXNVcGxvYWRpbmcgPSB0cnVlOwogICAgfSwKICAgIGJlZm9yZVByb2plY3RGaWxlVXBsb2FkOiBmdW5jdGlvbiBiZWZvcmVQcm9qZWN0RmlsZVVwbG9hZChmaWxlKSB7CiAgICAgIHZhciBpc0x0MjAwTSA9IGZpbGUuc2l6ZSAvIDEwMjQgLyAxMDI0IDwgMzAwOwoKICAgICAgaWYgKCFpc0x0MjAwTSkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoIuS4iuS8oOWkp+Wwj+S4jeiDvei2hei/hyAyMDBNQiEiKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGlzTHQyMDBNOwogICAgfSwKICAgIC8vIOaWh+S7tuS4iuS8oOaIkOWKn+WkhOeQhgogICAgaGFuZGxlUHJvamVjdEZpbGVTdWNjZXNzOiBmdW5jdGlvbiBoYW5kbGVQcm9qZWN0RmlsZVN1Y2Nlc3MocmVzcG9uc2UsIGZpbGUsIGZpbGVMaXN0KSB7CiAgICAgIHRoaXMudXBsb2FkUHJvamVjdC5vcGVuID0gZmFsc2U7CiAgICAgIHRoaXMudXBsb2FkUHJvamVjdC5pc1VwbG9hZGluZyA9IGZhbHNlOwogICAgICB0aGlzLiRyZWZzLnVwbG9hZFByb2plY3QuY2xlYXJGaWxlcygpOwogICAgICB0aGlzLiRhbGVydChyZXNwb25zZS5tc2csICLlr7zlhaXnu5PmnpwiLCB7CiAgICAgICAgZGFuZ2Vyb3VzbHlVc2VIVE1MU3RyaW5nOiB0cnVlCiAgICAgIH0pOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgIH0sCiAgICAvLyDmj5DkuqTkuIrkvKDmlofku7YKICAgIHN1Ym1pdEZpbGVGb3JtOiBmdW5jdGlvbiBzdWJtaXRGaWxlRm9ybSgpIHsKICAgICAgdGhpcy4kcmVmcy51cGxvYWRQcm9qZWN0LnN1Ym1pdCgpOwogICAgfSwKICAgIGltcG9ydFRlbXBsYXRlOiBmdW5jdGlvbiBpbXBvcnRUZW1wbGF0ZSgpIHsKICAgICAgdmFyIF90aGlzMTMgPSB0aGlzOwoKICAgICAgKDAsIF9pbmZvLmltcG9ydFRlbXBsYXRlKSgpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXMxMy5kb3dubG9hZChyZXNwb25zZS5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICB2aWV3QW5uZXhCb29rRmlsZTogZnVuY3Rpb24gdmlld0FubmV4Qm9va0ZpbGUocm93KSB7CiAgICAgIHRoaXMudXBsb2FkLmZpbGVMaXN0ID0gW107CiAgICAgIHRoaXMuZm9ybWF0VXBsb2FkQW5uZXgocm93LmFubmV4TmFtZSwgcm93LmFubmV4UGF0aCk7CiAgICAgIHRoaXMudXBsb2FkLm9wZW4gPSB0cnVlOwogICAgfSwKICAgIC8v5qC85byP5YyW5LiK5Lyg6ZmE5Lu2CiAgICBmb3JtYXRVcGxvYWRBbm5leDogZnVuY3Rpb24gZm9ybWF0VXBsb2FkQW5uZXgoYW5uZXhOYW1lLCBhbm5leFBhdGgpIHsKICAgICAgdGhpcy51cGxvYWQuZmlsZUxpc3QgPSBbXTsKCiAgICAgIGlmIChhbm5leFBhdGggIT0gbnVsbCAmJiBhbm5leFBhdGggIT09ICcnKSB7CiAgICAgICAgdmFyIGEgPSBbXSwKICAgICAgICAgICAgYiA9IFtdOwoKICAgICAgICB0cnkgewogICAgICAgICAgYSA9IEpTT04ucGFyc2UoYW5uZXhOYW1lKTsKICAgICAgICAgIGIgPSBKU09OLnBhcnNlKGFubmV4UGF0aCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgYSA9IFtdOwogICAgICAgICAgYiA9IFtdOwogICAgICAgIH0KCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB0aGlzLnVwbG9hZC5maWxlTGlzdC5wdXNoKHsKICAgICAgICAgICAgJ25hbWUnOiBhW2ldLAogICAgICAgICAgICAndXJsJzogcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSSArIGJbaV0KICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnVwbG9hZC5maWxlTGlzdCA9IFtdOwogICAgICB9CiAgICB9LAogICAgaGFuZGxlUHJldmlldzogZnVuY3Rpb24gaGFuZGxlUHJldmlldyhmaWxlKSB7CiAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAgICB2YXIgZXZlbnQgPSBuZXcgTW91c2VFdmVudCgnY2xpY2snKTsKICAgICAgYS5kb3dubG9hZCA9IGZpbGUubmFtZTsKICAgICAgYS50YXJnZXQgPSAnX2JsYW5rJzsKICAgICAgYS5ocmVmID0gZmlsZS51cmw7CiAgICAgIGEuZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICB9LAogICAgY2hhbmdVcmw6IGZ1bmN0aW9uIGNoYW5nVXJsKHVybCkgewogICAgICB0aGlzLnVwbG9hZFByb2plY3QudXJsID0gcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSSArIHVybDsKICAgIH0KICB9Cn07CmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0Ow=="},{"version":3,"sources":["queryList.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\n <div class=\"app-container circleButton\">\n <el-form\n :model=\"queryParams\"\n ref=\"queryForm\"\n v-show=\"showSearch\"\n label-width=\"100px\"\n style=\"background-color: white;padding: 20px\"\n >\n <el-row>\n <el-col :span=\"8\">\n <el-form-item label-width=\"100\" prop=\"name\">\n\n <div style=\"float: left\">\n <span slot=\"label\" class=\"font\">咨询项目</span>\n </div>\n <el-input style=\"width:260px;margin-left:10px;margin-right: 10px\"\n v-model=\"queryParams.searchValue\"\n placeholder=\"请输入项目名称/项目编号\"\n clearable\n size=\"small\"\n @keyup.enter.native=\"handleQuery\"\n @blur=\"handleQuery\"\n />\n <el-button\n type=\"cyan\"\n icon=\"el-icon-search\"\n size=\"mini\"\n @click=\"handleNameQuery\">图表</el-button>\n </el-form-item>\n </el-col>\n <el-col :span=\"12\">\n <el-form-item label-width=\"100\" prop=\"userName\">\n <div style=\"float:left;\">\n <span slot=\"label\" class=\"font\">项目负责人</span>\n </div>\n <el-input style=\"width:260px;margin-left:10px;margin-right: 10px\"\n v-model=\"queryParams.userName\"\n placeholder=\"请输入负责人名称\"\n clearable\n size=\"small\"\n @keyup.enter.native=\"handleQuery\"\n @blur=\"handleQuery\"/>\n <el-button type=\"cyan\" icon=\"el-icon-search\" size=\"mini\" @click=\"handleUserNameQuery\">图表</el-button>\n <el-button icon=\"el-icon-refresh\" size=\"mini\" @click=\"resetQuery\">重置</el-button>\n <el-button type=\"info\" icon=\"el-icon-upload2\" size=\"mini\" @click=\"handleImport\" >导入</el-button>\n </el-form-item>\n </el-col>\n\n </el-row>\n\n\n <el-form-item label-width=\"100\" prop=\"yearRadio2\">\n <div class=\"lab\">\n <span slot=\"label\" class=\"font\">项目年份</span>\n </div>\n <el-radio-group v-model=\"queryParams.yearRadio2\" @change=\"handleQuery\">\n <el-radio-button label=\"0\" border><span class=\"fontT\">全部</span></el-radio-button>\n <el-radio-button label=\"999\" border ><span class=\"fontT\">2016年至今</span></el-radio-button>\n\n <el-radio-button\n v-for=\"dict in yearOptions\"\n :key=\"dict\"\n :label=\"dict\"\n border\n ><span class=\"fontT\">{{ dict }}</span></el-radio-button\n >\n <el-radio-button label=\"2015\" border><span class=\"fontT\">2016年以前</span></el-radio-button>\n\n </el-radio-group>\n </el-form-item>\n <el-form-item label-width=\"100\" prop=\"secrecyLevel\" >\n <div class=\"lab\">\n <span slot=\"label\" class=\"font\">秘密级别</span>\n </div>\n <el-radio-group v-model=\"queryParams.secrecyLevel\" size=\"small\" @change=\"handleQuery\">\n <el-radio-button label=\"0\" border><span class=\"fontT\">全部</span></el-radio-button>\n <el-radio-button label=\"1\" border><span class=\"fontT\">机密</span></el-radio-button>\n <el-radio-button label=\"2\" border><span class=\"fontT\">秘密</span></el-radio-button>\n <el-radio-button label=\"4\" border><span class=\"fontT\">内部</span></el-radio-button>\n <el-radio-button label=\"3\" border><span class=\"fontT\">非密</span></el-radio-button>\n </el-radio-group>\n </el-form-item>\n <el-form-item label-width=\"100\" prop=\"departmentId\">\n <div class=\"lab\">\n <span slot=\"label\" class=\"font\">联系部门</span>\n </div>\n <el-radio-group v-model=\"queryParams.departmentId\" size=\"small\" @change=\"handleQuery\">\n <el-radio-button label=\"0\" border\n ><span class=\"fontT\">全部</span></el-radio-button>\n <el-radio-button label=\"25\" border\n ><span class=\"fontT\">机械学部</span></el-radio-button\n >\n <el-radio-button label=\"26\" border\n ><span class=\"fontT\">信息学部</span></el-radio-button\n >\n <el-radio-button label=\"27\" border\n ><span class=\"fontT\">化工学部</span></el-radio-button\n >\n <el-radio-button label=\"28\" border\n ><span class=\"fontT\">能源学部</span></el-radio-button\n >\n <el-radio-button label=\"29\" border\n ><span class=\"fontT\">土木学部</span></el-radio-button\n >\n <el-radio-button label=\"30\" border\n ><span class=\"fontT\">环境学部</span></el-radio-button\n >\n <el-radio-button label=\"31\" border><span class=\"fontT\">农业学部</span></el-radio-button>\n <el-radio-button label=\"32\" border><span class=\"fontT\">医药学部</span></el-radio-button>\n <el-radio-button label=\"33\" border><span class=\"fontT\">工管学部</span></el-radio-button>\n <el-radio-button label=\"149\" border><span class=\"fontT\">战略咨询中心</span></el-radio-button>\n <el-radio-button label=\"998\" border><span class=\"fontT\">行业研究院</span></el-radio-button>\n <el-radio-button label=\"999\" border><span class=\"fontT\">其他</span></el-radio-button>\n </el-radio-group>\n </el-form-item>\n <el-form-item label-width=\"100\" prop=\"type\">\n\n <div class=\"lab\">\n <span slot=\"label\" class=\"font\">项目类型</span>\n </div>\n <el-radio-group v-model=\"queryParams.type\" @change=\"handleQuery\">\n <el-radio-button label=\"0\" border ><span class=\"fontT\">全部</span></el-radio-button>\n <el-radio-button label=\"2\" border ><span class=\"fontT\">重点</span></el-radio-button>\n <el-radio-button label=\"1\" border><span class=\"fontT\">重大</span></el-radio-button>\n <el-radio-button label=\"17\" border><span class=\"fontT\">学部重大</span></el-radio-button>\n <el-radio-button label=\"19\" border><span class=\"fontT\">学部重点</span></el-radio-button>\n <el-radio-button label=\"18\" border><span class=\"fontT\">行业院重点</span></el-radio-button>\n <el-radio-button label=\"16\" border><span class=\"fontT\">行业院重大</span></el-radio-button>\n <el-radio-button label=\"6\" border><span class=\"fontT\">高端智库</span></el-radio-button>\n <el-radio-button label=\"999\" border><span class=\"fontT\">其他</span></el-radio-button>\n </el-radio-group>\n </el-form-item>\n\n\n </el-form>\n <div class=\"dtable\" style=\"margin-top: 25px\">\n <div style=\"height: 60px;background-color: rgb(242,247,253);margin-top: 20px;margin-bottom: 20px\">\n <div style=\"background-color: rgb(18,107,199);height:100%;width: 8px;float: left;\"></div>\n <h2 style=\"margin-bottom: 20px;position: relative ;top: 18px;margin-left: 20px\">\n <span>项目数 : <span style=\"color: red\">{{total}}</span></span>\n <span style=\"margin-left: 20px\">项目经费(万元): <span style=\"color: red\">{{zjf}}</span></span>\n </h2>\n </div>\n\n <el-table\n v-loading=\"loading\"\n :data=\"infoList\"\n @selection-change=\"handleSelectionChange\"\n @sort-change=\"sortChange\"\n :header-cell-style=\"{background:'#fff'}\"\n :row-class-name=\"tableRowClassName\"\n >\n <el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\">\n\n <template slot-scope=\"scope\">\n {{scope.$index+1}}\n </template>\n </el-table-column>\n <el-table-column\n label=\"项目编号\"\n align=\"center\"\n width=\"180\"\n\n >\n <template slot-scope=\"scope\">\n <span >{{scope.row.code}}</span>\n <!-- <span @click=\"dialogFormVisible = true\">{{scope.row.code}}</span>-->\n </template>\n </el-table-column>\n <el-table-column\n label=\"项目名称\"\n align=\"center\"\n prop=\"name\"\n width=\"380\"\n\n />\n <el-table-column label=\"类型\" align=\"center\" prop=\"type\" width=\"110\" :formatter=\"typeFormat\" />\n <el-table-column\n label=\"密级\"\n align=\"center\"\n width=\"80\"\n prop=\"secrecyLevel\"\n :formatter=\"secretFormat\"\n />\n <el-table-column label=\"联系部门\" align=\"center\" prop=\"departmentName\" />\n <!-- <el-table-column label=\"项目联系部门\" align=\"center\" prop=\"departmentId\" />-->\n <el-table-column label=\"负责人\" align=\"center\" prop=\"userName\" width=\"110\" />\n\n <el-table-column\n label=\"经费\"\n align=\"center\"\n width=\"80\"\n prop=\"totalBudget\"\n />\n <el-table-column label=\"依托单位\" align=\"center\" prop=\"yituoUnit\" />\n <el-table-column\n label=\"状态\"\n align=\"center\"\n prop=\"status\"\n width=\"110\"\n :formatter=\"statusFormat\"\n />\n\n <el-table-column label=\"成果\" align=\"center\" :show-overflow-tooltip=\"true\" width=\"110\" >\n <!-- <template slot-scope=\"scope\" v-if=\"scope.row.annexName != null\">-->\n <template slot-scope=\"scope\" v-if=\"scope.row.annexName != null &&scope.row.annexName != '[]'\">\n <el-button\n size=\"mini\"\n type=\"text\"\n icon=\"el-icon-edit\"\n @click=\"viewAnnexBookFile(scope.row)\"\n >成果附件</el-button>\n </template>\n </el-table-column>\n </el-table>\n </div>\n <div class=\"explore_right_pages\" style=\"background-color: white;height: 70px;border: 1px solid white\">\n <pagination\n\n v-show=\"total > 0\"\n :total=\"total\"\n :page.sync=\"queryParams.pageNum\"\n :limit.sync=\"queryParams.pageSize\"\n @pagination=\"getList\"\n />\n </div>\n <!-- 用户导入对话框 -->\n <el-dialog\n :title=\"uploadProject.title\"\n :visible.sync=\"uploadProject.open\"\n width=\"790px\"\n append-to-body>\n <div style=\"margin-bottom: 20px;\">\n <el-radio-group v-model=\"uploadProject.type\">\n <el-radio-button v-for=\"(item,index) in excelType\" :label=\"item.value\">{{item.name}}</el-radio-button>\n\n </el-radio-group>\n\n <div style=\"margin-top: 3%\">\n <el-radio v-model=\"uploadProject.option\" :label=\"item.value\" border v-for=\"(item,index) in excelOption\" @change=\"changUrl(item.url)\">{{item.name}}</el-radio>\n\n </div>\n </div>\n <el-upload\n ref=\"uploadProject\"\n :limit=\"1\"\n accept=\".xls,.xlsx\"\n :headers=\"uploadProject.headers\"\n :action=\"\n uploadProject.url + '?updateSupport=' + uploadProject.updateSupport+'&exportName='+uploadProject.type\n \"\n :disabled=\"uploadProject.isUploading\"\n :on-progress=\"handleProjectFileUploadProgress\"\n :on-success=\"handleProjectFileSuccess\"\n :before-upload=\"beforeProjectFileUpload\"\n :auto-upload=\"false\"\n drag>\n <i class=\"el-icon-upload\"></i>\n <div class=\"el-upload__text\">\n 将文件拖到此处,或\n <em>点击上传</em>\n </div>\n <div class=\"el-upload__tip\" slot=\"tip\">\n <!--<el-checkbox v-model=\"uploadProject.updateSupport\" />是否更新已经存在的用户数据-->\n <!--<el-link type=\"info\" style=\"font-size:12px\" @click=\"importTemplate\">下载模板</el-link>-->\n </div>\n <div class=\"el-upload__tip\" style=\"color: red\" slot=\"tip\">\n 提示:仅允许导入excel文件!\n </div>\n </el-upload>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button type=\"primary\" @click=\"submitFileForm\">确 定</el-button>\n <el-button @click=\"uploadProject.open = false\">取 消</el-button>\n </div>\n </el-dialog>\n\n <el-dialog title=\"附件\" :visible.sync=\"upload.open\" width=\"400px\" append-to-body>\n <el-upload\n ref=\"upload\"\n disabled\n :action=\"upload.url\"\n :headers=\"upload.headers\"\n :file-list=\"upload.fileList\"\n :on-preview=\"handlePreview\"\n >\n </el-upload>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button type=\"primary\" @click=\"upload.open = false\">关 闭</el-button>\n </div>\n </el-dialog>\n\n <el-dialog :modal=\"false\" title=\"\" :show-close=\"false\" :close-on-click-modal=\"false\" :visible=\"nameTuOpen\" width=\"600px\" class=\"rightDialog\" >\n <el-row>\n <el-col>\n <div class=\"chart-wrapper\" v-if=\"blSer.length\">\n <BarLineChart :blXData=\"blX\" :blLgData=\"blLg\" :otTitle=\"otTitle\" :blSerData=\"blSer\" @yearToPage=\"toYearPage\"/>\n </div>\n </el-col>\n </el-row>\n <br/><br/>\n <el-row>\n <el-col >\n <div class=\"chart-wrapper\" >\n <BLYiTuoChart :xAxisDataLeft7=\"xAxisCenter7\" :otTitle=\"otTitle\" :seriesData1=\"seriesCenter7\" @yituoUnitPage=\"toyituoUnitPage\"/>\n </div>\n </el-col>\n </el-row>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button type=\"primary\" @click=\"nameTuOpen = false\">关 闭</el-button>\n </div>\n </el-dialog>\n\n <el-dialog :modal=\"false\" title=\"\" :show-close=\"false\" :close-on-click-modal=\"false\" :visible=\"userNameTuOpen\" width=\"600px\" class=\"rightDialog\" append-to-body>\n <el-row>\n <el-col >\n <div class=\"chart-wrapper\" >\n <BarChart3 :xAxisDataLeft8=\"xAxisCenter8\" :otTitle=\"otTitle\" :seriesDataLeft8=\"seriesCenter8\" @userNamePage=\"toUserNamePage\"/>\n </div>\n </el-col>\n </el-row>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button type=\"primary\" @click=\"userNameTuOpen = false\">关 闭</el-button>\n </div>\n </el-dialog>\n\n <!-- Form -->\n\n\n <el-dialog title=\"项目详情\" :visible.sync=\"dialogFormVisible\">\n <el-form ref=\"form\" :model=\"formCounten\" :label-width=\"formLabelWidth\">\n <el-form-item label=\"项目名称\">\n <el-col :span=\"20\">\n <el-input v-model=\"formCounten.name\"></el-input>\n </el-col>\n </el-form-item>\n\n <el-col :span=\"9\">\n <el-form-item label=\"项目编号\" style=\"margin-top: 10px\">\n <el-input v-model=\"formCounten.name\"></el-input>\n </el-form-item>\n </el-col>\n <el-form-item label=\"类型\" style=\"margin-top: 10px;\">\n <el-col :span=\"9\" style=\"margin-left: 20px\">\n <el-input v-model=\"formCounten.name\"></el-input>\n </el-col>\n </el-form-item>\n\n <el-col :span=\"9\">\n <el-form-item label=\"联系部门\" style=\"margin-top: 10px\">\n <el-input v-model=\"formCounten.name\"></el-input>\n </el-form-item>\n </el-col>\n <el-form-item label=\"依托单位\" style=\"margin-top: 10px\">\n <el-col :span=\"9\" style=\"margin-left: 20px\">\n <el-input v-model=\"formCounten.name\"></el-input>\n </el-col>\n </el-form-item>\n\n <el-col :span=\"7\">\n <el-form-item label=\"负责人\" style=\"margin-top: 10px\">\n <el-input v-model=\"formCounten.name\"></el-input>\n </el-form-item>\n </el-col>\n\n <el-col :span=\"6\">\n <el-form-item label=\"项目经费\" style=\"margin-top: 10px\">\n <el-input v-model=\"formCounten.name\"></el-input>\n </el-form-item>\n </el-col>\n <el-form-item label=\"状态\" style=\"margin-top: 10px\">\n <el-col :span=\"5\">\n\n <el-input v-model=\"formCounten.name\"></el-input>\n\n </el-col>\n </el-form-item>\n\n <el-form-item label=\"密级\" style=\"margin-top: 10px\">\n <el-radio-group v-model=\"formCounten.resource\" style=\"font-size: 50px\">\n <el-radio label=\"1\" size=\"medium\"><span class=\"font\">秘密</span></el-radio>\n <el-radio label=\"2\" size=\"medium \"><span class=\"font\">机密</span></el-radio>\n <el-radio label=\"3\"><h2 class=\"font\">非密</h2 ></el-radio>\n <el-radio label=\"4\"><span class=\"font\">内部</span></el-radio>\n </el-radio-group>\n </el-form-item>\n\n </el-form>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button @click=\"dialogFormVisible = false\">取 消</el-button>\n <el-button type=\"primary\" @click=\"dialogFormVisible = false\">确 定</el-button>\n </div>\n </el-dialog>\n </div>\n</template>\n\n<script>\n import {\n listInfo,\n getInfo,\n delInfo,\n addInfo,\n updateInfo,\n exportInfo,\n importTemplate,\n } from \"@/api/project/info2\";\n import { getToken } from \"@/utils/auth\";\n import BLYiTuoChart from \"../../dashboard/BLYiTuoChart\";\n import BarChart3 from \"../../dashboard/BarChart3\";\n import BarLineChart from \"../../dashboard/BarLineChart\";\n import {totalBugetData,left1Data, left7Data,center8Data,left7Data2,statistics} from \"@/api/project/info3\";\n export default {\n name: \"Info\",\n components: {\n BLYiTuoChart,\n BarChart3,\n BarLineChart\n },\n data() {\n return {\n zjf:0,\n // 上传参数\n uploadProject: {\n // 是否显示弹出层(用户导入)\n open: false,\n // 弹出层标题(用户导入)\n title: \"\",\n // 是否禁用上传\n isUploading: false,\n // 是否更新已经存在的用户数据\n updateSupport: 0,\n // 设置上传的请求头部\n headers: { Authorization: \"Bearer \" + getToken() },\n // 上传的地址\n url: process.env.VUE_APP_BASE_API + \"/upload/addProject\",\n\n type:'all',\n\n option:'inset',\n },\n // 上传参数\n upload: {\n title: \"\",\n open: false,\n // 是否禁用上传\n isUploading: false,\n // 设置上传的请求头部\n headers: { Authorization: \"Bearer \" + getToken() },\n // 上传的地址\n url: process.env.VUE_APP_BASE_API + \"/project/info/common/upload\",\n // 上传的文件列表\n fileList: [],\n },\n // 遮罩层\n loading: true,\n // 选中数组\n ids: [],\n // 非单个禁用\n single: true,\n // 非多个禁用\n multiple: true,\n // 显示搜索条件\n showSearch: true,\n // 总条数\n total: 0,\n // 【请填写功能名称】表格数据\n infoList: [],\n // 弹出层标题\n title: \"\",\n // 是否显示弹出层\n open: false,\n nameTuOpen:false,\n userNameTuOpen:false,\n totalBuget:null,\n dialogFormVisible:false,\n statusOptions: [],\n typeOptions: [],\n secretOptions: [],\n sourceOptions: [],\n categoryOptions: [],\n yesNoOptions: [],\n yearOptions: [],\n xAxisCenter8:[],\n seriesCenter8:[],\n xAxisCenter7:[],\n seriesCenter7:[],\n blX:[],\n blLg:[],\n blSer:[],\n otTitle:\"\",\n // 查询参数\n queryParams: {\n pageNum: 1,\n pageSize: 10,\n category: null,\n code: null,\n name: null,\n userName:null,\n type: null,\n departmentId: null,\n userId: null,\n deadline: null,\n totalOutlay: null,\n firstOutlay: null,\n secondOutlay: null,\n status: null,\n beginDate: null,\n completeDate: null,\n beginDateLX: null,\n completeDateLX: null,\n endDate: null,\n approvalDate: null,\n isSecrecy: null,\n secrecyLevel: null,\n secrecyTerm: null,\n isTopic: null,\n taskTarget: null,\n resultTarget: null,\n methodRoute: null,\n plan: null,\n spendExplain: null,\n relyId: null,\n lastDate: null,\n reviewStatusXb: null,\n reviewStatusCw: null,\n totalBudget: null,\n firstBudget: null,\n secondBudget: null,\n applyId: null,\n projectSource: null,\n projectSourceCompany: null,\n reviewStatusZwh: null,\n isAgreement: null,\n relyUnitHead: null,\n relyUnitHeadtocw: null,\n taskPeriod: null,\n otherplan: null,\n point: null,\n result: null,\n introduction: null,\n proprotion: null,\n term: null,\n pishiStatus: null,\n yearRadio2: null,\n proPeopName:null,\n yituoArea:null,\n isResult:null,\n importantKey:null,\n searchValue:null\n\n },\n // 表单参数\n form: {},\n // 表单校验\n rules: {},\n formCounten: {\n name: '',\n region: '',\n date1: '',\n date2: '',\n delivery: false,\n type: [],\n resource: '',\n desc: ''\n },\n formLabelWidth: '120px',\n excelType:[\n {\n name:'ALL',\n value: 'all'\n },\n {\n name:'项目',\n value:'projectExport'\n },\n {\n name:'课题',\n value:'topicExport',\n },\n {\n name:'专题',\n value: 'specialExport'\n },\n {\n name:'依托单位',\n value: 'deptExport'\n },\n {\n name:'参与人员信息',\n value: 'participantsExport'\n },\n {\n name:'管理报告',\n value: 'reportExport'\n },\n {\n name:'任务书',\n value:'bookExport'\n\n }\n\n ],\n excelOption:[\n {\n name:'添加',\n value:'inset',\n url:'/upload/addProject'\n },\n {\n name:'修改',\n value:'update',\n url:'/upload/modifyData'\n }\n ]\n\n\n };\n },\n created() {\n if(this.$route.query.yearRadio2 ){\n this.queryParams.yearRadio2 = this.$route.query.yearRadio2 ;\n }else{\n this.queryParams.yearRadio2 = \"0\" ;\n }\n\n if(this.$route.query.secrecyLevel){\n this.queryParams.secrecyLevel = this.$route.query.secrecyLevel;\n }else{\n this.queryParams.secrecyLevel = \"0\" ;\n }\n if(this.$route.query.type){\n this.queryParams.type = this.$route.query.type;\n }else{\n this.queryParams.type = \"0\" ;\n }\n if(this.$route.query.departmentId){\n this.queryParams.departmentId = this.$route.query.departmentId;\n }else{\n this.queryParams.departmentId = \"0\" ;\n }\n this.queryParams.yituoUnit = this.$route.query.yituoUnit;\n this.queryParams.userName = this.$route.query.userName;\n this.queryParams.importantKey = this.$route.query.importantKey;\n this.queryParams.yituoArea = this.$route.query.yituoArea;\n // this.queryParams.yearRadio = this.$route.query.yearRadio;\n //\n // this.queryParams.isResult = this.$route.query.isResult;\n // this.queryParams.status = this.$route.query.status;\n\n //\n\n //\n\n var date = new Date();\n var year = date.getFullYear();\n\n this.yearOptions[0] = year;\n this.yearOptions[1] = year - 1;\n this.yearOptions[2] = year - 2;\n this.yearOptions[3] = year - 3;\n this.yearOptions[4] = year - 4;\n this.yearOptions[5] = year - 5;\n this.getList();\n\n this.getDicts(\"pro_type\").then((response) => {\n this.typeOptions = response.data;\n });\n this.getDicts(\"pro_secret_level\").then((response) => {\n this.secretOptions = response.data;\n });\n this.getDicts(\"pro_source\").then((response) => {\n this.sourceOptions = response.data;\n });\n this.getDicts(\"pro_category\").then((response) => {\n this.categoryOptions = response.data;\n });\n this.getDicts(\"pro_status\").then((response) => {\n this.statusOptions = response.data;\n });\n this.getDicts(\"sys_yes_no\").then((response) => {\n this.yesNoOptions = response.data;\n });\n\n },\n methods: {\n tableRowClassName({ row, rowIndex }) {\n if ((rowIndex + 1) % 2 === 0) {\n return \"warning-row\"; //类名\n } else {\n return \"success-row\"; //类名\n }\n },\n sortChange(column, prop, order) {\n if (column.prop == \"category\") {\n this.queryParams.categoryOrder = \"1\";\n this.queryParams.codeOrder = \"\";\n this.queryParams.nameOrder = \"\";\n this.queryParams.typeOrder = \"\";\n this.queryParams.deadlineOrder = \"\";\n this.queryParams.totalOutlayOrder = \"\";\n this.queryParams.projectSourceOrder = \"\";\n } else if (column.prop == \"code\") {\n this.queryParams.categoryOrder = \"\";\n this.queryParams.codeOrder = \"1\";\n this.queryParams.nameOrder = \"\";\n this.queryParams.typeOrder = \"\";\n this.queryParams.deadlineOrder = \"\";\n this.queryParams.totalOutlayOrder = \"\";\n this.queryParams.projectSourceOrder = \"\";\n } else if (column.prop == \"name\") {\n this.queryParams.categoryOrder = \"\";\n this.queryParams.codeOrder = \"\";\n this.queryParams.nameOrder = \"1\";\n this.queryParams.typeOrder = \"\";\n this.queryParams.deadlineOrder = \"\";\n this.queryParams.totalOutlayOrder = \"\";\n this.queryParams.projectSourceOrder = \"\";\n } else if (column.prop == \"type\") {\n this.queryParams.categoryOrder = \"\";\n this.queryParams.codeOrder = \"\";\n this.queryParams.nameOrder = \"\";\n this.queryParams.typeOrder = \"1\";\n this.queryParams.deadlineOrder = \"\";\n this.queryParams.totalOutlayOrder = \"\";\n this.queryParams.projectSourceOrder = \"\";\n } else if (column.prop == \"deadline\") {\n this.queryParams.categoryOrder = \"\";\n this.queryParams.codeOrder = \"\";\n this.queryParams.nameOrder = \"\";\n this.queryParams.typeOrder = \"\";\n this.queryParams.deadlineOrder = \"1\";\n this.queryParams.totalOutlayOrder = \"\";\n this.queryParams.projectSourceOrder = \"\";\n } else if (column.prop == \"totalOutlay\") {\n this.queryParams.categoryOrder = \"\";\n this.queryParams.codeOrder = \"\";\n this.queryParams.nameOrder = \"\";\n this.queryParams.typeOrder = \"\";\n this.queryParams.deadlineOrder = \"\";\n this.queryParams.totalOutlayOrder = \"1\";\n this.queryParams.projectSourceOrder = \"\";\n } else if (column.prop == \"projectSource\") {\n this.queryParams.categoryOrder = \"\";\n this.queryParams.codeOrder = \"\";\n this.queryParams.nameOrder = \"\";\n this.queryParams.typeOrder = \"\";\n this.queryParams.deadlineOrder = \"\";\n this.queryParams.totalOutlayOrder = \"\";\n this.queryParams.projectSourceOrder = \"1\";\n }\n\n if (column.order == \"ascending\") {\n this.queryParams.orderSort = \"asc\";\n } else if (column.order == \"descending\") {\n this.queryParams.orderSort = \"desc\";\n }\n this.getList();\n },\n isTopicFormat(row, column) {\n return this.selectDictLabel(this.yesNoOptions, row.isTopic);\n },\n isSecrecyFormat(row, column) {\n return this.selectDictLabel(this.yesNoOptions, row.isSecrecy);\n },\n typeFormat(row, column) {\n return this.selectDictLabel(this.typeOptions, row.type);\n },\n secretFormat(row, column) {\n return this.selectDictLabel(this.secretOptions, row.secrecyLevel);\n },\n categoryFormat(row, column) {\n return this.selectDictLabel(this.categoryOptions, row.category);\n },\n statusFormat(row, column) {\n return this.selectDictLabel(this.statusOptions, row.status);\n },\n sourceFormat(row, column) {\n return this.selectDictLabel(this.sourceOptions, row.projectSource);\n },\n getStatistics(queryParams){\n\n statistics(queryParams).then(resp=>{\n this.zjf=resp.data.zjf;\n\n });\n },\n /** 导入按钮操作 */\n handleImport() {\n this.uploadProject.title = \"项目导入\";\n this.uploadProject.open = true;\n },\n /** 查询【请填写功能名称】列表 */\n getList() {\n this.loading = true;\n\n listInfo(this.queryParams).then((response) => {\n this.infoList = response.rows;\n this.total = response.total;\n this.loading = false;\n });\n this.getStatistics(this.queryParams)\n },\n // 取消按钮\n cancel() {\n this.open = false;\n this.reset();\n },\n // 表单重置\n reset() {\n this.form = {\n id: null,\n category: null,\n code: null,\n name: null,\n type: null,\n departmentId: null,\n userId: null,\n deadline: null,\n totalOutlay: null,\n firstOutlay: null,\n secondOutlay: null,\n status: 0,\n beginDate: null,\n completeDate: null,\n endDate: null,\n approvalDate: null,\n isSecrecy: null,\n secrecyLevel: null,\n secrecyTerm: null,\n isTopic: null,\n taskTarget: null,\n resultTarget: null,\n methodRoute: null,\n plan: null,\n spendExplain: null,\n relyId: null,\n lastDate: null,\n reviewStatusXb: null,\n reviewStatusCw: null,\n totalBudget: null,\n firstBudget: null,\n secondBudget: null,\n applyId: null,\n projectSource: null,\n projectSourceCompany: null,\n reviewStatusZwh: null,\n isAgreement: null,\n relyUnitHead: null,\n relyUnitHeadtocw: null,\n taskPeriod: null,\n otherplan: null,\n point: null,\n result: null,\n introduction: null,\n proprotion: null,\n term: null,\n createBy: null,\n createTime: null,\n updateBy: null,\n updateTime: null,\n delFlag: null,\n };\n this.resetForm(\"form\");\n },\n async logout() {\n this.$confirm('确定注销并退出系统吗?', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n }).then(() => {\n this.$store.dispatch('LogOut').then(() => {\n location.href = '/index';\n })\n })\n },\n /** 搜索按钮操作 */\n handleQuery() {\n this.queryParams.pageNum = 1;\n this.getList();\n this.getLeft7(this.queryParams);\n this.getCenter8(this.queryParams);\n this.getLeft1(this.queryParams);\n },\n handleNameQuery(){\n this.nameTuOpen = true;\n this.queryParams.pageNum = 1;\n this.getList();\n this.getLeft7(this.queryParams);\n this.getLeft1(this.queryParams);\n // this.getCenter8(this.queryParams);\n },\n handleUserNameQuery(){\n this.userNameTuOpen = true;\n this.queryParams.pageNum = 1;\n this.getList();\n this.getTotalBuget(this.queryParams);\n\n this.getCenter8(this.queryParams);\n },\n getTotalBuget(queryParams){\n totalBugetData(queryParams).then(\n resp=>{\n\n this.totalBuget = resp.data.totalBudget\n }\n );\n },\n getLeft1(queryParams){\n\n let param=queryParams.yearRadio2\n if(param=='0'){\n param='999'\n }\n left1Data({yearRadio2:param}).then(\n resp=>{\n if(queryParams.yearRadio2 == '0'){\n this.otTitle = '2016-今'\n }\n else if(queryParams.yearRadio2 =='2015'){\n this.otTitle=\"2016年以前\"\n }else {\n this.otTitle=\"2016-今\"\n }\n this.blLg = ['项目数', '经费数'];\n this.blX =resp.data.yearArray;\n let temp = [];\n let item = {};\n item.name = '项目数';\n item.type='bar';\n item.barWidth=50;\n item.data=resp.data.numArray;\n item.itemStyle={\n normal: {\n //这里是重点\n color: 'rgb(21,112,198)'\n }\n\n };\n temp.push(item);\n let item1 = {};\n item1.name = '经费数';\n item1.type='line';\n item1.yAxisIndex= 1;\n item1.data=resp.data.bugetArray;\n item1.itemStyle={\n normal: {\n //这里是重点\n color: 'rgb(222,177,62)'\n }\n\n };\n temp.push(item1);\n this.blSer=temp;\n\n }\n );\n },\n getLeft7(queryParams){\n left7Data(queryParams).then(\n resp => {\n\n if(queryParams.yearRadio2 == '0'){\n this.otTitle = \"至今\"\n }\n else if(queryParams.yearRadio2 =='2015'){\n this.otTitle=\"2016年以前\"\n }else if(queryParams.yearRadio2 =='999'){\n this.otTitle=\"2016-今\"\n }else{\n this.otTitle=queryParams.yearRadio2 +\"年\"\n }\n\n let temp = [];\n let item = {};\n item.name = '经费数';\n item.type='bar';\n item.barGap=\"-100%\";\n item.data=resp.data.yjfArray;\n item.itemStyle={\n normal: {\n //这里是重点\n color: 'rgb(129,162,255)'\n }\n\n };\n temp.push(item);\n let item1 = {};\n item1.name = '实际经费';\n item1.type='bar';\n item1.yAxisIndex= 1;\n item1.barGap=\"-100%\";\n item1.data=resp.data.ySjjfArray;\n item1.itemStyle={\n normal: {\n //这里是重点\n color: 'rgb(84,111,198)'\n }\n\n };\n temp.push(item1);\n let item2 = {};\n item2.name = '项目数';\n item2.type='line';\n item2.yAxisIndex= 2;\n item2.data=resp.data.yNumArray;\n item2.itemStyle={\n normal: {\n //这里是重点\n color: 'rgb(222,177,62)'\n }\n\n };\n temp.push(item2);\n this.seriesCenter7 = temp;\n this.xAxisCenter7 = resp.data.xAxisArray;\n\n }\n );\n },\n getCenter8(queryParams){\n center8Data(queryParams).then(\n resp => {\n if(queryParams.yearRadio2 == '0'){\n this.otTitle = \"至今\"\n }\n else if(queryParams.yearRadio2 =='2015'){\n this.otTitle=\"2016年以前\"\n }else if(queryParams.yearRadio2 =='999'){\n this.otTitle=\"2016-今\"\n }else{\n this.otTitle=queryParams.yearRadio2 +\"年\"\n }\n this.seriesCenter8 = resp.data.xAxisArray;\n this.xAxisCenter8 = resp.data.yAxisArray;\n }\n );\n },\n toYearPage(year){\n // this.$router.push({path:\"/project/infoShow/query\",query:{yearRadio2:year}} );\n },\n toyituoUnitPage(unit){\n // let yearRadio = this.yearRadio2;\n // this.$router.push({path:\"/project/infoShow/query\",query:{yituoUnit:unit,yearRadio2:yearRadio}} );\n\n },\n\n toUserNamePage(userName){\n // let yearRadio = this.yearRadio2;\n // this.$router.push({path:\"/project/infoShow/query\",query:{userName:userName,yearRadio2:yearRadio}} );\n\n },\n /** 重置按钮操作 */\n resetQuery() {\n this.resetForm(\"queryForm\");\n this.queryParams.yearRadio2 = \"0\" ;\n this.queryParams.secrecyLevel = \"0\" ;\n this.queryParams.type = \"0\" ;\n this.queryParams.departmentId = \"0\" ;\n this.queryParams.searchValue=null;\n this.handleQuery();\n },\n // 多选框选中数据\n handleSelectionChange(selection) {\n this.ids = selection.map((item) => item.id);\n this.single = selection.length !== 1;\n this.multiple = !selection.length;\n },\n /** 新增按钮操作 */\n handleAdd() {\n this.reset();\n this.open = true;\n this.title = \"添加【请填写功能名称】\";\n },\n /** 修改按钮操作 */\n handleUpdate(row) {\n this.reset();\n const id = row.id || this.ids;\n getInfo(id).then((response) => {\n this.form = response.data;\n this.open = true;\n this.title = \"修改【请填写功能名称】\";\n });\n },\n /** 提交按钮 */\n submitForm() {\n this.$refs[\"form\"].validate((valid) => {\n if (valid) {\n if (this.form.id != null) {\n updateInfo(this.form).then((response) => {\n if (response.code === 200) {\n this.msgSuccess(\"修改成功\");\n this.open = false;\n this.getList();\n }\n });\n } else {\n addInfo(this.form).then((response) => {\n if (response.code === 200) {\n this.msgSuccess(\"新增成功\");\n this.open = false;\n this.getList();\n }\n });\n }\n }\n });\n },\n /** 删除按钮操作 */\n handleDelete(row) {\n const ids = row.id;\n this.$confirm(\n '是否确认删除项目编号为\"' + row.code + '\"的数据项?',\n \"警告\",\n {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n }\n )\n .then(function () {\n return delInfo(ids);\n })\n .then(() => {\n this.getList();\n this.msgSuccess(\"删除成功\");\n })\n .catch(function () {});\n },\n /** 导出按钮操作 */\n handleExport() {\n const queryParams = this.queryParams;\n this.$confirm(\"是否确认导出所有【请填写功能名称】数据项?\", \"警告\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n })\n .then(function () {\n return exportInfo(queryParams);\n })\n .then((response) => {\n this.download(response.msg);\n })\n .catch(function () {});\n },\n // 文件上传中处理\n handleProjectFileUploadProgress(event, file, fileList) {\n this.uploadProject.isUploading = true;\n },\n beforeProjectFileUpload(file) {\n const isLt200M = file.size / 1024 / 1024 < 300;\n if (!isLt200M) {\n this.$message.error(\"上传大小不能超过 200MB!\");\n }\n return isLt200M;\n },\n // 文件上传成功处理\n handleProjectFileSuccess(response, file, fileList) {\n this.uploadProject.open = false;\n this.uploadProject.isUploading = false;\n this.$refs.uploadProject.clearFiles();\n this.$alert(response.msg, \"导入结果\", { dangerouslyUseHTMLString: true });\n this.getList();\n },\n // 提交上传文件\n submitFileForm() {\n this.$refs.uploadProject.submit();\n },\n importTemplate() {\n importTemplate().then((response) => {\n this.download(response.msg);\n });\n },\n viewAnnexBookFile(row){\n this.upload.fileList = [];\n this.formatUploadAnnex(row.annexName,row.annexPath);\n this.upload.open = true;\n },\n //格式化上传附件\n formatUploadAnnex(annexName,annexPath){\n this.upload.fileList = [];\n if (annexPath != null && annexPath !== ''){\n let a = [],b = [];\n try {\n a = JSON.parse(annexName) ;\n b = JSON.parse(annexPath) ;\n }catch (e){\n a=[];\n b=[];\n }\n for (let i = 0;i<a.length;i++){\n this.upload.fileList.push({\n 'name':a[i],\n 'url':process.env.VUE_APP_BASE_API + b[i]\n })\n }\n }else {\n this.upload.fileList = [];\n }\n\n\n },\n handlePreview(file) {\n var a = document.createElement('a');\n var event = new MouseEvent('click');\n a.download = file.name;\n a.target = '_blank';\n a.href = file.url;\n a.dispatchEvent(event);\n\n },\n changUrl(url){\n this.uploadProject.url= process.env.VUE_APP_BASE_API+url;\n }\n },\n };\n</script>\n<style lang=\"scss\" scoped>\n .app-container{\n background-color: rgb(246,247,251);\n\n }\n .circleButton {\n /deep/ .el-radio-button__inner {\n padding: 9px 10px;\n font-size: 20px;\n margin: 6px 10px;\n border: 1px;\n border-radius: 17px !important;\n /*background-color: #f2f1f5;*/\n }\n .el-form-item{\n margin-bottom: 0;\n }\n }\n // 分页\n .explore_right_pages {\n\n\n /deep/.el-pagination .el-pagination__total {\n color: #999999;\n font-size: 18px;\n }\n\n /deep/.el-pagination .el-pagination__jump {\n color: #999999;\n font-size: 18px;\n\n .input{\n margin-left: 10px;\n margin-right: 10px;\n }\n .el-pagination__editor{\n margin-left: 10px;\n margin-right: 10px;\n .el-input__inner{\n height: 26px;\n margin-top: 2px;\n }\n }\n }\n\n\n\n }\n\n\n .rightDialog{\n right: 0;\n margin-right: 0;\n left:auto;\n }\n .font{\n font-size: 20px;\n font-weight: 700;\n }\n .lab{\n float: left;\n margin-top: 10px\n }\n .fontT{\n font-size: 20px;\n\n }\n\n /deep/ .dtable{\n border: 1px solid white;\n background-color: white;\n .el-table .warning-row {\n background: white;\n }\n\n .el-table .success-row {\n background: #f8f8f9;\n }\n }\n</style>\n"],"sourceRoot":"src/views/project/infoShow"}]} |