{"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\\components\\control\\HtTreeselect.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\components\\control\\HtTreeselect.vue","mtime":1705895419236},{"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:aW1wb3J0IF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2J6emdqLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZG90LWFsbC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnN0aWNreS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zZWFyY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcudHJpbS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IHV0aWxzIGZyb20gJ0AvdXRpbHMuanMnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ2h0LXNlbGVjdCcsCiAgcHJvcHM6IFsndmFsaWRhdGUnLCAndmFsdWUnLCAnbmFtZScsICdwZXJtaXNzaW9uJywgJ211bHRpcGxlJywgJ3NlbGVjdGxpc3QnLCAnbGlua2FnZScsICdnYW5nZWQnLCAndG9vbHRpcHBsYWNlbWVudCcsICdmaWx0ZXJhYmxlJywgJ2FsbG93Q3JlYXRlJywgJ3N0eWxlcyddLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBpbnB1dFZhbDogW10sCiAgICAgIGlucHV0VmFsbmV3OiAnJywKICAgICAgY29uZmlnOiB7fSwKICAgICAgdG90YWw6IDEwLAogICAgICBwYWdlU2l6ZTogNSwKICAgICAgY3VycmVudFBhZ2U6IDEsCiAgICAgIG9wdGlvbnM6IFtdLAogICAgICB0ZW1wb3B0aW9uczogW10sCiAgICAgIGRlZmF1bHRQcm9wczogewogICAgICAgIGNoaWxkcmVuOiAnY2hpbGRyZW4nLAogICAgICAgIGxhYmVsOiAndmFsdWUnCiAgICAgIH0KICAgIH07CiAgfSwKICB3YXRjaDogewogICAgaW5wdXRWYWw6IGZ1bmN0aW9uIGlucHV0VmFsKG5ld1ZhbCwgb2xkVmFsKSB7CiAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgbmV3VmFsKTsKICAgIH0KICB9LAogIGNvbXB1dGVkOiB7CiAgICBpbnB1dFdyaXRlYWJsZTogZnVuY3Rpb24gaW5wdXRXcml0ZWFibGUoKSB7CiAgICAgIHJldHVybiB1dGlscy5nZXRXcml0ZWFibGUodGhpcy5wZXJtaXNzaW9uKTsKICAgIH0sCiAgICBpbnB1dFZhbGlkYXRlOiBmdW5jdGlvbiBpbnB1dFZhbGlkYXRlKCkgewogICAgICB2YXIgdmFsaWRhdGVPYmogPSB0aGlzLiRzdG9yZS5zdGF0ZS5pbmRleC52YWxpZGF0ZTsKICAgICAgcmV0dXJuIHV0aWxzLmFkZFJlcXVpcmVkT3JOb3QodGhpcy5wZXJtaXNzaW9uLCB0aGlzLnZhbGlkYXRlLCB2YWxpZGF0ZU9iaiwgdGhpcyk7CiAgICB9LAogICAgaW5wdXROYW1lOiBmdW5jdGlvbiBpbnB1dE5hbWUoKSB7CiAgICAgIHZhciBsYWJlbGRlc2MgPSAnJzsKICAgICAgaWYgKHRoaXMuJHNsb3RzICYmIHRoaXMuJHNsb3RzLmxhYmVsZGVzYyAmJiB0aGlzLiRzbG90cy5sYWJlbGRlc2NbMF0uY2hpbGRyZW4gJiYgdGhpcy4kc2xvdHMubGFiZWxkZXNjWzBdLmNoaWxkcmVuWzBdLnRleHQpIHsKICAgICAgICBsYWJlbGRlc2MgPSB0aGlzLiRzbG90cy5sYWJlbGRlc2NbMF0uY2hpbGRyZW5bMF0udGV4dDsKICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gdGhpcy5uYW1lIDogdXRpbHMuZ2V0TmFtZSgpICsgJy0nICsgbGFiZWxkZXNjOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB0aGlzLm5hbWUgPyB0aGlzLm5hbWUgOiB1dGlscy5nZXROYW1lKCk7CiAgICAgIH0KICAgIH0KICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnNlbGVjdGxpc3QgPyB0aGlzLnNlbGVjdGxpc3QgOiBbXTsKICAgIHZhciBfbWUgPSB0aGlzOwogICAgdmFyIGV4cCA9IHRoaXMubGlua2FnZTsKICAgIGlmIChleHAgJiYgZXhwLmxlbmd0aCA+IDAgJiYgdGhpcy4kcGFyZW50LmlzVmlldykgewogICAgICB2YXIgcEluc3QgPSB1dGlscy5nZXRPbmxpbmVGb3JtSW5zdGFuY2UoX21lKTsKICAgICAgX21lLnRyYWNlcyA9IHt9OwogICAgICBleHAuZm9yRWFjaChmdW5jdGlvbiAobSkgewogICAgICAgIG0uZWZmZWN0LmZvckVhY2goZnVuY3Rpb24gKG0pIHsKICAgICAgICAgIHZhciBwYXRoID0gInBlcm1pc3Npb24uZmllbGRzLiIuY29uY2F0KG0udGFyZ2V0KTsKICAgICAgICAgIHZhciBvbGRWYWwgPSB1dGlscy5nZXRWYWx1ZUJ5UGF0aChwSW5zdCwgcGF0aCk7CiAgICAgICAgICBfbWUudHJhY2VzW3BhdGhdID0gb2xkVmFsOwogICAgICAgIH0pOwogICAgICAgIF9tZS4kd2F0Y2goJ2lucHV0VmFsJywgZnVuY3Rpb24gKG5ld1ZhbCwgb2xkVmFsKSB7CiAgICAgICAgICBpZiAobmV3VmFsICE9PSBvbGRWYWwgJiYgbS52YWx1ZSA9PSBuZXdWYWwpIHsKICAgICAgICAgICAgbS5lZmZlY3QuZm9yRWFjaChmdW5jdGlvbiAoZWYpIHsKICAgICAgICAgICAgICBfbWUuJHN0b3JlLmRpc3BhdGNoKCdpbmRleC9kZWxWYWxpZGF0ZScpOwogICAgICAgICAgICAgIHZhciBwID0gInBlcm1pc3Npb24uZmllbGRzLiIuY29uY2F0KGVmLnRhcmdldCk7CiAgICAgICAgICAgICAgdmFyIHZhbCA9IF9tZS50cmFjZXNbcF07CiAgICAgICAgICAgICAgaWYgKG0udmFsdWUgPT09IG5ld1ZhbCkgewogICAgICAgICAgICAgICAgdmFsID0gZWYudHlwZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX21lLiRzdG9yZS5kaXNwYXRjaCgnaW5kZXgvbGlua2FnZVZhbGlkYXRlJywgZWYpOwogICAgICAgICAgICAgIHV0aWxzLnNldFZhbHVlQnlQYXRoKHBJbnN0LCBwLCB2YWwpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9LCB7CiAgICAgICAgICBpbW1lZGlhdGU6IHRydWUKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9CiAgICB2YXIgZ2FuZ2VkID0gdGhpcy5nYW5nZWQ7CiAgICAvL+WIpOaWreaYr+WQpuacieWPguaVsOe7keWumgogICAgaWYgKGdhbmdlZCAmJiBnYW5nZWQuYmluZCAmJiB0aGlzLmNvbmZpZykgewogICAgICB2YXIgYmluZCA9IGdhbmdlZC5iaW5kOwogICAgICB2YXIgZm9ybVZtID0gdXRpbHMuZ2V0T25saW5lRm9ybUluc3RhbmNlKF9tZSk7CiAgICAgIGZvcm1WbS4kd2F0Y2goJ2RhdGEnLCBmdW5jdGlvbiAobmV3VmFsLCBvbGRWYWwpIHsKICAgICAgICBmb3IgKHZhciBrZXkgaW4gYmluZCkgewogICAgICAgICAgdmFyIF9wSW5zdCA9IHV0aWxzLmdldE9ubGluZUZvcm1JbnN0YW5jZShfbWUpOwogICAgICAgICAgdmFyIHZhbCA9IHV0aWxzLmdldFZhbHVlQnlQYXRoKF9wSW5zdCwgYmluZFtrZXldKTsKICAgICAgICAgIF9tZS5zZWFyY2goZmFsc2UsIHZhbCk7CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgZGVlcDogdHJ1ZQogICAgICB9KTsKICAgIH0KCiAgICAvL+WbnuaYvgogICAgaWYgKHRoaXMuaW5wdXRWYWwgJiYgdGhpcy5pbnB1dFZhbC5jb25zdHJ1Y3RvciA9PSBBcnJheSAmJiB0aGlzLmlucHV0VmFsLmxlbmd0aCA+IDAgJiYgdGhpcy5pbnB1dFZhbG5ldyA9PSAnJyAmJiB0aGlzLnNlbGVjdGxpc3QpIHsKICAgICAgdmFyIGlucHV0VmFsQXJyID0gW107CiAgICAgIGlmICghKHRoaXMuaW5wdXRWYWwgaW5zdGFuY2VvZiBBcnJheSkpIHsKICAgICAgICB0aGlzLmlucHV0VmFsID0gdGhpcy5pbnB1dFZhbC5zcGxpdCgnLCcpOwogICAgICB9CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5pbnB1dFZhbC5sZW5ndGg7IGkrKykgewogICAgICAgIGZvciAodmFyIGEgPSAwOyBhIDwgdGhpcy5zZWxlY3RsaXN0Lmxlbmd0aDsgYSsrKSB7CiAgICAgICAgICBpZiAodGhpcy5zZWxlY3RsaXN0W2FdLmtleSA9PSB0aGlzLmlucHV0VmFsW2ldKSB7CiAgICAgICAgICAgIGlucHV0VmFsQXJyLnB1c2godGhpcy5zZWxlY3RsaXN0W2FdLnZhbHVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIHRoaXMuaW5wdXRWYWxuZXcgPSBpbnB1dFZhbEFyci5qb2luKCcsJyk7CiAgICB9IGVsc2UgewogICAgICBpZiAodGhpcy5pbnB1dFZhbCAmJiB0aGlzLmlucHV0VmFsLmxlbmd0aCA+IDAgJiYgdGhpcy5pbnB1dFZhbCBpbnN0YW5jZW9mIEFycmF5KSB7CiAgICAgICAgdGhpcy5pbnB1dFZhbCA9IHRoaXMuaW5wdXRWYWwuc3BsaXQoJywnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmlucHV0VmFsbmV3ID0gdGhpcy5pbnB1dFZhbDsKICAgICAgfQogICAgICBpZiAodGhpcy5pbnB1dFZhbCAhPSAnJyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoICE9IDApIHsKICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgdGhpcy5vcHRpb25zLmxlbmd0aDsgX2krKykgewogICAgICAgICAgaWYgKHRoaXMub3B0aW9uc1tfaV0ua2V5ID09IHRoaXMuaW5wdXRWYWwpIHsKICAgICAgICAgICAgdGhpcy5pbnB1dFZhbG5ldyA9IHRoaXMub3B0aW9uc1tfaV0udmFsdWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgdGhpcy5vcHRpb25zID0gdGhpcy5zZWxlY3RsaXN0ID8gdGhpcy5zZWxlY3RsaXN0IDogW107CiAgICAvL+WKqOaAgeS8oOWFpQogICAgaWYgKHRoaXMuZ2FuZ2VkICYmIHRoaXMuZ2FuZ2VkLmFsaWFzICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPCAxKSB7CiAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdmb3JtL2dldEJ5QWxpYXNDcScsIHRoaXMuZ2FuZ2VkLmFsaWFzKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczIuY29uZmlnID0gcmVzOwogICAgICAgIF90aGlzMi5zZWFyY2goKTsKICAgICAgfSk7CiAgICB9CiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmluZGV4T2YoJ1snKSA9PSAwKSB7CiAgICAgIHZhciBzZWxlY3RWYWwgPSB0aGlzLnZhbHVlLnN1YnN0cigwLCB0aGlzLnZhbHVlLmxlbmd0aCAtIDEpOwogICAgICBzZWxlY3RWYWwgPSBzZWxlY3RWYWwuc3Vic3RyKDEpOwogICAgICBpZiAoc2VsZWN0VmFsID09PSAnJykgewogICAgICAgIHRoaXMuaW5wdXRWYWwgPSBzZWxlY3RWYWw7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBzZWxlY3RWYWwyID0gc2VsZWN0VmFsLnNwbGl0KCcsJyk7CiAgICAgIHZhciBzZWxlY3RWYWxuZXcgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3RWYWwyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgc2VsZWN0VmFsbmV3LnB1c2goc2VsZWN0VmFsMltpXS50cmltKCkpOwogICAgICB9CiAgICAgIHRoaXMuaW5wdXRWYWwgPSBzZWxlY3RWYWxuZXc7CiAgICB9IGVsc2UgewogICAgICB0aGlzLmlucHV0VmFsID0gdGhpcy52YWx1ZTsKICAgIH0KICAgIHRoaXMuJHZhbGlkYXRvciA9IHRoaXMuJHJvb3QuJHZhbGlkYXRvcjsKICB9LAogIG1ldGhvZHM6IHsKICAgIGNsZWFyOiBmdW5jdGlvbiBjbGVhcigpIHsKICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHsKICAgICAgICB0aGlzLnRlbXBvcHRpb25zID0gW107CiAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgdGhpcy4kcmVmcy50cmVlc2VsZWN0RWxUcmVlLnNldENoZWNrZWRLZXlzKFtdLCB0cnVlKTsKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLiRyZWZzLnRyZWVzZWxlY3RFbFRyZWUuc2V0Q3VycmVudE5vZGUoe30pOwogICAgICB9CiAgICB9LAogICAgY2xpY2tOYXRpdmU6IGZ1bmN0aW9uIGNsaWNrTmF0aXZlKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgLy/liqjmgIHkvKDlhaUKICAgICAgaWYgKHRoaXMuZ2FuZ2VkICYmIHRoaXMuZ2FuZ2VkLmFsaWFzICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPCAxKSB7CiAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2Zvcm0vZ2V0QnlBbGlhc0NxJywgdGhpcy5nYW5nZWQuYWxpYXMpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgX3RoaXMzLmNvbmZpZyA9IHJlczsKICAgICAgICAgIF90aGlzMy5zZWFyY2goKTsKICAgICAgICB9KTsKICAgICAgfQogICAgfSwKICAgIHNlbGVjdEJsdXI6IGZ1bmN0aW9uIHNlbGVjdEJsdXIodmFsKSB7CiAgICAgIHRoaXMuc2VhcmNoKCk7CiAgICB9LAogICAgaGFuZGxlQ2hlY2tDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZUNoZWNrQ2hhbmdlKGRhdGEpIHsKICAgICAgdmFyIGNoZWNrZWROb2RlcyA9IHRoaXMuJHJlZnMudHJlZXNlbGVjdEVsVHJlZS5nZXRDaGVja2VkTm9kZXMoKTsKICAgICAgdGhpcy5pbnB1dFZhbCA9IFtdOwogICAgICB0aGlzLnRlbXBvcHRpb25zID0gY2hlY2tlZE5vZGVzOwogICAgICB2YXIgX2l0ZXJhdG9yID0gX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIoY2hlY2tlZE5vZGVzKSwKICAgICAgICBfc3RlcDsKICAgICAgdHJ5IHsKICAgICAgICBmb3IgKF9pdGVyYXRvci5zKCk7ICEoX3N0ZXAgPSBfaXRlcmF0b3IubigpKS5kb25lOykgewogICAgICAgICAgdmFyIF9kYXRhID0gX3N0ZXAudmFsdWU7CiAgICAgICAgICB0aGlzLmlucHV0VmFsLnB1c2goX2RhdGEua2V5KTsKICAgICAgICB9CiAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgIF9pdGVyYXRvci5lKGVycik7CiAgICAgIH0gZmluYWxseSB7CiAgICAgICAgX2l0ZXJhdG9yLmYoKTsKICAgICAgfQogICAgfSwKICAgIGhhbmRsZU5vZGVDbGljazogZnVuY3Rpb24gaGFuZGxlTm9kZUNsaWNrKGRhdGEpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkgewogICAgICAgIHRoaXMuaW5wdXRWYWwgPSBkYXRhLnZhbHVlOwogICAgICAgIHRoaXMuJHJlZnMudHJlZXNlbGVjdC5ibHVyKCk7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICBfdGhpczQuJHZhbGlkYXRvci52YWxpZGF0ZSgpOwogICAgICAgIH0pOwogICAgICB9CiAgICB9LAogICAgZmlsdGVyTm9kZTogZnVuY3Rpb24gZmlsdGVyTm9kZSh2YWx1ZSwgZGF0YSkgewogICAgICBpZiAoIXZhbHVlKSByZXR1cm4gdHJ1ZTsKICAgICAgcmV0dXJuIGRhdGEudmFsdWUuaW5kZXhPZih2YWx1ZSkgIT09IC0xOwogICAgfSwKICAgIGZpbHRlck1ldGhvZDogZnVuY3Rpb24gZmlsdGVyTWV0aG9kKHF1ZXJ5KSB7CiAgICAgIHRoaXMuJHJlZnMudHJlZXNlbGVjdEVsVHJlZS5maWx0ZXIocXVlcnkpOwogICAgfSwKICAgIHJlbW90ZU1ldGhvZDogZnVuY3Rpb24gcmVtb3RlTWV0aG9kKHZhbCkgewogICAgICBpZiAodmFsKSB7CiAgICAgICAgdGhpcy5zZWFyY2goZmFsc2UsIHZhbCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5wYXJhbSA9ICcnOwogICAgICAgIHRoaXMuc2VhcmNoKCk7CiAgICAgIH0KICAgIH0sCiAgICBoYW5kbGVDdXJyZW50Q2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVDdXJyZW50Q2hhbmdlKGN1cnJlbnRQYWdlKSB7CiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBjdXJyZW50UGFnZTsKICAgICAgdGhpcy5zZWFyY2goY3VycmVudFBhZ2UpOwogICAgfSwKICAgIHNlYXJjaDogZnVuY3Rpb24gc2VhcmNoKGN1cnJlbnRQYWdlLCBwYXJhbSkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgaWYgKCF0aGlzLmNvbmZpZykgcmV0dXJuOwogICAgICB2YXIgc3RyID0gdGhpcy5jb25maWc7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIHZhciBnYW5nZWQgPSB0aGlzLmdhbmdlZDsKICAgICAgdGhpcy5wYWdlU2l6ZSA9IHN0ci5wYWdlU2l6ZTsKICAgICAgLy8gaWYoc3RyLm5lZWRQYWdlID09PSAxKXsKICAgICAgdmFyIHBhZ2VCZWFuID0gewogICAgICAgIHBhZ2VCZWFuOiB7CiAgICAgICAgICBwYWdlOiBjdXJyZW50UGFnZSA/IGN1cnJlbnRQYWdlIDogMSwKICAgICAgICAgIHBhZ2VTaXplOiBzdHIucGFnZVNpemUsCiAgICAgICAgICBzaG93VG90YWw6ICd0cnVlJwogICAgICAgIH0KICAgICAgfTsKICAgICAgaWYgKHBhcmFtKSB7CiAgICAgICAgaWYgKHN0ci5kc1R5cGUgPT0gJ2RhdGFTb3VyY2UnKSB7CiAgICAgICAgICB2YXIgQmFzZTY0ID0gcmVxdWlyZSgnanMtYmFzZTY0JykuQmFzZTY0OwogICAgICAgICAgc3RyLmN1cnJlbnRQYWdlID0gY3VycmVudFBhZ2UgPyBjdXJyZW50UGFnZSA6IDE7CiAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZ2FuZ2VkLmJpbmQpID09PSAne30nKSB7CiAgICAgICAgICAgIHN0ci5xdWVyeURhdGEgPSBCYXNlNjQuZW5jb2RlKEpTT04uc3RyaW5naWZ5KFt7CiAgICAgICAgICAgICAga2V5OiBnYW5nZWQudmFsdWVCaW5kLAogICAgICAgICAgICAgIHZhbHVlOiBwYXJhbQogICAgICAgICAgICB9XSkpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFyIHF1ZXJ5RGF0YSA9IFtdOwogICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gZ2FuZ2VkLmJpbmQpIHsKICAgICAgICAgICAgICB2YXIgcEluc3QgPSB1dGlscy5nZXRPbmxpbmVGb3JtSW5zdGFuY2UoX3RoaXMpOwogICAgICAgICAgICAgIHZhciB2YWwgPSB1dGlscy5nZXRWYWx1ZUJ5UGF0aChwSW5zdCwgZ2FuZ2VkLmJpbmRba2V5XSk7CiAgICAgICAgICAgICAgaWYgKHZhbCkgewogICAgICAgICAgICAgICAgcXVlcnlEYXRhLnB1c2goewogICAgICAgICAgICAgICAgICBrZXk6IGtleSwKICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHF1ZXJ5RGF0YS5wdXNoKHsKICAgICAgICAgICAgICAgICAga2V5OiBrZXksCiAgICAgICAgICAgICAgICAgIHZhbHVlOiBwYXJhbQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHN0ci5xdWVyeURhdGEgPSBCYXNlNjQuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHF1ZXJ5RGF0YSkpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgdGVtcGxhdGVQYSA9IHRoaXMuY29uZmlnLmRhdGFQYXJhbTsKICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5yZXF1ZXN0VHlwZSA9PSAnUE9TVCcgJiYgdGVtcGxhdGVQYSkgewogICAgICAgICAgICB2YXIgY29uZGl0aW9uZmllbGQgPSBKU09OLnBhcnNlKHN0ci5jb25kaXRpb25maWVsZCk7CiAgICAgICAgICAgIGNvbmRpdGlvbmZpZWxkLmZvckVhY2goZnVuY3Rpb24gKGVsZSkgewogICAgICAgICAgICAgIHZhciBwSW5zdCA9IHV0aWxzLmdldE9ubGluZUZvcm1JbnN0YW5jZShfdGhpcyk7CiAgICAgICAgICAgICAgdmFyIHZhbCA9IHV0aWxzLmdldFZhbHVlQnlQYXRoKHBJbnN0LCBnYW5nZWQuYmluZFtlbGUuZmllbGRdKTsKICAgICAgICAgICAgICBpZiAodmFsKSB7CiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhID0gdGVtcGxhdGVQYS5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xceycgKyBlbGUuZmllbGQgKyAnXFx9JywgJ2cnKSwgdmFsKTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGVtcGxhdGVQYSA9IHRlbXBsYXRlUGEucmVwbGFjZShuZXcgUmVnRXhwKCdcXHsnICsgZWxlLmZpZWxkICsgJ1xcfScsICdnJyksIHBhcmFtKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHt9CiAgICAgICAgICBzdHIucGFnZUJlYW4gPSB1dGlscy5wYXJzZVRvSnNvbih0ZW1wbGF0ZVBhKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgc3RyLnBhZ2VCZWFuID0gcGFnZUJlYW47CiAgICAgICAgc3RyLmN1cnJlbnRQYWdlID0gY3VycmVudFBhZ2UgPyBjdXJyZW50UGFnZSA6IDE7CiAgICAgICAgc3RyLnF1ZXJ5RGF0YSA9ICcnOwogICAgICB9CiAgICAgIC8vfQogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnZm9ybS9zZWxlY3RRdWVyeScsIHN0cikudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKF90aGlzNS5jb25maWcgJiYgX3RoaXM1LmNvbmZpZy5kc1R5cGUgPT09ICdyZXN0ZnVsJykgewogICAgICAgICAgX3RoaXMub3B0aW9ucyA9IHJlcy5yb3dzOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBfdGhpcy50b3RhbCA9IHJlcy50b3RhbDsKICAgICAgICBfdGhpcy5vcHRpb25zID0gW107CiAgICAgICAgcmVzLnJvd3MuZm9yRWFjaChmdW5jdGlvbiAobSkgewogICAgICAgICAgdmFyIG9wdGlvbiA9IHt9OwogICAgICAgICAgaWYgKF90aGlzLmdhbmdlZC52YWx1ZUJpbmQpIHsKICAgICAgICAgICAgb3B0aW9uLmtleSA9IG1bZ2FuZ2VkLnZhbHVlQmluZF07CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoX3RoaXMuZ2FuZ2VkLmxhYmVsQmluZCkgewogICAgICAgICAgICBvcHRpb24udmFsdWUgPSBtW2dhbmdlZC5sYWJlbEJpbmRdOwogICAgICAgICAgfQogICAgICAgICAgX3RoaXMub3B0aW9ucy5wdXNoKG9wdGlvbik7CiAgICAgICAgfSk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBfdGhpcy5vcHRpb25zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBpZiAoX3RoaXMuaW5wdXRWYWxuZXcgPT0gX3RoaXMub3B0aW9uc1tpXS5rZXkpIHsKICAgICAgICAgICAgX3RoaXMuaW5wdXRWYWxuZXcgPSBfdGhpcy5vcHRpb25zW2ldLnZhbHVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfQogIH0KfTs="},null]}