nsc-react-component 2.10.2 → 2.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base/image/index.d.ts +1 -0
- package/lib/base/image/index.js +10 -6
- package/lib/base/upload/index.js +113 -127
- package/lib/page/HeaderSearch/index.js +20 -15
- package/package.json +1 -1
package/lib/base/image/index.js
CHANGED
|
@@ -10,6 +10,10 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
10
10
|
|
|
11
11
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
12
12
|
|
|
13
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
+
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
16
|
+
|
|
13
17
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
14
18
|
|
|
15
19
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
@@ -75,13 +79,13 @@ var NscImage = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
75
79
|
var _getImgData = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
76
80
|
var _this2 = this;
|
|
77
81
|
|
|
78
|
-
var _this$props, fileId, newVersion, res2, _img$data, img, _img$data2;
|
|
82
|
+
var _this$props, fileId, newVersion, _this$props$requestCo, requestConfig, res2, _img$data, img, _img$data2;
|
|
79
83
|
|
|
80
84
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
81
85
|
while (1) {
|
|
82
86
|
switch (_context.prev = _context.next) {
|
|
83
87
|
case 0:
|
|
84
|
-
_this$props = this.props, fileId = _this$props.fileId, newVersion = _this$props.newVersion;
|
|
88
|
+
_this$props = this.props, fileId = _this$props.fileId, newVersion = _this$props.newVersion, _this$props$requestCo = _this$props.requestConfig, requestConfig = _this$props$requestCo === void 0 ? {} : _this$props$requestCo;
|
|
85
89
|
|
|
86
90
|
if (!newVersion) {
|
|
87
91
|
_context.next = 8;
|
|
@@ -89,7 +93,7 @@ var NscImage = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
89
93
|
}
|
|
90
94
|
|
|
91
95
|
_context.next = 4;
|
|
92
|
-
return previewImage(fileId,
|
|
96
|
+
return previewImage(fileId, requestConfig);
|
|
93
97
|
|
|
94
98
|
case 4:
|
|
95
99
|
res2 = _context.sent;
|
|
@@ -102,9 +106,9 @@ var NscImage = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
102
106
|
|
|
103
107
|
case 8:
|
|
104
108
|
_context.next = 10;
|
|
105
|
-
return download(fileId, false, {
|
|
109
|
+
return download(fileId, false, _objectSpread(_objectSpread({}, requestConfig), {}, {
|
|
106
110
|
showErrMsg: false
|
|
107
|
-
});
|
|
111
|
+
}));
|
|
108
112
|
|
|
109
113
|
case 10:
|
|
110
114
|
img = _context.sent;
|
|
@@ -278,4 +282,4 @@ var NscImage = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
278
282
|
}(React.PureComponent);
|
|
279
283
|
|
|
280
284
|
export { NscImage as default };
|
|
281
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW1hZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiZmlsZSIsInN0eWxlcyIsImdldExlc3MiLCJFeWVPdXRsaW5lZCIsIkRvd25sb2FkT3V0bGluZWQiLCJEZWxldGVPdXRsaW5lZCIsIlNwaW4iLCJkb3dubG9hZCIsInByZXZpZXdEb2N1bWVudCIsInByZXZpZXdJbWFnZSIsIk5zY0ltYWdlIiwicHJvcHMiLCJzdGF0ZSIsImltZ0RhdGEiLCJkZWZhdWx0SW1nIiwidmlzaWJsZSIsIm1hc2siLCJsb2FkaW5nIiwiZmlsZUlkIiwibmV3VmVyc2lvbiIsInJlczIiLCJzZXRTdGF0ZSIsImRhdGEiLCJzaG93RXJyTXNnIiwiaW1nIiwiYmxvYlRvQmFzZTY0IiwidGhlbiIsInJlcyIsImJsb2IiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImZpbGVSZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiZSIsInRhcmdldCIsInJlc3VsdCIsInJlYWRBc0RhdGFVUkwiLCJvbmVycm9yIiwiRXJyb3IiLCJwcmV2UHJvcHMiLCJnZXRJbWdEYXRhIiwic3JjIiwiY2xpY2tQcmV2aWV3Iiwic2hvd0Rvd25sb2FkSWNvbiIsInByZXZpZXciLCJzaG93RGVsZXRlSWNvbiIsIm9uRGVsZXRlIiwib25QcmV2aWV3Iiwib25Eb3dubG9hZCIsInBhcmFtcyIsIndpZHRoIiwiaGVpZ2h0IiwiZGlzcGxheSIsIm9uVmlzaWJsZUNoYW5nZSIsInZhbHVlIiwiUHVyZUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFFQSxPQUFPQyxJQUFQLE1BQWlCLFVBQWpCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsYUFBeEI7QUFDQSxTQUNFQyxX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dkIvQyxRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IEltYWdlLCBJbWFnZVByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCB7XHJcbiAgRXllT3V0bGluZWQsXHJcbiAgRG93bmxvYWRPdXRsaW5lZCxcclxuICBVcGxvYWRPdXRsaW5lZCxcclxuICBEZWxldGVPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vc3BpblwiO1xyXG5cclxuY29uc3QgeyBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50LCBwcmV2aWV3SW1hZ2UgfSA9IGZpbGU7XHJcbmludGVyZmFjZSBJSW1hZ2VQcm9wcyBleHRlbmRzIEltYWdlUHJvcHMge1xyXG4gIGZpbGVJZD86IHN0cmluZztcclxuICBzcmM/OiBzdHJpbmc7XHJcbiAgY2xpY2tQcmV2aWV3PzogYm9vbGVhbjtcclxuICBzaG93RGVsZXRlSWNvbj86IGJvb2xlYW47XHJcbiAgLy8gc2hvd1VwbG9hZEljb24/OiBib29sZWFuO1xyXG4gIHNob3dEb3dubG9hZEljb24/OiBib29sZWFuO1xyXG4gIHByZXZpZXc/OiBib29sZWFuO1xyXG4gIGRlZmF1bHRJbWc/OiBzdHJpbmc7XHJcbiAgb25EZWxldGU/OiBhbnk7XHJcbiAgb25QcmV2aWV3PzogYW55O1xyXG4gIG9uRG93bmxvYWQ/OiBhbnk7XHJcbiAgbmV3VmVyc2lvbj86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY0ltYWdlIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJSW1hZ2VQcm9wcywgYW55PiB7XHJcbiAgZGVmYXVsdEltZyA9XHJcbiAgICBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTUlBQUFERENBWUFBQURRdmM2VUFBQUJSV2xEUTFCSlEwTWdVSEp2Wm1sc1pRQUFLSkZqWUdBU1NTd295R0ZoWUdESXpTc3BDbkozVW9pSWpGSmdmOExBd1NEQ0lNb2d3TUNjbUZ4YzRCZ1E0QU5Vd2dDalVjRzNhd3lNSVBxeUxzaXM3UFBPcTNRZERGY3ZqVjNqT0QxYm9RVlRQUXJnU2trdFRnYlNmNEE0TGJtZ3FJU0JnVEVGeUZZdUx5a0FzVHVBYkpFaW9LT0E3RGtnZGpxRXZRSEVUb0t3ajREVmhBUTVBOWszZ0d5QjVJeEVvQm1NTDRCc25TUWs4WFFrTnRSZUVPQnhjZlh4VVFnMU1qYzBkeUhnWE5KQlNXcEZDWWgyemkrb0xNcE16eWhSY0FTR1VxcUNaMTZ5bm82Q2tZR1JBUU1ES013aHFqL2ZBSWNsb3hnSFFxeEFqSUhCRXVndzVzVUlzU1FwQm9idFFQZExjaUxFVkpZek1QQkhNREJzYXloSUxFcUVPNER4RzB0eG1yRVJoTTI5bllHQmRkci8vNS9ER1JqWU5Sa1kvbDcvLy8vMzl2Ly8veTREbW4rTGdlSEFOd0Rya2wxQXVPK3BtZ0FBQURobFdFbG1UVTBBS2dBQUFBZ0FBWWRwQUFRQUFBQUJBQUFBR2dBQUFBQUFBcUFDQUFRQUFBQUJBQUFBd3FBREFBUUFBQUFCQUFBQXd3QUFBQUQ5Yi9IbkFBQUhsa2xFUVZSNEFlM2RQM1BUV0JTR2NiR3pNNkdDS3FsSUJSVjBkSFJKRmFyUTBlVVQ4TEg0Qm5SVTBOSFIwVUVGVmRJbEZSVjdUelJrc29tUFk4dXlrVGsvemV3UWZLdy85em52NHl2SnluTHY0dUxpVjJkQm9EaUJmNHFQMy9BUnVDUkFCRUZBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2cwQWo4aTBKTzRPenNyUHY2OVd2K2hpMnFQSHIwcU52ZjM5K2lJOTdzb1JJaDRmM3o1OC91N2R1M1NYWDdYdDdaMmVuZXZIbXpmUWUrb1NOMmFwU0FQajA5VFNyYitYS0kvZjM3OSswOCtBMGNOUkUyQU5rdXBrK0FDTlB2a1NQY0FBRWliQUN5WFV5ZkFCR20zeU5IdUFFQ1JOZ0FaTHVZUGdFaXJLbEh1N3U3WGR5eXRHd0hBZDhqak55bmc0T0Q3dm56NTFkYlBUOC83ejU4K05COSsvYnQ2alUvVEkrQUdXSEVucng0OGVKL0VzU21Ieng0MEwxOCtmTHl6eEYzWlZNakV5RENpRURqTVlaWlM1d2lQWG55WkZiSmF4TWhRSVFSR3pIdldSN1hDeU9DWHNPbWlEQWkxSG1QTU1RakRwYnBFaURDaUwzNThlTkh1clcvNVNuV2RJQmJYaURDaUEzOC9QbnpyY2UyWXlaNC8vNTlGM2VQTE5NbDRQYnBpTDJKMEw5NzkrN3lEdEhEaHc4dnR6enZkR25FWGR2VWlnU0lzQ0xBV2F2SHAvK3FNMEJjWE1kL3EyNW4xdkY1N1RZQnAwYTNtVXppbGVQajQrN2s1S1NMYjZndDZ5ZEFoUFV6WG5vUFIwZEhsNzlXR1ROQ2ZCbm4xdXZTQ0pkZWdRaExJMXZ2Q2srZlB1MmVQWHQydFpPWUVWNi9mbjMxZHorc2h3QVIxc1AxY3F2TG50YkVOOU14QTl4Y1lqc3hTMWpXUjRBSWEySWJ6eDB0YzQ0ZllYLzE2bFY2TkRGTFhIK1lMMzJqd2lBQ1JCaUViZjVLY1hvVElzUVNwelh4NE4yOEphNEJRb0s3cmdYaXlkYkhqeC9QMjVUYVFBSkVHQWd1V3kwKzJROFBENi9LaTRSOEVWbCtiekJPblpZOTVmcTlyajl6QWtUSTJTeGRpZEJIcUc5K3NrZHc0M2JvckNYTy9aY0pkcmFQV2R2MjJ1SUVpTEE0cTdudnZDdWc4V1RxelF2ZU9IMjZmb2RvN2c2dUZlL2ExN1czK25GQkFrUllFTlJkYjF2a2t6MUNIOWNQc1Z5L2pyaHIyN1BxTVl2RU5ZTmxIQUllc1JpQll3UnkwVis4aVhQOCsvZnZYMTFNcjdMN0VDdWViL3I0OGVNcW03RnVJMkJHV0RFRzhjbSs3RzNORU9mbWRjVFF3NGg5LzU1bGhtN0Rla1JZS1FQWkYyQXJiWFRBeXU0a0RZQjJZeFV6d2cwZ2kvNDF6dEhuZlFHMjZIYkdlbC9jclZybTd0TlkrLzFidGtPRUFaMk0wNXI0RkI3cjlHYkFJZHhhWllySGRPc2dKL3dDRVFZMEo3NFRtT0tuYnh4VDluM0ZnR0dXV3NWZG93SHRqdDlObnZmN3lRTTJhWlUvVElBSUF4cnc2ZE9uQVd0Wlpjb0VuQnBOdVR1T2JXTUVpTEF4MUhZMFpRSkVtSEozSE52R0NCQmhZNmp0YU1vRWlKQjBaMjl2TDZsczU4dnhQY084L3pmcmRvNXF2S08rZDNGeDhXdTh6ZjFkVzRwL2NQekxseS9kdHY5VHMvRWJjdkdBSGhIeWZCSWhaNk5TaUlCVG8wTE5OdFNjQUJGeU5pcUZDQkNoVUxNTk5TZEFoSnlOU2lFQ1JDalViRVBOQ1JBaFo2TlNpQUFSQ2pYYlVITUNSTWpacUJRaVFJUkN6VGJVbkFBUmNqWXFoUWdRb1ZDekRUVW5RSVNjalVvaEFrUW8xR3hEelFrUUlXZWpVb2dBRVFvMTIxQnpBa1RJMmFnVUlrQ0VRczAyMUp3QUVYSTJLb1VJRUtGUXN3MDFKMENFbkkxS0lRSkVLTlJzUTgwSkVDRm5vMUtJQUJFS05kdFFjd0pFeU5tb0ZDSkFoRUxOTnRTY0FCRnlOaXFGQ0JDaFVMTU5OU2RBaEp5TlNpRUNSQ2pVYkVQTkNSQWhaNk5TaUFBUkNqWGJVSE1DUk1qWnFCUWlRSVJDelRiVW5BQVJjallxaFFnUW9WQ3pEVFVuUUlTY2pVb2hBa1FvMUd4RHpRa1FJV2VqVW9nQUVRbzEyMUJ6QWtUSTJhZ1VJa0NFUXMwMjFKd0FFWEkyS29VSUVLRlFzdzAxSjBDRW5JMUtJUUpFS05Sc1E4MEpFQ0ZubzFLSUFCRUtOZHRRY3dKRXlObW9GQ0pBaEVMTk50U2NBQkZ5TmlxRkNCQ2hVTE1OTlNkQWhKeU5TaUVDUkNqVWJFUE5DUkFoWjZOU2lBQVJDalhiVUhNQ1JNalpxQlFpUUlSQ3pUYlVuQUFSY2pZcWhRZ1FvVkN6RFRVblFJU2NqVW9oQWtRbzFHeER6UWtRSVdlalVvZ0FFUW8xMjFCekFrVEkyYWdVSWtDRVFzMDIxSndBRVhJMktvVUlFS0ZRc3cwMUowQ0VuSTFLSVFKRUtOUnNRODBKRUNGbm8xS0lBQkVLTmR0UWN3SkV5Tm1vRkNKQWhFTE5OdFNjQUJGeU5pcUZDQkNoVUxNTk5TZEFoSnlOU2lFQy93R2dLS0M0WU1BNFRBQUFBQUJKUlU1RXJrSmdnZz09XCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICBpbWdEYXRhOiBwcm9wcy5kZWZhdWx0SW1nIHx8IHRoaXMuZGVmYXVsdEltZyxcclxuICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIG1hc2s6IGZhbHNlLFxyXG4gICAgICBsb2FkaW5nOiB0cnVlLFxyXG4gICAgfTtcclxuICB9XHJcbiAgYXN5bmMgZ2V0SW1nRGF0YSgpIHtcclxuICAgIGNvbnN0IHsgZmlsZUlkLCBuZXdWZXJzaW9uIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKG5ld1ZlcnNpb24pIHtcclxuICAgICAgY29uc3QgcmVzMjogYW55ID0gYXdhaXQgcHJldmlld0ltYWdlKGZpbGVJZCwge30sIHRydWUpO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBpbWdEYXRhOiByZXMyLmRhdGEsXHJcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW1nID0gYXdhaXQgZG93bmxvYWQoZmlsZUlkLCBmYWxzZSwgeyBzaG93RXJyTXNnOiBmYWxzZSB9KTtcclxuICAgICAgaWYgKGltZy5kYXRhPy5kYXRhKSB7XHJcbiAgICAgICAgdGhpcy5ibG9iVG9CYXNlNjQoaW1nLmRhdGE/LmRhdGEpLnRoZW4oKHJlcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGltZ0RhdGE6IHJlcyxcclxuICAgICAgICAgICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGJsb2JUb0Jhc2U2NChibG9iKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgZmlsZVJlYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KTtcclxuICAgICAgfTtcclxuICAgICAgZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xyXG4gICAgICBmaWxlUmVhZGVyLm9uZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihcImJsb2JUb0Jhc2U2NCBlcnJvclwiKSk7XHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xyXG4gICAgaWYgKHByZXZQcm9wcy5maWxlSWQgIT09IHRoaXMucHJvcHMuZmlsZUlkKSB7XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbGVJZCkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgbG9hZGluZzogdHJ1ZSxcclxuICAgICAgICAgIGltZ0RhdGE6IHRoaXMuZGVmYXVsdEltZyxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmdldEltZ0RhdGEoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZmlsZUlkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKGZpbGVJZCkge1xyXG4gICAgICB0aGlzLmdldEltZ0RhdGEoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGZpbGVJZCxcclxuICAgICAgc3JjLFxyXG4gICAgICBjbGlja1ByZXZpZXcgPSB0cnVlLFxyXG4gICAgICBzaG93RG93bmxvYWRJY29uID0gZmFsc2UsXHJcbiAgICAgIHByZXZpZXcgPSB0cnVlLFxyXG4gICAgICBkZWZhdWx0SW1nLFxyXG4gICAgICBzaG93RGVsZXRlSWNvbiA9IGZhbHNlLFxyXG4gICAgICBvbkRlbGV0ZSxcclxuICAgICAgb25QcmV2aWV3LFxyXG4gICAgICBvbkRvd25sb2FkLFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibnNjLWltYWdlLXRvdGFsXCIpfVxyXG4gICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIG1hc2s6IHRydWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9fVxyXG4gICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIG1hc2s6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfX1cclxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICBjbGlja1ByZXZpZXcgJiZcclxuICAgICAgICAgICAgcHJldmlldyAmJlxyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPFNwaW5cclxuICAgICAgICAgIHNwaW5uaW5nPXt0aGlzLnN0YXRlLmxvYWRpbmd9XHJcbiAgICAgICAgICAvLyBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGhlaWdodDogXCIxMDAlXCIgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgIHNyYz17dGhpcy5wcm9wcy5zcmMgfHwgdGhpcy5zdGF0ZS5pbWdEYXRhfVxyXG4gICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGhlaWdodDogXCIxMDAlXCIgfX1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9TcGluPlxyXG4gICAgICAgIHt0aGlzLnN0YXRlLm1hc2sgJiYgcHJldmlldyAmJiAhdGhpcy5zdGF0ZS52aXNpYmxlICYmIChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtaW1hZ2UtbWFza1wiKX0+XHJcbiAgICAgICAgICAgIHsvKiA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibnNjLWltYWdlLWljb25cIil9PlxyXG4gICAgICAgICAgICA8VXBsb2FkT3V0bGluZWQgLz5cclxuICAgICAgICAgIDwvZGl2PiAqL31cclxuICAgICAgICAgICAge3Nob3dEb3dubG9hZEljb24gJiYgKFxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibnNjLWltYWdlLWljb25cIil9XHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChvbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb25Eb3dubG9hZChmaWxlSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBpZiAoZmlsZUlkKSBkb3dubG9hZChmaWxlSWQpO1xyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8RG93bmxvYWRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibnNjLWltYWdlLWljb25cIil9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8RXllT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHtzaG93RGVsZXRlSWNvbiAmJiAoXHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtaW1hZ2UtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKG9uRGVsZXRlKSBvbkRlbGV0ZShmaWxlSWQpO1xyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICl9XHJcbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcIm5vbmVcIiwgaGVpZ2h0OiAwIH19PlxyXG4gICAgICAgICAgPEltYWdlXHJcbiAgICAgICAgICAgIHNyYz17dGhpcy5wcm9wcy5zcmMgfHwgdGhpcy5zdGF0ZS5pbWdEYXRhfVxyXG4gICAgICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiBcIm5vbmVcIiB9fVxyXG4gICAgICAgICAgICBwcmV2aWV3PXt7XHJcbiAgICAgICAgICAgICAgdmlzaWJsZTogdGhpcy5zdGF0ZS52aXNpYmxlLFxyXG4gICAgICAgICAgICAgIHNyYzogdGhpcy5wcm9wcy5zcmMgfHwgdGhpcy5zdGF0ZS5pbWdEYXRhLFxyXG4gICAgICAgICAgICAgIG9uVmlzaWJsZUNoYW5nZTogKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdmFsdWUsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
285
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW1hZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiZmlsZSIsInN0eWxlcyIsImdldExlc3MiLCJFeWVPdXRsaW5lZCIsIkRvd25sb2FkT3V0bGluZWQiLCJEZWxldGVPdXRsaW5lZCIsIlNwaW4iLCJkb3dubG9hZCIsInByZXZpZXdEb2N1bWVudCIsInByZXZpZXdJbWFnZSIsIk5zY0ltYWdlIiwicHJvcHMiLCJzdGF0ZSIsImltZ0RhdGEiLCJkZWZhdWx0SW1nIiwidmlzaWJsZSIsIm1hc2siLCJsb2FkaW5nIiwiZmlsZUlkIiwibmV3VmVyc2lvbiIsInJlcXVlc3RDb25maWciLCJyZXMyIiwic2V0U3RhdGUiLCJkYXRhIiwic2hvd0Vyck1zZyIsImltZyIsImJsb2JUb0Jhc2U2NCIsInRoZW4iLCJyZXMiLCJibG9iIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJmaWxlUmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImUiLCJ0YXJnZXQiLCJyZXN1bHQiLCJyZWFkQXNEYXRhVVJMIiwib25lcnJvciIsIkVycm9yIiwicHJldlByb3BzIiwiZ2V0SW1nRGF0YSIsInNyYyIsImNsaWNrUHJldmlldyIsInNob3dEb3dubG9hZEljb24iLCJwcmV2aWV3Iiwic2hvd0RlbGV0ZUljb24iLCJvbkRlbGV0ZSIsIm9uUHJldmlldyIsIm9uRG93bmxvYWQiLCJwYXJhbXMiLCJ3aWR0aCIsImhlaWdodCIsImRpc3BsYXkiLCJvblZpc2libGVDaGFuZ2UiLCJ2YWx1ZSIsIlB1cmVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUVBLE9BQU9DLElBQVAsTUFBaUIsVUFBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLFNBQ0VDLFdBREYsRUFFRUMsZ0JBRkYsRUFJRUMsY0FKRixRQUtPLG1CQUxQO0FBT0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUVBLElBQVFDLFFBQVIsR0FBb0RQLElBQXBELENBQVFPLFFBQVI7QUFBQSxJQUFrQkMsZUFBbEIsR0FBb0RSLElBQXBELENBQWtCUSxlQUFsQjtBQUFBLElBQW1DQyxZQUFuQyxHQUFvRFQsSUFBcEQsQ0FBbUNTLFlBQW5DOztJQWlCcUJDLFE7Ozs7O0FBSW5CLG9CQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLDhCQUFNQSxLQUFOOztBQURpQixpRUFGakIsZ3FHQUVpQjs7QUFFakIsVUFBS0MsS0FBTCxHQUFhO0FBQ1hDLE1BQUFBLE9BQU8sRUFBRUYsS0FBSyxDQUFDRyxVQUFOLElBQW9CLE1BQUtBLFVBRHZCO0FBRVhDLE1BQUFBLE9BQU8sRUFBRSxLQUZFO0FBR1hDLE1BQUFBLElBQUksRUFBRSxLQUhLO0FBSVhDLE1BQUFBLE9BQU8sRUFBRTtBQUpFLEtBQWI7QUFGaUI7QUFRbEI7Ozs7O2dGQUNEO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSw4QkFDcUQsS0FBS04sS0FEMUQsRUFDVU8sTUFEVixlQUNVQSxNQURWLEVBQ2tCQyxVQURsQixlQUNrQkEsVUFEbEIsc0NBQzhCQyxhQUQ5QixFQUM4QkEsYUFEOUIsc0NBQzhDLEVBRDlDOztBQUFBLHFCQUVNRCxVQUZOO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsdUJBRzRCVixZQUFZLENBQUNTLE1BQUQsRUFBU0UsYUFBVCxDQUh4Qzs7QUFBQTtBQUdVQyxnQkFBQUEsSUFIVjtBQUlJLHFCQUFLQyxRQUFMLENBQWM7QUFDWlQsa0JBQUFBLE9BQU8sRUFBRVEsSUFBSSxDQUFDRSxJQURGO0FBRVpOLGtCQUFBQSxPQUFPLEVBQUU7QUFGRyxpQkFBZDtBQUpKO0FBQUE7O0FBQUE7QUFBQTtBQUFBLHVCQVNzQlYsUUFBUSxDQUFDVyxNQUFELEVBQVMsS0FBVCxrQ0FDckJFLGFBRHFCO0FBRXhCSSxrQkFBQUEsVUFBVSxFQUFFO0FBRlksbUJBVDlCOztBQUFBO0FBU1VDLGdCQUFBQSxHQVRWOztBQWFJLGlDQUFJQSxHQUFHLENBQUNGLElBQVIsc0NBQUksVUFBVUEsSUFBZCxFQUFvQjtBQUNsQix1QkFBS0csWUFBTCxlQUFrQkQsR0FBRyxDQUFDRixJQUF0QiwrQ0FBa0IsV0FBVUEsSUFBNUIsRUFBa0NJLElBQWxDLENBQXVDLFVBQUNDLEdBQUQsRUFBUztBQUM5QyxvQkFBQSxNQUFJLENBQUNOLFFBQUwsQ0FBYztBQUNaVCxzQkFBQUEsT0FBTyxFQUFFZSxHQURHO0FBRVpYLHNCQUFBQSxPQUFPLEVBQUU7QUFGRyxxQkFBZDtBQUlELG1CQUxEO0FBTUQsaUJBUEQsTUFPTztBQUNMLHVCQUFLSyxRQUFMLENBQWM7QUFDWkwsb0JBQUFBLE9BQU8sRUFBRTtBQURHLG1CQUFkO0FBR0Q7O0FBeEJMO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE87Ozs7Ozs7Ozs7V0EyQkEsc0JBQWFZLElBQWIsRUFBbUI7QUFDakIsYUFBTyxJQUFJQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ3RDLFlBQU1DLFVBQVUsR0FBRyxJQUFJQyxVQUFKLEVBQW5COztBQUNBRCxRQUFBQSxVQUFVLENBQUNFLE1BQVgsR0FBb0IsVUFBQ0MsQ0FBRCxFQUFPO0FBQ3pCTCxVQUFBQSxPQUFPLENBQUNLLENBQUMsQ0FBQ0MsTUFBRixDQUFTQyxNQUFWLENBQVA7QUFDRCxTQUZEOztBQUdBTCxRQUFBQSxVQUFVLENBQUNNLGFBQVgsQ0FBeUJWLElBQXpCOztBQUNBSSxRQUFBQSxVQUFVLENBQUNPLE9BQVgsR0FBcUIsWUFBTTtBQUN6QlIsVUFBQUEsTUFBTSxDQUFDLElBQUlTLEtBQUosQ0FBVSxvQkFBVixDQUFELENBQU47QUFDRCxTQUZEO0FBR0QsT0FUTSxDQUFQO0FBVUQ7OztXQUNELDRCQUFtQkMsU0FBbkIsRUFBOEI7QUFDNUIsVUFBSUEsU0FBUyxDQUFDeEIsTUFBVixLQUFxQixLQUFLUCxLQUFMLENBQVdPLE1BQXBDLEVBQTRDO0FBQzFDLFlBQUksS0FBS1AsS0FBTCxDQUFXTyxNQUFmLEVBQXVCO0FBQ3JCLGVBQUtJLFFBQUwsQ0FBYztBQUNaTCxZQUFBQSxPQUFPLEVBQUUsSUFERztBQUVaSixZQUFBQSxPQUFPLEVBQUUsS0FBS0M7QUFGRixXQUFkO0FBSUEsZUFBSzZCLFVBQUw7QUFDRDtBQUNGO0FBQ0Y7OztXQUNELDZCQUFvQjtBQUNsQixVQUFRekIsTUFBUixHQUFtQixLQUFLUCxLQUF4QixDQUFRTyxNQUFSOztBQUNBLFVBQUlBLE1BQUosRUFBWTtBQUNWLGFBQUt5QixVQUFMO0FBQ0QsT0FGRCxNQUVPO0FBQ0wsYUFBS3JCLFFBQUwsQ0FBYztBQUNaTCxVQUFBQSxPQUFPLEVBQUU7QUFERyxTQUFkO0FBR0Q7QUFDRjs7O1dBQ0Qsa0JBQTBCO0FBQUE7O0FBQ3hCLHlCQVlJLEtBQUtOLEtBWlQ7QUFBQSxVQUNFTyxNQURGLGdCQUNFQSxNQURGO0FBQUEsVUFFRTBCLEdBRkYsZ0JBRUVBLEdBRkY7QUFBQSwrQ0FHRUMsWUFIRjtBQUFBLFVBR0VBLFlBSEYsc0NBR2lCLElBSGpCO0FBQUEsK0NBSUVDLGdCQUpGO0FBQUEsVUFJRUEsZ0JBSkYsc0NBSXFCLEtBSnJCO0FBQUEsOENBS0VDLE9BTEY7QUFBQSxVQUtFQSxPQUxGLHFDQUtZLElBTFo7QUFBQSxVQU1FakMsVUFORixnQkFNRUEsVUFORjtBQUFBLCtDQU9Fa0MsY0FQRjtBQUFBLFVBT0VBLGNBUEYsc0NBT21CLEtBUG5CO0FBQUEsVUFRRUMsUUFSRixnQkFRRUEsUUFSRjtBQUFBLFVBU0VDLFNBVEYsZ0JBU0VBLFNBVEY7QUFBQSxVQVVFQyxVQVZGLGdCQVVFQSxVQVZGO0FBQUEsVUFXS0MsTUFYTDs7QUFhQSwwQkFDRTtBQUNFLFFBQUEsU0FBUyxFQUFFbEQsT0FBTyxDQUFDRCxNQUFELEVBQVMsaUJBQVQsQ0FEcEI7QUFFRSxRQUFBLFlBQVksRUFBRSx3QkFBTTtBQUNsQixVQUFBLE1BQUksQ0FBQ3FCLFFBQUwsQ0FBYztBQUNaTixZQUFBQSxJQUFJLEVBQUU7QUFETSxXQUFkO0FBR0QsU0FOSDtBQU9FLFFBQUEsWUFBWSxFQUFFLHdCQUFNO0FBQ2xCLFVBQUEsTUFBSSxDQUFDTSxRQUFMLENBQWM7QUFDWk4sWUFBQUEsSUFBSSxFQUFFO0FBRE0sV0FBZDtBQUdELFNBWEg7QUFZRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiNkIsVUFBQUEsWUFBWSxJQUNWRSxPQURGLElBRUUsTUFBSSxDQUFDekIsUUFBTCxDQUFjO0FBQ1pQLFlBQUFBLE9BQU8sRUFBRTtBQURHLFdBQWQsQ0FGRjtBQUtEO0FBbEJILHNCQW9CRSxvQkFBQyxJQUFEO0FBQ0UsUUFBQSxRQUFRLEVBQUUsS0FBS0gsS0FBTCxDQUFXSyxPQUR2QixDQUVFOztBQUZGLHNCQUlFO0FBQ0UsUUFBQSxHQUFHLEVBQUUsS0FBS04sS0FBTCxDQUFXaUMsR0FBWCxJQUFrQixLQUFLaEMsS0FBTCxDQUFXQyxPQURwQztBQUVFLFFBQUEsS0FBSyxFQUFFO0FBQUV3QyxVQUFBQSxLQUFLLEVBQUUsTUFBVDtBQUFpQkMsVUFBQUEsTUFBTSxFQUFFO0FBQXpCO0FBRlQsUUFKRixDQXBCRixFQTZCRyxLQUFLMUMsS0FBTCxDQUFXSSxJQUFYLElBQW1CK0IsT0FBbkIsSUFBOEIsQ0FBQyxLQUFLbkMsS0FBTCxDQUFXRyxPQUExQyxpQkFDQztBQUFLLFFBQUEsU0FBUyxFQUFFYixPQUFPLENBQUNELE1BQUQsRUFBUyxnQkFBVDtBQUF2QixTQUlHNkMsZ0JBQWdCLGlCQUNmO0FBQ0UsUUFBQSxTQUFTLEVBQUU1QyxPQUFPLENBQUNELE1BQUQsRUFBUyxnQkFBVCxDQURwQjtBQUVFLFFBQUEsT0FBTyxFQUFFLG1CQUFNO0FBQ2IsY0FBSWtELFVBQUosRUFBZ0I7QUFDZEEsWUFBQUEsVUFBVSxDQUFDakMsTUFBRCxDQUFWO0FBQ0E7QUFDRDs7QUFDRCxjQUFJQSxNQUFKLEVBQVlYLFFBQVEsQ0FBQ1csTUFBRCxDQUFSO0FBQ2I7QUFSSCxzQkFVRSxvQkFBQyxnQkFBRCxPQVZGLENBTEosZUFrQkU7QUFDRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiLFVBQUEsTUFBSSxDQUFDSSxRQUFMLENBQWM7QUFDWlAsWUFBQUEsT0FBTyxFQUFFO0FBREcsV0FBZDtBQUdELFNBTEg7QUFNRSxRQUFBLFNBQVMsRUFBRWIsT0FBTyxDQUFDRCxNQUFELEVBQVMsZ0JBQVQ7QUFOcEIsc0JBUUUsb0JBQUMsV0FBRCxPQVJGLENBbEJGLEVBNEJHK0MsY0FBYyxpQkFDYjtBQUNFLFFBQUEsU0FBUyxFQUFFOUMsT0FBTyxDQUFDRCxNQUFELEVBQVMsZ0JBQVQsQ0FEcEI7QUFFRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiLGNBQUlnRCxRQUFKLEVBQWNBLFFBQVEsQ0FBQy9CLE1BQUQsQ0FBUjtBQUNmO0FBSkgsc0JBTUUsb0JBQUMsY0FBRCxPQU5GLENBN0JKLENBOUJKLGVBc0VFO0FBQUssUUFBQSxLQUFLLEVBQUU7QUFBRXFDLFVBQUFBLE9BQU8sRUFBRSxNQUFYO0FBQW1CRCxVQUFBQSxNQUFNLEVBQUU7QUFBM0I7QUFBWixzQkFDRTtBQUNFLFFBQUEsR0FBRyxFQUFFLEtBQUszQyxLQUFMLENBQVdpQyxHQUFYLElBQWtCLEtBQUtoQyxLQUFMLENBQVdDLE9BRHBDO0FBRUUsUUFBQSxLQUFLLEVBQUU7QUFBRTBDLFVBQUFBLE9BQU8sRUFBRTtBQUFYLFNBRlQ7QUFHRSxRQUFBLE9BQU8sRUFBRTtBQUNQeEMsVUFBQUEsT0FBTyxFQUFFLEtBQUtILEtBQUwsQ0FBV0csT0FEYjtBQUVQNkIsVUFBQUEsR0FBRyxFQUFFLEtBQUtqQyxLQUFMLENBQVdpQyxHQUFYLElBQWtCLEtBQUtoQyxLQUFMLENBQVdDLE9BRjNCO0FBR1AyQyxVQUFBQSxlQUFlLEVBQUUseUJBQUNDLEtBQUQsRUFBVztBQUMxQixZQUFBLE1BQUksQ0FBQ25DLFFBQUwsQ0FBYztBQUNaUCxjQUFBQSxPQUFPLEVBQUUwQztBQURHLGFBQWQ7QUFHRDtBQVBNO0FBSFgsU0FZTUwsTUFaTixFQURGLENBdEVGLENBREY7QUF5RkQ7Ozs7RUFoTG1DckQsS0FBSyxDQUFDMkQsYTs7U0FBdkJoRCxRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IEltYWdlLCBJbWFnZVByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCB7XHJcbiAgRXllT3V0bGluZWQsXHJcbiAgRG93bmxvYWRPdXRsaW5lZCxcclxuICBVcGxvYWRPdXRsaW5lZCxcclxuICBEZWxldGVPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vc3BpblwiO1xyXG5cclxuY29uc3QgeyBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50LCBwcmV2aWV3SW1hZ2UgfSA9IGZpbGU7XHJcbmludGVyZmFjZSBJSW1hZ2VQcm9wcyBleHRlbmRzIEltYWdlUHJvcHMge1xyXG4gIGZpbGVJZD86IHN0cmluZztcclxuICBzcmM/OiBzdHJpbmc7XHJcbiAgY2xpY2tQcmV2aWV3PzogYm9vbGVhbjtcclxuICBzaG93RGVsZXRlSWNvbj86IGJvb2xlYW47XHJcbiAgLy8gc2hvd1VwbG9hZEljb24/OiBib29sZWFuO1xyXG4gIHNob3dEb3dubG9hZEljb24/OiBib29sZWFuO1xyXG4gIHByZXZpZXc/OiBib29sZWFuO1xyXG4gIGRlZmF1bHRJbWc/OiBzdHJpbmc7XHJcbiAgb25EZWxldGU/OiBhbnk7XHJcbiAgb25QcmV2aWV3PzogYW55O1xyXG4gIG9uRG93bmxvYWQ/OiBhbnk7XHJcbiAgbmV3VmVyc2lvbj86IGJvb2xlYW47XHJcbiAgcmVxdWVzdENvbmZpZz86IE9iamVjdDtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjSW1hZ2UgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PElJbWFnZVByb3BzLCBhbnk+IHtcclxuICBkZWZhdWx0SW1nID1cclxuICAgIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNSUFBQUREQ0FZQUFBRFF2YzZVQUFBQlJXbERRMUJKUTBNZ1VISnZabWxzWlFBQUtKRmpZR0FTU1N3b3lHRmhZR0RJelNzcENuSjNVb2lJakZKZ2Y4TEF3U0RDSU1vZ3dNQ2NtRnhjNEJnUTRBTlV3Z0NqVWNHM2F3eU1JUHF5THNpczdQUE9xM1FkREZjdmpWM2pPRDFib1FWVFBRcmdTa2t0VGdiU2Y0QTRMYm1ncUlTQmdURUZ5Rll1THlrQXNUdUFiSkVpb0tPQTdEa2dkanFFdlFIRVRvS3dqNERWaEFRNUE5azNnR3lCNUl4RW9CbU1MNEJzblNRazhYUWtOdFJlRU9CeGNmWHhVUWcxTWpjMGR5SGdYTkpCU1dwRkNZaDJ6aStvTE1wTXp5aFJjQVNHVXFxQ1oxNnlubzZDa1lHUkFRTURLTXdocWovZkFJY2xveGdIUXF4QWpJSEJFdWd3NXNVSXNTUXBCb2J0UVBkTGNpTEVWSll6TVBCSE1EQnNheWhJTEVxRU80RHhHMHR4bXJFUmhNMjluWUdCZGRyLy81L0RHUmpZTlJrWS9sNy8vLy8zOXYvLy95NERtbitMZ2VIQU53RHJrbDFBdU8rcG1nQUFBRGhsV0VsbVRVMEFLZ0FBQUFnQUFZZHBBQVFBQUFBQkFBQUFHZ0FBQUFBQUFxQUNBQVFBQUFBQkFBQUF3cUFEQUFRQUFBQUJBQUFBd3dBQUFBRDliL0huQUFBSGxrbEVRVlI0QWUzZFAzUFRXQlNHY2JHek02R0NLcWxJQlJWMGRIUkpGYXJRMGVVVDhMSDRCblJVME5IUjBVRUZWZElsRlJWN1R6Umtzb21QWTh1eWtUay96ZXdRZkt3Lzl6bnY0eXZKeW5MdjR1TGlWMmRCb0RpQmY0cVAzL0FSdUNSQUJFRkFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZzBBajhpMEpPNE96c3JQdjY5V3YraGkycVBIcjBxTnZmMzkraUk5N3NvUkloNGYzejU4L3U3ZHUzU1hYN1h0N1oyZW5ldkhtemZRZStvU04yYXBTQVBqMDlUU3JiK1hLSS9mMzc5KzA4K0EwY05SRTJBTmt1cGsrQUNOUHZrU1BjQUFFaWJBQ3lYVXlmQUJHbTN5Tkh1QUVDUk5nQVpMdVlQZ0VpcktsSHU3dTdYZHl5dEd3SEFkOGpqTnluZzRPRDd2bno1MWRiUFQ4Lzd6NTgrTkI5Ky9idDZqVS9USStBR1dIRW5yeDQ4ZUovRXNTbUh6eDQwTDE4K2ZMeXp4RjNaVk1qRXlEQ2lFRGpNWVpaUzV3aVBYbnlaRmJKYXhNaFFJUVJHekh2V1I3WEN5T0NYc09taURBaTFIbVBNTVFqRHBicEVpRENpTDM1OGVOSHVyVy81U25XZElCYlhpRENpQTM4L1BuenJjZTJZeVo0Ly81OUYzZVBMTk1sNFBicGlMMkowTDk3OSs3eUR0SERodzh2dHp6dmRHbkVYZHZVaWdTSXNDTEFXYXZIcC8rcU0wQmNYTWQvcTI1bjF2RjU3VFlCcDBhM21VemlsZVBqNCs3azVLU0xiNmd0NnlkQWhQVXpYbm9QUjBkSGw3OVdHVE5DZkJubjF1dlNDSmRlZ1FoTEkxdnZDaytmUHUyZVBYdDJ0Wk9ZRVY2L2ZuMzFkeitzaHdBUjFzUDFjcXZMbnRiRU45TXhBOXhjWWpzeFMxaldSNEFJYTJJYnp4MHRjNDRmWVgvMTZsVjZOREZMWEgrWUwzMmp3aUFDUkJpRWJmNUtjWG9USXNRU3B6WHg0TjI4SmE0QlFvSzdyZ1hpeWRiSGp4L1AyNVRhUUFKRUdBZ3VXeTArMlE4UEQ2L0tpNFI4RVZsK2J6Qk9uWlk5NWZxOXJqOXpBa1RJMlN4ZGlkQkhxRzkrc2tkdzQzYm9yQ1hPL1pjSmRyYVBXZHYyMnVJRWlMQTRxN252dkN1ZzhXVHF6UXZlT0gyNmZvZG83ZzZ1RmUvYTE3VzMrbkZCQWtSWUVOUmRiMXZra3oxQ0g5Y1BzVnkvanJocjI3UHFNWXZFTllObEhBSWVzUmlCWXdSeTBWKzhpWFA4Ky9mdlgxMU1yN0w3RUN1ZWIvcjQ4ZU1xbTdGdUkyQkdXREVHOGNtKzdHM05FT2ZtZGNUUXc0aDkvNTVsaG03RGVrUllLUVBaRjJBcmJYVEF5dTRrRFlCMll4VXp3ZzBnaS80MXp0SG5mUUcyNkhiR2VsL2NyVnJtN3ROWSsvMWJ0a09FQVoyTTA1cjRGQjdyOUdiQUlkeGFaWXJIZE9zZ0ovd0NFUVkwSjc0VG1PS25ieHhUOW4zRmdHR1dXc1Zkb3dIdGp0OU5udmY3eVFNMmFaVS9USUFJQXhydzZkT25BV3RaWmNvRW5CcE51VHVPYldNRWlMQXgxSFkwWlFKRW1ISjNITnZHQ0JCaFk2anRhTW9FaUpCMFoyOXZMNmxzNTh2eFBjTzgvemZyZG81cXZLTytkM0Z4OFd1OHpmMWRXNHAvY1B6TGx5L2R0djlUcy9FYmN2R0FIaEh5ZkJJaFo2TlNpSUJUbzBMTk50U2NBQkZ5TmlxRkNCQ2hVTE1OTlNkQWhKeU5TaUVDUkNqVWJFUE5DUkFoWjZOU2lBQVJDalhiVUhNQ1JNalpxQlFpUUlSQ3pUYlVuQUFSY2pZcWhRZ1FvVkN6RFRVblFJU2NqVW9oQWtRbzFHeER6UWtRSVdlalVvZ0FFUW8xMjFCekFrVEkyYWdVSWtDRVFzMDIxSndBRVhJMktvVUlFS0ZRc3cwMUowQ0VuSTFLSVFKRUtOUnNRODBKRUNGbm8xS0lBQkVLTmR0UWN3SkV5Tm1vRkNKQWhFTE5OdFNjQUJGeU5pcUZDQkNoVUxNTk5TZEFoSnlOU2lFQ1JDalViRVBOQ1JBaFo2TlNpQUFSQ2pYYlVITUNSTWpacUJRaVFJUkN6VGJVbkFBUmNqWXFoUWdRb1ZDekRUVW5RSVNjalVvaEFrUW8xR3hEelFrUUlXZWpVb2dBRVFvMTIxQnpBa1RJMmFnVUlrQ0VRczAyMUp3QUVYSTJLb1VJRUtGUXN3MDFKMENFbkkxS0lRSkVLTlJzUTgwSkVDRm5vMUtJQUJFS05kdFFjd0pFeU5tb0ZDSkFoRUxOTnRTY0FCRnlOaXFGQ0JDaFVMTU5OU2RBaEp5TlNpRUNSQ2pVYkVQTkNSQWhaNk5TaUFBUkNqWGJVSE1DUk1qWnFCUWlRSVJDelRiVW5BQVJjallxaFFnUW9WQ3pEVFVuUUlTY2pVb2hBa1FvMUd4RHpRa1FJV2VqVW9nQUVRbzEyMUJ6QWtUSTJhZ1VJa0NFUXMwMjFKd0FFWEkyS29VSUVLRlFzdzAxSjBDRW5JMUtJUUpFS05Sc1E4MEpFQ0ZubzFLSUFCRUtOZHRRY3dKRXlObW9GQ0pBaEVMTk50U2NBQkZ5TmlxRkNCQ2hVTE1OTlNkQWhKeU5TaUVDL3dHZ0tLQzRZTUE0VEFBQUFBQkpSVTVFcmtKZ2dnPT1cIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgIGltZ0RhdGE6IHByb3BzLmRlZmF1bHRJbWcgfHwgdGhpcy5kZWZhdWx0SW1nLFxyXG4gICAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgICAgbWFzazogZmFsc2UsXHJcbiAgICAgIGxvYWRpbmc6IHRydWUsXHJcbiAgICB9O1xyXG4gIH1cclxuICBhc3luYyBnZXRJbWdEYXRhKCkge1xyXG4gICAgY29uc3QgeyBmaWxlSWQsIG5ld1ZlcnNpb24sIHJlcXVlc3RDb25maWcgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChuZXdWZXJzaW9uKSB7XHJcbiAgICAgIGNvbnN0IHJlczI6IGFueSA9IGF3YWl0IHByZXZpZXdJbWFnZShmaWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBpbWdEYXRhOiByZXMyLmRhdGEsXHJcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW1nID0gYXdhaXQgZG93bmxvYWQoZmlsZUlkLCBmYWxzZSwge1xyXG4gICAgICAgIC4uLnJlcXVlc3RDb25maWcsXHJcbiAgICAgICAgc2hvd0Vyck1zZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoaW1nLmRhdGE/LmRhdGEpIHtcclxuICAgICAgICB0aGlzLmJsb2JUb0Jhc2U2NChpbWcuZGF0YT8uZGF0YSkudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgaW1nRGF0YTogcmVzLFxyXG4gICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgYmxvYlRvQmFzZTY0KGJsb2IpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZShlLnRhcmdldC5yZXN1bHQpO1xyXG4gICAgICB9O1xyXG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoYmxvYik7XHJcbiAgICAgIGZpbGVSZWFkZXIub25lcnJvciA9ICgpID0+IHtcclxuICAgICAgICByZWplY3QobmV3IEVycm9yKFwiYmxvYlRvQmFzZTY0IGVycm9yXCIpKTtcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XHJcbiAgICBpZiAocHJldlByb3BzLmZpbGVJZCAhPT0gdGhpcy5wcm9wcy5maWxlSWQpIHtcclxuICAgICAgaWYgKHRoaXMucHJvcHMuZmlsZUlkKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBsb2FkaW5nOiB0cnVlLFxyXG4gICAgICAgICAgaW1nRGF0YTogdGhpcy5kZWZhdWx0SW1nLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZ2V0SW1nRGF0YSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBmaWxlSWQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoZmlsZUlkKSB7XHJcbiAgICAgIHRoaXMuZ2V0SW1nRGF0YSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZmlsZUlkLFxyXG4gICAgICBzcmMsXHJcbiAgICAgIGNsaWNrUHJldmlldyA9IHRydWUsXHJcbiAgICAgIHNob3dEb3dubG9hZEljb24gPSBmYWxzZSxcclxuICAgICAgcHJldmlldyA9IHRydWUsXHJcbiAgICAgIGRlZmF1bHRJbWcsXHJcbiAgICAgIHNob3dEZWxldGVJY29uID0gZmFsc2UsXHJcbiAgICAgIG9uRGVsZXRlLFxyXG4gICAgICBvblByZXZpZXcsXHJcbiAgICAgIG9uRG93bmxvYWQsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtaW1hZ2UtdG90YWxcIil9XHJcbiAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgbWFzazogdHJ1ZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH19XHJcbiAgICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgbWFzazogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9fVxyXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgIGNsaWNrUHJldmlldyAmJlxyXG4gICAgICAgICAgICBwcmV2aWV3ICYmXHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH19XHJcbiAgICAgID5cclxuICAgICAgICA8U3BpblxyXG4gICAgICAgICAgc3Bpbm5pbmc9e3RoaXMuc3RhdGUubG9hZGluZ31cclxuICAgICAgICAgIC8vIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiwgaGVpZ2h0OiBcIjEwMCVcIiB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgc3JjPXt0aGlzLnByb3BzLnNyYyB8fCB0aGlzLnN0YXRlLmltZ0RhdGF9XHJcbiAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiwgaGVpZ2h0OiBcIjEwMCVcIiB9fVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L1NwaW4+XHJcbiAgICAgICAge3RoaXMuc3RhdGUubWFzayAmJiBwcmV2aWV3ICYmICF0aGlzLnN0YXRlLnZpc2libGUgJiYgKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1pbWFnZS1tYXNrXCIpfT5cclxuICAgICAgICAgICAgey8qIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtaW1hZ2UtaWNvblwiKX0+XHJcbiAgICAgICAgICAgIDxVcGxvYWRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgPC9kaXY+ICovfVxyXG4gICAgICAgICAgICB7c2hvd0Rvd25sb2FkSWNvbiAmJiAoXHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtaW1hZ2UtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKG9uRG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBvbkRvd25sb2FkKGZpbGVJZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIGlmIChmaWxlSWQpIGRvd25sb2FkKGZpbGVJZCk7XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxEb3dubG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtaW1hZ2UtaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxFeWVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAge3Nob3dEZWxldGVJY29uICYmIChcclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1pbWFnZS1pY29uXCIpfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBpZiAob25EZWxldGUpIG9uRGVsZXRlKGZpbGVJZCk7XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxEZWxldGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6IFwibm9uZVwiLCBoZWlnaHQ6IDAgfX0+XHJcbiAgICAgICAgICA8SW1hZ2VcclxuICAgICAgICAgICAgc3JjPXt0aGlzLnByb3BzLnNyYyB8fCB0aGlzLnN0YXRlLmltZ0RhdGF9XHJcbiAgICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6IFwibm9uZVwiIH19XHJcbiAgICAgICAgICAgIHByZXZpZXc9e3tcclxuICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnN0YXRlLnZpc2libGUsXHJcbiAgICAgICAgICAgICAgc3JjOiB0aGlzLnByb3BzLnNyYyB8fCB0aGlzLnN0YXRlLmltZ0RhdGEsXHJcbiAgICAgICAgICAgICAgb25WaXNpYmxlQ2hhbmdlOiAodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICB2aXNpYmxlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/lib/base/upload/index.js
CHANGED
|
@@ -5,10 +5,6 @@ import _Upload from "antd/es/upload";
|
|
|
5
5
|
|
|
6
6
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
7
7
|
|
|
8
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
-
|
|
10
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
11
|
-
|
|
12
8
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
13
9
|
|
|
14
10
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -21,6 +17,10 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
|
|
21
17
|
|
|
22
18
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
19
|
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
24
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
25
25
|
|
|
26
26
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
@@ -182,30 +182,44 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
182
182
|
key: "componentDidMount",
|
|
183
183
|
value: function componentDidMount() {
|
|
184
184
|
if (this.props.fileList) {
|
|
185
|
-
console.log("componentDidMountcomponentDidMount");
|
|
186
185
|
this.convertFileList();
|
|
187
186
|
}
|
|
188
187
|
}
|
|
189
188
|
}, {
|
|
190
189
|
key: "convertFileList",
|
|
191
190
|
value: function convertFileList(list) {
|
|
192
|
-
var
|
|
191
|
+
var _this$props2 = this.props,
|
|
192
|
+
fileList = _this$props2.fileList,
|
|
193
|
+
listType = _this$props2.listType;
|
|
193
194
|
var newFileList = [];
|
|
194
195
|
var oldList = list ? list : fileList;
|
|
195
|
-
oldList.map(function (
|
|
196
|
-
var
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
196
|
+
oldList.map( /*#__PURE__*/function () {
|
|
197
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(item, index) {
|
|
198
|
+
var temp;
|
|
199
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
200
|
+
while (1) {
|
|
201
|
+
switch (_context2.prev = _context2.next) {
|
|
202
|
+
case 0:
|
|
203
|
+
temp = _objectSpread(_objectSpread({}, item), {}, {
|
|
204
|
+
status: item.status,
|
|
205
|
+
name: item.name || item.fileName,
|
|
206
|
+
type: item.type,
|
|
207
|
+
size: item.size
|
|
208
|
+
});
|
|
209
|
+
newFileList.push(temp);
|
|
202
210
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
211
|
+
case 2:
|
|
212
|
+
case "end":
|
|
213
|
+
return _context2.stop();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}, _callee2);
|
|
217
|
+
}));
|
|
206
218
|
|
|
207
|
-
|
|
208
|
-
|
|
219
|
+
return function (_x2, _x3) {
|
|
220
|
+
return _ref2.apply(this, arguments);
|
|
221
|
+
};
|
|
222
|
+
}());
|
|
209
223
|
this.setState({
|
|
210
224
|
fileList: [].concat(newFileList),
|
|
211
225
|
fileListStore: _toConsumableArray(fileList)
|
|
@@ -233,29 +247,29 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
233
247
|
}, {
|
|
234
248
|
key: "beforeUpload",
|
|
235
249
|
value: function () {
|
|
236
|
-
var _beforeUpload = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function
|
|
250
|
+
var _beforeUpload = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(file, ofileList) {
|
|
237
251
|
var _this2 = this;
|
|
238
252
|
|
|
239
|
-
var _this$
|
|
253
|
+
var _this$props3, _this$props3$maxSize, maxSize, allowFileSuffix, _this$props3$checkSam, checkSameFile, maxCount, showUploadList, propsList, onListChange, _this$state, fileList, fileListStore, size, fileNames, checkList, res, newList, length, i;
|
|
240
254
|
|
|
241
|
-
return regeneratorRuntime.wrap(function
|
|
255
|
+
return regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
242
256
|
while (1) {
|
|
243
|
-
switch (
|
|
257
|
+
switch (_context4.prev = _context4.next) {
|
|
244
258
|
case 0:
|
|
245
|
-
_this$
|
|
259
|
+
_this$props3 = this.props, _this$props3$maxSize = _this$props3.maxSize, maxSize = _this$props3$maxSize === void 0 ? 100 : _this$props3$maxSize, allowFileSuffix = _this$props3.allowFileSuffix, _this$props3$checkSam = _this$props3.checkSameFile, checkSameFile = _this$props3$checkSam === void 0 ? true : _this$props3$checkSam, maxCount = _this$props3.maxCount, showUploadList = _this$props3.showUploadList, propsList = _this$props3.fileList, onListChange = _this$props3.onListChange;
|
|
246
260
|
_this$state = this.state, fileList = _this$state.fileList, fileListStore = _this$state.fileListStore;
|
|
247
261
|
|
|
248
262
|
if (!(allowFileSuffix && !this.checkFileType(file))) {
|
|
249
|
-
|
|
263
|
+
_context4.next = 5;
|
|
250
264
|
break;
|
|
251
265
|
}
|
|
252
266
|
|
|
253
267
|
message.error("".concat(file.name, "\u6587\u4EF6\u7C7B\u578B\u4E0D\u5141\u8BB8\u4E0A\u4F20\uFF0C\u8BF7\u4E0A\u4F20\u540E\u7F00\u4E3A").concat(allowFileSuffix, "\u7684\u7C7B\u578B\u6587\u4EF6\uFF01"));
|
|
254
|
-
return
|
|
268
|
+
return _context4.abrupt("return", false);
|
|
255
269
|
|
|
256
270
|
case 5:
|
|
257
271
|
if (!(maxSize !== false)) {
|
|
258
|
-
|
|
272
|
+
_context4.next = 11;
|
|
259
273
|
break;
|
|
260
274
|
}
|
|
261
275
|
|
|
@@ -266,18 +280,18 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
266
280
|
size = maxSize * 1024 * 1024;
|
|
267
281
|
|
|
268
282
|
if (!(size < file.size)) {
|
|
269
|
-
|
|
283
|
+
_context4.next = 11;
|
|
270
284
|
break;
|
|
271
285
|
}
|
|
272
286
|
|
|
273
287
|
message.error("".concat(file.name, "\u6587\u4EF6\u5927\u5C0F\u8D85\u8FC7").concat(maxSize, "M\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\uFF01"));
|
|
274
|
-
return
|
|
288
|
+
return _context4.abrupt("return", false);
|
|
275
289
|
|
|
276
290
|
case 11:
|
|
277
291
|
fileNames = [];
|
|
278
292
|
|
|
279
293
|
if (!checkSameFile) {
|
|
280
|
-
|
|
294
|
+
_context4.next = 18;
|
|
281
295
|
break;
|
|
282
296
|
}
|
|
283
297
|
|
|
@@ -287,40 +301,40 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
287
301
|
});
|
|
288
302
|
|
|
289
303
|
if (!(fileNames.indexOf(file.name) > -1 && showUploadList !== false)) {
|
|
290
|
-
|
|
304
|
+
_context4.next = 18;
|
|
291
305
|
break;
|
|
292
306
|
}
|
|
293
307
|
|
|
294
308
|
message.error("\u6587\u4EF6".concat(file.name, "\u5DF2\u5728\u4E0A\u4F20\u5217\u8868\u4E2D\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6\uFF01"));
|
|
295
|
-
return
|
|
309
|
+
return _context4.abrupt("return", false);
|
|
296
310
|
|
|
297
311
|
case 18:
|
|
298
312
|
if (!this.props.beforeUpload) {
|
|
299
|
-
|
|
313
|
+
_context4.next = 24;
|
|
300
314
|
break;
|
|
301
315
|
}
|
|
302
316
|
|
|
303
|
-
|
|
317
|
+
_context4.next = 21;
|
|
304
318
|
return this.props.beforeUpload(file, ofileList);
|
|
305
319
|
|
|
306
320
|
case 21:
|
|
307
|
-
res =
|
|
321
|
+
res = _context4.sent;
|
|
308
322
|
|
|
309
323
|
if (!(res === false)) {
|
|
310
|
-
|
|
324
|
+
_context4.next = 24;
|
|
311
325
|
break;
|
|
312
326
|
}
|
|
313
327
|
|
|
314
|
-
return
|
|
328
|
+
return _context4.abrupt("return", false);
|
|
315
329
|
|
|
316
330
|
case 24:
|
|
317
331
|
newList = _toConsumableArray(fileList);
|
|
318
332
|
ofileList.map( /*#__PURE__*/function () {
|
|
319
|
-
var
|
|
333
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(item) {
|
|
320
334
|
var temp;
|
|
321
|
-
return regeneratorRuntime.wrap(function
|
|
335
|
+
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
322
336
|
while (1) {
|
|
323
|
-
switch (
|
|
337
|
+
switch (_context3.prev = _context3.next) {
|
|
324
338
|
case 0:
|
|
325
339
|
if (!(allowFileSuffix && !_this2.checkFileType(item) || size < item.size || checkSameFile && fileNames.indexOf(item.name) > -1)) {
|
|
326
340
|
temp = {
|
|
@@ -337,14 +351,14 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
337
351
|
|
|
338
352
|
case 1:
|
|
339
353
|
case "end":
|
|
340
|
-
return
|
|
354
|
+
return _context3.stop();
|
|
341
355
|
}
|
|
342
356
|
}
|
|
343
|
-
},
|
|
357
|
+
}, _callee3);
|
|
344
358
|
}));
|
|
345
359
|
|
|
346
|
-
return function (
|
|
347
|
-
return
|
|
360
|
+
return function (_x6) {
|
|
361
|
+
return _ref3.apply(this, arguments);
|
|
348
362
|
};
|
|
349
363
|
}());
|
|
350
364
|
|
|
@@ -363,13 +377,13 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
363
377
|
|
|
364
378
|
case 29:
|
|
365
379
|
case "end":
|
|
366
|
-
return
|
|
380
|
+
return _context4.stop();
|
|
367
381
|
}
|
|
368
382
|
}
|
|
369
|
-
},
|
|
383
|
+
}, _callee4, this);
|
|
370
384
|
}));
|
|
371
385
|
|
|
372
|
-
function beforeUpload(
|
|
386
|
+
function beforeUpload(_x4, _x5) {
|
|
373
387
|
return _beforeUpload.apply(this, arguments);
|
|
374
388
|
}
|
|
375
389
|
|
|
@@ -390,9 +404,9 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
390
404
|
}
|
|
391
405
|
}, {
|
|
392
406
|
key: "onProcess",
|
|
393
|
-
value: function onProcess(
|
|
394
|
-
var percent =
|
|
395
|
-
file =
|
|
407
|
+
value: function onProcess(_ref4) {
|
|
408
|
+
var percent = _ref4.percent,
|
|
409
|
+
file = _ref4.file;
|
|
396
410
|
var fileList = this.state.fileList;
|
|
397
411
|
var onListChange = this.props.onListChange;
|
|
398
412
|
var newList = [];
|
|
@@ -414,81 +428,54 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
414
428
|
key: "onComplete",
|
|
415
429
|
value: function () {
|
|
416
430
|
var _onComplete = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(file) {
|
|
417
|
-
var
|
|
418
|
-
|
|
419
|
-
var fileList, _this$props3, newVersion, _this$props3$requestC, requestConfig, newList, onListChange;
|
|
431
|
+
var fileList, _this$props4, newVersion, _this$props4$requestC, requestConfig, newList, requestId, fileIndex, fileRes, onListChange;
|
|
420
432
|
|
|
421
433
|
return regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
422
434
|
while (1) {
|
|
423
435
|
switch (_context5.prev = _context5.next) {
|
|
424
436
|
case 0:
|
|
425
437
|
fileList = this.state.fileList;
|
|
426
|
-
_this$
|
|
427
|
-
newList =
|
|
428
|
-
fileList.map(
|
|
429
|
-
var
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
newFile.status = file.status == "success" ? "done" : file.status;
|
|
444
|
-
newFile.fileId = file.fileId;
|
|
445
|
-
|
|
446
|
-
if (!newVersion) {
|
|
447
|
-
_context4.next = 15;
|
|
448
|
-
break;
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
_context4.next = 7;
|
|
452
|
-
return previewImage(file.fileId, _this3.props.requestConfig);
|
|
453
|
-
|
|
454
|
-
case 7:
|
|
455
|
-
res = _context4.sent;
|
|
456
|
-
newFile.url = res.data;
|
|
457
|
-
newList[index] = newFile;
|
|
438
|
+
_this$props4 = this.props, newVersion = _this$props4.newVersion, _this$props4$requestC = _this$props4.requestConfig, requestConfig = _this$props4$requestC === void 0 ? {} : _this$props4$requestC;
|
|
439
|
+
newList = [];
|
|
440
|
+
fileList.map(function (item, index) {
|
|
441
|
+
var newFile = _objectSpread({}, item);
|
|
442
|
+
|
|
443
|
+
if (file.file.uid == item.uid) {
|
|
444
|
+
newFile.status = file.status == "success" ? "done" : file.status;
|
|
445
|
+
newFile.fileId = file.fileId;
|
|
446
|
+
|
|
447
|
+
if (newVersion) {
|
|
448
|
+
requestId = file.fileId;
|
|
449
|
+
fileIndex = index;
|
|
450
|
+
} else {
|
|
451
|
+
var url = "/jquick-resource/oss/endpoint/download-files?attachId=".concat(file.fileId, "&_tpk=").concat(window.localStorage.getItem("token"));
|
|
452
|
+
newFile.url = requestConfig.prefix ? requestConfig.prefix + url : "/api" + url;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
458
455
|
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
});
|
|
456
|
+
newList.push(newFile);
|
|
457
|
+
});
|
|
462
458
|
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
459
|
+
if (!requestId) {
|
|
460
|
+
_context5.next = 9;
|
|
461
|
+
break;
|
|
462
|
+
}
|
|
467
463
|
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
newFile.url = requestConfig.prefix ? requestConfig.prefix + url : "/api" + url;
|
|
471
|
-
newList[index] = newFile;
|
|
464
|
+
_context5.next = 7;
|
|
465
|
+
return previewImage(requestId);
|
|
472
466
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
}, _callee4);
|
|
479
|
-
}));
|
|
467
|
+
case 7:
|
|
468
|
+
fileRes = _context5.sent;
|
|
469
|
+
newList[fileIndex].url = fileRes.data;
|
|
480
470
|
|
|
481
|
-
|
|
482
|
-
return _ref4.apply(this, arguments);
|
|
483
|
-
};
|
|
484
|
-
}());
|
|
471
|
+
case 9:
|
|
485
472
|
this.setState({
|
|
486
473
|
fileList: newList
|
|
487
474
|
});
|
|
488
475
|
onListChange = this.props.onListChange;
|
|
489
476
|
onListChange && onListChange(newList);
|
|
490
477
|
|
|
491
|
-
case
|
|
478
|
+
case 12:
|
|
492
479
|
case "end":
|
|
493
480
|
return _context5.stop();
|
|
494
481
|
}
|
|
@@ -496,7 +483,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
496
483
|
}, _callee5, this);
|
|
497
484
|
}));
|
|
498
485
|
|
|
499
|
-
function onComplete(
|
|
486
|
+
function onComplete(_x7) {
|
|
500
487
|
return _onComplete.apply(this, arguments);
|
|
501
488
|
}
|
|
502
489
|
|
|
@@ -522,22 +509,22 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
522
509
|
}, {
|
|
523
510
|
key: "render",
|
|
524
511
|
value: function render() {
|
|
525
|
-
var
|
|
512
|
+
var _this3 = this;
|
|
526
513
|
|
|
527
|
-
var _this$
|
|
528
|
-
fileList = _this$
|
|
529
|
-
fileCard = _this$
|
|
530
|
-
_this$
|
|
531
|
-
showUploadList = _this$
|
|
514
|
+
var _this$props5 = this.props,
|
|
515
|
+
fileList = _this$props5.fileList,
|
|
516
|
+
fileCard = _this$props5.fileCard,
|
|
517
|
+
_this$props5$showUplo = _this$props5.showUploadList,
|
|
518
|
+
showUploadList = _this$props5$showUplo === void 0 ? {
|
|
532
519
|
showDownloadIcon: true,
|
|
533
520
|
showPreviewIcon: false,
|
|
534
521
|
showRemoveIcon: true,
|
|
535
522
|
downloadIcon: null,
|
|
536
523
|
removeIcon: null,
|
|
537
524
|
previewIcon: null
|
|
538
|
-
} : _this$
|
|
539
|
-
_this$
|
|
540
|
-
requestConfig = _this$
|
|
525
|
+
} : _this$props5$showUplo,
|
|
526
|
+
_this$props5$requestC = _this$props5.requestConfig,
|
|
527
|
+
requestConfig = _this$props5$requestC === void 0 ? {} : _this$props5$requestC;
|
|
541
528
|
var newprops = omit(this.props, ["sliceSize", "maxSize", "onComplete", "onProcess", "allowFileSuffix", "useDefaultList", "fileCard", "onListChange"]);
|
|
542
529
|
var defaultProps = {
|
|
543
530
|
customRequest: this.customRequest.bind(this),
|
|
@@ -565,8 +552,8 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
565
552
|
className: getLess(styles, "icon")
|
|
566
553
|
}, showUploadList.showPreviewIcon && file.status == "done" && /*#__PURE__*/React.createElement("div", {
|
|
567
554
|
onClick: function onClick() {
|
|
568
|
-
if (
|
|
569
|
-
|
|
555
|
+
if (_this3.props.onPreview) {
|
|
556
|
+
_this3.props.onPreview(file);
|
|
570
557
|
} else {
|
|
571
558
|
previewDocument(file.fileId, requestConfig);
|
|
572
559
|
}
|
|
@@ -576,8 +563,8 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
576
563
|
}
|
|
577
564
|
}, showUploadList.downloadIcon ? showUploadList.downloadIcon : /*#__PURE__*/React.createElement(EyeOutlined, null)), showUploadList.showDownloadIcon && file.status == "done" && /*#__PURE__*/React.createElement("div", {
|
|
578
565
|
onClick: function onClick() {
|
|
579
|
-
if (
|
|
580
|
-
|
|
566
|
+
if (_this3.props.onDownload) {
|
|
567
|
+
_this3.props.onDownload(file);
|
|
581
568
|
} else {
|
|
582
569
|
download(file.fileId, true, requestConfig);
|
|
583
570
|
}
|
|
@@ -587,10 +574,10 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
587
574
|
}
|
|
588
575
|
}, showUploadList.downloadIcon ? showUploadList.downloadIcon : /*#__PURE__*/React.createElement(DownloadOutlined, null)), showUploadList.showRemoveIcon && /*#__PURE__*/React.createElement("div", {
|
|
589
576
|
onClick: function onClick() {
|
|
590
|
-
if (
|
|
591
|
-
|
|
577
|
+
if (_this3.props.onRemove) {
|
|
578
|
+
_this3.props.onRemove(file);
|
|
592
579
|
} else {
|
|
593
|
-
|
|
580
|
+
_this3.onDelete(file);
|
|
594
581
|
}
|
|
595
582
|
},
|
|
596
583
|
style: {
|
|
@@ -612,7 +599,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
612
599
|
download(file.fileId, true, requestConfig);
|
|
613
600
|
},
|
|
614
601
|
onRemove: function onRemove(file) {
|
|
615
|
-
|
|
602
|
+
_this3.onDelete(file);
|
|
616
603
|
},
|
|
617
604
|
onPreview: function onPreview(file) {
|
|
618
605
|
if (file !== null && file !== void 0 && file.fileId) {
|
|
@@ -623,7 +610,6 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
623
610
|
});
|
|
624
611
|
}
|
|
625
612
|
|
|
626
|
-
console.log("com--ddd", this.state.fileList);
|
|
627
613
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Upload, _extends({}, defaultProps, newprops, {
|
|
628
614
|
beforeUpload: this.beforeUpload.bind(this),
|
|
629
615
|
fileList: this.state.fileList // onChange={({ file, fileList, event }) => {
|
|
@@ -647,4 +633,4 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
647
633
|
_defineProperty(NscUpload, "Dragger", NscUploadDragger);
|
|
648
634
|
|
|
649
635
|
export { NscUpload as default };
|
|
650
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwiTnNjVXBsb2FkRHJhZ2dlciIsInVwbG9hZCIsImRvd25sb2FkIiwicHJldmlld0RvY3VtZW50IiwicHJldmlld0ltYWdlIiwiTnNjVXBsb2FkIiwiZmlsZUxpc3QiLCJ2aWV3SWQiLCJmaWxlTGlzdFN0b3JlIiwiZmlsZU5hbWVzIiwib3B0aW9ucyIsInByb3BzIiwib25Db21wbGV0ZSIsIm9uUHJvY2VzcyIsInNsaWNlU2l6ZSIsIm9uUHJvZ3Jlc3MiLCJ0b3RhbFByb2dyZXNzIiwicGVyY2VudCIsInBhcnRTaXplIiwicmVzIiwiZmlsZUlkIiwiY29kZSIsImRhdGEiLCJhdHRhY2hJZCIsIm9uU3VjY2VzcyIsIm9uRXJyb3IiLCJzdGF0dXMiLCJjb25zb2xlIiwibG9nIiwiY29udmVydEZpbGVMaXN0IiwibGlzdCIsIm5ld0ZpbGVMaXN0Iiwib2xkTGlzdCIsIm1hcCIsIml0ZW0iLCJ0ZW1wIiwibmFtZSIsImZpbGVOYW1lIiwidHlwZSIsInNpemUiLCJ1cmwiLCJwdXNoIiwic2V0U3RhdGUiLCJwcmVQcm9wcyIsInByZVN0YXRlIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXRlIiwib2ZpbGVMaXN0IiwibWF4U2l6ZSIsImFsbG93RmlsZVN1ZmZpeCIsImNoZWNrU2FtZUZpbGUiLCJtYXhDb3VudCIsInNob3dVcGxvYWRMaXN0IiwicHJvcHNMaXN0Iiwib25MaXN0Q2hhbmdlIiwiY2hlY2tGaWxlVHlwZSIsImVycm9yIiwiY2hlY2tMaXN0IiwiaW5kZXhPZiIsImJlZm9yZVVwbG9hZCIsIm5ld0xpc3QiLCJ1aWQiLCJsZW5ndGgiLCJpIiwic3BsaWNlIiwibmFtZXMiLCJzcGxpdCIsInN1ZmZpeCIsIm5ld0ZpbGUiLCJuZXdWZXJzaW9uIiwicmVxdWVzdENvbmZpZyIsImluZGV4Iiwid2luZG93IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInByZWZpeCIsImZpbGVDYXJkIiwic2hvd0Rvd25sb2FkSWNvbiIsInNob3dQcmV2aWV3SWNvbiIsInNob3dSZW1vdmVJY29uIiwiZG93bmxvYWRJY29uIiwicmVtb3ZlSWNvbiIsInByZXZpZXdJY29uIiwibmV3cHJvcHMiLCJkZWZhdWx0UHJvcHMiLCJjdXN0b21SZXF1ZXN0IiwiYmluZCIsIm11bHRpcGxlIiwiaXRlbVJlbmRlciIsIm9yaWdpbk5vZGUiLCJjdXJyRmlsZUxpc3QiLCJvblByZXZpZXciLCJjdXJzb3IiLCJvbkRvd25sb2FkIiwib25SZW1vdmUiLCJvbkRlbGV0ZSIsIndpZHRoIiwiUHVyZUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUVBLE9BQU9DLElBQVAsTUFBaUIsVUFBakI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLFlBQXBCO0FBRUEsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsYUFBeEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsb0JBQXJCO0FBQ0EsU0FDRUMsY0FERixFQUVFQyxnQkFGRixFQUdFQyxXQUhGLFFBSU8sbUJBSlA7QUFNQSxPQUFPQyxnQkFBUCxNQUE2QixXQUE3QjtBQUNBLElBQVFDLE1BQVIsR0FBNERYLElBQTVELENBQVFXLE1BQVI7QUFBQSxJQUFnQkMsUUFBaEIsR0FBNERaLElBQTVELENBQWdCWSxRQUFoQjtBQUFBLElBQTBCQyxlQUExQixHQUE0RGIsSUFBNUQsQ0FB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QUFVLEVBQUUsb0JBQUN4RyxJQUFELEVBQWU7QUFDekJZLFlBQUFBLFFBQVEsQ0FBQ1osSUFBSSxDQUFDOEIsTUFBTixFQUFjLElBQWQsRUFBb0JtRCxhQUFwQixDQUFSO0FBQ0QsV0FKUztBQUtWd0IsVUFBQUEsUUFBUSxFQUFFLGtCQUFDekcsSUFBRCxFQUFVO0FBQ2xCLFlBQUEsTUFBSSxDQUFDMEcsUUFBTCxDQUFjMUcsSUFBZDtBQUNELFdBUFM7QUFRVnNHLFVBQUFBLFNBQVMsRUFBRSxtQkFBQ3RHLElBQUQsRUFBZTtBQUN4QixnQkFBSUEsSUFBSixhQUFJQSxJQUFKLGVBQUlBLElBQUksQ0FBRThCLE1BQVYsRUFBa0I7QUFDaEJqQixjQUFBQSxlQUFlLENBQUNiLElBQUksQ0FBQzhCLE1BQU4sRUFBY21ELGFBQWQsQ0FBZjtBQUNEO0FBQ0YsV0FaUztBQWFWbEIsVUFBQUEsY0FBYyxvQkFBT0EsY0FBUDtBQWJKLFVBQVo7QUFlRDs7QUFDRDFCLE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLFVBQVosRUFBd0IsS0FBS21CLEtBQUwsQ0FBV3pDLFFBQW5DO0FBQ0EsMEJBQ0UsdURBQ0UsMENBQ00rRSxZQUROLEVBRU1ELFFBRk47QUFHRSxRQUFBLFlBQVksRUFBRSxLQUFLeEIsWUFBTCxDQUFrQjJCLElBQWxCLENBQXVCLElBQXZCLENBSGhCO0FBSUUsUUFBQSxRQUFRLEVBQUUsS0FBS3hDLEtBQUwsQ0FBV3pDLFFBSnZCLENBS0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBZEYsU0FERixDQURGO0FBb0JEOzs7O0VBclpvQ2pCLEtBQUssQ0FBQzZHLGE7O2dCQUF4QjdGLFMsYUFDRkwsZ0I7O1NBREVLLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgVXBsb2FkLCBVcGxvYWRQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBmaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vbWVzc2FnZVwiO1xyXG5pbXBvcnQgd2l0aFpoTG9jYWxlIGZyb20gXCIuLi9jb21tb24vd2l0aFpoTG9jYWxlXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCB7IGdldExlc3MgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IEZpbGVJY29uIGZyb20gXCIuLi9jb21tb24vRmlsZUljb25cIjtcclxuaW1wb3J0IHtcclxuICBEZWxldGVPdXRsaW5lZCxcclxuICBEb3dubG9hZE91dGxpbmVkLFxyXG4gIEV5ZU91dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgUGRmVmlld2VyIGZyb20gXCIuLi9wZGZ2aXdlclwiO1xyXG5pbXBvcnQgTnNjVXBsb2FkRHJhZ2dlciBmcm9tIFwiLi9EcmFnZ2VyXCI7XHJcbmNvbnN0IHsgdXBsb2FkLCBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50LCBwcmV2aWV3SW1hZ2UgfSA9IGZpbGU7XHJcblxyXG5pbnRlcmZhY2UgSVVwbG9hZFByb3BzIGV4dGVuZHMgVXBsb2FkUHJvcHMge1xyXG4gIHNsaWNlU2l6ZT86IG51bWJlcjtcclxuICBtYXhTaXplPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBvblByb2Nlc3M/OiAocHJvY2VzcykgPT4gdm9pZDtcclxuICBvbkNvbXBsZXRlPzogKHsgZmlsZSwgZmlsZUlkLCBzdGF0dXMgfSkgPT4gdm9pZDtcclxuICBhbGxvd0ZpbGVTdWZmaXg/OiBBcnJheTxTdHJpbmc+OyAvL+WFgeiuuOS4iuS8oOaJqeWxleWQjSzkuI3luKYuXHJcbiAgdXNlRGVmYXVsdExpc3Q/OiBib29sZWFuOyAvL+aYr+WQpuS9v+eUqOm7mOiupOeahGZpbGVMaXN0XHJcbiAgZmlsZUNhcmQ/OiBib29sZWFuO1xyXG4gIG9uTGlzdENoYW5nZT86IGFueTtcclxuICBjaGVja1NhbWVGaWxlPzogYm9vbGVhbjtcclxuICByZXF1ZXN0Q29uZmlnPzogYW55O1xyXG4gIG5ld1ZlcnNpb24/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY1VwbG9hZCBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SVVwbG9hZFByb3BzLCBhbnk+IHtcclxuICBzdGF0aWMgRHJhZ2dlciA9IE5zY1VwbG9hZERyYWdnZXI7XHJcbiAgc3RhdGUgPSB7IGZpbGVMaXN0OiBbXSwgdmlld0lkOiBcIlwiLCBmaWxlTGlzdFN0b3JlOiBbXSwgZmlsZU5hbWVzOiBbXSB9O1xyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJjb21wb25lbnREaWRNb3VudGNvbXBvbmVudERpZE1vdW50XCIpO1xyXG4gICAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb252ZXJ0RmlsZUxpc3QobGlzdD86IEFycmF5PE9iamVjdD4pIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgY29uc3QgbmV3RmlsZUxpc3QgPSBbXTtcclxuICAgIGxldCBvbGRMaXN0ID0gbGlzdCA/IGxpc3QgOiBmaWxlTGlzdDtcclxuICAgIG9sZExpc3QubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7XHJcbiAgICAgICAgc3RhdHVzOiBpdGVtLnN0YXR1cyxcclxuICAgICAgICBuYW1lOiBpdGVtLm5hbWUgfHwgaXRlbS5maWxlTmFtZSxcclxuICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICB9IGFzIGFueTtcclxuICAgICAgaWYgKGl0ZW0udXJsKSB7XHJcbiAgICAgICAgdGVtcC51cmwgPSBpdGVtLnVybDtcclxuICAgICAgfVxyXG4gICAgICBuZXdGaWxlTGlzdC5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdGaWxlTGlzdF0sXHJcbiAgICAgIGZpbGVMaXN0U3RvcmU6IFsuLi5maWxlTGlzdF0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZVByb3BzLCBwcmVTdGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZmlsZUxpc3QpICE9PVxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUuZmlsZUxpc3RTdG9yZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRGaWxlTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmZpbGVMaXN0O1xyXG4gIH1cclxuICBzZXRGaWxlTGlzdChmaWxlTGlzdDogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBiZWZvcmVVcGxvYWQoZmlsZSwgb2ZpbGVMaXN0KSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBtYXhTaXplID0gMTAwLFxyXG4gICAgICBhbGxvd0ZpbGVTdWZmaXgsXHJcbiAgICAgIGNoZWNrU2FtZUZpbGUgPSB0cnVlLFxyXG4gICAgICBtYXhDb3VudCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QsXHJcbiAgICAgIGZpbGVMaXN0OiBwcm9wc0xpc3QsXHJcbiAgICAgIG9uTGlzdENoYW5nZSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgZmlsZUxpc3QsIGZpbGVMaXN0U3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgc2l6ZTogbnVtYmVyO1xyXG4gICAgaWYgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGZpbGUpKSB7XHJcbiAgICAgIG1lc3NhZ2UuZXJyb3IoXHJcbiAgICAgICAgYCR7ZmlsZS5uYW1lfeaWh+S7tuexu+Wei+S4jeWFgeiuuOS4iuS8oO+8jOivt+S4iuS8oOWQjue8gOS4uiR7YWxsb3dGaWxlU3VmZml4feeahOexu+Wei+aWh+S7tu+8gWBcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKG1heFNpemUgIT09IGZhbHNlKSB7XHJcbiAgICAgIGlmIChtYXhTaXplID09PSB0cnVlKSB7XHJcbiAgICAgICAgbWF4U2l6ZSA9IDEwMDtcclxuICAgICAgfVxyXG4gICAgICBzaXplID0gbWF4U2l6ZSAqIDEwMjQgKiAxMDI0O1xyXG4gICAgICBpZiAoc2l6ZSA8IGZpbGUuc2l6ZSkge1xyXG4gICAgICAgIG1lc3NhZ2UuZXJyb3IoYCR7ZmlsZS5uYW1lfeaWh+S7tuWkp+Wwj+i2hei/hyR7bWF4U2l6ZX1N77yM6K+36YeN5paw5LiK5Lyg77yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgZmlsZU5hbWVzID0gW107XHJcbiAgICBpZiAoY2hlY2tTYW1lRmlsZSkge1xyXG4gICAgICBjb25zdCBjaGVja0xpc3QgPSB0aGlzLnByb3BzLmZpbGVMaXN0ID8gZmlsZUxpc3RTdG9yZSA6IGZpbGVMaXN0O1xyXG4gICAgICBjaGVja0xpc3QubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgZmlsZU5hbWVzLnB1c2goaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmIChmaWxlTmFtZXMuaW5kZXhPZihmaWxlLm5hbWUpID4gLTEgJiYgc2hvd1VwbG9hZExpc3QgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgbWVzc2FnZS5lcnJvcihg5paH5Lu2JHtmaWxlLm5hbWV95bey5Zyo5LiK5Lyg5YiX6KGo5Lit77yM6K+36YeN5paw6YCJ5oup5paH5Lu277yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKSB7XHJcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKGZpbGUsIG9maWxlTGlzdCk7XHJcbiAgICAgIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBuZXdMaXN0ID0gWy4uLmZpbGVMaXN0XTtcclxuICAgIG9maWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW0pID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICEoXHJcbiAgICAgICAgICAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoaXRlbSkpIHx8XHJcbiAgICAgICAgICBzaXplIDwgaXRlbS5zaXplIHx8XHJcbiAgICAgICAgICAoY2hlY2tTYW1lRmlsZSAmJiBmaWxlTmFtZXMuaW5kZXhPZihpdGVtLm5hbWUpID4gLTEpXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCB0ZW1wID0ge1xyXG4gICAgICAgICAgZmlsZU5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgIHBlcmNlbnQ6IDAsXHJcbiAgICAgICAgICBzdGF0dXM6IFwidXBsb2FkaW5nXCIsXHJcbiAgICAgICAgICB1aWQ6IGl0ZW0udWlkLFxyXG4gICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKHRlbXApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAobWF4Q291bnQgJiYgbmV3TGlzdC5sZW5ndGggPiBtYXhDb3VudCkge1xyXG4gICAgICBsZXQgbGVuZ3RoID0gbmV3TGlzdC5sZW5ndGggLSBtYXhDb3VudDtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIG5ld0xpc3Quc3BsaWNlKDAsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGZpbGVMaXN0OiBuZXdMaXN0IH0pO1xyXG4gIH1cclxuICBjaGVja0ZpbGVUeXBlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgYWxsb3dGaWxlU3VmZml4IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmFtZXMgPSBmaWxlLm5hbWUuc3BsaXQoXCIuXCIpO1xyXG4gICAgY29uc3Qgc3VmZml4ID0gbmFtZXNbbmFtZXMubGVuZ3RoIC0gMV07XHJcbiAgICBpZiAoYWxsb3dGaWxlU3VmZml4LmluZGV4T2Yoc3VmZml4KSA+IC0xKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBvblByb2Nlc3MoeyBwZXJjZW50LCBmaWxlIH06IGFueSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdGaWxlID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmIChmaWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgIG5ld0ZpbGUucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBvbkNvbXBsZXRlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IG5ld1ZlcnNpb24sIHJlcXVlc3RDb25maWcgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0xpc3Q6IGFueSA9IFsuLi5maWxlTGlzdF07XHJcbiAgICBmaWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW06IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgbmV3RmlsZSA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAoZmlsZS5maWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgIG5ld0ZpbGUuc3RhdHVzID0gZmlsZS5zdGF0dXMgPT0gXCJzdWNjZXNzXCIgPyBcImRvbmVcIiA6IGZpbGUuc3RhdHVzO1xyXG4gICAgICAgIG5ld0ZpbGUuZmlsZUlkID0gZmlsZS5maWxlSWQ7XHJcbiAgICAgICAgaWYgKG5ld1ZlcnNpb24pIHtcclxuICAgICAgICAgIGxldCByZXM6IGFueSA9IGF3YWl0IHByZXZpZXdJbWFnZShcclxuICAgICAgICAgICAgZmlsZS5maWxlSWQsXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMucmVxdWVzdENvbmZpZ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIG5ld0ZpbGUudXJsID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICBuZXdMaXN0W2luZGV4XSA9IG5ld0ZpbGU7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdMaXN0XSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgdXJsID0gYC9qcXVpY2stcmVzb3VyY2Uvb3NzL2VuZHBvaW50L2Rvd25sb2FkLWZpbGVzP2F0dGFjaElkPSR7XHJcbiAgICAgICAgICAgIGZpbGUuZmlsZUlkXHJcbiAgICAgICAgICB9Jl90cGs9JHt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKX1gO1xyXG4gICAgICAgICAgbmV3RmlsZS51cmwgPSByZXF1ZXN0Q29uZmlnLnByZWZpeFxyXG4gICAgICAgICAgICA/IHJlcXVlc3RDb25maWcucHJlZml4ICsgdXJsXHJcbiAgICAgICAgICAgIDogXCIvYXBpXCIgKyB1cmw7XHJcbiAgICAgICAgICBuZXdMaXN0W2luZGV4XSA9IG5ld0ZpbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gIH1cclxuICBjdXN0b21SZXF1ZXN0ID0gYXN5bmMgKG9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XHJcbiAgICBjb25zdCB7IG9uQ29tcGxldGUsIG9uUHJvY2Vzcywgc2xpY2VTaXplIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qgb25Qcm9ncmVzcyA9ICh0b3RhbFByb2dyZXNzOiBhbnkpID0+IHtcclxuICAgICAgb3B0aW9ucy5vblByb2dyZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcyB9LCBmaWxlKTtcclxuICAgICAgdGhpcy5vblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICBvblByb2Nlc3MgJiYgb25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgIH07XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZCh7XHJcbiAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICBvblByb2dyZXNzOiBvblByb2dyZXNzLFxyXG4gICAgICAgIHBhcnRTaXplOiBzbGljZVNpemUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBsZXQgZmlsZUlkID0gbnVsbDtcclxuICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIGZpbGVJZCA9IHJlcy5kYXRhLmF0dGFjaElkO1xyXG4gICAgICAgIG9wdGlvbnMub25TdWNjZXNzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICBvbkNvbXBsZXRlKHtcclxuICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBcIlwiLFxyXG4gICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICB9KTtcclxuICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgIG9uQ29tcGxldGUoeyBmaWxlOiBvcHRpb25zLmZpbGUsIGZpbGVJZDogXCJcIiwgc3RhdHVzOiBcImVycm9yXCIgfSk7XHJcbiAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgb25EZWxldGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAvL+mAmui/h+aWh+S7tuWQjeWIpOaWre+8jOS4iuS8oOaYr+aWh+S7tuWQjeaYr+WUr+S4gOeahFxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5uYW1lICE9PSBmaWxlLm5hbWUgfHxcclxuICAgICAgICBpdGVtLmZpbGVJZCAhPT0gZmlsZS5maWxlSWQgfHxcclxuICAgICAgICBpdGVtLnVpZCAhPT0gZmlsZS51aWRcclxuICAgICAgKSB7XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICB9XHJcbiAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBmaWxlTGlzdCxcclxuICAgICAgZmlsZUNhcmQsXHJcbiAgICAgIHNob3dVcGxvYWRMaXN0ID0ge1xyXG4gICAgICAgIHNob3dEb3dubG9hZEljb246IHRydWUsXHJcbiAgICAgICAgc2hvd1ByZXZpZXdJY29uOiBmYWxzZSxcclxuICAgICAgICBzaG93UmVtb3ZlSWNvbjogdHJ1ZSxcclxuICAgICAgICBkb3dubG9hZEljb246IG51bGwsXHJcbiAgICAgICAgcmVtb3ZlSWNvbjogbnVsbCxcclxuICAgICAgICBwcmV2aWV3SWNvbjogbnVsbCxcclxuICAgICAgfSBhcyBhbnksXHJcbiAgICAgIHJlcXVlc3RDb25maWcgPSB7fSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3cHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgXCJtYXhTaXplXCIsXHJcbiAgICAgIFwib25Db21wbGV0ZVwiLFxyXG4gICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICBcImFsbG93RmlsZVN1ZmZpeFwiLFxyXG4gICAgICBcInVzZURlZmF1bHRMaXN0XCIsXHJcbiAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgXCJvbkxpc3RDaGFuZ2VcIixcclxuICAgIF0pO1xyXG4gICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgY3VzdG9tUmVxdWVzdDogdGhpcy5jdXN0b21SZXF1ZXN0LmJpbmQodGhpcyksXHJcbiAgICAgIG11bHRpcGxlOiB0cnVlLFxyXG4gICAgfSBhcyBJVXBsb2FkUHJvcHM7XHJcbiAgICBpZiAoZmlsZUNhcmQpIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBpdGVtUmVuZGVyOiAob3JpZ2luTm9kZSwgZmlsZTogYW55LCBjdXJyRmlsZUxpc3QpID0+IHtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZTtcclxuICAgICAgICAgIGNvbnN0IG5hbWVzID0gbmFtZT8uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgY29uc3Qgc3VmZml4ID0gbmFtZXMgPyBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXSA6IFwiXCI7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZmlsZS1pdGVtXCIpfT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50XCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50X2Vycm9yXCIpXTogZmlsZS5zdGF0dXMgPT0gXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm1hcmstcGljdHVyZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxGaWxlSWNvbiBzdWZmaXg9e3N1ZmZpeH0gZmlsZUlkPXtmaWxlLmZpbGVJZH0gLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5hbWVcIil9PlxyXG4gICAgICAgICAgICAgICAgICB7ZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWV9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dQcmV2aWV3SWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEV5ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd0Rvd25sb2FkSWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkLCB0cnVlLCByZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxEb3dubG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1JlbW92ZUljb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB7ZmlsZS5zdGF0dXMgPT0gXCJ1cGxvYWRpbmdcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicHJvY2Vzc1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBlcmNlbnRcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGZpbGUucGVyY2VudCArIFwiJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBvbkRvd25sb2FkOiAoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBkb3dubG9hZChmaWxlLmZpbGVJZCwgdHJ1ZSwgcmVxdWVzdENvbmZpZyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblJlbW92ZTogKGZpbGUpID0+IHtcclxuICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblByZXZpZXc6IChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChmaWxlPy5maWxlSWQpIHtcclxuICAgICAgICAgICAgcHJldmlld0RvY3VtZW50KGZpbGUuZmlsZUlkLCByZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob3dVcGxvYWRMaXN0OiB7IC4uLnNob3dVcGxvYWRMaXN0IH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhcImNvbS0tZGRkXCIsIHRoaXMuc3RhdGUuZmlsZUxpc3QpO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPD5cclxuICAgICAgICA8VXBsb2FkXHJcbiAgICAgICAgICB7Li4uZGVmYXVsdFByb3BzfVxyXG4gICAgICAgICAgey4uLm5ld3Byb3BzfVxyXG4gICAgICAgICAgYmVmb3JlVXBsb2FkPXt0aGlzLmJlZm9yZVVwbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgZmlsZUxpc3Q9e3RoaXMuc3RhdGUuZmlsZUxpc3R9XHJcbiAgICAgICAgICAvLyBvbkNoYW5nZT17KHsgZmlsZSwgZmlsZUxpc3QsIGV2ZW50IH0pID0+IHtcclxuICAgICAgICAgIC8vICAgY29uc29sZS5sb2coXCJvbkNoYW5nZWZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKFwib25DaGFuZ2VmaWxlTGlzdFwiLCBmaWxlTGlzdCk7XHJcbiAgICAgICAgICAvLyAgIGNvbnN0IHsgb25DaGFuZ2UsIG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICAgIC8vICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAvLyAgICAgZmlsZUxpc3Q6IGZpbGVMaXN0LFxyXG4gICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgIC8vICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShmaWxlTGlzdCk7XHJcbiAgICAgICAgICAvLyAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKHsgZmlsZSwgZmlsZUxpc3QsIGV2ZW50IH0pO1xyXG4gICAgICAgICAgLy8gfX1cclxuICAgICAgICAvPlxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
636
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwiTnNjVXBsb2FkRHJhZ2dlciIsInVwbG9hZCIsImRvd25sb2FkIiwicHJldmlld0RvY3VtZW50IiwicHJldmlld0ltYWdlIiwiTnNjVXBsb2FkIiwiZmlsZUxpc3QiLCJ2aWV3SWQiLCJmaWxlTGlzdFN0b3JlIiwiZmlsZU5hbWVzIiwib3B0aW9ucyIsInByb3BzIiwib25Db21wbGV0ZSIsIm9uUHJvY2VzcyIsInNsaWNlU2l6ZSIsIm9uUHJvZ3Jlc3MiLCJ0b3RhbFByb2dyZXNzIiwicGVyY2VudCIsInBhcnRTaXplIiwicmVzIiwiZmlsZUlkIiwiY29kZSIsImRhdGEiLCJhdHRhY2hJZCIsIm9uU3VjY2VzcyIsIm9uRXJyb3IiLCJzdGF0dXMiLCJjb252ZXJ0RmlsZUxpc3QiLCJsaXN0IiwibGlzdFR5cGUiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJ0ZW1wIiwibmFtZSIsImZpbGVOYW1lIiwidHlwZSIsInNpemUiLCJwdXNoIiwic2V0U3RhdGUiLCJwcmVQcm9wcyIsInByZVN0YXRlIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXRlIiwib2ZpbGVMaXN0IiwibWF4U2l6ZSIsImFsbG93RmlsZVN1ZmZpeCIsImNoZWNrU2FtZUZpbGUiLCJtYXhDb3VudCIsInNob3dVcGxvYWRMaXN0IiwicHJvcHNMaXN0Iiwib25MaXN0Q2hhbmdlIiwiY2hlY2tGaWxlVHlwZSIsImVycm9yIiwiY2hlY2tMaXN0IiwiaW5kZXhPZiIsImJlZm9yZVVwbG9hZCIsIm5ld0xpc3QiLCJ1aWQiLCJsZW5ndGgiLCJpIiwic3BsaWNlIiwibmFtZXMiLCJzcGxpdCIsInN1ZmZpeCIsIm5ld0ZpbGUiLCJuZXdWZXJzaW9uIiwicmVxdWVzdENvbmZpZyIsInJlcXVlc3RJZCIsImZpbGVJbmRleCIsInVybCIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJwcmVmaXgiLCJmaWxlUmVzIiwiZmlsZUNhcmQiLCJzaG93RG93bmxvYWRJY29uIiwic2hvd1ByZXZpZXdJY29uIiwic2hvd1JlbW92ZUljb24iLCJkb3dubG9hZEljb24iLCJyZW1vdmVJY29uIiwicHJldmlld0ljb24iLCJuZXdwcm9wcyIsImRlZmF1bHRQcm9wcyIsImN1c3RvbVJlcXVlc3QiLCJiaW5kIiwibXVsdGlwbGUiLCJpdGVtUmVuZGVyIiwib3JpZ2luTm9kZSIsImN1cnJGaWxlTGlzdCIsIm9uUHJldmlldyIsImN1cnNvciIsIm9uRG93bmxvYWQiLCJvblJlbW92ZSIsIm9uRGVsZXRlIiwid2lkdGgiLCJQdXJlQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxLQUFaLE1BQXVCLE9BQXZCO0FBRUEsT0FBT0MsSUFBUCxNQUFpQixVQUFqQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0IsWUFBcEI7QUFFQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixvQkFBckI7QUFDQSxTQUNFQyxjQURGLEVBRUVDLGdCQUZGLEVBR0VDLFdBSEYsUUFJTyxtQkFKUDtBQU1BLE9BQU9DLGdCQUFQLE1BQTZCLFdBQTdCO0FBQ0EsSUFBUUMsTUFBUixHQUE0RFgsSUFBNUQsQ0FBUVcsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixHQUE0RFosSUFBNUQsQ0FBZ0JZLFFBQWhCO0FBQUEs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QUFRVndHLFVBQUFBLFNBQVMsRUFBRSxtQkFBQ3hHLElBQUQsRUFBZTtBQUN4QixnQkFBSUEsSUFBSixhQUFJQSxJQUFKLGVBQUlBLElBQUksQ0FBRThCLE1BQVYsRUFBa0I7QUFDaEJqQixjQUFBQSxlQUFlLENBQUNiLElBQUksQ0FBQzhCLE1BQU4sRUFBY2tELGFBQWQsQ0FBZjtBQUNEO0FBQ0YsV0FaUztBQWFWbEIsVUFBQUEsY0FBYyxvQkFBT0EsY0FBUDtBQWJKLFVBQVo7QUFlRDs7QUFDRCwwQkFDRSx1REFDRSwwQ0FDTW1DLFlBRE4sRUFFTUQsUUFGTjtBQUdFLFFBQUEsWUFBWSxFQUFFLEtBQUszQixZQUFMLENBQWtCOEIsSUFBbEIsQ0FBdUIsSUFBdkIsQ0FIaEI7QUFJRSxRQUFBLFFBQVEsRUFBRSxLQUFLM0MsS0FBTCxDQUFXeEMsUUFKdkIsQ0FLRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFkRixTQURGLENBREY7QUFvQkQ7Ozs7RUEvWW9DakIsS0FBSyxDQUFDK0csYTs7Z0JBQXhCL0YsUyxhQUNGTCxnQjs7U0FERUssUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBVcGxvYWQsIFVwbG9hZFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi9tZXNzYWdlXCI7XHJcbmltcG9ydCB3aXRoWmhMb2NhbGUgZnJvbSBcIi4uL2NvbW1vbi93aXRoWmhMb2NhbGVcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIERlbGV0ZU91dGxpbmVkLFxyXG4gIERvd25sb2FkT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBQZGZWaWV3ZXIgZnJvbSBcIi4uL3BkZnZpd2VyXCI7XHJcbmltcG9ydCBOc2NVcGxvYWREcmFnZ2VyIGZyb20gXCIuL0RyYWdnZXJcIjtcclxuY29uc3QgeyB1cGxvYWQsIGRvd25sb2FkLCBwcmV2aWV3RG9jdW1lbnQsIHByZXZpZXdJbWFnZSB9ID0gZmlsZTtcclxuXHJcbmludGVyZmFjZSBJVXBsb2FkUHJvcHMgZXh0ZW5kcyBVcGxvYWRQcm9wcyB7XHJcbiAgc2xpY2VTaXplPzogbnVtYmVyO1xyXG4gIG1heFNpemU/OiBudW1iZXIgfCBib29sZWFuO1xyXG4gIG9uUHJvY2Vzcz86IChwcm9jZXNzKSA9PiB2b2lkO1xyXG4gIG9uQ29tcGxldGU/OiAoeyBmaWxlLCBmaWxlSWQsIHN0YXR1cyB9KSA9PiB2b2lkO1xyXG4gIGFsbG93RmlsZVN1ZmZpeD86IEFycmF5PFN0cmluZz47IC8v5YWB6K645LiK5Lyg5omp5bGV5ZCNLOS4jeW4pi5cclxuICB1c2VEZWZhdWx0TGlzdD86IGJvb2xlYW47IC8v5piv5ZCm5L2/55So6buY6K6k55qEZmlsZUxpc3RcclxuICBmaWxlQ2FyZD86IGJvb2xlYW47XHJcbiAgb25MaXN0Q2hhbmdlPzogYW55O1xyXG4gIGNoZWNrU2FtZUZpbGU/OiBib29sZWFuO1xyXG4gIHJlcXVlc3RDb25maWc/OiBhbnk7XHJcbiAgbmV3VmVyc2lvbj86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjVXBsb2FkIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJVXBsb2FkUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRpYyBEcmFnZ2VyID0gTnNjVXBsb2FkRHJhZ2dlcjtcclxuICBzdGF0ZSA9IHsgZmlsZUxpc3Q6IFtdLCB2aWV3SWQ6IFwiXCIsIGZpbGVMaXN0U3RvcmU6IFtdLCBmaWxlTmFtZXM6IFtdIH07XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5maWxlTGlzdCkge1xyXG4gICAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb252ZXJ0RmlsZUxpc3QobGlzdD86IEFycmF5PE9iamVjdD4pIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QsIGxpc3RUeXBlIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGNvbnN0IG5ld0ZpbGVMaXN0ID0gW107XHJcbiAgICBsZXQgb2xkTGlzdCA9IGxpc3QgPyBsaXN0IDogZmlsZUxpc3Q7XHJcbiAgICBvbGRMaXN0Lm1hcChhc3luYyAoaXRlbTogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHtcclxuICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgIHN0YXR1czogaXRlbS5zdGF0dXMsXHJcbiAgICAgICAgbmFtZTogaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUsXHJcbiAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgfSBhcyBhbnk7XHJcblxyXG4gICAgICBuZXdGaWxlTGlzdC5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdGaWxlTGlzdF0sXHJcbiAgICAgIGZpbGVMaXN0U3RvcmU6IFsuLi5maWxlTGlzdF0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZVByb3BzLCBwcmVTdGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZmlsZUxpc3QpICE9PVxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUuZmlsZUxpc3RTdG9yZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRGaWxlTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmZpbGVMaXN0O1xyXG4gIH1cclxuICBzZXRGaWxlTGlzdChmaWxlTGlzdDogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBiZWZvcmVVcGxvYWQoZmlsZSwgb2ZpbGVMaXN0KSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBtYXhTaXplID0gMTAwLFxyXG4gICAgICBhbGxvd0ZpbGVTdWZmaXgsXHJcbiAgICAgIGNoZWNrU2FtZUZpbGUgPSB0cnVlLFxyXG4gICAgICBtYXhDb3VudCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QsXHJcbiAgICAgIGZpbGVMaXN0OiBwcm9wc0xpc3QsXHJcbiAgICAgIG9uTGlzdENoYW5nZSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgZmlsZUxpc3QsIGZpbGVMaXN0U3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgc2l6ZTogbnVtYmVyO1xyXG4gICAgaWYgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGZpbGUpKSB7XHJcbiAgICAgIG1lc3NhZ2UuZXJyb3IoXHJcbiAgICAgICAgYCR7ZmlsZS5uYW1lfeaWh+S7tuexu+Wei+S4jeWFgeiuuOS4iuS8oO+8jOivt+S4iuS8oOWQjue8gOS4uiR7YWxsb3dGaWxlU3VmZml4feeahOexu+Wei+aWh+S7tu+8gWBcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKG1heFNpemUgIT09IGZhbHNlKSB7XHJcbiAgICAgIGlmIChtYXhTaXplID09PSB0cnVlKSB7XHJcbiAgICAgICAgbWF4U2l6ZSA9IDEwMDtcclxuICAgICAgfVxyXG4gICAgICBzaXplID0gbWF4U2l6ZSAqIDEwMjQgKiAxMDI0O1xyXG4gICAgICBpZiAoc2l6ZSA8IGZpbGUuc2l6ZSkge1xyXG4gICAgICAgIG1lc3NhZ2UuZXJyb3IoYCR7ZmlsZS5uYW1lfeaWh+S7tuWkp+Wwj+i2hei/hyR7bWF4U2l6ZX1N77yM6K+36YeN5paw5LiK5Lyg77yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgZmlsZU5hbWVzID0gW107XHJcbiAgICBpZiAoY2hlY2tTYW1lRmlsZSkge1xyXG4gICAgICBjb25zdCBjaGVja0xpc3QgPSB0aGlzLnByb3BzLmZpbGVMaXN0ID8gZmlsZUxpc3RTdG9yZSA6IGZpbGVMaXN0O1xyXG4gICAgICBjaGVja0xpc3QubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgZmlsZU5hbWVzLnB1c2goaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmIChmaWxlTmFtZXMuaW5kZXhPZihmaWxlLm5hbWUpID4gLTEgJiYgc2hvd1VwbG9hZExpc3QgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgbWVzc2FnZS5lcnJvcihg5paH5Lu2JHtmaWxlLm5hbWV95bey5Zyo5LiK5Lyg5YiX6KGo5Lit77yM6K+36YeN5paw6YCJ5oup5paH5Lu277yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKSB7XHJcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKGZpbGUsIG9maWxlTGlzdCk7XHJcbiAgICAgIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBuZXdMaXN0ID0gWy4uLmZpbGVMaXN0XTtcclxuICAgIG9maWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW0pID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICEoXHJcbiAgICAgICAgICAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoaXRlbSkpIHx8XHJcbiAgICAgICAgICBzaXplIDwgaXRlbS5zaXplIHx8XHJcbiAgICAgICAgICAoY2hlY2tTYW1lRmlsZSAmJiBmaWxlTmFtZXMuaW5kZXhPZihpdGVtLm5hbWUpID4gLTEpXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCB0ZW1wID0ge1xyXG4gICAgICAgICAgZmlsZU5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgIHBlcmNlbnQ6IDAsXHJcbiAgICAgICAgICBzdGF0dXM6IFwidXBsb2FkaW5nXCIsXHJcbiAgICAgICAgICB1aWQ6IGl0ZW0udWlkLFxyXG4gICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKHRlbXApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAobWF4Q291bnQgJiYgbmV3TGlzdC5sZW5ndGggPiBtYXhDb3VudCkge1xyXG4gICAgICBsZXQgbGVuZ3RoID0gbmV3TGlzdC5sZW5ndGggLSBtYXhDb3VudDtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIG5ld0xpc3Quc3BsaWNlKDAsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGZpbGVMaXN0OiBuZXdMaXN0IH0pO1xyXG4gIH1cclxuICBjaGVja0ZpbGVUeXBlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgYWxsb3dGaWxlU3VmZml4IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmFtZXMgPSBmaWxlLm5hbWUuc3BsaXQoXCIuXCIpO1xyXG4gICAgY29uc3Qgc3VmZml4ID0gbmFtZXNbbmFtZXMubGVuZ3RoIC0gMV07XHJcbiAgICBpZiAoYWxsb3dGaWxlU3VmZml4LmluZGV4T2Yoc3VmZml4KSA+IC0xKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBvblByb2Nlc3MoeyBwZXJjZW50LCBmaWxlIH06IGFueSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdGaWxlID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmIChmaWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgIG5ld0ZpbGUucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBvbkNvbXBsZXRlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IG5ld1ZlcnNpb24sIHJlcXVlc3RDb25maWcgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0xpc3Q6IGFueSA9IFtdO1xyXG4gICAgbGV0IHJlcXVlc3RJZDtcclxuICAgIGxldCBmaWxlSW5kZXg7XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgbmV3RmlsZSA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAoZmlsZS5maWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgIG5ld0ZpbGUuc3RhdHVzID0gZmlsZS5zdGF0dXMgPT0gXCJzdWNjZXNzXCIgPyBcImRvbmVcIiA6IGZpbGUuc3RhdHVzO1xyXG4gICAgICAgIG5ld0ZpbGUuZmlsZUlkID0gZmlsZS5maWxlSWQ7XHJcbiAgICAgICAgaWYgKG5ld1ZlcnNpb24pIHtcclxuICAgICAgICAgIHJlcXVlc3RJZCA9IGZpbGUuZmlsZUlkO1xyXG4gICAgICAgICAgZmlsZUluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxldCB1cmwgPSBgL2pxdWljay1yZXNvdXJjZS9vc3MvZW5kcG9pbnQvZG93bmxvYWQtZmlsZXM/YXR0YWNoSWQ9JHtcclxuICAgICAgICAgICAgZmlsZS5maWxlSWRcclxuICAgICAgICAgIH0mX3Rwaz0ke3dpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInRva2VuXCIpfWA7XHJcbiAgICAgICAgICBuZXdGaWxlLnVybCA9IHJlcXVlc3RDb25maWcucHJlZml4XHJcbiAgICAgICAgICAgID8gcmVxdWVzdENvbmZpZy5wcmVmaXggKyB1cmxcclxuICAgICAgICAgICAgOiBcIi9hcGlcIiArIHVybDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgfSk7XHJcbiAgICBpZiAocmVxdWVzdElkKSB7XHJcbiAgICAgIGNvbnN0IGZpbGVSZXM6IGFueSA9IGF3YWl0IHByZXZpZXdJbWFnZShyZXF1ZXN0SWQpO1xyXG4gICAgICBuZXdMaXN0W2ZpbGVJbmRleF0udXJsID0gZmlsZVJlcy5kYXRhO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIGN1c3RvbVJlcXVlc3QgPSBhc3luYyAob3B0aW9ucykgPT4ge1xyXG4gICAgY29uc3QgZmlsZSA9IG9wdGlvbnMuZmlsZTtcclxuICAgIGNvbnN0IHsgb25Db21wbGV0ZSwgb25Qcm9jZXNzLCBzbGljZVNpemUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBvblByb2dyZXNzID0gKHRvdGFsUHJvZ3Jlc3M6IGFueSkgPT4ge1xyXG4gICAgICBvcHRpb25zLm9uUHJvZ3Jlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzIH0sIGZpbGUpO1xyXG4gICAgICB0aGlzLm9uUHJvY2Vzcyh7IHBlcmNlbnQ6IHRvdGFsUHJvZ3Jlc3MsIGZpbGU6IGZpbGUgfSk7XHJcbiAgICAgIG9uUHJvY2VzcyAmJiBvblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgfTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlczogYW55ID0gYXdhaXQgdXBsb2FkKHtcclxuICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgIG9uUHJvZ3Jlc3M6IG9uUHJvZ3Jlc3MsXHJcbiAgICAgICAgcGFydFNpemU6IHNsaWNlU2l6ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBmaWxlSWQgPSBudWxsO1xyXG4gICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgZmlsZUlkID0gcmVzLmRhdGEuYXR0YWNoSWQ7XHJcbiAgICAgICAgb3B0aW9ucy5vblN1Y2Nlc3MoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQ29tcGxldGUoe1xyXG4gICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICBmaWxlSWQ6IGZpbGVJZCxcclxuICAgICAgICBzdGF0dXM6IHJlcy5jb2RlID09IDIwMCA/IFwic3VjY2Vzc1wiIDogXCJlcnJvclwiLFxyXG4gICAgICB9KTtcclxuICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgIG9uQ29tcGxldGUoe1xyXG4gICAgICAgICAgZmlsZTogb3B0aW9ucy5maWxlLFxyXG4gICAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgICBzdGF0dXM6IHJlcy5jb2RlID09IDIwMCA/IFwic3VjY2Vzc1wiIDogXCJlcnJvclwiLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICB0aGlzLm9uQ29tcGxldGUoe1xyXG4gICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICBmaWxlSWQ6IFwiXCIsXHJcbiAgICAgICAgc3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgb25Db21wbGV0ZSh7IGZpbGU6IG9wdGlvbnMuZmlsZSwgZmlsZUlkOiBcIlwiLCBzdGF0dXM6IFwiZXJyb3JcIiB9KTtcclxuICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuICBvbkRlbGV0ZShmaWxlKSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIC8v6YCa6L+H5paH5Lu25ZCN5Yik5pat77yM5LiK5Lyg5piv5paH5Lu25ZCN5piv5ZSv5LiA55qEXHJcbiAgICAgIGlmIChcclxuICAgICAgICBpdGVtLm5hbWUgIT09IGZpbGUubmFtZSB8fFxyXG4gICAgICAgIGl0ZW0uZmlsZUlkICE9PSBmaWxlLmZpbGVJZCB8fFxyXG4gICAgICAgIGl0ZW0udWlkICE9PSBmaWxlLnVpZFxyXG4gICAgICApIHtcclxuICAgICAgICBuZXdMaXN0LnB1c2goaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gIH1cclxuICByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcclxuICAgIGxldCB7XHJcbiAgICAgIGZpbGVMaXN0LFxyXG4gICAgICBmaWxlQ2FyZCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgc2hvd0Rvd25sb2FkSWNvbjogdHJ1ZSxcclxuICAgICAgICBzaG93UHJldmlld0ljb246IGZhbHNlLFxyXG4gICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgIGRvd25sb2FkSWNvbjogbnVsbCxcclxuICAgICAgICByZW1vdmVJY29uOiBudWxsLFxyXG4gICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICB9IGFzIGFueSxcclxuICAgICAgcmVxdWVzdENvbmZpZyA9IHt9LFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcInNsaWNlU2l6ZVwiLFxyXG4gICAgICBcIm1heFNpemVcIixcclxuICAgICAgXCJvbkNvbXBsZXRlXCIsXHJcbiAgICAgIFwib25Qcm9jZXNzXCIsXHJcbiAgICAgIFwiYWxsb3dGaWxlU3VmZml4XCIsXHJcbiAgICAgIFwidXNlRGVmYXVsdExpc3RcIixcclxuICAgICAgXCJmaWxlQ2FyZFwiLFxyXG4gICAgICBcIm9uTGlzdENoYW5nZVwiLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICBjdXN0b21SZXF1ZXN0OiB0aGlzLmN1c3RvbVJlcXVlc3QuYmluZCh0aGlzKSxcclxuICAgICAgbXVsdGlwbGU6IHRydWUsXHJcbiAgICB9IGFzIElVcGxvYWRQcm9wcztcclxuICAgIGlmIChmaWxlQ2FyZCkge1xyXG4gICAgICBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgIGl0ZW1SZW5kZXI6IChvcmlnaW5Ob2RlLCBmaWxlOiBhbnksIGN1cnJGaWxlTGlzdCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGZpbGUubmFtZSB8fCBmaWxlLmZpbGVOYW1lO1xyXG4gICAgICAgICAgY29uc3QgbmFtZXMgPSBuYW1lPy5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgICBjb25zdCBzdWZmaXggPSBuYW1lcyA/IG5hbWVzW25hbWVzLmxlbmd0aCAtIDFdIDogXCJcIjtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJmaWxlLWl0ZW1cIil9PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnRcIiksIHtcclxuICAgICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImNvbnRlbnRfZXJyb3JcIildOiBmaWxlLnN0YXR1cyA9PSBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibWFyay1waWN0dXJlXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHN1ZmZpeD17c3VmZml4fSBmaWxlSWQ9e2ZpbGUuZmlsZUlkfSAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibmFtZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIHtmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1ByZXZpZXdJY29uICYmIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uUHJldmlldykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25QcmV2aWV3KGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpZXdEb2N1bWVudChmaWxlLmZpbGVJZCwgcmVxdWVzdENvbmZpZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RXllT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5zaG93RG93bmxvYWRJY29uICYmIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uRG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uRG93bmxvYWQoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQoZmlsZS5maWxlSWQsIHRydWUsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPERvd25sb2FkT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5zaG93UmVtb3ZlSWNvbiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJlbW92ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25SZW1vdmUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxEZWxldGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIHtmaWxlLnN0YXR1cyA9PSBcInVwbG9hZGluZ1wiICYmIChcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwcm9jZXNzXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicGVyY2VudFwiKX1cclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogZmlsZS5wZXJjZW50ICsgXCIlXCIgfX1cclxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgIG9uRG93bmxvYWQ6IChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkLCB0cnVlLCByZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uUmVtb3ZlOiAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uUHJldmlldzogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGZpbGU/LmZpbGVJZCkge1xyXG4gICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2hvd1VwbG9hZExpc3Q6IHsgLi4uc2hvd1VwbG9hZExpc3QgfSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgPFVwbG9hZFxyXG4gICAgICAgICAgey4uLmRlZmF1bHRQcm9wc31cclxuICAgICAgICAgIHsuLi5uZXdwcm9wc31cclxuICAgICAgICAgIGJlZm9yZVVwbG9hZD17dGhpcy5iZWZvcmVVcGxvYWQuYmluZCh0aGlzKX1cclxuICAgICAgICAgIGZpbGVMaXN0PXt0aGlzLnN0YXRlLmZpbGVMaXN0fVxyXG4gICAgICAgICAgLy8gb25DaGFuZ2U9eyh7IGZpbGUsIGZpbGVMaXN0LCBldmVudCB9KSA9PiB7XHJcbiAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKFwib25DaGFuZ2VmaWxlXCIsIGZpbGUpO1xyXG4gICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhcIm9uQ2hhbmdlZmlsZUxpc3RcIiwgZmlsZUxpc3QpO1xyXG4gICAgICAgICAgLy8gICBjb25zdCB7IG9uQ2hhbmdlLCBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICAvLyAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgLy8gICAgIGZpbGVMaXN0OiBmaWxlTGlzdCxcclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UoZmlsZUxpc3QpO1xyXG4gICAgICAgICAgLy8gICBvbkNoYW5nZSAmJiBvbkNoYW5nZSh7IGZpbGUsIGZpbGVMaXN0LCBldmVudCB9KTtcclxuICAgICAgICAgIC8vIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -106,37 +106,42 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
106
106
|
}, {
|
|
107
107
|
key: "onSearch",
|
|
108
108
|
value: function onSearch() {
|
|
109
|
+
var _this$searchRef$curre3,
|
|
110
|
+
_this2 = this;
|
|
111
|
+
|
|
109
112
|
var onSearch = this.props.onSearch;
|
|
110
|
-
|
|
113
|
+
(_this$searchRef$curre3 = this.searchRef.current) === null || _this$searchRef$curre3 === void 0 ? void 0 : _this$searchRef$curre3.validateFields().then(function () {
|
|
114
|
+
var fromValue = _this2.formatValue();
|
|
111
115
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
+
if (onSearch) {
|
|
117
|
+
onSearch(fromValue);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
116
121
|
}
|
|
117
122
|
}, {
|
|
118
123
|
key: "resetFields",
|
|
119
124
|
value: function resetFields() {
|
|
120
|
-
var _this$searchRef$
|
|
125
|
+
var _this$searchRef$curre4;
|
|
121
126
|
|
|
122
|
-
(_this$searchRef$
|
|
127
|
+
(_this$searchRef$curre4 = this.searchRef.current) === null || _this$searchRef$curre4 === void 0 ? void 0 : _this$searchRef$curre4.resetFields();
|
|
123
128
|
}
|
|
124
129
|
}, {
|
|
125
130
|
key: "resetSearch",
|
|
126
131
|
value: function resetSearch() {
|
|
127
|
-
var _this$searchRef$
|
|
132
|
+
var _this$searchRef$curre5;
|
|
128
133
|
|
|
129
134
|
if (this.props.onReset) {
|
|
130
135
|
this.props.onReset();
|
|
131
136
|
return;
|
|
132
137
|
}
|
|
133
138
|
|
|
134
|
-
(_this$searchRef$
|
|
139
|
+
(_this$searchRef$curre5 = this.searchRef.current) === null || _this$searchRef$curre5 === void 0 ? void 0 : _this$searchRef$curre5.resetFields();
|
|
135
140
|
}
|
|
136
141
|
}, {
|
|
137
142
|
key: "render",
|
|
138
143
|
value: function render() {
|
|
139
|
-
var
|
|
144
|
+
var _this3 = this;
|
|
140
145
|
|
|
141
146
|
var _this$props = this.props,
|
|
142
147
|
_this$props$searchFor = _this$props.searchForms,
|
|
@@ -183,10 +188,10 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
183
188
|
var display = "block";
|
|
184
189
|
|
|
185
190
|
if (itemProps.valueFormat) {
|
|
186
|
-
|
|
191
|
+
_this3.dateFormat[item.name] = itemProps.valueFormat;
|
|
187
192
|
}
|
|
188
193
|
|
|
189
|
-
if (index > headerCount && !
|
|
194
|
+
if (index > headerCount && !_this3.state.expand) {
|
|
190
195
|
display = "none"; //return
|
|
191
196
|
}
|
|
192
197
|
|
|
@@ -288,9 +293,9 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
288
293
|
}, "\u91CD\u7F6E")), searchForms.length > 3 && /*#__PURE__*/React.createElement("div", {
|
|
289
294
|
className: getLess(styles, "expand_style"),
|
|
290
295
|
onClick: function onClick() {
|
|
291
|
-
var expand =
|
|
296
|
+
var expand = _this3.state.expand;
|
|
292
297
|
|
|
293
|
-
|
|
298
|
+
_this3.setState({
|
|
294
299
|
expand: !expand
|
|
295
300
|
});
|
|
296
301
|
}
|
|
@@ -302,4 +307,4 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
302
307
|
}(PureComponent);
|
|
303
308
|
|
|
304
309
|
export default HeaderSearch;
|
|
305
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvSGVhZGVyU2VhcmNoL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJGb3JtIiwiQnV0dG9uIiwiY2xzIiwic3R5bGVzIiwiQ29sIiwiUm93IiwibW9tZW50IiwiaXNFbXB0eU9iaiIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJSZWxvYWRPdXRsaW5lZCIsIlNlYXJjaE91dGxpbmVkIiwiZ2V0TGVzcyIsImdldE5vZGUiLCJIZWFkZXJTZWFyY2giLCJjcmVhdGVSZWYiLCJleHBhbmQiLCJwYXJhbXMiLCJjYWxsQmFjayIsInNlYXJjaFJlZiIsImN1cnJlbnQiLCJzZXRGaWVsZHNWYWx1ZSIsImZyb21WYWx1ZSIsImZvcm1hdFZhbHVlIiwiZ2V0RmllbGRzVmFsdWUiLCJkYXRlRm9ybWF0Iiwia2V5Iiwib2xkZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvcm1hdCIsIm9uU2VhcmNoIiwicHJvcHMiLCJyZXNldEZpZWxkcyIsIm9uUmVzZXQiLCJzZWFyY2hGb3JtcyIsInRvb2xCdXR0b25Qb3NpdGlvbiIsInNlYXJjaEZvcm1Qcm9wcyIsImNvbFNwYW4iLCJoZWFkZXJDb3VudCIsImhlYWRlclJvdXQiLCJjbGFzc05hbWUiLCJ3aWR0aCIsImRpc3BsYXkiLCJmbGV4V3JhcCIsImJpbmQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJpdGVtUHJvcHMiLCJ2YWx1ZUZvcm1hdCIsIm5hbWUiLCJzdGF0ZSIsImFsbG93Q2hhcnMiLCJzZWFyY2hEaXNhYmxlZCIsInR5cGUiLCJkZWZhdWx0SXRlbSIsImxhYmVsIiwibGFiZWxDb2wiLCJ3cmFwcGVyQ29sIiwicGxhY2Vob2xkZXIiLCJzcGFuIiwicGFkZGluZ1JpZ2h0Iiwic3R5bGUiLCJkaXNhYmxlZCIsIm1hcmdpblRvcCIsImJ1dHRvblJldmVycyIsIm1hcmdpbkxlZnQiLCJyZXNldFNlYXJjaCIsInNl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QUUsQ0FBQ0E7QUFERyxXQUFkO0FBR0Q7QUFQSCxTQVNHLEtBQUtxQyxLQUFMLENBQVdyQyxNQUFYLEdBQW9CLElBQXBCLEdBQTJCLElBVDlCLEVBVUcsS0FBS3FDLEtBQUwsQ0FBV3JDLE1BQVgsZ0JBQW9CLG9CQUFDLFVBQUQsT0FBcEIsZ0JBQXFDLG9CQUFDLFlBQUQsT0FWeEMsQ0FqQ0osQ0FaRixDQXBFRixDQURGLENBUEYsQ0FERixDQURGO0FBK0lEOzs7O0VBbE53QmpCLGE7O0FBb04zQixlQUFlZSxZQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQsIFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBDb2wgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Db2xcIjtcclxuaW1wb3J0IFJvdyBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL1Jvd1wiO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcclxuaW1wb3J0IHsgaXNFbXB0eU9iaiB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQge1xyXG4gIERvd25PdXRsaW5lZCxcclxuICBVcE91dGxpbmVkLFxyXG4gIFJlbG9hZE91dGxpbmVkLFxyXG4gIFNlYXJjaE91dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzLCBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcblxyXG5pbnRlcmZhY2UgU2VhcmNoSXRlbVByb3BzIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBsYWJlbENvbD86IGFueTtcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIHdyYXBwZXJDb2w/OiBhbnk7XHJcbiAgcHJvcHM/OiBhbnk7XHJcbn1cclxuaW50ZXJmYWNlIFNlYXJjaFByb3BzIHtcclxuICBzZWFyY2hGb3JtczogQXJyYXk8U2VhcmNoSXRlbVByb3BzPjsgLy/mmK/lkKbmmL7npLrmk43kvZzliJdcclxuICB0b29sQnV0dG9uUG9zaXRpb24/OiBzdHJpbmc7XHJcbiAgb25TZWFyY2g/OiBhbnk7XHJcbiAgb25SZXNldD86IGFueTtcclxuICBzZWFyY2hGb3JtUHJvcHM/OiBvYmplY3Q7XHJcbiAgYnV0dG9uUmV2ZXJzPzogYm9vbGVhbjtcclxuICBjbGFzc05hbWU/OiBhbnk7XHJcbn1cclxuXHJcbmNsYXNzIEhlYWRlclNlYXJjaCBleHRlbmRzIFB1cmVDb21wb25lbnQ8U2VhcmNoUHJvcHMsIGFueT4ge1xyXG4gIHNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZGF0ZUZvcm1hdCA9IHt9IGFzIGFueTtcclxuICBzdGF0ZSA9IHsgZXhwYW5kOiBmYWxzZSB9O1xyXG4gIHNldFNlYXJjaFBhcmFtcyhwYXJhbXMsIGNhbGxCYWNrKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZShwYXJhbXMpO1xyXG4gIH1cclxuICBnZXRTZWFyY2hWYWx1ZXMoKSB7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLmZvcm1hdFZhbHVlKCk7XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICBmb3JtYXRWYWx1ZSgpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBpZiAoIWlzRW1wdHlPYmoodGhpcy5kYXRlRm9ybWF0KSkge1xyXG4gICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5kYXRlRm9ybWF0KSB7XHJcbiAgICAgICAgbGV0IG9sZGRhdGEgPSBmcm9tVmFsdWVba2V5XTtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvbGRkYXRhKSkge1xyXG4gICAgICAgICAgaWYgKG9sZGRhdGEubGVuZ3RoID4gMCAmJiBvbGRkYXRhWzBdICYmIG9sZGRhdGFbMV0pIHtcclxuICAgICAgICAgICAgZnJvbVZhbHVlW2tleV0gPSBbXHJcbiAgICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMF0pLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMV0pLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICAgIF07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChvbGRkYXRhKSB7XHJcbiAgICAgICAgICBmcm9tVmFsdWVba2V5XSA9IG1vbWVudChvbGRkYXRhKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0W2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZyb21WYWx1ZTtcclxuICB9XHJcbiAgb25TZWFyY2goKSB7XHJcbiAgICBjb25zdCB7IG9uU2VhcmNoIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZSgpO1xyXG4gICAgaWYgKG9uU2VhcmNoKSB7XHJcbiAgICAgIG9uU2VhcmNoKGZyb21WYWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcbiAgcmVzZXRGaWVsZHMoKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuICByZXNldFNlYXJjaCgpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLm9uUmVzZXQpIHtcclxuICAgICAgdGhpcy5wcm9wcy5vblJlc2V0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc2VhcmNoRm9ybXMgPSBbXSxcclxuICAgICAgdG9vbEJ1dHRvblBvc2l0aW9uLFxyXG4gICAgICBvblNlYXJjaCxcclxuICAgICAgb25SZXNldCxcclxuICAgICAgc2VhcmNoRm9ybVByb3BzID0ge30sXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBsZXQgY29sU3BhbiA9IDA7XHJcbiAgICBjb25zdCBoZWFkZXJDb3VudCA9IHRvb2xCdXR0b25Qb3NpdGlvbiA9PSBcInJpZ2h0XCIgPyAxIDogMjtcclxuICAgIGNvbnN0IGhlYWRlclJvdXQgPSBzZWFyY2hGb3Jtcy5sZW5ndGggJSA0O1xyXG4gICAgaWYgKGhlYWRlclJvdXQgPT0gMCkge1xyXG4gICAgICBjb2xTcGFuID0gMTg7XHJcbiAgICB9IGVsc2UgaWYgKGhlYWRlclJvdXQgPT0gMSkge1xyXG4gICAgICBjb2xTcGFuID0gMTI7XHJcbiAgICB9IGVsc2UgaWYgKGhlYWRlclJvdXQgPT0gMikge1xyXG4gICAgICBjb2xTcGFuID0gNjtcclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxSb3cgZ3V0dGVyPXsyNH0gd3JhcD5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzc05hbWU9e2NscyhcclxuICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiaGVhZGVyXCIpLFxyXG4gICAgICAgICAgICB7IFtnZXRMZXNzKHN0eWxlcywgXCJoZWFkZXItcGFkZGluZ1wiKV06IHNlYXJjaEZvcm1zLmxlbmd0aCA+IDMgfSxcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jbGFzc05hbWVcclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJmb3JtXCIpKX0+XHJcbiAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICBsYWJlbENvbD17e319XHJcbiAgICAgICAgICAgICAgd3JhcHBlckNvbD17e319XHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiLCBkaXNwbGF5OiBcImZsZXhcIiwgZmxleFdyYXA6IFwid3JhcFwiIH19XHJcbiAgICAgICAgICAgICAgb25GaW5pc2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAvLyBsYWJlbEFsaWduPXsnbGVmdCd9XHJcbiAgICAgICAgICAgICAgey4uLnNlYXJjaEZvcm1Qcm9wc31cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbVByb3BzID0gaXRlbS5wcm9wcyB8fCB7fTtcclxuICAgICAgICAgICAgICAgIGxldCBkaXNwbGF5ID0gXCJibG9ja1wiO1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1Qcm9wcy52YWx1ZUZvcm1hdCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmRhdGVGb3JtYXRbaXRlbS5uYW1lXSA9IGl0ZW1Qcm9wcy52YWx1ZUZvcm1hdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IGhlYWRlckNvdW50ICYmICF0aGlzLnN0YXRlLmV4cGFuZCkge1xyXG4gICAgICAgICAgICAgICAgICBkaXNwbGF5ID0gXCJub25lXCI7XHJcbiAgICAgICAgICAgICAgICAgIC8vcmV0dXJuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgYWxsb3dDaGFycyA9IGl0ZW0/LnByb3BzPy5hbGxvd0NoYXJzIHx8IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IHByb3BzID0geyAuLi5pdGVtUHJvcHMgfTtcclxuICAgICAgICAgICAgICAgIGxldCBzZWFyY2hEaXNhYmxlZCA9XHJcbiAgICAgICAgICAgICAgICAgIHByb3BzLnNlYXJjaERpc2FibGVkID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlIHByb3BzLnNlYXJjaERpc2FibGVkO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFpdGVtLnR5cGUgfHwgaXRlbS50eXBlID09IFwiSW5wdXRcIikge1xyXG4gICAgICAgICAgICAgICAgICBwcm9wcy5hbGxvd0NoYXJzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBwcm9wcy5hbGxvd0NoYXJzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IGRlZmF1bHRJdGVtID0ge1xyXG4gICAgICAgICAgICAgICAgICBsYWJlbDogaXRlbS5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICBhbGxvd0NoYXJzOiBhbGxvd0NoYXJzLFxyXG4gICAgICAgICAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5sYWJlbENvbCkge1xyXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0SXRlbSA9IHsgLi4uZGVmYXVsdEl0ZW0sIGxhYmVsQ29sOiBpdGVtLmxhYmVsQ29sIH07XHJcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmxhYmVsQ29sO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0ud3JhcHBlckNvbCkge1xyXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0SXRlbSA9IHsgLi4uZGVmYXVsdEl0ZW0sIHdyYXBwZXJDb2w6IGl0ZW0ud3JhcHBlckNvbCB9O1xyXG4gICAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS53cmFwcGVyQ29sO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IHBsYWNlaG9sZGVyOiBhbnkgPVxyXG4gICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPT0gXCJTZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgID8gYOivt+mAieaLqSR7aXRlbS5sYWJlbH1gXHJcbiAgICAgICAgICAgICAgICAgICAgOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS50eXBlID09IFwiUmFuZ2VQaWNrZXJcIikge1xyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlciA9IFtcIuW8gOWni+aXtumXtFwiLCBcIue7k+adn+aXtumXtFwiXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgIDxDb2xcclxuICAgICAgICAgICAgICAgICAgICBtZD17eyBzcGFuOiAxMiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIHNtPXt7IHNwYW46IDI0IH19XHJcbiAgICAgICAgICAgICAgICAgICAgbGc9e3sgc3BhbjogNiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgcGFkZGluZ1JpZ2h0OiAwLCBkaXNwbGF5OiBkaXNwbGF5IH19XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtIHsuLi5kZWZhdWx0SXRlbX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBzZWFyY2hEaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPENvbFxyXG4gICAgICAgICAgICAgICAgbWQ9e3sgc3BhbjogMTIgfX1cclxuICAgICAgICAgICAgICAgIHNtPXt7IHNwYW46IDI0IH19XHJcbiAgICAgICAgICAgICAgICBsZz17eyBzcGFuOiB0b29sQnV0dG9uUG9zaXRpb24gPT0gXCJyaWdodFwiID8gMTIgOiA2IH19XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nUmlnaHQ6IDAgfX1cclxuICAgICAgICAgICAgICAgIG9mZnNldD17XHJcbiAgICAgICAgICAgICAgICAgICh0aGlzLnN0YXRlLmV4cGFuZCB8fCBzZWFyY2hGb3Jtcy5sZW5ndGggPCA0KSAmJlxyXG4gICAgICAgICAgICAgICAgICBzZWFyY2hGb3Jtcy5sZW5ndGggPiAxXHJcbiAgICAgICAgICAgICAgICAgICAgPyBjb2xTcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgOiAwXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9uc1wiKSwge1xyXG4gICAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9ucy1mbGV4XCIpXTpcclxuICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEZvcm1zLmxlbmd0aCA+IDEsXHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IDAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKHtcclxuICAgICAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJidXR0b24tcmV2ZXJzZVwiKV06XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuYnV0dG9uUmV2ZXJzID09IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgICAgIGljb249ezxTZWFyY2hPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIGh0bWxUeXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICDmn6Xor6JcclxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnJlc2V0U2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249ezxSZWxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAg6YeN572uXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDMgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZXhwYW5kX3N0eWxlXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kOiAhZXhwYW5kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgPyA8VXBPdXRsaW5lZCAvPiA6IDxEb3duT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvUm93PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgSGVhZGVyU2VhcmNoO1xyXG4iXX0=
|
|
310
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvSGVhZGVyU2VhcmNoL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJGb3JtIiwiQnV0dG9uIiwiY2xzIiwic3R5bGVzIiwiQ29sIiwiUm93IiwibW9tZW50IiwiaXNFbXB0eU9iaiIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJSZWxvYWRPdXRsaW5lZCIsIlNlYXJjaE91dGxpbmVkIiwiZ2V0TGVzcyIsImdldE5vZGUiLCJIZWFkZXJTZWFyY2giLCJjcmVhdGVSZWYiLCJleHBhbmQiLCJwYXJhbXMiLCJjYWxsQmFjayIsInNlYXJjaFJlZiIsImN1cnJlbnQiLCJzZXRGaWVsZHNWYWx1ZSIsImZyb21WYWx1ZSIsImZvcm1hdFZhbHVlIiwiZ2V0RmllbGRzVmFsdWUiLCJkYXRlRm9ybWF0Iiwia2V5Iiwib2xkZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvcm1hdCIsIm9uU2VhcmNoIiwicHJvcHMiLCJ2YWxpZGF0ZUZpZWxkcyIsInRoZW4iLCJyZXNldEZpZWxkcyIsIm9uUmVzZXQiLCJzZWFyY2hGb3JtcyIsInRvb2xCdXR0b25Qb3NpdGlvbiIsInNlYXJjaEZvcm1Qcm9wcyIsImNvbFNwYW4iLCJoZWFkZXJDb3VudCIsImhlYWRlclJvdXQiLCJjbGFzc05hbWUiLCJ3aWR0aCIsImRpc3BsYXkiLCJmbGV4V3JhcCIsImJpbmQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJpdGVtUHJvcHMiLCJ2YWx1ZUZvcm1hdCIsIm5hbWUiLCJzdGF0ZSIsImFsbG93Q2hhcnMiLCJzZWFyY2hEaXNhYmxlZCIsInR5cGUiLCJkZWZhdWx0SXRlbSIsImxhYmVsIiwibGFiZWxDb2wiLCJ3cmFwcGVyQ29sIiwicGxhY2Vob2xkZXIiLCJzcGFuIiwicGFkZGluZ1JpZ2h0Iiwic3R5bGUiLCJkaXNhYmxlZCIsIm1hcmdpblRvcCIsImJ1dHRvblJldmVycyIsIm1hcmdp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LE9BQU8sRUFBRSxtQkFBTTtBQUNiLGNBQVFhLE1BQVIsR0FBbUIsTUFBSSxDQUFDdUMsS0FBeEIsQ0FBUXZDLE1BQVI7O0FBQ0EsVUFBQSxNQUFJLENBQUN3RCxRQUFMLENBQWM7QUFDWnhELFlBQUFBLE1BQU0sRUFBRSxDQUFDQTtBQURHLFdBQWQ7QUFHRDtBQVBILFNBU0csS0FBS3VDLEtBQUwsQ0FBV3ZDLE1BQVgsR0FBb0IsSUFBcEIsR0FBMkIsSUFUOUIsRUFVRyxLQUFLdUMsS0FBTCxDQUFXdkMsTUFBWCxnQkFBb0Isb0JBQUMsVUFBRCxPQUFwQixnQkFBcUMsb0JBQUMsWUFBRCxPQVZ4QyxDQWpDSixDQVpGLENBcEVGLENBREYsQ0FQRixDQURGLENBREY7QUErSUQ7Ozs7RUFyTndCakIsYTs7QUF1TjNCLGVBQWVlLFlBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IENvbCBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL0NvbFwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvUm93XCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIFVwT3V0bGluZWQsXHJcbiAgUmVsb2FkT3V0bGluZWQsXHJcbiAgU2VhcmNoT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuXHJcbmludGVyZmFjZSBTZWFyY2hJdGVtUHJvcHMge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGxhYmVsQ29sPzogYW55O1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgd3JhcHBlckNvbD86IGFueTtcclxuICBwcm9wcz86IGFueTtcclxufVxyXG5pbnRlcmZhY2UgU2VhcmNoUHJvcHMge1xyXG4gIHNlYXJjaEZvcm1zOiBBcnJheTxTZWFyY2hJdGVtUHJvcHM+OyAvL+aYr+WQpuaYvuekuuaTjeS9nOWIl1xyXG4gIHRvb2xCdXR0b25Qb3NpdGlvbj86IHN0cmluZztcclxuICBvblNlYXJjaD86IGFueTtcclxuICBvblJlc2V0PzogYW55O1xyXG4gIHNlYXJjaEZvcm1Qcm9wcz86IG9iamVjdDtcclxuICBidXR0b25SZXZlcnM/OiBib29sZWFuO1xyXG4gIGNsYXNzTmFtZT86IGFueTtcclxufVxyXG5cclxuY2xhc3MgSGVhZGVyU2VhcmNoIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxTZWFyY2hQcm9wcywgYW55PiB7XHJcbiAgc2VhcmNoUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBkYXRlRm9ybWF0ID0ge30gYXMgYW55O1xyXG4gIHN0YXRlID0geyBleHBhbmQ6IGZhbHNlIH07XHJcbiAgc2V0U2VhcmNoUGFyYW1zKHBhcmFtcywgY2FsbEJhY2spIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHBhcmFtcyk7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuZm9ybWF0VmFsdWUoKTtcclxuICAgIHJldHVybiBmcm9tVmFsdWU7XHJcbiAgfVxyXG4gIGZvcm1hdFZhbHVlKCkge1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGlmICghaXNFbXB0eU9iaih0aGlzLmRhdGVGb3JtYXQpKSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmRhdGVGb3JtYXQpIHtcclxuICAgICAgICBsZXQgb2xkZGF0YSA9IGZyb21WYWx1ZVtrZXldO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9sZGRhdGEpKSB7XHJcbiAgICAgICAgICBpZiAob2xkZGF0YS5sZW5ndGggPiAwICYmIG9sZGRhdGFbMF0gJiYgb2xkZGF0YVsxXSkge1xyXG4gICAgICAgICAgICBmcm9tVmFsdWVba2V5XSA9IFtcclxuICAgICAgICAgICAgICBtb21lbnQob2xkZGF0YVswXSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICBtb21lbnQob2xkZGF0YVsxXSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKG9sZGRhdGEpIHtcclxuICAgICAgICAgIGZyb21WYWx1ZVtrZXldID0gbW9tZW50KG9sZGRhdGEpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXRba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICBvblNlYXJjaCgpIHtcclxuICAgIGNvbnN0IHsgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py52YWxpZGF0ZUZpZWxkcygpLnRoZW4oKCk9PntcclxuICAgICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZSgpO1xyXG4gICAgICBpZiAob25TZWFyY2gpIHtcclxuICAgICAgICBvblNlYXJjaChmcm9tVmFsdWUpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgIFxyXG4gIH1cclxuICByZXNldEZpZWxkcygpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIHJlc2V0U2VhcmNoKCkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMub25SZXNldCkge1xyXG4gICAgICB0aGlzLnByb3BzLm9uUmVzZXQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzZWFyY2hGb3JtcyA9IFtdLFxyXG4gICAgICB0b29sQnV0dG9uUG9zaXRpb24sXHJcbiAgICAgIG9uU2VhcmNoLFxyXG4gICAgICBvblJlc2V0LFxyXG4gICAgICBzZWFyY2hGb3JtUHJvcHMgPSB7fSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGxldCBjb2xTcGFuID0gMDtcclxuICAgIGNvbnN0IGhlYWRlckNvdW50ID0gdG9vbEJ1dHRvblBvc2l0aW9uID09IFwicmlnaHRcIiA/IDEgOiAyO1xyXG4gICAgY29uc3QgaGVhZGVyUm91dCA9IHNlYXJjaEZvcm1zLmxlbmd0aCAlIDQ7XHJcbiAgICBpZiAoaGVhZGVyUm91dCA9PSAwKSB7XHJcbiAgICAgIGNvbFNwYW4gPSAxODtcclxuICAgIH0gZWxzZSBpZiAoaGVhZGVyUm91dCA9PSAxKSB7XHJcbiAgICAgIGNvbFNwYW4gPSAxMjtcclxuICAgIH0gZWxzZSBpZiAoaGVhZGVyUm91dCA9PSAyKSB7XHJcbiAgICAgIGNvbFNwYW4gPSA2O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFJvdyBndXR0ZXI9ezI0fSB3cmFwPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKFxyXG4gICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJoZWFkZXJcIiksXHJcbiAgICAgICAgICAgIHsgW2dldExlc3Moc3R5bGVzLCBcImhlYWRlci1wYWRkaW5nXCIpXTogc2VhcmNoRm9ybXMubGVuZ3RoID4gMyB9LFxyXG4gICAgICAgICAgICB0aGlzLnByb3BzLmNsYXNzTmFtZVxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImZvcm1cIikpfT5cclxuICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICByZWY9e3RoaXMuc2VhcmNoUmVmfVxyXG4gICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICB3cmFwcGVyQ29sPXt7fX1cclxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4V3JhcDogXCJ3cmFwXCIgfX1cclxuICAgICAgICAgICAgICBvbkZpbmlzaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIC8vIGxhYmVsQWxpZ249eydsZWZ0J31cclxuICAgICAgICAgICAgICB7Li4uc2VhcmNoRm9ybVByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtUHJvcHMgPSBpdGVtLnByb3BzIHx8IHt9O1xyXG4gICAgICAgICAgICAgICAgbGV0IGRpc3BsYXkgPSBcImJsb2NrXCI7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLnZhbHVlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdFtpdGVtLm5hbWVdID0gaXRlbVByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gaGVhZGVyQ291bnQgJiYgIXRoaXMuc3RhdGUuZXhwYW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXkgPSBcIm5vbmVcIjtcclxuICAgICAgICAgICAgICAgICAgLy9yZXR1cm5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBhbGxvd0NoYXJzID0gaXRlbT8ucHJvcHM/LmFsbG93Q2hhcnMgfHwgZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB7IC4uLml0ZW1Qcm9wcyB9O1xyXG4gICAgICAgICAgICAgICAgbGV0IHNlYXJjaERpc2FibGVkID1cclxuICAgICAgICAgICAgICAgICAgcHJvcHMuc2VhcmNoRGlzYWJsZWQgPT09IHRydWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkZWxldGUgcHJvcHMuc2VhcmNoRGlzYWJsZWQ7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWl0ZW0udHlwZSB8fCBpdGVtLnR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgIHByb3BzLmFsbG93Q2hhcnMgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgZGVsZXRlIHByb3BzLmFsbG93Q2hhcnM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgZGVmYXVsdEl0ZW0gPSB7XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBpdGVtLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIGFsbG93Q2hhcnM6IGFsbG93Q2hhcnMsXHJcbiAgICAgICAgICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmxhYmVsQ29sKSB7XHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRJdGVtID0geyAuLi5kZWZhdWx0SXRlbSwgbGFiZWxDb2w6IGl0ZW0ubGFiZWxDb2wgfTtcclxuICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0ubGFiZWxDb2w7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS53cmFwcGVyQ29sKSB7XHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRJdGVtID0geyAuLi5kZWZhdWx0SXRlbSwgd3JhcHBlckNvbDogaXRlbS53cmFwcGVyQ29sIH07XHJcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLndyYXBwZXJDb2w7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgcGxhY2Vob2xkZXI6IGFueSA9XHJcbiAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9PSBcIlNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPyBg6K+36YCJ5oupJHtpdGVtLmxhYmVsfWBcclxuICAgICAgICAgICAgICAgICAgICA6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YDtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtLnR5cGUgPT0gXCJSYW5nZVBpY2tlclwiKSB7XHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gW1wi5byA5aeL5pe26Ze0XCIsIFwi57uT5p2f5pe26Ze0XCJdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgPENvbFxyXG4gICAgICAgICAgICAgICAgICAgIG1kPXt7IHNwYW46IDEyIH19XHJcbiAgICAgICAgICAgICAgICAgICAgc209e3sgc3BhbjogMjQgfX1cclxuICAgICAgICAgICAgICAgICAgICBsZz17eyBzcGFuOiA2IH19XHJcbiAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nUmlnaHQ6IDAsIGRpc3BsYXk6IGRpc3BsYXkgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW0gey4uLmRlZmF1bHRJdGVtfT5cclxuICAgICAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHNlYXJjaERpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICA8Q29sXHJcbiAgICAgICAgICAgICAgICBtZD17eyBzcGFuOiAxMiB9fVxyXG4gICAgICAgICAgICAgICAgc209e3sgc3BhbjogMjQgfX1cclxuICAgICAgICAgICAgICAgIGxnPXt7IHNwYW46IHRvb2xCdXR0b25Qb3NpdGlvbiA9PSBcInJpZ2h0XCIgPyAxMiA6IDYgfX1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHBhZGRpbmdSaWdodDogMCB9fVxyXG4gICAgICAgICAgICAgICAgb2Zmc2V0PXtcclxuICAgICAgICAgICAgICAgICAgKHRoaXMuc3RhdGUuZXhwYW5kIHx8IHNlYXJjaEZvcm1zLmxlbmd0aCA8IDQpICYmXHJcbiAgICAgICAgICAgICAgICAgIHNlYXJjaEZvcm1zLmxlbmd0aCA+IDFcclxuICAgICAgICAgICAgICAgICAgICA/IGNvbFNwYW5cclxuICAgICAgICAgICAgICAgICAgICA6IDBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInNlYXJjaC1idXR0b25zXCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcInNlYXJjaC1idXR0b25zLWZsZXhcIildOlxyXG4gICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRm9ybXMubGVuZ3RoID4gMSxcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImJ1dHRvbi1yZXZlcnNlXCIpXTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5idXR0b25SZXZlcnMgPT0gdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gb25DbGljaz17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PFNlYXJjaE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgaHRtbFR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIOafpeivolxyXG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5sZW5ndGggPiAxICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMucmVzZXRTZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PFJlbG9hZE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDph43nva5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmRfc3R5bGVcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZXhwYW5kIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQ6ICFleHBhbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgPyBcIuaUtui1t1wiIDogXCLlsZXlvIBcIn1cclxuICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IDxVcE91dGxpbmVkIC8+IDogPERvd25PdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9Sb3c+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBIZWFkZXJTZWFyY2g7XHJcbiJdfQ==
|