nsc-react-component 2.1.13 → 2.1.16
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/form/Form.js +9 -9
- package/lib/base/input/Search.js +2 -2
- package/lib/base/layout/index.d.ts +1 -1
- package/lib/base/menu/index.d.ts +0 -1
- package/lib/base/menu/index.js +3 -4
- package/lib/base/message/index.d.ts +6 -6
- package/lib/base/tree/index.d.ts +1 -1
- package/lib/page/BasePage/index.js +16 -4
- package/package.json +5 -5
package/lib/base/form/Form.js
CHANGED
|
@@ -340,7 +340,7 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
340
340
|
ref: this.formRef
|
|
341
341
|
}, layout, props, {
|
|
342
342
|
preserve: false
|
|
343
|
-
})
|
|
343
|
+
})));
|
|
344
344
|
} else if (showModel && showModel == "drawer") {
|
|
345
345
|
var newDrawerProps = omit(drawerProps, ["visible"]);
|
|
346
346
|
return /*#__PURE__*/React.createElement(_Drawer, _extends({
|
|
@@ -348,11 +348,11 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
348
348
|
visible: formVisible
|
|
349
349
|
}, newDrawerProps), /*#__PURE__*/React.createElement(_Form, _extends({
|
|
350
350
|
ref: this.formRef
|
|
351
|
-
}, layout, props)
|
|
351
|
+
}, layout, props)));
|
|
352
352
|
} else {
|
|
353
353
|
return /*#__PURE__*/React.createElement(_Form, _extends({
|
|
354
354
|
ref: this.formRef
|
|
355
|
-
}, layout, props)
|
|
355
|
+
}, layout, props));
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
358
|
}, {
|
|
@@ -361,13 +361,13 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
361
361
|
var _this = this,
|
|
362
362
|
_this$props3 = this.props,
|
|
363
363
|
children = _this$props3.children,
|
|
364
|
-
showModel = _this$props3.showModel;
|
|
364
|
+
showModel = _this$props3.showModel; // const newChildren = React.Children.map(children, function (child, index) {
|
|
365
|
+
// return _this.cloneElement(child, index);
|
|
366
|
+
// });
|
|
367
|
+
|
|
365
368
|
|
|
366
|
-
var newChildren = React.Children.map(children, function (child, index) {
|
|
367
|
-
return _this.cloneElement(child, index);
|
|
368
|
-
});
|
|
369
369
|
var props = omit(this.props, ["form", "showModel", "modalProps", "drawerProps", "url", "encryptFields"]);
|
|
370
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, this.renderPanel(
|
|
370
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, this.renderPanel(props.children, props));
|
|
371
371
|
}
|
|
372
372
|
}], [{
|
|
373
373
|
key: "getDerivedStateFromProps",
|
|
@@ -412,4 +412,4 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
412
412
|
}(PureComponent);
|
|
413
413
|
|
|
414
414
|
export default NscForm;
|
|
415
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJyZXF1ZXN0Iiwib21pdCIsIk5zY0Zvcm0iLCJwcm9wcyIsImNyZWF0ZVJlZiIsImZvcm1WaXNpYmxlIiwiZm9ybU1vZGFsUHJvcHMiLCJmb3JtRHJhd2VyUHJvcHMiLCJuYW1lIiwiZm9ybVJlZiIsImN1cnJlbnQiLCJnZXRGaWVsZEVycm9yIiwiZ2V0RmllbGRJbnN0YW5jZSIsImdldEZpZWxkc0Vycm9yIiwiZ2V0RmllbGRzVmFsdWUiLCJnZXRGaWVsZFZhbHVlIiwiaXNGaWVsZHNUb3VjaGVkIiwiaXNGaWVsZFRvdWNoZWQiLCJpc0ZpZWxkVmFsaWRhdGluZyIsInJlc2V0RmllbGRzIiwib3B0aW9ucyIsInNjcm9sbFRvRmllbGQiLCJmaWxkcyIsInNldEZpZWxkcyIsInZhbHVlcyIsInNldEZpZWxkc1ZhbHVlIiwic3VibWl0IiwidXJsIiwiY2FsbGJhY2siLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJwYXJhbXMiLCJ0b0xvd2VyQ2FzZSIsInRoZW4iLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidmFsaWRhdGVGaWVsZHMiLCJyZXNldFZhbHVlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIml0ZW0iLCJpbmRleCIsIl90aGlzIiwia2V5IiwiY2hpbGRyZW4iLCJBcnJheSIsImlzQXJyYXkiLCJDaGlsZHJlbiIsIm1hcCIsImNoaWxkIiwiY2xvbmVFbGVtZW50IiwiZSIsIm5ld0NoaWxkcmVuIiwic2hvd01vZGVsIiwiZHJhd2VyUHJvcHMiLCJtb2RhbFByb3BzIiwic3RhdGUiLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwibmV3TW9kYWxQcm9wcyIsImNlbnRlcmVkIiwiaGlkZUZvcm0iLCJiaW5kIiwibmV3RHJhd2VyUHJvcHMiLCJyZW5kZXJQYW5lbCIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBV0EsU0FBU0MsT0FBVCxRQUF3Qix1QkFBeEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCOztJQVVNQyxPOzs7OztBQVFKLG1CQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQiw0RUFQVEwsS0FBSyxDQUFDTSxTQUFOLEVBT1M7O0FBQUEsNkRBTlg7QUFDTkMsTUFBQUEsV0FBVyxFQUFFLEtBRFA7QUFFTkMsTUFBQUEsY0FBYyxFQUFFLEVBRlY7QUFHTkMsTUFBQUEsZUFBZSxFQUFFO0FBSFgsS0FNVzs7QUFBQTtBQUVsQjs7OztXQWdDRDtBQUNBLDJCQUFjQyxJQUFkLEVBQW9CO0FBQUE7O0FBQ2xCLHNDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMERBQU8sc0JBQXNCQyxhQUF0QixDQUFvQ0gsSUFBcEMsQ0FBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQkEsSUFBakIsRUFBdUI7QUFBQTs7QUFDckIsdUNBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFwQiwyREFBTyx1QkFBc0JFLGdCQUF0QixDQUF1Q0osSUFBdkMsQ0FBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQjtBQUFBOztBQUNmLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FB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YUFBdUJBLFVBQXZCLHVCQUF1QkEsVUFBVSxDQUFFaUIsT0FBbkM7QUFDRDs7QUFDRCxpQkFBT0QsUUFBUDtBQUNEO0FBQ0YsT0FWRCxNQVVPLElBQUlsQixTQUFTLElBQUksUUFBakIsRUFBMkI7QUFDaEMsWUFBSWdCLElBQUksQ0FBQ0MsU0FBTCxDQUFlN0UsZUFBZixNQUFvQzRFLElBQUksQ0FBQ0MsU0FBTCxDQUFlaEIsV0FBZixDQUF4QyxFQUFxRTtBQUNuRSxjQUFJaUIsU0FBUSxHQUFHO0FBQ2I5RSxZQUFBQSxlQUFlLEVBQUU2RDtBQURKLFdBQWY7O0FBR0EsY0FDRSxDQUFBQSxXQUFXLFNBQVgsSUFBQUEsV0FBVyxXQUFYLFlBQUFBLFdBQVcsQ0FBRWtCLE9BQWIsTUFBeUIsSUFBekIsSUFDQSxDQUFBbEIsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVrQixPQUFiLE1BQXlCQyxTQUYzQixFQUdFO0FBQ0FGLFlBQUFBLFNBQVEsQ0FBQ2hGLFdBQVQsR0FBdUIrRCxXQUF2QixhQUF1QkEsV0FBdkIsdUJBQXVCQSxXQUFXLENBQUVrQixPQUFwQztBQUNEOztBQUNELGlCQUFPRCxTQUFQO0FBQ0Q7QUFDRjs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OztFQXhDbUJ0RixhOztBQTZRdEIsZUFBZUcsT0FBZiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgRm9ybSxcclxuICBGb3JtUHJvcHMsXHJcbiAgTW9kYWwsXHJcbiAgRHJhd2VyLFxyXG4gIE1vZGFsUHJvcHMsXHJcbiAgRHJhd2VyUHJvcHMsXHJcbiAgbWVzc2FnZSxcclxufSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyBGb3JtSW5zdGFuY2UgfSBmcm9tIFwiYW50ZC9saWIvZm9ybVwiO1xyXG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5cclxuaW50ZXJmYWNlIElGb3JtUHJvcHMgZXh0ZW5kcyBGb3JtUHJvcHMge1xyXG4gIHNob3dNb2RlbD86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCI7XHJcbiAgbW9kYWxQcm9wcz86IE1vZGFsUHJvcHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcztcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgZW5jcnlwdEZpZWxkcz86IEFycmF5PFN0cmluZz47XHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpIHtcclxuICAgIGNvbnN0IHsgbW9kYWxQcm9wcywgZHJhd2VyUHJvcHMsIHNob3dNb2RlbCB9ID0gbmV4dFByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtTW9kYWxQcm9wcywgZm9ybURyYXdlclByb3BzIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZm9ybU1vZGFsUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShtb2RhbFByb3BzKSkge1xyXG4gICAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICAgIGZvcm1EcmF3ZXJQcm9wczogbW9kYWxQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAobW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCAmJiBtb2RhbFByb3BzPy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gbW9kYWxQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShmb3JtRHJhd2VyUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShkcmF3ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IGRyYXdlclByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGRyYXdlclByb3BzPy52aXNpYmxlICE9PSBudWxsICYmXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IGRyYXdlclByb3BzPy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTplJnor6/kv6Hmga9cclxuICBnZXRGaWVsZEVycm9yKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRFcnJvcihuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615a6e5L6LXHJcbiAgZ2V0RmllbGRJbnN0YW5jZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkSW5zdGFuY2UobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOmUmeivr+S/oeaBr++8jOi/lOWbnuS4uuaVsOe7hOW9ouW8j1xyXG4gIGdldEZpZWxkc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE5YC8XHJcbiAgZ2V0RmllbGRWYWx1ZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZHNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeWvueW6lOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRUb3VjaGVkKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFRvdWNoZWQobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuato+WcqOagoemqjFxyXG4gIGlzRmllbGRWYWxpZGF0aW5nKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzKGZpbGRzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc3VibWl0KCk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdChcclxuICAgIHVybD86IHN0cmluZyxcclxuICAgIG9wdGlvbnM/OiBhbnksXHJcbiAgICBjYWxsYmFjaz86IChyZXM/OiBhbnkpID0+IHZvaWQsXHJcbiAgICBtc2c/OiBib29sZWFuXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHVybDogcHJvcHNVcmwsIGVuY3J5cHRGaWVsZHM6IGVuY3J5cHRQcm9wcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghdXJsICYmICFwcm9wc1VybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCLmsqHmnInkuIrkvKDnmoR1cmwhXCIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBtZXRob2QgPSBcInBvc3RcIiB9ID0gb3B0aW9ucztcclxuICAgIGxldCByZXF1ZXN0VXJsID0gdXJsID8gdXJsIDogcHJvcHNVcmw7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPSB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdFByb3BwcztcclxuICAgIGxldCByZXF1ZXN0UGFyYW0gPSB7IG1ldGhvZDogbWV0aG9kLCBkYXRhOiByZXF1ZXN0RGF0YSB9IGFzIHsgZGF0YTogYW55IH07XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGRhdGEsIGVuY3J5cHRGaWVsZHMsIC4uLnBhcmFtcyB9ID0gb3B0aW9ucztcclxuICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcyB9O1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0UGFyYW0uZGF0YTtcclxuICAgICAgICBpZiAobWV0aG9kLnRvTG93ZXJDYXNlKCkgPT0gXCJnZXRcIikge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgcGFyYW1zOiBkYXRhIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIGRhdGE6IGRhdGEgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVuY3J5cHRGaWVsZHMpIHtcclxuICAgICAgICByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRGaWVsZHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXF1ZXN0KHJlcXVlc3RVcmwsIHtcclxuICAgICAgLi4ucmVxdWVzdFBhcmFtLFxyXG4gICAgICBlbmNyeXB0RmllbGRzOiByZXF1ZXN0RW5jcnlwdCxcclxuICAgIH0pXHJcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgIGlmIChtc2cpIHtcclxuICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5o+Q5Lqk5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuaPkOS6pOWksei0pVwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2socmVzKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVGaWVsZHMobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LnZhbGlkYXRlRmllbGRzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGlkZUZvcm0ocmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAocmVzZXRWYWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChyZXNldFZhbHVlKSB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjbG9uZUVsZW1lbnQoaXRlbSwgaW5kZXggPSAwKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIpIHJldHVybiBpdGVtO1xyXG4gICAgbGV0IHByb3BzID0ge30gYXMgeyBrZXk6IG51bWJlcjsgY2hpbGRyZW46IGFueSB9O1xyXG4gICAgcHJvcHMua2V5ID0gaW5kZXg7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoaXRlbS5wcm9wcyAmJiBpdGVtLnByb3BzLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5wcm9wcy5jaGlsZHJlbikpIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKFxyXG4gICAgICAgICAgICBpdGVtLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IHRoaXMuY2xvbmVFbGVtZW50KGl0ZW0ucHJvcHMuY2hpbGRyZW4sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGl0ZW0sIHByb3BzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlclBhbmVsKG5ld0NoaWxkcmVuLCBwcm9wcykge1xyXG4gICAgY29uc3QgeyBzaG93TW9kZWwsIGRyYXdlclByb3BzLCBtb2RhbFByb3BzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtVmlzaWJsZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGxheW91dCA9IHtcclxuICAgICAgbGFiZWxDb2w6IHsgc3BhbjogNCB9LFxyXG4gICAgICB3cmFwcGVyQ29sOiB7IHNwYW46IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgY2VudGVyZWQ6IHRydWUsIC4uLm5ld01vZGFsUHJvcHMgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWxcclxuICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIHsuLi5uZXdNb2RhbFByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxGb3JtIHJlZj17dGhpcy5mb3JtUmVmfSB7Li4ubGF5b3V0fSB7Li4ucHJvcHN9IHByZXNlcnZlPXtmYWxzZX0+XHJcbiAgICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICAgIDwvRm9ybT5cclxuICAgICAgICA8L01vZGFsPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgJiYgc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgbGV0IG5ld0RyYXdlclByb3BzID0gb21pdChkcmF3ZXJQcm9wcywgW1widmlzaWJsZVwiXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgb25DbG9zZT17dGhpcy5oaWRlRm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgdmlzaWJsZT17Zm9ybVZpc2libGV9XHJcbiAgICAgICAgICB7Li4ubmV3RHJhd2VyUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30+XHJcbiAgICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICAgIDwvRm9ybT5cclxuICAgICAgICA8L0RyYXdlcj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30+XHJcbiAgICAgICAgICB7bmV3Q2hpbGRyZW59XHJcbiAgICAgICAgPC9Gb3JtPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXMsXHJcbiAgICAgIHsgY2hpbGRyZW4sIHNob3dNb2RlbCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0NoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgcHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJmb3JtXCIsXHJcbiAgICAgIFwic2hvd01vZGVsXCIsXHJcbiAgICAgIFwibW9kYWxQcm9wc1wiLFxyXG4gICAgICBcImRyYXdlclByb3BzXCIsXHJcbiAgICAgIFwidXJsXCIsXHJcbiAgICAgIFwiZW5jcnlwdEZpZWxkc1wiLFxyXG4gICAgXSk7XHJcblxyXG4gICAgcmV0dXJuIDw+e3RoaXMucmVuZGVyUGFuZWwobmV3Q2hpbGRyZW4sIHByb3BzKX08Lz47XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0Zvcm07XHJcbiJdfQ==
|
|
415
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJyZXF1ZXN0Iiwib21pdCIsIk5zY0Zvcm0iLCJwcm9wcyIsImNyZWF0ZVJlZiIsImZvcm1WaXNpYmxlIiwiZm9ybU1vZGFsUHJvcHMiLCJmb3JtRHJhd2VyUHJvcHMiLCJuYW1lIiwiZm9ybVJlZiIsImN1cnJlbnQiLCJnZXRGaWVsZEVycm9yIiwiZ2V0RmllbGRJbnN0YW5jZSIsImdldEZpZWxkc0Vycm9yIiwiZ2V0RmllbGRzVmFsdWUiLCJnZXRGaWVsZFZhbHVlIiwiaXNGaWVsZHNUb3VjaGVkIiwiaXNGaWVsZFRvdWNoZWQiLCJpc0ZpZWxkVmFsaWRhdGluZyIsInJlc2V0RmllbGRzIiwib3B0aW9ucyIsInNjcm9sbFRvRmllbGQiLCJmaWxkcyIsInNldEZpZWxkcyIsInZhbHVlcyIsInNldEZpZWxkc1ZhbHVlIiwic3VibWl0IiwidXJsIiwiY2FsbGJhY2siLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJwYXJhbXMiLCJ0b0xvd2VyQ2FzZSIsInRoZW4iLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidmFsaWRhdGVGaWVsZHMiLCJyZXNldFZhbHVlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIml0ZW0iLCJpbmRleCIsIl90aGlzIiwia2V5IiwiY2hpbGRyZW4iLCJBcnJheSIsImlzQXJyYXkiLCJDaGlsZHJlbiIsIm1hcCIsImNoaWxkIiwiY2xvbmVFbGVtZW50IiwiZSIsIm5ld0NoaWxkcmVuIiwic2hvd01vZGVsIiwiZHJhd2VyUHJvcHMiLCJtb2RhbFByb3BzIiwic3RhdGUiLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwibmV3TW9kYWxQcm9wcyIsImNlbnRlcmVkIiwiaGlkZUZvcm0iLCJiaW5kIiwibmV3RHJhd2VyUHJvcHMiLCJyZW5kZXJQYW5lbCIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBV0EsU0FBU0MsT0FBVCxRQUF3Qix1QkFBeEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCOztJQVVNQyxPOzs7OztBQVFKLG1CQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQiw0RUFQVEwsS0FBSyxDQUFDTSxTQUFOLEVBT1M7O0FBQUEsNkRBTlg7QUFDTkMsTUFBQUEsV0FBVyxFQUFFLEtBRFA7QUFFTkMsTUFBQUEsY0FBYyxFQUFFLEVBRlY7QUFHTkMsTUFBQUEsZUFBZSxFQUFFO0FBSFgsS0FNVzs7QUFBQTtBQUVsQjs7OztXQWdDRDtBQUNBLDJCQUFjQyxJQUFkLEVBQW9CO0FBQUE7O0FBQ2xCLHNDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMERBQU8sc0JBQXNCQyxhQUF0QixDQUFvQ0gsSUFBcEMsQ0FBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQkEsSUFBakIsRUFBdUI7QUFBQTs7QUFDckIsdUNBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFwQiwyREFBTyx1QkFBc0JFLGdCQUF0QixDQUF1Q0osSUFBdkMsQ0FBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQjtBQUFBOztBQUNmLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FB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QUFlaEIsV0FBZixDQUF4QyxFQUFxRTtBQUNuRSxjQUFJaUIsU0FBUSxHQUFHO0FBQ2I5RSxZQUFBQSxlQUFlLEVBQUU2RDtBQURKLFdBQWY7O0FBR0EsY0FDRSxDQUFBQSxXQUFXLFNBQVgsSUFBQUEsV0FBVyxXQUFYLFlBQUFBLFdBQVcsQ0FBRWtCLE9BQWIsTUFBeUIsSUFBekIsSUFDQSxDQUFBbEIsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVrQixPQUFiLE1BQXlCQyxTQUYzQixFQUdFO0FBQ0FGLFlBQUFBLFNBQVEsQ0FBQ2hGLFdBQVQsR0FBdUIrRCxXQUF2QixhQUF1QkEsV0FBdkIsdUJBQXVCQSxXQUFXLENBQUVrQixPQUFwQztBQUNEOztBQUNELGlCQUFPRCxTQUFQO0FBQ0Q7QUFDRjs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OztFQXhDbUJ0RixhOztBQXFRdEIsZUFBZUcsT0FBZiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgRm9ybSxcclxuICBGb3JtUHJvcHMsXHJcbiAgTW9kYWwsXHJcbiAgRHJhd2VyLFxyXG4gIE1vZGFsUHJvcHMsXHJcbiAgRHJhd2VyUHJvcHMsXHJcbiAgbWVzc2FnZSxcclxufSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyBGb3JtSW5zdGFuY2UgfSBmcm9tIFwiYW50ZC9saWIvZm9ybVwiO1xyXG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5cclxuaW50ZXJmYWNlIElGb3JtUHJvcHMgZXh0ZW5kcyBGb3JtUHJvcHMge1xyXG4gIHNob3dNb2RlbD86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCI7XHJcbiAgbW9kYWxQcm9wcz86IE1vZGFsUHJvcHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcztcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgZW5jcnlwdEZpZWxkcz86IEFycmF5PFN0cmluZz47XHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpIHtcclxuICAgIGNvbnN0IHsgbW9kYWxQcm9wcywgZHJhd2VyUHJvcHMsIHNob3dNb2RlbCB9ID0gbmV4dFByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtTW9kYWxQcm9wcywgZm9ybURyYXdlclByb3BzIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZm9ybU1vZGFsUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShtb2RhbFByb3BzKSkge1xyXG4gICAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICAgIGZvcm1EcmF3ZXJQcm9wczogbW9kYWxQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAobW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCAmJiBtb2RhbFByb3BzPy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gbW9kYWxQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShmb3JtRHJhd2VyUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShkcmF3ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IGRyYXdlclByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGRyYXdlclByb3BzPy52aXNpYmxlICE9PSBudWxsICYmXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IGRyYXdlclByb3BzPy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTplJnor6/kv6Hmga9cclxuICBnZXRGaWVsZEVycm9yKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRFcnJvcihuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615a6e5L6LXHJcbiAgZ2V0RmllbGRJbnN0YW5jZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkSW5zdGFuY2UobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOmUmeivr+S/oeaBr++8jOi/lOWbnuS4uuaVsOe7hOW9ouW8j1xyXG4gIGdldEZpZWxkc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE5YC8XHJcbiAgZ2V0RmllbGRWYWx1ZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZHNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeWvueW6lOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRUb3VjaGVkKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFRvdWNoZWQobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuato+WcqOagoemqjFxyXG4gIGlzRmllbGRWYWxpZGF0aW5nKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzKGZpbGRzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc3VibWl0KCk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdChcclxuICAgIHVybD86IHN0cmluZyxcclxuICAgIG9wdGlvbnM/OiBhbnksXHJcbiAgICBjYWxsYmFjaz86IChyZXM/OiBhbnkpID0+IHZvaWQsXHJcbiAgICBtc2c/OiBib29sZWFuXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHVybDogcHJvcHNVcmwsIGVuY3J5cHRGaWVsZHM6IGVuY3J5cHRQcm9wcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghdXJsICYmICFwcm9wc1VybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCLmsqHmnInkuIrkvKDnmoR1cmwhXCIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBtZXRob2QgPSBcInBvc3RcIiB9ID0gb3B0aW9ucztcclxuICAgIGxldCByZXF1ZXN0VXJsID0gdXJsID8gdXJsIDogcHJvcHNVcmw7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPSB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdFByb3BwcztcclxuICAgIGxldCByZXF1ZXN0UGFyYW0gPSB7IG1ldGhvZDogbWV0aG9kLCBkYXRhOiByZXF1ZXN0RGF0YSB9IGFzIHsgZGF0YTogYW55IH07XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGRhdGEsIGVuY3J5cHRGaWVsZHMsIC4uLnBhcmFtcyB9ID0gb3B0aW9ucztcclxuICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcyB9O1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0UGFyYW0uZGF0YTtcclxuICAgICAgICBpZiAobWV0aG9kLnRvTG93ZXJDYXNlKCkgPT0gXCJnZXRcIikge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgcGFyYW1zOiBkYXRhIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIGRhdGE6IGRhdGEgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVuY3J5cHRGaWVsZHMpIHtcclxuICAgICAgICByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRGaWVsZHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXF1ZXN0KHJlcXVlc3RVcmwsIHtcclxuICAgICAgLi4ucmVxdWVzdFBhcmFtLFxyXG4gICAgICBlbmNyeXB0RmllbGRzOiByZXF1ZXN0RW5jcnlwdCxcclxuICAgIH0pXHJcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgIGlmIChtc2cpIHtcclxuICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5o+Q5Lqk5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuaPkOS6pOWksei0pVwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2socmVzKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVGaWVsZHMobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LnZhbGlkYXRlRmllbGRzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGlkZUZvcm0ocmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAocmVzZXRWYWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChyZXNldFZhbHVlKSB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjbG9uZUVsZW1lbnQoaXRlbSwgaW5kZXggPSAwKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIpIHJldHVybiBpdGVtO1xyXG4gICAgbGV0IHByb3BzID0ge30gYXMgeyBrZXk6IG51bWJlcjsgY2hpbGRyZW46IGFueSB9O1xyXG4gICAgcHJvcHMua2V5ID0gaW5kZXg7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoaXRlbS5wcm9wcyAmJiBpdGVtLnByb3BzLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5wcm9wcy5jaGlsZHJlbikpIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKFxyXG4gICAgICAgICAgICBpdGVtLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IHRoaXMuY2xvbmVFbGVtZW50KGl0ZW0ucHJvcHMuY2hpbGRyZW4sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGl0ZW0sIHByb3BzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlclBhbmVsKG5ld0NoaWxkcmVuLCBwcm9wcykge1xyXG4gICAgY29uc3QgeyBzaG93TW9kZWwsIGRyYXdlclByb3BzLCBtb2RhbFByb3BzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtVmlzaWJsZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGxheW91dCA9IHtcclxuICAgICAgbGFiZWxDb2w6IHsgc3BhbjogNCB9LFxyXG4gICAgICB3cmFwcGVyQ29sOiB7IHNwYW46IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgY2VudGVyZWQ6IHRydWUsIC4uLm5ld01vZGFsUHJvcHMgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWxcclxuICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIHsuLi5uZXdNb2RhbFByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxGb3JtIHJlZj17dGhpcy5mb3JtUmVmfSB7Li4ubGF5b3V0fSB7Li4ucHJvcHN9IHByZXNlcnZlPXtmYWxzZX0gLz5cclxuICAgICAgICA8L01vZGFsPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgJiYgc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgbGV0IG5ld0RyYXdlclByb3BzID0gb21pdChkcmF3ZXJQcm9wcywgW1widmlzaWJsZVwiXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgb25DbG9zZT17dGhpcy5oaWRlRm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgdmlzaWJsZT17Zm9ybVZpc2libGV9XHJcbiAgICAgICAgICB7Li4ubmV3RHJhd2VyUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0RyYXdlcj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfSAvPjtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzLFxyXG4gICAgICB7IGNoaWxkcmVuLCBzaG93TW9kZWwgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyBjb25zdCBuZXdDaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgLy8gICByZXR1cm4gX3RoaXMuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmRleCk7XHJcbiAgICAvLyB9KTtcclxuICAgIGNvbnN0IHByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgIFwiZm9ybVwiLFxyXG4gICAgICBcInNob3dNb2RlbFwiLFxyXG4gICAgICBcIm1vZGFsUHJvcHNcIixcclxuICAgICAgXCJkcmF3ZXJQcm9wc1wiLFxyXG4gICAgICBcInVybFwiLFxyXG4gICAgICBcImVuY3J5cHRGaWVsZHNcIixcclxuICAgIF0pO1xyXG5cclxuICAgIHJldHVybiA8Pnt0aGlzLnJlbmRlclBhbmVsKHByb3BzLmNoaWxkcmVuLCBwcm9wcyl9PC8+O1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBOc2NGb3JtO1xyXG4iXX0=
|
package/lib/base/input/Search.js
CHANGED
|
@@ -62,7 +62,7 @@ var NSCInputSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
this.setState({
|
|
65
|
-
value:
|
|
65
|
+
value: value
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
}, {
|
|
@@ -107,4 +107,4 @@ var NSCInputSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
107
107
|
}(PureComponent);
|
|
108
108
|
|
|
109
109
|
export { NSCInputSearch as default };
|
|
110
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW5wdXQvU2VhcmNoLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJvbWl0IiwiTlNDSW5wdXRTZWFyY2giLCJwcm9wcyIsImNyZWF0ZVJlZiIsInZhbHVlIiwiZSIsIm9uQ2hhbmdlIiwidGFyZ2V0Iiwic2V0U3RhdGUiLCJzdGF0ZSIsInJlZiIsImN1cnJlbnQiLCJmb2N1cyIsImJsdXIiLCJpbnB1dFByb3BzIiwiYmluZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUdBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7O0lBS3FCQyxjOzs7OztBQUNuQiwwQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiw4QkFBTUEsS0FBTjs7QUFEaUIsdUVBR2JKLEtBQUssQ0FBQ0ssU0FBTixFQUhhOztBQUFBLDREQUlYO0FBQ05DLE1BQUFBLEtBQUssRUFBRTtBQURELEtBSlc7O0FBQUE7QUFFbEI7Ozs7V0FLRCxrQkFBU0MsQ0FBVCxFQUFZO0FBQ1YsVUFBUUMsUUFBUixHQUFxQixLQUFLSixLQUExQixDQUFRSSxRQUFSO0FBQ0EsVUFBTUYsS0FBSyxHQUFHQyxDQUFDLENBQUNFLE1BQUYsQ0FBU0gsS0FBdkI7O0FBQ0EsVUFBSUUsUUFBSixFQUFjO0FBQ1pBLFFBQUFBLFFBQVEsQ0FBQ0YsS0FBRCxFQUFRQyxDQUFSLENBQVI7QUFDRDs7QUFDRCxXQUFLRyxRQUFMLENBQWM7QUFDWkosUUFBQUEsS0FBSyxFQUFFQTtBQURLLE9BQWQ7QUFHRDs7O1dBQ0Qsb0JBQVc7QUFDVCxhQUFPLEtBQUtLLEtBQUwsQ0FBV0wsS0FBbEI7QUFDRDs7O1dBQ0Qsa0JBQVNBLEtBQVQsRUFBZ0I7QUFDZCxXQUFLSSxRQUFMLENBQWM7QUFDWkosUUFBQUEsS0FBSyxFQUFFQTtBQURLLE9BQWQ7QUFHRDs7O1dBRUQsaUJBQVE7QUFBQTs7QUFDTixnQ0FBS00sR0FBTCxDQUFTQyxPQUFULHdFQUFrQkMsS0FBbEI7QUFDRDs7O1dBRUQsZ0JBQU87QUFBQTs7QUFDTCxpQ0FBS0YsR0FBTCxDQUFTQyxPQUFULDBFQUFrQkUsSUFBbEI7QUFDRDs7O1dBRUQsa0JBQVM7QUFDUCxVQUFNQyxVQUFVLEdBQUdkLElBQUksQ0FBQyxLQUFLRSxLQUFOLEVBQWEsQ0FBQyxVQUFELENBQWIsQ0FBdkI7QUFDQSwwQkFDRSwyQkFBTyxNQUFQO0FBQ0UsUUFBQSxLQUFLLEVBQUUsS0FBS08sS0FBTCxDQUFXTCxLQURwQjtBQUVFLFFBQUEsUUFBUSxFQUFFLEtBQUtFLFFBQUwsQ0FBY1MsSUFBZCxDQUFtQixJQUFuQixDQUZaO0FBR0UsUUFBQSxHQUFHLEVBQUUsS0FBS0w7QUFIWixTQUlNSSxVQUpOLEVBREY7QUFRRDs7OztFQTdDeUNmLGE7O1NBQXZCRSxjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IElucHV0IH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW50ZXJmYWNlIElJbnB1dFByb3BzIHtcclxuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDSW5wdXRTZWFyY2ggZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElJbnB1dFByb3BzPiB7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcbiAgcmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gIH07XHJcbiAgb25DaGFuZ2UoZSkge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLnJlZi5jdXJyZW50Py5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgYmx1cigpIHtcclxuICAgIHRoaXMucmVmLmN1cnJlbnQ/LmJsdXIoKTtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IGlucHV0UHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcIm9uQ2hhbmdlXCJdKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxJbnB1dC5TZWFyY2hcclxuICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cclxuICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgIHJlZj17dGhpcy5yZWZ9XHJcbiAgICAgICAgey4uLmlucHV0UHJvcHN9XHJcbiAgICAgIC8+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -4,6 +4,6 @@ export default class NscLayout extends React.PureComponent<LayoutProps, any> {
|
|
|
4
4
|
static Header: React.FC<LayoutProps>;
|
|
5
5
|
static Content: React.FC<LayoutProps>;
|
|
6
6
|
static Footer: React.FC<LayoutProps>;
|
|
7
|
-
static Sider: React.ForwardRefExoticComponent<import("antd
|
|
7
|
+
static Sider: React.ForwardRefExoticComponent<import("antd").SiderProps & React.RefAttributes<HTMLDivElement>>;
|
|
8
8
|
render(): React.ReactNode;
|
|
9
9
|
}
|
package/lib/base/menu/index.d.ts
CHANGED
|
@@ -14,7 +14,6 @@ interface IMenuProps extends MenuProps {
|
|
|
14
14
|
export default class NSCMenu extends PureComponent<IMenuProps> {
|
|
15
15
|
static SubMenu: typeof import("antd/lib/menu/SubMenu").default;
|
|
16
16
|
static Item: typeof import("antd/lib/menu/MenuItem").default;
|
|
17
|
-
static ItemGroup: typeof import("rc-menu").MenuItemGroup;
|
|
18
17
|
state: {
|
|
19
18
|
dataSource: any[];
|
|
20
19
|
};
|
package/lib/base/menu/index.js
CHANGED
|
@@ -220,7 +220,8 @@ var NSCMenu = /*#__PURE__*/function (_PureComponent) {
|
|
|
220
220
|
}
|
|
221
221
|
}], [{
|
|
222
222
|
key: "getDerivedStateFromProps",
|
|
223
|
-
value:
|
|
223
|
+
value: // static ItemGroup = ItemGroup;
|
|
224
|
+
function getDerivedStateFromProps(nextProps, prevState) {
|
|
224
225
|
var dataSource = prevState.dataSource;
|
|
225
226
|
var data = nextProps.data;
|
|
226
227
|
|
|
@@ -243,7 +244,5 @@ _defineProperty(NSCMenu, "SubMenu", SubMenu);
|
|
|
243
244
|
|
|
244
245
|
_defineProperty(NSCMenu, "Item", Item);
|
|
245
246
|
|
|
246
|
-
_defineProperty(NSCMenu, "ItemGroup", ItemGroup);
|
|
247
|
-
|
|
248
247
|
export { NSCMenu as default };
|
|
249
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvbWVudS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImdldEljb24iLCJvbWl0IiwiU3ViTWVudSIsIkl0ZW0iLCJJdGVtR3JvdXAiLCJOU0NNZW51IiwicHJvcHMiLCJkYXRhU291cmNlIiwibWVudXNEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwidGl0bGVGaWVsZCIsImtleUZpZWxkIiwic2hvd0ljb24iLCJzdWJNZW51UHJvcHMiLCJ0b29sdGlwIiwiZGVmYXVsdEljb24iLCJtYXAiLCJpdGVtIiwic3R5bGUiLCJpY29uIiwiZGlzYWJsZWQiLCJ0aXRsZSIsInNwYW50aXRsZSIsInRvb2x0aXB0aXRsZSIsIm5ld3RpdGxlIiwibWVudUdyb3VwRGF0YSIsIm1lbnVEYXRhIiwiY2hpbGREYXRhIiwiZ3J1b3B0aXRsZSIsImdyb3VwTmFtZSIsInB1c2giLCJPYmplY3QiLCJrZXlzIiwia2V5IiwicmVuZGVyTWVudUl0ZW0iLCJjaGlsZHJlbiIsInN0YXRlIiwiZGF0YSIsInN0b3JlIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInZpZXduYW1lIiwic3RvcmVzIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsIm9wdGlvbnMiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJzZXRTdGF0ZSIsImRhdGFDaGFuZ2VkIiwiYXV0b0xvYWQiLCJtZW51UHJvcHMiLCJyZW5kZXJDaGlsZHJlbiIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0Es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QixDQUFQO0FBQ0Q7OztXQTVKRCxrQ0FBZ0NDLFNBQWhDLEVBQTJDQyxTQUEzQyxFQUEyRDtBQUN6RCxVQUFRdEQsVUFBUixHQUF1QnNELFNBQXZCLENBQVF0RCxVQUFSO0FBQ0EsVUFBUStCLElBQVIsR0FBaUJzQixTQUFqQixDQUFRdEIsSUFBUjs7QUFDQSxVQUFJQSxJQUFKLEVBQVU7QUFDUixZQUFJd0IsSUFBSSxDQUFDQyxTQUFMLENBQWV4RCxVQUFmLE1BQStCdUQsSUFBSSxDQUFDQyxTQUFMLENBQWV6QixJQUFmLENBQW5DLEVBQXlEO0FBQ3ZELGlCQUFPO0FBQ0wvQixZQUFBQSxVQUFVLEVBQUUrQjtBQURQLFdBQVA7QUFHRDtBQUNGOztBQUNELGFBQU8sSUFBUDtBQUNEOzs7O0VBckJrQ3pDLGE7O2dCQUFoQlEsTyxhQUNGSCxPOztnQkFERUcsTyxVQUVMRixJOztnQkFGS0UsTyxlQUdBRCxTOztTQUhBQyxPIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTE2IDA5OjQzOjI4XHJcbiAqIEBMYXN0RWRpdG9yczogUGxlYXNlIHNldCBMYXN0RWRpdG9yc1xyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIyLTAyLTI2IDE1OjEzOjIyXHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuaW1wb3J0IHsgTWVudSwgTWVudVByb3BzLCBTdWJNZW51UHJvcHMsIFRvb2x0aXAgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IHsgZ2V0SWNvbiB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5cclxuaW50ZXJmYWNlIElNZW51UHJvcHMgZXh0ZW5kcyBNZW51UHJvcHMge1xyXG4gIGRhdGE/OiBBcnJheTxvYmplY3Q+O1xyXG4gIHRpdGxlRmllbGQ/OiBzdHJpbmc7XHJcbiAga2V5RmllbGQ/OiBzdHJpbmc7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dJY29uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLppY29uICzpu5jorqR0cnVlXHJcbiAgc3ViTWVudVByb3BzPzogU3ViTWVudVByb3BzO1xyXG4gIHRvb2x0aXA/OiBib29sZWFuO1xyXG4gIGRlZmF1bHRJY29uPzogYm9vbGVhbjtcclxufVxyXG5jb25zdCB7IFN1Yk1lbnUsIEl0ZW0sIEl0ZW1Hcm91cCB9ID0gTWVudTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ01lbnUgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElNZW51UHJvcHM+IHtcclxuICBzdGF0aWMgU3ViTWVudSA9IFN1Yk1lbnU7XHJcbiAgc3RhdGljIEl0ZW0gPSBJdGVtO1xyXG4gIHN0YXRpYyBJdGVtR3JvdXAgPSBJdGVtR3JvdXA7XHJcblxyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgfTtcclxuXHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGU6IGFueSkge1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBjb25zdCB7IGRhdGEgfSA9IG5leHRQcm9wcztcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkoZGF0YSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogZGF0YSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHsgZGF0YSwgc3RvcmUgPSB7fSwgY2hpbGRyZW4gfSA9IHByb3BzO1xyXG4gICAgY29uc3QgeyB1cmwsIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LCB2aWV3bmFtZSwgLi4uc3RvcmVzIH0gPSBzdG9yZTtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKCEoZGF0YSB8fCB1cmwpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBZGF0YeS4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICh1cmwgJiYgZGF0YSA9PSBudWxsKSB7XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZGF0YSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLnByb3BzLmRhdGEsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXJNZW51SXRlbSA9IChtZW51c0RhdGEpID0+IHtcclxuICAgIGlmICghbWVudXNEYXRhIHx8ICFBcnJheS5pc0FycmF5KG1lbnVzRGF0YSkpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgY29uc3Qge1xyXG4gICAgICB0aXRsZUZpZWxkID0gXCJ0aXRsZVwiLFxyXG4gICAgICBrZXlGaWVsZCA9IFwia2V5XCIsXHJcbiAgICAgIHNob3dJY29uID0gdHJ1ZSxcclxuICAgICAgc3ViTWVudVByb3BzID0ge30sXHJcbiAgICAgIHRvb2x0aXAgPSBmYWxzZSxcclxuICAgICAgZGVmYXVsdEljb24gPSBmYWxzZSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgcmV0dXJuIG1lbnVzRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgY29uc3QgeyBzdHlsZSwgaWNvbiwgZGlzYWJsZWQgfSA9IGl0ZW07XHJcblxyXG4gICAgICBjb25zdCB0aXRsZSA9IGl0ZW1bdGl0bGVGaWVsZF07XHJcbiAgICAgIGNvbnN0IHNwYW50aXRsZSA9IDxzcGFuIHN0eWxlPXtzdHlsZX0+e3RpdGxlfTwvc3Bhbj47XHJcbiAgICAgIGNvbnN0IHRvb2x0aXB0aXRsZSA9IDxUb29sdGlwIHRpdGxlPXt0aXRsZX0+e3RpdGxlfTwvVG9vbHRpcD47XHJcbiAgICAgIGNvbnN0IG5ld3RpdGxlID0gdG9vbHRpcCA/IHRvb2x0aXB0aXRsZSA6IHNwYW50aXRsZTtcclxuICAgICAgaWYgKGl0ZW1bXCJjaGlsZE5vZGVzXCJdIHx8IGl0ZW1bXCJjaGlsZHJlblwiXSkge1xyXG4gICAgICAgIGxldCBtZW51R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgICBtZW51RGF0YSA9IFtdO1xyXG4gICAgICAgIGxldCBjaGlsZERhdGEgPSBpdGVtW1wiY2hpbGROb2Rlc1wiXSB8fCBpdGVtW1wiY2hpbGRyZW5cIl07XHJcbiAgICAgICAgY2hpbGREYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGdydW9wdGl0bGUgPSBpdGVtLmdyb3VwTmFtZTtcclxuICAgICAgICAgIGlmIChncnVvcHRpdGxlKSB7XHJcbiAgICAgICAgICAgIGlmICghbWVudUdyb3VwRGF0YVtncnVvcHRpdGxlXSkgbWVudUdyb3VwRGF0YVtncnVvcHRpdGxlXSA9IFtdO1xyXG4gICAgICAgICAgICBtZW51R3JvdXBEYXRhW2dydW9wdGl0bGVdLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZW51RGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8U3ViTWVudVxyXG4gICAgICAgICAgICBrZXk9e2l0ZW1ba2V5RmllbGRdfVxyXG4gICAgICAgICAgICB0aXRsZT17XHJcbiAgICAgICAgICAgICAgc2hvd0ljb24gJiYgKGljb24gfHwgZGVmYXVsdEljb24pID8gKFxyXG4gICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgIHtnZXRJY29uKGljb24sIGRlZmF1bHRJY29uKX1cclxuICAgICAgICAgICAgICAgICAge25ld3RpdGxlfVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICBuZXd0aXRsZVxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB7Li4uc3ViTWVudVByb3BzfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7T2JqZWN0LmtleXMobWVudUdyb3VwRGF0YSkubWFwKChrZXkpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgPEl0ZW1Hcm91cCBrZXk9e2tleX0gdGl0bGU9e2tleX0+XHJcbiAgICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlck1lbnVJdGVtKG1lbnVHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICAgICAgICA8L0l0ZW1Hcm91cD5cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge3RoaXMucmVuZGVyTWVudUl0ZW0obWVudURhdGEpfVxyXG4gICAgICAgICAgPC9TdWJNZW51PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxNZW51Lkl0ZW0ga2V5PXtpdGVtW2tleUZpZWxkXX0gZGlzYWJsZWQ9e2Rpc2FibGVkfT5cclxuICAgICAgICAgICAge3Nob3dJY29uICYmIChpY29uIHx8IGRlZmF1bHRJY29uKSA/IChcclxuICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgIHtnZXRJY29uKGljb24sIGRlZmF1bHRJY29uKX1cclxuICAgICAgICAgICAgICAgIHtuZXd0aXRsZX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgbmV3dGl0bGVcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgIDwvTWVudS5JdGVtPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH07XHJcbiAgcmVuZGVyQ2hpbGRyZW4gPSAoKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJNZW51SXRlbShkYXRhU291cmNlKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCBtZW51UHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJkYXRhXCIsXHJcbiAgICAgIFwic3RvcmVcIixcclxuICAgICAgXCJ0aXRsZUZpZWxkXCIsXHJcbiAgICAgIFwia2V5RmllbGRcIixcclxuICAgICAgXCJzaG93SWNvblwiLFxyXG4gICAgICBcInRvb2x0aXBcIixcclxuICAgICAgXCJkZWZhdWx0SWNvblwiLFxyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gPE1lbnUgey4uLm1lbnVQcm9wc30+e3RoaXMucmVuZGVyQ2hpbGRyZW4oKX08L01lbnU+O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
248
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvbWVudS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImdldEljb24iLCJvbWl0IiwiU3ViTWVudSIsIkl0ZW0iLCJJdGVtR3JvdXAiLCJOU0NNZW51IiwicHJvcHMiLCJkYXRhU291cmNlIiwibWVudXNEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwidGl0bGVGaWVsZCIsImtleUZpZWxkIiwic2hvd0ljb24iLCJzdWJNZW51UHJvcHMiLCJ0b29sdGlwIiwiZGVmYXVsdEljb24iLCJtYXAiLCJpdGVtIiwic3R5bGUiLCJpY29uIiwiZGlzYWJsZWQiLCJ0aXRsZSIsInNwYW50aXRsZSIsInRvb2x0aXB0aXRsZSIsIm5ld3RpdGxlIiwibWVudUdyb3VwRGF0YSIsIm1lbnVEYXRhIiwiY2hpbGREYXRhIiwiZ3J1b3B0aXRsZSIsImdyb3VwTmFtZSIsInB1c2giLCJPYmplY3QiLCJrZXlzIiwia2V5IiwicmVuZGVyTWVudUl0ZW0iLCJjaGlsZHJlbiIsInN0YXRlIiwiZGF0YSIsInN0b3JlIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInZpZXduYW1lIiwic3RvcmVzIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsIm9wdGlvbnMiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJzZXRTdGF0ZSIsImRhdGFDaGFuZ2VkIiwiYXV0b0xvYWQiLCJtZW51UHJvcHMiLCJyZW5kZXJDaGlsZHJlbiIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0Es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QixDQUFQO0FBQ0Q7OztXQW5LRDtBQU9BLHNDQUFnQ0MsU0FBaEMsRUFBMkNDLFNBQTNDLEVBQTJEO0FBQ3pELFVBQVF0RCxVQUFSLEdBQXVCc0QsU0FBdkIsQ0FBUXRELFVBQVI7QUFDQSxVQUFRK0IsSUFBUixHQUFpQnNCLFNBQWpCLENBQVF0QixJQUFSOztBQUNBLFVBQUlBLElBQUosRUFBVTtBQUNSLFlBQUl3QixJQUFJLENBQUNDLFNBQUwsQ0FBZXhELFVBQWYsTUFBK0J1RCxJQUFJLENBQUNDLFNBQUwsQ0FBZXpCLElBQWYsQ0FBbkMsRUFBeUQ7QUFDdkQsaUJBQU87QUFDTC9CLFlBQUFBLFVBQVUsRUFBRStCO0FBRFAsV0FBUDtBQUdEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUFyQmtDekMsYTs7Z0JBQWhCUSxPLGFBQ0ZILE87O2dCQURFRyxPLFVBRUxGLEk7O1NBRktFLE8iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMTYgMDk6NDM6MjhcclxuICogQExhc3RFZGl0b3JzOiBQbGVhc2Ugc2V0IExhc3RFZGl0b3JzXHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjItMDItMjYgMTU6MTM6MjJcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgeyBNZW51LCBNZW51UHJvcHMsIFN1Yk1lbnVQcm9wcywgVG9vbHRpcCB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgeyBnZXRJY29uIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcblxyXG5pbnRlcmZhY2UgSU1lbnVQcm9wcyBleHRlbmRzIE1lbnVQcm9wcyB7XHJcbiAgZGF0YT86IEFycmF5PG9iamVjdD47XHJcbiAgdGl0bGVGaWVsZD86IHN0cmluZztcclxuICBrZXlGaWVsZD86IHN0cmluZztcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd0ljb24/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekumljb24gLOm7mOiupHRydWVcclxuICBzdWJNZW51UHJvcHM/OiBTdWJNZW51UHJvcHM7XHJcbiAgdG9vbHRpcD86IGJvb2xlYW47XHJcbiAgZGVmYXVsdEljb24/OiBib29sZWFuO1xyXG59XHJcbmNvbnN0IHsgU3ViTWVudSwgSXRlbSwgSXRlbUdyb3VwIH0gPSBNZW51O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDTWVudSBleHRlbmRzIFB1cmVDb21wb25lbnQ8SU1lbnVQcm9wcz4ge1xyXG4gIHN0YXRpYyBTdWJNZW51ID0gU3ViTWVudTtcclxuICBzdGF0aWMgSXRlbSA9IEl0ZW07XHJcbiAgLy8gc3RhdGljIEl0ZW1Hcm91cCA9IEl0ZW1Hcm91cDtcclxuXHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICB9O1xyXG5cclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZTogYW55KSB7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHByZXZTdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gbmV4dFByb3BzO1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShkYXRhKSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBkYXRhLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgeyBkYXRhLCBzdG9yZSA9IHt9LCBjaGlsZHJlbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7IHVybCwgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sIHZpZXduYW1lLCAuLi5zdG9yZXMgfSA9IHN0b3JlO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHVybCkpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIFkYXRh5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIGxldCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKHVybCAmJiBkYXRhID09IG51bGwpIHtcclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IHRoaXMucHJvcHMuZGF0YSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlck1lbnVJdGVtID0gKG1lbnVzRGF0YSkgPT4ge1xyXG4gICAgaWYgKCFtZW51c0RhdGEgfHwgIUFycmF5LmlzQXJyYXkobWVudXNEYXRhKSkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHRpdGxlRmllbGQgPSBcInRpdGxlXCIsXHJcbiAgICAgIGtleUZpZWxkID0gXCJrZXlcIixcclxuICAgICAgc2hvd0ljb24gPSB0cnVlLFxyXG4gICAgICBzdWJNZW51UHJvcHMgPSB7fSxcclxuICAgICAgdG9vbHRpcCA9IGZhbHNlLFxyXG4gICAgICBkZWZhdWx0SWNvbiA9IGZhbHNlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICByZXR1cm4gbWVudXNEYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCB7IHN0eWxlLCBpY29uLCBkaXNhYmxlZCB9ID0gaXRlbTtcclxuXHJcbiAgICAgIGNvbnN0IHRpdGxlID0gaXRlbVt0aXRsZUZpZWxkXTtcclxuICAgICAgY29uc3Qgc3BhbnRpdGxlID0gPHNwYW4gc3R5bGU9e3N0eWxlfT57dGl0bGV9PC9zcGFuPjtcclxuICAgICAgY29uc3QgdG9vbHRpcHRpdGxlID0gPFRvb2x0aXAgdGl0bGU9e3RpdGxlfT57dGl0bGV9PC9Ub29sdGlwPjtcclxuICAgICAgY29uc3QgbmV3dGl0bGUgPSB0b29sdGlwID8gdG9vbHRpcHRpdGxlIDogc3BhbnRpdGxlO1xyXG4gICAgICBpZiAoaXRlbVtcImNoaWxkTm9kZXNcIl0gfHwgaXRlbVtcImNoaWxkcmVuXCJdKSB7XHJcbiAgICAgICAgbGV0IG1lbnVHcm91cERhdGEgPSB7fSxcclxuICAgICAgICAgIG1lbnVEYXRhID0gW107XHJcbiAgICAgICAgbGV0IGNoaWxkRGF0YSA9IGl0ZW1bXCJjaGlsZE5vZGVzXCJdIHx8IGl0ZW1bXCJjaGlsZHJlblwiXTtcclxuICAgICAgICBjaGlsZERhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBsZXQgZ3J1b3B0aXRsZSA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgICAgaWYgKGdydW9wdGl0bGUpIHtcclxuICAgICAgICAgICAgaWYgKCFtZW51R3JvdXBEYXRhW2dydW9wdGl0bGVdKSBtZW51R3JvdXBEYXRhW2dydW9wdGl0bGVdID0gW107XHJcbiAgICAgICAgICAgIG1lbnVHcm91cERhdGFbZ3J1b3B0aXRsZV0ucHVzaChpdGVtKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1lbnVEYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxTdWJNZW51XHJcbiAgICAgICAgICAgIGtleT17aXRlbVtrZXlGaWVsZF19XHJcbiAgICAgICAgICAgIHRpdGxlPXtcclxuICAgICAgICAgICAgICBzaG93SWNvbiAmJiAoaWNvbiB8fCBkZWZhdWx0SWNvbikgPyAoXHJcbiAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAge2dldEljb24oaWNvbiwgZGVmYXVsdEljb24pfVxyXG4gICAgICAgICAgICAgICAgICB7bmV3dGl0bGV9XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgIG5ld3RpdGxlXHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHsuLi5zdWJNZW51UHJvcHN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtPYmplY3Qua2V5cyhtZW51R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8SXRlbUdyb3VwIGtleT17a2V5fSB0aXRsZT17a2V5fT5cclxuICAgICAgICAgICAgICAgICAge3RoaXMucmVuZGVyTWVudUl0ZW0obWVudUdyb3VwRGF0YVtrZXldKX1cclxuICAgICAgICAgICAgICAgIDwvSXRlbUdyb3VwPlxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJNZW51SXRlbShtZW51RGF0YSl9XHJcbiAgICAgICAgICA8L1N1Yk1lbnU+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPE1lbnUuSXRlbSBrZXk9e2l0ZW1ba2V5RmllbGRdfSBkaXNhYmxlZD17ZGlzYWJsZWR9PlxyXG4gICAgICAgICAgICB7c2hvd0ljb24gJiYgKGljb24gfHwgZGVmYXVsdEljb24pID8gKFxyXG4gICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAge2dldEljb24oaWNvbiwgZGVmYXVsdEljb24pfVxyXG4gICAgICAgICAgICAgICAge25ld3RpdGxlfVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICBuZXd0aXRsZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgPC9NZW51Lkl0ZW0+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfTtcclxuICByZW5kZXJDaGlsZHJlbiA9ICgpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlck1lbnVJdGVtKGRhdGFTb3VyY2UpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IG1lbnVQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImRhdGFcIixcclxuICAgICAgXCJzdG9yZVwiLFxyXG4gICAgICBcInRpdGxlRmllbGRcIixcclxuICAgICAgXCJrZXlGaWVsZFwiLFxyXG4gICAgICBcInNob3dJY29uXCIsXHJcbiAgICAgIFwidG9vbHRpcFwiLFxyXG4gICAgICBcImRlZmF1bHRJY29uXCIsXHJcbiAgICBdKTtcclxuICAgIHJldHVybiA8TWVudSB7Li4ubWVudVByb3BzfT57dGhpcy5yZW5kZXJDaGlsZHJlbigpfTwvTWVudT47XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { MessageArgsProps } from "antd";
|
|
3
3
|
export default class NscAffix extends React.PureComponent<any, any> {
|
|
4
|
-
static success: (content:
|
|
5
|
-
static error: (content:
|
|
6
|
-
static info: (content:
|
|
7
|
-
static warn: (content:
|
|
8
|
-
static warning: (content:
|
|
9
|
-
static loading: (content:
|
|
4
|
+
static success: (content: React.ReactNode | MessageArgsProps, duration?: number | (() => void), onClose?: import("antd/lib/message").ConfigOnClose) => import("antd/lib/message").MessageType;
|
|
5
|
+
static error: (content: React.ReactNode | MessageArgsProps, duration?: number | (() => void), onClose?: import("antd/lib/message").ConfigOnClose) => import("antd/lib/message").MessageType;
|
|
6
|
+
static info: (content: React.ReactNode | MessageArgsProps, duration?: number | (() => void), onClose?: import("antd/lib/message").ConfigOnClose) => import("antd/lib/message").MessageType;
|
|
7
|
+
static warn: (content: React.ReactNode | MessageArgsProps, duration?: number | (() => void), onClose?: import("antd/lib/message").ConfigOnClose) => import("antd/lib/message").MessageType;
|
|
8
|
+
static warning: (content: React.ReactNode | MessageArgsProps, duration?: number | (() => void), onClose?: import("antd/lib/message").ConfigOnClose) => import("antd/lib/message").MessageType;
|
|
9
|
+
static loading: (content: React.ReactNode | MessageArgsProps, duration?: number | (() => void), onClose?: import("antd/lib/message").ConfigOnClose) => import("antd/lib/message").MessageType;
|
|
10
10
|
static open: (args: MessageArgsProps) => import("antd/lib/message").MessageType;
|
|
11
11
|
static config: (options: import("antd/lib/message").ConfigOptions) => void;
|
|
12
12
|
static destroy: (messageKey?: React.Key) => void;
|
package/lib/base/tree/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface NscTreeProps extends ITreePanelProps {
|
|
|
16
16
|
nodeProps?: TreeNodeProps;
|
|
17
17
|
}
|
|
18
18
|
declare class NscTree extends TreePanel<NscTreeProps & TreeCommonProps> {
|
|
19
|
-
nscTreeRef: React.RefObject<RcTree & TreeProps
|
|
19
|
+
nscTreeRef: React.RefObject<RcTree<DataNode> & TreeProps<DataNode>>;
|
|
20
20
|
constructor(props: any);
|
|
21
21
|
static defaultProps: {
|
|
22
22
|
store: {};
|
|
@@ -2,7 +2,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
2
2
|
|
|
3
3
|
var _excluded = ["children", "pageType", "onClick"],
|
|
4
4
|
_excluded2 = ["children", "pageType", "onClick", "Icon"],
|
|
5
|
-
_excluded3 = ["store", "filterColumn", "actionButton", "actionColumn", "showRowSelection"],
|
|
5
|
+
_excluded3 = ["store", "filterColumn", "actionButton", "actionColumn", "showRowSelection", "columnOrder"],
|
|
6
6
|
_excluded4 = ["store", "showSearch", "titleAlias"];
|
|
7
7
|
|
|
8
8
|
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); }
|
|
@@ -362,7 +362,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
362
362
|
placement: "bottom",
|
|
363
363
|
title: null,
|
|
364
364
|
content: content,
|
|
365
|
-
trigger: ["
|
|
365
|
+
trigger: ["hover"],
|
|
366
366
|
key: index // overlayClassName={styles['pop']}
|
|
367
367
|
|
|
368
368
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -485,6 +485,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
485
485
|
actionColumn = _tableProps$actionCol === void 0 ? true : _tableProps$actionCol,
|
|
486
486
|
_tableProps$showRowSe = tableProps.showRowSelection,
|
|
487
487
|
showRowSelection = _tableProps$showRowSe === void 0 ? true : _tableProps$showRowSe,
|
|
488
|
+
_tableProps$columnOrd = tableProps.columnOrder,
|
|
489
|
+
columnOrder = _tableProps$columnOrd === void 0 ? true : _tableProps$columnOrd,
|
|
488
490
|
othertableParams = _objectWithoutProperties(tableProps, _excluded3);
|
|
489
491
|
|
|
490
492
|
var _treeProps$store = treeProps.store,
|
|
@@ -655,6 +657,14 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
655
657
|
}
|
|
656
658
|
});
|
|
657
659
|
var headerCount = showLeft ? 2 : 3;
|
|
660
|
+
if (columnOrder) tableColumn = [{
|
|
661
|
+
title: "#",
|
|
662
|
+
width: 30,
|
|
663
|
+
align: 'center',
|
|
664
|
+
render: function render(text, reacord, index) {
|
|
665
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, index + 1);
|
|
666
|
+
}
|
|
667
|
+
}].concat(_toConsumableArray(tableColumn));
|
|
658
668
|
return /*#__PURE__*/React.createElement("div", {
|
|
659
669
|
className: getLess(styles, "page"),
|
|
660
670
|
style: {
|
|
@@ -773,7 +783,9 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
773
783
|
className: getLess(styles, "expand-icon")
|
|
774
784
|
}));
|
|
775
785
|
}
|
|
776
|
-
}
|
|
786
|
+
},
|
|
787
|
+
columnOrder: true,
|
|
788
|
+
bordered: true
|
|
777
789
|
}, tableParams)))), editorForm && /*#__PURE__*/React.createElement(EditorForm, {
|
|
778
790
|
ref: this.editorRef,
|
|
779
791
|
callBack: this.tableReload.bind(this),
|
|
@@ -790,4 +802,4 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
790
802
|
}(PureComponent);
|
|
791
803
|
|
|
792
804
|
export default BasePage;
|
|
793
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJFeWVPdXRsaW5lZCIsIkVkaXRPdXRsaW5lZCIsIlJpZ2h0T3V0bGluZWQiLCJnZXRMZXNzIiwiZ2V0Tm9kZSIsInJlcXVlc3QiLCJvbWl0IiwiQmFzZVBhZ2UiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImNoZWNrZWRUcmVlS2V5cyIsInN0YXRlIiwibmFtZSIsInVzZXJUeXBlIiwiYWNjb3VudCIsInZhbHVlIiwiZGVwdElkIiwidGFibGVMb2FkIiwidHlwZSIsInNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93RGF0YXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJleHBhbmQiLCJpbml0RGF0YSIsImVkaXRvcmZsYWciLCJlZGl0b3JSZWYiLCJjdXJyZW50Iiwic2hvdyIsImNsb3NlRmxhZyIsImhpZGUiLCJkZWxldGVVcmwiLCJvbkRlbGV0ZSIsImRlbGV0ZVBhcmFtcyIsImxlbmd0aCIsIndhcm5pbmciLCJFcnJvciIsImNvbmZpcm0iLCJ0aXRsZSIsIm9rVGV4dCIsImNhbmNlbFRleHQiLCJvbk9rIiwiZGVmYXVsdFBhcmFtcyIsIm1ldGhvZCIsInBhcmFtcyIsImlkcyIsImpvaW4iLCJyZXF1ZXN0UGFyYW1zIiwidGhlbiIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ0YWJsZVJlZiIsInN0b3JlIiwibG9hZCIsIm9uU2VhcmNoIiwiZnJvbVZhbHVlIiwic2VhcmNoUmVmIiwiZ2V0RmllbGRzVmFsdWUiLCJyZWxvYWQiLCJyZWNvcmQiLCJzZWxlY3RlZCIsIm5ld1NlbGVjdGVkUm93S2V5cyIsIm5ld1NlbGVjdGVkUm93RGF0YXMiLCJpZCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInNwbGljZSIsInNldFN0YXRlIiwic2VsZWN0ZWRSb3dzIiwiY2hhbmdlUm93cyIsIm5ld2lkcyIsIm5ld2RhdGFzIiwiY2hhbmdlSWRzIiwiaW5kZXhPZiIsInB1c2giLCJjb2x1bW5CdXR0b25zIiwiYWN0aW9uQnV0dG9uIiwiZWRpdG9yRm9ybSIsImJ1dHRvbnMiLCJmbGFnIiwiY29udGVudCIsImNoaWxkcmVuIiwicGFnZVR5cGUiLCJvbkNsaWNrIiwic2VsZWN0ZWRLZXlzIiwic2VsZWN0ZWROb2RlcyIsImtleXdvcmQiLCJ0cmVlUHJvcHMiLCJzZWFyY2hLZXkiLCJzZWFyY2hGaWVsZCIsImlzTGVhZiIsImRhdGFyZWYiLCJhdHRyaWJ1dGUiLCJyZXNldEZpZWxkcyIsInRleHQiLCJuZXdUZXh0IiwiZGF0YSIsImkiLCJsYWJlbCIsImNvbHVtbnMiLCJzaG93U2VhcmNoIiwic3VibWl0VXJsIiwidGFibGVQcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJvblNob3dGb3JtIiwiZmlsdGVyQ29sdW1uIiwiYWN0aW9uQ29sdW1uIiwic2hvd1Jvd1NlbGVjdGlvbiIsIm90aGVydGFibGVQYXJhbXMiLCJ0cmVlU3RvcmUiLCJ0cmVlU2VhcmNoIiwidGl0bGVBbGlhcyIsIm90aGVydHJlZVBhcmFtcyIsInRhYmxlUGFyYW1zIiwicm93U2VsZWN0aW9uIiwib25TZWxlY3QiLCJyb3dTZWxlY3Rpb25PblNlbGVjdCIsImJpbmQiLCJvblNlbGVjdEFsbCIsInJvd1NlbGVjdGlvbk9uU2VsZWN0QWxsIiwiY29sdW1uV2lkdGgiLCJ0YWJsZUNvbHVtbiIsInNlYXJjaEZvcm1zIiwiZWRpdG9yRm9ybXMiLCJkZWZhdWx0VmFsdWUiLCJ0ZW1wIiwic2VhcmNoIiwiZmllbGQiLCJkYXRhSW5kZXgiLCJlZGl0b3IiLCJydWxlcyIsInNwYW4iLCJkaWN0TmFtZSIsInVuZGVmaW5lZCIsImNvbHVtblNlYXJjaCIsImZpbHRlclByb3BzIiwidGVtcFByb3AiLCJzdHlsZSIsInJlbmRlciIsImdldFRleHQiLCJjb2x1bW5TaG93Iiwic2VsZkJ1dHRvbnMiLCJzaG93Rm9ybSIsIkFycmF5IiwiaXNBcnJheSIsImFsaWduIiwid2lkdGgiLCJyZW5kZXJDbG91bW5CdXR0b24iLCJoZWFkZXJDb3VudCIsImRpc3BsYXkiLCJ0cmVlU2VsZWN0IiwicGxhY2Vob2xkZXIiLCJtYXJnaW5Ub3AiLCJyZXNldFNlYXJjaCIsInJlZnJlc2giLCJhX3N0eWxlIiwibWFyZ2luTGVmdCIsImFkZCIsImRlbGV0ZTMiLCJleHBhbmRJY29uIiwiZXhwYW5kZWQiLCJvbkV4cGFuZCIsImUiLCJjaGlsZE5vZGVzIiwidGFibGVSZWxvYWQiLCJvblN1Ym1pdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLGtCQUFsQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLG1CQUFuQjtBQUNBLE9BQU9DLEtBQVAsTUFBa0Isa0JBQWxCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixvQkFBcEI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLG9CQUFwQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsNEJBQWpCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QixpQkFBekI7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLFFBQXZCO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIscUJBQW5CO0FBRUEsU0FDRUMsWUFERixFQUVFQyxVQUZGLEVBR0VDLFdBSEYsRUFJ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QUFBLGVBRFg7QUFFRSxjQUFBLFNBQVMsRUFBRXRLLE9BQU8sQ0FBQ04sTUFBRCxFQUFTLGFBQVQ7QUFGcEIsY0FETyxHQU1Qa0UsTUFBTSxDQUFDMkcsVUFBUCxpQkFDRSxvQkFBQyxhQUFEO0FBQ0UsY0FBQSxPQUFPLEVBQUUsaUJBQUNELENBQUQ7QUFBQSx1QkFBT0QsUUFBUSxDQUFDekcsTUFBRCxFQUFTMEcsQ0FBVCxDQUFmO0FBQUEsZUFEWDtBQUVFLGNBQUEsU0FBUyxFQUFFdEssT0FBTyxDQUFDTixNQUFELEVBQVMsYUFBVDtBQUZwQixjQVJOLENBREY7QUFpQkQ7QUFuQlM7QUFIZCxTQXdCTTJILFdBeEJOLEVBREYsQ0FyR0YsQ0FmRixFQWlKR3RDLFVBQVUsaUJBQ1Qsb0JBQUMsVUFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFLEtBQUt6RCxTQURaO0FBRUUsUUFBQSxRQUFRLEVBQUUsS0FBS2tKLFdBQUwsQ0FBaUIvQyxJQUFqQixDQUFzQixJQUF0QixDQUZaO0FBR0UsUUFBQSxTQUFTLEVBQUVNLFdBSGI7QUFJRSxRQUFBLFNBQVMsRUFBRXhCLFNBSmI7QUFLRSxRQUFBLFlBQVksRUFBRUcsWUFMaEI7QUFNRSxRQUFBLFFBQVEsRUFBRSxLQUFLckcsS0FBTCxDQUFXb0ssUUFOdkI7QUFPRSxRQUFBLFlBQVksRUFBRXpDO0FBUGhCLFFBbEpKLENBREY7QUErSkQ7Ozs7RUF2bkJvQmxKLGE7O0FBeW5CdkIsZUFBZXNCLFFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgVGFibGUgZnJvbSBcIi4uLy4uL2Jhc2UvdGFibGVcIjtcclxuaW1wb3J0IFRyZWUgZnJvbSBcIi4uLy4uL2Jhc2UvdHJlZVwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vLi4vYmFzZS9tb2RhbFwiO1xyXG5pbXBvcnQgUG9wb3ZlciBmcm9tIFwiLi4vLi4vYmFzZS9wb3BvdmVyXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi8uLi9iYXNlL21lc3NhZ2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uL2Jhc2UvY29tbW9uL0ljb25Gb250XCI7XHJcbmltcG9ydCB7IGljb25UeXBlIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgRWRpdG9yRm9ybSBmcm9tIFwiLi9Gb3JtXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5tb2R1bGUubGVzc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgUGFnZVN0b3JlLCBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIFVwT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbiAgRWRpdE91dGxpbmVkLFxyXG4gIFJpZ2h0T3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHJlcXVlc3QgZnJvbSBcIm5zYy1yZXF1ZXN0XCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmludGVyZmFjZSBUYWJsZVByb3BzIHtcclxuICBhY3Rpb25Db2x1bW4/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaTjeS9nOWIl1xyXG4gIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm6buY6K6k5pi+56S65paw5aKe77yM57yW6L6R6buY6K6k5oyJ6ZKuXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbiAgcGFnaW5hdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG6aG1XHJcbiAgW3Byb3BzTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmludGVyZmFjZSBUcmVlUHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmkJzntKLmoYZcclxuICBzZWFyY2hLZXk/OiBzdHJpbmc7IC8v5pCc57SidmFsdWXlr7nlupTnmoRrZXlcclxuICBzZWFyY2hGaWVsZD86IHN0cmluZzsgLy/mn6Xor6Llr7nlupTnmoRrZXlcclxuICB0aXRsZUFsaWFzPzogc3RyaW5nOyAvL+agkXRpdGxl5a+55bqU55qEa2V5LOm7mOiupHRpdGxlXHJcbiAgbm9kZVBvcnBzPzogb2JqZWN0O1xyXG59XHJcbmludGVyZmFjZSBOU0NCYXNlQmFnZVByb3BzIHtcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlpLTpg6jmkJzntKLmoI9cclxuICB0YWJsZVByb3BzPzogVGFibGVQcm9wczsgLy/ooajmoLzlj4LmlbBcclxuICB0cmVlUHJvcHM/OiBUcmVlUHJvcHM7IC8v5bem5L6n5qCR5Y+C5pWwXHJcbiAgc3VibWl0UGFyYW1zPzogT2JqZWN0OyAvL+a3u+WKoOWPguaVsO+8jOm7mOiupG1vdGhvZDpwb3N077yMIOWPguaVsOmAmui/h2RhdGHkvKDpgJJcclxuICBzdWJtaXRVcmw/OiBzdHJpbmc7XHJcbiAgb25TdWJtaXQ/OiAodmFsdWU/OiBhbnksIGxhYmVsPzogYW55KSA9PiB2b2lkO1xyXG4gIGNvbHVtbnM6IEFycmF5PE9iamVjdD47XHJcbiAgc2hvd0xlZnQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuW3puS+p+ebruW9leagkVxyXG4gIHNob3dUb29sQnV0dG9uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmjInpkq7moI9cclxuICBlZGl0b3JGb3JtPzogYm9vbGVhbjsgLy/mmK/lkKbpnIDopoHooajljZXlip/og70gLCDkuLpmYWxzZSDnvJbovpHvvIzmn6XnnIvvvIzmlrDlop7lip/og73lnYfkuI3lj6/nlKhcclxuICBkZWxldGVVcmw/OiBzdHJpbmc7IC8v5Yig6ZmkdXJsXHJcbiAgb25EZWxldGU/OiAoc2VsZWN0ZWRLZXlzPzogQXJyYXk8YW55PikgPT4gdm9pZDsgLy/liKDpmaTlj4LmlbDvvIzpu5jorqRtb3Rob2Q6cG9zdO+8jCDlj4LmlbDpgJrov4dpZHPmi7zmjqXkvKDpgJLnu5nlkI7lj7BcclxuICBkZWxldGVQYXJhbXM/OiBPYmplY3Q7XHJcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XHJcbiAgb25TZWFyY2g/OiAodmFsdWU/OiBhbnkpID0+IHZvaWQ7XHJcbiAgaW5pdERhdGE/OiBhbnk7IC8v5Yid5aeL5YyW5Zue6LCD5Ye95pWw77yM5ZyoY29tcG9uZW50RGlkTW91bnTkuK3osIPnlKhcclxuICBidXR0b25zPzogQXJyYXk8c3RyaW5nPjsgLy/mjInpkq7pm4blkIggIFsnYWRkJywnZGVsZXRlJywnc2VhcmNoJywnZWRpdG9yJ11cclxuICBvblNob3dGb3JtPzogKHZhbHVlPzogYW55LCBlZGl0b3JGbGFnPzogYm9vbGVhbikgPT4gdm9pZDsgLy/miZPlvIDooajljZXlm57osINcclxufVxyXG5cclxuY2xhc3MgQmFzZVBhZ2UgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE5TQ0Jhc2VCYWdlUHJvcHMsIGFueT4ge1xyXG4gIHRhYmxlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICB0cmVlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzZWFyY2hSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGVkaXRvclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBhbnkpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgIHR5cGU6IFwiYWRkXCIsXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogW10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFtdLFxyXG4gICAgICB0cmVlU2VsZWN0ZWRLZXk6IFwiXCIsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgaW5pdERhdGEgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpbml0RGF0YSAmJiBpbml0RGF0YSgpO1xyXG4gIH1cclxuICBvblNlbGVjdCA9IChjaGVja2VkVHJlZUtleXM6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHZhbHVlID0geyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCwgZGVwdElkOiBjaGVja2VkVHJlZUtleXNbMF0gfTtcclxuICAgIHRoaXMudGFibGVMb2FkKHZhbHVlKTtcclxuICB9O1xyXG5cclxuICAvL+aYvuekuuihqOWNlVxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uc2hvdyh2YWx1ZSwgZWRpdG9yZmxhZyk7XHJcbiAgfVxyXG5cclxuICAvL+WFs+mXreihqOWNlVxyXG4gIGhpZGVGb3JtKGNsb3NlRmxhZyA9IHRydWUpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LmhpZGUoY2xvc2VGbGFnKTtcclxuICB9XHJcblxyXG4gIC8v5om56YeP5Yig6ZmkXHJcbiAgb25EZWxldGUoKSB7XHJcbiAgICBjb25zdCB7IGRlbGV0ZVVybCwgb25EZWxldGUsIGRlbGV0ZVBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkUm93S2V5cy5sZW5ndGggPT0gMCkge1xyXG4gICAgICBtZXNzYWdlLndhcm5pbmcoXCLor7fpgInmi6nopoHliKDpmaTnmoTmlbDmja7vvIFcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChvbkRlbGV0ZSkge1xyXG4gICAgICBvbkRlbGV0ZSAmJiBvbkRlbGV0ZShzZWxlY3RlZFJvd0tleXMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWRlbGV0ZVVybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICB9XHJcbiAgICBNb2RhbC5jb25maXJtKHtcclxuICAgICAgdGl0bGU6IFwi5piv5ZCm56Gu6K6k5Yig6Zmk5omA6YCJ6aG577yfXCIsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7orqRcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRQYXJhbXMgPSB7XHJcbiAgICAgICAgICBtZXRob2Q6IFwicG9zdFwiLFxyXG4gICAgICAgICAgcGFyYW1zOiB7IGlkczogc2VsZWN0ZWRSb3dLZXlzLmpvaW4oKSB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbGV0IHJlcXVlc3RQYXJhbXMgPSB7fSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKGRlZmF1bHRQYXJhbXMpIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbXMgPSB7IC4uLmRlbGV0ZVBhcmFtcyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWZhdWx0UGFyYW1zIH07XHJcbiAgICAgICAgcmVxdWVzdChkZWxldGVVcmwsIHtcclxuICAgICAgICAgIC4uLnJlcXVlc3RQYXJhbXMsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhcIuWIoOmZpOaIkOWKn++8gVwiKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5Yig6Zmk5aSx6LSl77yBXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyb3IpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgdGFibGVMb2FkKHBhcmFtczogYW55KSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLmxvYWQoe1xyXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvL+afpeivolxyXG4gIG9uU2VhcmNoKCkge1xyXG4gICAgY29uc3QgeyBvblNlYXJjaCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBpZiAob25TZWFyY2gpIHtcclxuICAgICAgb25TZWFyY2goZnJvbVZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZUxvYWQoZnJvbVZhbHVlKTtcclxuICB9XHJcbiAgLy/ooajmoLzph43mlrDliqDovb1cclxuICB0YWJsZVJlbG9hZCgpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUucmVsb2FkKCk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93S2V5cztcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dEYXRhcygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93RGF0YXM7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdChyZWNvcmQ6IGFueSwgc2VsZWN0ZWQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMsIHNlbGVjdGVkUm93RGF0YXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dEYXRhcyA9IFsuLi5zZWxlY3RlZFJvd0RhdGFzXTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBuZXdTZWxlY3RlZFJvd0tleXMgPSBbLi4ubmV3U2VsZWN0ZWRSb3dLZXlzLCByZWNvcmQuaWRdO1xyXG4gICAgICBuZXdTZWxlY3RlZFJvd0RhdGFzID0gWy4uLm5ld1NlbGVjdGVkUm93RGF0YXMsIHJlY29yZF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbSA9PT0gcmVjb3JkLmlkKSB7XHJcbiAgICAgICAgICBuZXdTZWxlY3RlZFJvd0tleXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0uaWQgPT09IHJlY29yZC5pZCkge1xyXG4gICAgICAgICAgbmV3U2VsZWN0ZWRSb3dEYXRhcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBuZXdTZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IG5ld1NlbGVjdGVkUm93RGF0YXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW9uT25TZWxlY3RBbGwoc2VsZWN0ZWQ6IGFueSwgc2VsZWN0ZWRSb3dzOiBhbnksIGNoYW5nZVJvd3M6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMsIHNlbGVjdGVkUm93RGF0YXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3aWRzOiBhbnkgPSBbXTtcclxuICAgIGxldCBuZXdkYXRhczogYW55ID0gW107XHJcbiAgICBpZiAoY2hhbmdlUm93cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBjaGFuZ2VJZHMgPSBjaGFuZ2VSb3dzLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLmlkKTtcclxuICAgICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgICAgbmV3aWRzID0gWy4uLnNlbGVjdGVkUm93S2V5cywgLi4uY2hhbmdlSWRzXTtcclxuICAgICAgICBuZXdkYXRhcyA9IFsuLi5zZWxlY3RlZFJvd0RhdGFzLCAuLi5jaGFuZ2VSb3dzXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZWxlY3RlZFJvd0tleXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjaGFuZ2VJZHMuaW5kZXhPZihpdGVtKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBuZXdpZHMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBzZWxlY3RlZFJvd0RhdGFzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hhbmdlSWRzLmluZGV4T2YoaXRlbS5pZCkgPT0gLTEpIHtcclxuICAgICAgICAgICAgbmV3ZGF0YXMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV3aWRzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICAgIG5ld2RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXNdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogWy4uLm5ld2lkc10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFsuLi5uZXdkYXRhc10sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zOiBhbnksIHJlY29yZDogYW55LCBhY3Rpb25CdXR0b24/OiBib29sZWFuKSB7XHJcbiAgICBjb25zdCB7IGVkaXRvckZvcm0gPSB0cnVlLCBidXR0b25zID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBmbGFnID0gY29sdW1uQnV0dG9ucy5sZW5ndGggPiAzO1xyXG5cclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChpbmRleCA+IDEpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NscyhcclxuICAgICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIiksXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC1pdGVtXCIpXHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgSWNvbiwgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIGlmIChpbmRleCA8IDIpIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtJY29ufSB7Y2hpbGRyZW59XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IDIpIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxQb3BvdmVyXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICAgIHRyaWdnZXI9e1tcImNsaWNrXCJdfVxyXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9PlxyXG4gICAgICAgICAgICAgICAg5pu05aSaXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvUG9wb3Zlcj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7SWNvbn0ge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIC8v5qCR54K55Ye75LqL5Lu2XHJcbiAgdHJlZVNlbGVjdChzZWxlY3RlZEtleXM6IGFueSwgeyBzZWxlY3RlZCwgc2VsZWN0ZWROb2RlcyB9OiBhbnkpIHtcclxuICAgIGxldCBrZXl3b3JkID0gXCJcIjtcclxuICAgIGNvbnN0IHsgc2VhcmNoS2V5ID0gXCJrZXlcIiwgc2VhcmNoRmllbGQgPSBcIlwiIH0gPSB0aGlzLnByb3BzLnRyZWVQcm9wcztcclxuICAgIGNvbnN0IHsgdHJlZVNlbGVjdGVkS2V5IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE5vZGVzWzBdLmlzTGVhZiB8fCAhc2VsZWN0ZWROb2Rlc1swXS5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEtleXNbMF0gIT09IHRyZWVTZWxlY3RlZEtleSkge1xyXG4gICAgICAgICAgLy8gbGV0IG1hcERhdGEgPSB0aGlzLnRyZWVSZWYuY3VycmVudD8uc3RvcmUuZ2V0RmxhdHRlbkRhdGEoKTtcclxuICAgICAgICAgIGtleXdvcmQgPSBzZWxlY3RlZE5vZGVzWzBdLmRhdGFyZWYuYXR0cmlidXRlW3NlYXJjaEtleV07XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdHJlZVNlbGVjdGVkS2V5OiBzZWxlY3RlZEtleXNbMF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHRyZWVTZWxlY3RlZEtleToga2V5d29yZCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgc2VhcmNoRmllbGQgJiYgdGhpcy50YWJsZUxvYWQoeyAuLi5mcm9tVmFsdWUsIFtzZWFyY2hGaWVsZF06IGtleXdvcmQgfSk7XHJcbiAgfVxyXG4gIHJlc2V0U2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcbiAgZ2V0VGV4dChwcm9wcywgdGV4dCkge1xyXG4gICAgbGV0IG5ld1RleHQgPSB0ZXh0O1xyXG4gICAgaWYgKHByb3BzPy5kYXRhICYmIHByb3BzPy5kYXRhPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBkYXRhID0gcHJvcHMuZGF0YTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhPy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChkYXRhW2ldLnZhbHVlID09IHRleHQpIHtcclxuICAgICAgICAgIG5ld1RleHQgPSBkYXRhW2ldLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld1RleHQ7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgYnV0dG9ucyA9IFtdLFxyXG4gICAgICBlZGl0b3JGb3JtID0gdHJ1ZSxcclxuICAgICAgb25TaG93Rm9ybSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBmaWx0ZXJDb2x1bW4gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25CdXR0b24gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25Db2x1bW4gPSB0cnVlLFxyXG4gICAgICBzaG93Um93U2VsZWN0aW9uID0gdHJ1ZSxcclxuICAgICAgLi4ub3RoZXJ0YWJsZVBhcmFtc1xyXG4gICAgfSA9IHRhYmxlUHJvcHM7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZTogdHJlZVN0b3JlID0ge30sXHJcbiAgICAgIHNob3dTZWFyY2g6IHRyZWVTZWFyY2ggPSB0cnVlLFxyXG4gICAgICB0aXRsZUFsaWFzID0gXCJ0aXRsZVwiLFxyXG4gICAgICAuLi5vdGhlcnRyZWVQYXJhbXNcclxuICAgIH0gPSB0cmVlUHJvcHM7XHJcblxyXG4gICAgbGV0IHRhYmxlUGFyYW1zID0geyBmaWx0ZXJDb2x1bW4sIHN0b3JlLCAuLi5vdGhlcnRhYmxlUGFyYW1zIH0gYXMgYW55O1xyXG5cclxuICAgIGlmIChzaG93Um93U2VsZWN0aW9uKSB7XHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIC4uLnRhYmxlUGFyYW1zLFxyXG4gICAgICAgIHJvd1NlbGVjdGlvbjoge1xyXG4gICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBzZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgICAgICBvblNlbGVjdDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgb25TZWxlY3RBbGw6IHRoaXMucm93U2VsZWN0aW9uT25TZWxlY3RBbGwuYmluZCh0aGlzKSxcclxuICAgICAgICAgIGNvbHVtbldpZHRoOiA0MCxcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFibGVDb2x1bW46IGFueVtdID0gW107XHJcbiAgICBjb25zdCBzZWFyY2hGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBlZGl0b3JGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBkZWZhdWx0VmFsdWU6IGFueSA9IHt9O1xyXG4gICAgY29sdW1ucy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAodGVtcC5zZWFyY2gpIHtcclxuICAgICAgICBzZWFyY2hGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNlYXJjaDtcclxuICAgICAgdGVtcC5lZGl0b3IgIT09IGZhbHNlICYmXHJcbiAgICAgICAgZWRpdG9yRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICBydWxlczogdGVtcC5ydWxlcyxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgICAgcHJvcHM6IG9taXQoeyAuLi50ZW1wLnByb3BzIH0sIFtcImRlZmF1bHRWYWx1ZVwiLCBcInZhbHVlXCJdKSxcclxuICAgICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4O1xyXG4gICAgICAgIGRlZmF1bHRWYWx1ZVtuYW1lXSA9IHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgbGV0IHRlbXBQcm9wID0geyAuLi50ZW1wLnByb3BzIH07XHJcbiAgICAgIGlmICh0ZW1wLnN0eWxlKSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICB7dGV4dCAhPT0gXCJcIiAmJiB0ZXh0ICE9PSBudWxsICYmIHRleHQgIT09IHVuZGVmaW5lZCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLWJhY2tcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLXRleHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnRlbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0ZW1wID0ge1xyXG4gICAgICAgICAgcmVuZGVyOiAodGV4dDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiA8Pnt0aGlzLmdldFRleHQodGVtcFByb3AsIHRleHQpfTwvPjtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi50ZW1wLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnByb3BzO1xyXG4gICAgICBpZiAodGVtcD8uY29sdW1uU2hvdyAhPT0gZmFsc2UpIHRhYmxlQ29sdW1uLnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHNlbGZCdXR0b25zOiBhbnkgPSBbXTtcclxuXHJcbiAgICBjb25zdCBjb2x1bW5CdXR0b25zOiBhbnkgPSBbXTtcclxuICAgIGlmIChhY3Rpb25CdXR0b24gJiYgZWRpdG9yRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJzZWFyY2hcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICBvblNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIGZhbHNlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICA8RXllT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9Puafpeecizwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImVkaXRvclwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKG9uU2hvd0Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIG9uU2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLnNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCB0cnVlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICA8RWRpdE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT7nvJbovpE8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7IHByb3BzIH06IGFueSA9IGNoaWxkcmVuO1xyXG4gICAgICBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgc2VsZkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhY3Rpb25Db2x1bW4gJiZcclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh7XHJcbiAgICAgICAgdGl0bGU6IFwi5pON5L2cXCIsXHJcbiAgICAgICAgZGF0YUluZGV4OiBcImFjdGlvblwiLFxyXG4gICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgICAgcmVuZGVyOiAodGV4dDogYW55LCByZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImFjdGlvblwiKX0+XHJcbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnMsIHJlY29yZCwgYWN0aW9uQnV0dG9uKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgY29uc3QgaGVhZGVyQ291bnQgPSBzaG93TGVmdCA/IDIgOiAzO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBhZ2VcIil9IHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiIH19PlxyXG4gICAgICAgIHtzaG93TGVmdCAmJiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibGVmdFwiKX0+XHJcbiAgICAgICAgICAgIDxUcmVlXHJcbiAgICAgICAgICAgICAgc3RvcmU9e3sgLi4udHJlZVN0b3JlIH19XHJcbiAgICAgICAgICAgICAgc2hvd0ljb249e2ZhbHNlfVxyXG4gICAgICAgICAgICAgIGNoZWNrYWJsZT17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgc2VhcmNoYWJsZT17dHJlZVNlYXJjaH1cclxuICAgICAgICAgICAgICBvblNlbGVjdD17dGhpcy50cmVlU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRLZXlzPXtbdGhpcy5zdGF0ZS50cmVlU2VsZWN0ZWRLZXldfVxyXG4gICAgICAgICAgICAgIHRpdGxlQWxpYXM9e3RpdGxlQWxpYXN9XHJcbiAgICAgICAgICAgICAgey4uLm90aGVydHJlZVBhcmFtc31cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICl9XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInJpZ2h0XCIpfT5cclxuICAgICAgICAgIHtzaG93U2VhcmNoICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImhlYWRlclwiKX0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Nscyh7IFtnZXRMZXNzKHN0eWxlcywgXCJmb3JtXCIpXTogIXNob3dMZWZ0IH0pfT5cclxuICAgICAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgICAgIHJlZj17dGhpcy5zZWFyY2hSZWZ9XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgd3JhcHBlckNvbD17e319XHJcbiAgICAgICAgICAgICAgICAgIGxheW91dD1cImlubGluZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IGhlYWRlckNvdW50ICYmICF0aGlzLnN0YXRlLmV4cGFuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZvcm0uSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBydWxlcz17aXRlbS5ydWxlc31cclxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge2dldE5vZGUoaXRlbS50eXBlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbS5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogYOivt+i+k+WFpSR7aXRlbS5sYWJlbH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwic2VhcmNoLWJ1dHRvbnNcIil9XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IDAgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnNlYXJjaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOafpeivolxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnJlc2V0U2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnJlZnJlc2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDph43nva5cclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDMgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmFfc3R5bGV9XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBleHBhbmQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kOiAhZXhwYW5kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IFwi5pS26LW3XCIgOiBcIuWxleW8gFwifVxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IDxVcE91dGxpbmVkIC8+IDogPERvd25PdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge3Nob3dUb29sQnV0dG9uICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidG9vbC1idXR0b25zXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtidXR0b25zLmluZGV4T2YoXCJhZGRcIikgPiAtMSAmJiBlZGl0b3JGb3JtID09IHRydWUgJiYgKFxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgb25TaG93Rm9ybSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICAgICAgICAgICAgICBpZiAob25TaG93Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgb25TaG93Rm9ybSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLmFkZH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOa3u+WKoFxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICB7YnV0dG9ucy5pbmRleE9mKFwiZGVsZXRlXCIpID4gLTEgJiYgKFxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAvLyB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vbkRlbGV0ZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5kZWxldGUzfSAvPn1cclxuICAgICAgICAgICAgICAgICAgZGFuZ2VyXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOWIoOmZpFxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICB7c2VsZkJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntpdGVtfTwvZGl2PjtcclxuICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRhYmxlXCIpfT5cclxuICAgICAgICAgICAgPFRhYmxlXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnRhYmxlUmVmfVxyXG4gICAgICAgICAgICAgIGNvbHVtbnM9e3RhYmxlQ29sdW1ufVxyXG4gICAgICAgICAgICAgIGV4cGFuZGFibGU9e3tcclxuICAgICAgICAgICAgICAgIGV4cGFuZEljb246ICh7IGV4cGFuZGVkLCBvbkV4cGFuZCwgcmVjb3JkIH0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAge2V4cGFuZGVkID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IG9uRXhwYW5kKHJlY29yZCwgZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmQtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5jaGlsZE5vZGVzICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8UmlnaHRPdXRsaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IG9uRXhwYW5kKHJlY29yZCwgZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImV4cGFuZC1pY29uXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgey4uLnRhYmxlUGFyYW1zfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge2VkaXRvckZvcm0gJiYgKFxyXG4gICAgICAgICAgPEVkaXRvckZvcm1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLmVkaXRvclJlZn1cclxuICAgICAgICAgICAgY2FsbEJhY2s9e3RoaXMudGFibGVSZWxvYWQuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXtlZGl0b3JGb3Jtc31cclxuICAgICAgICAgICAgc3VibWl0VXJsPXtzdWJtaXRVcmx9XHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcz17c3VibWl0UGFyYW1zfVxyXG4gICAgICAgICAgICBvblN1Ym1pdD17dGhpcy5wcm9wcy5vblN1Ym1pdH1cclxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgQmFzZVBhZ2U7XHJcbiJdfQ==
|
|
805
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJFeWVPdXRsaW5lZCIsIkVkaXRPdXRsaW5lZCIsIlJpZ2h0T3V0bGluZWQiLCJnZXRMZXNzIiwiZ2V0Tm9kZSIsInJlcXVlc3QiLCJvbWl0IiwiQmFzZVBhZ2UiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImNoZWNrZWRUcmVlS2V5cyIsInN0YXRlIiwibmFtZSIsInVzZXJUeXBlIiwiYWNjb3VudCIsInZhbHVlIiwiZGVwdElkIiwidGFibGVMb2FkIiwidHlwZSIsInNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93RGF0YXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJleHBhbmQiLCJpbml0RGF0YSIsImVkaXRvcmZsYWciLCJlZGl0b3JSZWYiLCJjdXJyZW50Iiwic2hvdyIsImNsb3NlRmxhZyIsImhpZGUiLCJkZWxldGVVcmwiLCJvbkRlbGV0ZSIsImRlbGV0ZVBhcmFtcyIsImxlbmd0aCIsIndhcm5pbmciLCJFcnJvciIsImNvbmZpcm0iLCJ0aXRsZSIsIm9rVGV4dCIsImNhbmNlbFRleHQiLCJvbk9rIiwiZGVmYXVsdFBhcmFtcyIsIm1ldGhvZCIsInBhcmFtcyIsImlkcyIsImpvaW4iLCJyZXF1ZXN0UGFyYW1zIiwidGhlbiIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ0YWJsZVJlZiIsInN0b3JlIiwibG9hZCIsIm9uU2VhcmNoIiwiZnJvbVZhbHVlIiwic2VhcmNoUmVmIiwiZ2V0RmllbGRzVmFsdWUiLCJyZWxvYWQiLCJyZWNvcmQiLCJzZWxlY3RlZCIsIm5ld1NlbGVjdGVkUm93S2V5cyIsIm5ld1NlbGVjdGVkUm93RGF0YXMiLCJpZCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInNwbGljZSIsInNldFN0YXRlIiwic2VsZWN0ZWRSb3dzIiwiY2hhbmdlUm93cyIsIm5ld2lkcyIsIm5ld2RhdGFzIiwiY2hhbmdlSWRzIiwiaW5kZXhPZiIsInB1c2giLCJjb2x1bW5CdXR0b25zIiwiYWN0aW9uQnV0dG9uIiwiZWRpdG9yRm9ybSIsImJ1dHRvbnMiLCJmbGFnIiwiY29udGVudCIsImNoaWxkcmVuIiwicGFnZVR5cGUiLCJvbkNsaWNrIiwic2VsZWN0ZWRLZXlzIiwic2VsZWN0ZWROb2RlcyIsImtleXdvcmQiLCJ0cmVlUHJvcHMiLCJzZWFyY2hLZXkiLCJzZWFyY2hGaWVsZCIsImlzTGVhZiIsImRhdGFyZWYiLCJhdHRyaWJ1dGUiLCJyZXNldEZpZWxkcyIsInRleHQiLCJuZXdUZXh0IiwiZGF0YSIsImkiLCJsYWJlbCIsImNvbHVtbnMiLCJzaG93U2VhcmNoIiwic3VibWl0VXJsIiwidGFibGVQcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJvblNob3dGb3JtIiwiZmlsdGVyQ29sdW1uIiwiYWN0aW9uQ29sdW1uIiwic2hvd1Jvd1NlbGVjdGlvbiIsImNvbHVtbk9yZGVyIiwib3RoZXJ0YWJsZVBhcmFtcyIsInRyZWVTdG9yZSIsInRyZWVTZWFyY2giLCJ0aXRsZUFsaWFzIiwib3RoZXJ0cmVlUGFyYW1zIiwidGFibGVQYXJhbXMiLCJyb3dTZWxlY3Rpb24iLCJvblNlbGVjdCIsInJvd1NlbGVjdGlvbk9uU2VsZWN0IiwiYmluZCIsIm9uU2VsZWN0QWxsIiwicm93U2VsZWN0aW9uT25TZWxlY3RBbGwiLCJjb2x1bW5XaWR0aCIsInRhYmxlQ29sdW1uIiwic2VhcmNoRm9ybXMiLCJlZGl0b3JGb3JtcyIsImRlZmF1bHRWYWx1ZSIsInRlbXAiLCJzZWFyY2giLCJmaWVsZCIsImRhdGFJbmRleCIsImVkaXRvciIsInJ1bGVzIiwic3BhbiIsImRpY3ROYW1lIiwidW5kZWZpbmVkIiwiY29sdW1uU2VhcmNoIiwiZmlsdGVyUHJvcHMiLCJ0ZW1wUHJvcCIsInN0eWxlIiwicmVuZGVyIiwiZ2V0VGV4dCIsImNvbHVtblNob3ciLCJzZWxmQnV0dG9ucyIsInNob3dGb3JtIiwiQXJyYXkiLCJpc0FycmF5IiwiYWxpZ24iLCJ3aWR0aCIsInJlbmRlckNsb3VtbkJ1dHRvbiIsImhlYWRlckNvdW50IiwicmVhY29yZCIsImRpc3BsYXkiLCJ0cmVlU2VsZWN0IiwicGxhY2Vob2xkZXIiLCJtYXJnaW5Ub3AiLCJyZXNldFNlYXJjaCIsInJlZnJlc2giLCJhX3N0eWxlIiwibWFyZ2luTGVmdCIsImFkZCIsImRlbGV0ZTMiLCJleHBhbmRJY29uIiwiZXhwYW5kZWQiLCJvbkV4cGFuZCIsImUiLCJjaGlsZE5vZGVzIiwidGFibGVSZWxvYWQiLCJvblN1Ym1pdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLGtCQUFsQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLG1CQUFuQjtBQUNBLE9BQU9DLEtBQVAsTUFBa0Isa0JBQWxCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixvQkFBcEI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLG9CQUFwQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsNEJBQWpCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QixpQkFBekI7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLFFBQXZCO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIscUJBQW5CO0FBRUEsU0FDRUMsWUFERixF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aEI7QUFNRSxRQUFBLFFBQVEsRUFBRSxLQUFLckcsS0FBTCxDQUFXc0ssUUFOdkI7QUFPRSxRQUFBLFlBQVksRUFBRTFDO0FBUGhCLFFBcEpKLENBREY7QUFpS0Q7Ozs7RUF0b0JvQm5KLGE7O0FBd29CdkIsZUFBZXNCLFFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgVGFibGUgZnJvbSBcIi4uLy4uL2Jhc2UvdGFibGVcIjtcclxuaW1wb3J0IFRyZWUgZnJvbSBcIi4uLy4uL2Jhc2UvdHJlZVwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vLi4vYmFzZS9tb2RhbFwiO1xyXG5pbXBvcnQgUG9wb3ZlciBmcm9tIFwiLi4vLi4vYmFzZS9wb3BvdmVyXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi8uLi9iYXNlL21lc3NhZ2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uL2Jhc2UvY29tbW9uL0ljb25Gb250XCI7XHJcbmltcG9ydCB7IGljb25UeXBlIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgRWRpdG9yRm9ybSBmcm9tIFwiLi9Gb3JtXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5tb2R1bGUubGVzc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgUGFnZVN0b3JlLCBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIFVwT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbiAgRWRpdE91dGxpbmVkLFxyXG4gIFJpZ2h0T3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHJlcXVlc3QgZnJvbSBcIm5zYy1yZXF1ZXN0XCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmludGVyZmFjZSBUYWJsZVByb3BzIHtcclxuICBhY3Rpb25Db2x1bW4/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaTjeS9nOWIl1xyXG4gIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm6buY6K6k5pi+56S65paw5aKe77yM57yW6L6R6buY6K6k5oyJ6ZKuXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbiAgcGFnaW5hdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG6aG1XHJcbiAgW3Byb3BzTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmludGVyZmFjZSBUcmVlUHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmkJzntKLmoYZcclxuICBzZWFyY2hLZXk/OiBzdHJpbmc7IC8v5pCc57SidmFsdWXlr7nlupTnmoRrZXlcclxuICBzZWFyY2hGaWVsZD86IHN0cmluZzsgLy/mn6Xor6Llr7nlupTnmoRrZXlcclxuICB0aXRsZUFsaWFzPzogc3RyaW5nOyAvL+agkXRpdGxl5a+55bqU55qEa2V5LOm7mOiupHRpdGxlXHJcbiAgbm9kZVBvcnBzPzogb2JqZWN0O1xyXG59XHJcbmludGVyZmFjZSBOU0NCYXNlQmFnZVByb3BzIHtcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlpLTpg6jmkJzntKLmoI9cclxuICB0YWJsZVByb3BzPzogVGFibGVQcm9wczsgLy/ooajmoLzlj4LmlbBcclxuICB0cmVlUHJvcHM/OiBUcmVlUHJvcHM7IC8v5bem5L6n5qCR5Y+C5pWwXHJcbiAgc3VibWl0UGFyYW1zPzogT2JqZWN0OyAvL+a3u+WKoOWPguaVsO+8jOm7mOiupG1vdGhvZDpwb3N077yMIOWPguaVsOmAmui/h2RhdGHkvKDpgJJcclxuICBzdWJtaXRVcmw/OiBzdHJpbmc7XHJcbiAgb25TdWJtaXQ/OiAodmFsdWU/OiBhbnksIGxhYmVsPzogYW55KSA9PiB2b2lkO1xyXG4gIGNvbHVtbnM6IEFycmF5PE9iamVjdD47XHJcbiAgc2hvd0xlZnQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuW3puS+p+ebruW9leagkVxyXG4gIHNob3dUb29sQnV0dG9uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmjInpkq7moI9cclxuICBlZGl0b3JGb3JtPzogYm9vbGVhbjsgLy/mmK/lkKbpnIDopoHooajljZXlip/og70gLCDkuLpmYWxzZSDnvJbovpHvvIzmn6XnnIvvvIzmlrDlop7lip/og73lnYfkuI3lj6/nlKhcclxuICBkZWxldGVVcmw/OiBzdHJpbmc7IC8v5Yig6ZmkdXJsXHJcbiAgb25EZWxldGU/OiAoc2VsZWN0ZWRLZXlzPzogQXJyYXk8YW55PikgPT4gdm9pZDsgLy/liKDpmaTlj4LmlbDvvIzpu5jorqRtb3Rob2Q6cG9zdO+8jCDlj4LmlbDpgJrov4dpZHPmi7zmjqXkvKDpgJLnu5nlkI7lj7BcclxuICBkZWxldGVQYXJhbXM/OiBPYmplY3Q7XHJcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XHJcbiAgb25TZWFyY2g/OiAodmFsdWU/OiBhbnkpID0+IHZvaWQ7XHJcbiAgaW5pdERhdGE/OiBhbnk7IC8v5Yid5aeL5YyW5Zue6LCD5Ye95pWw77yM5ZyoY29tcG9uZW50RGlkTW91bnTkuK3osIPnlKhcclxuICBidXR0b25zPzogQXJyYXk8c3RyaW5nPjsgLy/mjInpkq7pm4blkIggIFsnYWRkJywnZGVsZXRlJywnc2VhcmNoJywnZWRpdG9yJ11cclxuICBvblNob3dGb3JtPzogKHZhbHVlPzogYW55LCBlZGl0b3JGbGFnPzogYm9vbGVhbikgPT4gdm9pZDsgLy/miZPlvIDooajljZXlm57osINcclxufVxyXG5cclxuY2xhc3MgQmFzZVBhZ2UgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE5TQ0Jhc2VCYWdlUHJvcHMsIGFueT4ge1xyXG4gIHRhYmxlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICB0cmVlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzZWFyY2hSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGVkaXRvclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBhbnkpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgIHR5cGU6IFwiYWRkXCIsXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogW10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFtdLFxyXG4gICAgICB0cmVlU2VsZWN0ZWRLZXk6IFwiXCIsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgaW5pdERhdGEgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpbml0RGF0YSAmJiBpbml0RGF0YSgpO1xyXG4gIH1cclxuICBvblNlbGVjdCA9IChjaGVja2VkVHJlZUtleXM6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHZhbHVlID0geyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCwgZGVwdElkOiBjaGVja2VkVHJlZUtleXNbMF0gfTtcclxuICAgIHRoaXMudGFibGVMb2FkKHZhbHVlKTtcclxuICB9O1xyXG5cclxuICAvL+aYvuekuuihqOWNlVxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uc2hvdyh2YWx1ZSwgZWRpdG9yZmxhZyk7XHJcbiAgfVxyXG5cclxuICAvL+WFs+mXreihqOWNlVxyXG4gIGhpZGVGb3JtKGNsb3NlRmxhZyA9IHRydWUpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LmhpZGUoY2xvc2VGbGFnKTtcclxuICB9XHJcblxyXG4gIC8v5om56YeP5Yig6ZmkXHJcbiAgb25EZWxldGUoKSB7XHJcbiAgICBjb25zdCB7IGRlbGV0ZVVybCwgb25EZWxldGUsIGRlbGV0ZVBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkUm93S2V5cy5sZW5ndGggPT0gMCkge1xyXG4gICAgICBtZXNzYWdlLndhcm5pbmcoXCLor7fpgInmi6nopoHliKDpmaTnmoTmlbDmja7vvIFcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChvbkRlbGV0ZSkge1xyXG4gICAgICBvbkRlbGV0ZSAmJiBvbkRlbGV0ZShzZWxlY3RlZFJvd0tleXMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWRlbGV0ZVVybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICB9XHJcbiAgICBNb2RhbC5jb25maXJtKHtcclxuICAgICAgdGl0bGU6IFwi5piv5ZCm56Gu6K6k5Yig6Zmk5omA6YCJ6aG577yfXCIsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7orqRcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRQYXJhbXMgPSB7XHJcbiAgICAgICAgICBtZXRob2Q6IFwicG9zdFwiLFxyXG4gICAgICAgICAgcGFyYW1zOiB7IGlkczogc2VsZWN0ZWRSb3dLZXlzLmpvaW4oKSB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbGV0IHJlcXVlc3RQYXJhbXMgPSB7fSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKGRlZmF1bHRQYXJhbXMpIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbXMgPSB7IC4uLmRlbGV0ZVBhcmFtcyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWZhdWx0UGFyYW1zIH07XHJcbiAgICAgICAgcmVxdWVzdChkZWxldGVVcmwsIHtcclxuICAgICAgICAgIC4uLnJlcXVlc3RQYXJhbXMsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhcIuWIoOmZpOaIkOWKn++8gVwiKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5Yig6Zmk5aSx6LSl77yBXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyb3IpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgdGFibGVMb2FkKHBhcmFtczogYW55KSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLmxvYWQoe1xyXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvL+afpeivolxyXG4gIG9uU2VhcmNoKCkge1xyXG4gICAgY29uc3QgeyBvblNlYXJjaCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBpZiAob25TZWFyY2gpIHtcclxuICAgICAgb25TZWFyY2goZnJvbVZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZUxvYWQoZnJvbVZhbHVlKTtcclxuICB9XHJcbiAgLy/ooajmoLzph43mlrDliqDovb1cclxuICB0YWJsZVJlbG9hZCgpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUucmVsb2FkKCk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93S2V5cztcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dEYXRhcygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93RGF0YXM7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdChyZWNvcmQ6IGFueSwgc2VsZWN0ZWQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMsIHNlbGVjdGVkUm93RGF0YXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dEYXRhcyA9IFsuLi5zZWxlY3RlZFJvd0RhdGFzXTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBuZXdTZWxlY3RlZFJvd0tleXMgPSBbLi4ubmV3U2VsZWN0ZWRSb3dLZXlzLCByZWNvcmQuaWRdO1xyXG4gICAgICBuZXdTZWxlY3RlZFJvd0RhdGFzID0gWy4uLm5ld1NlbGVjdGVkUm93RGF0YXMsIHJlY29yZF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbSA9PT0gcmVjb3JkLmlkKSB7XHJcbiAgICAgICAgICBuZXdTZWxlY3RlZFJvd0tleXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0uaWQgPT09IHJlY29yZC5pZCkge1xyXG4gICAgICAgICAgbmV3U2VsZWN0ZWRSb3dEYXRhcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBuZXdTZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IG5ld1NlbGVjdGVkUm93RGF0YXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW9uT25TZWxlY3RBbGwoc2VsZWN0ZWQ6IGFueSwgc2VsZWN0ZWRSb3dzOiBhbnksIGNoYW5nZVJvd3M6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMsIHNlbGVjdGVkUm93RGF0YXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3aWRzOiBhbnkgPSBbXTtcclxuICAgIGxldCBuZXdkYXRhczogYW55ID0gW107XHJcbiAgICBpZiAoY2hhbmdlUm93cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBjaGFuZ2VJZHMgPSBjaGFuZ2VSb3dzLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLmlkKTtcclxuICAgICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgICAgbmV3aWRzID0gWy4uLnNlbGVjdGVkUm93S2V5cywgLi4uY2hhbmdlSWRzXTtcclxuICAgICAgICBuZXdkYXRhcyA9IFsuLi5zZWxlY3RlZFJvd0RhdGFzLCAuLi5jaGFuZ2VSb3dzXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZWxlY3RlZFJvd0tleXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjaGFuZ2VJZHMuaW5kZXhPZihpdGVtKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBuZXdpZHMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBzZWxlY3RlZFJvd0RhdGFzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hhbmdlSWRzLmluZGV4T2YoaXRlbS5pZCkgPT0gLTEpIHtcclxuICAgICAgICAgICAgbmV3ZGF0YXMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV3aWRzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICAgIG5ld2RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXNdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogWy4uLm5ld2lkc10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFsuLi5uZXdkYXRhc10sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zOiBhbnksIHJlY29yZDogYW55LCBhY3Rpb25CdXR0b24/OiBib29sZWFuKSB7XHJcbiAgICBjb25zdCB7IGVkaXRvckZvcm0gPSB0cnVlLCBidXR0b25zID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBmbGFnID0gY29sdW1uQnV0dG9ucy5sZW5ndGggPiAzO1xyXG5cclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChpbmRleCA+IDEpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NscyhcclxuICAgICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIiksXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC1pdGVtXCIpXHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgSWNvbiwgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIGlmIChpbmRleCA8IDIpIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtJY29ufSB7Y2hpbGRyZW59XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IDIpIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxQb3BvdmVyXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICAgIHRyaWdnZXI9e1tcImhvdmVyXCJdfVxyXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9PlxyXG4gICAgICAgICAgICAgICAg5pu05aSaXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvUG9wb3Zlcj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7SWNvbn0ge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIC8v5qCR54K55Ye75LqL5Lu2XHJcbiAgdHJlZVNlbGVjdChzZWxlY3RlZEtleXM6IGFueSwgeyBzZWxlY3RlZCwgc2VsZWN0ZWROb2RlcyB9OiBhbnkpIHtcclxuICAgIGxldCBrZXl3b3JkID0gXCJcIjtcclxuICAgIGNvbnN0IHsgc2VhcmNoS2V5ID0gXCJrZXlcIiwgc2VhcmNoRmllbGQgPSBcIlwiIH0gPSB0aGlzLnByb3BzLnRyZWVQcm9wcztcclxuICAgIGNvbnN0IHsgdHJlZVNlbGVjdGVkS2V5IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE5vZGVzWzBdLmlzTGVhZiB8fCAhc2VsZWN0ZWROb2Rlc1swXS5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEtleXNbMF0gIT09IHRyZWVTZWxlY3RlZEtleSkge1xyXG4gICAgICAgICAgLy8gbGV0IG1hcERhdGEgPSB0aGlzLnRyZWVSZWYuY3VycmVudD8uc3RvcmUuZ2V0RmxhdHRlbkRhdGEoKTtcclxuICAgICAgICAgIGtleXdvcmQgPSBzZWxlY3RlZE5vZGVzWzBdLmRhdGFyZWYuYXR0cmlidXRlW3NlYXJjaEtleV07XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdHJlZVNlbGVjdGVkS2V5OiBzZWxlY3RlZEtleXNbMF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHRyZWVTZWxlY3RlZEtleToga2V5d29yZCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgc2VhcmNoRmllbGQgJiYgdGhpcy50YWJsZUxvYWQoeyAuLi5mcm9tVmFsdWUsIFtzZWFyY2hGaWVsZF06IGtleXdvcmQgfSk7XHJcbiAgfVxyXG4gIHJlc2V0U2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcbiAgZ2V0VGV4dChwcm9wcywgdGV4dCkge1xyXG4gICAgbGV0IG5ld1RleHQgPSB0ZXh0O1xyXG4gICAgaWYgKHByb3BzPy5kYXRhICYmIHByb3BzPy5kYXRhPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBkYXRhID0gcHJvcHMuZGF0YTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhPy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChkYXRhW2ldLnZhbHVlID09IHRleHQpIHtcclxuICAgICAgICAgIG5ld1RleHQgPSBkYXRhW2ldLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld1RleHQ7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgYnV0dG9ucyA9IFtdLFxyXG4gICAgICBlZGl0b3JGb3JtID0gdHJ1ZSxcclxuICAgICAgb25TaG93Rm9ybSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBmaWx0ZXJDb2x1bW4gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25CdXR0b24gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25Db2x1bW4gPSB0cnVlLFxyXG4gICAgICBzaG93Um93U2VsZWN0aW9uID0gdHJ1ZSxcclxuICAgICAgY29sdW1uT3JkZXIgPSB0cnVlLFxyXG4gICAgICAuLi5vdGhlcnRhYmxlUGFyYW1zXHJcbiAgICB9ID0gdGFibGVQcm9wcztcclxuXHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlOiB0cmVlU3RvcmUgPSB7fSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJlZVNlYXJjaCA9IHRydWUsXHJcbiAgICAgIHRpdGxlQWxpYXMgPSBcInRpdGxlXCIsXHJcbiAgICAgIC4uLm90aGVydHJlZVBhcmFtc1xyXG4gICAgfSA9IHRyZWVQcm9wcztcclxuXHJcbiAgICBsZXQgdGFibGVQYXJhbXMgPSB7IGZpbHRlckNvbHVtbiwgc3RvcmUsIC4uLm90aGVydGFibGVQYXJhbXMgfSBhcyBhbnk7XHJcblxyXG4gICAgaWYgKHNob3dSb3dTZWxlY3Rpb24pIHtcclxuICAgICAgdGFibGVQYXJhbXMgPSB7XHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgICAgcm93U2VsZWN0aW9uOiB7XHJcbiAgICAgICAgICBzZWxlY3RlZFJvd0tleXM6IHNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgIG9uU2VsZWN0OiB0aGlzLnJvd1NlbGVjdGlvbk9uU2VsZWN0LmJpbmQodGhpcyksXHJcbiAgICAgICAgICBvblNlbGVjdEFsbDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdEFsbC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgY29sdW1uV2lkdGg6IDQwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBsZXQgdGFibGVDb2x1bW46IGFueVtdID0gW107XHJcbiAgICBjb25zdCBzZWFyY2hGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBlZGl0b3JGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBkZWZhdWx0VmFsdWU6IGFueSA9IHt9O1xyXG4gICAgY29sdW1ucy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAodGVtcC5zZWFyY2gpIHtcclxuICAgICAgICBzZWFyY2hGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNlYXJjaDtcclxuICAgICAgdGVtcC5lZGl0b3IgIT09IGZhbHNlICYmXHJcbiAgICAgICAgZWRpdG9yRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICBydWxlczogdGVtcC5ydWxlcyxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgICAgcHJvcHM6IG9taXQoeyAuLi50ZW1wLnByb3BzIH0sIFtcImRlZmF1bHRWYWx1ZVwiLCBcInZhbHVlXCJdKSxcclxuICAgICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4O1xyXG4gICAgICAgIGRlZmF1bHRWYWx1ZVtuYW1lXSA9IHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgbGV0IHRlbXBQcm9wID0geyAuLi50ZW1wLnByb3BzIH07XHJcbiAgICAgIGlmICh0ZW1wLnN0eWxlKSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICB7dGV4dCAhPT0gXCJcIiAmJiB0ZXh0ICE9PSBudWxsICYmIHRleHQgIT09IHVuZGVmaW5lZCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLWJhY2tcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLXRleHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnRlbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0ZW1wID0ge1xyXG4gICAgICAgICAgcmVuZGVyOiAodGV4dDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiA8Pnt0aGlzLmdldFRleHQodGVtcFByb3AsIHRleHQpfTwvPjtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi50ZW1wLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnByb3BzO1xyXG4gICAgICBpZiAodGVtcD8uY29sdW1uU2hvdyAhPT0gZmFsc2UpIHRhYmxlQ29sdW1uLnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHNlbGZCdXR0b25zOiBhbnkgPSBbXTtcclxuXHJcbiAgICBjb25zdCBjb2x1bW5CdXR0b25zOiBhbnkgPSBbXTtcclxuICAgIGlmIChhY3Rpb25CdXR0b24gJiYgZWRpdG9yRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJzZWFyY2hcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICBvblNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIGZhbHNlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICA8RXllT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9Puafpeecizwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImVkaXRvclwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKG9uU2hvd0Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIG9uU2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLnNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCB0cnVlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICA8RWRpdE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT7nvJbovpE8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7IHByb3BzIH06IGFueSA9IGNoaWxkcmVuO1xyXG4gICAgICBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgc2VsZkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhY3Rpb25Db2x1bW4gJiZcclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh7XHJcbiAgICAgICAgdGl0bGU6IFwi5pON5L2cXCIsXHJcbiAgICAgICAgZGF0YUluZGV4OiBcImFjdGlvblwiLFxyXG4gICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgICAgcmVuZGVyOiAodGV4dDogYW55LCByZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImFjdGlvblwiKX0+XHJcbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnMsIHJlY29yZCwgYWN0aW9uQnV0dG9uKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgY29uc3QgaGVhZGVyQ291bnQgPSBzaG93TGVmdCA/IDIgOiAzO1xyXG4gICAgaWYgKGNvbHVtbk9yZGVyKVxyXG4gICAgICB0YWJsZUNvbHVtbiA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogXCIjXCIsXHJcbiAgICAgICAgICB3aWR0aDogMzAsXHJcbiAgICAgICAgICBhbGlnbjonY2VudGVyJyxcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQsIHJlYWNvcmQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiA8PntpbmRleCArIDF9PC8+O1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnRhYmxlQ29sdW1uLFxyXG4gICAgICBdO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBhZ2VcIil9IHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiIH19PlxyXG4gICAgICAgIHtzaG93TGVmdCAmJiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibGVmdFwiKX0+XHJcbiAgICAgICAgICAgIDxUcmVlXHJcbiAgICAgICAgICAgICAgc3RvcmU9e3sgLi4udHJlZVN0b3JlIH19XHJcbiAgICAgICAgICAgICAgc2hvd0ljb249e2ZhbHNlfVxyXG4gICAgICAgICAgICAgIGNoZWNrYWJsZT17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgc2VhcmNoYWJsZT17dHJlZVNlYXJjaH1cclxuICAgICAgICAgICAgICBvblNlbGVjdD17dGhpcy50cmVlU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRLZXlzPXtbdGhpcy5zdGF0ZS50cmVlU2VsZWN0ZWRLZXldfVxyXG4gICAgICAgICAgICAgIHRpdGxlQWxpYXM9e3RpdGxlQWxpYXN9XHJcbiAgICAgICAgICAgICAgey4uLm90aGVydHJlZVBhcmFtc31cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICl9XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInJpZ2h0XCIpfT5cclxuICAgICAgICAgIHtzaG93U2VhcmNoICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImhlYWRlclwiKX0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Nscyh7IFtnZXRMZXNzKHN0eWxlcywgXCJmb3JtXCIpXTogIXNob3dMZWZ0IH0pfT5cclxuICAgICAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgICAgIHJlZj17dGhpcy5zZWFyY2hSZWZ9XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgd3JhcHBlckNvbD17e319XHJcbiAgICAgICAgICAgICAgICAgIGxheW91dD1cImlubGluZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IGhlYWRlckNvdW50ICYmICF0aGlzLnN0YXRlLmV4cGFuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZvcm0uSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBydWxlcz17aXRlbS5ydWxlc31cclxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge2dldE5vZGUoaXRlbS50eXBlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbS5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogYOivt+i+k+WFpSR7aXRlbS5sYWJlbH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwic2VhcmNoLWJ1dHRvbnNcIil9XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IDAgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnNlYXJjaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOafpeivolxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnJlc2V0U2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnJlZnJlc2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDph43nva5cclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDMgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmFfc3R5bGV9XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBleHBhbmQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kOiAhZXhwYW5kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IFwi5pS26LW3XCIgOiBcIuWxleW8gFwifVxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IDxVcE91dGxpbmVkIC8+IDogPERvd25PdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge3Nob3dUb29sQnV0dG9uICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidG9vbC1idXR0b25zXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtidXR0b25zLmluZGV4T2YoXCJhZGRcIikgPiAtMSAmJiBlZGl0b3JGb3JtID09IHRydWUgJiYgKFxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgb25TaG93Rm9ybSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICAgICAgICAgICAgICBpZiAob25TaG93Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgb25TaG93Rm9ybSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLmFkZH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOa3u+WKoFxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICB7YnV0dG9ucy5pbmRleE9mKFwiZGVsZXRlXCIpID4gLTEgJiYgKFxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAvLyB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vbkRlbGV0ZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5kZWxldGUzfSAvPn1cclxuICAgICAgICAgICAgICAgICAgZGFuZ2VyXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOWIoOmZpFxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICB7c2VsZkJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntpdGVtfTwvZGl2PjtcclxuICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRhYmxlXCIpfT5cclxuICAgICAgICAgICAgPFRhYmxlXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnRhYmxlUmVmfVxyXG4gICAgICAgICAgICAgIGNvbHVtbnM9e3RhYmxlQ29sdW1ufVxyXG4gICAgICAgICAgICAgIGV4cGFuZGFibGU9e3tcclxuICAgICAgICAgICAgICAgIGV4cGFuZEljb246ICh7IGV4cGFuZGVkLCBvbkV4cGFuZCwgcmVjb3JkIH0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAge2V4cGFuZGVkID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IG9uRXhwYW5kKHJlY29yZCwgZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmQtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5jaGlsZE5vZGVzICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8UmlnaHRPdXRsaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IG9uRXhwYW5kKHJlY29yZCwgZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImV4cGFuZC1pY29uXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY29sdW1uT3JkZXI9e3RydWV9XHJcbiAgICAgICAgICAgICAgYm9yZGVyZWQ9e3RydWV9XHJcbiAgICAgICAgICAgICAgey4uLnRhYmxlUGFyYW1zfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge2VkaXRvckZvcm0gJiYgKFxyXG4gICAgICAgICAgPEVkaXRvckZvcm1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLmVkaXRvclJlZn1cclxuICAgICAgICAgICAgY2FsbEJhY2s9e3RoaXMudGFibGVSZWxvYWQuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXtlZGl0b3JGb3Jtc31cclxuICAgICAgICAgICAgc3VibWl0VXJsPXtzdWJtaXRVcmx9XHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcz17c3VibWl0UGFyYW1zfVxyXG4gICAgICAgICAgICBvblN1Ym1pdD17dGhpcy5wcm9wcy5vblN1Ym1pdH1cclxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgQmFzZVBhZ2U7XHJcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nsc-react-component",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.16",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@babel/preset-typescript": "^7.13.0",
|
|
26
26
|
"@types/react": "^17.0.3",
|
|
27
27
|
"@types/react-dom": "^17.0.2",
|
|
28
|
-
"antd": "4.
|
|
28
|
+
"antd": "4.19.1",
|
|
29
29
|
"babel-loader": "^8.2.2",
|
|
30
30
|
"babel-plugin-import": "^1.13.3",
|
|
31
31
|
"classnames": "^2.2.6",
|
|
@@ -51,12 +51,12 @@
|
|
|
51
51
|
"webpack-cli": "^4.6.0"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
|
+
"@bj-nsc/functions": ">=1.2.25",
|
|
55
|
+
"@bj-nsc/msn": ">=1.0.15",
|
|
54
56
|
"antd": "^4.19.0",
|
|
55
57
|
"nsc-request": ">=2.2.0",
|
|
56
58
|
"react": ">=16.9.0",
|
|
57
|
-
"react-dom": ">=16.9.0"
|
|
58
|
-
"@bj-nsc/functions": ">=1.2.25",
|
|
59
|
-
"@bj-nsc/msn": ">=1.0.15"
|
|
59
|
+
"react-dom": ">=16.9.0"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@ant-design/icons": "^4.6.2",
|