{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\components\\dataTemplate\\templateForm.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\components\\dataTemplate\\templateForm.vue","mtime":1705895419251},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgT25saW5lRm9ybSBmcm9tICdAL2NvbXBvbmVudHMvZmxvdy9PbmxpbmVGb3JtLnZ1ZScNCmltcG9ydCBmb3JtIGZyb20gJ0AvYXBpL2Zvcm0uanMnDQppbXBvcnQgdXRpbHMgZnJvbSAnQC91dGlscy5qcycNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnZm9ybUNvbnRlbnQnLA0KICBwcm9wczogWyd0ZW1wbGF0ZUtleScsICdhY3Rpb24nLCAnaXNTaGFyZScsICdvcGVuVHlwZSddLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBhbGlhc19uZXc6ICdzdGF0ZW1lbnQnLA0KICAgICAgaHRtbDogbnVsbCwNCiAgICAgIGRhdGE6IG51bGwsDQogICAgICBwZXJtaXNzaW9uOiBudWxsLA0KICAgICAgcmVsb2FkT25saW5lRm9ybTogZmFsc2UsDQogICAgICBpc1ZpZXc6IHRydWUsDQogICAgICBkaXNhYmxlZDogZmFsc2UsDQogICAgICBib0FsaWFzOiAnJywNCiAgICAgIGlkOiAnJywNCiAgICAgIHN0YXJ0RmxvdzogZmFsc2UsDQogICAgICByZWNvcmRJZDogJycsDQogICAgICBkZWZLZXk6ICcnLA0KICAgICAgZm9ybUtleTogJycsDQogICAgICBmaWxsRmllbGQ6ICcnLA0KICAgICAgZmlsbFZhbHVlOiAnJywNCiAgICAgIGJpbmRMaXN0OiBbXSwNCiAgICAgIHByaW50OiBmYWxzZSwNCiAgICAgIGlzU2hvdzogdHJ1ZSwNCiAgICAgIHRlbXBBbGlhczogJycsDQogICAgICBzdGFydExhYmxlOiAn5Y+R6LW35rWB56iLJywNCiAgICAgIHByaW50TGFibGU6ICfmiZPljbAnDQogICAgfQ0KICB9LA0KICBjb21wb25lbnRzOiB7T25saW5lRm9ybX0sDQogIHVwZGF0ZWQoKSB7DQogICAgbGV0IHJlc3VsdCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCc/JylbMF0uc3BsaXQoJy8nKQ0KICAgIGlmIChyZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID09ICdnZXQnIHx8IHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMl0gPT0gJ2dldCcpIHsNCiAgICAgIHRoaXMuaXNTaG93ID0gZmFsc2UNCiAgICB9DQogICAgLy/liKTmlq3mmK/lkKbmmL7npLrlj5HotbfmtYHnqIvmjInpkq4NCiAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVsxXSAmJiB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpWzFdLnNwbGl0KCcmJykpIHsNCiAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpWzFdLnNwbGl0KCcmJylbMV0gJiYgd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVsxXS5zcGxpdCgnJicpWzFdID09ICdzdGFydEZsb3c9ZmFsc2UnKSB7DQogICAgICAgIHRoaXMuc3RhcnRGbG93ID0gZmFsc2UNCiAgICAgIH0NCiAgICB9DQoNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIGxvYWRTdWNjZXNzKCkgew0KICAgICAgaWYgKHRoaXMuJHJvdXRlLnF1ZXJ5LmlzUHJpbnQpIHsNCiAgICAgICAgdGhpcy5wcmludERldGFpbCgpDQogICAgICB9DQogICAgfSwNCiAgICBwcmludERldGFpbCgpIHsNCiAgICAgIHRoaXMuJHJlZnMuYnRuUmVnaW9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZScNCiAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdLnN0eWxlLnpvb20gPSAwLjgNCiAgICAgICAgd2luZG93LnByaW50KCkNCiAgICAgICAgdGhpcy4kcmVmcy5idG5SZWdpb24uc3R5bGUuZGlzcGxheSA9ICdibG9jaycNCiAgICAgICAgaWYgKHRoaXMuJHJvdXRlLnF1ZXJ5LmlzUHJpbnQpIHsNCiAgICAgICAgICB0aGlzLmNsb3NlKGZhbHNlKQ0KICAgICAgICB9DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0uc3R5bGUuem9vbSA9IDENCiAgICAgIH0sIDUwMCkNCiAgICB9LA0KICAgIC8v5ZCv5YqoDQogICAgc3RhcnQoKSB7DQogICAgICB1dGlscw0KICAgICAgICAuZ2V0T25saW5lRm9ybURhdGEodHJ1ZSkNCiAgICAgICAgLnRoZW4oKGZvcm1EYXRhU3RyKSA9PiB0aGlzLnByb2Nlc3NTdGFydChmb3JtRGF0YVN0cikpDQogICAgICAgIC5jYXRjaCgocmVhc29uKSA9PiB1dGlscy5oYW5kbGVHZXRGb3JtRGF0YVJlamVjdChyZWFzb24pLnRoZW4oKCkgPT4gdGhpcy5wcm9jZXNzU3RhcnQoKSkpDQogICAgfSwNCiAgICBwcm9jZXNzU3RhcnQoZm9ybURhdGFTdHIpIHsNCiAgICAgIHV0aWxzLmNsb3NlQWxsTm90aWZpY2F0aW9uKCkNCiAgICAgIGxldCBkYXRhID0ge2Zsb3dLZXk6IHRoaXMuZGVmS2V5fQ0KICAgICAgaWYgKGZvcm1EYXRhU3RyKSB7DQogICAgICAgIGRhdGEuZGF0YSA9IEJhc2U2NC5lbmNvZGUoZm9ybURhdGFTdHIpDQogICAgICB9DQogICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZQ0KICAgICAgdGhpcy4kc3RvcmUNCiAgICAgICAgLmRpc3BhdGNoKCdzdG9yZVByb2Nlc3Mvc3RhcnQnLCBkYXRhKQ0KICAgICAgICAudGhlbigoKSA9PiB7DQogICAgICAgICAgdGhpcy5jbG9zZSh0cnVlKQ0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKCkgPT4gew0KICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZQ0KICAgICAgICB9KQ0KICAgIH0sDQogICAgLy/kv53lrZgNCiAgICBib1NhdmUoZGVsRHJhZnRJZCkgew0KICAgICAgdXRpbHMNCiAgICAgICAgLmdldE9ubGluZUZvcm1EYXRhKHRydWUpDQogICAgICAgIC50aGVuKChmb3JtRGF0YVN0cikgPT4gew0KICAgICAgICAgIHV0aWxzLmNsb3NlQWxsTm90aWZpY2F0aW9uKCkNCiAgICAgICAgICBsZXQgX21lID0gdGhpcw0KICAgICAgICAgIC8vIGZvciAobGV0IGk9MDsgaTxfbWUuJHZhbGlkYXRvci5lcnJvcnMuaXRlbXMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAvLyAgIGlmKF9tZS4kdmFsaWRhdG9yLmVycm9ycy5pdGVtc1tpXS5ydWxlID09ICJyZXF1aXJlZCIpew0KICAgICAgICAgIC8vICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+WwhuS/oeaBr+Whq+WGmeWujOaVtCIpOw0KICAgICAgICAgIC8vICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgLy8gICB9DQogICAgICAgICAgLy8gfQ0KICAgICAgICAgIGxldCBkYXRhID0gew0KICAgICAgICAgICAgYm9BbGlhczogdGhpcy5ib0FsaWFzLA0KICAgICAgICAgICAgYm9EYXRhOiB1dGlscy5wYXJzZVRvSnNvbihmb3JtRGF0YVN0cikNCiAgICAgICAgICB9DQogICAgICAgICAgLy/mlbDmja7op4blm77mjqfku7YNCiAgICAgICAgICAvLyBpZiAodGhpcy5maWxsRmllbGQgJiYgdGhpcy5maWxsRmllbGQgIT0gIiIpIHsNCiAgICAgICAgICAvLyAgIGxldCBmaWxsRmllbGQgPSB0aGlzLmZpbGxGaWVsZDsNCiAgICAgICAgICAvLyAgIGRhdGEuYm9EYXRhW3RoaXMuYm9BbGlhc11bZmlsbEZpZWxkXSA9IHRoaXMuZmlsbFZhbHVlOw0KICAgICAgICAgIC8vIH0NCiAgICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZQ0KDQogICAgICAgICAgaWYgKGRlbERyYWZ0SWQpIHsNCiAgICAgICAgICAgIGRhdGEuZGVsRHJhZnRJZCA9IGRlbERyYWZ0SWQNCiAgICAgICAgICB9DQogICAgICAgICAgZGF0YS5mb3JtS2V5ID0gdGhpcy5mb3JtS2V5DQogICAgICAgICAgZGF0YS50ZW1wbGF0ZUtleSA9IHRoaXMudGVtcGxhdGVLZXkNCiAgICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnZm9ybS9ib1NhdmUnLCBkYXRhKS50aGVuKChyZXN1bHQpID0+IHsNCiAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhdGUpIHsNCiAgICAgICAgICAgICAgLy/lvZPmk43kvZzkuLrnvJbovpHmmK/vvIzngrnlh7vkv53lrZjmiJDlip/lkI7mj5DnpLrnu6fnu63nvJbovpHov5jmmK/ov5Tlm54NCiAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9uID09PSAnZWRpdCcgfHwgdGhpcy5hY3Rpb24gPT09ICdhZGQnKSB7DQogICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlc3VsdC5tZXNzYWdlKQ0KICAgICAgICAgICAgICAgIHRoaXMuJGNvbmZpcm0oJ+S/neWtmOaIkOWKn++8jOaYr+WQpumAgOWHuu+8nycsICfmj5DnpLonLCB7DQogICAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+eri+WNs+mAgOWHuicsDQogICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn57un57ut5pON5L2cJywNCiAgICAgICAgICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJw0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoZmFsc2UpDQogICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5vbmxpbmVGb3JtLmluaXQoKQ0KICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9uID09PSAnZWRpdERyYWZ0Jykgew0KICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdERyYWZ0SGFuZGxlcigpDQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVyKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKHRydWUpDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pDQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVhc29uKSA9PiB1dGlscy5oYW5kbGVHZXRGb3JtRGF0YVJlamVjdChyZWFzb24pKQ0KICAgIH0sDQogICAgYm9TYXZlQW5kRGVsRHJhZnQoKSB7DQogICAgICB0aGlzLmJvU2F2ZSh0aGlzLmRyYWZ0SWQpDQogICAgfSwNCiAgICAvL+S/neWtmA0KICAgIGJvU2F2ZURyYWZ0KCkgew0KICAgICAgY29uc3QgdGhpc18gPSB0aGlzDQogICAgICB1dGlscw0KICAgICAgICAuZ2V0T25saW5lRm9ybURhdGEoZmFsc2UpDQogICAgICAgIC50aGVuKChmb3JtRGF0YVN0cikgPT4gew0KICAgICAgICAgIHV0aWxzLmNsb3NlQWxsTm90aWZpY2F0aW9uKCkNCiAgICAgICAgICBsZXQgX21lID0gdGhpcw0KICAgICAgICAgIGxldCBkYXRhID0gew0KICAgICAgICAgICAgdGVtcEFsaWFzOiB0aGlzLnRlbXBBbGlhcywNCiAgICAgICAgICAgIGRhdGFKc29uOiBmb3JtRGF0YVN0cg0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAodGhpcy5kcmFmdCkgew0KICAgICAgICAgICAgZGF0YS5pZCA9IHRoaXMuZHJhZnQuaWQNCiAgICAgICAgICAgIGRhdGEudGl0bGUgPSB0aGlzLmRyYWZ0LnRpdGxlDQogICAgICAgICAgICBkYXRhLmNyZWF0ZUJ5ID0gdGhpcy5kcmFmdC5jcmVhdGVCeQ0KICAgICAgICAgICAgZGF0YS5jcmVhdGVUaW1lID0gdGhpcy5kcmFmdC5jcmVhdGVUaW1lDQogICAgICAgICAgfQ0KICAgICAgICAgIC8v5pWw5o2u6KeG5Zu+5o6n5Lu2DQogICAgICAgICAgLy8gaWYodGhpcy5iaW5kTGlzdCAmJiB0aGlzLmJpbmRMaXN0Lmxlbmd0aCA+MCkgew0KICAgICAgICAgIC8vICAgZm9yKHZhciBpPTA7aTx0aGlzLmJpbmRMaXN0Lmxlbmd0aDtpKyspew0KICAgICAgICAgIC8vICAgICBkYXRhLmJvRGF0YVt0aGlzLmJvQWxpYXNdW3RoaXMuYmluZExpc3RbaV0ua2V5XSA9IHRoaXMuYmluZExpc3RbaV0udmFsdWU7DQogICAgICAgICAgLy8gICB9DQogICAgICAgICAgLy8gfQ0KICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlDQogICAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2Zvcm0vYm9TYXZlRHJhZnQnLCBkYXRhKS50aGVuKChyZXN1bHQpID0+IHsNCiAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhdGUpIHsNCiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlc3VsdC5tZXNzYWdlKQ0KICAgICAgICAgICAgICBsZXQgZGF0YVZpZXdGbGFnID0gZmFsc2UNCiAgICAgICAgICAgICAgLy/mlbDmja7op4blm77pmo/mnLrmt7vliqDliLDlhbbku5boj5zljZXkuIvpnaLml7bojrflj5blvZPliY3oj5zljZXnmoTliKvlkI0gIOW5tuS4lOW9k+WJjeaVsOaNruinhuWbvuS4jeaYr+ihqOWNlemHjOeahOaVsOaNruinhuWbviAgZGF0YVZpZXdGbGFnDQogICAgICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5tZW51X2FsaWFzICYmICEodGhpc18uZmlsbEZpZWxkICYmIHRoaXNfLmZpbGxGaWVsZCAhPSAnJykpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmFsaWFzX25ldyA9IHNlc3Npb25TdG9yYWdlLm1lbnVfYWxpYXMNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAvL+WIpOaWreW9k+WJjeaVsOaNruinhuWbvuaYr+S4jeaYr+ihqOWNlemHjOeahOaVsOaNruinhuWbvg0KICAgICAgICAgICAgICBpZiAodGhpcy5iaW5kTGlzdCAmJiB0aGlzLmJpbmRMaXN0Lmxlbmd0aCA+IDApIHsNCiAgICAgICAgICAgICAgICBkYXRhVmlld0ZsYWcgPSB0cnVlDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgaWYgKF9tZS5pc1NoYXJlKSB7DQogICAgICAgICAgICAgICAgX21lLmNsb3NlKHRydWUpDQogICAgICAgICAgICAgICAgcmV0dXJuDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgbGV0IHBhdGggPSAnJw0KICAgICAgICAgICAgICBpZiAodGhpcy5vcGVuVHlwZSA9PSAnbmV3Jykgew0KICAgICAgICAgICAgICAgIHBhdGggPSBgL3N0YXRlbWVudC9kcmFmdExpc3QvJHt0aGlzLnRlbXBBbGlhc30vJHtkYXRhVmlld0ZsYWd9P2lzTmV3PXRydWVgDQogICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcGF0aCA9ICcvJyArIHRoaXMuYWxpYXNfbmV3ICsgJy9kcmFmdExpc3QvJyArIHRoaXMudGVtcEFsaWFzICsgJy8nICsgZGF0YVZpZXdGbGFnDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2gocGF0aCkNCiAgICAgICAgICAgICAgLy8gdGhpcy4kcm91dGVyLnB1c2goIi9zdGF0ZW1lbnQvZHJhZnRMaXN0Iik7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2UNCiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXN1bHQubWVzc2FnZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9KQ0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlYXNvbikgPT4gdXRpbHMuaGFuZGxlR2V0Rm9ybURhdGFSZWplY3QocmVhc29uKSkNCiAgICB9LA0KDQogICAgLy/lhbPpl63nqpflj6MNCiAgICBjbG9zZShpc0RlbGF5KSB7DQogICAgICB1dGlscy5jbG9zZUFsbE5vdGlmaWNhdGlvbigpDQogICAgICBsZXQgX21lID0gdGhpcw0KICAgICAgbGV0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmDQogICAgICBsZXQgYXJyID0gdXJsLnNwbGl0KCc/JykNCiAgICAgIGlmIChpc0RlbGF5KSB7DQogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgaWYgKF9tZS5pc1NoYXJlKSB7DQogICAgICAgICAgICBfbWUuJHJvdXRlci5wdXNoKCcvbWVzc2FnZUZpbGxQYWdlLzEnKQ0KICAgICAgICAgICAgcmV0dXJuDQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChhcnIubGVuZ3RoID4gMSkgew0KICAgICAgICAgICAgbGV0IHBhcmFtID0gdXJsLnNwbGl0KCc/JylbMV0uc3BsaXQoJyYnKQ0KICAgICAgICAgICAgaWYgKHBhcmFtLmluY2x1ZGVzKCdpc05ld1BhZ2U9dHJ1ZScpKSB7DQogICAgICAgICAgICAgIF9tZS4kcm91dGVyLnB1c2goJy9tZXNzYWdlRmlsbFBhZ2UvMScpDQogICAgICAgICAgICAgIHJldHVybg0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAoX21lLm9wZW5UeXBlID09ICduZXcnKSB7DQogICAgICAgICAgICAvL+i3s+i9rOWIsOiNieeovw0KICAgICAgICAgICAgbGV0IGRhdGFWaWV3RmxhZyA9IGZhbHNlDQogICAgICAgICAgICBpZiAoX21lLmJpbmRMaXN0ICYmIF9tZS5iaW5kTGlzdC5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgIGRhdGFWaWV3RmxhZyA9IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF9tZS4kcm91dGVyLnB1c2goDQogICAgICAgICAgICAgIGAvc3RhdGVtZW50L2RyYWZ0TGlzdC8ke19tZS50ZW1wQWxpYXN9LyR7ZGF0YVZpZXdGbGFnfT9pc05ldz10cnVlYA0KICAgICAgICAgICAgKQ0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBfbWUuJHJvdXRlci5nbygtMSkNCiAgICAgICAgICB9DQogICAgICAgIH0sIDIwMDApDQogICAgICB9IGVsc2Ugew0KICAgICAgICBpZiAoX21lLmlzU2hhcmUpIHsNCiAgICAgICAgICBfbWUuJHJvdXRlci5wdXNoKCcvbWVzc2FnZUZpbGxQYWdlLzEnKQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIGlmIChfbWUub3BlblR5cGUgPT0gJ25ldycpIHsNCiAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpDQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIC8v5omT5Y2w5Y+W5raI5LmL5ZCO5Lya5a+86Ie06Lev55Sx5Y+R55Sf5Y+Y5YyWLOS4jeiDveebtOaOpeWbnuWIsOS4iuS4gOS4qumhtemdog0KICAgICAgICAgICAgbGV0IG1lbnVBbGlhcyA9ICdzdGF0ZW1lbnQnDQogICAgICAgICAgICAvL+WPkeW4g+WIsOWFtuWug+iPnOWNleeahOWIq+WQjQ0KICAgICAgICAgICAgaWYgKHNlc3Npb25TdG9yYWdlLm1lbnVfYWxpYXMpIHsNCiAgICAgICAgICAgICAgbWVudUFsaWFzID0gc2Vzc2lvblN0b3JhZ2UubWVudV9hbGlhcw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgbGV0IHVybCA9ICcvJyArIG1lbnVBbGlhcyArICcvdGVtcGxhdGUvcHJldmlldy8nICsgX21lLnRlbXBsYXRlS2V5DQogICAgICAgICAgICBpZiAoX21lLiRyb3V0ZS5tZXRhICYmIF9tZS4kcm91dGUubWV0YS5zaW5nbGUpIHsNCiAgICAgICAgICAgICAgdXJsICs9ICcvdHJ1ZScNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF9tZS4kcm91dGVyLnB1c2godXJsKQ0KICAgICAgICAgIH0NCg0KICAgICAgICAgIC8vIF9tZS4kcm91dGVyLmdvKC0xKTsNCiAgICAgICAgfQ0KDQogICAgICB9DQogICAgfSwNCiAgICBoYW5kbGVyKCkgew0KICAgICAgbGV0IF9tZSA9IHRoaXMNCiAgICAgIGxldCBkYXRhID0gew0KICAgICAgICBmb3JtS2V5OiBfbWUuZm9ybUtleSwNCiAgICAgICAgYm9BbGlhczogX21lLmJvQWxpYXMsDQogICAgICAgIGlkOiBfbWUuaWQgPyBfbWUuaWQgOiAnJywNCiAgICAgICAgYWN0aW9uOiBfbWUuYWN0aW9uLA0KICAgICAgICByZWNvcmRJZDogX21lLnJlY29yZElkID8gX21lLnJlY29yZElkIDogJycsDQogICAgICAgIGRhdGFLZXk6IF9tZS50ZW1wbGF0ZUtleSA/IF9tZS50ZW1wbGF0ZUtleSA6ICcnDQogICAgICB9DQogICAgICBfbWUuJHN0b3JlLmRpc3BhdGNoKCdmb3JtL2dldFRlbXBsYXRlRm9ybScsIGRhdGEpLnRoZW4oKHJlcCkgPT4gew0KICAgICAgICBpZiAocmVwLnJlc3VsdCkgew0KICAgICAgICAgIF9tZS5kYXRhID0gcmVwLmRhdGENCiAgICAgICAgICAvL+aVsOaNruinhuWbvuaOp+S7tg0KICAgICAgICAgIGlmIChfbWUuYmluZExpc3QgJiYgX21lLmJpbmRMaXN0Lmxlbmd0aCA+IDApIHsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgX21lLmJpbmRMaXN0Lmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICAgIGlmIChfbWUuZGF0YVtfbWUuYm9BbGlhc11bX21lLmJpbmRMaXN0W2ldLmtleV0gPT0gJycpIHsNCiAgICAgICAgICAgICAgICAvLyDlm57loavmlbDmja4NCiAgICAgICAgICAgICAgICBfbWUuZGF0YVtfbWUuYm9BbGlhc11bX21lLmJpbmRMaXN0W2ldLmtleV0gPSBfbWUuYmluZExpc3RbaV0udmFsdWUNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgICAvL+aYr+WQpuaYr+aVsOaNruaKpeihqOaYjue7hg0KICAgICAgICAgIGlmIChyZXAucGVybWlzc2lvbiAmJiBfbWUuYWN0aW9uID09ICdnZXQnKSB7DQogICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uT2JqID0gcmVwLnBlcm1pc3Npb24NCiAgICAgICAgICAgIGxldCBjb21tb25SaWdodCA9ICcnDQogICAgICAgICAgICAvL+WmguaenOaYr+euoeeQhuerr+i/m+WFpe+8jOWImeWwhumhtemdouWtl+auteeahOadg+mZkOS/ruaUueS4uuWPr+e8lui+kQ0KICAgICAgICAgICAgaWYgKF9tZS50eXBlID09ICdtYW5hZ2UnKSB7DQogICAgICAgICAgICAgIGNvbW1vblJpZ2h0ID0gJ3cnDQogICAgICAgICAgICAgIC8v5aaC5p6c5piv5p+l55yL5a6e5L6L77yM5Lmf5piv6I635Y+W5Y+R6LW35rWB56iL55qE6KGo5Y2V5ZKM5p2D6ZmQ44CC5Y+q5LiN6L+H5omA5pyJ5Y+v6KeB55qE5p2D6ZmQ6KaB5Y+Y5oiQ57yW6L6RDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICBjb21tb25SaWdodCA9ICdyJw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25PYmouZmllbGRzICYmIGNvbW1vblJpZ2h0KSB7DQogICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBwZXJtaXNzaW9uT2JqLmZpZWxkcykgew0KICAgICAgICAgICAgICAgIGNvbnN0IGJvZGVmID0gcGVybWlzc2lvbk9iai5maWVsZHNba2V5XQ0KICAgICAgICAgICAgICAgIGlmIChib2RlZikgew0KICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZm5hbWUgaW4gYm9kZWYpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbW1vblJpZ2h0ID09ICd3JyB8fCAoY29tbW9uUmlnaHQgPT0gJ3InICYmIGJvZGVmW2ZuYW1lXSAhPSAnbicpKSB7DQogICAgICAgICAgICAgICAgICAgICAgYm9kZWZbZm5hbWVdID0gY29tbW9uUmlnaHQNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uT2JqLmZpZWxkc1trZXldID0gYm9kZWYNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25PYmoudGFibGUgJiYgY29tbW9uUmlnaHQpIHsNCiAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHBlcm1pc3Npb25PYmoudGFibGUpIHsNCiAgICAgICAgICAgICAgICBjb25zdCB0YWJsZSA9IHBlcm1pc3Npb25PYmoudGFibGVba2V5XQ0KICAgICAgICAgICAgICAgIGlmICh0YWJsZSkgew0KICAgICAgICAgICAgICAgICAgaWYgKGNvbW1vblJpZ2h0ID09ICd3Jykgew0KICAgICAgICAgICAgICAgICAgICB0YWJsZVsnaGlkZGVuJ10gPSBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICB0YWJsZVsnYWRkJ10gPSB0cnVlDQogICAgICAgICAgICAgICAgICAgIHRhYmxlWydkZWwnXSA9IHRydWUNCiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29tbW9uUmlnaHQgPT0gJ3InKSB7DQogICAgICAgICAgICAgICAgICAgIHRhYmxlWydhZGQnXSA9IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIHRhYmxlWydkZWwnXSA9IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIHRhYmxlWydyZXF1aXJlZCddID0gZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgdGFibGVbJ2VkaXQnXSA9IGZhbHNlDQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHBlcm1pc3Npb25PYmoudGFibGVba2V5XSA9IHRhYmxlDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF9tZS5wZXJtaXNzaW9uID0gcGVybWlzc2lvbk9iag0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBfbWUucGVybWlzc2lvbiA9IHJlcC5wZXJtaXNzaW9uDQogICAgICAgICAgfQ0KICAgICAgICAgIF9tZS5odG1sID0gcmVwLmZvcm0uZm9ybUh0bWwNCiAgICAgICAgICB0aGlzLmhhbmRsZXJKcyhyZXAuZm9ybSkNCiAgICAgICAgfQ0KICAgICAgfSkNCiAgICB9LA0KICAgIGhhbmRsZXJKcyhyZXApIHsNCiAgICAgIGxldCBfbWUgPSB0aGlzDQogICAgICBfbWUucmVsb2FkT25saW5lRm9ybSA9IHRydWUNCiAgICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gX21lLiRzdG9yZS5zdGF0ZS5sb2dpbi5jdXJyZW50VXNlcg0KDQogICAgICBsZXQgZGF0YSA9IF9tZS5kYXRhDQogICAgICBsZXQgX3RoaXMgPSBfbWUNCiAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICBldmFsKHJlcC5kaXlKcykNCiAgICAgIH0sIDEwKQ0KICAgIH0sDQogICAgZWRpdERyYWZ0SGFuZGxlcigpIHsNCiAgICAgIGxldCBfbWUgPSB0aGlzDQogICAgICBfbWUuJHN0b3JlLmRpc3BhdGNoKCdmb3JtL2dldFRlbXBEcmFmdERhdGEnLCBfbWUuZHJhZnRJZCkudGhlbigocmVwKSA9PiB7DQogICAgICAgIGlmIChyZXAucmVzdWx0KSB7DQogICAgICAgICAgX21lLmRhdGEgPSByZXAuZGF0YQ0KICAgICAgICAgIF9tZS5kcmFmdCA9IHJlcC5kcmFmdA0KICAgICAgICAgIGlmIChyZXAucGVybWlzc2lvbikgew0KICAgICAgICAgICAgX21lLnBlcm1pc3Npb24gPSByZXAucGVybWlzc2lvbg0KICAgICAgICAgIH0NCiAgICAgICAgICBfbWUuaHRtbCA9IHJlcC5mb3JtLmZvcm1IdG1sDQogICAgICAgICAgdGhpcy5oYW5kbGVySnMocmVwLmZvcm0pDQogICAgICAgIH0NCiAgICAgIH0pDQogICAgfSwNCiAgICBpbml0KCkgew0KICAgICAgdmFyICQgPSByZXF1aXJlKCdqcXVlcnknKQ0KICAgICAgdGhpcy5pZCA9IHV0aWxzLmdldFVybEtleSgnaWQnKQ0KICAgICAgdGhpcy5zdGFydEZsb3cgPSB1dGlscy5nZXRVcmxLZXkoJ3N0YXJ0RmxvdycpDQogICAgICB0aGlzLnJlY29yZElkID0gdXRpbHMuZ2V0VXJsS2V5KCdyZWNvcmRJZCcpDQogICAgICBsZXQgYmluZExpc3QgPSB1dGlscy5nZXRVcmxLZXkoJ2JpbmRMaXN0JykNCiAgICAgIGlmIChiaW5kTGlzdCkgew0KICAgICAgICB0aGlzLmJpbmRMaXN0ID0gSlNPTi5wYXJzZShCYXNlNjQuZGVjb2RlKGRlY29kZVVSSUNvbXBvbmVudChiaW5kTGlzdCkpKQ0KICAgICAgfQ0KICAgICAgdGhpcy5kcmFmdElkID0gdXRpbHMuZ2V0VXJsS2V5KCdkcmFmdElkJykNCiAgICAgIHRoaXMuaXNWaWV3ID0gKHRoaXMuYWN0aW9uICE9PSAnZ2V0JykNCiAgICAgIGxldCBfbWUgPSB0aGlzDQoNCiAgICAgIHRoaXMuJHN0b3JlDQogICAgICAgIC5kaXNwYXRjaCgnZm9ybS9nZXRCcG1EYXRhVGVtcGxhdGVJbmZvJywgew0KICAgICAgICAgIHRlbXBsYXRlS2V5OiB0aGlzLnRlbXBsYXRlS2V5DQogICAgICAgIH0pDQogICAgICAgIC50aGVuKChyZXN1bHQpID0+IHsNCiAgICAgICAgICBpZiAocmVzdWx0LnN0YXRlKSB7DQogICAgICAgICAgICBpZiAocmVzdWx0LnZhbHVlLmFsbG93U2hhcmUgPT0gMiAmJiBfbWUuaXNTaGFyZSkgew0KICAgICAgICAgICAgICBfbWUuJHJvdXRlci5wdXNoKCcvbWVzc2FnZUZpbGxQYWdlLzUnKQ0KICAgICAgICAgICAgICByZXR1cm4NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF9tZS5ib0FsaWFzID0gcmVzdWx0LnZhbHVlLmJvRGVmQWxpYXMNCiAgICAgICAgICAgIF9tZS5kZWZLZXkgPSByZXN1bHQudmFsdWUuZGVmSWQNCiAgICAgICAgICAgIF9tZS5mb3JtS2V5ID0gcmVzdWx0LnZhbHVlLmZvcm1LZXkNCiAgICAgICAgICAgIF9tZS50ZW1wQWxpYXMgPSByZXN1bHQudmFsdWUuYWxpYXMNCiAgICAgICAgICAgIGlmIChyZXN1bHQudmFsdWUubWFuYWdlRmllbGQpIHsNCiAgICAgICAgICAgICAgbGV0IHJlID0gSlNPTi5wYXJzZShyZXN1bHQudmFsdWUubWFuYWdlRmllbGQpDQogICAgICAgICAgICAgIHJlLmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgICAgICAgICBpZiAoaXRlbS5uYW1lID09ICdzdGFydEZsb3cnKSB7DQogICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0RmxvdyA9IHRydWUNCiAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRMYWJsZSA9IGl0ZW0uZGVzYw0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5uYW1lID09ICdwcmludCcpIHsNCiAgICAgICAgICAgICAgICAgIHRoaXMucHJpbnRMYWJsZSA9IGl0ZW0uZGVzYw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgIHRoaXMuc3RhcnRGbG93ID0gdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdGhpcy5yZWxvYWRPbmxpbmVGb3JtID0gZmFsc2UNCiAgICAgICAgICAgIC8v5aaC5p6c57yW6L6R55qE5piv6I2J56i/5pWw5o2uDQogICAgICAgICAgICBpZiAodGhpcy5hY3Rpb24gPT09ICdlZGl0RHJhZnQnKSB7DQogICAgICAgICAgICAgIHRoaXMuZWRpdERyYWZ0SGFuZGxlcigpDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICB0aGlzLmhhbmRsZXIoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICB9DQogIH0sDQogIGNyZWF0ZWQoKSB7DQogICAgdGhpcy5pbml0KCkNCiAgfSwNCiAgd2F0Y2g6IHsNCiAgICB0ZW1wbGF0ZUtleTogZnVuY3Rpb24obiwgbykgew0KICAgICAgaWYgKG4gJiYgbyAmJiBuICE9IG8pIHsNCiAgICAgICAgdGhpcy5pbml0KCkNCiAgICAgIH0NCiAgICB9LA0KICAgIC8v5o6n5Lu255qE6IGU5Yqo5Lya5a+86Ie06KGo5Y2V55qEcGVybWlzc2lvbuWPkeeUn+WPmOWMlu+8jOiBlOWKqOaYvuekuuS8muWPmOaIkCd3J++8jOmcgOimgeaUueWbnuWOn+adpeeahOadg+mZkA0KICAgIHBlcm1pc3Npb246IHsNCiAgICAgIGhhbmRsZXIobmV3VmFsLCBvbGRWYWwpIHsNCiAgICAgICAgaWYgKHRoaXMuZm9ybUtleSAmJiB0aGlzLmFjdGlvbiA9PSAnZ2V0Jykgew0KICAgICAgICAgIGZvciAobGV0IGtleSBpbiBuZXdWYWwuZmllbGRzW3RoaXMuZm9ybUtleV0pIHsNCiAgICAgICAgICAgIGlmIChuZXdWYWwuZmllbGRzW3RoaXMuZm9ybUtleV1ba2V5XSA9PSAndycpIHsNCiAgICAgICAgICAgICAgbmV3VmFsLmZpZWxkc1t0aGlzLmZvcm1LZXldW2tleV0gPSAncicNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0sDQogICAgICBkZWVwOiB0cnVlDQogICAgfQ0KICB9DQp9DQo="},null]}