nsc-react-component 2.0.19 → 2.1.1
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/errorboundary/index.d.ts +12 -0
- package/lib/base/errorboundary/index.js +69 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/page/BasePage/Form.d.ts +1 -0
- package/lib/page/BasePage/Form.js +23 -13
- package/lib/page/BasePage/index.d.ts +2 -0
- package/lib/page/BasePage/index.js +42 -5
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { Component } from "react";
|
|
2
|
+
interface ErrorProps {
|
|
3
|
+
autoLogSerice?: boolean;
|
|
4
|
+
serviceName?: string;
|
|
5
|
+
terminal?: string;
|
|
6
|
+
}
|
|
7
|
+
export default class ErrorBoundary extends Component<ErrorProps, any> {
|
|
8
|
+
constructor(props: any);
|
|
9
|
+
componentDidCatch(error: any, errorInfo: any): void;
|
|
10
|
+
render(): React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
2
|
+
|
|
3
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
4
|
+
|
|
5
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
6
|
+
|
|
7
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
8
|
+
|
|
9
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
10
|
+
|
|
11
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
12
|
+
|
|
13
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
14
|
+
|
|
15
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
16
|
+
|
|
17
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
+
|
|
19
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
20
|
+
|
|
21
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
22
|
+
|
|
23
|
+
import React, { Component } from "react";
|
|
24
|
+
|
|
25
|
+
var ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
26
|
+
_inherits(ErrorBoundary, _Component);
|
|
27
|
+
|
|
28
|
+
var _super = _createSuper(ErrorBoundary);
|
|
29
|
+
|
|
30
|
+
function ErrorBoundary(props) {
|
|
31
|
+
var _this;
|
|
32
|
+
|
|
33
|
+
_classCallCheck(this, ErrorBoundary);
|
|
34
|
+
|
|
35
|
+
_this = _super.call(this, props);
|
|
36
|
+
_this.state = {
|
|
37
|
+
hasError: false
|
|
38
|
+
};
|
|
39
|
+
return _this;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
_createClass(ErrorBoundary, [{
|
|
43
|
+
key: "componentDidCatch",
|
|
44
|
+
value: function componentDidCatch(error, errorInfo) {
|
|
45
|
+
// 上传至服务器
|
|
46
|
+
console.log("".concat(this.props.serviceName, "ErrorBoundary"), error);
|
|
47
|
+
this.setState({
|
|
48
|
+
hasError: true
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
if (this.props.autoLogSerice) {}
|
|
52
|
+
}
|
|
53
|
+
}, {
|
|
54
|
+
key: "render",
|
|
55
|
+
value: function render() {
|
|
56
|
+
if (this.state.hasError) {
|
|
57
|
+
// 自定义降级后的 UI 并渲染
|
|
58
|
+
return /*#__PURE__*/React.createElement("h1", null, "\u9875\u9762\u51FA\u9519\u5566\uFF01\uFF01\uFF01");
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return this.props.children;
|
|
62
|
+
}
|
|
63
|
+
}]);
|
|
64
|
+
|
|
65
|
+
return ErrorBoundary;
|
|
66
|
+
}(Component);
|
|
67
|
+
|
|
68
|
+
export { ErrorBoundary as default };
|
|
69
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZXJyb3Jib3VuZGFyeS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJFcnJvckJvdW5kYXJ5IiwicHJvcHMiLCJzdGF0ZSIsImhhc0Vycm9yIiwiZXJyb3IiLCJlcnJvckluZm8iLCJjb25zb2xlIiwibG9nIiwic2VydmljZU5hbWUiLCJzZXRTdGF0ZSIsImF1dG9Mb2dTZXJpY2UiLCJjaGlsZHJlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLFNBQWhCLFFBQWlDLE9BQWpDOztJQU1xQkMsYTs7Ozs7QUFDbkIseUJBQVlDLEtBQVosRUFBd0I7QUFBQTs7QUFBQTs7QUFDdEIsOEJBQU1BLEtBQU47QUFDQSxVQUFLQyxLQUFMLEdBQWE7QUFBRUMsTUFBQUEsUUFBUSxFQUFFO0FBQVosS0FBYjtBQUZzQjtBQUd2Qjs7OztXQUNELDJCQUFrQkMsS0FBbEIsRUFBOEJDLFNBQTlCLEVBQThDO0FBQzVDO0FBQ0FDLE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixXQUFlLEtBQUtOLEtBQUwsQ0FBV08sV0FBMUIsb0JBQXNESixLQUF0RDtBQUNBLFdBQUtLLFFBQUwsQ0FBYztBQUNaTixRQUFBQSxRQUFRLEVBQUU7QUFERSxPQUFkOztBQUdBLFVBQUksS0FBS0YsS0FBTCxDQUFXUyxhQUFmLEVBQThCLENBQzdCO0FBQ0Y7OztXQUVELGtCQUFTO0FBQ1AsVUFBSSxLQUFLUixLQUFMLENBQVdDLFFBQWYsRUFBeUI7QUFDdkI7QUFDQSw0QkFBTyxtRkFBUDtBQUNEOztBQUNELGFBQU8sS0FBS0YsS0FBTCxDQUFXVSxRQUFsQjtBQUNEOzs7O0VBckJ3Q1osUzs7U0FBdEJDLGEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmludGVyZmFjZSBFcnJvclByb3BzIHtcclxuICBhdXRvTG9nU2VyaWNlPzogYm9vbGVhbjsgLy/mmK/lkKboh6rliqjkuIrkvKDmnI3liqHlmahcclxuICBzZXJ2aWNlTmFtZT86IHN0cmluZzsgLy/mnI3liqHlkI3np7BcclxuICB0ZXJtaW5hbD86IHN0cmluZzsgLy/liY3nq6/nu4jnq6/nsbvlnotcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFcnJvckJvdW5kYXJ5IGV4dGVuZHMgQ29tcG9uZW50PEVycm9yUHJvcHMsIGFueT4ge1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBhbnkpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIHRoaXMuc3RhdGUgPSB7IGhhc0Vycm9yOiBmYWxzZSB9O1xyXG4gIH1cclxuICBjb21wb25lbnREaWRDYXRjaChlcnJvcjogYW55LCBlcnJvckluZm86IGFueSkge1xyXG4gICAgLy8g5LiK5Lyg6Iez5pyN5Yqh5ZmoXHJcbiAgICBjb25zb2xlLmxvZyhgJHt0aGlzLnByb3BzLnNlcnZpY2VOYW1lfUVycm9yQm91bmRhcnlgLCBlcnJvcik7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgaGFzRXJyb3I6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLnByb3BzLmF1dG9Mb2dTZXJpY2UpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGlmICh0aGlzLnN0YXRlLmhhc0Vycm9yKSB7XHJcbiAgICAgIC8vIOiHquWumuS5iemZjee6p+WQjueahCBVSSDlubbmuLLmn5NcclxuICAgICAgcmV0dXJuIDxoMT7pobXpnaLlh7rplJnllabvvIHvvIHvvIE8L2gxPjtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/lib/index.d.ts
CHANGED
|
@@ -62,3 +62,4 @@ export { default as Tooltip } from "./base/tooltip";
|
|
|
62
62
|
export { default as Typography } from "./base/typography";
|
|
63
63
|
export type { default as InputEamilInstance } from "./base/input/Email";
|
|
64
64
|
export { default as BasePage } from "./page/BasePage";
|
|
65
|
+
export { default as ErrorBoundary } from "./base/errorboundary";
|
package/lib/index.js
CHANGED
|
@@ -70,4 +70,5 @@ export { default as Timeline } from "./base/timeline";
|
|
|
70
70
|
export { default as Tooltip } from "./base/tooltip";
|
|
71
71
|
export { default as Typography } from "./base/typography";
|
|
72
72
|
export { default as BasePage } from "./page/BasePage";
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiQnV0dG9uIiwiQ2FzY2FkZXIiLCJDaGVja2JveCIsIkJvZHlSb3ciLCJJY29uIiwiVHJlZVBhbmVsIiwiRGF0ZVBpY2tlciIsIkZvcm0iLCJJbnB1dCIsIk1lbnUiLCJSYWRpbyIsIlNlbGVjdCIsIlRhYmxlIiwiRG5kQ29udGV4dFR5cGUiLCJJQm9keVJvd1Byb3BzIiwiSU5TQ1RhYmxlUHJvcHMiLCJUYWJzIiwiVHJlZSIsIk5zY1RyZWVQcm9wcyIsIlN0b3JlIiwiU3RvcmVDb25maWdUeXBlIiwiZ2V0RGVmYXVsdENvbmZpZyIsInNldENvbmZpZyIsIlRhZ1NlbGVjdCIsIk5vRGF0YSIsIk5vTWVzc2FnZSIsIk5vTmV0V29yayIsIlBhZ2U0MDQiLCJOb0F1dGhvcml0eSIsIlJhbmdlUGlja2VyIiwiTW9kYWwiLCJDaGFydCIsIm1lc3NhZ2UiLCJBZmZpeCIsIkFsZXJ0IiwiQW5jaG9yIiwiQXZhdGFyIiwiQmFja1RvcCIsIkJhZGdlIiwiQnJlYWRjcnVtYiIsIkNhbGVuZGFyIiwiQ2FyZCIsIkNvbGxhcHNlIiwiQ29tbWVudCIsIkNvbmZpZ1Byb3ZpZGVyIiwiRGVzY3JpcHRpb25zIiwiRGl2aWRlciIsIkRyYXdlciIsIkRyb3Bkb3duIiwiUm93IiwiQ29sIiwiSW1hZ2UiLCJMYXlvdXQiLCJMaXN0Iiwibm90aWZpY2F0aW9uIiwiUGFnZUhlYWRlciIsIlBhZ2luYXRpb24iLCJQb3Bjb25maXJtIiwiUHJvZ3Jlc3MiLCJSZXN1bHQiLCJTa2VsZXRvbiIsIlNwYWNlIiwiU3RhdGlzdGljIiwiU3RlcHMiLCJUaW1lbGluZSIsIlRvb2x0aXAiLCJUeXBvZ3JhcGh5IiwiQmFzZVBhZ2UiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLFNBQVNBLE9BQU8sSUFBSUMsTUFBcEIsUUFBa0MsZUFBbEM7QUFD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IEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yMiAwOTowNDoxOVxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMTYgMTQ6NDM6MTVcclxuICovXHJcbi8vIGV4cG9ydCB7IEZvcm1JbnN0YW5jZSB9IGZyb20gXCJhbnRkL2xpYi9mb3JtXCI7XHJcblxyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEJ1dHRvbiB9IGZyb20gXCIuL2Jhc2UvYnV0dG9uXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2FzY2FkZXIgfSBmcm9tIFwiLi9iYXNlL2Nhc2NhZGVyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2hlY2tib3ggfSBmcm9tIFwiLi9iYXNlL2NoZWNrYm94XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQm9keVJvdyB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL0JvZHlSb3dcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBJY29uIH0gZnJvbSBcIi4vYmFzZS9jb21tb24vSWNvblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRyZWVQYW5lbCB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL1RyZWVQYW5lbFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIERhdGVQaWNrZXIgfSBmcm9tIFwiLi9iYXNlL2RhdGVwaWNrXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRm9ybSB9IGZyb20gXCIuL2Jhc2UvZm9ybVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIElucHV0IH0gZnJvbSBcIi4vYmFzZS9pbnB1dFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIE1lbnUgfSBmcm9tIFwiLi9iYXNlL21lbnVcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSYWRpbyB9IGZyb20gXCIuL2Jhc2UvcmFkaW9cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBTZWxlY3QgfSBmcm9tIFwiLi9iYXNlL3NlbGVjdFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRhYmxlIH0gZnJvbSBcIi4vYmFzZS90YWJsZVwiO1xyXG5leHBvcnQgeyBEbmRDb250ZXh0VHlwZSwgSUJvZHlSb3dQcm9wcywgSU5TQ1RhYmxlUHJvcHMgfSBmcm9tIFwiLi9iYXNlL3RhYmxlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVGFicyB9IGZyb20gXCIuL2Jhc2UvdGFic1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRyZWUgfSBmcm9tIFwiLi9iYXNlL3RyZWVcIjtcclxuZXhwb3J0IHsgTnNjVHJlZVByb3BzLCBTdG9yZSwgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIi4vYmFzZS90cmVlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0RGVmYXVsdENvbmZpZywgc2V0Q29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVGFnU2VsZWN0IH0gZnJvbSBcIi4vYmFzZS90YWdTZWxlY3RcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb0RhdGEgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9Ob0RhdGFcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb01lc3NhZ2UgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9Ob01lc3NhZ2VcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb05ldFdvcmsgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9Ob05ldFdvcmtcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQYWdlNDA0IH0gZnJvbSBcIi4vYmFzZS9jb21tb24vUGFnZTQwNFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vQXV0aG9yaXR5IH0gZnJvbSBcIi4vYmFzZS9jb21tb24vTm9BdXRob3JpdHlcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSYW5nZVBpY2tlciB9IGZyb20gXCIuL2Jhc2UvZGF0ZXBpY2svUmFuZ2VwaWNrZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBNb2RhbCB9IGZyb20gXCIuL2Jhc2UvbW9kYWxcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDaGFydCB9IGZyb20gXCIuL2Jhc2UvY2hhcnRcIjtcclxuXHJcblxyXG5leHBvcnQgeyBkZWZhdWx0IGFzIG1lc3NhZ2UgfSBmcm9tIFwiLi9iYXNlL21lc3NhZ2VcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBBZmZpeCB9IGZyb20gXCIuL2Jhc2UvYWZmaXhcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBBbGVydCB9IGZyb20gXCIuL2Jhc2UvYWxlcnRcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBBbmNob3IgfSBmcm9tIFwiLi9iYXNlL2FuY2hvclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEF2YXRhciB9IGZyb20gXCIuL2Jhc2UvYXZhdGFyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQmFja1RvcCB9IGZyb20gXCIuL2Jhc2UvYmFja1RvcFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEJhZGdlIH0gZnJvbSBcIi4vYmFzZS9iYWRnZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEJyZWFkY3J1bWIgfSBmcm9tIFwiLi9iYXNlL2JyZWFkY3J1bWJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDYWxlbmRhciB9IGZyb20gXCIuL2Jhc2UvY2FsZW5kYXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDYXJkIH0gZnJvbSBcIi4vYmFzZS9jYXJkXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29sbGFwc2UgfSBmcm9tIFwiLi9iYXNlL2NvbGxhcHNlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29tbWVudCB9IGZyb20gXCIuL2Jhc2UvY29tbWVudFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbmZpZ1Byb3ZpZGVyIH0gZnJvbSBcIi4vYmFzZS9jb25maWdQcm92aWRlclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIERlc2NyaXB0aW9ucyB9IGZyb20gXCIuL2Jhc2UvZGVzY3JpcHRpb25zXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGl2aWRlciB9IGZyb20gXCIuL2Jhc2UvZGl2aWRlclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIERyYXdlciB9IGZyb20gXCIuL2Jhc2UvZHJhd2VyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRHJvcGRvd24gfSBmcm9tIFwiLi9iYXNlL2Ryb3Bkb3duXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUm93IH0gZnJvbSBcIi4vYmFzZS9ncmlkL1Jvd1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbCB9IGZyb20gXCIuL2Jhc2UvZ3JpZC9Db2xcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBJbWFnZSB9IGZyb20gXCIuL2Jhc2UvaW1hZ2VcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBMYXlvdXQgfSBmcm9tIFwiLi9iYXNlL2xheW91dFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIExpc3QgfSBmcm9tIFwiLi9iYXNlL2xpc3RcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBub3RpZmljYXRpb24gfSBmcm9tIFwiLi9iYXNlL25vdGlmaWNhdGlvblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFBhZ2VIZWFkZXIgfSBmcm9tIFwiLi9iYXNlL3BhZ2VIZWFkZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQYWdpbmF0aW9uIH0gZnJvbSBcIi4vYmFzZS9wYWdpbmF0aW9uXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUG9wY29uZmlybSB9IGZyb20gXCIuL2Jhc2UvcG9wY29uZmlybVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFByb2dyZXNzIH0gZnJvbSBcIi4vYmFzZS9wcm9ncmVzc1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlc3VsdCB9IGZyb20gXCIuL2Jhc2UvcmVzdWx0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2tlbGV0b24gfSBmcm9tIFwiLi9iYXNlL3NrZWxldG9uXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3BhY2UgfSBmcm9tIFwiLi9iYXNlL3NwYWNlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3RhdGlzdGljIH0gZnJvbSBcIi4vYmFzZS9zdGF0aXN0aWNcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBTdGVwcyB9IGZyb20gXCIuL2Jhc2Uvc3RlcHNcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUaW1lbGluZSB9IGZyb20gXCIuL2Jhc2UvdGltZWxpbmVcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUb29sdGlwIH0gZnJvbSBcIi4vYmFzZS90b29sdGlwXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVHlwb2dyYXBoeSB9IGZyb20gXCIuL2Jhc2UvdHlwb2dyYXBoeVwiO1xyXG5cclxuZXhwb3J0IHR5cGUgeyBkZWZhdWx0IGFzIElucHV0RWFtaWxJbnN0YW5jZSB9IGZyb20gXCIuL2Jhc2UvaW5wdXQvRW1haWxcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBCYXNlUGFnZSB9IGZyb20gXCIuL3BhZ2UvQmFzZVBhZ2VcIjtcclxuIl19
|
|
73
|
+
export { default as ErrorBoundary } from "./base/errorboundary";
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiQnV0dG9uIiwiQ2FzY2FkZXIiLCJDaGVja2JveCIsIkJvZHlSb3ciLCJJY29uIiwiVHJlZVBhbmVsIiwiRGF0ZVBpY2tlciIsIkZvcm0iLCJJbnB1dCIsIk1lbnUiLCJSYWRpbyIsIlNlbGVjdCIsIlRhYmxlIiwiRG5kQ29udGV4dFR5cGUiLCJJQm9keVJvd1Byb3BzIiwiSU5TQ1RhYmxlUHJvcHMiLCJUYWJzIiwiVHJlZSIsIk5zY1RyZWVQcm9wcyIsIlN0b3JlIiwiU3RvcmVDb25maWdUeXBlIiwiZ2V0RGVmYXVsdENvbmZpZyIsInNldENvbmZpZyIsIlRhZ1NlbGVjdCIsIk5vRGF0YSIsIk5vTWVzc2FnZSIsIk5vTmV0V29yayIsIlBhZ2U0MDQiLCJOb0F1dGhvcml0eSIsIlJhbmdlUGlja2VyIiwiTW9kYWwiLCJDaGFydCIsIm1lc3NhZ2UiLCJBZmZpeCIsIkFsZXJ0IiwiQW5jaG9yIiwiQXZhdGFyIiwiQmFja1RvcCIsIkJhZGdlIiwiQnJlYWRjcnVtYiIsIkNhbGVuZGFyIiwiQ2FyZCIsIkNvbGxhcHNlIiwiQ29tbWVudCIsIkNvbmZpZ1Byb3ZpZGVyIiwiRGVzY3JpcHRpb25zIiwiRGl2aWRlciIsIkRyYXdlciIsIkRyb3Bkb3duIiwiUm93IiwiQ29sIiwiSW1hZ2UiLCJMYXlvdXQiLCJMaXN0Iiwibm90aWZpY2F0aW9uIiwiUGFnZUhlYWRlciIsIlBhZ2luYXRpb24iLCJQb3Bjb25maXJtIiwiUHJvZ3Jlc3MiLCJSZXN1bHQiLCJTa2VsZXRvbiIsIlNwYWNlIiwiU3RhdGlzdGljIiwiU3RlcHMiLCJUaW1lbGluZSIsIlRvb2x0aXAiLCJUeXBvZ3JhcGh5IiwiQmFzZVBhZ2UiLCJFcnJvckJvdW5kYXJ5Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxTQUFTQSxPQUFPLElBQUlDLE1BQXBC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eUMsc0JBQXpDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTIyIDA5OjA0OjE5XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0xNiAxNDo0MzoxNVxyXG4gKi9cclxuLy8gZXhwb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuXHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQnV0dG9uIH0gZnJvbSBcIi4vYmFzZS9idXR0b25cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDYXNjYWRlciB9IGZyb20gXCIuL2Jhc2UvY2FzY2FkZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDaGVja2JveCB9IGZyb20gXCIuL2Jhc2UvY2hlY2tib3hcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBCb2R5Um93IH0gZnJvbSBcIi4vYmFzZS9jb21tb24vQm9keVJvd1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEljb24gfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9JY29uXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVHJlZVBhbmVsIH0gZnJvbSBcIi4vYmFzZS9jb21tb24vVHJlZVBhbmVsXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGF0ZVBpY2tlciB9IGZyb20gXCIuL2Jhc2UvZGF0ZXBpY2tcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBGb3JtIH0gZnJvbSBcIi4vYmFzZS9mb3JtXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSW5wdXQgfSBmcm9tIFwiLi9iYXNlL2lucHV0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWVudSB9IGZyb20gXCIuL2Jhc2UvbWVudVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFJhZGlvIH0gZnJvbSBcIi4vYmFzZS9yYWRpb1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNlbGVjdCB9IGZyb20gXCIuL2Jhc2Uvc2VsZWN0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVGFibGUgfSBmcm9tIFwiLi9iYXNlL3RhYmxlXCI7XHJcbmV4cG9ydCB7IERuZENvbnRleHRUeXBlLCBJQm9keVJvd1Byb3BzLCBJTlNDVGFibGVQcm9wcyB9IGZyb20gXCIuL2Jhc2UvdGFibGVcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUYWJzIH0gZnJvbSBcIi4vYmFzZS90YWJzXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVHJlZSB9IGZyb20gXCIuL2Jhc2UvdHJlZVwiO1xyXG5leHBvcnQgeyBOc2NUcmVlUHJvcHMsIFN0b3JlLCBTdG9yZUNvbmZpZ1R5cGUgfSBmcm9tIFwiLi9iYXNlL3RyZWVcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXREZWZhdWx0Q29uZmlnLCBzZXRDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUYWdTZWxlY3QgfSBmcm9tIFwiLi9iYXNlL3RhZ1NlbGVjdFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vRGF0YSB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL05vRGF0YVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vTWVzc2FnZSB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL05vTWVzc2FnZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vTmV0V29yayB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL05vTmV0V29ya1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFBhZ2U0MDQgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9QYWdlNDA0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9BdXRob3JpdHkgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9Ob0F1dGhvcml0eVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFJhbmdlUGlja2VyIH0gZnJvbSBcIi4vYmFzZS9kYXRlcGljay9SYW5nZXBpY2tlclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIE1vZGFsIH0gZnJvbSBcIi4vYmFzZS9tb2RhbFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENoYXJ0IH0gZnJvbSBcIi4vYmFzZS9jaGFydFwiO1xyXG5cclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBtZXNzYWdlIH0gZnJvbSBcIi4vYmFzZS9tZXNzYWdlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQWZmaXggfSBmcm9tIFwiLi9iYXNlL2FmZml4XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQWxlcnQgfSBmcm9tIFwiLi9iYXNlL2FsZXJ0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQW5jaG9yIH0gZnJvbSBcIi4vYmFzZS9hbmNob3JcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBBdmF0YXIgfSBmcm9tIFwiLi9iYXNlL2F2YXRhclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEJhY2tUb3AgfSBmcm9tIFwiLi9iYXNlL2JhY2tUb3BcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBCYWRnZSB9IGZyb20gXCIuL2Jhc2UvYmFkZ2VcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBCcmVhZGNydW1iIH0gZnJvbSBcIi4vYmFzZS9icmVhZGNydW1iXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2FsZW5kYXIgfSBmcm9tIFwiLi9iYXNlL2NhbGVuZGFyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2FyZCB9IGZyb20gXCIuL2Jhc2UvY2FyZFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbGxhcHNlIH0gZnJvbSBcIi4vYmFzZS9jb2xsYXBzZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbW1lbnQgfSBmcm9tIFwiLi9iYXNlL2NvbW1lbnRcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDb25maWdQcm92aWRlciB9IGZyb20gXCIuL2Jhc2UvY29uZmlnUHJvdmlkZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXNjcmlwdGlvbnMgfSBmcm9tIFwiLi9iYXNlL2Rlc2NyaXB0aW9uc1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIERpdmlkZXIgfSBmcm9tIFwiLi9iYXNlL2RpdmlkZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBEcmF3ZXIgfSBmcm9tIFwiLi9iYXNlL2RyYXdlclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIERyb3Bkb3duIH0gZnJvbSBcIi4vYmFzZS9kcm9wZG93blwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFJvdyB9IGZyb20gXCIuL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDb2wgfSBmcm9tIFwiLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSW1hZ2UgfSBmcm9tIFwiLi9iYXNlL2ltYWdlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTGF5b3V0IH0gZnJvbSBcIi4vYmFzZS9sYXlvdXRcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBMaXN0IH0gZnJvbSBcIi4vYmFzZS9saXN0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm90aWZpY2F0aW9uIH0gZnJvbSBcIi4vYmFzZS9ub3RpZmljYXRpb25cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQYWdlSGVhZGVyIH0gZnJvbSBcIi4vYmFzZS9wYWdlSGVhZGVyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUGFnaW5hdGlvbiB9IGZyb20gXCIuL2Jhc2UvcGFnaW5hdGlvblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFBvcGNvbmZpcm0gfSBmcm9tIFwiLi9iYXNlL3BvcGNvbmZpcm1cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQcm9ncmVzcyB9IGZyb20gXCIuL2Jhc2UvcHJvZ3Jlc3NcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN1bHQgfSBmcm9tIFwiLi9iYXNlL3Jlc3VsdFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNrZWxldG9uIH0gZnJvbSBcIi4vYmFzZS9za2VsZXRvblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNwYWNlIH0gZnJvbSBcIi4vYmFzZS9zcGFjZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFN0YXRpc3RpYyB9IGZyb20gXCIuL2Jhc2Uvc3RhdGlzdGljXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3RlcHMgfSBmcm9tIFwiLi9iYXNlL3N0ZXBzXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVGltZWxpbmUgfSBmcm9tIFwiLi9iYXNlL3RpbWVsaW5lXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVG9vbHRpcCB9IGZyb20gXCIuL2Jhc2UvdG9vbHRpcFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFR5cG9ncmFwaHkgfSBmcm9tIFwiLi9iYXNlL3R5cG9ncmFwaHlcIjtcclxuXHJcbmV4cG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBJbnB1dEVhbWlsSW5zdGFuY2UgfSBmcm9tIFwiLi9iYXNlL2lucHV0L0VtYWlsXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQmFzZVBhZ2UgfSBmcm9tIFwiLi9wYWdlL0Jhc2VQYWdlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRXJyb3JCb3VuZGFyeSB9IGZyb20gXCIuL2Jhc2UvZXJyb3Jib3VuZGFyeVwiO1xyXG4iXX0=
|
|
@@ -92,11 +92,23 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
92
92
|
|
|
93
93
|
(_this$formRef$current = this.formRef.current) === null || _this$formRef$current === void 0 ? void 0 : _this$formRef$current.showForm(value === null || value === void 0 ? void 0 : value.attribute);
|
|
94
94
|
}
|
|
95
|
+
}, {
|
|
96
|
+
key: "hide",
|
|
97
|
+
value: function hide() {
|
|
98
|
+
var _this$formRef$current2;
|
|
99
|
+
|
|
100
|
+
var _hide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
101
|
+
|
|
102
|
+
this.setState({
|
|
103
|
+
loading: false
|
|
104
|
+
});
|
|
105
|
+
_hide && ((_this$formRef$current2 = this.formRef.current) === null || _this$formRef$current2 === void 0 ? void 0 : _this$formRef$current2.hideForm());
|
|
106
|
+
}
|
|
95
107
|
}, {
|
|
96
108
|
key: "onSubmit",
|
|
97
109
|
value: function onSubmit() {
|
|
98
|
-
var _this$formRef$
|
|
99
|
-
_this$formRef$
|
|
110
|
+
var _this$formRef$current3,
|
|
111
|
+
_this$formRef$current4,
|
|
100
112
|
_this2 = this;
|
|
101
113
|
|
|
102
114
|
var _this$props = this.props,
|
|
@@ -110,9 +122,9 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
110
122
|
label = _this$state.label,
|
|
111
123
|
value = _this$state.value,
|
|
112
124
|
dictNames = _this$state.dictNames;
|
|
113
|
-
var formValue = (_this$formRef$
|
|
125
|
+
var formValue = (_this$formRef$current3 = this.formRef.current) === null || _this$formRef$current3 === void 0 ? void 0 : _this$formRef$current3.getFieldsValue();
|
|
114
126
|
var valid = this.valid;
|
|
115
|
-
(_this$formRef$
|
|
127
|
+
(_this$formRef$current4 = this.formRef.current) === null || _this$formRef$current4 === void 0 ? void 0 : _this$formRef$current4.validateFields(valid).then(function () {
|
|
116
128
|
var _this2$formRef$curren;
|
|
117
129
|
|
|
118
130
|
_this2.setState({
|
|
@@ -143,17 +155,16 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
143
155
|
}, function (res) {
|
|
144
156
|
var code = res.code;
|
|
145
157
|
|
|
146
|
-
_this2.setState({
|
|
147
|
-
loading: false
|
|
148
|
-
});
|
|
149
|
-
|
|
150
158
|
if (code === 200) {
|
|
151
|
-
var _this2$formRef$curren2;
|
|
152
|
-
|
|
153
159
|
message.success(label + "成功");
|
|
154
|
-
|
|
160
|
+
|
|
161
|
+
_this2.hide(true);
|
|
162
|
+
|
|
155
163
|
callBack && callBack();
|
|
164
|
+
return;
|
|
156
165
|
}
|
|
166
|
+
|
|
167
|
+
_this2.hide(false);
|
|
157
168
|
});
|
|
158
169
|
}).catch(function (errorInfo) {});
|
|
159
170
|
}
|
|
@@ -187,7 +198,6 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
187
198
|
loading = _this$state2.loading,
|
|
188
199
|
label = _this$state2.label,
|
|
189
200
|
editorFlag = _this$state2.editorFlag;
|
|
190
|
-
console.log("label", label);
|
|
191
201
|
var modalProps = {
|
|
192
202
|
title: label,
|
|
193
203
|
okText: "确定",
|
|
@@ -246,4 +256,4 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
246
256
|
}(PureComponent);
|
|
247
257
|
|
|
248
258
|
export default EditorForm;
|
|
249
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldE5vZGUiLCJtZXNzYWdlIiwiQ29sIiwiUm93IiwiRWRpdG9yRm9ybSIsImNyZWF0ZVJlZiIsImxvYWRpbmciLCJsYWJlbCIsImVkaXRvckZsYWciLCJ2YWx1ZSIsImRpY3ROYW1lcyIsImZsYWciLCJzZXRTdGF0ZSIsImF0dHJpYnV0ZSIsImZvcm1SZWYiLCJjdXJyZW50Iiwic2hvd0Zvcm0iLCJwcm9wcyIsInN1Ym1pdFVybCIsInN1Ym1pdFBhcmFtcyIsIm9uU3VibWl0IiwiY2FsbEJhY2siLCJzdGF0ZSIsImZvcm1WYWx1ZSIsImdldEZpZWxkc1ZhbHVlIiwidmFsaWQiLCJ2YWxpZGF0ZUZpZWxkcyIsInRoZW4iLCJkYXRhIiwiaWQiLCJFcnJvciIsIm5vVW5kZWZpbmVkIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJoaWRlRm9ybSIsImNhdGNoIiwiZXJyb3JJbmZvIiwidmFsdWVPcHRpb24iLCJ0eXBlIiwiZGljdE5hbWUiLCJuZXdOYW1lcyIsImZvcm1Qcm9wcyIsImNvbnNvbGUiLCJsb2ciLCJtb2RhbFByb3BzIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImJpbmQiLCJva0J1dHRvblByb3BzIiwiY2VudGVyZWQiLCJ3aWR0aCIsIm5ld1ZhbGlkIiwiZmxleCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInJ1bGVzIiwibGVuZ3RoIiwicHVzaCIsIm5hbWUiLCJzcGFuIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIm9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpCO0FB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SXNCMUMsYTs7QUFpSnpCLGVBQWVNLFVBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCB7IGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuY2xhc3MgRWRpdG9yRm9ybSBleHRlbmRzIFB1cmVDb21wb25lbnQ8YW55PiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgIGxhYmVsOiBcIlwiLFxyXG4gICAgZWRpdG9yRmxhZzogdHJ1ZSxcclxuICAgIHZhbHVlOiB7fSBhcyBhbnksXHJcbiAgICBkaWN0TmFtZXM6IHt9IGFzIGFueSxcclxuICB9O1xyXG4gIHZhbGlkOiBhbnkgPSBbXTtcclxuICBzaG93KHZhbHVlPzogYW55LCBmbGFnID0gdHJ1ZSkge1xyXG4gICAgbGV0IGxhYmVsID0gXCLmlrDlop5cIjtcclxuICAgIGlmICh2YWx1ZSAmJiBmbGFnKSB7XHJcbiAgICAgIGxhYmVsID0gXCLnvJbovpFcIjtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgIWZsYWcpIHtcclxuICAgICAgbGFiZWwgPSBcIuafpeeci1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGxhYmVsOiBsYWJlbCxcclxuICAgICAgICBlZGl0b3JGbGFnOiAhZmxhZyxcclxuICAgICAgICB2YWx1ZTogdmFsdWU/LmF0dHJpYnV0ZSxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNob3dGb3JtKHZhbHVlPy5hdHRyaWJ1dGUpO1xyXG4gIH1cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIG9uU3VibWl0LFxyXG4gICAgICBjYWxsQmFjayxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBsYWJlbCwgdmFsdWUsIGRpY3ROYW1lcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHZhbGlkID0gdGhpcy52YWxpZDtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50XHJcbiAgICAgID8udmFsaWRhdGVGaWVsZHModmFsaWQpXHJcbiAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICBsZXQgZGF0YSA9IHsgLi4uZm9ybVZhbHVlLCAuLi5kaWN0TmFtZXMgfTtcclxuICAgICAgICBpZiAobGFiZWwgPT0gXCLnvJbovpFcIikge1xyXG4gICAgICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgaWQ6IHZhbHVlPy5pZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob25TdWJtaXQpIHtcclxuICAgICAgICAgIG9uU3VibWl0ICYmIG9uU3VibWl0KGRhdGEsIGxhYmVsKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFzdWJtaXRVcmwpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/Lm9uU3VibWl0KFxyXG4gICAgICAgICAgc3VibWl0VXJsLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBkYXRhOiB7IC4uLmRhdGEgfSxcclxuICAgICAgICAgICAgbm9VbmRlZmluZWQ6IGxhYmVsID09IFwi57yW6L6RXCIsXHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhsYWJlbCArIFwi5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gICAgICAgICAgICAgIGNhbGxCYWNrICYmIGNhbGxCYWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9ySW5mbzogYW55KSA9PiB7fSk7XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlKHsgdHlwZSwgZGljdE5hbWUgfSwgdmFsdWUsIHZhbHVlT3B0aW9uKSB7XHJcbiAgICBpZiAodmFsdWVPcHRpb24pIHtcclxuICAgICAgaWYgKGRpY3ROYW1lKSB7XHJcbiAgICAgICAgY29uc3QgeyBkaWN0TmFtZXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgY29uc3QgbmV3TmFtZXMgPSB7IC4uLmRpY3ROYW1lcyB9IGFzIGFueTtcclxuICAgICAgICBuZXdOYW1lc1tkaWN0TmFtZV0gPSB2YWx1ZU9wdGlvbi5sYWJlbDtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRpY3ROYW1lczogbmV3TmFtZXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9ybVByb3BzID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxvYWRpbmcsIGxhYmVsLCBlZGl0b3JGbGFnIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc29sZS5sb2coXCJsYWJlbFwiLCBsYWJlbCk7XHJcbiAgICBjb25zdCBtb2RhbFByb3BzID0ge1xyXG4gICAgICB0aXRsZTogbGFiZWwsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7lrppcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogdGhpcy5vblN1Ym1pdC5iaW5kKHRoaXMpLFxyXG4gICAgICBva0J1dHRvblByb3BzOiB7IGxvYWRpbmc6IGxvYWRpbmcgfSxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHdpZHRoOiBcIjUwdndcIixcclxuICAgIH07XHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxGb3JtXHJcbiAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgc2hvd01vZGVsPXtcIm1vZGFsXCJ9XHJcbiAgICAgICAgbW9kYWxQcm9wcz17eyAuLi5tb2RhbFByb3BzIH19XHJcbiAgICAgICAgbGFiZWxDb2w9e3sgZmxleDogXCIxMDBweFwiIH19XHJcbiAgICAgICAgd3JhcHBlckNvbD17eyBmbGV4OiBcIjE1dndcIiB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPFJvdyBndXR0ZXI9ezI0fT5cclxuICAgICAgICAgIHtmb3JtUHJvcHMubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB7IC4uLml0ZW0ucHJvcHMgfTtcclxuICAgICAgICAgICAgaWYgKGl0ZW0ucnVsZXMgJiYgaXRlbS5ydWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgbmV3VmFsaWQucHVzaChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpbmRleCArIDEgPT09IGZvcm1Qcm9wcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLnZhbGlkID0gbmV3VmFsaWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8Q29sIHNwYW49e2l0ZW0uc3BhbiB8fCAxMn0ga2V5PXtpbmRleH0+XHJcbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGxhYmVsID09IFwi5p+l55yLXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UuYmluZCh0aGlzLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICBkaWN0TmFtZTogaXRlbS5kaWN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0pfVxyXG4gICAgICAgIDwvUm93PlxyXG4gICAgICA8L0Zvcm0+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgRWRpdG9yRm9ybTtcclxuIl19
|
|
259
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldE5vZGUiLCJtZXNzYWdlIiwiQ29sIiwiUm93IiwiRWRpdG9yRm9ybSIsImNyZWF0ZVJlZiIsImxvYWRpbmciLCJsYWJlbCIsImVkaXRvckZsYWciLCJ2YWx1ZSIsImRpY3ROYW1lcyIsImZsYWciLCJzZXRTdGF0ZSIsImF0dHJpYnV0ZSIsImZvcm1SZWYiLCJjdXJyZW50Iiwic2hvd0Zvcm0iLCJoaWRlIiwiaGlkZUZvcm0iLCJwcm9wcyIsInN1Ym1pdFVybCIsInN1Ym1pdFBhcmFtcyIsIm9uU3VibWl0IiwiY2FsbEJhY2siLCJzdGF0ZSIsImZvcm1WYWx1ZSIsImdldEZpZWxkc1ZhbHVlIiwidmFsaWQiLCJ2YWxpZGF0ZUZpZWxkcyIsInRoZW4iLCJkYXRhIiwiaWQiLCJFcnJvciIsIm5vVW5kZWZpbmVkIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJjYXRjaCIsImVycm9ySW5mbyIsInZhbHVlT3B0aW9uIiwidHlwZSIsImRpY3ROYW1lIiwibmV3TmFtZXMiLCJmb3JtUHJvcHMiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImJpbmQiLCJva0J1dHRvblByb3BzIiwiY2VudGVyZWQiLCJ3aWR0aCIsIm5ld1ZhbGlkIiwiZmxleCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInJ1bGVzIiwibGVuZ3RoIiwicHVzaCIsIm5hbWUiLCJzcGFuIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIm9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpCO0FBQ0EsU0FBU0Ms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Q0FBQ2Y7QUFGcUIsV0FBNUI7QUFKSixXQUxWLENBREYsQ0FERjtBQW1CRCxPQTNCQSxDQURILENBUEYsQ0FERjtBQXdDRDs7OztFQWxKc0IzQyxhOztBQXFKekIsZUFBZU0sVUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IHsgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vLi4vYmFzZS9tZXNzYWdlXCI7XHJcbmltcG9ydCBDb2wgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Db2xcIjtcclxuaW1wb3J0IFJvdyBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL1Jvd1wiO1xyXG5jbGFzcyBFZGl0b3JGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxhbnk+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgbGFiZWw6IFwiXCIsXHJcbiAgICBlZGl0b3JGbGFnOiB0cnVlLFxyXG4gICAgdmFsdWU6IHt9IGFzIGFueSxcclxuICAgIGRpY3ROYW1lczoge30gYXMgYW55LFxyXG4gIH07XHJcbiAgdmFsaWQ6IGFueSA9IFtdO1xyXG4gIHNob3codmFsdWU/OiBhbnksIGZsYWcgPSB0cnVlKSB7XHJcbiAgICBsZXQgbGFiZWwgPSBcIuaWsOWinlwiO1xyXG4gICAgaWYgKHZhbHVlICYmIGZsYWcpIHtcclxuICAgICAgbGFiZWwgPSBcIue8lui+kVwiO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSAmJiAhZmxhZykge1xyXG4gICAgICBsYWJlbCA9IFwi5p+l55yLXCI7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgIGVkaXRvckZsYWc6ICFmbGFnLFxyXG4gICAgICAgIHZhbHVlOiB2YWx1ZT8uYXR0cmlidXRlLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGxhYmVsOiBsYWJlbCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odmFsdWU/LmF0dHJpYnV0ZSk7XHJcbiAgfVxyXG4gIGhpZGUoaGlkZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgIGhpZGUgJiYgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgfVxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdWJtaXRVcmwgPSBcIlwiLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgb25TdWJtaXQsXHJcbiAgICAgIGNhbGxCYWNrLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxhYmVsLCB2YWx1ZSwgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgdmFsaWQgPSB0aGlzLnZhbGlkO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnRcclxuICAgICAgPy52YWxpZGF0ZUZpZWxkcyh2YWxpZClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIGxldCBkYXRhID0geyAuLi5mb3JtVmFsdWUsIC4uLmRpY3ROYW1lcyB9O1xyXG4gICAgICAgIGlmIChsYWJlbCA9PSBcIue8lui+kVwiKSB7XHJcbiAgICAgICAgICBkYXRhID0geyAuLi5kYXRhLCBpZDogdmFsdWU/LmlkIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChvblN1Ym1pdCkge1xyXG4gICAgICAgICAgb25TdWJtaXQgJiYgb25TdWJtaXQoZGF0YSwgbGFiZWwpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXN1Ym1pdFVybCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs5LiN6IO95Li656m677yBXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ub25TdWJtaXQoXHJcbiAgICAgICAgICBzdWJtaXRVcmwsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGRhdGE6IHsgLi4uZGF0YSB9LFxyXG4gICAgICAgICAgICBub1VuZGVmaW5lZDogbGFiZWwgPT0gXCLnvJbovpFcIixcclxuICAgICAgICAgICAgc3VibWl0UGFyYW1zLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhsYWJlbCArIFwi5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgICAgIHRoaXMuaGlkZSh0cnVlKTtcclxuICAgICAgICAgICAgICBjYWxsQmFjayAmJiBjYWxsQmFjaygpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmhpZGUoZmFsc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoZXJyb3JJbmZvOiBhbnkpID0+IHt9KTtcclxuICB9XHJcbiAgdmFsdWVDaGFuZ2UoeyB0eXBlLCBkaWN0TmFtZSB9LCB2YWx1ZSwgdmFsdWVPcHRpb24pIHtcclxuICAgIGlmICh2YWx1ZU9wdGlvbikge1xyXG4gICAgICBpZiAoZGljdE5hbWUpIHtcclxuICAgICAgICBjb25zdCB7IGRpY3ROYW1lcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICBjb25zdCBuZXdOYW1lcyA9IHsgLi4uZGljdE5hbWVzIH0gYXMgYW55O1xyXG4gICAgICAgIG5ld05hbWVzW2RpY3ROYW1lXSA9IHZhbHVlT3B0aW9uLmxhYmVsO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGljdE5hbWVzOiBuZXdOYW1lcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBmb3JtUHJvcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbG9hZGluZywgbGFiZWwsIGVkaXRvckZsYWcgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBtb2RhbFByb3BzID0ge1xyXG4gICAgICB0aXRsZTogbGFiZWwsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7lrppcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogdGhpcy5vblN1Ym1pdC5iaW5kKHRoaXMpLFxyXG4gICAgICBva0J1dHRvblByb3BzOiB7IGxvYWRpbmc6IGxvYWRpbmcgfSxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHdpZHRoOiBcIjUwdndcIixcclxuICAgIH07XHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxGb3JtXHJcbiAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgc2hvd01vZGVsPXtcIm1vZGFsXCJ9XHJcbiAgICAgICAgbW9kYWxQcm9wcz17eyAuLi5tb2RhbFByb3BzIH19XHJcbiAgICAgICAgbGFiZWxDb2w9e3sgZmxleDogXCIxMDBweFwiIH19XHJcbiAgICAgICAgd3JhcHBlckNvbD17eyBmbGV4OiBcIjE1dndcIiB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPFJvdyBndXR0ZXI9ezI0fT5cclxuICAgICAgICAgIHtmb3JtUHJvcHMubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB7IC4uLml0ZW0ucHJvcHMgfTtcclxuICAgICAgICAgICAgaWYgKGl0ZW0ucnVsZXMgJiYgaXRlbS5ydWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgbmV3VmFsaWQucHVzaChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpbmRleCArIDEgPT09IGZvcm1Qcm9wcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLnZhbGlkID0gbmV3VmFsaWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8Q29sIHNwYW49e2l0ZW0uc3BhbiB8fCAxMn0ga2V5PXtpbmRleH0+XHJcbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGxhYmVsID09IFwi5p+l55yLXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UuYmluZCh0aGlzLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICBkaWN0TmFtZTogaXRlbS5kaWN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0pfVxyXG4gICAgICAgIDwvUm93PlxyXG4gICAgICA8L0Zvcm0+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgRWRpdG9yRm9ybTtcclxuIl19
|
|
@@ -43,11 +43,13 @@ declare class BasePage extends PureComponent<NSCBaseBageProps, any> {
|
|
|
43
43
|
componentDidMount(): void;
|
|
44
44
|
onSelect: (checkedTreeKeys: any) => void;
|
|
45
45
|
showForm(value?: any, flag?: boolean): void;
|
|
46
|
+
hideForm(flag?: boolean): void;
|
|
46
47
|
onDelete(): void;
|
|
47
48
|
tableLoad(params: any): void;
|
|
48
49
|
onSearch(): void;
|
|
49
50
|
tableReload(): void;
|
|
50
51
|
getSelectedRowKeys(): any;
|
|
52
|
+
getSelectedRowDatas(): any;
|
|
51
53
|
getSearchValues(): any;
|
|
52
54
|
rowSelectionOnSelect(record: any, selected: any): void;
|
|
53
55
|
rowSelectionOnSelectAll(selected: any, selectedRows: any, changeRows: any): void;
|
|
@@ -102,6 +102,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
102
102
|
_this.state = {
|
|
103
103
|
type: "add",
|
|
104
104
|
selectedRowKeys: [],
|
|
105
|
+
selectedRowDatas: [],
|
|
105
106
|
treeSelectedKey: "",
|
|
106
107
|
expand: false
|
|
107
108
|
};
|
|
@@ -122,6 +123,15 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
122
123
|
|
|
123
124
|
var flag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
124
125
|
(_this$editorRef$curre = this.editorRef.current) === null || _this$editorRef$curre === void 0 ? void 0 : _this$editorRef$curre.show(value, flag);
|
|
126
|
+
} //关闭表单
|
|
127
|
+
|
|
128
|
+
}, {
|
|
129
|
+
key: "hideForm",
|
|
130
|
+
value: function hideForm() {
|
|
131
|
+
var _this$editorRef$curre2;
|
|
132
|
+
|
|
133
|
+
var flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
134
|
+
(_this$editorRef$curre2 = this.editorRef.current) === null || _this$editorRef$curre2 === void 0 ? void 0 : _this$editorRef$curre2.hide(flag);
|
|
125
135
|
} //批量删除
|
|
126
136
|
|
|
127
137
|
}, {
|
|
@@ -218,6 +228,11 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
218
228
|
value: function getSelectedRowKeys() {
|
|
219
229
|
return this.state.selectedRowKeys;
|
|
220
230
|
}
|
|
231
|
+
}, {
|
|
232
|
+
key: "getSelectedRowDatas",
|
|
233
|
+
value: function getSelectedRowDatas() {
|
|
234
|
+
return this.state.selectedRowDatas;
|
|
235
|
+
}
|
|
221
236
|
}, {
|
|
222
237
|
key: "getSearchValues",
|
|
223
238
|
value: function getSearchValues() {
|
|
@@ -229,29 +244,43 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
229
244
|
}, {
|
|
230
245
|
key: "rowSelectionOnSelect",
|
|
231
246
|
value: function rowSelectionOnSelect(record, selected) {
|
|
232
|
-
var
|
|
247
|
+
var _this$state2 = this.state,
|
|
248
|
+
selectedRowKeys = _this$state2.selectedRowKeys,
|
|
249
|
+
selectedRowDatas = _this$state2.selectedRowDatas;
|
|
233
250
|
|
|
234
251
|
var newSelectedRowKeys = _toConsumableArray(selectedRowKeys);
|
|
235
252
|
|
|
253
|
+
var newSelectedRowDatas = _toConsumableArray(selectedRowDatas);
|
|
254
|
+
|
|
236
255
|
if (selected) {
|
|
237
256
|
newSelectedRowKeys = [].concat(_toConsumableArray(newSelectedRowKeys), [record.id]);
|
|
257
|
+
newSelectedRowDatas = [].concat(_toConsumableArray(newSelectedRowDatas), [record]);
|
|
238
258
|
} else {
|
|
239
259
|
selectedRowKeys.map(function (item, index) {
|
|
240
260
|
if (item === record.id) {
|
|
241
261
|
newSelectedRowKeys.splice(index, 1);
|
|
242
262
|
}
|
|
243
263
|
});
|
|
264
|
+
selectedRowDatas.map(function (item, index) {
|
|
265
|
+
if (item.id === record.id) {
|
|
266
|
+
newSelectedRowDatas.splice(index, 1);
|
|
267
|
+
}
|
|
268
|
+
});
|
|
244
269
|
}
|
|
245
270
|
|
|
246
271
|
this.setState({
|
|
247
|
-
selectedRowKeys: newSelectedRowKeys
|
|
272
|
+
selectedRowKeys: newSelectedRowKeys,
|
|
273
|
+
selectedRowDatas: newSelectedRowDatas
|
|
248
274
|
});
|
|
249
275
|
}
|
|
250
276
|
}, {
|
|
251
277
|
key: "rowSelectionOnSelectAll",
|
|
252
278
|
value: function rowSelectionOnSelectAll(selected, selectedRows, changeRows) {
|
|
253
|
-
var
|
|
279
|
+
var _this$state3 = this.state,
|
|
280
|
+
selectedRowKeys = _this$state3.selectedRowKeys,
|
|
281
|
+
selectedRowDatas = _this$state3.selectedRowDatas;
|
|
254
282
|
var newids = [];
|
|
283
|
+
var newdatas = [];
|
|
255
284
|
|
|
256
285
|
if (changeRows.length > 0) {
|
|
257
286
|
var changeIds = changeRows.map(function (item) {
|
|
@@ -260,19 +289,27 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
260
289
|
|
|
261
290
|
if (selected) {
|
|
262
291
|
newids = [].concat(_toConsumableArray(selectedRowKeys), _toConsumableArray(changeIds));
|
|
292
|
+
newdatas = [].concat(_toConsumableArray(selectedRowDatas), _toConsumableArray(changeRows));
|
|
263
293
|
} else {
|
|
264
294
|
selectedRowKeys.map(function (item, index) {
|
|
265
295
|
if (changeIds.indexOf(item) == -1) {
|
|
266
296
|
newids.push(item);
|
|
267
297
|
}
|
|
268
298
|
});
|
|
299
|
+
selectedRowDatas.map(function (item, index) {
|
|
300
|
+
if (changeIds.indexOf(item.id) == -1) {
|
|
301
|
+
newdatas.push(item);
|
|
302
|
+
}
|
|
303
|
+
});
|
|
269
304
|
}
|
|
270
305
|
} else {
|
|
271
306
|
newids = _toConsumableArray(selectedRowKeys);
|
|
307
|
+
newdatas = _toConsumableArray(selectedRowDatas);
|
|
272
308
|
}
|
|
273
309
|
|
|
274
310
|
this.setState({
|
|
275
|
-
selectedRowKeys: _toConsumableArray(newids)
|
|
311
|
+
selectedRowKeys: _toConsumableArray(newids),
|
|
312
|
+
selectedRowDatas: _toConsumableArray(newdatas)
|
|
276
313
|
});
|
|
277
314
|
}
|
|
278
315
|
}, {
|
|
@@ -633,4 +670,4 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
633
670
|
}(PureComponent);
|
|
634
671
|
|
|
635
672
|
export default BasePage;
|
|
636
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJnZXROb2RlIiwicmVxdWVzdCIsIkJhc2VQYWdlIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJjaGVja2VkVHJlZUtleXMiLCJzdGF0ZSIsIm5hbWUiLCJ1c2VyVHlwZSIsImFjY291bnQiLCJ2YWx1ZSIsImRlcHRJZCIsInRhYmxlTG9hZCIsInR5cGUiLCJzZWxlY3RlZFJvd0tleXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJleHBhbmQiLCJpbml0RGF0YSIsImZsYWciLCJlZGl0b3JSZWYiLCJjdXJyZW50Iiwic2hvdyIsImRlbGV0ZVVybCIsIm9uRGVsZXRlIiwiZGVsZXRlUGFyYW1zIiwibGVuZ3RoIiwid2FybmluZyIsIkVycm9yIiwiY29uZmlybSIsInRpdGxlIiwib2tUZXh0IiwiY2FuY2VsVGV4dCIsIm9uT2siLCJkZWZhdWx0UGFyYW1zIiwibWV0aG9kIiwicGFyYW1zIiwiaWRzIiwiam9pbiIsInJlcXVlc3RQYXJhbXMiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInRhYmxlUmVmIiwic3RvcmUiLCJsb2FkIiwib25TZWFyY2giLCJmcm9tVmFsdWUiLCJzZWFyY2hSZWYiLCJnZXRGaWVsZHNWYWx1ZSIsInJlbG9hZCIsInJlY29yZCIsInNlbGVjdGVkIiwibmV3U2VsZWN0ZWRSb3dLZXlzIiwiaWQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzcGxpY2UiLCJzZXRTdGF0ZSIsInNlbGVjdGVkUm93cyIsImNoYW5nZVJvd3MiLCJuZXdpZHMiLCJjaGFuZ2VJZHMiLCJpbmRleE9mIiwicHVzaCIsImNvbHVtbkJ1dHRvbnMiLCJhY3Rpb25CdXR0b24iLCJlZGl0b3JGb3JtIiwiYnV0dG9ucyIsImNvbnRlbnQiLCJjaGlsZHJlbiIsInBhZ2VUeXBlIiwib25DbGljayIsInNlbGVjdGVkS2V5cyIsInNlbGVjdGVkTm9kZXMiLCJrZXl3b3JkIiwidHJlZVByb3BzIiwic2VhcmNoS2V5Iiwic2VhcmNoRmllbGQiLCJpc0xlYWYiLCJkYXRhcmVmIiwiYXR0cmlidXRlIiwicmVzZXRGaWVsZHMiLCJjb2x1bW5zIiwic2hvd1NlYXJjaCIsInN1Ym1pdFVybCIsInRhYmxlUHJvcHMiLCJzaG93TGVmdCIsInN1Ym1pdFBhcmFtcyIsInNob3dUb29sQnV0dG9uIiwiZmlsdGVyQ29sdW1uIiwiYWN0aW9uQ29sdW1uIiwic2hvd1Jvd1NlbGVjdGlvbiIsInRyZWVTdG9yZSIsInRyZWVTZWFyY2giLCJ0aXRsZUFsaWFzIiwidGFibGVQYXJhbXMiLCJyb3dTZWxlY3Rpb24iLCJvblNlbGVjdCIsInJvd1NlbGVjdGlvbk9uU2VsZWN0IiwiYmluZCIsIm9uU2VsZWN0QWxsIiwicm93U2VsZWN0aW9uT25TZWxlY3RBbGwiLCJjb2x1bW5XaWR0aCIsInRhYmxlQ29sdW1uIiwic2VhcmNoRm9ybXMiLCJlZGl0b3JGb3JtcyIsInRlbXAiLCJzZWFyY2giLCJmaWVsZCIsImRhdGFJbmRleCIsImxhYmVsIiwiZWRpdG9yIiwicnVsZXMiLCJzcGFuIiwiZGljdE5hbWUiLCJjb2x1bW5TZWFyY2giLCJmaWx0ZXJQcm9wcyIsInNlbGZCdXR0b25zIiwic2hvd0Zvcm0iLCJBcnJheSIsImlzQXJyYXkiLCJhbGlnbiIsIndpZHRoIiwicmVuZGVyIiwidGV4dCIsInJlbmRlckNsb3VtbkJ1dHRvbiIsImRpc3BsYXkiLCJ0cmVlU2VsZWN0IiwicGxhY2Vob2xkZXIiLCJtYXJnaW5Ub3AiLCJyZXNldFNlYXJjaCIsInJlZnJlc2giLCJhX3N0eWxl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RyxZQU5oQjtBQU9FLFFBQUEsUUFBUSxFQUFFLEtBQUsxRixLQUFMLENBQVc0STtBQVB2QixRQXpHSixDQURGO0FBc0hEOzs7O0VBbGVvQjlKLGE7O0FBb2V2QixlQUFlaUIsUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBUYWJsZSBmcm9tIFwiLi4vLi4vYmFzZS90YWJsZVwiO1xyXG5pbXBvcnQgVHJlZSBmcm9tIFwiLi4vLi4vYmFzZS90cmVlXCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi8uLi9iYXNlL21vZGFsXCI7XHJcbmltcG9ydCBQb3BvdmVyIGZyb20gXCIuLi8uLi9iYXNlL3BvcG92ZXJcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vLi4vYmFzZS9jb21tb24vSWNvbkZvbnRcIjtcclxuaW1wb3J0IHsgaWNvblR5cGUgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCBFZGl0b3JGb3JtIGZyb20gXCIuL0Zvcm1cIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lm1vZHVsZS5sZXNzXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgRG93bk91dGxpbmVkLCBVcE91dGxpbmVkIH0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCB7IGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHJlcXVlc3QgZnJvbSBcIm5zYy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7IEJ1dHRvblByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW50ZXJmYWNlIFRhYmxlUHJvcHMge1xyXG4gIGFjdGlvbkNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pON5L2c5YiXXHJcbiAgYWN0aW9uQnV0dG9uPzogYm9vbGVhbjsgLy/mmK/lkKbpu5jorqTmmL7npLrmlrDlop7vvIznvJbovpHpu5jorqTmjInpkq5cclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZmlsdGVyQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrov4fmu6TmjInpkq5cclxuICBzaG93Um93U2VsZWN0aW9uPzogYm9vbGVhbjsgLy/mmK/lkKbooajmoLzli77pgInliJdcclxufVxyXG5pbnRlcmZhY2UgVHJlZVByb3BzIHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pCc57Si5qGGXHJcbiAgc2VhcmNoS2V5Pzogc3RyaW5nOyAvL+aQnOe0onZhbHVl5a+55bqU55qEa2V5XHJcbiAgc2VhcmNoRmllbGQ/OiBzdHJpbmc7IC8v5p+l6K+i5a+55bqU55qEa2V5XHJcbiAgdGl0bGVBbGlhcz86IHN0cmluZzsgLy/moJF0aXRsZeWvueW6lOeahGtleSzpu5jorqR0aXRsZVxyXG4gIG5vZGVQb3Jwcz86IG9iamVjdDtcclxufVxyXG5pbnRlcmZhY2UgTlNDQmFzZUJhZ2VQcm9wcyB7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65aS06YOo5pCc57Si5qCPXHJcbiAgdGFibGVQcm9wcz86IFRhYmxlUHJvcHM7IC8v6KGo5qC85Y+C5pWwXHJcbiAgdHJlZVByb3BzPzogVHJlZVByb3BzOyAvL+W3puS+p+agkeWPguaVsFxyXG4gIHN1Ym1pdFBhcmFtcz86IE9iamVjdDsgLy/mt7vliqDlj4LmlbDvvIzpu5jorqRtb3Rob2Q6cG9zdO+8jCDlj4LmlbDpgJrov4dkYXRh5Lyg6YCSXHJcbiAgc3VibWl0VXJsPzogc3RyaW5nO1xyXG4gIG9uU3VibWl0PzogYW55O1xyXG4gIGNvbHVtbnM6IEFycmF5PE9iamVjdD47XHJcbiAgc2hvd0xlZnQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuW3puS+p+ebruW9leagkVxyXG4gIHNob3dUb29sQnV0dG9uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmjInpkq7moI9cclxuICBlZGl0b3JGb3JtPzogYm9vbGVhbjsgLy/mmK/lkKbpnIDopoHooajljZXlip/og70gLCDkuLpmYWxzZSDnvJbovpHvvIzmn6XnnIvvvIzmlrDlop7lip/og73lnYfkuI3lj6/nlKhcclxuICBkZWxldGVVcmw/OiBzdHJpbmc7IC8v5Yig6ZmkdXJsXHJcbiAgb25EZWxldGU/OiBhbnk7IC8v5Yig6Zmk5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HaWRz5ou85o6l5Lyg6YCS57uZ5ZCO5Y+wXHJcbiAgZGVsZXRlUGFyYW1zPzogT2JqZWN0O1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xyXG4gIG9uU2VhcmNoPzogYW55O1xyXG4gIGluaXREYXRhPzogYW55OyAvL+WIneWni+WMluWbnuiwg+WHveaVsO+8jOWcqGNvbXBvbmVudERpZE1vdW505Lit6LCD55SoXHJcbiAgYnV0dG9ucz86IEFycmF5PHN0cmluZz47IC8v5oyJ6ZKu6ZuG5ZCIICBbJ2FkZCcsJ2RlbGV0ZScsJ3NlYXJjaCcsJ2VkaXRvciddXHJcbn1cclxuXHJcbmNsYXNzIEJhc2VQYWdlIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxOU0NCYXNlQmFnZVByb3BzLCBhbnk+IHtcclxuICB0YWJsZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgdHJlZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc2VhcmNoUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBlZGl0b3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wczogYW55KSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICB0eXBlOiBcImFkZFwiLFxyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IFtdLFxyXG4gICAgICB0cmVlU2VsZWN0ZWRLZXk6IFwiXCIsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgaW5pdERhdGEgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpbml0RGF0YSAmJiBpbml0RGF0YSgpO1xyXG4gIH1cclxuICBvblNlbGVjdCA9IChjaGVja2VkVHJlZUtleXM6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHZhbHVlID0geyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCwgZGVwdElkOiBjaGVja2VkVHJlZUtleXNbMF0gfTtcclxuICAgIHRoaXMudGFibGVMb2FkKHZhbHVlKTtcclxuICB9O1xyXG5cclxuICAvL+aYvuekuuihqOWNlVxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBmbGFnID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uc2hvdyh2YWx1ZSwgZmxhZyk7XHJcbiAgfVxyXG4gIC8v5om56YeP5Yig6ZmkXHJcbiAgb25EZWxldGUoKSB7XHJcbiAgICBjb25zdCB7IGRlbGV0ZVVybCwgb25EZWxldGUsIGRlbGV0ZVBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkUm93S2V5cy5sZW5ndGggPT0gMCkge1xyXG4gICAgICBtZXNzYWdlLndhcm5pbmcoXCLor7fpgInmi6nopoHliKDpmaTnmoTmlbDmja7vvIFcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChvbkRlbGV0ZSkge1xyXG4gICAgICBvbkRlbGV0ZSAmJiBvbkRlbGV0ZShzZWxlY3RlZFJvd0tleXMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWRlbGV0ZVVybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICB9XHJcbiAgICBNb2RhbC5jb25maXJtKHtcclxuICAgICAgdGl0bGU6IFwi5piv5ZCm56Gu6K6k5Yig6Zmk5omA6YCJ6aG577yfXCIsXHJcbiAgICAgIC8vIGljb246IDxJY29uIHR5cGU9eydpY29udGlzaGktMyd9IC8+LFxyXG4gICAgICBva1RleHQ6IFwi56Gu6K6kXCIsXHJcbiAgICAgIGNhbmNlbFRleHQ6IFwi5Y+W5raIXCIsXHJcbiAgICAgIG9uT2s6ICgpID0+IHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0UGFyYW1zID0ge1xyXG4gICAgICAgICAgbWV0aG9kOiBcInBvc3RcIixcclxuICAgICAgICAgIHBhcmFtczogeyBpZHM6IHNlbGVjdGVkUm93S2V5cy5qb2luKCkgfSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGxldCByZXF1ZXN0UGFyYW1zID0ge30gYXMgYW55O1xyXG4gICAgICAgIGlmIChkZWZhdWx0UGFyYW1zKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWxldGVQYXJhbXMgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVmYXVsdFBhcmFtcyB9O1xyXG4gICAgICAgIHJlcXVlc3QoZGVsZXRlVXJsLCB7XHJcbiAgICAgICAgICAuLi5yZXF1ZXN0UGFyYW1zLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLliKDpmaTmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuWIoOmZpOWksei0pe+8gVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHRhYmxlTG9hZChwYXJhbXM6IGFueSkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5sb2FkKHtcclxuICAgICAgcGFyYW1zOiBwYXJhbXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy/mn6Xor6JcclxuICBvblNlYXJjaCgpIHtcclxuICAgIGNvbnN0IHsgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgaWYgKG9uU2VhcmNoKSB7XHJcbiAgICAgIG9uU2VhcmNoKGZyb21WYWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudGFibGVMb2FkKGZyb21WYWx1ZSk7XHJcbiAgfVxyXG4gIC8v6KGo5qC86YeN5paw5Yqg6L29XHJcbiAgdGFibGVSZWxvYWQoKSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLnJlbG9hZCgpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0tleXM7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdChyZWNvcmQ6IGFueSwgc2VsZWN0ZWQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLm5ld1NlbGVjdGVkUm93S2V5cywgcmVjb3JkLmlkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93S2V5cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBuZXdTZWxlY3RlZFJvd0tleXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW9uT25TZWxlY3RBbGwoc2VsZWN0ZWQ6IGFueSwgc2VsZWN0ZWRSb3dzOiBhbnksIGNoYW5nZVJvd3M6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3aWRzOiBhbnkgPSBbXTtcclxuICAgIGlmIChjaGFuZ2VSb3dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGNoYW5nZUlkcyA9IGNoYW5nZVJvd3MubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzLCAuLi5jaGFuZ2VJZHNdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0pID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2lkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IFsuLi5uZXdpZHNdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9uczogYW55LCByZWNvcmQ6IGFueSwgYWN0aW9uQnV0dG9uPzogYm9vbGVhbikge1xyXG4gICAgY29uc3QgeyBlZGl0b3JGb3JtID0gdHJ1ZSwgYnV0dG9ucyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgY29udGVudCA9IGNvbHVtbkJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIC4uLnBhcmFtcyB9ID0gaXRlbS5wcm9wcztcclxuICAgICAgaWYgKGluZGV4ID4gMikge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcImVkaXRvclwiXSwgc3R5bGVzW1wiY29udGVudC1pdGVtXCJdKX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCBJY29uLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChpbmRleCA9PSAzKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxQb3BvdmVyXHJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgIHRpdGxlPXtudWxsfVxyXG4gICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICB0cmlnZ2VyPXtbXCJjbGlja1wiLCBcImhvdmVyXCJdfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAvLyBvdmVybGF5Q2xhc3NOYW1lPXtzdHlsZXNbJ3BvcCddfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiZWRpdG9yXCJdfT5cclxuICAgICAgICAgICAgICDmm7TlpJpcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlc1tcImljb25cIl19PlxyXG4gICAgICAgICAgICAgICAgPERvd25PdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIGlmIChpbmRleCA8IDMpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tcImVkaXRvclwiXX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7SWNvbn0ge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIC8v5qCR54K55Ye75LqL5Lu2XHJcbiAgdHJlZVNlbGVjdChzZWxlY3RlZEtleXM6IGFueSwgeyBzZWxlY3RlZCwgc2VsZWN0ZWROb2RlcyB9OiBhbnkpIHtcclxuICAgIGxldCBrZXl3b3JkID0gXCJcIjtcclxuICAgIGNvbnN0IHsgc2VhcmNoS2V5ID0gXCJrZXlcIiwgc2VhcmNoRmllbGQgPSBcIlwiIH0gPSB0aGlzLnByb3BzLnRyZWVQcm9wcztcclxuICAgIGNvbnN0IHsgdHJlZVNlbGVjdGVkS2V5IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE5vZGVzWzBdLmlzTGVhZiB8fCAhc2VsZWN0ZWROb2Rlc1swXS5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEtleXNbMF0gIT09IHRyZWVTZWxlY3RlZEtleSkge1xyXG4gICAgICAgICAgLy8gbGV0IG1hcERhdGEgPSB0aGlzLnRyZWVSZWYuY3VycmVudD8uc3RvcmUuZ2V0RmxhdHRlbkRhdGEoKTtcclxuICAgICAgICAgIGtleXdvcmQgPSBzZWxlY3RlZE5vZGVzWzBdLmRhdGFyZWYuYXR0cmlidXRlW3NlYXJjaEtleV07XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdHJlZVNlbGVjdGVkS2V5OiBzZWxlY3RlZEtleXNbMF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHRyZWVTZWxlY3RlZEtleToga2V5d29yZCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgc2VhcmNoRmllbGQgJiYgdGhpcy50YWJsZUxvYWQoeyAuLi5mcm9tVmFsdWUsIFtzZWFyY2hGaWVsZF06IGtleXdvcmQgfSk7XHJcbiAgfVxyXG4gIHJlc2V0U2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNvbHVtbnMgPSBbXSxcclxuICAgICAgc2hvd1NlYXJjaCA9IHRydWUsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdWJtaXRVcmwgPSBcIlwiLFxyXG4gICAgICB0YWJsZVByb3BzID0ge30sXHJcbiAgICAgIHRyZWVQcm9wcyA9IHt9LFxyXG4gICAgICBzaG93TGVmdCA9IGZhbHNlLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgc2hvd1Rvb2xCdXR0b24gPSB0cnVlLFxyXG4gICAgICAvLyBzaG93QWRkQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgLy8gc2hvd0RlbGV0ZUJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIGJ1dHRvbnMgPSBbXSxcclxuICAgICAgZWRpdG9yRm9ybSA9IHRydWUsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgZmlsdGVyQ29sdW1uID0gdHJ1ZSxcclxuICAgICAgYWN0aW9uQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgYWN0aW9uQ29sdW1uID0gdHJ1ZSxcclxuICAgICAgc2hvd1Jvd1NlbGVjdGlvbiA9IHRydWUsXHJcbiAgICB9ID0gdGFibGVQcm9wcztcclxuXHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlOiB0cmVlU3RvcmUgPSB7fSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJlZVNlYXJjaCA9IHRydWUsXHJcbiAgICAgIHRpdGxlQWxpYXMgPSBcInRpdGxlXCIsXHJcbiAgICB9ID0gdHJlZVByb3BzO1xyXG5cclxuICAgIGxldCB0YWJsZVBhcmFtcyA9IHsgZmlsdGVyQ29sdW1uLCBzdG9yZSB9IGFzIGFueTtcclxuXHJcbiAgICBpZiAoc2hvd1Jvd1NlbGVjdGlvbikge1xyXG4gICAgICB0YWJsZVBhcmFtcyA9IHtcclxuICAgICAgICAuLi50YWJsZVBhcmFtcyxcclxuICAgICAgICByb3dTZWxlY3Rpb246IHtcclxuICAgICAgICAgIHNlbGVjdGVkUm93S2V5czogc2VsZWN0ZWRSb3dLZXlzLFxyXG4gICAgICAgICAgb25TZWxlY3Q6IHRoaXMucm93U2VsZWN0aW9uT25TZWxlY3QuYmluZCh0aGlzKSxcclxuICAgICAgICAgIG9uU2VsZWN0QWxsOiB0aGlzLnJvd1NlbGVjdGlvbk9uU2VsZWN0QWxsLmJpbmQodGhpcyksXHJcbiAgICAgICAgICBjb2x1bW5XaWR0aDogNDAsXHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhYmxlQ29sdW1uOiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3Qgc2VhcmNoRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgZWRpdG9yRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29sdW1ucy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAodGVtcC5zZWFyY2gpIHtcclxuICAgICAgICBzZWFyY2hGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNlYXJjaDtcclxuICAgICAgdGVtcC5lZGl0b3IgIT09IGZhbHNlICYmXHJcbiAgICAgICAgZWRpdG9yRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICBydWxlczogdGVtcC5ydWxlcyxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgICAgc3BhbjogdGVtcC5zcGFuLFxyXG4gICAgICAgICAgZGljdE5hbWU6IHRlbXAuZGljdE5hbWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnJ1bGVzO1xyXG4gICAgICBkZWxldGUgdGVtcC5zcGFuO1xyXG4gICAgICBpZiAodGVtcC5jb2x1bW5TZWFyY2gpIHtcclxuICAgICAgICB0ZW1wLmZpbHRlclByb3BzID0ge1xyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC50eXBlO1xyXG4gICAgICBkZWxldGUgdGVtcC5wcm9wcztcclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3Qgc2VsZkJ1dHRvbnM6IGFueSA9IFtdO1xyXG5cclxuICAgIGNvbnN0IGNvbHVtbkJ1dHRvbnM6IGFueSA9IFtdO1xyXG4gICAgaWYgKGFjdGlvbkJ1dHRvbiAmJiBlZGl0b3JGb3JtID09IHRydWUpIHtcclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcInNlYXJjaFwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tcImVkaXRvclwiXX1cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOafpeeci1xyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYnV0dG9ucy5pbmRleE9mKFwiZWRpdG9yXCIpID4gLTEpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW1wiZWRpdG9yXCJdfVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93Rm9ybShyZWNvcmQsIHRydWUpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDnvJbovpFcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnByb3BzLnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5wcm9wcy5wYWdlVHlwZSA9PSBcImNsb3VtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3QgeyBwcm9wcyB9OiBhbnkgPSBjaGlsZHJlbjtcclxuICAgICAgaWYgKHByb3BzLnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgc2VsZkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHMucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFjdGlvbkNvbHVtbiAmJlxyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHtcclxuICAgICAgICB0aXRsZTogXCLmk43kvZxcIixcclxuICAgICAgICBkYXRhSW5kZXg6IFwiYWN0aW9uXCIsXHJcbiAgICAgICAgYWxpZ246IFwiY2VudGVyXCIsXHJcbiAgICAgICAgd2lkdGg6IDE1MCxcclxuICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnksIHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiYWN0aW9uXCJdfT5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9ucywgcmVjb3JkLCBhY3Rpb25CdXR0b24pfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInBhZ2VcIl19IHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiIH19PlxyXG4gICAgICAgIHtzaG93TGVmdCAmJiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wibGVmdFwiXX0+XHJcbiAgICAgICAgICAgIDxUcmVlXHJcbiAgICAgICAgICAgICAgc3RvcmU9e3sgLi4udHJlZVN0b3JlIH19XHJcbiAgICAgICAgICAgICAgc2hvd0ljb249e2ZhbHNlfVxyXG4gICAgICAgICAgICAgIGNoZWNrYWJsZT17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgc2VhcmNoYWJsZT17dHJlZVNlYXJjaH1cclxuICAgICAgICAgICAgICBvblNlbGVjdD17dGhpcy50cmVlU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRLZXlzPXtbdGhpcy5zdGF0ZS50cmVlU2VsZWN0ZWRLZXldfVxyXG4gICAgICAgICAgICAgIHRpdGxlQWxpYXM9e3RpdGxlQWxpYXN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApfVxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJyaWdodFwiXX0+XHJcbiAgICAgICAgICB7c2hvd1NlYXJjaCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJoZWFkZXJcIl19PlxyXG4gICAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgICByZWY9e3RoaXMuc2VhcmNoUmVmfVxyXG4gICAgICAgICAgICAgICAgbGFiZWxDb2w9e3t9fVxyXG4gICAgICAgICAgICAgICAgd3JhcHBlckNvbD17e319XHJcbiAgICAgICAgICAgICAgICBsYXlvdXQ9XCJpbmxpbmVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAyICYmICF0aGlzLnN0YXRlLmV4cGFuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogYOivt+i+k+WFpSR7aXRlbS5sYWJlbH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImJ1dHRvbnNcIl19IHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fT5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuc2VhcmNofSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5p+l6K+iXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMucmVzZXRTZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUucmVmcmVzaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOmHjee9rlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuYV9zdHlsZX1cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQ6ICFleHBhbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gPFVwT3V0bGluZWQgLz4gOiA8RG93bk91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7c2hvd1Rvb2xCdXR0b24gJiYgKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiYnV0dG9uc1wiXX0gc3R5bGU9e3sgbWFyZ2luTGVmdDogMCB9fT5cclxuICAgICAgICAgICAgICB7YnV0dG9ucy5pbmRleE9mKFwiYWRkXCIpID4gLTEgJiYgZWRpdG9yRm9ybSA9PSB0cnVlICYmIChcclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuc2hvd0Zvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuYWRkfSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5re75YqgXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtidXR0b25zLmluZGV4T2YoXCJkZWxldGVcIikgPiAtMSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uRGVsZXRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLmRlbGV0ZTN9IC8+fVxyXG4gICAgICAgICAgICAgICAgICBkYW5nZXJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5Yig6ZmkXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtzZWxmQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e2l0ZW19PC9kaXY+O1xyXG4gICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1widGFibGVcIl19PlxyXG4gICAgICAgICAgICA8VGFibGUgcmVmPXt0aGlzLnRhYmxlUmVmfSBjb2x1bW5zPXt0YWJsZUNvbHVtbn0gey4uLnRhYmxlUGFyYW1zfSAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge2VkaXRvckZvcm0gJiYgKFxyXG4gICAgICAgICAgPEVkaXRvckZvcm1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLmVkaXRvclJlZn1cclxuICAgICAgICAgICAgb25DYW5jZWw9e3RoaXMuc2hvd0Zvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgY2FsbEJhY2s9e3RoaXMudGFibGVSZWxvYWQuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXtlZGl0b3JGb3Jtc31cclxuICAgICAgICAgICAgc3VibWl0VXJsPXtzdWJtaXRVcmx9XHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcz17c3VibWl0UGFyYW1zfVxyXG4gICAgICAgICAgICBvblN1Ym1pdD17dGhpcy5wcm9wcy5vblN1Ym1pdH1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBCYXNlUGFnZTtcclxuIl19
|
|
673
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJnZXROb2RlIiwicmVxdWVzdCIsIkJhc2VQYWdlIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJjaGVja2VkVHJlZUtleXMiLCJzdGF0ZSIsIm5hbWUiLCJ1c2VyVHlwZSIsImFjY291bnQiLCJ2YWx1ZSIsImRlcHRJZCIsInRhYmxlTG9hZCIsInR5cGUiLCJzZWxlY3RlZFJvd0tleXMiLCJzZWxlY3RlZFJvd0RhdGFzIiwidHJlZVNlbGVjdGVkS2V5IiwiZXhwYW5kIiwiaW5pdERhdGEiLCJmbGFnIiwiZWRpdG9yUmVmIiwiY3VycmVudCIsInNob3ciLCJoaWRlIiwiZGVsZXRlVXJsIiwib25EZWxldGUiLCJkZWxldGVQYXJhbXMiLCJsZW5ndGgiLCJ3YXJuaW5nIiwiRXJyb3IiLCJjb25maXJtIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImRlZmF1bHRQYXJhbXMiLCJtZXRob2QiLCJwYXJhbXMiLCJpZHMiLCJqb2luIiwicmVxdWVzdFBhcmFtcyIsInRoZW4iLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidGFibGVSZWYiLCJzdG9yZSIsImxvYWQiLCJvblNlYXJjaCIsImZyb21WYWx1ZSIsInNlYXJjaFJlZiIsImdldEZpZWxkc1ZhbHVlIiwicmVsb2FkIiwicmVjb3JkIiwic2VsZWN0ZWQiLCJuZXdTZWxlY3RlZFJvd0tleXMiLCJuZXdTZWxlY3RlZFJvd0RhdGFzIiwiaWQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzcGxpY2UiLCJzZXRTdGF0ZSIsInNlbGVjdGVkUm93cyIsImNoYW5nZVJvd3MiLCJuZXdpZHMiLCJuZXdkYXRhcyIsImNoYW5nZUlkcyIsImluZGV4T2YiLCJwdXNoIiwiY29sdW1uQnV0dG9ucyIsImFjdGlvbkJ1dHRvbiIsImVkaXRvckZvcm0iLCJidXR0b25zIiwiY29udGVudCIsImNoaWxkcmVuIiwicGFnZVR5cGUiLCJvbkNsaWNrIiwic2VsZWN0ZWRLZXlzIiwic2VsZWN0ZWROb2RlcyIsImtleXdvcmQiLCJ0cmVlUHJvcHMiLCJzZWFyY2hLZXkiLCJzZWFyY2hGaWVsZCIsImlzTGVhZiIsImRhdGFyZWYiLCJhdHRyaWJ1dGUiLCJyZXNldEZpZWxkcyIsImNvbHVtbnMiLCJzaG93U2VhcmNoIiwic3VibWl0VXJsIiwidGFibGVQcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJmaWx0ZXJDb2x1bW4iLCJhY3Rpb25Db2x1bW4iLCJzaG93Um93U2VsZWN0aW9uIiwidHJlZVN0b3JlIiwidHJlZVNlYXJjaCIsInRpdGxlQWxpYXMiLCJ0YWJsZVBhcmFtcyIsInJvd1NlbGVjdGlvbiIsIm9uU2VsZWN0Iiwicm93U2VsZWN0aW9uT25TZWxlY3QiLCJiaW5kIiwib25TZWxlY3RBbGwiLCJyb3dTZWxlY3Rpb25PblNlbGVjdEFsbCIsImNvbHVtbldpZHRoIiwidGFibGVDb2x1bW4iLCJzZWFyY2hGb3JtcyIsImVkaXRvckZvcm1zIiwidGVtcCIsInNlYXJjaCIsImZpZWxkIiwiZGF0YUluZGV4IiwibGFiZWwiLCJlZGl0b3IiLCJydWxlcyIsInNwYW4iLCJkaWN0TmFtZSIsImNvbHVtblNlYXJjaCIsImZpbHRlclByb3BzIiwic2VsZkJ1dHRvbnMiLCJzaG93Rm9ybSIsIkFycmF5IiwiaXNBcnJheSIsImFsaWduIiwid2lkdGgiLCJyZW5kZXIiLCJ0ZXh0IiwicmVuZGVyQ2xvdW1uQnV0dG9uIiwiZGlzcGxheSIsInRyZWVTZWxlY3QiLCJwbGFjZWhvbGRlciIsIm1hcmdpblRvcCIsInJlc2V0U2VhcmNoIiwicmVmcmVzaCIsImFfc3R5bGUiLCJtYXJnaW5MZWZ0IiwiYWRkIiwiZGVsZXRlMyIsInRhYmxlUmVsb2FkIiwib25TdWJtaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLEtBQVAsTUFBa0Isa0JBQWxCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLGlCQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsbUJBQW5CO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixrQkFBbEI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLG9CQUFwQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0Isb0JBQXBCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQiw0QkFBakI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLGlCQUF6QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsUUFBdkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixxQkFBbkI7QUFFQSxTQUFTQyxZQUFULEVBQXVCQyxVQUF2QixRQUF5QyxtQkFBekM7QUFDQSxTQUFTQyxPQUFULFFBQXdCLGFBQXhCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixhQUFwQjs7SUFxQ01DLFE7Ozs7O0FBTUosb0JBQVlDLEtBQVosRUFBd0I7QUFBQTs7QUFBQTs7QUFDdEIsOEJBQU1BLEtBQU47O0FBRHNCLDRFQUxibkIsS0FBSyxDQUFDb0IsU0FBTixFQUthOztBQUFBLDJFQUpkcEIsS0FBSyxDQUFDb0IsU0FBTixFQUljOztBQUFBLDZFQUhacEIsS0FBSyxDQUFDb0IsU0FBTixFQUdZOztBQUFBLDZFQUZacEIsS0FBSyxDQUFDb0IsU0FBTixFQUVZOztBQUFBLCtEQWNiLFVBQUNDLGVBQUQsRUFBMEI7QUFDbkMsd0JBQW9DLE1BQUtDLEtBQXpDO0FBQUEsVUFBUUMsSUFBUixlQUFRQSxJQUFSO0FBQUEsVUFBY0MsUUFBZCxlQUFjQSxRQUFkO0FBQUEsVUFBd0JDLE9BQXhCLGVBQXdCQSxPQUF4QjtBQUNBLFVBQU1DLEtBQUssR0FBRztBQUFFSCxRQUFBQSxJQUFJLEVBQUpBLElBQUY7QUFBUUMsUUFBQUEsUUFBUSxFQUFSQSxRQUFSO0FBQWtCQyxRQUFBQSxPQUFPLEVBQVBBLE9BQWxCO0FBQTJCRSxRQUFBQSxNQUFNLEVBQUVOLGVBQWUsQ0FBQyxDQUFEO0FBQWxELE9BQWQ7O0FBQ0EsWUFBS08sU0FBTCxDQUFlRixLQUFmO0FBQ0QsS0FsQnVCOztBQUV0QixVQUFLSixLQUFMLEdBQWE7QUFDWE8sTUFBQUEsSUFBSSxFQUFFLEtBREs7QUFFWEMsTUFBQUEsZUFBZSxFQUFFLEVBRk47QUFHWEMsTUFBQUEsZ0JBQWdCLEVBQUUsRUFIUDtBQUlYQyxNQUFBQSxlQUFlLEVBQUUsRUFKTjtBQUtYQyxNQUFBQSxNQUFNLEVBQUU7QUFMRyxLQUFiO0FBRnNCO0FBU3ZCOzs7O1dBQ0QsNkJBQW9CO0FBQ2xCLFVBQVFDLFFBQVIsR0FBcUIsS0FBS2YsS0FBMUIsQ0FBUWUsUUFBUjtBQUNBQSxNQUFBQSxRQUFRLElBQUlBLFFBQVEsRUFBcEI7QUFDRDs7O1dBT0Q7QUFDQSxzQkFBU1IsS0FBVCxFQUFtQztBQUFBOztBQUFBLFVBQWJTLElBQWEsdUVBQU4sSUFBTTtBQUNqQyxvQ0FBS0MsU0FBTCxDQUFlQyxPQUFmLGdGQUF3QkMsSUFBeEIsQ0FBNkJaLEtBQTdCLEVBQW9DUyxJQUFwQztBQUNELEssQ0FFRDs7OztXQUNBLG9CQUFzQjtBQUFBOztBQUFBLFVBQWJBLElBQWEsdUVBQU4sSUFBTTtBQUNwQixxQ0FBS0MsU0FBTCxDQUFlQyxPQUFmLGtGQUF3QkUsSUFBeEIsQ0FBNkJKLElBQTdCO0FBQ0QsSyxDQUVEOzs7O1dBQ0Esb0JBQVc7QUFDVCx3QkFBOEMsS0FBS2hCLEtBQW5EO0FBQUEsVUFBUXFCLFNBQVIsZUFBUUEsU0FBUjtBQUFBLFVBQW1CQyxRQUFuQixlQUFtQkEsUUFBbkI7QUFBQSxVQUE2QkMsWUFBN0IsZUFBNkJBLFlBQTdCO0FBQ0EsVUFBUVosZUFBUixHQUE0QixLQUFLUixLQUFqQyxDQUFRUSxlQUFSOztBQUNBLFVBQUlBLGVBQWUsQ0FBQ2EsTUFBaEIsSUFBMEIsQ0FBOUIsRUFBaUM7QUFDL0JuQyxRQUFBQSxPQUFPLENBQUNvQyxPQUFSLENBQWdCLFlBQWhCO0FBQ0E7QUFDRDs7QUFDRCxVQUFJSCxRQUFKLEVBQWM7QUFDWkEsUUFBQUEsUUFBUSxJQUFJQSxRQUFRLENBQUNYLGVBQUQsQ0FBcEI7QUFDQTtBQUNEOztBQUNELFVBQUksQ0FBQ1UsU0FBTCxFQUFnQjtBQUNkLGNBQU0sSUFBSUssS0FBSixDQUFVLFVBQVYsQ0FBTjtBQUNEOztBQUNEdkMsTUFBQUEsS0FBSyxDQUFDd0MsT0FBTixDQUFjO0FBQ1pDLFFBQUFBLEtBQUssRUFBRSxZQURLO0FBRVo7QUFDQUMsUUFBQUEsTUFBTSxFQUFFLElBSEk7QUFJWkMsUUFBQUEsVUFBVSxFQUFFLElBSkE7QUFLWkMsUUFBQUEsSUFBSSxFQUFFLGdCQUFNO0FBQ1YsY0FBTUMsYUFBYSxHQUFHO0FBQ3BCQyxZQUFBQSxNQUFNLEVBQUUsTUFEWTtBQUVwQkMsWUFBQUEsTUFBTSxFQUFFO0FBQUVDLGNBQUFBLEdBQUcsRUFBRXhCLGVBQWUsQ0FBQ3lCLElBQWhCO0FBQVA7QUFGWSxXQUF0QjtBQUlBLGNBQUlDLGFBQWEsR0FBRyxFQUFwQjs7QUFDQSxjQUFJTCxhQUFKLEVBQW1CO0FBQ2pCSyxZQUFBQSxhQUFhLHFCQUFRZCxZQUFSLENBQWI7QUFDRDs7QUFDRGMsVUFBQUEsYUFBYSxxQkFBUUwsYUFBUixDQUFiO0FBQ0FsQyxVQUFBQSxPQUFPLENBQUN1QixTQUFELG9CQUNGZ0IsYUFERSxFQUFQLENBR0dDLElBSEgsQ0FHUSxVQUFVQyxHQUFWLEVBQW9CO0FBQ3hCLGdCQUFRQyxJQUFSLEdBQWlCRCxHQUFqQixDQUFRQyxJQUFSOztBQUNBLGdCQUFJQSxJQUFJLEtBQUssR0FBYixFQUFrQjtBQUNoQm5ELGNBQUFBLE9BQU8sQ0FBQ29ELE9BQVIsQ0FBZ0IsT0FBaEI7QUFDRCxhQUZELE1BRU87QUFDTHBELGNBQUFBLE9BQU8sQ0FBQ3FELEtBQVIsQ0FBYyxPQUFkO0FBQ0Q7QUFDRixXQVZILEVBV0dDLEtBWEgsQ0FXUyxVQUFVRCxLQUFWLEVBQXNCO0FBQzNCRSxZQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxPQUFaLEVBQXFCSCxLQUFyQjtBQUNELFdBYkg7QUFjRDtBQTdCVyxPQUFkO0FBK0JEOzs7V0FDRCxtQkFBVVIsTUFBVixFQUF1QjtBQUFBOztBQUNyQixvQ0FBS1ksUUFBTCxDQUFjNUIsT0FBZCxnRkFBdUI2QixLQUF2QixDQUE2QkMsSUFBN0IsQ0FBa0M7QUFDaENkLFFBQUFBLE1BQU0sRUFBRUE7QUFEd0IsT0FBbEM7QUFHRCxLLENBQ0Q7Ozs7V0FDQSxvQkFBVztBQUFBOztBQUNULFVBQVFlLFFBQVIsR0FBcUIsS0FBS2pELEtBQTFCLENBQVFpRCxRQUFSO0FBQ0EsVUFBTUMsU0FBUyw0QkFBRyxLQUFLQyxTQUFMLENBQWVqQyxPQUFsQiwwREFBRyxzQkFBd0JrQyxjQUF4QixFQUFsQjs7QUFDQSxVQUFJSCxRQUFKLEVBQWM7QUFDWkEsUUFBQUEsUUFBUSxDQUFDQyxTQUFELENBQVI7QUFDQTtBQUNEOztBQUNELFdBQUt6QyxTQUFMLENBQWV5QyxTQUFmO0FBQ0QsSyxDQUNEOzs7O1dBQ0EsdUJBQWM7QUFBQTs7QUFDWixxQ0FBS0osUUFBTCxDQUFjNUIsT0FBZCxrRkFBdUI2QixLQUF2QixDQUE2Qk0sTUFBN0I7QUFDRDs7O1dBQ0QsOEJBQXFCO0FBQ25CLGFBQU8sS0FBS2xELEtBQUwsQ0FBV1EsZUFBbEI7QUFDRDs7O1dBQ0QsK0JBQXNCO0FBQ3BCLGFBQU8sS0FBS1IsS0FBTCxDQUFXUyxnQkFBbEI7QUFDRDs7O1dBQ0QsMkJBQWtCO0FBQUE7O0FBQ2hCLFVBQU1zQyxTQUFTLDZCQUFHLEtBQUtDLFNBQUwsQ0FBZWpDLE9BQWxCLDJEQUFHLHVCQUF3QmtDLGNBQXhCLEVBQWxCO0FBQ0EsYUFBT0YsU0FBUDtBQUNEOzs7V0FDRCw4QkFBcUJJLE1BQXJCLEVBQWtDQyxRQUFsQyxFQUFpRDtBQUMvQyx5QkFBOEMsS0FBS3BELEtBQW5EO0FBQUEsVUFBUVEsZUFBUixnQkFBUUEsZUFBUjtBQUFBLFVBQXlCQyxnQkFBekIsZ0JBQXlCQSxnQkFBekI7O0FBQ0EsVUFBSTRDLGtCQUFrQixzQkFBTzdDLGVBQVAsQ0FBdEI7O0FBQ0EsVUFBSThDLG1CQUFtQixzQkFBTzdDLGdCQUFQLENBQXZCOztBQUNBLFVBQUkyQyxRQUFKLEVBQWM7QUFDWkMsUUFBQUEsa0JBQWtCLGdDQUFPQSxrQkFBUCxJQUEyQkYsTUFBTSxDQUFDSSxFQUFsQyxFQUFsQjtBQUNBRCxRQUFBQSxtQkFBbUIsZ0NBQU9BLG1CQUFQLElBQTRCSCxNQUE1QixFQUFuQjtBQUNELE9BSEQsTUFHTztBQUNMM0MsUUFBQUEsZUFBZSxDQUFDZ0QsR0FBaEIsQ0FBb0IsVUFBQ0MsSUFBRCxFQUFZQyxLQUFaLEVBQTJCO0FBQzdDLGNBQUlELElBQUksS0FBS04sTUFBTSxDQUFDSSxFQUFwQixFQUF3QjtBQUN0QkYsWUFBQUEsa0JBQWtCLENBQUNNLE1BQW5CLENBQTBCRCxLQUExQixFQUFpQyxDQUFqQztBQUNEO0FBQ0YsU0FKRDtBQUtBakQsUUFBQUEsZ0JBQWdCLENBQUMrQyxHQUFqQixDQUFxQixVQUFDQyxJQUFELEVBQVlDLEtBQVosRUFBMkI7QUFDOUMsY0FBSUQsSUFBSSxDQUFDRixFQUFMLEtBQVlKLE1BQU0sQ0FBQ0ksRUFBdkIsRUFBMkI7QUFDekJELFlBQUFBLG1CQUFtQixDQUFDSyxNQUFwQixDQUEyQkQsS0FBM0IsRUFBa0MsQ0FBbEM7QUFDRDtBQUNGLFNBSkQ7QUFLRDs7QUFDRCxXQUFLRSxRQUFMLENBQWM7QUFDWnBELFFBQUFBLGVBQWUsRUFBRTZDLGtCQURMO0FBRVo1QyxRQUFBQSxnQkFBZ0IsRUFBRTZDO0FBRk4sT0FBZDtBQUlEOzs7V0FDRCxpQ0FBd0JGLFFBQXhCLEVBQXVDUyxZQUF2QyxFQUEwREMsVUFBMUQsRUFBMkU7QUFDekUseUJBQThDLEtBQUs5RCxLQUFuRDtBQUFBLFVBQVFRLGVBQVIsZ0JBQVFBLGVBQVI7QUFBQSxVQUF5QkMsZ0JBQXpCLGdCQUF5QkEsZ0JBQXpCO0FBQ0EsVUFBSXNELE1BQVcsR0FBRyxFQUFsQjtBQUNBLFVBQUlDLFFBQWEsR0FBRyxFQUFwQjs7QUFDQSxVQUFJRixVQUFVLENBQUN6QyxNQUFYLEdBQW9CLENBQXhCLEVBQTJCO0FBQ3pCLFlBQUk0QyxTQUFTLEdBQUdILFVBQVUsQ0FBQ04sR0FBWCxDQUFlLFVBQUNDLElBQUQ7QUFBQSxpQkFBZUEsSUFBSSxDQUFDRixFQUFwQjtBQUFBLFNBQWYsQ0FBaEI7O0FBQ0EsWUFBSUgsUUFBSixFQUFjO0FBQ1pXLFVBQUFBLE1BQU0sZ0NBQU92RCxlQUFQLHNCQUEyQnlELFNBQTNCLEVBQU47QUFDQUQsVUFBQUEsUUFBUSxnQ0FBT3ZELGdCQUFQLHNCQUE0QnFELFVBQTVCLEVBQVI7QUFDRCxTQUhELE1BR087QUFDTHRELFVBQUFBLGVBQWUsQ0FBQ2dELEdBQWhCLENBQW9CLFVBQUNDLElBQUQsRUFBWUMsS0FBWixFQUEyQjtBQUM3QyxnQkFBSU8sU0FBUyxDQUFDQyxPQUFWLENBQWtCVCxJQUFsQixLQUEyQixDQUFDLENBQWhDLEVBQW1DO0FBQ2pDTSxjQUFBQSxNQUFNLENBQUNJLElBQVAsQ0FBWVYsSUFBWjtBQUNEO0FBQ0YsV0FKRDtBQUtBaEQsVUFBQUEsZ0JBQWdCLENBQUMrQyxHQUFqQixDQUFxQixVQUFDQyxJQUFELEVBQVlDLEtBQVosRUFBMkI7QUFDOUMsZ0JBQUlPLFNBQVMsQ0FBQ0MsT0FBVixDQUFrQlQsSUFBSSxDQUFDRixFQUF2QixLQUE4QixDQUFDLENBQW5DLEVBQXNDO0FBQ3BDUyxjQUFBQSxRQUFRLENBQUNHLElBQVQsQ0FBY1YsSUFBZDtBQUNEO0FBQ0YsV0FKRDtBQUtEO0FBQ0YsT0FqQkQsTUFpQk87QUFDTE0sUUFBQUEsTUFBTSxzQkFBT3ZELGVBQVAsQ0FBTjtBQUNBd0QsUUFBQUEsUUFBUSxzQkFBT3ZELGdCQUFQLENBQVI7QUFDRDs7QUFDRCxXQUFLbUQsUUFBTCxDQUFjO0FBQ1pwRCxRQUFBQSxlQUFlLHFCQUFNdUQsTUFBTixDQURIO0FBRVp0RCxRQUFBQSxnQkFBZ0IscUJBQU11RCxRQUFOO0FBRkosT0FBZDtBQUlEOzs7V0FFRCw0QkFBbUJJLGFBQW5CLEVBQXVDakIsTUFBdkMsRUFBb0RrQixZQUFwRCxFQUE0RTtBQUMxRSx5QkFBNEMsS0FBS3hFLEtBQWpEO0FBQUEsK0NBQVF5RSxVQUFSO0FBQUEsVUFBUUEsVUFBUixzQ0FBcUIsSUFBckI7QUFBQSw4Q0FBMkJDLE9BQTNCO0FBQUEsVUFBMkJBLE9BQTNCLHFDQUFxQyxFQUFyQztBQUNBLFVBQU1DLE9BQU8sR0FBR0osYUFBYSxDQUFDWixHQUFkLENBQWtCLFVBQUNDLElBQUQsRUFBWUMsS0FBWixFQUEyQjtBQUMzRCwwQkFBbURELElBQUksQ0FBQzVELEtBQXhEO0FBQUEsWUFBUTRFLFFBQVIsZUFBUUEsUUFBUjtBQUFBLFlBQWtCQyxRQUFsQixlQUFrQkEsUUFBbEI7QUFBQSxZQUE0QkMsUUFBNUIsZUFBNEJBLE9BQTVCO0FBQUEsWUFBd0M1QyxNQUF4Qzs7QUFDQSxZQUFJMkIsS0FBSyxHQUFHLENBQVosRUFBZTtBQUNiLDhCQUNFO0FBQ0UsWUFBQSxTQUFTLEVBQUVwRSxHQUFHLENBQUNDLE1BQU0sQ0FBQyxRQUFELENBQVAsRUFBbUJBLE1BQU0sQ0FBQyxjQUFELENBQXpCLENBRGhCO0FBRUUsWUFBQSxHQUFHLEVBQUVtRSxLQUZQO0FBR0UsWUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYmlCLGNBQUFBLFFBQU8sSUFBSUEsUUFBTyxDQUFDeEIsTUFBRCxDQUFsQjtBQUNEO0FBTEgsYUFNTXBCLE1BTk4sR0FRRzBDLFFBUkgsQ0FERjtBQVlEO0FBQ0YsT0FoQmUsQ0FBaEI7QUFpQkEsYUFBT0wsYUFBYSxDQUFDWixHQUFkLENBQWtCLFVBQUNDLElBQUQsRUFBWUMsS0FBWixFQUEyQjtBQUNsRCwyQkFBeURELElBQUksQ0FBQzVELEtBQTlEO0FBQUEsWUFBUTRFLFFBQVIsZ0JBQVFBLFFBQVI7QUFBQSxZQUFrQkMsUUFBbEIsZ0JBQWtCQSxRQUFsQjtBQUFBLFlBQTRCQyxTQUE1QixnQkFBNEJBLE9BQTVCO0FBQUEsWUFBcUN4RixJQUFyQyxnQkFBcUNBLElBQXJDO0FBQUEsWUFBOEM0QyxNQUE5Qzs7QUFDQSxZQUFJMkIsS0FBSyxJQUFJLENBQWIsRUFBZ0I7QUFDZCw4QkFDRSxvQkFBQyxPQUFEO0FBQ0UsWUFBQSxTQUFTLEVBQUMsUUFEWjtBQUVFLFlBQUEsS0FBSyxFQUFFLElBRlQ7QUFHRSxZQUFBLE9BQU8sRUFBRWMsT0FIWDtBQUlFLFlBQUEsT0FBTyxFQUFFLENBQUMsT0FBRCxFQUFVLE9BQVYsQ0FKWDtBQUtFLFlBQUEsR0FBRyxFQUFFZCxLQUxQLENBTUU7O0FBTkYsMEJBUUU7QUFBSyxZQUFBLFNBQVMsRUFBRW5FLE1BQU0sQ0FBQyxRQUFEO0FBQXRCLDBDQUVFO0FBQU0sWUFBQSxTQUFTLEVBQUVBLE1BQU0sQ0FBQyxNQUFEO0FBQXZCLDBCQUNFLG9CQUFDLFlBQUQsT0FERixDQUZGLENBUkYsQ0FERjtBQWlCRCxTQWxCRCxNQWtCTyxJQUFJbUUsS0FBSyxHQUFHLENBQVosRUFBZTtBQUNwQiw4QkFDRTtBQUNFLFlBQUEsU0FBUyxFQUFFbkUsTUFBTSxDQUFDLFFBQUQsQ0FEbkI7QUFFRSxZQUFBLEdBQUcsRUFBRW1FLEtBRlA7QUFHRSxZQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiaUIsY0FBQUEsU0FBTyxJQUFJQSxTQUFPLENBQUN4QixNQUFELENBQWxCO0FBQ0Q7QUFMSCxhQU1NcEIsTUFOTixHQVFHNUMsSUFSSCxPQVFVc0YsUUFSVixDQURGO0FBWUQsU0FiTSxNQWFBO0FBQ0wsaUJBQU8sSUFBUDtBQUNEO0FBQ0YsT0FwQ00sQ0FBUCxDQW5CMEUsQ0F3RDFFO0FBQ0QsSyxDQUNEOzs7O1dBQ0Esb0JBQVdHLFlBQVgsUUFBZ0U7QUFBQTs7QUFBQSxVQUFoQ3hCLFFBQWdDLFFBQWhDQSxRQUFnQztBQUFBLFVBQXRCeUIsYUFBc0IsUUFBdEJBLGFBQXNCO0FBQzlELFVBQUlDLE9BQU8sR0FBRyxFQUFkO0FBQ0Esa0NBQWdELEtBQUtqRixLQUFMLENBQVdrRixTQUEzRDtBQUFBLHlEQUFRQyxTQUFSO0FBQUEsVUFBUUEsU0FBUix1Q0FBb0IsS0FBcEI7QUFBQSx5REFBMkJDLFdBQTNCO0FBQUEsVUFBMkJBLFdBQTNCLHVDQUF5QyxFQUF6QztBQUNBLFVBQVF2RSxlQUFSLEdBQTRCLEtBQUtWLEtBQWpDLENBQVFVLGVBQVI7O0FBQ0EsVUFBSTBDLFFBQUosRUFBYztBQUNaLFlBQUl5QixhQUFhLENBQUMsQ0FBRCxDQUFiLENBQWlCSyxNQUFqQixJQUEyQixDQUFDTCxhQUFhLENBQUMsQ0FBRCxDQUFiLENBQWlCSixRQUFqRCxFQUEyRDtBQUN6RCxjQUFJRyxZQUFZLENBQUMsQ0FBRCxDQUFaLEtBQW9CbEUsZUFBeEIsRUFBeUM7QUFDdkM7QUFDQW9FLFlBQUFBLE9BQU8sR0FBR0QsYUFBYSxDQUFDLENBQUQsQ0FBYixDQUFpQk0sT0FBakIsQ0FBeUJDLFNBQXpCLENBQW1DSixTQUFuQyxDQUFWO0FBQ0EsaUJBQUtwQixRQUFMLENBQWM7QUFDWmxELGNBQUFBLGVBQWUsRUFBRWtFLFlBQVksQ0FBQyxDQUFEO0FBRGpCLGFBQWQ7QUFHRDtBQUNGO0FBQ0YsT0FWRCxNQVVPO0FBQ0wsYUFBS2hCLFFBQUwsQ0FBYztBQUNabEQsVUFBQUEsZUFBZSxFQUFFb0U7QUFETCxTQUFkO0FBR0Q7O0FBQ0QsVUFBTS9CLFNBQVMsNkJBQUcsS0FBS0MsU0FBTCxDQUFlakMsT0FBbEIsMkRBQUcsdUJBQXdCa0MsY0FBeEIsRUFBbEI7QUFDQWdDLE1BQUFBLFdBQVcsSUFBSSxLQUFLM0UsU0FBTCxpQ0FBb0J5QyxTQUFwQiwyQkFBZ0NrQyxXQUFoQyxFQUE4Q0gsT0FBOUMsR0FBZjtBQUNEOzs7V0FDRCx1QkFBYztBQUFBOztBQUNaLHFDQUFLOUIsU0FBTCxDQUFlakMsT0FBZixrRkFBd0JzRSxXQUF4QjtBQUNEOzs7V0FDRCxrQkFBUztBQUFBOztBQUNQLFVBQVE3RSxlQUFSLEdBQTRCLEtBQUtSLEtBQWpDLENBQVFRLGVBQVI7QUFDQSx5QkFjSSxLQUFLWCxLQWRUO0FBQUEsOENBQ0V5RixPQURGO0FBQUEsVUFDRUEsT0FERixxQ0FDWSxFQURaO0FBQUEsK0NBRUVDLFVBRkY7QUFBQSxVQUVFQSxVQUZGLHNDQUVlLElBRmY7QUFBQSxVQUdFZCxRQUhGLGdCQUdFQSxRQUhGO0FBQUEsK0NBSUVlLFNBSkY7QUFBQSxVQUlFQSxTQUpGLHNDQUljLEVBSmQ7QUFBQSwrQ0FLRUMsVUFMRjtBQUFBLFVBS0VBLFVBTEYsc0NBS2UsRUFMZjtBQUFBLCtDQU1FVixTQU5GO0FBQUEsVUFNRUEsU0FORixzQ0FNYyxFQU5kO0FBQUEsK0NBT0VXLFFBUEY7QUFBQSxVQU9FQSxRQVBGLHNDQU9hLEtBUGI7QUFBQSwrQ0FRRUMsWUFSRjtBQUFBLFVBUUVBLFlBUkYsc0NBUWlCLEVBUmpCO0FBQUEsK0NBU0VDLGNBVEY7QUFBQSxVQVNFQSxjQVRGLHNDQVNtQixJQVRuQjtBQUFBLDhDQVlFckIsT0FaRjtBQUFBLFVBWUVBLE9BWkYscUNBWVksRUFaWjtBQUFBLCtDQWFFRCxVQWJGO0FBQUEsVUFhRUEsVUFiRixzQ0FhZSxJQWJmO0FBZUEsOEJBTUltQixVQU5KLENBQ0U3QyxLQURGO0FBQUEsVUFDRUEsS0FERixrQ0FDVSxFQURWO0FBQUEsa0NBTUk2QyxVQU5KLENBRUVJLFlBRkY7QUFBQSxVQUVFQSxZQUZGLHNDQUVpQixJQUZqQjtBQUFBLGtDQU1JSixVQU5KLENBR0VwQixZQUhGO0FBQUEsVUFHRUEsWUFIRixzQ0FHaUIsSUFIakI7QUFBQSxrQ0FNSW9CLFVBTkosQ0FJRUssWUFKRjtBQUFBLFVBSUVBLFlBSkYsc0NBSWlCLElBSmpCO0FBQUEsa0NBTUlMLFVBTkosQ0FLRU0sZ0JBTEY7QUFBQSxVQUtFQSxnQkFMRixzQ0FLcUIsSUFMckI7QUFRQSw2QkFJSWhCLFNBSkosQ0FDRW5DLEtBREY7QUFBQSxVQUNTb0QsU0FEVCxpQ0FDcUIsRUFEckI7QUFBQSxrQ0FJSWpCLFNBSkosQ0FFRVEsVUFGRjtBQUFBLFVBRWNVLFVBRmQsc0NBRTJCLElBRjNCO0FBQUEsa0NBSUlsQixTQUpKLENBR0VtQixVQUhGO0FBQUEsVUFHRUEsVUFIRixzQ0FHZSxPQUhmO0FBTUEsVUFBSUMsV0FBVyxHQUFHO0FBQUVOLFFBQUFBLFlBQVksRUFBWkEsWUFBRjtBQUFnQmpELFFBQUFBLEtBQUssRUFBTEE7QUFBaEIsT0FBbEI7O0FBRUEsVUFBSW1ELGdCQUFKLEVBQXNCO0FBQ3BCSSxRQUFBQSxXQUFXLG1DQUNOQSxXQURNO0FBRVRDLFVBQUFBLFlBQVksRUFBRTtBQUNaNUYsWUFBQUEsZUFBZSxFQUFFQSxlQURMO0FBRVo2RixZQUFBQSxRQUFRLEVBQUUsS0FBS0Msb0JBQUwsQ0FBMEJDLElBQTFCLENBQStCLElBQS9CLENBRkU7QUFHWkMsWUFBQUEsV0FBVyxFQUFFLEtBQUtDLHVCQUFMLENBQTZCRixJQUE3QixDQUFrQyxJQUFsQyxDQUhEO0FBSVpHLFlBQUFBLFdBQVcsRUFBRTtBQUpEO0FBRkwsVUFBWDtBQVNEOztBQUNELFVBQU1DLFdBQWtCLEdBQUcsRUFBM0I7QUFDQSxVQUFNQyxXQUFnQixHQUFHLEVBQXpCO0FBQ0EsVUFBTUMsV0FBZ0IsR0FBRyxFQUF6QjtBQUNBdkIsTUFBQUEsT0FBTyxDQUFDOUIsR0FBUixDQUFZLFVBQUNDLElBQUQsRUFBZTtBQUN6QixZQUFJcUQsSUFBSSxxQkFBUXJELElBQVIsQ0FBUjs7QUFDQSxZQUFJcUQsSUFBSSxDQUFDQyxNQUFULEVBQWlCO0FBQ2ZILFVBQUFBLFdBQVcsQ0FBQ3pDLElBQVosQ0FBaUI7QUFDZmxFLFlBQUFBLElBQUksRUFBRTZHLElBQUksQ0FBQ0UsS0FBTCxJQUFjRixJQUFJLENBQUNHLFNBRFY7QUFFZkMsWUFBQUEsS0FBSyxFQUFFSixJQUFJLENBQUNyRixLQUZHO0FBR2ZsQixZQUFBQSxJQUFJLEVBQUV1RyxJQUFJLENBQUN2RyxJQUhJO0FBSWZWLFlBQUFBLEtBQUssRUFBRWlILElBQUksQ0FBQ2pIO0FBSkcsV0FBakI7QUFNRDs7QUFDRCxlQUFPaUgsSUFBSSxDQUFDQyxNQUFaO0FBQ0FELFFBQUFBLElBQUksQ0FBQ0ssTUFBTCxLQUFnQixLQUFoQixJQUNFTixXQUFXLENBQUMxQyxJQUFaLENBQWlCO0FBQ2ZsRSxVQUFBQSxJQUFJLEVBQUU2RyxJQUFJLENBQUNFLEtBQUwsSUFBY0YsSUFBSSxDQUFDRyxTQURWO0FBRWZDLFVBQUFBLEtBQUssRUFBRUosSUFBSSxDQUFDckYsS0FGRztBQUdmMkYsVUFBQUEsS0FBSyxFQUFFTixJQUFJLENBQUNNLEtBSEc7QUFJZjdHLFVBQUFBLElBQUksRUFBRXVHLElBQUksQ0FBQ3ZHLElBSkk7QUFLZlYsVUFBQUEsS0FBSyxFQUFFaUgsSUFBSSxDQUFDakgsS0FMRztBQU1md0gsVUFBQUEsSUFBSSxFQUFFUCxJQUFJLENBQUNPLElBTkk7QUFPZkMsVUFBQUEsUUFBUSxFQUFFUixJQUFJLENBQUNRO0FBUEEsU0FBakIsQ0FERjtBQVVBLGVBQU9SLElBQUksQ0FBQ00sS0FBWjtBQUNBLGVBQU9OLElBQUksQ0FBQ08sSUFBWjs7QUFDQSxZQUFJUCxJQUFJLENBQUNTLFlBQVQsRUFBdUI7QUFDckJULFVBQUFBLElBQUksQ0FBQ1UsV0FBTCxHQUFtQjtBQUNqQmpILFlBQUFBLElBQUksRUFBRXVHLElBQUksQ0FBQ3ZHLElBRE07QUFFakJWLFlBQUFBLEtBQUssRUFBRWlILElBQUksQ0FBQ2pIO0FBRkssV0FBbkI7QUFJRDs7QUFDRCxlQUFPaUgsSUFBSSxDQUFDdkcsSUFBWjtBQUNBLGVBQU91RyxJQUFJLENBQUNqSCxLQUFaO0FBQ0E4RyxRQUFBQSxXQUFXLENBQUN4QyxJQUFaLENBQWlCMkMsSUFBakI7QUFDRCxPQWhDRDtBQWlDQSxVQUFNVyxXQUFnQixHQUFHLEVBQXpCO0FBRUEsVUFBTXJELGFBQWtCLEdBQUcsRUFBM0I7O0FBQ0EsVUFBSUMsWUFBWSxJQUFJQyxVQUFVLElBQUksSUFBbEMsRUFBd0M7QUFDdEMsWUFBSUMsT0FBTyxDQUFDTCxPQUFSLENBQWdCLFFBQWhCLElBQTRCLENBQUMsQ0FBakMsRUFBb0M7QUFDbENFLFVBQUFBLGFBQWEsQ0FBQ0QsSUFBZCxlQUNFO0FBQ0UsWUFBQSxTQUFTLEVBQUU1RSxNQUFNLENBQUMsUUFBRCxDQURuQjtBQUVFLFlBQUEsT0FBTyxFQUFFLGlCQUFDNEQsTUFBRCxFQUFZO0FBQ25CLGNBQUEsTUFBSSxDQUFDdUUsUUFBTCxDQUFjdkUsTUFBZCxFQUFzQixLQUF0QjtBQUNEO0FBSkgsNEJBREY7QUFVRDs7QUFDRCxZQUFJb0IsT0FBTyxDQUFDTCxPQUFSLENBQWdCLFFBQWhCLElBQTRCLENBQUMsQ0FBakMsRUFBb0M7QUFDbENFLFVBQUFBLGFBQWEsQ0FBQ0QsSUFBZCxlQUNFO0FBQ0UsWUFBQSxTQUFTLEVBQUU1RSxNQUFNLENBQUMsUUFBRCxDQURuQjtBQUVFLFlBQUEsT0FBTyxFQUFFLGlCQUFDNEQsTUFBRCxFQUFZO0FBQ25CLGNBQUEsTUFBSSxDQUFDdUUsUUFBTCxDQUFjdkUsTUFBZCxFQUFzQixJQUF0QjtBQUNEO0FBSkgsNEJBREY7QUFVRDtBQUNGOztBQUNELFVBQUl3RSxLQUFLLENBQUNDLE9BQU4sQ0FBY25ELFFBQWQsQ0FBSixFQUE2QjtBQUMzQkEsUUFBQUEsUUFBUSxDQUFDakIsR0FBVCxDQUFhLFVBQUNDLElBQUQsRUFBZTtBQUMxQixjQUFJQSxJQUFJLENBQUM1RCxLQUFMLENBQVc2RSxRQUFYLElBQXVCLFlBQTNCLEVBQXlDO0FBQ3ZDK0MsWUFBQUEsV0FBVyxDQUFDdEQsSUFBWixDQUFpQlYsSUFBakI7QUFDRCxXQUZELE1BRU8sSUFBSUEsSUFBSSxDQUFDNUQsS0FBTCxDQUFXNkUsUUFBWCxJQUF1QixjQUEzQixFQUEyQztBQUNoRE4sWUFBQUEsYUFBYSxDQUFDRCxJQUFkLENBQW1CVixJQUFuQjtBQUNEO0FBQ0YsU0FORDtBQU9ELE9BUkQsTUFRTyxJQUFJZ0IsUUFBSixFQUFjO0FBQ25CLFlBQVE1RSxLQUFSLEdBQXVCNEUsUUFBdkIsQ0FBUTVFLEtBQVI7O0FBQ0EsWUFBSUEsS0FBSyxDQUFDNkUsUUFBTixJQUFrQixZQUF0QixFQUFvQztBQUNsQytDLFVBQUFBLFdBQVcsQ0FBQ3RELElBQVosQ0FBaUJNLFFBQWpCO0FBQ0QsU0FGRCxNQUVPLElBQUk1RSxLQUFLLENBQUM2RSxRQUFOLElBQWtCLGNBQXRCLEVBQXNDO0FBQzNDTixVQUFBQSxhQUFhLENBQUNELElBQWQsQ0FBbUJNLFFBQW5CO0FBQ0Q7QUFDRjs7QUFDRHFCLE1BQUFBLFlBQVksSUFDVmEsV0FBVyxDQUFDeEMsSUFBWixDQUFpQjtBQUNmMUMsUUFBQUEsS0FBSyxFQUFFLElBRFE7QUFFZndGLFFBQUFBLFNBQVMsRUFBRSxRQUZJO0FBR2ZZLFFBQUFBLEtBQUssRUFBRSxRQUhRO0FBSWZDLFFBQUFBLEtBQUssRUFBRSxHQUpRO0FBS2ZDLFFBQUFBLE1BQU0sRUFBRSxnQkFBQ0MsSUFBRCxFQUFZN0UsTUFBWixFQUE0QjtBQUNsQyw4QkFDRTtBQUFLLFlBQUEsU0FBUyxFQUFFNUQsTUFBTSxDQUFDLFFBQUQ7QUFBdEIsYUFDRyxNQUFJLENBQUMwSSxrQkFBTCxDQUF3QjdELGFBQXhCLEVBQXVDakIsTUFBdkMsRUFBK0NrQixZQUEvQyxDQURILENBREY7QUFLRDtBQVhjLE9BQWpCLENBREY7QUFlQSwwQkFDRTtBQUFLLFFBQUEsU0FBUyxFQUFFOUUsTUFBTSxDQUFDLE1BQUQsQ0FBdEI7QUFBZ0MsUUFBQSxLQUFLLEVBQUU7QUFBRTJJLFVBQUFBLE9BQU8sRUFBRTtBQUFYO0FBQXZDLFNBQ0d4QyxRQUFRLGlCQUNQO0FBQUssUUFBQSxTQUFTLEVBQUVuRyxNQUFNLENBQUMsTUFBRDtBQUF0QixzQkFDRSxvQkFBQyxJQUFEO0FBQ0UsUUFBQSxLQUFLLG9CQUFPeUcsU0FBUCxDQURQO0FBRUUsUUFBQSxRQUFRLEVBQUUsS0FGWjtBQUdFLFFBQUEsU0FBUyxFQUFFLEtBSGI7QUFJRSxRQUFBLFVBQVUsRUFBRUMsVUFKZDtBQUtFLFFBQUEsUUFBUSxFQUFFLEtBQUtrQyxVQUFMLENBQWdCNUIsSUFBaEIsQ0FBcUIsSUFBckIsQ0FMWjtBQU1FLFFBQUEsWUFBWSxFQUFFLENBQUMsS0FBS3ZHLEtBQUwsQ0FBV1UsZUFBWixDQU5oQjtBQU9FLFFBQUEsVUFBVSxFQUFFd0Y7QUFQZCxRQURGLENBRkosZUFjRTtBQUFLLFFBQUEsU0FBUyxFQUFFM0csTUFBTSxDQUFDLE9BQUQ7QUFBdEIsU0FDR2dHLFVBQVUsaUJBQ1Q7QUFBSyxRQUFBLFNBQVMsRUFBRWhHLE1BQU0sQ0FBQyxRQUFEO0FBQXRCLHNCQUNFLG9CQUFDLElBQUQ7QUFDRSxRQUFBLEdBQUcsRUFBRSxLQUFLeUQsU0FEWjtBQUVFLFFBQUEsUUFBUSxFQUFFLEVBRlo7QUFHRSxRQUFBLFVBQVUsRUFBRSxFQUhkO0FBSUUsUUFBQSxNQUFNLEVBQUM7QUFKVCxTQU1HNEQsV0FBVyxDQUFDcEQsR0FBWixDQUFnQixVQUFDQyxJQUFELEVBQVlDLEtBQVosRUFBMkI7QUFDMUMsWUFBSUEsS0FBSyxHQUFHLENBQVIsSUFBYSxDQUFDLE1BQUksQ0FBQzFELEtBQUwsQ0FBV1csTUFBN0IsRUFBcUM7QUFDbkM7QUFDRDs7QUFDRCw0QkFDRSxvQkFBQyxJQUFELENBQU0sSUFBTjtBQUNFLFVBQUEsS0FBSyxFQUFFOEMsSUFBSSxDQUFDeUQsS0FEZDtBQUVFLFVBQUEsSUFBSSxFQUFFekQsSUFBSSxDQUFDeEQsSUFGYixDQUdFO0FBSEY7QUFJRSxVQUFBLEdBQUcsRUFBRXlEO0FBSlAsV0FNR2hFLE9BQU8sQ0FBQytELElBQUksQ0FBQ2xELElBQU4sa0NBQ0hrRCxJQUFJLENBQUM1RCxLQURGO0FBRU51SSxVQUFBQSxXQUFXLDhCQUFRM0UsSUFBSSxDQUFDeUQsS0FBYjtBQUZMLFdBTlYsQ0FERjtBQWFELE9BakJBLENBTkgsQ0FERixlQTBCRTtBQUFLLFFBQUEsU0FBUyxFQUFFM0gsTUFBTSxDQUFDLFNBQUQsQ0FBdEI7QUFBbUMsUUFBQSxLQUFLLEVBQUU7QUFBRThJLFVBQUFBLFNBQVMsRUFBRTtBQUFiO0FBQTFDLHNCQUNFLG9CQUFDLE1BQUQ7QUFDRSxRQUFBLElBQUksRUFBRSxTQURSO0FBRUUsUUFBQSxPQUFPLEVBQUUsS0FBS3ZGLFFBQUwsQ0FBY3lELElBQWQsQ0FBbUIsSUFBbkIsQ0FGWDtBQUdFLFFBQUEsSUFBSSxlQUFFLG9CQUFDLElBQUQ7QUFBTSxVQUFBLElBQUksRUFBRW5ILFFBQVEsQ0FBQzJIO0FBQXJCO0FBSFIsd0JBREYsZUFRRSxvQkFBQyxNQUFEO0FBQ0UsUUFBQSxJQUFJLEVBQUUsU0FEUjtBQUVFLFFBQUEsT0FBTyxFQUFFLEtBQUt1QixXQUFMLENBQWlCL0IsSUFBakIsQ0FBc0IsSUFBdEIsQ0FGWDtBQUdFLFFBQUEsSUFBSSxlQUFFLG9CQUFDLElBQUQ7QUFBTSxVQUFBLElBQUksRUFBRW5ILFFBQVEsQ0FBQ21KO0FBQXJCO0FBSFIsd0JBUkYsRUFlRzNCLFdBQVcsQ0FBQ3ZGLE1BQVosR0FBcUIsQ0FBckIsaUJBQ0M7QUFDRSxRQUFBLFNBQVMsRUFBRTlCLE1BQU0sQ0FBQ2lKLE9BRHBCO0FBRUUsUUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYixjQUFRN0gsTUFBUixHQUFtQixNQUFJLENBQUNYLEtBQXhCLENBQVFXLE1BQVI7O0FBQ0EsVUFBQSxNQUFJLENBQUNpRCxRQUFMLENBQWM7QUFDWmpELFlBQUFBLE1BQU0sRUFBRSxDQUFDQTtBQURHLFdBQWQ7QUFHRDtBQVBILFNBU0csS0FBS1gsS0FBTCxDQUFXVyxNQUFYLEdBQW9CLElBQXBCLEdBQTJCLElBVDlCLEVBVUcsS0FBS1gsS0FBTCxDQUFXVyxNQUFYLGdCQUFvQixvQkFBQyxVQUFELE9BQXBCLGdCQUFxQyxvQkFBQyxZQUFELE9BVnhDLENBaEJKLENBMUJGLENBRkosRUE0REdpRixjQUFjLGlCQUNiO0FBQUssUUFBQSxTQUFTLEVBQUVyRyxNQUFNLENBQUMsU0FBRCxDQUF0QjtBQUFtQyxRQUFBLEtBQUssRUFBRTtBQUFFa0osVUFBQUEsVUFBVSxFQUFFO0FBQWQ7QUFBMUMsU0FDR2xFLE9BQU8sQ0FBQ0wsT0FBUixDQUFnQixLQUFoQixJQUF5QixDQUFDLENBQTFCLElBQStCSSxVQUFVLElBQUksSUFBN0MsaUJBQ0Msb0JBQUMsTUFBRDtBQUNFLFFBQUEsSUFBSSxFQUFFLFNBRFI7QUFFRSxRQUFBLE9BQU8sRUFBRSxLQUFLb0QsUUFBTCxDQUFjbkIsSUFBZCxDQUFtQixJQUFuQixDQUZYO0FBR0UsUUFBQSxJQUFJLGVBQUUsb0JBQUMsSUFBRDtBQUFNLFVBQUEsSUFBSSxFQUFFbkgsUUFBUSxDQUFDc0o7QUFBckI7QUFIUix3QkFGSixFQVVHbkUsT0FBTyxDQUFDTCxPQUFSLENBQWdCLFFBQWhCLElBQTRCLENBQUMsQ0FBN0IsaUJBQ0Msb0JBQUMsTUFBRCxDQUNFO0FBREY7QUFFRSxRQUFBLE9BQU8sRUFBRSxLQUFLL0MsUUFBTCxDQUFjb0YsSUFBZCxDQUFtQixJQUFuQixDQUZYO0FBR0UsUUFBQSxJQUFJLGVBQUUsb0JBQUMsSUFBRDtBQUFNLFVBQUEsSUFBSSxFQUFFbkgsUUFBUSxDQUFDdUo7QUFBckIsVUFIUjtBQUlFLFFBQUEsTUFBTTtBQUpSLHdCQVhKLEVBb0JHbEIsV0FBVyxDQUFDakUsR0FBWixDQUFnQixVQUFDQyxJQUFELEVBQVlDLEtBQVosRUFBMkI7QUFDMUMsNEJBQU87QUFBSyxVQUFBLEdBQUcsRUFBRUE7QUFBVixXQUFrQkQsSUFBbEIsQ0FBUDtBQUNELE9BRkEsQ0FwQkgsQ0E3REosZUFzRkU7QUFBSyxRQUFBLFNBQVMsRUFBRWxFLE1BQU0sQ0FBQyxPQUFEO0FBQXRCLHNCQUNFLG9CQUFDLEtBQUQ7QUFBTyxRQUFBLEdBQUcsRUFBRSxLQUFLb0QsUUFBakI7QUFBMkIsUUFBQSxPQUFPLEVBQUVnRTtBQUFwQyxTQUFxRFIsV0FBckQsRUFERixDQXRGRixDQWRGLEVBd0dHN0IsVUFBVSxpQkFDVCxvQkFBQyxVQUFEO0FBQ0UsUUFBQSxHQUFHLEVBQUUsS0FBS3hELFNBRFo7QUFFRSxRQUFBLFFBQVEsRUFBRSxLQUFLNEcsUUFBTCxDQUFjbkIsSUFBZCxDQUFtQixJQUFuQixDQUZaO0FBR0UsUUFBQSxRQUFRLEVBQUUsS0FBS3FDLFdBQUwsQ0FBaUJyQyxJQUFqQixDQUFzQixJQUF0QixDQUhaO0FBSUUsUUFBQSxTQUFTLEVBQUVNLFdBSmI7QUFLRSxRQUFBLFNBQVMsRUFBRXJCLFNBTGI7QUFNRSxRQUFBLFlBQVksRUFBRUcsWUFOaEI7QUFPRSxRQUFBLFFBQVEsRUFBRSxLQUFLOUYsS0FBTCxDQUFXZ0o7QUFQdkIsUUF6R0osQ0FERjtBQXNIRDs7OztFQTdmb0JsSyxhOztBQStmdkIsZUFBZWlCLFFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgVGFibGUgZnJvbSBcIi4uLy4uL2Jhc2UvdGFibGVcIjtcclxuaW1wb3J0IFRyZWUgZnJvbSBcIi4uLy4uL2Jhc2UvdHJlZVwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vLi4vYmFzZS9tb2RhbFwiO1xyXG5pbXBvcnQgUG9wb3ZlciBmcm9tIFwiLi4vLi4vYmFzZS9wb3BvdmVyXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi8uLi9iYXNlL21lc3NhZ2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uL2Jhc2UvY29tbW9uL0ljb25Gb250XCI7XHJcbmltcG9ydCB7IGljb25UeXBlIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgRWRpdG9yRm9ybSBmcm9tIFwiLi9Gb3JtXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5tb2R1bGUubGVzc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgUGFnZVN0b3JlLCBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IERvd25PdXRsaW5lZCwgVXBPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCByZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBCdXR0b25Qcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmludGVyZmFjZSBUYWJsZVByb3BzIHtcclxuICBhY3Rpb25Db2x1bW4/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaTjeS9nOWIl1xyXG4gIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm6buY6K6k5pi+56S65paw5aKe77yM57yW6L6R6buY6K6k5oyJ6ZKuXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbn1cclxuaW50ZXJmYWNlIFRyZWVQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaQnOe0ouahhlxyXG4gIHNlYXJjaEtleT86IHN0cmluZzsgLy/mkJzntKJ2YWx1ZeWvueW6lOeahGtleVxyXG4gIHNlYXJjaEZpZWxkPzogc3RyaW5nOyAvL+afpeivouWvueW6lOeahGtleVxyXG4gIHRpdGxlQWxpYXM/OiBzdHJpbmc7IC8v5qCRdGl0bGXlr7nlupTnmoRrZXks6buY6K6kdGl0bGVcclxuICBub2RlUG9ycHM/OiBvYmplY3Q7XHJcbn1cclxuaW50ZXJmYWNlIE5TQ0Jhc2VCYWdlUHJvcHMge1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWktOmDqOaQnOe0ouagj1xyXG4gIHRhYmxlUHJvcHM/OiBUYWJsZVByb3BzOyAvL+ihqOagvOWPguaVsFxyXG4gIHRyZWVQcm9wcz86IFRyZWVQcm9wczsgLy/lt6bkvqfmoJHlj4LmlbBcclxuICBzdWJtaXRQYXJhbXM/OiBPYmplY3Q7IC8v5re75Yqg5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HZGF0YeS8oOmAklxyXG4gIHN1Ym1pdFVybD86IHN0cmluZztcclxuICBvblN1Ym1pdD86IGFueTtcclxuICBjb2x1bW5zOiBBcnJheTxPYmplY3Q+O1xyXG4gIHNob3dMZWZ0PzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlt6bkvqfnm67lvZXmoJFcclxuICBzaG93VG9vbEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65oyJ6ZKu5qCPXHJcbiAgZWRpdG9yRm9ybT86IGJvb2xlYW47IC8v5piv5ZCm6ZyA6KaB6KGo5Y2V5Yqf6IO9ICwg5Li6ZmFsc2Ug57yW6L6R77yM5p+l55yL77yM5paw5aKe5Yqf6IO95Z2H5LiN5Y+v55SoXHJcbiAgZGVsZXRlVXJsPzogc3RyaW5nOyAvL+WIoOmZpHVybFxyXG4gIG9uRGVsZXRlPzogYW55OyAvL+WIoOmZpOWPguaVsO+8jOm7mOiupG1vdGhvZDpwb3N077yMIOWPguaVsOmAmui/h2lkc+aLvOaOpeS8oOmAkue7meWQjuWPsFxyXG4gIGRlbGV0ZVBhcmFtcz86IE9iamVjdDtcclxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBvblNlYXJjaD86IGFueTtcclxuICBpbml0RGF0YT86IGFueTsgLy/liJ3lp4vljJblm57osIPlh73mlbDvvIzlnKhjb21wb25lbnREaWRNb3VudOS4reiwg+eUqFxyXG4gIGJ1dHRvbnM/OiBBcnJheTxzdHJpbmc+OyAvL+aMiemSrumbhuWQiCAgWydhZGQnLCdkZWxldGUnLCdzZWFyY2gnLCdlZGl0b3InXVxyXG59XHJcblxyXG5jbGFzcyBCYXNlUGFnZSBleHRlbmRzIFB1cmVDb21wb25lbnQ8TlNDQmFzZUJhZ2VQcm9wcywgYW55PiB7XHJcbiAgdGFibGVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHRyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZWRpdG9yUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdHlwZTogXCJhZGRcIixcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogW10sXHJcbiAgICAgIHRyZWVTZWxlY3RlZEtleTogXCJcIixcclxuICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBpbml0RGF0YSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGluaXREYXRhICYmIGluaXREYXRhKCk7XHJcbiAgfVxyXG4gIG9uU2VsZWN0ID0gKGNoZWNrZWRUcmVlS2V5czogYW55KSA9PiB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgdmFsdWUgPSB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50LCBkZXB0SWQ6IGNoZWNrZWRUcmVlS2V5c1swXSB9O1xyXG4gICAgdGhpcy50YWJsZUxvYWQodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIC8v5pi+56S66KGo5Y2VXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIGZsYWcgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmVkaXRvclJlZi5jdXJyZW50Py5zaG93KHZhbHVlLCBmbGFnKTtcclxuICB9XHJcblxyXG4gIC8v5YWz6Zet6KGo5Y2VXHJcbiAgaGlkZUZvcm0oZmxhZyA9IHRydWUpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LmhpZGUoZmxhZyk7XHJcbiAgfVxyXG5cclxuICAvL+aJuemHj+WIoOmZpFxyXG4gIG9uRGVsZXRlKCkge1xyXG4gICAgY29uc3QgeyBkZWxldGVVcmwsIG9uRGVsZXRlLCBkZWxldGVQYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZFJvd0tleXMubGVuZ3RoID09IDApIHtcclxuICAgICAgbWVzc2FnZS53YXJuaW5nKFwi6K+36YCJ5oup6KaB5Yig6Zmk55qE5pWw5o2u77yBXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAob25EZWxldGUpIHtcclxuICAgICAgb25EZWxldGUgJiYgb25EZWxldGUoc2VsZWN0ZWRSb3dLZXlzKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCFkZWxldGVVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs5LiN6IO95Li656m677yBXCIpO1xyXG4gICAgfVxyXG4gICAgTW9kYWwuY29uZmlybSh7XHJcbiAgICAgIHRpdGxlOiBcIuaYr+WQpuehruiupOWIoOmZpOaJgOmAiemhue+8n1wiLFxyXG4gICAgICAvLyBpY29uOiA8SWNvbiB0eXBlPXsnaWNvbnRpc2hpLTMnfSAvPixcclxuICAgICAgb2tUZXh0OiBcIuehruiupFwiLFxyXG4gICAgICBjYW5jZWxUZXh0OiBcIuWPlua2iFwiLFxyXG4gICAgICBvbk9rOiAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdFBhcmFtcyA9IHtcclxuICAgICAgICAgIG1ldGhvZDogXCJwb3N0XCIsXHJcbiAgICAgICAgICBwYXJhbXM6IHsgaWRzOiBzZWxlY3RlZFJvd0tleXMuam9pbigpIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICBsZXQgcmVxdWVzdFBhcmFtcyA9IHt9IGFzIGFueTtcclxuICAgICAgICBpZiAoZGVmYXVsdFBhcmFtcykge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVsZXRlUGFyYW1zIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlcXVlc3RQYXJhbXMgPSB7IC4uLmRlZmF1bHRQYXJhbXMgfTtcclxuICAgICAgICByZXF1ZXN0KGRlbGV0ZVVybCwge1xyXG4gICAgICAgICAgLi4ucmVxdWVzdFBhcmFtcyxcclxuICAgICAgICB9KVxyXG4gICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5Yig6Zmk5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLliKDpmaTlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8v5p+l6K+iXHJcbiAgb25TZWFyY2goKSB7XHJcbiAgICBjb25zdCB7IG9uU2VhcmNoIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGlmIChvblNlYXJjaCkge1xyXG4gICAgICBvblNlYXJjaChmcm9tVmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlTG9hZChmcm9tVmFsdWUpO1xyXG4gIH1cclxuICAvL+ihqOagvOmHjeaWsOWKoOi9vVxyXG4gIHRhYmxlUmVsb2FkKCkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5yZWxvYWQoKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dLZXlzO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0RhdGFzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dEYXRhcztcclxuICB9XHJcbiAgZ2V0U2VhcmNoVmFsdWVzKCkge1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHJldHVybiBmcm9tVmFsdWU7XHJcbiAgfVxyXG4gIHJvd1NlbGVjdGlvbk9uU2VsZWN0KHJlY29yZDogYW55LCBzZWxlY3RlZDogYW55KSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cywgc2VsZWN0ZWRSb3dEYXRhcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBuZXdTZWxlY3RlZFJvd0tleXMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgIGxldCBuZXdTZWxlY3RlZFJvd0RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXNdO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIG5ld1NlbGVjdGVkUm93S2V5cyA9IFsuLi5uZXdTZWxlY3RlZFJvd0tleXMsIHJlY29yZC5pZF07XHJcbiAgICAgIG5ld1NlbGVjdGVkUm93RGF0YXMgPSBbLi4ubmV3U2VsZWN0ZWRSb3dEYXRhcywgcmVjb3JkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93S2V5cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5pZCA9PT0gcmVjb3JkLmlkKSB7XHJcbiAgICAgICAgICBuZXdTZWxlY3RlZFJvd0RhdGFzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IG5ld1NlbGVjdGVkUm93S2V5cyxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogbmV3U2VsZWN0ZWRSb3dEYXRhcyxcclxuICAgIH0pO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdEFsbChzZWxlY3RlZDogYW55LCBzZWxlY3RlZFJvd3M6IGFueSwgY2hhbmdlUm93czogYW55KSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cywgc2VsZWN0ZWRSb3dEYXRhcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBuZXdpZHM6IGFueSA9IFtdO1xyXG4gICAgbGV0IG5ld2RhdGFzOiBhbnkgPSBbXTtcclxuICAgIGlmIChjaGFuZ2VSb3dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGNoYW5nZUlkcyA9IGNoYW5nZVJvd3MubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzLCAuLi5jaGFuZ2VJZHNdO1xyXG4gICAgICAgIG5ld2RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXMsIC4uLmNoYW5nZVJvd3NdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0pID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2lkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHNlbGVjdGVkUm93RGF0YXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjaGFuZ2VJZHMuaW5kZXhPZihpdGVtLmlkKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBuZXdkYXRhcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgICAgbmV3ZGF0YXMgPSBbLi4uc2VsZWN0ZWRSb3dEYXRhc107XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbLi4ubmV3aWRzXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogWy4uLm5ld2RhdGFzXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnM6IGFueSwgcmVjb3JkOiBhbnksIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHsgZWRpdG9yRm9ybSA9IHRydWUsIGJ1dHRvbnMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChpbmRleCA+IDIpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJlZGl0b3JcIl0sIHN0eWxlc1tcImNvbnRlbnQtaXRlbVwiXSl9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgSWNvbiwgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPT0gMykge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgY29udGVudD17Y29udGVudH1cclxuICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIiwgXCJob3ZlclwiXX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImVkaXRvclwiXX0+XHJcbiAgICAgICAgICAgICAg5pu05aSaXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXNbXCJpY29uXCJdfT5cclxuICAgICAgICAgICAgICAgIDxEb3duT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPCAzKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge0ljb259IHtjaGlsZHJlbn1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuICAvL+agkeeCueWHu+S6i+S7tlxyXG4gIHRyZWVTZWxlY3Qoc2VsZWN0ZWRLZXlzOiBhbnksIHsgc2VsZWN0ZWQsIHNlbGVjdGVkTm9kZXMgfTogYW55KSB7XHJcbiAgICBsZXQga2V5d29yZCA9IFwiXCI7XHJcbiAgICBjb25zdCB7IHNlYXJjaEtleSA9IFwia2V5XCIsIHNlYXJjaEZpZWxkID0gXCJcIiB9ID0gdGhpcy5wcm9wcy50cmVlUHJvcHM7XHJcbiAgICBjb25zdCB7IHRyZWVTZWxlY3RlZEtleSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAoc2VsZWN0ZWROb2Rlc1swXS5pc0xlYWYgfHwgIXNlbGVjdGVkTm9kZXNbMF0uY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzWzBdICE9PSB0cmVlU2VsZWN0ZWRLZXkpIHtcclxuICAgICAgICAgIC8vIGxldCBtYXBEYXRhID0gdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICBrZXl3b3JkID0gc2VsZWN0ZWROb2Rlc1swXS5kYXRhcmVmLmF0dHJpYnV0ZVtzZWFyY2hLZXldO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHRyZWVTZWxlY3RlZEtleTogc2VsZWN0ZWRLZXlzWzBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IGtleXdvcmQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHNlYXJjaEZpZWxkICYmIHRoaXMudGFibGVMb2FkKHsgLi4uZnJvbVZhbHVlLCBbc2VhcmNoRmllbGRdOiBrZXl3b3JkIH0pO1xyXG4gIH1cclxuICByZXNldFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgLy8gc2hvd0FkZEJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIC8vIHNob3dEZWxldGVCdXR0b24gPSB0cnVlLFxyXG4gICAgICBidXR0b25zID0gW10sXHJcbiAgICAgIGVkaXRvckZvcm0gPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGZpbHRlckNvbHVtbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkNvbHVtbiA9IHRydWUsXHJcbiAgICAgIHNob3dSb3dTZWxlY3Rpb24gPSB0cnVlLFxyXG4gICAgfSA9IHRhYmxlUHJvcHM7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZTogdHJlZVN0b3JlID0ge30sXHJcbiAgICAgIHNob3dTZWFyY2g6IHRyZWVTZWFyY2ggPSB0cnVlLFxyXG4gICAgICB0aXRsZUFsaWFzID0gXCJ0aXRsZVwiLFxyXG4gICAgfSA9IHRyZWVQcm9wcztcclxuXHJcbiAgICBsZXQgdGFibGVQYXJhbXMgPSB7IGZpbHRlckNvbHVtbiwgc3RvcmUgfSBhcyBhbnk7XHJcblxyXG4gICAgaWYgKHNob3dSb3dTZWxlY3Rpb24pIHtcclxuICAgICAgdGFibGVQYXJhbXMgPSB7XHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgICAgcm93U2VsZWN0aW9uOiB7XHJcbiAgICAgICAgICBzZWxlY3RlZFJvd0tleXM6IHNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgIG9uU2VsZWN0OiB0aGlzLnJvd1NlbGVjdGlvbk9uU2VsZWN0LmJpbmQodGhpcyksXHJcbiAgICAgICAgICBvblNlbGVjdEFsbDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdEFsbC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgY29sdW1uV2lkdGg6IDQwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YWJsZUNvbHVtbjogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IHNlYXJjaEZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IGVkaXRvckZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbHVtbnMubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKHRlbXAuc2VhcmNoKSB7XHJcbiAgICAgICAgc2VhcmNoRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBwcm9wczogdGVtcC5wcm9wcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5zZWFyY2g7XHJcbiAgICAgIHRlbXAuZWRpdG9yICE9PSBmYWxzZSAmJlxyXG4gICAgICAgIGVkaXRvckZvcm1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiB0ZW1wLnRpdGxlLFxyXG4gICAgICAgICAgcnVsZXM6IHRlbXAucnVsZXMsXHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBwcm9wczogdGVtcC5wcm9wcyxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgZGVsZXRlIHRlbXAucHJvcHM7XHJcbiAgICAgIHRhYmxlQ29sdW1uLnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHNlbGZCdXR0b25zOiBhbnkgPSBbXTtcclxuXHJcbiAgICBjb25zdCBjb2x1bW5CdXR0b25zOiBhbnkgPSBbXTtcclxuICAgIGlmIChhY3Rpb25CdXR0b24gJiYgZWRpdG9yRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJzZWFyY2hcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNob3dGb3JtKHJlY29yZCwgZmFsc2UpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDmn6XnnItcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImVkaXRvclwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tcImVkaXRvclwiXX1cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLCB0cnVlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg57yW6L6RXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5wcm9wcy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgICAgc2VsZkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ucHJvcHMucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgIHNlbGZCdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BzLnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhY3Rpb25Db2x1bW4gJiZcclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh7XHJcbiAgICAgICAgdGl0bGU6IFwi5pON5L2cXCIsXHJcbiAgICAgICAgZGF0YUluZGV4OiBcImFjdGlvblwiLFxyXG4gICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgIHdpZHRoOiAxNTAsXHJcbiAgICAgICAgcmVuZGVyOiAodGV4dDogYW55LCByZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImFjdGlvblwiXX0+XHJcbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnMsIHJlY29yZCwgYWN0aW9uQnV0dG9uKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJwYWdlXCJdfSBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cclxuICAgICAgICB7c2hvd0xlZnQgJiYgKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImxlZnRcIl19PlxyXG4gICAgICAgICAgICA8VHJlZVxyXG4gICAgICAgICAgICAgIHN0b3JlPXt7IC4uLnRyZWVTdG9yZSB9fVxyXG4gICAgICAgICAgICAgIHNob3dJY29uPXtmYWxzZX1cclxuICAgICAgICAgICAgICBjaGVja2FibGU9e2ZhbHNlfVxyXG4gICAgICAgICAgICAgIHNlYXJjaGFibGU9e3RyZWVTZWFyY2h9XHJcbiAgICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMudHJlZVNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkS2V5cz17W3RoaXMuc3RhdGUudHJlZVNlbGVjdGVkS2V5XX1cclxuICAgICAgICAgICAgICB0aXRsZUFsaWFzPXt0aXRsZUFsaWFzfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wicmlnaHRcIl19PlxyXG4gICAgICAgICAge3Nob3dTZWFyY2ggJiYgKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiaGVhZGVyXCJdfT5cclxuICAgICAgICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgIHdyYXBwZXJDb2w9e3t9fVxyXG4gICAgICAgICAgICAgICAgbGF5b3V0PVwiaW5saW5lXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gMiAmJiAhdGhpcy5zdGF0ZS5leHBhbmQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2l0ZW0ubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbS5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJidXR0b25zXCJdfSBzdHlsZT17eyBtYXJnaW5Ub3A6IDAgfX0+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnNlYXJjaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOafpeivolxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnJlc2V0U2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnJlZnJlc2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDph43nva5cclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDMgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmFfc3R5bGV9XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBleHBhbmQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kOiAhZXhwYW5kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IFwi5pS26LW3XCIgOiBcIuWxleW8gFwifVxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IDxVcE91dGxpbmVkIC8+IDogPERvd25PdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge3Nob3dUb29sQnV0dG9uICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImJ1dHRvbnNcIl19IHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX0+XHJcbiAgICAgICAgICAgICAge2J1dHRvbnMuaW5kZXhPZihcImFkZFwiKSA+IC0xICYmIGVkaXRvckZvcm0gPT0gdHJ1ZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnNob3dGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLmFkZH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOa3u+WKoFxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICB7YnV0dG9ucy5pbmRleE9mKFwiZGVsZXRlXCIpID4gLTEgJiYgKFxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAvLyB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vbkRlbGV0ZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5kZWxldGUzfSAvPn1cclxuICAgICAgICAgICAgICAgICAgZGFuZ2VyXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOWIoOmZpFxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICB7c2VsZkJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntpdGVtfTwvZGl2PjtcclxuICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInRhYmxlXCJdfT5cclxuICAgICAgICAgICAgPFRhYmxlIHJlZj17dGhpcy50YWJsZVJlZn0gY29sdW1ucz17dGFibGVDb2x1bW59IHsuLi50YWJsZVBhcmFtc30gLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIHtlZGl0b3JGb3JtICYmIChcclxuICAgICAgICAgIDxFZGl0b3JGb3JtXHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5lZGl0b3JSZWZ9XHJcbiAgICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLnNob3dGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIGNhbGxCYWNrPXt0aGlzLnRhYmxlUmVsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIGZvcm1Qcm9wcz17ZWRpdG9yRm9ybXN9XHJcbiAgICAgICAgICAgIHN1Ym1pdFVybD17c3VibWl0VXJsfVxyXG4gICAgICAgICAgICBzdWJtaXRQYXJhbXM9e3N1Ym1pdFBhcmFtc31cclxuICAgICAgICAgICAgb25TdWJtaXQ9e3RoaXMucHJvcHMub25TdWJtaXR9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgQmFzZVBhZ2U7XHJcbiJdfQ==
|