@1money/react-ui 1.12.4-alpha.0 → 1.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -204,6 +204,8 @@ var Select = exports.Select = function Select(props) {
|
|
|
204
204
|
_props$size2 = props.size,
|
|
205
205
|
size = _props$size2 === void 0 ? 'large' : _props$size2,
|
|
206
206
|
success = props.success,
|
|
207
|
+
_props$refreshAfterSh = props.refreshAfterShow,
|
|
208
|
+
refreshAfterShow = _props$refreshAfterSh === void 0 ? true : _props$refreshAfterSh,
|
|
207
209
|
invalid = props.invalid,
|
|
208
210
|
disabled = props.disabled,
|
|
209
211
|
placeholder = props.placeholder,
|
|
@@ -218,7 +220,7 @@ var Select = exports.Select = function Select(props) {
|
|
|
218
220
|
_onHide = props.onHide,
|
|
219
221
|
_onShow = props.onShow,
|
|
220
222
|
unselectable = props.unselectable,
|
|
221
|
-
rest = __rest(props, ["id", "ref", "name", "label", "message", "required", "prefixCls", "wrapperCls", "labelCls", "messageCls", "value", "size", "success", "invalid", "disabled", "placeholder", "className", "multiple", "options", "panelClassName", "defaultValue", "itemTemplate", "onChange", "onHide", "onShow", "unselectable"]);
|
|
223
|
+
rest = __rest(props, ["id", "ref", "name", "label", "message", "required", "prefixCls", "wrapperCls", "labelCls", "messageCls", "value", "size", "success", "refreshAfterShow", "invalid", "disabled", "placeholder", "className", "multiple", "options", "panelClassName", "defaultValue", "itemTemplate", "onChange", "onHide", "onShow", "unselectable"]);
|
|
222
224
|
var classes = (0, _classnames["default"])(prefixCls);
|
|
223
225
|
var _useState5 = (0, _react.useState)((_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : null),
|
|
224
226
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
@@ -244,6 +246,18 @@ var Select = exports.Select = function Select(props) {
|
|
|
244
246
|
var debouncedHandleScroll = (0, _lodash2["default"])(function () {
|
|
245
247
|
return setIsScrolling(false);
|
|
246
248
|
}, 500);
|
|
249
|
+
var refreshDOM = (0, _react.useCallback)(function () {
|
|
250
|
+
var _a, _b;
|
|
251
|
+
var ele = (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getOverlay) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
252
|
+
if (!ele) return;
|
|
253
|
+
var originZIndex = ele.style.zIndex;
|
|
254
|
+
if (originZIndex != undefined) {
|
|
255
|
+
ele.style.zIndex = "".concat(parseInt(originZIndex) + 1);
|
|
256
|
+
setTimeout(function () {
|
|
257
|
+
ele.style.zIndex = originZIndex;
|
|
258
|
+
}, 0);
|
|
259
|
+
}
|
|
260
|
+
}, []);
|
|
247
261
|
var SelectComponent = (0, _react.useCallback)(function (props) {
|
|
248
262
|
return multiple ? (0, _jsxRuntime.jsx)(_multiselect.MultiSelect, Object.assign({
|
|
249
263
|
unselectable: unselectable,
|
|
@@ -312,9 +326,75 @@ var Select = exports.Select = function Select(props) {
|
|
|
312
326
|
setSelected(value);
|
|
313
327
|
}
|
|
314
328
|
}, [value]);
|
|
329
|
+
// @ts-expect-error
|
|
315
330
|
(0, _react.useImperativeHandle)(ref !== null && ref !== void 0 ? ref : _ref, function () {
|
|
316
|
-
|
|
317
|
-
|
|
331
|
+
var _a, _b;
|
|
332
|
+
return multiple ? {
|
|
333
|
+
props: (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.props,
|
|
334
|
+
focus: function focus() {
|
|
335
|
+
var _a, _b;
|
|
336
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
337
|
+
},
|
|
338
|
+
hide: function hide() {
|
|
339
|
+
var _a, _b;
|
|
340
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.hide) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
341
|
+
},
|
|
342
|
+
show: function show() {
|
|
343
|
+
var _a, _b;
|
|
344
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.show) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
345
|
+
},
|
|
346
|
+
getElement: function getElement() {
|
|
347
|
+
var _a, _b;
|
|
348
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getElement) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
349
|
+
},
|
|
350
|
+
getInput: function getInput() {
|
|
351
|
+
var _a, _b;
|
|
352
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getInput) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
353
|
+
},
|
|
354
|
+
getOverlay: function getOverlay() {
|
|
355
|
+
var _a, _b;
|
|
356
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getOverlay) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
357
|
+
}
|
|
358
|
+
} : {
|
|
359
|
+
props: (_b = selectRef.current) === null || _b === void 0 ? void 0 : _b.props,
|
|
360
|
+
clear: function clear() {
|
|
361
|
+
var _a, _b;
|
|
362
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
363
|
+
},
|
|
364
|
+
focus: function focus() {
|
|
365
|
+
var _a, _b;
|
|
366
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
367
|
+
},
|
|
368
|
+
hide: function hide() {
|
|
369
|
+
var _a, _b;
|
|
370
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.hide) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
371
|
+
},
|
|
372
|
+
show: function show() {
|
|
373
|
+
var _a, _b;
|
|
374
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.show) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
375
|
+
},
|
|
376
|
+
getElement: function getElement() {
|
|
377
|
+
var _a, _b;
|
|
378
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getElement) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
379
|
+
},
|
|
380
|
+
getInput: function getInput() {
|
|
381
|
+
var _a, _b;
|
|
382
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getInput) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
383
|
+
},
|
|
384
|
+
getOverlay: function getOverlay() {
|
|
385
|
+
var _a, _b;
|
|
386
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getOverlay) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
387
|
+
},
|
|
388
|
+
getFocusInput: function getFocusInput() {
|
|
389
|
+
var _a, _b;
|
|
390
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getFocusInput) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
391
|
+
},
|
|
392
|
+
getVirtualScroller: function getVirtualScroller() {
|
|
393
|
+
var _a, _b;
|
|
394
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getVirtualScroller) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
}, [multiple]);
|
|
318
398
|
return (0, _jsxRuntime.jsx)(SelectWrapper, {
|
|
319
399
|
label: label,
|
|
320
400
|
message: message,
|
|
@@ -376,6 +456,10 @@ var Select = exports.Select = function Select(props) {
|
|
|
376
456
|
onShow: function onShow() {
|
|
377
457
|
setIsOpen(true);
|
|
378
458
|
_onShow === null || _onShow === void 0 ? void 0 : _onShow();
|
|
459
|
+
if (!refreshAfterShow) return;
|
|
460
|
+
setTimeout(function () {
|
|
461
|
+
return refreshDOM();
|
|
462
|
+
}, 0);
|
|
379
463
|
},
|
|
380
464
|
dropdownIcon: function dropdownIcon() {
|
|
381
465
|
return (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
@@ -412,4 +496,4 @@ var Select = exports.Select = function Select(props) {
|
|
|
412
496
|
};
|
|
413
497
|
Select.CustomDropdown = CustomDropdown;
|
|
414
498
|
var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(Select);
|
|
415
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2xvZGFzaCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbG9kYXNoMiIsIl9kcm9wZG93biIsIl9tdWx0aXNlbGVjdCIsIl9jbGFzc25hbWVzIiwiX0ljb25zIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJTZWxlY3RXcmFwcGVyIiwibWVtbyIsInByb3BzIiwibGFiZWwiLCJtZXNzYWdlIiwicmVxdWlyZWQiLCJwcmVmaXhDbHMiLCJ3cmFwcGVyQ2xzIiwibGFiZWxDbHMiLCJtZXNzYWdlQ2xzIiwic3VjY2VzcyIsImludmFsaWQiLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJfanN4cyIsImNsYXNzTmFtZSIsIl9qc3giLCJqb2luIiwidHJpbSIsIkN1c3RvbURyb3Bkb3duIiwicmVmIiwiZGF0YUlkIiwiX3Byb3BzJHByZWZpeENscyIsIl9wcm9wcyRzaXplIiwic2l6ZSIsImVkaXRhYmxlIiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfcHJvcHMkY2xhc3NOYW1lIiwic2VsZWN0ZWRUZW1wbGF0ZSIsInRhaWxUZW1wbGF0ZSIsIm9uQ2xpY2siLCJvbkZvY3VzIiwib25CbHVyIiwiaXNDbGlja0luc2lkZSIsInVzZVJlZiIsImRhdGFJZFJlZiIsImxhc3RGb2N1c1JlZiIsInNlbGVjdFJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInZhbHVlIiwic2V0VmFsdWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzRm9jdXMiLCJzZXRJc0ZvY3VzIiwic2VsZWN0Q2xzIiwidXNlTWVtbyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJmb2N1cyIsImJsdXIiLCJnZXRET01Ob2RlIiwiY3VycmVudCIsInVzZUVmZmVjdCIsImZpbmRDdXN0b21Ecm9wZG93bkRhdGFJZCIsInRhcmdldCIsIl9hIiwiZGF0YXNldCIsInNlbGVjdEN1c3RvbURyb3Bkb3duSWQiLCJkb2N1bWVudCIsImJvZHkiLCJwYXJlbnQiLCJwYXJlbnROb2RlIiwicGFyZW50RWxlbWVudCIsInJlbW92ZUZvY3VzIiwicHJldiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY29udGVudEVkaXRhYmxlIiwiYXV0b0ZvY3VzIiwib25JbnB1dCIsInZhbCIsImN1cnJlbnRUYXJnZXQiLCJpbm5lclRleHQiLCJJY29ucyIsIm5hbWUiLCJjb2xvciIsIlNlbGVjdCIsImV4cG9ydHMiLCJpZCIsIl9wcm9wcyRwcmVmaXhDbHMyIiwiX3Byb3BzJHNpemUyIiwiX3Byb3BzJGNsYXNzTmFtZTIiLCJtdWx0aXBsZSIsIm9wdGlvbnMiLCJwYW5lbENsYXNzTmFtZSIsImRlZmF1bHRWYWx1ZSIsIml0ZW1UZW1wbGF0ZSIsIm9uQ2hhbmdlIiwib25IaWRlIiwib25TaG93IiwidW5zZWxlY3RhYmxlIiwicmVzdCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2VsZWN0ZWQiLCJzZXRTZWxlY3RlZCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiaXNIb3ZlciIsInNldElzSG92ZXIiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiaXNTY3JvbGxpbmciLCJzZXRJc1Njcm9sbGluZyIsIl9yZWYiLCJBcnJheSIsImlzQXJyYXkiLCJkZWJvdW5jZWRIYW5kbGVTY3JvbGwiLCJkZWJvdW5jZSIsIlNlbGVjdENvbXBvbmVudCIsInVzZUNhbGxiYWNrIiwiTXVsdGlTZWxlY3QiLCJhc3NpZ24iLCJzaG93U2VsZWN0QWxsIiwiY2hlY2tib3hJY29uIiwicmVtb3ZlSWNvbiIsIl9wcm9wcyRpY29uUHJvcHMiLCJpY29uUHJvcHMiLCJvbktleURvd24iLCJ0YWJJbmRleCIsInBhbmVsSGVhZGVyVGVtcGxhdGUiLCJfYiIsIl9jIiwiX2QiLCJfZSIsImZpbHRlckVsZW1lbnQiLCJzZWxlY3RlZE51bSIsIm1ldGFEYXRhIiwidXBkYXRlTW9kZWwiLCJEcm9wZG93biIsImNvbGxhcHNlSWNvbiIsInVuZGVmaW5lZCIsImlzRXF1YWwiLCJmaWx0ZXJQbGFjZWhvbGRlciIsIm9wdGlvbiIsImNsZWFyIiwiZmlsdGVySWNvbiIsImFwcGVuZFRvIiwiZHJvcGRvd25JY29uIiwicHQiLCJ3cmFwcGVyIiwib25TY3JvbGwiLCJjYW5jZWwiLCJwYW5lbCIsIm9uTW91c2VFbnRlciIsIm9uTW91c2VMZWF2ZSIsIm9uVG91Y2hTdGFydCIsIm9uVG91Y2hFbmQiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFKLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUROQSxJQUFJUyxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUss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QUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTtRQUFBLE9BQVEsSUFBQWxJLGVBQUEsRUFBQzZELFlBQUssRUFBQTtVQUFDQyxJQUFJLEVBQUMsYUFBYTtVQUFDQyxLQUFLLEVBQUMsU0FBUztVQUFDdkQsSUFBSSxFQUFFO1FBQUUsQ0FBQSxDQUFJO01BQUE7TUFDMUUySCxFQUFFLEVBQUU7UUFDRkMsT0FBTyxFQUFFO1VBQ1BDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBLEVBQU87WUFDYmxDLHFCQUFxQixDQUFDbUMsTUFBTSxDQUFBLENBQUU7WUFDOUJ2QyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3BCSSxxQkFBcUIsQ0FBQSxDQUFFO1VBQ3pCO1FEbExJLENDbUxMO1FBQ0RvQyxLQUFLLEVBQUU7VUFDTEMsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7WUFBQSxPQUFRN0MsVUFBVSxDQUFDLElBQUksQ0FBQztVQUFBO1VBQ3BDOEMsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7WUFBQSxPQUFROUMsVUFBVSxDQUFDLEtBQUssQ0FBQztVQUFBO1VBQ3JDK0MsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7WUFBQSxPQUFRL0MsVUFBVSxDQUFDLElBQUksQ0FBQztVQUFBO1VBQ3BDZ0QsVUFBVSxFQUFFLFNBQVpBLFVBQVVBLENBQUE7WUFBQSxPQUFRaEQsVUFBVSxDQUFDLEtBQUssQ0FBQztVQUFBO1FEbEwvQjtNQUNKO0lDbUxILENBQUEsQ0FBQTtFQUNELENBQUEsQ0FDWTtBQUVwQixDQUFDO0FBRUQzQixNQUFNLENBQUM3RCxjQUFjLEdBQUdBLGNBQWM7QUFBQyxJQUFBeUksUUFBQSxHQUFBM0UsT0FBQSwyQkFFeEIsSUFBQWxGLFdBQUksRUFBQ2lGLE1BQU0sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlUmVmLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjaywgdXNlSW1wZXJhdGl2ZUhhbmRsZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC5pc2VxdWFsJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tICdwcmltZXJlYWN0L2Ryb3Bkb3duJztcbmltcG9ydCB7IE11bHRpU2VsZWN0IH0gZnJvbSAncHJpbWVyZWFjdC9tdWx0aXNlbGVjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuY29uc3QgU2VsZWN0V3JhcHBlciA9IG1lbW8ocHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2hpbGRyZW4sIH0gPSBwcm9wcztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIHJldHVybiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnd3JhcHBlcicsIHdyYXBwZXJDbHMpLCBjaGlsZHJlbjogW2xhYmVsICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbCcsIFtyZXF1aXJlZCAmJiBjbGFzc2VzKCdsYWJlbC1yZXF1aXJlZCcpLCBsYWJlbENsc10uam9pbignICcpKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBjaGlsZHJlbiwgbWVzc2FnZSAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbWVzc2FnZScsIFtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ21lc3NhZ2Utc3VjY2VzcycpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdtZXNzYWdlLWVycm9yJykgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUNsc1xuICAgICAgICAgICAgICAgIF0uam9pbignICcpLnRyaW0oKSksIGNoaWxkcmVuOiBtZXNzYWdlIH0pXSB9KTtcbn0pO1xuY29uc3QgQ3VzdG9tRHJvcGRvd24gPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyByZWYsIGRhdGFJZCwgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHNpemUgPSAnbGFyZ2UnLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgZWRpdGFibGUsIHBsYWNlaG9sZGVyID0gJycsIGNsYXNzTmFtZSA9ICcnLCBzZWxlY3RlZFRlbXBsYXRlLCB0YWlsVGVtcGxhdGUsIG9uQ2xpY2ssIG9uRm9jdXMsIG9uQmx1ciwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgaXNDbGlja0luc2lkZSA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgZGF0YUlkUmVmID0gdXNlUmVmKGRhdGFJZCk7XG4gICAgY29uc3QgbGFzdEZvY3VzUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZSgnJyk7XG4gICAgY29uc3QgW2lzRm9jdXMsIHNldElzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IHNlbGVjdENscyA9IHVzZU1lbW8oKCkgPT4gY2xhc3Nlcyh2b2lkIDAsIFtcbiAgICAgICAgY2xhc3NlcyhzaXplKSxcbiAgICAgICAgY2xhc3NlcygnY3VzdG9tJyksXG4gICAgICAgIGlzRm9jdXMgPyBjbGFzc2VzKCdmb2N1cycpIDogJycsXG4gICAgICAgIHN1Y2Nlc3MgPyBjbGFzc2VzKCdzdWNjZXNzJykgOiAnJyxcbiAgICAgICAgaW52YWxpZCA/IGNsYXNzZXMoJ2ludmFsaWQnKSA6ICcnLFxuICAgICAgICBkaXNhYmxlZCA/IGNsYXNzZXMoJ2Rpc2FibGVkJykgOiAnJyxcbiAgICAgICAgZWRpdGFibGUgPyBjbGFzc2VzKCdlZGl0YWJsZScpIDogJycsXG4gICAgICAgIGNsYXNzTmFtZVxuICAgIF0uam9pbignICcpKSwgW3NpemUsIGlzRm9jdXMsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBlZGl0YWJsZSwgY2xhc3NOYW1lXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGZvY3VzOiAoKSA9PiBzZXRJc0ZvY3VzKHRydWUpLFxuICAgICAgICBibHVyOiAoKSA9PiBzZXRJc0ZvY3VzKGZhbHNlKSxcbiAgICAgICAgZ2V0RE9NTm9kZTogKCkgPT4gc2VsZWN0UmVmLmN1cnJlbnRcbiAgICB9KSwgW3JlZl0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGRhdGFJZFJlZi5jdXJyZW50ID0gZGF0YUlkO1xuICAgIH0sIFtkYXRhSWRdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoaXNGb2N1cyAhPT0gbGFzdEZvY3VzUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGxhc3RGb2N1c1JlZi5jdXJyZW50ID0gaXNGb2N1cztcbiAgICAgICAgICAgIGlmIChpc0ZvY3VzKSB7XG4gICAgICAgICAgICAgICAgb25Gb2N1cyA9PT0gbnVsbCB8fCBvbkZvY3VzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIFtpc0ZvY3VzLCBvbkZvY3VzLCBvbkJsdXJdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQgPSAodGFyZ2V0KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoIWRhdGFJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGlmICgoKF9hID0gdGFyZ2V0ID09PSBudWxsIHx8IHRhcmdldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGFyZ2V0LmRhdGFzZXQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZWxlY3RDdXN0b21Ecm9wZG93bklkKSA9PT0gZGF0YUlkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5IHx8IHRhcmdldCA9PT0gZG9jdW1lbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0LnBhcmVudE5vZGUgfHwgdGFyZ2V0LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIXBhcmVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkKHBhcmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlbW92ZUZvY3VzID0gKGUpID0+IHtcbiAgICAgICAgICAgIGlmIChpc0NsaWNrSW5zaWRlLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBpc0NsaWNrSW5zaWRlLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRJc0ZvY3VzKHByZXYgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcHJldilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiBmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQoZS50YXJnZXQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVtb3ZlRm9jdXMpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZW1vdmVGb2N1cyk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBfanN4KFNlbGVjdFdyYXBwZXIsIHsgbGFiZWw6IGxhYmVsLCBtZXNzYWdlOiBtZXNzYWdlLCByZXF1aXJlZDogcmVxdWlyZWQsIHByZWZpeENsczogcHJlZml4Q2xzLCB3cmFwcGVyQ2xzOiB3cmFwcGVyQ2xzLCBsYWJlbENsczogbGFiZWxDbHMsIG1lc3NhZ2VDbHM6IG1lc3NhZ2VDbHMsIHN1Y2Nlc3M6IHN1Y2Nlc3MsIGludmFsaWQ6IGludmFsaWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgcmVmOiBzZWxlY3RSZWYsIGNsYXNzTmFtZTogc2VsZWN0Q2xzLCBjb250ZW50RWRpdGFibGU6ICFkaXNhYmxlZCA/IGVkaXRhYmxlIDogZmFsc2UsIGF1dG9Gb2N1czogZWRpdGFibGUsIFwiZGF0YS1wbGFjZWhvbGRlclwiOiBwbGFjZWhvbGRlciwgXCJkYXRhLXZhbHVlXCI6IHZhbHVlLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmICghZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNDbGlja0luc2lkZS5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNGb2N1cyhwcmV2ID0+ICFwcmV2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25DbGljayA9PT0gbnVsbCB8fCBvbkNsaWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsaWNrKGUpO1xuICAgICAgICAgICAgfSwgb25JbnB1dDogZSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbCA9IGUuY3VycmVudFRhcmdldC5pbm5lclRleHQ7XG4gICAgICAgICAgICAgICAgaWYgKHZhbCA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIGUuY3VycmVudFRhcmdldC5pbm5lclRleHQgPSAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2V0VmFsdWUodmFsKTtcbiAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbIWRpc2FibGVkICYmIGVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IHR5cGVvZiBzZWxlY3RlZFRlbXBsYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdGVkVGVtcGxhdGUoaXNGb2N1cylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2N1c3RvbS1wbGFjZWhvbGRlcicpLCBjaGlsZHJlbjogcGxhY2Vob2xkZXIgfSksIGVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IHR5cGVvZiB0YWlsVGVtcGxhdGUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGFpbFRlbXBsYXRlKGlzRm9jdXMpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZXZyb25Eb3duJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2N1c3RvbS10YWlsJywgaXNGb2N1cyA/IGNsYXNzZXMoJ2N1c3RvbS10YWlsLWZvY3VzJykgOiAnJykgfSldIH0pIH0pO1xufTtcbmV4cG9ydCBjb25zdCBTZWxlY3QgPSBwcm9wcyA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgaWQsIHJlZiwgbmFtZSwgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHZhbHVlLCBzaXplID0gJ2xhcmdlJywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIHBsYWNlaG9sZGVyLCBjbGFzc05hbWUgPSAnJywgbXVsdGlwbGUsIG9wdGlvbnMsIHBhbmVsQ2xhc3NOYW1lLCBkZWZhdWx0VmFsdWUsIGl0ZW1UZW1wbGF0ZSwgb25DaGFuZ2UsIG9uSGlkZSwgb25TaG93LCB1bnNlbGVjdGFibGUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJpZFwiLCBcInJlZlwiLCBcIm5hbWVcIiwgXCJsYWJlbFwiLCBcIm1lc3NhZ2VcIiwgXCJyZXF1aXJlZFwiLCBcInByZWZpeENsc1wiLCBcIndyYXBwZXJDbHNcIiwgXCJsYWJlbENsc1wiLCBcIm1lc3NhZ2VDbHNcIiwgXCJ2YWx1ZVwiLCBcInNpemVcIiwgXCJzdWNjZXNzXCIsIFwiaW52YWxpZFwiLCBcImRpc2FibGVkXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJjbGFzc05hbWVcIiwgXCJtdWx0aXBsZVwiLCBcIm9wdGlvbnNcIiwgXCJwYW5lbENsYXNzTmFtZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIml0ZW1UZW1wbGF0ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25IaWRlXCIsIFwib25TaG93XCIsIFwidW5zZWxlY3RhYmxlXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoKF9hID0gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/IHZhbHVlIDogZGVmYXVsdFZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsKTtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNTY3JvbGxpbmcsIHNldElzU2Nyb2xsaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgX3JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWxlY3RDbHMgPSB1c2VNZW1vKCgpID0+IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgIGNsYXNzZXMoc2l6ZSksXG4gICAgICAgIGlzT3BlbiA/IGNsYXNzZXMoJ3Nob3cnKSA6ICcnLFxuICAgICAgICBzdWNjZXNzID8gY2xhc3Nlcygnc3VjY2VzcycpIDogJycsXG4gICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiAnJyxcbiAgICAgICAgZGlzYWJsZWQgPyBjbGFzc2VzKCdkaXNhYmxlZCcpIDogJycsXG4gICAgICAgIChBcnJheS5pc0FycmF5KHNlbGVjdGVkKSA/IHNlbGVjdGVkLmxlbmd0aCA6IHNlbGVjdGVkKSA/IGNsYXNzZXMoJ2ZpbGxlZCcpIDogJycsXG4gICAgICAgIGNsYXNzTmFtZVxuICAgIF0uam9pbignICcpKSwgW3NpemUsIGlzT3Blbiwgc3VjY2Vzcywgc2VsZWN0ZWQsIGludmFsaWQsIGRpc2FibGVkLCBjbGFzc05hbWVdKTtcbiAgICBjb25zdCBkZWJvdW5jZWRIYW5kbGVTY3JvbGwgPSBkZWJvdW5jZSgoKSA9PiBzZXRJc1Njcm9sbGluZyhmYWxzZSksIDUwMCk7XG4gICAgY29uc3QgU2VsZWN0Q29tcG9uZW50ID0gdXNlQ2FsbGJhY2soKHByb3BzKSA9PiBtdWx0aXBsZVxuICAgICAgICA/IF9qc3goTXVsdGlTZWxlY3QsIE9iamVjdC5hc3NpZ24oeyB1bnNlbGVjdGFibGU6IHVuc2VsZWN0YWJsZSwgc2hvd1NlbGVjdEFsbDogZmFsc2UsIGNoZWNrYm94SWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiAxMiwgY29sb3I6ICcjRkVGRUZFJyB9KSwgcmVtb3ZlSWNvbjogcHJvcHMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgb25DbGljaywgb25LZXlEb3duLCB0YWJJbmRleCB9ID0gcHJvcHMuaWNvblByb3BzO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyMxMzEzMTMnLCB0YWJJbmRleDogdGFiSW5kZXgsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ3Rva2VuLXJlbW92ZS1pY29uJyksIG9uQ2xpY2s6IG9uQ2xpY2ssIG9uS2V5RG93bjogb25LZXlEb3duIH0pO1xuICAgICAgICAgICAgfSwgcGFuZWxIZWFkZXJUZW1wbGF0ZTogb3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGZpbHRlckVsZW1lbnQsIHByb3BzIH0gPSBvcHRpb25zO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE51bSA9IChfZCA9IChfYyA9IChfYiA9IChfYSA9IHByb3BzID09PSBudWxsIHx8IHByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcm9wcy5tZXRhRGF0YSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnByb3BzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IudmFsdWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5sZW5ndGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXInKSwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8nKSwgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNvdW50JyksIGNoaWxkcmVuOiBbc2VsZWN0ZWROdW0sIFwiIHNlbGVjdGVkXCJdIH0pLCBfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNsZWFyJyksIG9uQ2xpY2s6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51cGRhdGVNb2RlbChlLCBbXSwgW10pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyNBRTAwMDAnLCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhci1pY29uJykgfSksIFwiQ2xlYXIgYWxsXCJdIH0pXSB9KSwgKF9lID0gZmlsdGVyRWxlbWVudCA9PT0gbnVsbCB8fCBmaWx0ZXJFbGVtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWx0ZXJFbGVtZW50LnByb3BzKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UuY2hpbGRyZW5dIH0pO1xuICAgICAgICAgICAgfSB9LCBwcm9wcykpXG4gICAgICAgIDogX2pzeChEcm9wZG93biwgT2JqZWN0LmFzc2lnbih7IGNvbGxhcHNlSWNvbjogbXVsdGlwbGUgPyB2b2lkIDAgOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uVXAnLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSB9LCBwcm9wcykpLCBbbXVsdGlwbGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhaXNFcXVhbChzZWxlY3RlZCwgdmFsdWUpKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbdmFsdWVdKTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHZvaWQgMCA/IHJlZiA6IF9yZWYsICgpID0+IHNlbGVjdFJlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0V3JhcHBlciwgeyBsYWJlbDogbGFiZWwsIG1lc3NhZ2U6IG1lc3NhZ2UsIHJlcXVpcmVkOiByZXF1aXJlZCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIHdyYXBwZXJDbHM6IHdyYXBwZXJDbHMsIGxhYmVsQ2xzOiBsYWJlbENscywgbWVzc2FnZUNsczogbWVzc2FnZUNscywgc3VjY2Vzczogc3VjY2VzcywgaW52YWxpZDogaW52YWxpZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogX2pzeChTZWxlY3RDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgaWQ6IGlkLCByZWY6IHNlbGVjdFJlZiwgbmFtZTogbmFtZSwgZmlsdGVyUGxhY2Vob2xkZXI6ICdTZWFyY2gnLCByZXF1aXJlZDogcmVxdWlyZWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgaW52YWxpZDogaW52YWxpZCwgb3B0aW9uczogb3B0aW9ucywgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCB2YWx1ZTogc2VsZWN0ZWQgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IHNlbGVjdGVkLCBjbGFzc05hbWU6IHNlbGVjdENscywgaXRlbVRlbXBsYXRlOiAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtJyksIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbXVsdGlwbGUgJiYgdW5zZWxlY3RhYmxlID09PSAnb24nICYmIG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlKG9wdGlvbikgOiBvcHRpb24ubGFiZWwgfSksIF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTYsIGNvbG9yOiAnIzA3MzM4NycgfSldIH0pO1xuICAgICAgICAgICAgfSwgZmlsdGVySWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMjAsIGNvbG9yOiAnIzEzMTMxMycsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2ZpbHRlci1pY29uJykgfSksIHBhbmVsQ2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbCcsIFtcbiAgICAgICAgICAgICAgICBwYW5lbENsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBpc0hvdmVyICYmIGNsYXNzZXMoJ3BhbmVsLWhvdmVyJyksXG4gICAgICAgICAgICAgICAgaXNTY3JvbGxpbmcgJiYgY2xhc3NlcygncGFuZWwtc2Nyb2xsaW5nJyksXG4gICAgICAgICAgICAgICAgcmVzdC5hcHBlbmRUbyA9PT0gJ3NlbGYnICYmIGNsYXNzZXMoJ3BhbmVsLWFwcGVuZC1zZWxmJyksXG4gICAgICAgICAgICBdLmpvaW4oJyAnKSksIG9uQ2hhbmdlOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkKGUudmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UoZSk7XG4gICAgICAgICAgICB9LCBvbkhpZGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgIG9uSGlkZSA9PT0gbnVsbCB8fCBvbkhpZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uSGlkZSgpO1xuICAgICAgICAgICAgfSwgb25TaG93OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNPcGVuKHRydWUpO1xuICAgICAgICAgICAgICAgIG9uU2hvdyA9PT0gbnVsbCB8fCBvblNob3cgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2hvdygpO1xuICAgICAgICAgICAgfSwgZHJvcGRvd25JY29uOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uRG93bicsIGNvbG9yOiAnIzEzMTMxMycsIHNpemU6IDIwIH0pLCBwdDoge1xuICAgICAgICAgICAgICAgIHdyYXBwZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgb25TY3JvbGw6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZEhhbmRsZVNjcm9sbC5jYW5jZWwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldElzU2Nyb2xsaW5nKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkSGFuZGxlU2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhbmVsOiB7XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gc2V0SXNIb3Zlcih0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlOiAoKSA9PiBzZXRJc0hvdmVyKGZhbHNlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Ub3VjaFN0YXJ0OiAoKSA9PiBzZXRJc0hvdmVyKHRydWUpLFxuICAgICAgICAgICAgICAgICAgICBvblRvdWNoRW5kOiAoKSA9PiBzZXRJc0hvdmVyKGZhbHNlKSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IH0pKSB9KSk7XG59O1xuU2VsZWN0LkN1c3RvbURyb3Bkb3duID0gQ3VzdG9tRHJvcGRvd247XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
499
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2xvZGFzaCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbG9kYXNoMiIsIl9kcm9wZG93biIsIl9tdWx0aXNlbGVjdCIsIl9jbGFzc25hbWVzIiwiX0ljb25zIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJTZWxlY3RXcmFwcGVyIiwibWVtbyIsInByb3BzIiwibGFiZWwiLCJtZXNzYWdlIiwicmVxdWlyZWQiLCJwcmVmaXhDbHMiLCJ3cmFwcGVyQ2xzIiwibGFiZWxDbHMiLCJtZXNzYWdlQ2xzIiwic3VjY2VzcyIsImludmFsaWQiLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJfanN4cyIsImNsYXNzTmFtZSIsIl9qc3giLCJqb2luIiwidHJpbSIsIkN1c3RvbURyb3Bkb3duIiwicmVmIiwiZGF0YUlkIiwiX3Byb3BzJHByZWZpeENscyIsIl9wcm9wcyRzaXplIiwic2l6ZSIsImVkaXRhYmxlIiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfcHJvcHMkY2xhc3NOYW1lIiwic2VsZWN0ZWRUZW1wbGF0ZSIsInRhaWxUZW1wbGF0ZSIsIm9uQ2xpY2siLCJvbkZvY3VzIiwib25CbHVyIiwiaXNDbGlja0luc2lkZSIsInVzZVJlZiIsImRhdGFJZFJlZiIsImxhc3RGb2N1c1JlZiIsInNlbGVjdFJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInZhbHVlIiwic2V0VmFsdWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzRm9jdXMiLCJzZXRJc0ZvY3VzIiwic2VsZWN0Q2xzIiwidXNlTWVtbyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJmb2N1cyIsImJsdXIiLCJnZXRET01Ob2RlIiwiY3VycmVudCIsInVzZUVmZmVjdCIsImZpbmRDdXN0b21Ecm9wZG93bkRhdGFJZCIsInRhcmdldCIsIl9hIiwiZGF0YXNldCIsInNlbGVjdEN1c3RvbURyb3Bkb3duSWQiLCJkb2N1bWVudCIsImJvZHkiLCJwYXJlbnQiLCJwYXJlbnROb2RlIiwicGFyZW50RWxlbWVudCIsInJlbW92ZUZvY3VzIiwicHJldiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY29udGVudEVkaXRhYmxlIiwiYXV0b0ZvY3VzIiwib25JbnB1dCIsInZhbCIsImN1cnJlbnRUYXJnZXQiLCJpbm5lclRleHQiLCJJY29ucyIsIm5hbWUiLCJjb2xvciIsIlNlbGVjdCIsImV4cG9ydHMiLCJpZCIsIl9wcm9wcyRwcmVmaXhDbHMyIiwiX3Byb3BzJHNpemUyIiwiX3Byb3BzJHJlZnJlc2hBZnRlclNoIiwicmVmcmVzaEFmdGVyU2hvdyIsIl9wcm9wcyRjbGFzc05hbWUyIiwibXVsdGlwbGUiLCJvcHRpb25zIiwicGFuZWxDbGFzc05hbWUiLCJkZWZhdWx0VmFsdWUiLCJpdGVtVGVtcGxhdGUiLCJvbkNoYW5nZSIsIm9uSGlkZSIsIm9uU2hvdyIsInVuc2VsZWN0YWJsZSIsInJlc3QiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNlbGVjdGVkIiwic2V0U2VsZWN0ZWQiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImlzT3BlbiIsInNldElzT3BlbiIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsImlzSG92ZXIiLCJzZXRJc0hvdmVyIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsImlzU2Nyb2xsaW5nIiwic2V0SXNTY3JvbGxpbmciLCJfcmVmIiwiQXJyYXkiLCJpc0FycmF5IiwiZGVib3VuY2VkSGFuZGxlU2Nyb2xsIiwiZGVib3VuY2UiLCJyZWZyZXNoRE9NIiwidXNlQ2FsbGJhY2siLCJfYiIsImVsZSIsImdldE92ZXJsYXkiLCJvcmlnaW5aSW5kZXgiLCJzdHlsZSIsInpJbmRleCIsInVuZGVmaW5lZCIsImNvbmNhdCIsInBhcnNlSW50Iiwic2V0VGltZW91dCIsIlNlbGVjdENvbXBvbmVudCIsIk11bHRpU2VsZWN0IiwiYXNzaWduIiwic2hvd1NlbGVjdEFsbCIsImNoZWNrYm94SWNvbiIsInJlbW92ZUljb24iLCJfcHJvcHMkaWNvblByb3BzIiwiaWNvblByb3BzIiwib25LZXlEb3duIiwidGFiSW5kZXgiLCJwYW5lbEhlYWRlclRlbXBsYXRlIiwiX2MiLCJfZCIsIl9lIiwiZmlsdGVyRWxlbWVudCIsInNlbGVjdGVkTnVtIiwibWV0YURhdGEiLCJ1cGRhdGVNb2RlbCIsIkRyb3Bkb3duIiwiY29sbGFwc2VJY29uIiwiaXNFcXVhbCIsImhpZGUiLCJzaG93IiwiZ2V0RWxlbWVudCIsImdldElucHV0IiwiY2xlYXIiLCJnZXRGb2N1c0lucHV0IiwiZ2V0VmlydHVhbFNjcm9sbGVyIiwiZmlsdGVyUGxhY2Vob2xkZXIiLCJvcHRpb24iLCJmaWx0ZXJJY29uIiwiYXBwZW5kVG8iLCJkcm9wZG93bkljb24iLCJwdCIsIndyYXBwZXIiLCJvblNjcm9sbCIsImNhbmNlbCIsInBhbmVsIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwib25Ub3VjaFN0YXJ0Iiwib25Ub3VjaEVuZCIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLFNBQUEs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QUN6QjtRRDlLSSxDQytLTDtRQUNEbUQsS0FBSyxFQUFFO1VBQ0xDLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO1lBQUEsT0FBUTVELFVBQVUsQ0FBQyxJQUFJLENBQUM7VUFBQTtVQUNwQzZELFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO1lBQUEsT0FBUTdELFVBQVUsQ0FBQyxLQUFLLENBQUM7VUFBQTtVQUNyQzhELFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO1lBQUEsT0FBUTlELFVBQVUsQ0FBQyxJQUFJLENBQUM7VUFBQTtVQUNwQytELFVBQVUsRUFBRSxTQUFaQSxVQUFVQSxDQUFBO1lBQUEsT0FBUS9ELFVBQVUsQ0FBQyxLQUFLLENBQUM7VUFBQTtRRDlLL0I7TUFDSjtJQytLSCxDQUFBLENBQUE7RUFDRCxDQUFBLENBQ1k7QUFFcEIsQ0FBQztBQUVEN0IsTUFBTSxDQUFDN0QsY0FBYyxHQUFHQSxjQUFjO0FBQUMsSUFBQTBKLFFBQUEsR0FBQTVGLE9BQUEsMkJBRXhCLElBQUFsRixXQUFJLEVBQUNpRixNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZVJlZiwgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2ssIHVzZUltcGVyYXRpdmVIYW5kbGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2guaXNlcXVhbCc7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoLmRlYm91bmNlJztcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSAncHJpbWVyZWFjdC9kcm9wZG93bic7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdCB9IGZyb20gJ3ByaW1lcmVhY3QvbXVsdGlzZWxlY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmNvbnN0IFNlbGVjdFdyYXBwZXIgPSBtZW1vKHByb3BzID0+IHtcbiAgICBjb25zdCB7IGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3dyYXBwZXInLCB3cmFwcGVyQ2xzKSwgY2hpbGRyZW46IFtsYWJlbCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnLCBbcmVxdWlyZWQgJiYgY2xhc3NlcygnbGFiZWwtcmVxdWlyZWQnKSwgbGFiZWxDbHNdLmpvaW4oJyAnKSksIGNoaWxkcmVuOiBsYWJlbCB9KSwgY2hpbGRyZW4sIG1lc3NhZ2UgJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lc3NhZ2UnLCBbXG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPyBjbGFzc2VzKCdtZXNzYWdlLXN1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnbWVzc2FnZS1lcnJvcicpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VDbHNcbiAgICAgICAgICAgICAgICBdLmpvaW4oJyAnKS50cmltKCkpLCBjaGlsZHJlbjogbWVzc2FnZSB9KV0gfSk7XG59KTtcbmNvbnN0IEN1c3RvbURyb3Bkb3duID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgcmVmLCBkYXRhSWQsIGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCBzaXplID0gJ2xhcmdlJywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIGVkaXRhYmxlLCBwbGFjZWhvbGRlciA9ICcnLCBjbGFzc05hbWUgPSAnJywgc2VsZWN0ZWRUZW1wbGF0ZSwgdGFpbFRlbXBsYXRlLCBvbkNsaWNrLCBvbkZvY3VzLCBvbkJsdXIsIH0gPSBwcm9wcztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGlzQ2xpY2tJbnNpZGUgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGRhdGFJZFJlZiA9IHVzZVJlZihkYXRhSWQpO1xuICAgIGNvbnN0IGxhc3RGb2N1c1JlZiA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3Qgc2VsZWN0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUoJycpO1xuICAgIGNvbnN0IFtpc0ZvY3VzLCBzZXRJc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RDbHMgPSB1c2VNZW1vKCgpID0+IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgIGNsYXNzZXMoc2l6ZSksXG4gICAgICAgIGNsYXNzZXMoJ2N1c3RvbScpLFxuICAgICAgICBpc0ZvY3VzID8gY2xhc3NlcygnZm9jdXMnKSA6ICcnLFxuICAgICAgICBzdWNjZXNzID8gY2xhc3Nlcygnc3VjY2VzcycpIDogJycsXG4gICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiAnJyxcbiAgICAgICAgZGlzYWJsZWQgPyBjbGFzc2VzKCdkaXNhYmxlZCcpIDogJycsXG4gICAgICAgIGVkaXRhYmxlID8gY2xhc3NlcygnZWRpdGFibGUnKSA6ICcnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICBdLmpvaW4oJyAnKSksIFtzaXplLCBpc0ZvY3VzLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgZWRpdGFibGUsIGNsYXNzTmFtZV0pO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBmb2N1czogKCkgPT4gc2V0SXNGb2N1cyh0cnVlKSxcbiAgICAgICAgYmx1cjogKCkgPT4gc2V0SXNGb2N1cyhmYWxzZSksXG4gICAgICAgIGdldERPTU5vZGU6ICgpID0+IHNlbGVjdFJlZi5jdXJyZW50XG4gICAgfSksIFtyZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBkYXRhSWRSZWYuY3VycmVudCA9IGRhdGFJZDtcbiAgICB9LCBbZGF0YUlkXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKGlzRm9jdXMgIT09IGxhc3RGb2N1c1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBsYXN0Rm9jdXNSZWYuY3VycmVudCA9IGlzRm9jdXM7XG4gICAgICAgICAgICBpZiAoaXNGb2N1cykge1xuICAgICAgICAgICAgICAgIG9uRm9jdXMgPT09IG51bGwgfHwgb25Gb2N1cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Gb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LCBbaXNGb2N1cywgb25Gb2N1cywgb25CbHVyXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkID0gKHRhcmdldCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgaWYgKCFkYXRhSWRSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBpZiAoKChfYSA9IHRhcmdldCA9PT0gbnVsbCB8fCB0YXJnZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhcmdldC5kYXRhc2V0KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VsZWN0Q3VzdG9tRHJvcGRvd25JZCkgPT09IGRhdGFJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSB8fCB0YXJnZXQgPT09IGRvY3VtZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRhcmdldC5wYXJlbnROb2RlIHx8IHRhcmdldC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFwYXJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIGZpbmRDdXN0b21Ecm9wZG93bkRhdGFJZChwYXJlbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZW1vdmVGb2N1cyA9IChlKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNDbGlja0luc2lkZS5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgaXNDbGlja0luc2lkZS5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0SXNGb2N1cyhwcmV2ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXByZXYpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkKGUudGFyZ2V0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHJlbW92ZUZvY3VzKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVtb3ZlRm9jdXMpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gX2pzeChTZWxlY3RXcmFwcGVyLCB7IGxhYmVsOiBsYWJlbCwgbWVzc2FnZTogbWVzc2FnZSwgcmVxdWlyZWQ6IHJlcXVpcmVkLCBwcmVmaXhDbHM6IHByZWZpeENscywgd3JhcHBlckNsczogd3JhcHBlckNscywgbGFiZWxDbHM6IGxhYmVsQ2xzLCBtZXNzYWdlQ2xzOiBtZXNzYWdlQ2xzLCBzdWNjZXNzOiBzdWNjZXNzLCBpbnZhbGlkOiBpbnZhbGlkLCBkaXNhYmxlZDogZGlzYWJsZWQsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IHJlZjogc2VsZWN0UmVmLCBjbGFzc05hbWU6IHNlbGVjdENscywgY29udGVudEVkaXRhYmxlOiAhZGlzYWJsZWQgPyBlZGl0YWJsZSA6IGZhbHNlLCBhdXRvRm9jdXM6IGVkaXRhYmxlLCBcImRhdGEtcGxhY2Vob2xkZXJcIjogcGxhY2Vob2xkZXIsIFwiZGF0YS12YWx1ZVwiOiB2YWx1ZSwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBpZiAoIWVkaXRhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzQ2xpY2tJbnNpZGUuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHNldElzRm9jdXMocHJldiA9PiAhcHJldik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljayhlKTtcbiAgICAgICAgICAgIH0sIG9uSW5wdXQ6IGUgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBlLmN1cnJlbnRUYXJnZXQuaW5uZXJUZXh0O1xuICAgICAgICAgICAgICAgIGlmICh2YWwgPT09ICdcXG4nKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuaW5uZXJUZXh0ID0gJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFZhbHVlKHZhbCk7XG4gICAgICAgICAgICB9LCBjaGlsZHJlbjogWyFkaXNhYmxlZCAmJiBlZGl0YWJsZVxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICAgICAgOiB0eXBlb2Ygc2VsZWN0ZWRUZW1wbGF0ZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RlZFRlbXBsYXRlKGlzRm9jdXMpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjdXN0b20tcGxhY2Vob2xkZXInKSwgY2hpbGRyZW46IHBsYWNlaG9sZGVyIH0pLCBlZGl0YWJsZVxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICAgICAgOiB0eXBlb2YgdGFpbFRlbXBsYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRhaWxUZW1wbGF0ZShpc0ZvY3VzKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uRG93bicsIGNvbG9yOiAnIzEzMTMxMycsIHNpemU6IDIwLCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCdjdXN0b20tdGFpbCcsIGlzRm9jdXMgPyBjbGFzc2VzKCdjdXN0b20tdGFpbC1mb2N1cycpIDogJycpIH0pXSB9KSB9KTtcbn07XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gcHJvcHMgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IGlkLCByZWYsIG5hbWUsIGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCB2YWx1ZSwgc2l6ZSA9ICdsYXJnZScsIHN1Y2Nlc3MsIHJlZnJlc2hBZnRlclNob3cgPSB0cnVlLCBpbnZhbGlkLCBkaXNhYmxlZCwgcGxhY2Vob2xkZXIsIGNsYXNzTmFtZSA9ICcnLCBtdWx0aXBsZSwgb3B0aW9ucywgcGFuZWxDbGFzc05hbWUsIGRlZmF1bHRWYWx1ZSwgaXRlbVRlbXBsYXRlLCBvbkNoYW5nZSwgb25IaWRlLCBvblNob3csIHVuc2VsZWN0YWJsZSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImlkXCIsIFwicmVmXCIsIFwibmFtZVwiLCBcImxhYmVsXCIsIFwibWVzc2FnZVwiLCBcInJlcXVpcmVkXCIsIFwicHJlZml4Q2xzXCIsIFwid3JhcHBlckNsc1wiLCBcImxhYmVsQ2xzXCIsIFwibWVzc2FnZUNsc1wiLCBcInZhbHVlXCIsIFwic2l6ZVwiLCBcInN1Y2Nlc3NcIiwgXCJyZWZyZXNoQWZ0ZXJTaG93XCIsIFwiaW52YWxpZFwiLCBcImRpc2FibGVkXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJjbGFzc05hbWVcIiwgXCJtdWx0aXBsZVwiLCBcIm9wdGlvbnNcIiwgXCJwYW5lbENsYXNzTmFtZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIml0ZW1UZW1wbGF0ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25IaWRlXCIsIFwib25TaG93XCIsIFwidW5zZWxlY3RhYmxlXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoKF9hID0gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/IHZhbHVlIDogZGVmYXVsdFZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsKTtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNTY3JvbGxpbmcsIHNldElzU2Nyb2xsaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgX3JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWxlY3RDbHMgPSB1c2VNZW1vKCgpID0+IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgIGNsYXNzZXMoc2l6ZSksXG4gICAgICAgIGlzT3BlbiA/IGNsYXNzZXMoJ3Nob3cnKSA6ICcnLFxuICAgICAgICBzdWNjZXNzID8gY2xhc3Nlcygnc3VjY2VzcycpIDogJycsXG4gICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiAnJyxcbiAgICAgICAgZGlzYWJsZWQgPyBjbGFzc2VzKCdkaXNhYmxlZCcpIDogJycsXG4gICAgICAgIChBcnJheS5pc0FycmF5KHNlbGVjdGVkKSA/IHNlbGVjdGVkLmxlbmd0aCA6IHNlbGVjdGVkKSA/IGNsYXNzZXMoJ2ZpbGxlZCcpIDogJycsXG4gICAgICAgIGNsYXNzTmFtZVxuICAgIF0uam9pbignICcpKSwgW3NpemUsIGlzT3Blbiwgc3VjY2Vzcywgc2VsZWN0ZWQsIGludmFsaWQsIGRpc2FibGVkLCBjbGFzc05hbWVdKTtcbiAgICBjb25zdCBkZWJvdW5jZWRIYW5kbGVTY3JvbGwgPSBkZWJvdW5jZSgoKSA9PiBzZXRJc1Njcm9sbGluZyhmYWxzZSksIDUwMCk7XG4gICAgY29uc3QgcmVmcmVzaERPTSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgZWxlID0gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5nZXRPdmVybGF5KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7XG4gICAgICAgIGlmICghZWxlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBvcmlnaW5aSW5kZXggPSBlbGUuc3R5bGUuekluZGV4O1xuICAgICAgICBpZiAob3JpZ2luWkluZGV4ICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZWxlLnN0eWxlLnpJbmRleCA9IGAke3BhcnNlSW50KG9yaWdpblpJbmRleCkgKyAxfWA7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBlbGUuc3R5bGUuekluZGV4ID0gb3JpZ2luWkluZGV4O1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgY29uc3QgU2VsZWN0Q29tcG9uZW50ID0gdXNlQ2FsbGJhY2soKHByb3BzKSA9PiBtdWx0aXBsZVxuICAgICAgICA/IF9qc3goTXVsdGlTZWxlY3QsIE9iamVjdC5hc3NpZ24oeyB1bnNlbGVjdGFibGU6IHVuc2VsZWN0YWJsZSwgc2hvd1NlbGVjdEFsbDogZmFsc2UsIGNoZWNrYm94SWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiAxMiwgY29sb3I6ICcjRkVGRUZFJyB9KSwgcmVtb3ZlSWNvbjogcHJvcHMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgb25DbGljaywgb25LZXlEb3duLCB0YWJJbmRleCB9ID0gcHJvcHMuaWNvblByb3BzO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyMxMzEzMTMnLCB0YWJJbmRleDogdGFiSW5kZXgsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ3Rva2VuLXJlbW92ZS1pY29uJyksIG9uQ2xpY2s6IG9uQ2xpY2ssIG9uS2V5RG93bjogb25LZXlEb3duIH0pO1xuICAgICAgICAgICAgfSwgcGFuZWxIZWFkZXJUZW1wbGF0ZTogb3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGZpbHRlckVsZW1lbnQsIHByb3BzIH0gPSBvcHRpb25zO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE51bSA9IChfZCA9IChfYyA9IChfYiA9IChfYSA9IHByb3BzID09PSBudWxsIHx8IHByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcm9wcy5tZXRhRGF0YSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnByb3BzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IudmFsdWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5sZW5ndGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXInKSwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8nKSwgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNvdW50JyksIGNoaWxkcmVuOiBbc2VsZWN0ZWROdW0sIFwiIHNlbGVjdGVkXCJdIH0pLCBfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNsZWFyJyksIG9uQ2xpY2s6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51cGRhdGVNb2RlbChlLCBbXSwgW10pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyNBRTAwMDAnLCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhci1pY29uJykgfSksIFwiQ2xlYXIgYWxsXCJdIH0pXSB9KSwgKF9lID0gZmlsdGVyRWxlbWVudCA9PT0gbnVsbCB8fCBmaWx0ZXJFbGVtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWx0ZXJFbGVtZW50LnByb3BzKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UuY2hpbGRyZW5dIH0pO1xuICAgICAgICAgICAgfSB9LCBwcm9wcykpXG4gICAgICAgIDogX2pzeChEcm9wZG93biwgT2JqZWN0LmFzc2lnbih7IGNvbGxhcHNlSWNvbjogbXVsdGlwbGUgPyB2b2lkIDAgOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uVXAnLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSB9LCBwcm9wcykpLCBbbXVsdGlwbGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhaXNFcXVhbChzZWxlY3RlZCwgdmFsdWUpKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbdmFsdWVdKTtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYgIT09IG51bGwgJiYgcmVmICE9PSB2b2lkIDAgPyByZWYgOiBfcmVmLCAoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiAobXVsdGlwbGUgPyB7XG4gICAgICAgICAgICBwcm9wczogKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5wcm9wcyxcbiAgICAgICAgICAgIGZvY3VzOiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBoaWRlOiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmhpZGUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIHNob3c6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2hvdykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZ2V0RWxlbWVudDogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5nZXRFbGVtZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBnZXRJbnB1dDogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5nZXRJbnB1dCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZ2V0T3ZlcmxheTogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5nZXRPdmVybGF5KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgICBwcm9wczogKF9iID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5wcm9wcyxcbiAgICAgICAgICAgIGNsZWFyOiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNsZWFyKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBmb2N1czogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgaGlkZTogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5oaWRlKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNob3cpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldEVsZW1lbnQ6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0RWxlbWVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZ2V0SW5wdXQ6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0SW5wdXQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldE92ZXJsYXk6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0T3ZlcmxheSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZ2V0Rm9jdXNJbnB1dDogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5nZXRGb2N1c0lucHV0KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBnZXRWaXJ0dWFsU2Nyb2xsZXI6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0VmlydHVhbFNjcm9sbGVyKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgIH0pO1xuICAgIH0sIFttdWx0aXBsZV0pO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3RXcmFwcGVyLCB7IGxhYmVsOiBsYWJlbCwgbWVzc2FnZTogbWVzc2FnZSwgcmVxdWlyZWQ6IHJlcXVpcmVkLCBwcmVmaXhDbHM6IHByZWZpeENscywgd3JhcHBlckNsczogd3JhcHBlckNscywgbGFiZWxDbHM6IGxhYmVsQ2xzLCBtZXNzYWdlQ2xzOiBtZXNzYWdlQ2xzLCBzdWNjZXNzOiBzdWNjZXNzLCBpbnZhbGlkOiBpbnZhbGlkLCBkaXNhYmxlZDogZGlzYWJsZWQsIGNoaWxkcmVuOiBfanN4KFNlbGVjdENvbXBvbmVudCwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBpZDogaWQsIHJlZjogc2VsZWN0UmVmLCBuYW1lOiBuYW1lLCBmaWx0ZXJQbGFjZWhvbGRlcjogJ1NlYXJjaCcsIHJlcXVpcmVkOiByZXF1aXJlZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpbnZhbGlkOiBpbnZhbGlkLCBvcHRpb25zOiBvcHRpb25zLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHZhbHVlOiBzZWxlY3RlZCA9PSBudWxsID8gdW5kZWZpbmVkIDogc2VsZWN0ZWQsIGNsYXNzTmFtZTogc2VsZWN0Q2xzLCBpdGVtVGVtcGxhdGU6IChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWl0ZW0nKSwgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtdWx0aXBsZSAmJiB1bnNlbGVjdGFibGUgPT09ICdvbicgJiYgb3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBpdGVtVGVtcGxhdGUgPyBpdGVtVGVtcGxhdGUob3B0aW9uKSA6IG9wdGlvbi5sYWJlbCB9KSwgX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiAxNiwgY29sb3I6ICcjMDczMzg3JyB9KV0gfSk7XG4gICAgICAgICAgICB9LCBmaWx0ZXJJY29uOiBfanN4KEljb25zLCB7IG5hbWU6ICdzZWFyY2gnLCBzaXplOiAyMCwgY29sb3I6ICcjMTMxMzEzJywgd3JhcHBlckNsczogY2xhc3NlcygnZmlsdGVyLWljb24nKSB9KSwgcGFuZWxDbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsJywgW1xuICAgICAgICAgICAgICAgIHBhbmVsQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIGlzSG92ZXIgJiYgY2xhc3NlcygncGFuZWwtaG92ZXInKSxcbiAgICAgICAgICAgICAgICBpc1Njcm9sbGluZyAmJiBjbGFzc2VzKCdwYW5lbC1zY3JvbGxpbmcnKSxcbiAgICAgICAgICAgICAgICByZXN0LmFwcGVuZFRvID09PSAnc2VsZicgJiYgY2xhc3NlcygncGFuZWwtYXBwZW5kLXNlbGYnKSxcbiAgICAgICAgICAgIF0uam9pbignICcpKSwgb25DaGFuZ2U6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWQoZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShlKTtcbiAgICAgICAgICAgIH0sIG9uSGlkZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgb25IaWRlID09PSBudWxsIHx8IG9uSGlkZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25IaWRlKCk7XG4gICAgICAgICAgICB9LCBvblNob3c6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgb25TaG93ID09PSBudWxsIHx8IG9uU2hvdyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TaG93KCk7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWZyZXNoQWZ0ZXJTaG93KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZWZyZXNoRE9NKCksIDApO1xuICAgICAgICAgICAgfSwgZHJvcGRvd25JY29uOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uRG93bicsIGNvbG9yOiAnIzEzMTMxMycsIHNpemU6IDIwIH0pLCBwdDoge1xuICAgICAgICAgICAgICAgIHdyYXBwZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgb25TY3JvbGw6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZEhhbmRsZVNjcm9sbC5jYW5jZWwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldElzU2Nyb2xsaW5nKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkSGFuZGxlU2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhbmVsOiB7XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gc2V0SXNIb3Zlcih0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlOiAoKSA9PiBzZXRJc0hvdmVyKGZhbHNlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Ub3VjaFN0YXJ0OiAoKSA9PiBzZXRJc0hvdmVyKHRydWUpLFxuICAgICAgICAgICAgICAgICAgICBvblRvdWNoRW5kOiAoKSA9PiBzZXRJc0hvdmVyKGZhbHNlKSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IH0pKSB9KSk7XG59O1xuU2VsZWN0LkN1c3RvbURyb3Bkb3duID0gQ3VzdG9tRHJvcGRvd247XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -12,6 +12,7 @@ interface BaseProps {
|
|
|
12
12
|
value?: any;
|
|
13
13
|
size?: 'large' | 'small';
|
|
14
14
|
success?: boolean;
|
|
15
|
+
refreshAfterShow?: boolean;
|
|
15
16
|
itemTemplate?: (option: any) => ReactNode;
|
|
16
17
|
}
|
|
17
18
|
export interface SingleSelectProps extends Omit<DropdownProps, 'value' | 'size' | 'itemTemplate' | 'onChange'>, BaseProps {
|