@agilemotion/oui-react-js 2.0.14 → 2.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,6 +40,7 @@ const Button = props => {
40
40
  const [disabled, setDisabled] = _react.default.useState(false);
41
41
  const [visible, setVisible] = _react.default.useState(false);
42
42
  const [label, setLabel] = _react.default.useState(false);
43
+ const [loading, setLoading] = _react.default.useState(false);
43
44
  const [config, setConfig] = _react.default.useState(null);
44
45
  let color = _Utils.default.getComponentAttribute(props.config, 'color', 'default');
45
46
  _react.default.useEffect(() => {
@@ -95,6 +96,12 @@ const Button = props => {
95
96
  set visible(visible) {
96
97
  setVisible(visible);
97
98
  },
99
+ trackAction(args) {
100
+ setLoading(true);
101
+ },
102
+ stopTrackAction(args) {
103
+ setLoading(false);
104
+ },
98
105
  refresh() {
99
106
  let parsedConfig = _Utils.default.parseConfig(config ? config : props.config, props.viewId);
100
107
  setDisabled(_Utils.default.evaluateBooleanExpression(parsedConfig.disabled, parsedConfig.id));
@@ -103,6 +110,10 @@ const Button = props => {
103
110
  };
104
111
  };
105
112
  const tooltipText = _Utils.default.getComponentAttribute(props.config, 'toolTip', '');
113
+ const spinnerIcon = /*#__PURE__*/_react.default.createElement("i", {
114
+ className: "fa fa-refresh fa-spin"
115
+ });
116
+ const effectiveDisabled = disabled || loading;
106
117
  const renderButton = () => {
107
118
  var _props$config$attribu5;
108
119
  if (!_Utils.default.isNull(props.config.icon) && !_Utils.default.isNull(label)) {
@@ -112,9 +123,9 @@ const Button = props => {
112
123
  size: "large",
113
124
  color: !_Utils.default.isNull(color) ? color : null,
114
125
  style: (_props$config$attribu = props.config.attributes) === null || _props$config$attribu === void 0 ? void 0 : _props$config$attribu.style,
115
- disabled: disabled,
126
+ disabled: effectiveDisabled,
116
127
  onClick: handleClick,
117
- startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
128
+ startIcon: loading ? spinnerIcon : /*#__PURE__*/_react.default.createElement(_Icon.default, {
118
129
  id: props.config.icon
119
130
  })
120
131
  }, label);
@@ -124,11 +135,11 @@ const Button = props => {
124
135
  return /*#__PURE__*/_react.default.createElement(_IconButton.default, {
125
136
  color: !_Utils.default.isNull(color) ? color : null,
126
137
  "aria-controls": "menu-list-grow",
127
- disabled: disabled,
138
+ disabled: effectiveDisabled,
128
139
  style: (_props$config$attribu2 = props.config.attributes) === null || _props$config$attribu2 === void 0 ? void 0 : _props$config$attribu2.style,
129
140
  "aria-haspopup": "true",
130
141
  onClick: handleClick
131
- }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
142
+ }, loading ? spinnerIcon : /*#__PURE__*/_react.default.createElement(_Icon.default, {
132
143
  id: props.config.icon,
133
144
  color: (_props$config$attribu3 = props.config.attributes) !== null && _props$config$attribu3 !== void 0 && (_props$config$attribu3 = _props$config$attribu3.style) !== null && _props$config$attribu3 !== void 0 && _props$config$attribu3.color ? (_props$config$attribu4 = props.config.attributes) === null || _props$config$attribu4 === void 0 || (_props$config$attribu4 = _props$config$attribu4.style) === null || _props$config$attribu4 === void 0 ? void 0 : _props$config$attribu4.color : _ApplicationManager.default.getApplicationSecondaryColor()
134
145
  }));
@@ -138,9 +149,10 @@ const Button = props => {
138
149
  "aria-controls": "menu-list-grow",
139
150
  color: color,
140
151
  style: (_props$config$attribu5 = props.config.attributes) === null || _props$config$attribu5 === void 0 ? void 0 : _props$config$attribu5.style,
141
- disabled: disabled,
152
+ disabled: effectiveDisabled,
142
153
  onClick: handleClick,
143
- "aria-haspopup": "true"
154
+ "aria-haspopup": "true",
155
+ startIcon: loading ? spinnerIcon : null
144
156
  }, label);
145
157
  };
146
158
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
@@ -157,4 +169,4 @@ const Button = props => {
157
169
  }, /*#__PURE__*/_react.default.createElement("span", null, renderButton())) : renderButton())));
158
170
  };
159
171
  var _default = exports.default = Button;
160
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9CdXR0b24iLCJfT2JzZXJ2YWJsZSIsIl9VdGlscyIsIl9JY29uQnV0dG9uIiwiX0ljb24iLCJfVG9vbHRpcCIsIl9zdHlsZXMiLCJfRXZlbnQiLCJfRXZlbnRUeXBlIiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9EeW5hbWljSlMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwidXNlU3R5bGVzIiwibWFrZVN0eWxlcyIsInRoZW1lIiwicm9vdCIsImRpc3BsYXkiLCJwYXBlciIsIm1hcmdpblJpZ2h0Iiwic3BhY2luZyIsIndyYXBwZXIiLCJ6SW5kZXgiLCJCdXR0b24iLCJwcm9wcyIsIl9wcm9wcyRhdHRyaWJ1dGVzIiwiY2xhc3NlcyIsImRpc2FibGVkIiwic2V0RGlzYWJsZWQiLCJSZWFjdCIsInVzZVN0YXRlIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJsYWJlbCIsInNldExhYmVsIiwiY29uZmlnIiwic2V0Q29uZmlnIiwiY29sb3IiLCJVdGlscyIsImdldENvbXBvbmVudEF0dHJpYnV0ZSIsInVzZUVmZmVjdCIsImhhbmRsZSIsImFwaSIsImV2ZW50TWFuYWdlciIsImNsZWFyQ29tcG9uZW50RXZlbnRMaXN0ZW5lcnMiLCJwYXJzZWRDb25maWciLCJwYXJzZUNvbmZpZyIsInZpZXdJZCIsImFkZFN1YnNjcmlwdGlvbnMiLCJldmVudEhhbmRsaW5nQ29uZmlnIiwiYWRkU3lzdGVtU3Vic2NyaXB0aW9ucyIsInJlZnJlc2giLCJfcHJvcHMkdGFibGVSb3ckaWQiLCJkeW5hbWljSlMiLCJleGVjdXRlU2NyaXB0IiwiaWQiLCJ0YWJsZVJvdyIsInJlcGxhY2VBbGwiLCJoYW5kbGVDbGljayIsImFwcGxpY2F0aW9uTWFuYWdlciIsImVuYWJsZUZvcm1NYXJrZXJzIiwiZXZlbnQiLCJFdmVudCIsImZpcmVFdmVudCIsIkV2ZW50VHlwZSIsIkNMSUNLIiwiX3Byb3BzJHRhYmxlUm93JGlkMiIsImdldENoaWxkcmVuIiwiZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbiIsImlzTnVsbCIsInRvb2x0aXBUZXh0IiwicmVuZGVyQnV0dG9uIiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1NSIsImljb24iLCJfcHJvcHMkY29uZmlnJGF0dHJpYnUiLCJjcmVhdGVFbGVtZW50IiwidmFyaWFudCIsInNpemUiLCJzdHlsZSIsImF0dHJpYnV0ZXMiLCJvbkNsaWNrIiwic3RhcnRJY29uIiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1MiIsIl9wcm9wcyRjb25maWckYXR0cmlidTMiLCJfcHJvcHMkY29uZmlnJGF0dHJpYnU0IiwiZ2V0QXBwbGljYXRpb25TZWNvbmRhcnlDb2xvciIsIkZyYWdtZW50IiwiY2xhc3NOYW1lIiwiY29uY2F0Iiwid2lkdGgiLCJ0aXRsZSIsImFycm93IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL0J1dHRvbi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBCdXR0b25Db21wb25lbnQgZnJvbSAnQG11aS9tYXRlcmlhbC9CdXR0b24nO1xuaW1wb3J0IGV2ZW50TWFuYWdlciBmcm9tICcuLi9ldmVudC9PYnNlcnZhYmxlJztcbmltcG9ydCBVdGlscyBmcm9tICcuLi9VdGlscyc7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbXVpL21hdGVyaWFsL0ljb25CdXR0b24nO1xuaW1wb3J0IEljb24gZnJvbSAnLi9JY29uJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BtdWkvbWF0ZXJpYWwvVG9vbHRpcCc7XG5pbXBvcnQge21ha2VTdHlsZXN9IGZyb20gJ0BtdWkvc3R5bGVzJztcbmltcG9ydCBFdmVudCBmcm9tICcuLi9ldmVudC9FdmVudCc7XG5pbXBvcnQgRXZlbnRUeXBlIGZyb20gJy4uL2V2ZW50L0V2ZW50VHlwZSc7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gJy4uL0FwcGxpY2F0aW9uTWFuYWdlcic7XG5pbXBvcnQgZHluYW1pY0pTIGZyb20gXCIuLi9EeW5hbWljSlNcIjtcbmltcG9ydCBcIi4vQnV0dG9uLmNzc1wiXG5cbmNvbnN0IHVzZVN0eWxlcyA9IG1ha2VTdHlsZXModGhlbWUgPT4gKHtcbiAgICByb290OiB7XG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB9LFxuICAgIHBhcGVyOiB7XG4gICAgICAgIG1hcmdpblJpZ2h0OiB0aGVtZS5zcGFjaW5nKDIpLFxuICAgIH0sXG4gICAgd3JhcHBlcjoge1xuICAgICAgICB6SW5kZXg6IDJcbiAgICB9XG59KSk7XG5cbmNvbnN0IEJ1dHRvbiA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB1c2VTdHlsZXMoKTtcbiAgICBjb25zdCBbZGlzYWJsZWQsIHNldERpc2FibGVkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2xhYmVsLCBzZXRMYWJlbF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2NvbmZpZywgc2V0Q29uZmlnXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuXG4gICAgbGV0IGNvbG9yID0gVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKHByb3BzLmNvbmZpZywgJ2NvbG9yJywgJ2RlZmF1bHQnKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IGFwaSgpO1xuICAgICAgICB9KTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgIHByb3BzLmhhbmRsZS5hcGkgPSBhcGkoKTtcbiAgICAgICAgICAgIGV2ZW50TWFuYWdlci5jbGVhckNvbXBvbmVudEV2ZW50TGlzdGVuZXJzKHByb3BzLmhhbmRsZSk7XG4gICAgICAgICAgICBsZXQgcGFyc2VkQ29uZmlnID0gVXRpbHMucGFyc2VDb25maWcoY29uZmlnLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgZXZlbnRNYW5hZ2VyLmFkZFN1YnNjcmlwdGlvbnMocGFyc2VkQ29uZmlnLmV2ZW50SGFuZGxpbmdDb25maWcsIHByb3BzLmhhbmRsZSwgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgIGV2ZW50TWFuYWdlci5hZGRTeXN0ZW1TdWJzY3JpcHRpb25zKHByb3BzLnZpZXdJZCwgcGFyc2VkQ29uZmlnKTtcbiAgICAgICAgICAgIHByb3BzLmhhbmRsZS5hcGkucmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgfSwgW2NvbmZpZ10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0cnl7XG4gICAgICAgICAgICAgICAgbGV0IHBhcnNlZENvbmZpZyA9IFV0aWxzLnBhcnNlQ29uZmlnKHByb3BzLmNvbmZpZywgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSBkeW5hbWljSlMuZXhlY3V0ZVNjcmlwdChwYXJzZWRDb25maWcuaWQgKyAnbGFiZWwnLFxuICAgICAgICAgICAgICAgICAgICBVdGlscy5nZXRDb21wb25lbnRBdHRyaWJ1dGUocGFyc2VkQ29uZmlnLCAnbGFiZWwnLCAnJyksXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZENvbmZpZy52aWV3SWQsIHRydWUsIG51bGwsIG51bGwsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICBzZXRMYWJlbChsYWJlbCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgc2V0TGFiZWwoVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKHByb3BzLmNvbmZpZywgJ2xhYmVsJywgJycpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0Q29uZmlnKHByb3BzLnRhYmxlUm93ID8ge1xuICAgICAgICAgICAgICAgIC4uLnByb3BzLmNvbmZpZyxcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMuY29uZmlnLmlkICsgJ18nICsgcHJvcHMudGFibGVSb3cuaWQ/LnJlcGxhY2VBbGwoJy0nLCAnJylcbiAgICAgICAgICAgIH0gOiBwcm9wcy5jb25maWcpO1xuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGV2ZW50TWFuYWdlci5jbGVhckNvbXBvbmVudEV2ZW50TGlzdGVuZXJzKHByb3BzLmhhbmRsZSk7XG4gICAgICAgICAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IG51bGw7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBoYW5kbGVDbGljayA9IChlKSA9PiB7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5lbmFibGVGb3JtTWFya2Vycyh0cnVlKTtcbiAgICAgICAgbGV0IGV2ZW50ID0gbmV3IEV2ZW50KHByb3BzLmhhbmRsZSwgcHJvcHMudmlld0lkKTtcbiAgICAgICAgZXZlbnRNYW5hZ2VyLmZpcmVFdmVudChFdmVudFR5cGUuQ0xJQ0ssIGV2ZW50KTtcbiAgICB9O1xuXG4gICAgY29uc3QgYXBpID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm9wcy50YWJsZVJvdyA/IHByb3BzLmNvbmZpZy5pZCArICdfJyArIHByb3BzLnRhYmxlUm93LmlkPy5yZXBsYWNlQWxsKCctJywnJykgOiBwcm9wcy5jb25maWcuaWQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0IHRhYmxlUm93KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm9wcy50YWJsZVJvdztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRDaGlsZHJlbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBzZXREaXNhYmxlZChkaXNhYmxlZCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0IHZpc2libGUodmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHNldFZpc2libGUodmlzaWJsZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmcmVzaCgpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFyc2VkQ29uZmlnID0gVXRpbHMucGFyc2VDb25maWcoY29uZmlnID8gY29uZmlnIDogcHJvcHMuY29uZmlnLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgICAgIHNldERpc2FibGVkKFV0aWxzLmV2YWx1YXRlQm9vbGVhbkV4cHJlc3Npb24ocGFyc2VkQ29uZmlnLmRpc2FibGVkLCBwYXJzZWRDb25maWcuaWQpKTtcbiAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKFV0aWxzLmlzTnVsbChwYXJzZWRDb25maWcudmlzaWJsZSkgfHwgVXRpbHMuZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbihwYXJzZWRDb25maWcudmlzaWJsZSwgcGFyc2VkQ29uZmlnLmlkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IHRvb2x0aXBUZXh0ID0gVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKHByb3BzLmNvbmZpZywgJ3Rvb2xUaXAnLCAnJyk7XG5cbiAgICBjb25zdCByZW5kZXJCdXR0b24gPSAoKSA9PiB7XG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5pY29uKSAmJiAhVXRpbHMuaXNOdWxsKGxhYmVsKSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8QnV0dG9uQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e2NvbG9yID09PSAnc2Vjb25kYXJ5JyB8fCBjb2xvciA9PT0gJ3ByaW1hcnknID8gJ2NvbnRhaW5lZCcgOiAndGV4dCd9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPXshVXRpbHMuaXNOdWxsKGNvbG9yKSA/IGNvbG9yIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3Byb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5zdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgICAgICAgICAgICAgc3RhcnRJY29uPXs8SWNvbiBpZD17cHJvcHMuY29uZmlnLmljb259Lz59XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgPC9CdXR0b25Db21wb25lbnQ+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmljb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPXshVXRpbHMuaXNOdWxsKGNvbG9yKSA/IGNvbG9yIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cIm1lbnUtbGlzdC1ncm93XCJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17cHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlfVxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEljb24gaWQ9e3Byb3BzLmNvbmZpZy5pY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17cHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlPy5jb2xvciA/IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5zdHlsZT8uY29sb3IgOiBhcHBsaWNhdGlvbk1hbmFnZXIuZ2V0QXBwbGljYXRpb25TZWNvbmRhcnlDb2xvcigpfS8+XG4gICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QnV0dG9uQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgdmFyaWFudD17Y29sb3IgPT09ICdzZWNvbmRhcnknIHx8IGNvbG9yID09PSAncHJpbWFyeScgPyAnY29udGFpbmVkJyA6ICd0ZXh0J31cbiAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwibWVudS1saXN0LWdyb3dcIlxuICAgICAgICAgICAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgICAgICAgICAgICBzdHlsZT17cHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9CdXR0b25Db21wb25lbnQ+XG4gICAgICAgICk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2NsYXNzZXMucm9vdH0gb3VpIGJ1dHRvbmB9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcHJvcHMuYXR0cmlidXRlcz8uc3R5bGU/LndpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdmlzaWJsZSA/ICdibG9jaycgOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLndyYXBwZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFVdGlscy5pc051bGwodG9vbHRpcFRleHQpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3Rvb2x0aXBUZXh0fSBhcnJvdz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPntyZW5kZXJCdXR0b24oKX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJCdXR0b24oKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC8+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEJ1dHRvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsVUFBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVUsbUJBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFXLFVBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQXFCLFNBQUFELHVCQUFBYSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQUcsUUFBQUgsQ0FBQSxFQUFBSSxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFB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
172
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9CdXR0b24iLCJfT2JzZXJ2YWJsZSIsIl9VdGlscyIsIl9JY29uQnV0dG9uIiwiX0ljb24iLCJfVG9vbHRpcCIsIl9zdHlsZXMiLCJfRXZlbnQiLCJfRXZlbnRUeXBlIiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9EeW5hbWljSlMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwidXNlU3R5bGVzIiwibWFrZVN0eWxlcyIsInRoZW1lIiwicm9vdCIsImRpc3BsYXkiLCJwYXBlciIsIm1hcmdpblJpZ2h0Iiwic3BhY2luZyIsIndyYXBwZXIiLCJ6SW5kZXgiLCJCdXR0b24iLCJwcm9wcyIsIl9wcm9wcyRhdHRyaWJ1dGVzIiwiY2xhc3NlcyIsImRpc2FibGVkIiwic2V0RGlzYWJsZWQiLCJSZWFjdCIsInVzZVN0YXRlIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJsYWJlbCIsInNldExhYmVsIiwibG9hZGluZyIsInNldExvYWRpbmciLCJjb25maWciLCJzZXRDb25maWciLCJjb2xvciIsIlV0aWxzIiwiZ2V0Q29tcG9uZW50QXR0cmlidXRlIiwidXNlRWZmZWN0IiwiaGFuZGxlIiwiYXBpIiwiZXZlbnRNYW5hZ2VyIiwiY2xlYXJDb21wb25lbnRFdmVudExpc3RlbmVycyIsInBhcnNlZENvbmZpZyIsInBhcnNlQ29uZmlnIiwidmlld0lkIiwiYWRkU3Vic2NyaXB0aW9ucyIsImV2ZW50SGFuZGxpbmdDb25maWciLCJhZGRTeXN0ZW1TdWJzY3JpcHRpb25zIiwicmVmcmVzaCIsIl9wcm9wcyR0YWJsZVJvdyRpZCIsImR5bmFtaWNKUyIsImV4ZWN1dGVTY3JpcHQiLCJpZCIsInRhYmxlUm93IiwicmVwbGFjZUFsbCIsImhhbmRsZUNsaWNrIiwiYXBwbGljYXRpb25NYW5hZ2VyIiwiZW5hYmxlRm9ybU1hcmtlcnMiLCJldmVudCIsIkV2ZW50IiwiZmlyZUV2ZW50IiwiRXZlbnRUeXBlIiwiQ0xJQ0siLCJfcHJvcHMkdGFibGVSb3ckaWQyIiwiZ2V0Q2hpbGRyZW4iLCJ0cmFja0FjdGlvbiIsImFyZ3MiLCJzdG9wVHJhY2tBY3Rpb24iLCJldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIiwiaXNOdWxsIiwidG9vbHRpcFRleHQiLCJzcGlubmVySWNvbiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJlZmZlY3RpdmVEaXNhYmxlZCIsInJlbmRlckJ1dHRvbiIsIl9wcm9wcyRjb25maWckYXR0cmlidTUiLCJpY29uIiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1IiwidmFyaWFudCIsInNpemUiLCJzdHlsZSIsImF0dHJpYnV0ZXMiLCJvbkNsaWNrIiwic3RhcnRJY29uIiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1MiIsIl9wcm9wcyRjb25maWckYXR0cmlidTMiLCJfcHJvcHMkY29uZmlnJGF0dHJpYnU0IiwiZ2V0QXBwbGljYXRpb25TZWNvbmRhcnlDb2xvciIsIkZyYWdtZW50IiwiY29uY2F0Iiwid2lkdGgiLCJ0aXRsZSIsImFycm93IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL0J1dHRvbi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBCdXR0b25Db21wb25lbnQgZnJvbSAnQG11aS9tYXRlcmlhbC9CdXR0b24nO1xuaW1wb3J0IGV2ZW50TWFuYWdlciBmcm9tICcuLi9ldmVudC9PYnNlcnZhYmxlJztcbmltcG9ydCBVdGlscyBmcm9tICcuLi9VdGlscyc7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbXVpL21hdGVyaWFsL0ljb25CdXR0b24nO1xuaW1wb3J0IEljb24gZnJvbSAnLi9JY29uJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BtdWkvbWF0ZXJpYWwvVG9vbHRpcCc7XG5pbXBvcnQge21ha2VTdHlsZXN9IGZyb20gJ0BtdWkvc3R5bGVzJztcbmltcG9ydCBFdmVudCBmcm9tICcuLi9ldmVudC9FdmVudCc7XG5pbXBvcnQgRXZlbnRUeXBlIGZyb20gJy4uL2V2ZW50L0V2ZW50VHlwZSc7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gJy4uL0FwcGxpY2F0aW9uTWFuYWdlcic7XG5pbXBvcnQgZHluYW1pY0pTIGZyb20gXCIuLi9EeW5hbWljSlNcIjtcbmltcG9ydCBcIi4vQnV0dG9uLmNzc1wiXG5cbmNvbnN0IHVzZVN0eWxlcyA9IG1ha2VTdHlsZXModGhlbWUgPT4gKHtcbiAgICByb290OiB7XG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB9LFxuICAgIHBhcGVyOiB7XG4gICAgICAgIG1hcmdpblJpZ2h0OiB0aGVtZS5zcGFjaW5nKDIpLFxuICAgIH0sXG4gICAgd3JhcHBlcjoge1xuICAgICAgICB6SW5kZXg6IDJcbiAgICB9XG59KSk7XG5cbmNvbnN0IEJ1dHRvbiA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB1c2VTdHlsZXMoKTtcbiAgICBjb25zdCBbZGlzYWJsZWQsIHNldERpc2FibGVkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2xhYmVsLCBzZXRMYWJlbF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtjb25maWcsIHNldENvbmZpZ10gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcblxuICAgIGxldCBjb2xvciA9IFV0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShwcm9wcy5jb25maWcsICdjb2xvcicsICdkZWZhdWx0Jyk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHByb3BzLmhhbmRsZS5hcGkgPSBhcGkoKTtcbiAgICAgICAgfSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgICBwcm9wcy5oYW5kbGUuYXBpID0gYXBpKCk7XG4gICAgICAgICAgICBldmVudE1hbmFnZXIuY2xlYXJDb21wb25lbnRFdmVudExpc3RlbmVycyhwcm9wcy5oYW5kbGUpO1xuICAgICAgICAgICAgbGV0IHBhcnNlZENvbmZpZyA9IFV0aWxzLnBhcnNlQ29uZmlnKGNvbmZpZywgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgIGV2ZW50TWFuYWdlci5hZGRTdWJzY3JpcHRpb25zKHBhcnNlZENvbmZpZy5ldmVudEhhbmRsaW5nQ29uZmlnLCBwcm9wcy5oYW5kbGUsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgICAgICBldmVudE1hbmFnZXIuYWRkU3lzdGVtU3Vic2NyaXB0aW9ucyhwcm9wcy52aWV3SWQsIHBhcnNlZENvbmZpZyk7XG4gICAgICAgICAgICBwcm9wcy5oYW5kbGUuYXBpLnJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgIH0sIFtjb25maWddKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdHJ5e1xuICAgICAgICAgICAgICAgIGxldCBwYXJzZWRDb25maWcgPSBVdGlscy5wYXJzZUNvbmZpZyhwcm9wcy5jb25maWcsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgICAgICAgICAgbGV0IGxhYmVsID0gZHluYW1pY0pTLmV4ZWN1dGVTY3JpcHQocGFyc2VkQ29uZmlnLmlkICsgJ2xhYmVsJyxcbiAgICAgICAgICAgICAgICAgICAgVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKHBhcnNlZENvbmZpZywgJ2xhYmVsJywgJycpLFxuICAgICAgICAgICAgICAgICAgICBwYXJzZWRDb25maWcudmlld0lkLCB0cnVlLCBudWxsLCBudWxsLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgc2V0TGFiZWwobGFiZWwpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHNldExhYmVsKFV0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShwcm9wcy5jb25maWcsICdsYWJlbCcsICcnKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldENvbmZpZyhwcm9wcy50YWJsZVJvdyA/IHtcbiAgICAgICAgICAgICAgICAuLi5wcm9wcy5jb25maWcsXG4gICAgICAgICAgICAgICAgaWQ6IHByb3BzLmNvbmZpZy5pZCArICdfJyArIHByb3BzLnRhYmxlUm93LmlkPy5yZXBsYWNlQWxsKCctJywgJycpXG4gICAgICAgICAgICB9IDogcHJvcHMuY29uZmlnKTtcblxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICBldmVudE1hbmFnZXIuY2xlYXJDb21wb25lbnRFdmVudExpc3RlbmVycyhwcm9wcy5oYW5kbGUpO1xuICAgICAgICAgICAgICAgIHByb3BzLmhhbmRsZS5hcGkgPSBudWxsO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZSkgPT4ge1xuICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuZW5hYmxlRm9ybU1hcmtlcnModHJ1ZSk7XG4gICAgICAgIGxldCBldmVudCA9IG5ldyBFdmVudChwcm9wcy5oYW5kbGUsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgIGV2ZW50TWFuYWdlci5maXJlRXZlbnQoRXZlbnRUeXBlLkNMSUNLLCBldmVudCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGFwaSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGdldCBpZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMudGFibGVSb3cgPyBwcm9wcy5jb25maWcuaWQgKyAnXycgKyBwcm9wcy50YWJsZVJvdy5pZD8ucmVwbGFjZUFsbCgnLScsJycpIDogcHJvcHMuY29uZmlnLmlkO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCB0YWJsZVJvdygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMudGFibGVSb3c7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0Q2hpbGRyZW46ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0IGRpc2FibGVkKGRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCB2aXNpYmxlKHZpc2libGUpIHtcbiAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKHZpc2libGUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRyYWNrQWN0aW9uKGFyZ3MpIHtcbiAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0b3BUcmFja0FjdGlvbihhcmdzKSB7XG4gICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmcmVzaCgpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFyc2VkQ29uZmlnID0gVXRpbHMucGFyc2VDb25maWcoY29uZmlnID8gY29uZmlnIDogcHJvcHMuY29uZmlnLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgICAgIHNldERpc2FibGVkKFV0aWxzLmV2YWx1YXRlQm9vbGVhbkV4cHJlc3Npb24ocGFyc2VkQ29uZmlnLmRpc2FibGVkLCBwYXJzZWRDb25maWcuaWQpKTtcbiAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKFV0aWxzLmlzTnVsbChwYXJzZWRDb25maWcudmlzaWJsZSkgfHwgVXRpbHMuZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbihwYXJzZWRDb25maWcudmlzaWJsZSwgcGFyc2VkQ29uZmlnLmlkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IHRvb2x0aXBUZXh0ID0gVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKHByb3BzLmNvbmZpZywgJ3Rvb2xUaXAnLCAnJyk7XG5cbiAgICBjb25zdCBzcGlubmVySWNvbiA9IDxpIGNsYXNzTmFtZT1cImZhIGZhLXJlZnJlc2ggZmEtc3BpblwiLz47XG4gICAgY29uc3QgZWZmZWN0aXZlRGlzYWJsZWQgPSBkaXNhYmxlZCB8fCBsb2FkaW5nO1xuXG4gICAgY29uc3QgcmVuZGVyQnV0dG9uID0gKCkgPT4ge1xuICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcuaWNvbikgJiYgIVV0aWxzLmlzTnVsbChsYWJlbCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPEJ1dHRvbkNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtjb2xvciA9PT0gJ3NlY29uZGFyeScgfHwgY29sb3IgPT09ICdwcmltYXJ5JyA/ICdjb250YWluZWQnIDogJ3RleHQnfVxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj17IVV0aWxzLmlzTnVsbChjb2xvcikgPyBjb2xvciA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtwcm9wcy5jb25maWcuYXR0cmlidXRlcz8uc3R5bGV9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtlZmZlY3RpdmVEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0SWNvbj17bG9hZGluZyA/IHNwaW5uZXJJY29uIDogPEljb24gaWQ9e3Byb3BzLmNvbmZpZy5pY29ufS8+fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICAgIDwvQnV0dG9uQ29tcG9uZW50PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5pY29uKSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjb2xvcj17IVV0aWxzLmlzTnVsbChjb2xvcikgPyBjb2xvciA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJtZW51LWxpc3QtZ3Jvd1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtlZmZlY3RpdmVEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3Byb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5zdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtsb2FkaW5nID8gc3Bpbm5lckljb24gOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17cHJvcHMuY29uZmlnLmljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17cHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlPy5jb2xvciA/IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5zdHlsZT8uY29sb3IgOiBhcHBsaWNhdGlvbk1hbmFnZXIuZ2V0QXBwbGljYXRpb25TZWNvbmRhcnlDb2xvcigpfS8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QnV0dG9uQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgdmFyaWFudD17Y29sb3IgPT09ICdzZWNvbmRhcnknIHx8IGNvbG9yID09PSAncHJpbWFyeScgPyAnY29udGFpbmVkJyA6ICd0ZXh0J31cbiAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwibWVudS1saXN0LWdyb3dcIlxuICAgICAgICAgICAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgICAgICAgICAgICBzdHlsZT17cHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtlZmZlY3RpdmVEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgc3RhcnRJY29uPXtsb2FkaW5nID8gc3Bpbm5lckljb24gOiBudWxsfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgIDwvQnV0dG9uQ29tcG9uZW50PlxuICAgICAgICApO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtjbGFzc2VzLnJvb3R9IG91aSBidXR0b25gfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHByb3BzLmF0dHJpYnV0ZXM/LnN0eWxlPy53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHZpc2libGUgPyAnYmxvY2snIDogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy53cmFwcGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhVXRpbHMuaXNOdWxsKHRvb2x0aXBUZXh0KSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0b29sdGlwVGV4dH0gYXJyb3c+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57cmVuZGVyQnV0dG9uKCl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyQnV0dG9uKClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBCdXR0b247XG4iXSwibWFw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