@1money/component-ui 0.0.79 → 0.0.80
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/es/business/Filter/Account/Account.js +71 -209
- package/es/business/Filter/Account/style/Account.css +2 -42
- package/es/business/Filter/Account/style/css.js +3 -1
- package/es/business/Filter/Account/style/index.d.ts +2 -0
- package/es/business/Filter/Account/style/index.js +3 -1
- package/es/business/Filter/Asset/Asset.js +66 -209
- package/es/business/Filter/Asset/style/Asset.css +3 -44
- package/es/business/Filter/Asset/style/css.js +2 -1
- package/es/business/Filter/Asset/style/index.d.ts +1 -0
- package/es/business/Filter/Asset/style/index.js +2 -1
- package/es/business/Filter/DateRange/DateRange.js +13 -8
- package/es/business/Filter/DateRange/interface.d.ts +0 -5
- package/es/business/Filter/DateRange/style/DateRange.css +15 -5
- package/es/business/Filter/Option/Option.js +50 -193
- package/es/business/Filter/Option/style/Option.css +1 -63
- package/es/business/Filter/Option/style/css.js +2 -1
- package/es/business/Filter/Option/style/index.d.ts +1 -0
- package/es/business/Filter/Option/style/index.js +2 -1
- package/es/components/Filter/Filter.d.ts +2 -0
- package/es/components/Filter/Filter.js +266 -0
- package/es/components/Filter/index.d.ts +4 -0
- package/es/components/Filter/index.js +5 -0
- package/es/components/Filter/interface.d.ts +67 -0
- package/es/components/Filter/interface.js +2 -0
- package/es/components/Filter/style/Filter.css +100 -0
- package/es/components/Filter/style/css.js +8 -0
- package/es/components/Filter/style/index.d.ts +7 -0
- package/es/components/Filter/style/index.js +8 -0
- package/es/components/Pagination/constants.js +3 -2
- package/es/components/Pagination/style/Pagination.css +10 -8
- package/es/components/Select/style/Select.css +2 -1
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/lib/business/Filter/Account/Account.js +69 -208
- package/lib/business/Filter/Account/style/Account.css +2 -42
- package/lib/business/Filter/Account/style/css.js +3 -1
- package/lib/business/Filter/Account/style/index.d.ts +2 -0
- package/lib/business/Filter/Account/style/index.js +3 -1
- package/lib/business/Filter/Asset/Asset.js +64 -208
- package/lib/business/Filter/Asset/style/Asset.css +3 -44
- package/lib/business/Filter/Asset/style/css.js +2 -1
- package/lib/business/Filter/Asset/style/index.d.ts +1 -0
- package/lib/business/Filter/Asset/style/index.js +2 -1
- package/lib/business/Filter/DateRange/DateRange.js +13 -8
- package/lib/business/Filter/DateRange/interface.d.ts +0 -5
- package/lib/business/Filter/DateRange/style/DateRange.css +15 -5
- package/lib/business/Filter/Option/Option.js +48 -192
- package/lib/business/Filter/Option/style/Option.css +1 -63
- package/lib/business/Filter/Option/style/css.js +2 -1
- package/lib/business/Filter/Option/style/index.d.ts +1 -0
- package/lib/business/Filter/Option/style/index.js +2 -1
- package/lib/components/Filter/Filter.d.ts +2 -0
- package/lib/components/Filter/Filter.js +273 -0
- package/lib/components/Filter/index.d.ts +4 -0
- package/lib/components/Filter/index.js +30 -0
- package/lib/components/Filter/interface.d.ts +67 -0
- package/lib/components/Filter/interface.js +6 -0
- package/lib/components/Filter/style/Filter.css +100 -0
- package/lib/components/Filter/style/css.js +10 -0
- package/lib/components/Filter/style/index.d.ts +7 -0
- package/lib/components/Filter/style/index.js +10 -0
- package/lib/components/Pagination/constants.js +3 -2
- package/lib/components/Pagination/style/Pagination.css +10 -8
- package/lib/components/Select/style/Select.css +2 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +8 -1
- package/package.json +6 -1
- package/scripts/mcp-server/examples.generated.json +18 -0
- package/scripts/mcp-server/index.generated.json +68 -0
|
@@ -123,8 +123,6 @@ var getDateFromOption = function getDateFromOption(option, range) {
|
|
|
123
123
|
var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
124
124
|
var ref = _a.ref,
|
|
125
125
|
className = _a.className,
|
|
126
|
-
_a$size = _a.size,
|
|
127
|
-
size = _a$size === void 0 ? 'small' : _a$size,
|
|
128
126
|
label = _a.label,
|
|
129
127
|
_a$placeholder = _a.placeholder,
|
|
130
128
|
placeholder = _a$placeholder === void 0 ? 'Date' : _a$placeholder,
|
|
@@ -134,7 +132,7 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
134
132
|
defaultSelectAll = _a$defaultSelectAll === void 0 ? false : _a$defaultSelectAll,
|
|
135
133
|
onApply = _a.onApply,
|
|
136
134
|
onReset = _a.onReset,
|
|
137
|
-
rest = __rest(_a, ["ref", "className", "
|
|
135
|
+
rest = __rest(_a, ["ref", "className", "label", "placeholder", "allTransactionsLabel", "defaultSelectAll", "onApply", "onReset"]);
|
|
138
136
|
var initialOption = defaultSelectAll ? OPTION_ALL : null;
|
|
139
137
|
var initialText = defaultSelectAll ? allTransactionsLabel : '';
|
|
140
138
|
var _useState = useState(false),
|
|
@@ -280,12 +278,13 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
280
278
|
className: "".concat(WRAP_CLS, "__list"),
|
|
281
279
|
children: DATE_RANGE_OPTIONS.map(function (option) {
|
|
282
280
|
return _jsxs("li", {
|
|
283
|
-
className: joinCls("".concat(WRAP_CLS, "__item"), option === OPTION_CUSTOM && "".concat(WRAP_CLS, "__item--custom")),
|
|
281
|
+
className: joinCls("".concat(WRAP_CLS, "__item"), option === OPTION_CUSTOM && "".concat(WRAP_CLS, "__item--custom"), selectedOption === option && "".concat(WRAP_CLS, "__item--selected")),
|
|
284
282
|
onClick: function onClick() {
|
|
285
283
|
return handleItemClick(option);
|
|
286
284
|
},
|
|
287
285
|
children: [_jsx(TypographyBody, {
|
|
288
|
-
size: '
|
|
286
|
+
size: 'sm',
|
|
287
|
+
strong: true,
|
|
289
288
|
children: getDisplayLabel(option)
|
|
290
289
|
}), option === OPTION_CUSTOM ? _jsx(Icons, {
|
|
291
290
|
name: 'chevronRight',
|
|
@@ -370,7 +369,10 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
370
369
|
});
|
|
371
370
|
};
|
|
372
371
|
return _jsx(Select.Custom, Object.assign({}, rest, {
|
|
373
|
-
|
|
372
|
+
// Fixed 32px "Extra Small" trigger: the scoped `trigger-xs` override only
|
|
373
|
+
// targets the `small` trigger, so the size is locked here rather than
|
|
374
|
+
// exposed as a prop.
|
|
375
|
+
size: 'small',
|
|
374
376
|
animation: false,
|
|
375
377
|
label: label,
|
|
376
378
|
placeholder: placeholder,
|
|
@@ -382,7 +384,10 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
382
384
|
selectedTemplate: selectedText ? _jsx(TypographyBody, {
|
|
383
385
|
size: 'md',
|
|
384
386
|
className: "".concat(WRAP_CLS, "__value"),
|
|
385
|
-
children:
|
|
387
|
+
children: _jsx("span", {
|
|
388
|
+
className: "".concat(WRAP_CLS, "__value-label"),
|
|
389
|
+
children: selectedText
|
|
390
|
+
})
|
|
386
391
|
}) : null,
|
|
387
392
|
children: function children() {
|
|
388
393
|
return showCustomRange ? renderCustomRange() : renderPresetList();
|
|
@@ -390,4 +395,4 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
390
395
|
}));
|
|
391
396
|
};
|
|
392
397
|
export var DateRangeFilter = /*#__PURE__*/memo(DateRangeFilterBase);
|
|
393
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJtZW1vIiwidXNlQ2FsbGJhY2siLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlU3RhdGUiLCJCdXR0b24iLCJDYWxlbmRhciIsIkZsZXgiLCJJY29ucyIsIlJhZGlvIiwiU2VsZWN0IiwiVHlwb2dyYXBoeUJvZHkiLCJUeXBvZ3JhcGh5TGFiZWwiLCJqb2luQ2xzIiwiQUxMX1RSQU5TQUNUSU9OU19WQUxVRSIsIkRBVEVfUkFOR0VfT1BUSU9OUyIsIldSQVBfQ0xTIiwiQ0FMRU5EQVJfUEFORUxfQ0xTIiwiU0VMRUNUX1BBTkVMX0NMUyIsIlBBTkVMX1dJRFRIX1BSRVNFVCIsIlBBTkVMX1dJRFRIX0NVU1RPTSIsIkNBTEVOREFSX01PTlRIUyIsIkNIRVZST05fU0laRSIsIkJBQ0tfSUNPTl9TSVpFIiwiUkVTRVRfTEFCRUwiLCJBUFBMWV9MQUJFTCIsIkNVU1RPTV9SQU5HRV9USVRMRSIsIlJBTkdFX1NFUEFSQVRPUiIsIkZVTExfV0lEVEhfU1RZTEUiLCJmbGV4IiwiX0RBVEVfUkFOR0VfT1BUSU9OUyIsIl9zbGljZWRUb0FycmF5IiwiT1BUSU9OX0FMTCIsIk9QVElPTl9MQVNUXzMwX0RBWVMiLCJPUFRJT05fWUVBUl9UT19EQVRFIiwiT1BUSU9OX0xBU1RfMTJfTU9OVEhTIiwiT1BUSU9OX0NVU1RPTSIsIkxBU1RfMzBfREFZU19DT1VOVCIsIkxBU1RfMTJfTU9OVEhTX0NPVU5UIiwiWUVBUl9TVEFSVF9NT05USCIsIkZJUlNUX0RBWV9PRl9NT05USCIsIkRBWV9TVEFSVF9USU1FIiwiREFZX0VORF9USU1FIiwiREFURV9GT1JNQVRfTE9DQUxFIiwiREFURV9GT1JNQVRfT1BUSU9OUyIsIm1vbnRoIiwiZGF5IiwieWVhciIsImRhdGVGb3JtYXR0ZXIiLCJJbnRsIiwiRGF0ZVRpbWVGb3JtYXQiLCJFTVBUWV9SQU5HRSIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJzdGFydE9mRGF5IiwiZGF0ZSIsInJlc3VsdCIsIkRhdGUiLCJzZXRIb3VycyIsImFwcGx5IiwiZW5kT2ZEYXkiLCJmb3JtYXREYXRlIiwiZm9ybWF0IiwiZm9ybWF0UmFuZ2UiLCJzdGFydCIsImVuZCIsImNvbmNhdCIsImdldERhdGVGcm9tT3B0aW9uIiwib3B0aW9uIiwicmFuZ2UiLCJ0b2RheSIsInNldERhdGUiLCJnZXREYXRlIiwiZ2V0RnVsbFllYXIiLCJzZXRNb250aCIsImdldE1vbnRoIiwiRGF0ZVJhbmdlRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwiX2Ekc2l6ZSIsInNpemUiLCJsYWJlbCIsIl9hJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfYSRhbGxUcmFuc2FjdGlvbnNMYWIiLCJhbGxUcmFuc2FjdGlvbnNMYWJlbCIsIl9hJGRlZmF1bHRTZWxlY3RBbGwiLCJkZWZhdWx0U2VsZWN0QWxsIiwib25BcHBseSIsIm9uUmVzZXQiLCJyZXN0IiwiaW5pdGlhbE9wdGlvbiIsImluaXRpYWxUZXh0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm9wZW4iLCJzZXRPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZE9wdGlvbiIsInNldFNlbGVjdGVkT3B0aW9uIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsYXN0U2VsZWN0ZWRPcHRpb24iLCJzZXRMYXN0U2VsZWN0ZWRPcHRpb24iLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkUmFuZ2UiLCJzZXRTZWxlY3RlZFJhbmdlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiYXBwbGllZFJhbmdlIiwic2V0QXBwbGllZFJhbmdlIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNlbGVjdGVkVGV4dCIsInNldFNlbGVjdGVkVGV4dCIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzaG93Q3VzdG9tUmFuZ2UiLCJzZXRTaG93Q3VzdG9tUmFuZ2UiLCJfdXNlU3RhdGUxNSIsInVuZGVmaW5lZCIsIl91c2VTdGF0ZTE2IiwibW9udGhWaWV3Iiwic2V0TW9udGhWaWV3IiwiY2xlYXIiLCJyZXNldCIsImdldERpc3BsYXlMYWJlbCIsImhhbmRsZUl0ZW1DbGljayIsImhhbmRsZURhdGVTZWxlY3QiLCJldmVudCIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiX3ZhbHVlIiwiYXBwbHlQcmVzZXQiLCJhcHBseUN1c3RvbSIsInJlc2V0U2VsZWN0aW9uIiwiaGFuZGxlT3BlbkNoYW5nZSIsIm5leHRPcGVuIiwiY2FsZW5kYXJWYWx1ZSIsInJlbmRlclByZXNldExpc3QiLCJjaGlsZHJlbiIsIm1hcCIsIm9uQ2xpY2siLCJuYW1lIiwiY2hlY2tlZCIsImdhcCIsImNvbG9yIiwic3R5bGUiLCJkaXNhYmxlZCIsInJlbmRlckN1c3RvbVJhbmdlIiwiYWxpZ24iLCJ3cmFwcGVyQ2xzIiwicGFuZWxDbGFzc05hbWUiLCJzZWxlY3Rpb25Nb2RlIiwicmVhZE9ubHlJbnB1dCIsImhpZGVPblJhbmdlU2VsZWN0aW9uIiwibnVtYmVyT2ZNb250aHMiLCJ2aWV3RGF0ZSIsIm9uVmlld0RhdGVDaGFuZ2UiLCJvbkNoYW5nZSIsIkN1c3RvbSIsImFzc2lnbiIsImFuaW1hdGlvbiIsInBhbmVsV2lkdGgiLCJvbk9wZW5DaGFuZ2UiLCJzZWxlY3RlZFRlbXBsYXRlIiwiRGF0ZVJhbmdlRmlsdGVyIl0sIm1hcHBpbmdzIjoiO0FB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d0UsWUFBWSxFQUFFNUIsZ0JBQWdCO0lBQzlCNkIsZ0JBQWdCLEVBQ2RyRCxZQUFZLEdBQ1Z4SCxJQUFBLENBQUNlLGNBQWMsRUFBQTtNQUFDc0UsSUFBSSxFQUFDLElBQUk7TUFBQ0YsU0FBUyxLQUFBYixNQUFBLENBQUtsRCxRQUFRLFlBQVM7TUFBQWdJLFFBQUEsRUFDdEQ1QjtJQUFZLENBQUEsQ0FDRSxHQUNmLElBQUk7SUFBQTRCLFFBQUEsRUFHVCxTQUhTQSxRQUFBQSxDQUFBO01BQUEsT0FHRnhCLGVBQWUsR0FBR2lDLGlCQUFpQixDQUFBLENBQUUsR0FBR1YsZ0JBQWdCLENBQUEsQ0FBRTtJQUFBO0VBQUMsQ0FBQSxDQUFBLENBQ3JEO0FBRXBCLENBQUM7QUFFRCxPQUFPLElBQU0yQixlQUFlLGdCQUFHekssSUFBSSxDQUFDMkUsbUJBQW1CLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvRmlsdGVyL0RhdGVSYW5nZS9EYXRlUmFuZ2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VDYWxsYmFjaywgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQ2FsZW5kYXInO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvSWNvbnMnO1xuaW1wb3J0IHsgUmFkaW8gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1JhZGlvJztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUxMX1RSQU5TQUNUSU9OU19WQUxVRSwgREFURV9SQU5HRV9PUFRJT05TLCB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyJztcbi8vIFRoZSBjYWxlbmRhciBvdmVybGF5IGlzIHBvcnRhbGVkIHRvIDxib2R5Piwgb3V0c2lkZSBXUkFQX0NMUyDigJQgdGhpcyBpcyBhXG4vLyBzdGFuZGFsb25lIHRvcC1sZXZlbCBob29rIHNvIGl0cyBTQ1NTIGNhbiBsaWZ0IGl0IGFib3ZlIHRoZSBob3N0XG4vLyBTZWxlY3QuQ3VzdG9tIHBhbmVsICh6LWluZGV4IDE1MDApLlxuY29uc3QgQ0FMRU5EQVJfUEFORUxfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyLWNhbGVuZGFyLXBhbmVsJztcbi8vIFRoZSBTZWxlY3QuQ3VzdG9tIHBhbmVsIGlzIHBvcnRhbGVkIHRvIDxib2R5PiB0b28g4oCUIHRvcC1sZXZlbCBob29rIGZvclxuLy8gc2NvcGluZyBwYW5lbC1ib2R5IG92ZXJyaWRlcyB3aXRob3V0IGxlYWtpbmcgaW50byBvdGhlciBTZWxlY3QgcGFuZWxzLlxuY29uc3QgU0VMRUNUX1BBTkVMX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlci1wYW5lbCc7XG5jb25zdCBQQU5FTF9XSURUSF9QUkVTRVQgPSAyNDA7XG5jb25zdCBQQU5FTF9XSURUSF9DVVNUT00gPSAzMjA7XG5jb25zdCBDQUxFTkRBUl9NT05USFMgPSAyO1xuY29uc3QgQ0hFVlJPTl9TSVpFID0gMTY7XG5jb25zdCBCQUNLX0lDT05fU0laRSA9IDI0O1xuY29uc3QgUkVTRVRfTEFCRUwgPSAnUmVzZXQnO1xuY29uc3QgQVBQTFlfTEFCRUwgPSAnQXBwbHknO1xuY29uc3QgQ1VTVE9NX1JBTkdFX1RJVExFID0gJ0N1c3RvbSBkYXRlIHJhbmdlJztcbmNvbnN0IFJBTkdFX1NFUEFSQVRPUiA9ICcgLSAnO1xuY29uc3QgRlVMTF9XSURUSF9TVFlMRSA9IHsgZmxleDogMSB9O1xuY29uc3QgW09QVElPTl9BTEwsIE9QVElPTl9MQVNUXzMwX0RBWVMsIE9QVElPTl9ZRUFSX1RPX0RBVEUsIE9QVElPTl9MQVNUXzEyX01PTlRIUywgT1BUSU9OX0NVU1RPTSxdID0gREFURV9SQU5HRV9PUFRJT05TO1xuY29uc3QgTEFTVF8zMF9EQVlTX0NPVU5UID0gMzA7XG5jb25zdCBMQVNUXzEyX01PTlRIU19DT1VOVCA9IDEyO1xuY29uc3QgWUVBUl9TVEFSVF9NT05USCA9IDA7IC8vIEphbnVhcnkgKHplcm8tYmFzZWQgbW9udGggaW5kZXgpXG5jb25zdCBGSVJTVF9EQVlfT0ZfTU9OVEggPSAxO1xuLy8gRGF5LWJvdW5kYXJ5IHRpbWVzIHNvIGFuIGFwcGxpZWQgcmFuZ2UgY292ZXJzIHdob2xlIGRheXMgaW5jbHVzaXZlbHk6XG4vLyB0aGUgc3RhcnQgZGF5IGZyb20gMDA6MDA6MDAuMDAwIGFuZCB0aGUgZW5kIGRheSB0aHJvdWdoIDIzOjU5OjU5Ljk5OS5cbmNvbnN0IERBWV9TVEFSVF9USU1FID0gWzAsIDAsIDAsIDBdOyAvLyBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zXVxuY29uc3QgREFZX0VORF9USU1FID0gWzIzLCA1OSwgNTksIDk5OV07IC8vIFtob3VycywgbWludXRlcywgc2Vjb25kcywgbXNdXG5jb25zdCBEQVRFX0ZPUk1BVF9MT0NBTEUgPSAnZW4tVVMnO1xuY29uc3QgREFURV9GT1JNQVRfT1BUSU9OUyA9IHtcbiAgICBtb250aDogJzItZGlnaXQnLFxuICAgIGRheTogJzItZGlnaXQnLFxuICAgIHllYXI6ICdudW1lcmljJyxcbn07XG5jb25zdCBkYXRlRm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoREFURV9GT1JNQVRfTE9DQUxFLCBEQVRFX0ZPUk1BVF9PUFRJT05TKTtcbmNvbnN0IEVNUFRZX1JBTkdFID0geyBzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGwgfTtcbmNvbnN0IHN0YXJ0T2ZEYXkgPSAoZGF0ZSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIHJlc3VsdC5zZXRIb3VycyguLi5EQVlfU1RBUlRfVElNRSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5jb25zdCBlbmRPZkRheSA9IChkYXRlKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgcmVzdWx0LnNldEhvdXJzKC4uLkRBWV9FTkRfVElNRSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5jb25zdCBmb3JtYXREYXRlID0gKGRhdGUpID0+IGRhdGVGb3JtYXR0ZXIuZm9ybWF0KGRhdGUpO1xuY29uc3QgZm9ybWF0UmFuZ2UgPSAoc3RhcnQsIGVuZCkgPT4gYCR7Zm9ybWF0RGF0ZShzdGFydCl9JHtSQU5HRV9TRVBBUkFUT1J9JHtmb3JtYXREYXRlKGVuZCl9YDtcbmNvbnN0IGdldERhdGVGcm9tT3B0aW9uID0gKG9wdGlvbiwgcmFuZ2UpID0+IHtcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgICAgY2FzZSBPUFRJT05fTEFTVF8zMF9EQVlTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgc3RhcnREYXRlLnNldERhdGUodG9kYXkuZ2V0RGF0ZSgpIC0gTEFTVF8zMF9EQVlTX0NPVU5UKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9ZRUFSX1RPX0RBVEU6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCksIFlFQVJfU1RBUlRfTU9OVEgsIEZJUlNUX0RBWV9PRl9NT05USCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fTEFTVF8xMl9NT05USFM6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBzdGFydERhdGUuc2V0TW9udGgodG9kYXkuZ2V0TW9udGgoKSAtIExBU1RfMTJfTU9OVEhTX0NPVU5UKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9DVVNUT006XG4gICAgICAgICAgICBpZiAocmFuZ2Uuc3RhcnREYXRlICYmIHJhbmdlLmVuZERhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkocmFuZ2Uuc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkocmFuZ2UuZW5kRGF0ZSkgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBBTExfVFJBTlNBQ1RJT05TX1ZBTFVFO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIEFMTF9UUkFOU0FDVElPTlNfVkFMVUU7XG4gICAgfVxufTtcbmNvbnN0IERhdGVSYW5nZUZpbHRlckJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyByZWYsIGNsYXNzTmFtZSwgc2l6ZSA9ICdzbWFsbCcsIGxhYmVsLCBwbGFjZWhvbGRlciA9ICdEYXRlJywgYWxsVHJhbnNhY3Rpb25zTGFiZWwgPSAnQWxsIHRyYW5zYWN0aW9ucycsIGRlZmF1bHRTZWxlY3RBbGwgPSBmYWxzZSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcInNpemVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiYWxsVHJhbnNhY3Rpb25zTGFiZWxcIiwgXCJkZWZhdWx0U2VsZWN0QWxsXCIsIFwib25BcHBseVwiLCBcIm9uUmVzZXRcIl0pO1xuICAgIGNvbnN0IGluaXRpYWxPcHRpb24gPSBkZWZhdWx0U2VsZWN0QWxsID8gT1BUSU9OX0FMTCA6IG51bGw7XG4gICAgY29uc3QgaW5pdGlhbFRleHQgPSBkZWZhdWx0U2VsZWN0QWxsID8gYWxsVHJhbnNhY3Rpb25zTGFiZWwgOiAnJztcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3NlbGVjdGVkT3B0aW9uLCBzZXRTZWxlY3RlZE9wdGlvbl0gPSB1c2VTdGF0ZShpbml0aWFsT3B0aW9uKTtcbiAgICBjb25zdCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBzZXRMYXN0U2VsZWN0ZWRPcHRpb25dID0gdXNlU3RhdGUoaW5pdGlhbE9wdGlvbik7XG4gICAgY29uc3QgW3NlbGVjdGVkUmFuZ2UsIHNldFNlbGVjdGVkUmFuZ2VdID0gdXNlU3RhdGUoRU1QVFlfUkFOR0UpO1xuICAgIGNvbnN0IFthcHBsaWVkUmFuZ2UsIHNldEFwcGxpZWRSYW5nZV0gPSB1c2VTdGF0ZShFTVBUWV9SQU5HRSk7XG4gICAgY29uc3QgW3NlbGVjdGVkVGV4dCwgc2V0U2VsZWN0ZWRUZXh0XSA9IHVzZVN0YXRlKGluaXRpYWxUZXh0KTtcbiAgICBjb25zdCBbc2hvd0N1c3RvbVJhbmdlLCBzZXRTaG93Q3VzdG9tUmFuZ2VdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFttb250aFZpZXcsIHNldE1vbnRoVmlld10gPSB1c2VTdGF0ZSh1bmRlZmluZWQpO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBjbGVhcjogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoJycpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICB9LFxuICAgICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoaW5pdGlhbFRleHQpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgfSksIFtpbml0aWFsT3B0aW9uLCBpbml0aWFsVGV4dCwgb25SZXNldF0pO1xuICAgIGNvbnN0IGdldERpc3BsYXlMYWJlbCA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IChvcHRpb24gPT09IE9QVElPTl9BTEwgPyBhbGxUcmFuc2FjdGlvbnNMYWJlbCA6IG9wdGlvbiksIFthbGxUcmFuc2FjdGlvbnNMYWJlbF0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlRGF0ZVNlbGVjdCA9IHVzZUNhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHN0YXJ0KTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBlbmQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBudWxsIH0pO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGFwcGx5UHJlc2V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBvbkFwcGx5KGdldERhdGVGcm9tT3B0aW9uKHNlbGVjdGVkT3B0aW9uLCBzZWxlY3RlZFJhbmdlKSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChnZXREaXNwbGF5TGFiZWwoc2VsZWN0ZWRPcHRpb24pKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb24sIHNlbGVjdGVkUmFuZ2UsIG9uQXBwbHksIGdldERpc3BsYXlMYWJlbF0pO1xuICAgIGNvbnN0IGFwcGx5Q3VzdG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXJ0RGF0ZSwgZW5kRGF0ZSB9ID0gc2VsZWN0ZWRSYW5nZTtcbiAgICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG9uQXBwbHkoeyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkoZW5kRGF0ZSkgfSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChmb3JtYXRSYW5nZShzdGFydERhdGUsIGVuZERhdGUpKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKE9QVElPTl9DVVNUT00pO1xuICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgc2V0QXBwbGllZFJhbmdlKHsgc3RhcnREYXRlLCBlbmREYXRlIH0pO1xuICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFtzZWxlY3RlZFJhbmdlLCBvbkFwcGx5XSk7XG4gICAgY29uc3QgcmVzZXRTZWxlY3Rpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGluaXRpYWxPcHRpb24pO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChpbml0aWFsVGV4dCk7XG4gICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRNb250aFZpZXcodW5kZWZpbmVkKTtcbiAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgfSwgW2luaXRpYWxPcHRpb24sIGluaXRpYWxUZXh0LCBvblJlc2V0XSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgaWYgKG5leHRPcGVuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBPbiBjbG9zZSB3aXRob3V0IEFwcGx5LCBzbmFwIHRoZSBwYW5lbCBiYWNrIHRvIHRoZSBsYXN0IGNvbW1pdHRlZCBzdGF0ZVxuICAgICAgICAvLyBzbyBhbiBhYmFuZG9uZWQgZWRpdCBkb2Vzbid0IGxpbmdlci5cbiAgICAgICAgaWYgKGxhc3RTZWxlY3RlZE9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShhcHBsaWVkUmFuZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGxhc3RTZWxlY3RlZE9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBhcHBsaWVkUmFuZ2VdKTtcbiAgICBjb25zdCBjYWxlbmRhclZhbHVlID0gc2VsZWN0ZWRSYW5nZS5zdGFydERhdGVcbiAgICAgICAgPyBzZWxlY3RlZFJhbmdlLmVuZERhdGVcbiAgICAgICAgICAgID8gW3NlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlLCBzZWxlY3RlZFJhbmdlLmVuZERhdGVdXG4gICAgICAgICAgICA6IFtzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZV1cbiAgICAgICAgOiBudWxsO1xuICAgIGNvbnN0IHJlbmRlclByZXNldExpc3QgPSAoKSA9PiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChcInVsXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2xpc3RgLCBjaGlsZHJlbjogREFURV9SQU5HRV9PUFRJT05TLm1hcCgob3B0aW9uKSA9PiAoX2pzeHMoXCJsaVwiLCB7IGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2l0ZW1gLCBvcHRpb24gPT09IE9QVElPTl9DVVNUT00gJiYgYCR7V1JBUF9DTFN9X19pdGVtLS1jdXN0b21gKSwgb25DbGljazogKCkgPT4gaGFuZGxlSXRlbUNsaWNrKG9wdGlvbiksIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBjaGlsZHJlbjogZ2V0RGlzcGxheUxhYmVsKG9wdGlvbikgfSksIG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSA/IChfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uUmlnaHQnLCBzaXplOiBDSEVWUk9OX1NJWkUgfSkpIDogKF9qc3goUmFkaW8sIHsgc2l6ZTogJ3NtYWxsJywgY2hlY2tlZDogc2VsZWN0ZWRPcHRpb24gPT09IG9wdGlvbiB9KSldIH0sIG9wdGlvbikpKSB9KSwgX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19mb290ZXJgLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiByZXNldFNlbGVjdGlvbiwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgZGlzYWJsZWQ6ICFzZWxlY3RlZE9wdGlvbiwgb25DbGljazogYXBwbHlQcmVzZXQsIGNoaWxkcmVuOiBBUFBMWV9MQUJFTCB9KV0gfSldIH0pKTtcbiAgICBjb25zdCByZW5kZXJDdXN0b21SYW5nZSA9ICgpID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19jdXN0b21gLCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19jdXN0b20taGVhZGVyYCwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdhcnJvd0xlZnQnLCBzaXplOiBCQUNLX0lDT05fU0laRSwgd3JhcHBlckNsczogYCR7V1JBUF9DTFN9X19iYWNrLWljb25gLCBvbkNsaWNrOiAoKSA9PiBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpIH0pLCBfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbGcnLCBjaGlsZHJlbjogQ1VTVE9NX1JBTkdFX1RJVExFIH0pXSB9KSwgX2pzeChDYWxlbmRhciwgeyB3cmFwcGVyQ2xzOiBgJHtXUkFQX0NMU31fX2NhbGVuZGFyYCwgcGFuZWxDbGFzc05hbWU6IENBTEVOREFSX1BBTkVMX0NMUywgc2l6ZTogJ3NtYWxsJywgc2VsZWN0aW9uTW9kZTogJ3JhbmdlJywgcGxhY2Vob2xkZXI6ICdNTS9ERC9ZWVlZIC0gTU0vREQvWVlZWScsIHJlYWRPbmx5SW5wdXQ6IHRydWUsIGhpZGVPblJhbmdlU2VsZWN0aW9uOiB0cnVlLCBudW1iZXJPZk1vbnRoczogQ0FMRU5EQVJfTU9OVEhTLCB2YWx1ZTogY2FsZW5kYXJWYWx1ZSwgdmlld0RhdGU6IG1vbnRoVmlldywgb25WaWV3RGF0ZUNoYW5nZTogKGV2ZW50KSA9PiBzZXRNb250aFZpZXcoZXZlbnQudmFsdWUpLCBvbkNoYW5nZTogaGFuZGxlRGF0ZVNlbGVjdCB9KSwgX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2Zvb3RlcmAsIGAke1dSQVBfQ0xTfV9fZm9vdGVyLS1ib3JkZXJlZGApLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiByZXNldFNlbGVjdGlvbiwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgZGlzYWJsZWQ6ICFzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZSB8fCAhc2VsZWN0ZWRSYW5nZS5lbmREYXRlLCBvbkNsaWNrOiBhcHBseUN1c3RvbSwgY2hpbGRyZW46IEFQUExZX0xBQkVMIH0pXSB9KV0gfSkpO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QuQ3VzdG9tLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHNpemU6IHNpemUsIGFuaW1hdGlvbjogZmFsc2UsIGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBjbGFzc05hbWU6IGpvaW5DbHMoV1JBUF9DTFMsIGNsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBTRUxFQ1RfUEFORUxfQ0xTLCBwYW5lbFdpZHRoOiBzaG93Q3VzdG9tUmFuZ2UgPyBQQU5FTF9XSURUSF9DVVNUT00gOiBQQU5FTF9XSURUSF9QUkVTRVQsIG9wZW46IG9wZW4sIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSwgc2VsZWN0ZWRUZW1wbGF0ZTogc2VsZWN0ZWRUZXh0ID8gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ21kJywgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlYCwgY2hpbGRyZW46IHNlbGVjdGVkVGV4dCB9KSkgOiBudWxsLCBjaGlsZHJlbjogKCkgPT4gKHNob3dDdXN0b21SYW5nZSA/IHJlbmRlckN1c3RvbVJhbmdlKCkgOiByZW5kZXJQcmVzZXRMaXN0KCkpIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IERhdGVSYW5nZUZpbHRlciA9IG1lbW8oRGF0ZVJhbmdlRmlsdGVyQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
398
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJtZW1vIiwidXNlQ2FsbGJhY2siLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlU3RhdGUiLCJCdXR0b24iLCJDYWxlbmRhciIsIkZsZXgiLCJJY29ucyIsIlJhZGlvIiwiU2VsZWN0IiwiVHlwb2dyYXBoeUJvZHkiLCJUeXBvZ3JhcGh5TGFiZWwiLCJqb2luQ2xzIiwiQUxMX1RSQU5TQUNUSU9OU19WQUxVRSIsIkRBVEVfUkFOR0VfT1BUSU9OUyIsIldSQVBfQ0xTIiwiQ0FMRU5EQVJfUEFORUxfQ0xTIiwiU0VMRUNUX1BBTkVMX0NMUyIsIlBBTkVMX1dJRFRIX1BSRVNFVCIsIlBBTkVMX1dJRFRIX0NVU1RPTSIsIkNBTEVOREFSX01PTlRIUyIsIkNIRVZST05fU0laRSIsIkJBQ0tfSUNPTl9TSVpFIiwiUkVTRVRfTEFCRUwiLCJBUFBMWV9MQUJFTCIsIkNVU1RPTV9SQU5HRV9USVRMRSIsIlJBTkdFX1NFUEFSQVRPUiIsIkZVTExfV0lEVEhfU1RZTEUiLCJmbGV4IiwiX0RBVEVfUkFOR0VfT1BUSU9OUyIsIl9zbGljZWRUb0FycmF5IiwiT1BUSU9OX0FMTCIsIk9QVElPTl9MQVNUXzMwX0RBWVMiLCJPUFRJT05fWUVBUl9UT19EQVRFIiwiT1BUSU9OX0xBU1RfMTJfTU9OVEhTIiwiT1BUSU9OX0NVU1RPTSIsIkxBU1RfMzBfREFZU19DT1VOVCIsIkxBU1RfMTJfTU9OVEhTX0NPVU5UIiwiWUVBUl9TVEFSVF9NT05USCIsIkZJUlNUX0RBWV9PRl9NT05USCIsIkRBWV9TVEFSVF9USU1FIiwiREFZX0VORF9USU1FIiwiREFURV9GT1JNQVRfTE9DQUxFIiwiREFURV9GT1JNQVRfT1BUSU9OUyIsIm1vbnRoIiwiZGF5IiwieWVhciIsImRhdGVGb3JtYXR0ZXIiLCJJbnRsIiwiRGF0ZVRpbWVGb3JtYXQiLCJFTVBUWV9SQU5HRSIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJzdGFydE9mRGF5IiwiZGF0ZSIsInJlc3VsdCIsIkRhdGUiLCJzZXRIb3VycyIsImFwcGx5IiwiZW5kT2ZEYXkiLCJmb3JtYXREYXRlIiwiZm9ybWF0IiwiZm9ybWF0UmFuZ2UiLCJzdGFydCIsImVuZCIsImNvbmNhdCIsImdldERhdGVGcm9tT3B0aW9uIiwib3B0aW9uIiwicmFuZ2UiLCJ0b2RheSIsInNldERhdGUiLCJnZXREYXRlIiwiZ2V0RnVsbFllYXIiLCJzZXRNb250aCIsImdldE1vbnRoIiwiRGF0ZVJhbmdlRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2EkYWxsVHJhbnNhY3Rpb25zTGFiIiwiYWxsVHJhbnNhY3Rpb25zTGFiZWwiLCJfYSRkZWZhdWx0U2VsZWN0QWxsIiwiZGVmYXVsdFNlbGVjdEFsbCIsIm9uQXBwbHkiLCJvblJlc2V0IiwicmVzdCIsImluaXRpYWxPcHRpb24iLCJpbml0aWFsVGV4dCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJvcGVuIiwic2V0T3BlbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2VsZWN0ZWRPcHRpb24iLCJzZXRTZWxlY3RlZE9wdGlvbiIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibGFzdFNlbGVjdGVkT3B0aW9uIiwic2V0TGFzdFNlbGVjdGVkT3B0aW9uIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWxlY3RlZFJhbmdlIiwic2V0U2VsZWN0ZWRSYW5nZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsImFwcGxpZWRSYW5nZSIsInNldEFwcGxpZWRSYW5nZSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZWxlY3RlZFRleHQiLCJzZXRTZWxlY3RlZFRleHQiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2hvd0N1c3RvbVJhbmdlIiwic2V0U2hvd0N1c3RvbVJhbmdlIiwiX3VzZVN0YXRlMTUiLCJ1bmRlZmluZWQiLCJfdXNlU3RhdGUxNiIsIm1vbnRoVmlldyIsInNldE1vbnRoVmlldyIsImNsZWFyIiwicmVzZXQiLCJnZXREaXNwbGF5TGFiZWwiLCJoYW5kbGVJdGVtQ2xpY2siLCJoYW5kbGVEYXRlU2VsZWN0IiwiZXZlbnQiLCJ2YWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsIl92YWx1ZSIsImFwcGx5UHJlc2V0IiwiYXBwbHlDdXN0b20iLCJyZXNldFNlbGVjdGlvbiIsImhhbmRsZU9wZW5DaGFuZ2UiLCJuZXh0T3BlbiIsImNhbGVuZGFyVmFsdWUiLCJyZW5kZXJQcmVzZXRMaXN0IiwiY2hpbGRyZW4iLCJtYXAiLCJvbkNsaWNrIiwic2l6ZSIsInN0cm9uZyIsIm5hbWUiLCJjaGVja2VkIiwiZ2FwIiwiY29sb3IiLCJzdHlsZSIsImRpc2FibGVkIiwicmVuZGVyQ3VzdG9tUmFuZ2UiLCJhbGlnbiIsIndyYXBwZXJDbHMiLCJwYW5lbENsYXNzTmFtZSIsInNlbGVjdGlvbk1vZGUiLCJyZWFkT25seUlucHV0IiwiaGlkZU9uUmFuZ2VTZWxlY3Rpb24iLCJudW1iZXJPZk1vbnRocyIsInZpZXdEYXRlIiwib25WaWV3RGF0ZUNoYW5nZSIsIm9uQ2hhbmdlIiwiQ3VzdG9tIiwiYXNzaWduIiwiYW5pbWF0aW9uIiwicGFuZWxXaWR0aCIsIm9uT3BlbkNoYW5nZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJEYXRlUmFuZ2VGaWx0ZXIiXSwibWFwcGluZ3MiOiI7QUFB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QUU5QixnQkFBZ0I7SUFDOUIrQixnQkFBZ0IsRUFDZHZELFlBQVksR0FDVnRILElBQUEsQ0FBQ2UsY0FBYyxFQUFBO01BQUNzSSxJQUFJLEVBQUMsSUFBSTtNQUFDbEUsU0FBUyxLQUFBYixNQUFBLENBQUtsRCxRQUFRLFlBQVM7TUFBQThILFFBQUEsRUFDdkRsSixJQUFBLENBQUEsTUFBQSxFQUFBO1FBQU1tRixTQUFTLEtBQUFiLE1BQUEsQ0FBS2xELFFBQVEsa0JBQWU7UUFBQThILFFBQUEsRUFBRzVCO01BQVksQ0FBQTtJQUFRLENBQUEsQ0FDbkQsR0FDZixJQUFJO0lBQUE0QixRQUFBLEVBR1QsU0FIU0EsUUFBQUEsQ0FBQTtNQUFBLE9BR0Z4QixlQUFlLEdBQUdtQyxpQkFBaUIsQ0FBQSxDQUFFLEdBQUdaLGdCQUFnQixDQUFBLENBQUU7SUFBQTtFQUFDLENBQUEsQ0FBQSxDQUNyRDtBQUVwQixDQUFDO0FBRUQsT0FBTyxJQUFNNkIsZUFBZSxnQkFBR3pLLElBQUksQ0FBQzJFLG1CQUFtQixDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlQ2FsbGJhY2ssIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b24nO1xuaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0NhbGVuZGFyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ljb25zJztcbmltcG9ydCB7IFJhZGlvIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9SYWRpbyc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEFMTF9UUkFOU0FDVElPTlNfVkFMVUUsIERBVEVfUkFOR0VfT1BUSU9OUywgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlcic7XG4vLyBUaGUgY2FsZW5kYXIgb3ZlcmxheSBpcyBwb3J0YWxlZCB0byA8Ym9keT4sIG91dHNpZGUgV1JBUF9DTFMg4oCUIHRoaXMgaXMgYVxuLy8gc3RhbmRhbG9uZSB0b3AtbGV2ZWwgaG9vayBzbyBpdHMgU0NTUyBjYW4gbGlmdCBpdCBhYm92ZSB0aGUgaG9zdFxuLy8gU2VsZWN0LkN1c3RvbSBwYW5lbCAoei1pbmRleCAxNTAwKS5cbmNvbnN0IENBTEVOREFSX1BBTkVMX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlci1jYWxlbmRhci1wYW5lbCc7XG4vLyBUaGUgU2VsZWN0LkN1c3RvbSBwYW5lbCBpcyBwb3J0YWxlZCB0byA8Ym9keT4gdG9vIOKAlCB0b3AtbGV2ZWwgaG9vayBmb3Jcbi8vIHNjb3BpbmcgcGFuZWwtYm9keSBvdmVycmlkZXMgd2l0aG91dCBsZWFraW5nIGludG8gb3RoZXIgU2VsZWN0IHBhbmVscy5cbmNvbnN0IFNFTEVDVF9QQU5FTF9DTFMgPSAnb20tZGF0ZS1yYW5nZS1maWx0ZXItcGFuZWwnO1xuY29uc3QgUEFORUxfV0lEVEhfUFJFU0VUID0gMjQwO1xuY29uc3QgUEFORUxfV0lEVEhfQ1VTVE9NID0gMzIwO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhTID0gMjtcbmNvbnN0IENIRVZST05fU0laRSA9IDE2O1xuY29uc3QgQkFDS19JQ09OX1NJWkUgPSAyNDtcbmNvbnN0IFJFU0VUX0xBQkVMID0gJ1Jlc2V0JztcbmNvbnN0IEFQUExZX0xBQkVMID0gJ0FwcGx5JztcbmNvbnN0IENVU1RPTV9SQU5HRV9USVRMRSA9ICdDdXN0b20gZGF0ZSByYW5nZSc7XG5jb25zdCBSQU5HRV9TRVBBUkFUT1IgPSAnIC0gJztcbmNvbnN0IEZVTExfV0lEVEhfU1RZTEUgPSB7IGZsZXg6IDEgfTtcbmNvbnN0IFtPUFRJT05fQUxMLCBPUFRJT05fTEFTVF8zMF9EQVlTLCBPUFRJT05fWUVBUl9UT19EQVRFLCBPUFRJT05fTEFTVF8xMl9NT05USFMsIE9QVElPTl9DVVNUT00sXSA9IERBVEVfUkFOR0VfT1BUSU9OUztcbmNvbnN0IExBU1RfMzBfREFZU19DT1VOVCA9IDMwO1xuY29uc3QgTEFTVF8xMl9NT05USFNfQ09VTlQgPSAxMjtcbmNvbnN0IFlFQVJfU1RBUlRfTU9OVEggPSAwOyAvLyBKYW51YXJ5ICh6ZXJvLWJhc2VkIG1vbnRoIGluZGV4KVxuY29uc3QgRklSU1RfREFZX09GX01PTlRIID0gMTtcbi8vIERheS1ib3VuZGFyeSB0aW1lcyBzbyBhbiBhcHBsaWVkIHJhbmdlIGNvdmVycyB3aG9sZSBkYXlzIGluY2x1c2l2ZWx5OlxuLy8gdGhlIHN0YXJ0IGRheSBmcm9tIDAwOjAwOjAwLjAwMCBhbmQgdGhlIGVuZCBkYXkgdGhyb3VnaCAyMzo1OTo1OS45OTkuXG5jb25zdCBEQVlfU1RBUlRfVElNRSA9IFswLCAwLCAwLCAwXTsgLy8gW2hvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtc11cbmNvbnN0IERBWV9FTkRfVElNRSA9IFsyMywgNTksIDU5LCA5OTldOyAvLyBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zXVxuY29uc3QgREFURV9GT1JNQVRfTE9DQUxFID0gJ2VuLVVTJztcbmNvbnN0IERBVEVfRk9STUFUX09QVElPTlMgPSB7XG4gICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICB5ZWFyOiAnbnVtZXJpYycsXG59O1xuY29uc3QgZGF0ZUZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KERBVEVfRk9STUFUX0xPQ0FMRSwgREFURV9GT1JNQVRfT1BUSU9OUyk7XG5jb25zdCBFTVBUWV9SQU5HRSA9IHsgc3RhcnREYXRlOiBudWxsLCBlbmREYXRlOiBudWxsIH07XG5jb25zdCBzdGFydE9mRGF5ID0gKGRhdGUpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICByZXN1bHQuc2V0SG91cnMoLi4uREFZX1NUQVJUX1RJTUUpO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuY29uc3QgZW5kT2ZEYXkgPSAoZGF0ZSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIHJlc3VsdC5zZXRIb3VycyguLi5EQVlfRU5EX1RJTUUpO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuY29uc3QgZm9ybWF0RGF0ZSA9IChkYXRlKSA9PiBkYXRlRm9ybWF0dGVyLmZvcm1hdChkYXRlKTtcbmNvbnN0IGZvcm1hdFJhbmdlID0gKHN0YXJ0LCBlbmQpID0+IGAke2Zvcm1hdERhdGUoc3RhcnQpfSR7UkFOR0VfU0VQQVJBVE9SfSR7Zm9ybWF0RGF0ZShlbmQpfWA7XG5jb25zdCBnZXREYXRlRnJvbU9wdGlvbiA9IChvcHRpb24sIHJhbmdlKSA9PiB7XG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgIHN3aXRjaCAob3B0aW9uKSB7XG4gICAgICAgIGNhc2UgT1BUSU9OX0xBU1RfMzBfREFZUzoge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIHN0YXJ0RGF0ZS5zZXREYXRlKHRvZGF5LmdldERhdGUoKSAtIExBU1RfMzBfREFZU19DT1VOVCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fWUVBUl9UT19EQVRFOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSh0b2RheS5nZXRGdWxsWWVhcigpLCBZRUFSX1NUQVJUX01PTlRILCBGSVJTVF9EQVlfT0ZfTU9OVEgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHRvZGF5KSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgT1BUSU9OX0xBU1RfMTJfTU9OVEhTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgc3RhcnREYXRlLnNldE1vbnRoKHRvZGF5LmdldE1vbnRoKCkgLSBMQVNUXzEyX01PTlRIU19DT1VOVCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fQ1VTVE9NOlxuICAgICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0RGF0ZSAmJiByYW5nZS5lbmREYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHJhbmdlLnN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHJhbmdlLmVuZERhdGUpIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gQUxMX1RSQU5TQUNUSU9OU19WQUxVRTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBBTExfVFJBTlNBQ1RJT05TX1ZBTFVFO1xuICAgIH1cbn07XG5jb25zdCBEYXRlUmFuZ2VGaWx0ZXJCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgcmVmLCBjbGFzc05hbWUsIGxhYmVsLCBwbGFjZWhvbGRlciA9ICdEYXRlJywgYWxsVHJhbnNhY3Rpb25zTGFiZWwgPSAnQWxsIHRyYW5zYWN0aW9ucycsIGRlZmF1bHRTZWxlY3RBbGwgPSBmYWxzZSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcImxhYmVsXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJhbGxUcmFuc2FjdGlvbnNMYWJlbFwiLCBcImRlZmF1bHRTZWxlY3RBbGxcIiwgXCJvbkFwcGx5XCIsIFwib25SZXNldFwiXSk7XG4gICAgY29uc3QgaW5pdGlhbE9wdGlvbiA9IGRlZmF1bHRTZWxlY3RBbGwgPyBPUFRJT05fQUxMIDogbnVsbDtcbiAgICBjb25zdCBpbml0aWFsVGV4dCA9IGRlZmF1bHRTZWxlY3RBbGwgPyBhbGxUcmFuc2FjdGlvbnNMYWJlbCA6ICcnO1xuICAgIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRPcHRpb24sIHNldFNlbGVjdGVkT3B0aW9uXSA9IHVzZVN0YXRlKGluaXRpYWxPcHRpb24pO1xuICAgIGNvbnN0IFtsYXN0U2VsZWN0ZWRPcHRpb24sIHNldExhc3RTZWxlY3RlZE9wdGlvbl0gPSB1c2VTdGF0ZShpbml0aWFsT3B0aW9uKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRSYW5nZSwgc2V0U2VsZWN0ZWRSYW5nZV0gPSB1c2VTdGF0ZShFTVBUWV9SQU5HRSk7XG4gICAgY29uc3QgW2FwcGxpZWRSYW5nZSwgc2V0QXBwbGllZFJhbmdlXSA9IHVzZVN0YXRlKEVNUFRZX1JBTkdFKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRUZXh0LCBzZXRTZWxlY3RlZFRleHRdID0gdXNlU3RhdGUoaW5pdGlhbFRleHQpO1xuICAgIGNvbnN0IFtzaG93Q3VzdG9tUmFuZ2UsIHNldFNob3dDdXN0b21SYW5nZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW21vbnRoVmlldywgc2V0TW9udGhWaWV3XSA9IHVzZVN0YXRlKHVuZGVmaW5lZCk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkVGV4dCgnJyk7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0OiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkVGV4dChpbml0aWFsVGV4dCk7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICB9KSwgW2luaXRpYWxPcHRpb24sIGluaXRpYWxUZXh0LCBvblJlc2V0XSk7XG4gICAgY29uc3QgZ2V0RGlzcGxheUxhYmVsID0gdXNlQ2FsbGJhY2soKG9wdGlvbikgPT4gKG9wdGlvbiA9PT0gT1BUSU9OX0FMTCA/IGFsbFRyYW5zYWN0aW9uc0xhYmVsIDogb3B0aW9uKSwgW2FsbFRyYW5zYWN0aW9uc0xhYmVsXSk7XG4gICAgY29uc3QgaGFuZGxlSXRlbUNsaWNrID0gdXNlQ2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICBpZiAob3B0aW9uID09PSBPUFRJT05fQ1VTVE9NKSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24ob3B0aW9uKTtcbiAgICAgICAgfVxuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoYW5kbGVEYXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHZhbHVlO1xuICAgICAgICBpZiAoc3RhcnQgJiYgZW5kKSB7XG4gICAgICAgICAgICBzZXRNb250aFZpZXcoc3RhcnQpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZSh7IHN0YXJ0RGF0ZTogc3RhcnQsIGVuZERhdGU6IGVuZCB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChzdGFydCkge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZSh7IHN0YXJ0RGF0ZTogc3RhcnQsIGVuZERhdGU6IG51bGwgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgY29uc3QgYXBwbHlQcmVzZXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghc2VsZWN0ZWRPcHRpb24pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG9uQXBwbHkoZ2V0RGF0ZUZyb21PcHRpb24oc2VsZWN0ZWRPcHRpb24sIHNlbGVjdGVkUmFuZ2UpKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGdldERpc3BsYXlMYWJlbChzZWxlY3RlZE9wdGlvbikpO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFtzZWxlY3RlZE9wdGlvbiwgc2VsZWN0ZWRSYW5nZSwgb25BcHBseSwgZ2V0RGlzcGxheUxhYmVsXSk7XG4gICAgY29uc3QgYXBwbHlDdXN0b20gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc3RhcnREYXRlLCBlbmREYXRlIH0gPSBzZWxlY3RlZFJhbmdlO1xuICAgICAgICBpZiAoIXN0YXJ0RGF0ZSB8fCAhZW5kRGF0ZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgb25BcHBseSh7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheShlbmREYXRlKSB9KTtcbiAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGZvcm1hdFJhbmdlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSkpO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oT1BUSU9OX0NVU1RPTSk7XG4gICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKG51bGwpO1xuICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoeyBzdGFydERhdGUsIGVuZERhdGUgfSk7XG4gICAgICAgIHNldFNob3dDdXN0b21SYW5nZSh0cnVlKTtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgfSwgW3NlbGVjdGVkUmFuZ2UsIG9uQXBwbHldKTtcbiAgICBjb25zdCByZXNldFNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGluaXRpYWxUZXh0KTtcbiAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoKTtcbiAgICB9LCBbaW5pdGlhbE9wdGlvbiwgaW5pdGlhbFRleHQsIG9uUmVzZXRdKTtcbiAgICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlID0gdXNlQ2FsbGJhY2soKG5leHRPcGVuKSA9PiB7XG4gICAgICAgIHNldE9wZW4obmV4dE9wZW4pO1xuICAgICAgICBpZiAobmV4dE9wZW4pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIE9uIGNsb3NlIHdpdGhvdXQgQXBwbHksIHNuYXAgdGhlIHBhbmVsIGJhY2sgdG8gdGhlIGxhc3QgY29tbWl0dGVkIHN0YXRlXG4gICAgICAgIC8vIHNvIGFuIGFiYW5kb25lZCBlZGl0IGRvZXNuJ3QgbGluZ2VyLlxuICAgICAgICBpZiAobGFzdFNlbGVjdGVkT3B0aW9uID09PSBPUFRJT05fQ1VTVE9NKSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKGFwcGxpZWRSYW5nZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obGFzdFNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgfVxuICAgIH0sIFtsYXN0U2VsZWN0ZWRPcHRpb24sIGFwcGxpZWRSYW5nZV0pO1xuICAgIGNvbnN0IGNhbGVuZGFyVmFsdWUgPSBzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZVxuICAgICAgICA/IHNlbGVjdGVkUmFuZ2UuZW5kRGF0ZVxuICAgICAgICAgICAgPyBbc2VsZWN0ZWRSYW5nZS5zdGFydERhdGUsIHNlbGVjdGVkUmFuZ2UuZW5kRGF0ZV1cbiAgICAgICAgICAgIDogW3NlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlXVxuICAgICAgICA6IG51bGw7XG4gICAgY29uc3QgcmVuZGVyUHJlc2V0TGlzdCA9ICgpID0+IChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtfanN4KFwidWxcIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fbGlzdGAsIGNoaWxkcmVuOiBEQVRFX1JBTkdFX09QVElPTlMubWFwKChvcHRpb24pID0+IChfanN4cyhcImxpXCIsIHsgY2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfV9faXRlbWAsIG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSAmJiBgJHtXUkFQX0NMU31fX2l0ZW0tLWN1c3RvbWAsIHNlbGVjdGVkT3B0aW9uID09PSBvcHRpb24gJiYgYCR7V1JBUF9DTFN9X19pdGVtLS1zZWxlY3RlZGApLCBvbkNsaWNrOiAoKSA9PiBoYW5kbGVJdGVtQ2xpY2sob3B0aW9uKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIHN0cm9uZzogdHJ1ZSwgY2hpbGRyZW46IGdldERpc3BsYXlMYWJlbChvcHRpb24pIH0pLCBvcHRpb24gPT09IE9QVElPTl9DVVNUT00gPyAoX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvblJpZ2h0Jywgc2l6ZTogQ0hFVlJPTl9TSVpFIH0pKSA6IChfanN4KFJhZGlvLCB7IHNpemU6ICdzbWFsbCcsIGNoZWNrZWQ6IHNlbGVjdGVkT3B0aW9uID09PSBvcHRpb24gfSkpXSB9LCBvcHRpb24pKSkgfSksIF9qc3hzKEZsZXgsIHsgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fZm9vdGVyYCwgY2hpbGRyZW46IFtfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ2dyZXknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogcmVzZXRTZWxlY3Rpb24sIGNoaWxkcmVuOiBSRVNFVF9MQUJFTCB9KSwgX2pzeChCdXR0b24sIHsgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIGRpc2FibGVkOiAhc2VsZWN0ZWRPcHRpb24sIG9uQ2xpY2s6IGFwcGx5UHJlc2V0LCBjaGlsZHJlbjogQVBQTFlfTEFCRUwgfSldIH0pXSB9KSk7XG4gICAgY29uc3QgcmVuZGVyQ3VzdG9tUmFuZ2UgPSAoKSA9PiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fY3VzdG9tYCwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fY3VzdG9tLWhlYWRlcmAsIGNoaWxkcmVuOiBbX2pzeChJY29ucywgeyBuYW1lOiAnYXJyb3dMZWZ0Jywgc2l6ZTogQkFDS19JQ09OX1NJWkUsIHdyYXBwZXJDbHM6IGAke1dSQVBfQ0xTfV9fYmFjay1pY29uYCwgb25DbGljazogKCkgPT4gc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKSB9KSwgX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogJ2xnJywgY2hpbGRyZW46IENVU1RPTV9SQU5HRV9USVRMRSB9KV0gfSksIF9qc3goQ2FsZW5kYXIsIHsgd3JhcHBlckNsczogYCR7V1JBUF9DTFN9X19jYWxlbmRhcmAsIHBhbmVsQ2xhc3NOYW1lOiBDQUxFTkRBUl9QQU5FTF9DTFMsIHNpemU6ICdzbWFsbCcsIHNlbGVjdGlvbk1vZGU6ICdyYW5nZScsIHBsYWNlaG9sZGVyOiAnTU0vREQvWVlZWSAtIE1NL0REL1lZWVknLCByZWFkT25seUlucHV0OiB0cnVlLCBoaWRlT25SYW5nZVNlbGVjdGlvbjogdHJ1ZSwgbnVtYmVyT2ZNb250aHM6IENBTEVOREFSX01PTlRIUywgdmFsdWU6IGNhbGVuZGFyVmFsdWUsIHZpZXdEYXRlOiBtb250aFZpZXcsIG9uVmlld0RhdGVDaGFuZ2U6IChldmVudCkgPT4gc2V0TW9udGhWaWV3KGV2ZW50LnZhbHVlKSwgb25DaGFuZ2U6IGhhbmRsZURhdGVTZWxlY3QgfSksIF9qc3hzKEZsZXgsIHsgZ2FwOiA4LCBjbGFzc05hbWU6IGpvaW5DbHMoYCR7V1JBUF9DTFN9X19mb290ZXJgLCBgJHtXUkFQX0NMU31fX2Zvb3Rlci0tYm9yZGVyZWRgKSwgY2hpbGRyZW46IFtfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ2dyZXknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogcmVzZXRTZWxlY3Rpb24sIGNoaWxkcmVuOiBSRVNFVF9MQUJFTCB9KSwgX2pzeChCdXR0b24sIHsgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIGRpc2FibGVkOiAhc2VsZWN0ZWRSYW5nZS5zdGFydERhdGUgfHwgIXNlbGVjdGVkUmFuZ2UuZW5kRGF0ZSwgb25DbGljazogYXBwbHlDdXN0b20sIGNoaWxkcmVuOiBBUFBMWV9MQUJFTCB9KV0gfSldIH0pKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0LkN1c3RvbSwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBcbiAgICAgICAgLy8gRml4ZWQgMzJweCBcIkV4dHJhIFNtYWxsXCIgdHJpZ2dlcjogdGhlIHNjb3BlZCBgdHJpZ2dlci14c2Agb3ZlcnJpZGUgb25seVxuICAgICAgICAvLyB0YXJnZXRzIHRoZSBgc21hbGxgIHRyaWdnZXIsIHNvIHRoZSBzaXplIGlzIGxvY2tlZCBoZXJlIHJhdGhlciB0aGFuXG4gICAgICAgIC8vIGV4cG9zZWQgYXMgYSBwcm9wLlxuICAgICAgICBzaXplOiAnc21hbGwnLCBhbmltYXRpb246IGZhbHNlLCBsYWJlbDogbGFiZWwsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBwYW5lbENsYXNzTmFtZTogU0VMRUNUX1BBTkVMX0NMUywgcGFuZWxXaWR0aDogc2hvd0N1c3RvbVJhbmdlID8gUEFORUxfV0lEVEhfQ1VTVE9NIDogUEFORUxfV0lEVEhfUFJFU0VULCBvcGVuOiBvcGVuLCBvbk9wZW5DaGFuZ2U6IGhhbmRsZU9wZW5DaGFuZ2UsIHNlbGVjdGVkVGVtcGxhdGU6IHNlbGVjdGVkVGV4dCA/IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X192YWx1ZWAsIGNoaWxkcmVuOiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X192YWx1ZS1sYWJlbGAsIGNoaWxkcmVuOiBzZWxlY3RlZFRleHQgfSkgfSkpIDogbnVsbCwgY2hpbGRyZW46ICgpID0+IChzaG93Q3VzdG9tUmFuZ2UgPyByZW5kZXJDdXN0b21SYW5nZSgpIDogcmVuZGVyUHJlc2V0TGlzdCgpKSB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBEYXRlUmFuZ2VGaWx0ZXIgPSBtZW1vKERhdGVSYW5nZUZpbHRlckJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -27,11 +27,6 @@ export interface DateRangeFilterHandler {
|
|
|
27
27
|
}
|
|
28
28
|
export interface DateRangeFilterProps extends Omit<SelectCustomProps, 'ref' | 'size' | 'placeholder' | 'children' | 'selectedTemplate' | 'open' | 'defaultOpen' | 'onOpenChange' | 'panelWidth' | 'role' | 'arrow'> {
|
|
29
29
|
ref?: RefObject<DateRangeFilterHandler | null>;
|
|
30
|
-
/**
|
|
31
|
-
* Trigger size. Mirrors the host filter row sizing.
|
|
32
|
-
* @default 'small'
|
|
33
|
-
*/
|
|
34
|
-
size?: 'small' | 'large';
|
|
35
30
|
/** Optional field label rendered above the trigger. */
|
|
36
31
|
label?: ReactNode;
|
|
37
32
|
/**
|
|
@@ -20,18 +20,28 @@
|
|
|
20
20
|
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
21
|
* }
|
|
22
22
|
*/
|
|
23
|
+
.om-date-range-filter .om-component-ui-select-trigger-small {
|
|
24
|
+
min-height: var(--om-component-height-sm, 32px);
|
|
25
|
+
height: var(--om-component-height-sm, 32px);
|
|
26
|
+
padding: var(--om-spacing-200, 8px) var(--om-spacing-300, 12px);
|
|
27
|
+
}
|
|
23
28
|
.om-date-range-filter__value {
|
|
24
29
|
display: inline-flex;
|
|
25
30
|
align-items: center;
|
|
26
31
|
width: 100%;
|
|
27
32
|
overflow: hidden;
|
|
28
33
|
line-height: 18px;
|
|
34
|
+
}
|
|
35
|
+
.om-date-range-filter__value-label {
|
|
36
|
+
min-width: 0;
|
|
37
|
+
overflow: hidden;
|
|
29
38
|
white-space: nowrap;
|
|
30
39
|
text-overflow: ellipsis;
|
|
31
40
|
}
|
|
32
41
|
.om-date-range-filter__list {
|
|
33
42
|
display: flex;
|
|
34
43
|
flex-direction: column;
|
|
44
|
+
gap: var(--om-spacing-100, 4px);
|
|
35
45
|
margin: 0;
|
|
36
46
|
padding: 0;
|
|
37
47
|
list-style: none;
|
|
@@ -41,13 +51,13 @@
|
|
|
41
51
|
align-items: center;
|
|
42
52
|
justify-content: space-between;
|
|
43
53
|
width: 100%;
|
|
44
|
-
height:
|
|
45
|
-
padding: var(--om-spacing-
|
|
54
|
+
height: 34px;
|
|
55
|
+
padding: 6px var(--om-spacing-300, 12px);
|
|
46
56
|
cursor: pointer;
|
|
47
57
|
}
|
|
48
|
-
.om-date-range-filter__item:hover {
|
|
58
|
+
.om-date-range-filter__item:hover, .om-date-range-filter__item--selected {
|
|
49
59
|
background: var(--om-bg-default-secondary, #f8f8f8);
|
|
50
|
-
border-radius: var(--om-radius-
|
|
60
|
+
border-radius: var(--om-radius-200, 8px);
|
|
51
61
|
}
|
|
52
62
|
.om-date-range-filter__item--custom {
|
|
53
63
|
border-top: 1px solid var(--om-border-neutral, #e3e4e4);
|
|
@@ -70,7 +80,7 @@
|
|
|
70
80
|
width: 100%;
|
|
71
81
|
}
|
|
72
82
|
.om-date-range-filter__footer {
|
|
73
|
-
padding: var(--om-spacing-
|
|
83
|
+
padding: var(--om-spacing-200, 8px) 0;
|
|
74
84
|
}
|
|
75
85
|
.om-date-range-filter__footer--bordered {
|
|
76
86
|
border-top: 1px solid var(--om-border-neutral, #e3e4e4);
|