@infomaximum/ui-kit 0.12.12 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/components/BaseSelect/BaseSelect.d.ts +5 -0
  2. package/dist/components/BaseSelect/BaseSelect.js +360 -0
  3. package/dist/components/{Select/Select.styles.d.ts → BaseSelect/BaseSelect.styles.d.ts} +20 -4
  4. package/dist/components/{Select/Select.styles.js → BaseSelect/BaseSelect.styles.js} +23 -10
  5. package/dist/components/BaseSelect/BaseSelect.types.d.ts +99 -0
  6. package/dist/components/BaseSelect/BaseSelect.utils.d.ts +8 -0
  7. package/dist/components/BaseSelect/BaseSelect.utils.js +39 -0
  8. package/dist/components/BaseSelect/components/BaseSelectOptionList/BaseSelectOptionList.types.d.ts +11 -0
  9. package/dist/components/BaseSelect/components/SelectOptionList/SelectOptionList.d.ts +4 -0
  10. package/dist/components/BaseSelect/components/SelectOptionList/SelectOptionList.js +120 -0
  11. package/dist/components/{Select → BaseSelect}/components/SelectOptionList/SelectOptionList.styles.d.ts +13 -4
  12. package/dist/components/{Select → BaseSelect}/components/SelectOptionList/SelectOptionList.styles.js +13 -7
  13. package/dist/components/BaseSelect/components/SelectOptionList/SelectOptionList.types.d.ts +20 -0
  14. package/dist/components/BaseSelect/components/SelectTag/SelectTag.d.ts +4 -0
  15. package/dist/components/{Select → BaseSelect}/components/SelectTag/SelectTag.js +9 -5
  16. package/dist/components/BaseSelect/components/SelectTag/SelectTag.styles.d.ts +16 -0
  17. package/dist/components/{Select → BaseSelect}/components/SelectTag/SelectTag.styles.js +13 -3
  18. package/dist/components/BaseSelect/components/SelectTag/SelectTag.types.d.ts +11 -0
  19. package/dist/components/BaseSelect/contexts/BaseSelectContext.d.ts +33 -0
  20. package/dist/components/BaseSelect/contexts/BaseSelectContext.js +8 -0
  21. package/dist/components/BaseSelect/hooks/useCurrentValue.d.ts +7 -0
  22. package/dist/components/{Select → BaseSelect}/hooks/useCurrentValue.js +15 -0
  23. package/dist/components/BaseSelect/hooks/useDefaultCurrentValue.d.ts +2 -0
  24. package/dist/components/{Select → BaseSelect}/hooks/useDefaultCurrentValue.js +1 -1
  25. package/dist/components/BaseSelect/hooks/useDefaultSelectIndex.d.ts +2 -0
  26. package/dist/components/BaseSelect/hooks/useHideElements.d.ts +6 -0
  27. package/dist/components/{Select → BaseSelect}/hooks/useHideElements.js +11 -3
  28. package/dist/components/BaseSelect/hooks/useSearch.d.ts +10 -0
  29. package/dist/components/{Select → BaseSelect}/hooks/useSearch.js +4 -16
  30. package/dist/components/Checkbox/Checkbox.js +12 -8
  31. package/dist/components/Checkbox/Checkbox.utils.d.ts +2 -0
  32. package/dist/components/Checkbox/Checkbox.utils.js +5 -0
  33. package/dist/components/Checkbox/index.d.ts +1 -0
  34. package/dist/components/Input/Input.d.ts +2 -2
  35. package/dist/components/Input/Input.js +35 -10
  36. package/dist/components/Input/Input.styles.d.ts +7 -0
  37. package/dist/components/Input/Input.styles.js +9 -5
  38. package/dist/components/Input/Input.types.d.ts +16 -6
  39. package/dist/components/Input/components/InputPassword/InputPassword.d.ts +2 -1
  40. package/dist/components/Input/components/InputTextArea/InputTextArea.d.ts +2 -2
  41. package/dist/components/Input/components/InputTextArea/InputTextArea.js +27 -5
  42. package/dist/components/Input/components/InputTextArea/InputTextArea.types.d.ts +10 -2
  43. package/dist/components/Input/index.d.ts +3 -1
  44. package/dist/components/Select/Select.d.ts +2 -2
  45. package/dist/components/Select/Select.js +39 -281
  46. package/dist/components/Select/Select.types.d.ts +6 -85
  47. package/dist/components/Select/Select.utils.d.ts +1 -9
  48. package/dist/components/Select/Select.utils.js +1 -46
  49. package/dist/components/Select/components/SelectOption/SelectOption.js +20 -23
  50. package/dist/components/Select/components/SelectOption/SelectOption.styles.js +1 -1
  51. package/dist/components/Select/components/SelectOption/SelectOption.types.d.ts +13 -15
  52. package/dist/components/Select/hooks/useKeyControl.d.ts +7 -3
  53. package/dist/components/Select/hooks/useKeyControl.js +48 -13
  54. package/dist/components/TreeSelect/TreeSelect.d.ts +3 -0
  55. package/dist/components/TreeSelect/TreeSelect.js +189 -0
  56. package/dist/components/TreeSelect/TreeSelect.tokens.d.ts +30 -0
  57. package/dist/components/TreeSelect/TreeSelect.tokens.js +31 -0
  58. package/dist/components/TreeSelect/TreeSelect.types.d.ts +69 -0
  59. package/dist/components/TreeSelect/TreeSelect.utils.d.ts +13 -0
  60. package/dist/components/TreeSelect/TreeSelect.utils.js +192 -0
  61. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.d.ts +3 -0
  62. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.js +117 -0
  63. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.styles.d.ts +83 -0
  64. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.styles.js +111 -0
  65. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.types.d.ts +27 -0
  66. package/dist/components/TreeSelect/contexts/treeSelectContext.d.ts +14 -0
  67. package/dist/components/TreeSelect/contexts/treeSelectContext.js +5 -0
  68. package/dist/components/TreeSelect/forStories/dataForExamples.d.ts +32 -0
  69. package/dist/components/TreeSelect/hooks/useAsyncLoading.d.ts +8 -0
  70. package/dist/components/TreeSelect/hooks/useAsyncLoading.js +39 -0
  71. package/dist/components/TreeSelect/hooks/useElementSizesController.d.ts +6 -0
  72. package/dist/components/TreeSelect/hooks/useElementSizesController.js +21 -0
  73. package/dist/components/TreeSelect/hooks/useExtendController.d.ts +19 -0
  74. package/dist/components/TreeSelect/hooks/useExtendController.js +65 -0
  75. package/dist/components/TreeSelect/hooks/useKeyControl.d.ts +11 -0
  76. package/dist/components/TreeSelect/hooks/useKeyControl.js +75 -0
  77. package/dist/components/TreeSelect/hooks/useTreeCheckable.d.ts +6 -0
  78. package/dist/components/TreeSelect/hooks/useTreeCheckable.js +56 -0
  79. package/dist/components/TreeSelect/hooks/useTreeData.d.ts +8 -0
  80. package/dist/components/TreeSelect/hooks/useTreeData.js +33 -0
  81. package/dist/components/TreeSelect/index.d.ts +2 -0
  82. package/dist/index.d.ts +5 -4
  83. package/dist/index.js +4 -0
  84. package/package.json +1 -1
  85. package/dist/components/Select/components/SelectOptionList/SelectOptionList.d.ts +0 -3
  86. package/dist/components/Select/components/SelectOptionList/SelectOptionList.js +0 -139
  87. package/dist/components/Select/components/SelectOptionList/SelectOptionList.types.d.ts +0 -42
  88. package/dist/components/Select/components/SelectOptionList/SelectOptionList.utils.d.ts +0 -1
  89. package/dist/components/Select/components/SelectOptionList/SelectOptionList.utils.js +0 -4
  90. package/dist/components/Select/components/SelectTag/SelectTag.d.ts +0 -3
  91. package/dist/components/Select/components/SelectTag/SelectTag.styles.d.ts +0 -8
  92. package/dist/components/Select/components/SelectTag/SelectTag.types.d.ts +0 -10
  93. package/dist/components/Select/hooks/useCurrentValue.d.ts +0 -8
  94. package/dist/components/Select/hooks/useDefaultCurrentValue.d.ts +0 -3
  95. package/dist/components/Select/hooks/useDefaultSelectIndex.d.ts +0 -2
  96. package/dist/components/Select/hooks/useDefaultSelectIndex.js +0 -17
  97. package/dist/components/Select/hooks/useHideElements.d.ts +0 -5
  98. package/dist/components/Select/hooks/useSearch.d.ts +0 -11
  99. /package/dist/components/{Select/Select.tokens.d.ts → BaseSelect/BaseSelect.tokens.d.ts} +0 -0
  100. /package/dist/components/{Select/Select.tokens.js → BaseSelect/BaseSelect.tokens.js} +0 -0
  101. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.d.ts +0 -0
  102. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.js +0 -0
  103. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.styles.d.ts +0 -0
  104. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.styles.js +0 -0
  105. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.types.d.ts +0 -0
@@ -1,98 +1,22 @@
1
- import { jsxs, jsx, Fragment } from "@emotion/react/jsx-runtime";
2
- import { memo, useState, useRef, useMemo, useCallback, useEffect } from "react";
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { memo, useMemo, useCallback } from "react";
3
3
  import { withThemeProvider } from "../../hocs/withThemeProvider.js";
4
- import { SelectOptionList } from "./components/SelectOptionList/SelectOptionList.js";
5
- import { getSelectSearchInputWidthStyle, getSelectDefaultStyle } from "./Select.styles.js";
6
- import { CloseCircleFilled, DownOutlined, BarsOutlined, SearchOutlined } from "@infomaximum/icons";
7
- import { isUndefined, isNull, isFunction } from "lodash-es";
8
- import { useFloating, autoUpdate, offset, flip } from "@floating-ui/react";
9
- import { convertSelectPlacement, getLabel, additionalElements, getVisibleLabels } from "./Select.utils.js";
4
+ import { BaseSelect } from "../BaseSelect/BaseSelect.js";
5
+ import { SelectOption } from "./components/SelectOption/SelectOption.js";
6
+ import { isFunction } from "lodash-es";
7
+ import { isKeyOfObject } from "../BaseSelect/BaseSelect.utils.js";
10
8
  import { useKeyControl } from "./hooks/useKeyControl.js";
11
- import { useSearch } from "./hooks/useSearch.js";
12
- import { useCurrentValue } from "./hooks/useCurrentValue.js";
13
- import { SelectTag } from "./components/SelectTag/SelectTag.js";
14
- import { useHideElements } from "./hooks/useHideElements.js";
15
- import { TagPlaceholder, tagPlaceholderDataElement } from "./components/TagPlaceholder/TagPlaceholder.js";
16
- import { useTheme } from "../../hooks/useTheme/useTheme.js";
17
9
  const SelectComponent = memo(({
18
10
  options = [],
19
- mode = "single",
20
- variant = "outlined",
21
- defaultValue,
22
- defaultOpen = false,
23
- defaultActiveFirstOption,
24
- value,
25
- open,
26
- placeholder,
27
- dropdownMinWidth = 120,
28
- dropdownMaxHeight = 414,
29
- allowClear = false,
30
- autoFocus,
31
- prefix,
32
- suffixIcon = /* @__PURE__ */ jsx(DownOutlined, {}),
33
- status = "default",
34
- disabled = false,
35
- dropdownPrompt,
36
- loading = false,
37
- dropdownClassName,
38
- styles,
39
- dropdownMatchSelectWidth = true,
40
- placement = "bottomLeft",
41
- virtual = true,
42
- emptyContent = "",
43
- showSearch = mode === "single" ? false : true,
44
11
  filterOption = true,
45
12
  optionFilterProp = "title",
46
- searchValue,
47
- notFoundContent,
48
- optionLabelProp = "title",
49
- drawer = false,
50
- autoClearSearchValue = true,
51
- maxTagCount,
52
- maxTagTextLength,
53
- maxTagPlaceholder,
54
- filterSort,
55
- dropdownRender,
13
+ styles,
56
14
  optionRender,
57
- labelRender,
58
- onBlur,
59
- onChange,
60
- onClear,
61
15
  onDropdownVisibleChange,
62
- onFocus,
63
- onInputKeyDown,
64
- onSelect,
65
- getPopupContainer = () => document.body,
16
+ onChange,
66
17
  onSearch,
67
- tagRender,
68
- onDeselect
18
+ ...otherProps
69
19
  }) => {
70
- var _a, _b, _c, _d, _e, _f, _g, _h;
71
- const theme = useTheme();
72
- const {
73
- filteredAndSortedOptions,
74
- searchInputValue,
75
- searchHandle,
76
- clearSearchValue
77
- } = useSearch({
78
- options,
79
- filterOption,
80
- optionFilterProp,
81
- searchValue,
82
- onSearch,
83
- filterSort
84
- });
85
- const {
86
- currentValue,
87
- changeCurrentValue,
88
- removeValue,
89
- clearCurrentValue
90
- } = useCurrentValue(mode, defaultValue, defaultActiveFirstOption, options, onDeselect);
91
- const [isSelectOpen, setIsSelectOpen] = useState(defaultOpen);
92
- const [isHover, setIsHover] = useState(false);
93
- const isInitialMount = useRef(true);
94
- const controlRef = useRef(null);
95
- const inputRef = useRef(null);
96
20
  const optionsMap = useMemo(() => {
97
21
  const optionList = options.map((option) => [option.value, option]);
98
22
  return new Map(optionList);
@@ -100,204 +24,38 @@ const SelectComponent = memo(({
100
24
  const {
101
25
  currentSelectingIndex,
102
26
  onKeyControl,
103
- setCurrentSelectingIndex
104
- } = useKeyControl(currentValue, filteredAndSortedOptions, optionsMap);
105
- const referenceOffsetWidth = (_a = controlRef.current) == null ? void 0 : _a.offsetWidth;
106
- const {
107
- refs,
108
- floatingStyles
109
- } = useFloating({
110
- whileElementsMounted: autoUpdate,
111
- placement: convertSelectPlacement(placement),
112
- middleware: [offset(4), flip()]
113
- });
114
- const returnFocusToWrapper = useCallback(() => {
115
- setTimeout(() => {
116
- var _a2;
117
- (_a2 = controlRef.current) == null ? void 0 : _a2.focus();
118
- });
119
- }, []);
120
- const returnFocusToInput = useCallback(() => {
121
- setTimeout(() => {
122
- var _a2;
123
- (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
124
- });
125
- }, []);
126
- useEffect(() => {
127
- if (!isInitialMount.current) {
128
- const options2 = currentValue.reduce((acc, value2) => {
129
- const option = optionsMap.get(value2);
130
- if (isUndefined(option)) {
131
- return acc;
132
- }
133
- return [...acc, option];
134
- }, []);
135
- onChange == null ? void 0 : onChange(currentValue, options2);
136
- }
137
- }, [currentValue]);
138
- useEffect(() => {
139
- if (isInitialMount.current) {
140
- isInitialMount.current = false;
141
- } else {
142
- onDropdownVisibleChange == null ? void 0 : onDropdownVisibleChange();
143
- }
144
- }, [isSelectOpen]);
145
- const selectDefaultStyle = getSelectDefaultStyle(status, disabled, variant, mode === "multiple", isHover, maxTagCount);
146
- const activeValues = Array.isArray(value) ? value : isUndefined(value) ? currentValue : [value];
147
- const {
148
- containerRef,
149
- isItemHidden
150
- } = useHideElements(activeValues, theme.spaceXS, additionalElements, inputRef);
151
- const currentLabel = getLabel(activeValues, optionsMap, optionLabelProp);
152
- const withDrawer = mode === "multiple" && drawer;
153
- const withAutoClear = mode === "single" || autoClearSearchValue;
154
- const clickHandle = () => {
155
- if (disabled) {
156
- return;
157
- }
158
- setIsSelectOpen((prev) => !prev);
159
- };
160
- const changeHandle = useCallback((value2, index) => {
161
- changeCurrentValue(value2);
162
- setCurrentSelectingIndex(index);
163
- const option = optionsMap.get(value2);
164
- if (withAutoClear) {
165
- clearSearchValue();
166
- }
167
- if (option) {
168
- onSelect == null ? void 0 : onSelect(value2, option);
169
- }
170
- }, [changeCurrentValue, clearSearchValue, onSelect, optionsMap, setCurrentSelectingIndex, withAutoClear]);
171
- const closeOptionList = useCallback(() => {
172
- setIsSelectOpen(false);
173
- }, []);
174
- const blurHandle = (e) => {
175
- const isFocusOnOptionList = refs.floating.current === e.relatedTarget;
176
- const isFocusOnSearchInput = !isNull(inputRef.current) && e.relatedTarget === inputRef.current;
177
- const isFocusOnControl = e.relatedTarget === controlRef.current;
178
- if (isFocusOnOptionList || isFocusOnSearchInput || isFocusOnControl) {
179
- return;
180
- }
181
- onBlur == null ? void 0 : onBlur(e);
182
- clearSearchValue();
183
- closeOptionList();
184
- };
185
- const clearSelect = useCallback((e) => {
186
- e.preventDefault();
187
- e.stopPropagation();
188
- clearCurrentValue();
189
- onClear == null ? void 0 : onClear();
190
- }, [clearCurrentValue, onClear]);
191
- const keyDownHandler = (e) => {
192
- var _a2;
193
- if (e.key === "Enter") {
194
- if (isSelectOpen) {
195
- changeCurrentValue((_a2 = filteredAndSortedOptions[currentSelectingIndex]) == null ? void 0 : _a2.value);
196
- if (withAutoClear) {
197
- clearSearchValue();
198
- }
199
- }
200
- clickHandle();
201
- }
202
- setIsSelectOpen(true);
203
- onKeyControl(e);
204
- onInputKeyDown == null ? void 0 : onInputKeyDown(e);
205
- };
206
- const mouseOverHandle = () => {
207
- setIsHover(true);
208
- };
209
- const mouseOutHandle = () => {
210
- setIsHover(false);
211
- };
212
- const focusHandle = (e) => {
213
- onFocus == null ? void 0 : onFocus(e);
214
- if (!showSearch) {
215
- return;
216
- }
217
- returnFocusToInput();
218
- };
219
- const renderTagPlaceholder = (hiddenElementsCounter) => {
220
- if (isUndefined(maxTagPlaceholder)) {
221
- return /* @__PURE__ */ jsx(TagPlaceholder, { hiddenElementsCounter });
222
- }
223
- if (!isFunction(maxTagPlaceholder)) {
224
- return /* @__PURE__ */ jsx("span", { "data-element": tagPlaceholderDataElement, children: maxTagPlaceholder });
225
- }
226
- const hiddenElements = currentValue.reduce((acc, value2) => {
227
- const isHidden = isItemHidden.get(value2);
228
- const option = optionsMap.get(value2);
229
- if (!isHidden || isUndefined(option)) {
230
- return acc;
27
+ handleDropdownVisibleChange,
28
+ handleChange,
29
+ handleSearch,
30
+ getCurrentSelectingValue
31
+ } = useKeyControl(options, onDropdownVisibleChange, onChange, onSearch);
32
+ const getOptionByValue = useCallback((value) => {
33
+ return optionsMap.get(value);
34
+ }, [optionsMap]);
35
+ const renderDropdownItem = useCallback((option, index) => {
36
+ if (isFunction(optionRender)) {
37
+ return optionRender({
38
+ option,
39
+ index
40
+ });
41
+ }
42
+ return /* @__PURE__ */ jsx(SelectOption, { ...option, styles: styles == null ? void 0 : styles.optionStyles });
43
+ }, [optionRender, styles == null ? void 0 : styles.optionStyles]);
44
+ const filterOptions = useCallback((options2, filterValue) => {
45
+ if (!filterOption) {
46
+ return [...options2];
47
+ }
48
+ return options2 == null ? void 0 : options2.filter((option) => {
49
+ var _a;
50
+ if (isFunction(filterOption)) {
51
+ return filterOption(filterValue, option);
231
52
  }
232
- acc.push(option);
233
- return acc;
234
- }, []);
235
- return /* @__PURE__ */ jsx("span", { "data-element": tagPlaceholderDataElement, children: maxTagPlaceholder(hiddenElements) });
236
- };
237
- const renderLabel = (values, currentLabel2) => {
238
- const visibleLabels = getVisibleLabels(currentLabel2, values, maxTagCount, isItemHidden);
239
- const label = visibleLabels.map((label2, index) => {
240
- const value2 = values[index];
241
- if (isFunction(labelRender)) {
242
- return labelRender({
243
- label: label2,
244
- value: value2
245
- });
246
- }
247
- if (mode === "single") {
248
- return label2;
249
- }
250
- if (isFunction(tagRender)) {
251
- return tagRender(label2);
252
- }
253
- return /* @__PURE__ */ jsx(SelectTag, { value: value2, label: label2, removeValue, maxTagTextLength, isBorderless: variant === "borderless", isError: status === "error", disabled }, value2);
53
+ const optionFilterValue = isKeyOfObject(option, optionFilterProp) ? ((_a = option[optionFilterProp]) == null ? void 0 : _a.toString()) ?? "" : "";
54
+ return optionFilterValue.toLowerCase().includes(filterValue.toLowerCase().trim());
254
55
  });
255
- const hiddenElementsCounter = currentLabel2.length - label.length;
256
- const withTagPlaceholder = !isUndefined(maxTagCount) && mode === "multiple" && hiddenElementsCounter > 0;
257
- if (label.length === 0) {
258
- return null;
259
- }
260
- return /* @__PURE__ */ jsxs(Fragment, { children: [
261
- label,
262
- withTagPlaceholder && renderTagPlaceholder(hiddenElementsCounter)
263
- ] });
264
- };
265
- const renderSuffix = () => {
266
- var _a2;
267
- if (withDrawer) {
268
- return /* @__PURE__ */ jsx(BarsOutlined, { onClick: clickHandle, css: [selectDefaultStyle.drawerIcon(theme), (_a2 = styles == null ? void 0 : styles.drawerIcon) == null ? void 0 : _a2.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:renderSuffix;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ1lZIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEZDLFxuICB0eXBlIEZvY3VzRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgbWVtbyxcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgU2VsZWN0UHJvcHMgfSBmcm9tIFwiLi9TZWxlY3QudHlwZXNcIjtcbmltcG9ydCB7IHdpdGhUaGVtZVByb3ZpZGVyIH0gZnJvbSBcImhvY3Mvd2l0aFRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIHtcbiAgU2VsZWN0T3B0aW9uSW50ZXJmYWNlLFxuICBTZWxlY3RPcHRpb25WYWx1ZSxcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb24vU2VsZWN0T3B0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25MaXN0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb25MaXN0L1NlbGVjdE9wdGlvbkxpc3RcIjtcbmltcG9ydCB7IGdldFNlbGVjdERlZmF1bHRTdHlsZSwgZ2V0U2VsZWN0U2VhcmNoSW5wdXRXaWR0aFN0eWxlIH0gZnJvbSBcIi4vU2VsZWN0LnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEJhcnNPdXRsaW5lZCwgQ2xvc2VDaXJjbGVGaWxsZWQsIERvd25PdXRsaW5lZCwgU2VhcmNoT3V0bGluZWQgfSBmcm9tIFwiQGluZm9tYXhpbXVtL2ljb25zXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc051bGwsIGlzVW5kZWZpbmVkIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgYXV0b1VwZGF0ZSwgZmxpcCwgb2Zmc2V0LCB1c2VGbG9hdGluZyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIGFkZGl0aW9uYWxFbGVtZW50cyxcbiAgY29udmVydFNlbGVjdFBsYWNlbWVudCxcbiAgZ2V0TGFiZWwsXG4gIGdldFZpc2libGVMYWJlbHMsXG59IGZyb20gXCIuL1NlbGVjdC51dGlsc1wiO1xuaW1wb3J0IHsgdXNlS2V5Q29udHJvbCB9IGZyb20gXCIuL2hvb2tzL3VzZUtleUNvbnRyb2xcIjtcbmltcG9ydCB7IHVzZVNlYXJjaCB9IGZyb20gXCIuL2hvb2tzL3VzZVNlYXJjaFwiO1xuaW1wb3J0IHsgdXNlQ3VycmVudFZhbHVlIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VycmVudFZhbHVlXCI7XG5pbXBvcnQgeyBTZWxlY3RUYWcgfSBmcm9tIFwiLi9jb21wb25lbnRzL1NlbGVjdFRhZy9TZWxlY3RUYWdcIjtcbmltcG9ydCB7IHVzZUhpZGVFbGVtZW50cyB9IGZyb20gXCJjb21wb25lbnRzL1NlbGVjdC9ob29rcy91c2VIaWRlRWxlbWVudHNcIjtcbmltcG9ydCB7XG4gIFRhZ1BsYWNlaG9sZGVyLFxuICB0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50LFxufSBmcm9tIFwiLi9jb21wb25lbnRzL1RhZ1BsYWNlaG9sZGVyL1RhZ1BsYWNlaG9sZGVyXCI7XG5cbmNvbnN0IFNlbGVjdENvbXBvbmVudDogRkM8UHJvcHNXaXRoQ2hpbGRyZW48U2VsZWN0UHJvcHM+PiA9IG1lbW8oXG4gICh7XG4gICAgb3B0aW9ucyA9IFtdLFxuICAgIG1vZGUgPSBcInNpbmdsZVwiLFxuICAgIHZhcmlhbnQgPSBcIm91dGxpbmVkXCIsXG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uLFxuICAgIHZhbHVlLFxuICAgIG9wZW4sXG4gICAgcGxhY2Vob2xkZXIsXG4gICAgZHJvcGRvd25NaW5XaWR0aCA9IDEyMCxcbiAgICBkcm9wZG93bk1heEhlaWdodCA9IDQxNCxcbiAgICBhbGxvd0NsZWFyID0gZmFsc2UsXG4gICAgYXV0b0ZvY3VzLFxuICAgIHByZWZpeCxcbiAgICBzdWZmaXhJY29uID0gPERvd25PdXRsaW5lZCAvPixcbiAgICBzdGF0dXMgPSBcImRlZmF1bHRcIixcbiAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgIGRyb3Bkb3duUHJvbXB0LFxuICAgIGxvYWRpbmcgPSBmYWxzZSxcbiAgICBkcm9wZG93bkNsYXNzTmFtZSxcbiAgICBzdHlsZXMsXG4gICAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoID0gdHJ1ZSxcbiAgICBwbGFjZW1lbnQgPSBcImJvdHRvbUxlZnRcIixcbiAgICB2aXJ0dWFsID0gdHJ1ZSxcbiAgICBlbXB0eUNvbnRlbnQgPSBcIlwiLFxuICAgIHNob3dTZWFyY2ggPSBtb2RlID09PSBcInNpbmdsZVwiID8gZmFsc2UgOiB0cnVlLFxuICAgIGZpbHRlck9wdGlvbiA9IHRydWUsXG4gICAgb3B0aW9uRmlsdGVyUHJvcCA9IFwidGl0bGVcIixcbiAgICBzZWFyY2hWYWx1ZSxcbiAgICBub3RGb3VuZENvbnRlbnQsXG4gICAgb3B0aW9uTGFiZWxQcm9wID0gXCJ0aXRsZVwiLFxuICAgIGRyYXdlciA9IGZhbHNlLFxuICAgIGF1dG9DbGVhclNlYXJjaFZhbHVlID0gdHJ1ZSxcbiAgICBtYXhUYWdDb3VudCxcbiAgICBtYXhUYWdUZXh0TGVuZ3RoLFxuICAgIG1heFRhZ1BsYWNlaG9sZGVyLFxuICAgIGZpbHRlclNvcnQsXG4gICAgZHJvcGRvd25SZW5kZXIsXG4gICAgb3B0aW9uUmVuZGVyLFxuICAgIGxhYmVsUmVuZGVyLFxuICAgIG9uQmx1cixcbiAgICBvbkNoYW5nZSxcbiAgICBvbkNsZWFyLFxuICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLFxuICAgIG9uRm9jdXMsXG4gICAgb25JbnB1dEtleURvd24sXG4gICAgb25TZWxlY3QsXG4gICAgZ2V0UG9wdXBDb250YWluZXIgPSAoKSA9PiBkb2N1bWVudC5ib2R5LFxuICAgIG9uU2VhcmNoLFxuICAgIHRhZ1JlbmRlcixcbiAgICBvbkRlc2VsZWN0LFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgeyBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsIHNlYXJjaElucHV0VmFsdWUsIHNlYXJjaEhhbmRsZSwgY2xlYXJTZWFyY2hWYWx1ZSB9ID1cbiAgICAgIHVzZVNlYXJjaCh7XG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIGZpbHRlck9wdGlvbixcbiAgICAgICAgb3B0aW9uRmlsdGVyUHJvcCxcbiAgICAgICAgc2VhcmNoVmFsdWUsXG4gICAgICAgIG9uU2VhcmNoLFxuICAgICAgICBmaWx0ZXJTb3J0LFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRWYWx1ZSwgY2hhbmdlQ3VycmVudFZhbHVlLCByZW1vdmVWYWx1ZSwgY2xlYXJDdXJyZW50VmFsdWUgfSA9IHVzZUN1cnJlbnRWYWx1ZShcbiAgICAgIG1vZGUsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0QWN0aXZlRmlyc3RPcHRpb24sXG4gICAgICBvcHRpb25zLFxuICAgICAgb25EZXNlbGVjdFxuICAgICk7XG5cbiAgICBjb25zdCBbaXNTZWxlY3RPcGVuLCBzZXRJc1NlbGVjdE9wZW5dID0gdXNlU3RhdGUoZGVmYXVsdE9wZW4pO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gdXNlUmVmKHRydWUpO1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3Qgb3B0aW9uc01hcCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3Qgb3B0aW9uTGlzdDogW1NlbGVjdE9wdGlvblZhbHVlLCBTZWxlY3RPcHRpb25JbnRlcmZhY2VdW10gPSBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiBbXG4gICAgICAgIG9wdGlvbi52YWx1ZSxcbiAgICAgICAgb3B0aW9uLFxuICAgICAgXSk7XG5cbiAgICAgIHJldHVybiBuZXcgTWFwKG9wdGlvbkxpc3QpO1xuICAgIH0sIFtvcHRpb25zXSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRTZWxlY3RpbmdJbmRleCwgb25LZXlDb250cm9sLCBzZXRDdXJyZW50U2VsZWN0aW5nSW5kZXggfSA9IHVzZUtleUNvbnRyb2woXG4gICAgICBjdXJyZW50VmFsdWUsXG4gICAgICBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsXG4gICAgICBvcHRpb25zTWFwXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZU9mZnNldFdpZHRoID0gY29udHJvbFJlZi5jdXJyZW50Py5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMgfSA9IHVzZUZsb2F0aW5nPEhUTUxTcGFuRWxlbWVudD4oe1xuICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICBwbGFjZW1lbnQ6IGNvbnZlcnRTZWxlY3RQbGFjZW1lbnQocGxhY2VtZW50KSxcbiAgICAgIG1pZGRsZXdhcmU6IFtvZmZzZXQoNCksIGZsaXAoKV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvV3JhcHBlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb250cm9sUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvSW5wdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgIH0pO1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIWlzSW5pdGlhbE1vdW50LmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgICAgaWYgKGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIG9wdGlvbl07XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICBvbkNoYW5nZT8uKGN1cnJlbnRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW2N1cnJlbnRWYWx1ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0luaXRpYWxNb3VudC5jdXJyZW50KSB7XG4gICAgICAgIGlzSW5pdGlhbE1vdW50LmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPy4oKTtcbiAgICAgIH1cbiAgICB9LCBbaXNTZWxlY3RPcGVuXSk7XG5cbiAgICBjb25zdCBzZWxlY3REZWZhdWx0U3R5bGUgPSBnZXRTZWxlY3REZWZhdWx0U3R5bGUoXG4gICAgICBzdGF0dXMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHZhcmlhbnQsXG4gICAgICBtb2RlID09PSBcIm11bHRpcGxlXCIsXG4gICAgICBpc0hvdmVyLFxuICAgICAgbWF4VGFnQ291bnRcbiAgICApO1xuXG4gICAgY29uc3QgYWN0aXZlVmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IGlzVW5kZWZpbmVkKHZhbHVlKSA/IGN1cnJlbnRWYWx1ZSA6IFt2YWx1ZV07XG5cbiAgICBjb25zdCB7IGNvbnRhaW5lclJlZiwgaXNJdGVtSGlkZGVuIH0gPSB1c2VIaWRlRWxlbWVudHMoXG4gICAgICBhY3RpdmVWYWx1ZXMsXG4gICAgICB0aGVtZS5zcGFjZVhTLFxuICAgICAgYWRkaXRpb25hbEVsZW1lbnRzLFxuICAgICAgaW5wdXRSZWZcbiAgICApO1xuXG4gICAgY29uc3QgY3VycmVudExhYmVsID0gZ2V0TGFiZWwoYWN0aXZlVmFsdWVzLCBvcHRpb25zTWFwLCBvcHRpb25MYWJlbFByb3ApO1xuXG4gICAgY29uc3Qgd2l0aERyYXdlciA9IG1vZGUgPT09IFwibXVsdGlwbGVcIiAmJiBkcmF3ZXI7XG4gICAgY29uc3Qgd2l0aEF1dG9DbGVhciA9IG1vZGUgPT09IFwic2luZ2xlXCIgfHwgYXV0b0NsZWFyU2VhcmNoVmFsdWU7XG5cbiAgICBjb25zdCBjbGlja0hhbmRsZSA9ICgpID0+IHtcbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldElzU2VsZWN0T3BlbigocHJldikgPT4gIXByZXYpO1xuICAgIH07XG5cbiAgICBjb25zdCBjaGFuZ2VIYW5kbGUgPSB1c2VDYWxsYmFjayhcbiAgICAgICh2YWx1ZTogU2VsZWN0T3B0aW9uVmFsdWUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY2hhbmdlQ3VycmVudFZhbHVlKHZhbHVlKTtcbiAgICAgICAgc2V0Q3VycmVudFNlbGVjdGluZ0luZGV4KGluZGV4KTtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgIGlmICh3aXRoQXV0b0NsZWFyKSB7XG4gICAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgIG9uU2VsZWN0Py4odmFsdWUsIG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZSxcbiAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSxcbiAgICAgICAgb25TZWxlY3QsXG4gICAgICAgIG9wdGlvbnNNYXAsXG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3RpbmdJbmRleCxcbiAgICAgICAgd2l0aEF1dG9DbGVhcixcbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgY2xvc2VPcHRpb25MaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0SXNTZWxlY3RPcGVuKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBibHVySGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGlzRm9jdXNPbk9wdGlvbkxpc3QgPSByZWZzLmZsb2F0aW5nLmN1cnJlbnQgPT09IGUucmVsYXRlZFRhcmdldDtcbiAgICAgIGNvbnN0IGlzRm9jdXNPblNlYXJjaElucHV0ID1cbiAgICAgICAgIWlzTnVsbChpbnB1dFJlZi5jdXJyZW50KSAmJiBlLnJlbGF0ZWRUYXJnZXQgPT09IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCBpc0ZvY3VzT25Db250cm9sID0gZS5yZWxhdGVkVGFyZ2V0ID09PSBjb250cm9sUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmIChpc0ZvY3VzT25PcHRpb25MaXN0IHx8IGlzRm9jdXNPblNlYXJjaElucHV0IHx8IGlzRm9jdXNPbkNvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBvbkJsdXI/LihlKTtcbiAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgIGNsb3NlT3B0aW9uTGlzdCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbGVhclNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNsZWFyQ3VycmVudFZhbHVlKCk7XG4gICAgICAgIG9uQ2xlYXI/LigpO1xuICAgICAgfSxcbiAgICAgIFtjbGVhckN1cnJlbnRWYWx1ZSwgb25DbGVhcl1cbiAgICApO1xuXG4gICAgY29uc3Qga2V5RG93bkhhbmRsZXIgPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgaWYgKGlzU2VsZWN0T3Blbikge1xuICAgICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZShmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnNbY3VycmVudFNlbGVjdGluZ0luZGV4XT8udmFsdWUpO1xuXG4gICAgICAgICAgaWYgKHdpdGhBdXRvQ2xlYXIpIHtcbiAgICAgICAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjbGlja0hhbmRsZSgpO1xuICAgICAgfVxuXG4gICAgICBzZXRJc1NlbGVjdE9wZW4odHJ1ZSk7XG5cbiAgICAgIG9uS2V5Q29udHJvbChlKTtcbiAgICAgIG9uSW5wdXRLZXlEb3duPy4oZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3ZlckhhbmRsZSA9ICgpID0+IHtcbiAgICAgIHNldElzSG92ZXIodHJ1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3V0SGFuZGxlID0gKCkgPT4ge1xuICAgICAgc2V0SXNIb3ZlcihmYWxzZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZvY3VzSGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIG9uRm9jdXM/LihlKTtcblxuICAgICAgaWYgKCFzaG93U2VhcmNoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuRm9jdXNUb0lucHV0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclRhZ1BsYWNlaG9sZGVyID0gKGhpZGRlbkVsZW1lbnRzQ291bnRlcjogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaXNVbmRlZmluZWQobWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8VGFnUGxhY2Vob2xkZXIgaGlkZGVuRWxlbWVudHNDb3VudGVyPXtoaWRkZW5FbGVtZW50c0NvdW50ZXJ9IC8+O1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24obWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcn08L3NwYW4+O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoaWRkZW5FbGVtZW50cyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSGlkZGVuID0gaXNJdGVtSGlkZGVuLmdldCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzSGlkZGVuIHx8IGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgYWNjLnB1c2gob3B0aW9uKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50cyl9PC9zcGFuPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVuZGVyTGFiZWwgPSAodmFsdWVzOiBTZWxlY3RPcHRpb25WYWx1ZVtdLCBjdXJyZW50TGFiZWw6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmxlTGFiZWxzID0gZ2V0VmlzaWJsZUxhYmVscyhjdXJyZW50TGFiZWwsIHZhbHVlcywgbWF4VGFnQ291bnQsIGlzSXRlbUhpZGRlbik7XG5cbiAgICAgIGNvbnN0IGxhYmVsID0gdmlzaWJsZUxhYmVscy5tYXAoKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpbmRleF07XG5cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24obGFiZWxSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsUmVuZGVyKHsgbGFiZWwsIHZhbHVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vZGUgPT09IFwic2luZ2xlXCIpIHtcbiAgICAgICAgICByZXR1cm4gbGFiZWw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGdW5jdGlvbih0YWdSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIHRhZ1JlbmRlcihsYWJlbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTZWxlY3RUYWdcbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgICAgIG1heFRhZ1RleHRMZW5ndGg9e21heFRhZ1RleHRMZW5ndGh9XG4gICAgICAgICAgICBpc0JvcmRlcmxlc3M9e3ZhcmlhbnQgPT09IFwiYm9yZGVybGVzc1wifVxuICAgICAgICAgICAgaXNFcnJvcj17c3RhdHVzID09PSBcImVycm9yXCJ9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBrZXk9e3ZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHNDb3VudGVyID0gY3VycmVudExhYmVsLmxlbmd0aCAtIGxhYmVsLmxlbmd0aDtcblxuICAgICAgY29uc3Qgd2l0aFRhZ1BsYWNlaG9sZGVyID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG1heFRhZ0NvdW50KSAmJiBtb2RlID09PSBcIm11bHRpcGxlXCIgJiYgaGlkZGVuRWxlbWVudHNDb3VudGVyID4gMDtcblxuICAgICAgaWYgKGxhYmVsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAge3dpdGhUYWdQbGFjZWhvbGRlciAmJiByZW5kZXJUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50c0NvdW50ZXIpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclN1ZmZpeCA9ICgpID0+IHtcbiAgICAgIGlmICh3aXRoRHJhd2VyKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEJhcnNPdXRsaW5lZFxuICAgICAgICAgICAgb25DbGljaz17Y2xpY2tIYW5kbGV9XG4gICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuZHJhd2VySWNvbih0aGVtZSksIHN0eWxlcz8uZHJhd2VySWNvbj8uKHRoZW1lKV19XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3dTZWFyY2ggJiYgaXNTZWxlY3RPcGVuKSB7XG4gICAgICAgIHJldHVybiA8U2VhcmNoT3V0bGluZWQgLz47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdWZmaXhJY29uO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJQbGFjZWhvbGRlciA9ICgpID0+IChcbiAgICAgIDxzcGFuIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wbGFjZWhvbGRlcih0aGVtZSksIHN0eWxlcz8ucGxhY2Vob2xkZXI/Lih0aGVtZSldfT5cbiAgICAgICAge3BsYWNlaG9sZGVyfVxuICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgICBjb25zdCB3aXRoQ2xlYXJCdXR0b24gPSBhbGxvd0NsZWFyICYmICEhYWN0aXZlVmFsdWVzLmxlbmd0aDtcblxuICAgIGNvbnN0IGlucHV0VmFsdWUgPVxuICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiIHx8IGlzU2VsZWN0T3BlbiA/IChzZWFyY2hWYWx1ZSA/PyBzZWFyY2hJbnB1dFZhbHVlKSA6IGN1cnJlbnRMYWJlbFswXTtcblxuICAgIGNvbnN0IGlzRW1wdHkgPSBhY3RpdmVWYWx1ZXMubGVuZ3RoID09PSAwO1xuICAgIGNvbnN0IHNpbmdsZU1vZFBsYWNlaG9sZGVyID0gY3VycmVudExhYmVsWzBdID8/IHBsYWNlaG9sZGVyID8/IFwiXCI7XG4gICAgY29uc3QgbXVsdGlwbGVNb2RQbGFjZWhvbGRlciA9IGlzRW1wdHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHNlYXJjaElucHV0UGxhY2Vob2xkZXIgPVxuICAgICAgbW9kZSA9PT0gXCJzaW5nbGVcIiA/IHNpbmdsZU1vZFBsYWNlaG9sZGVyIDogbXVsdGlwbGVNb2RQbGFjZWhvbGRlcjtcblxuICAgIGNvbnN0IGxldHRlcnNOdW1iZXIgPSAoaW5wdXRWYWx1ZT8ubGVuZ3RoID8/IDApICsgMTtcblxuICAgIGNvbnN0IGhhc0ljb25QcmVmaXggPSB0eXBlb2YgcHJlZml4ID09PSBcIm9iamVjdFwiO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgdGFiSW5kZXg9ezF9XG4gICAgICAgIG9uS2V5RG93bj17a2V5RG93bkhhbmRsZXJ9XG4gICAgICAgIG9uTW91c2VPdmVyPXttb3VzZU92ZXJIYW5kbGV9XG4gICAgICAgIG9uTW91c2VPdXQ9e21vdXNlT3V0SGFuZGxlfVxuICAgICAgICBvbkZvY3VzPXtmb2N1c0hhbmRsZX1cbiAgICAgICAgb25CbHVyPXtibHVySGFuZGxlfVxuICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1c31cbiAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5ib2R5KHRoZW1lKSwgc3R5bGVzPy5ib2R5Py4odGhlbWUpXX1cbiAgICAgICAgICBvbkNsaWNrPXshd2l0aERyYXdlciA/IGNsaWNrSGFuZGxlIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHJlZj17cmVmcy5zZXRSZWZlcmVuY2V9XG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLnByZWZpeEFuZENvbnRlbnQodGhlbWUpLCBzdHlsZXM/LnByZWZpeEFuZENvbnRlbnQ/Lih0aGVtZSldfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtwcmVmaXggJiYgKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wcmVmaXgoaGFzSWNvblByZWZpeCkodGhlbWUpLCBzdHlsZXM/LnByZWZpeD8uKHRoZW1lKV19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cHJlZml4fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd1NlYXJjaCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gcmVmPXtjb250YWluZXJSZWZ9IGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLmNvbnRlbnQodGhlbWUpfT5cbiAgICAgICAgICAgICAgICB7bW9kZSA9PT0gXCJtdWx0aXBsZVwiICYmIHJlbmRlckxhYmVsKGFjdGl2ZVZhbHVlcywgY3VycmVudExhYmVsKX1cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLnNlYXJjaElucHV0KHRoZW1lKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFZhbHVlID8/IFwiXCJ9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2VhcmNoSGFuZGxlfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaElucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e2dldFNlbGVjdFNlYXJjaElucHV0V2lkdGhTdHlsZShcbiAgICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiLFxuICAgICAgICAgICAgICAgICAgICBpc0VtcHR5LFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJzTnVtYmVyXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwic2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5jb250ZW50KHRoZW1lKSwgc3R5bGVzPy5jb250ZW50Py4odGhlbWUpXX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtyZW5kZXJMYWJlbChjdXJyZW50VmFsdWUsIGN1cnJlbnRMYWJlbCkgPz8gcmVuZGVyUGxhY2Vob2xkZXIoKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICB7d2l0aENsZWFyQnV0dG9uICYmIChcbiAgICAgICAgICAgIDxDbG9zZUNpcmNsZUZpbGxlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjbGVhbi1idXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtjbGVhclNlbGVjdH1cbiAgICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLmNsZWFuSWNvbih0aGVtZSksIHN0eWxlcz8uY2xlYW5JY29uPy4odGhlbWUpXX1cbiAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwiY2xlYW4tYnV0dG9uXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8c3BhbiBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuc3VmZml4SWNvbih0aGVtZSksIHN0eWxlcz8uc3VmZml4SWNvbj8uKHRoZW1lKV19PlxuICAgICAgICAgICAge3JlbmRlclN1ZmZpeCgpfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxTZWxlY3RPcHRpb25MaXN0XG4gICAgICAgICAgb3B0aW9ucz17ZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zfVxuICAgICAgICAgIGN1cnJlbnRWYWx1ZT17YWN0aXZlVmFsdWVzfVxuICAgICAgICAgIHNob3dPcHRpb25MaXN0PXtvcGVuID8/IGlzU2VsZWN0T3Blbn1cbiAgICAgICAgICBzZXRWYWx1ZT17Y2hhbmdlSGFuZGxlfVxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdD17Y2xvc2VPcHRpb25MaXN0fVxuICAgICAgICAgIGRyb3Bkb3duTWluV2lkdGg9e2Ryb3Bkb3duTWluV2lkdGh9XG4gICAgICAgICAgZHJvcGRvd25NYXhIZWlnaHQ9e2Ryb3Bkb3duTWF4SGVpZ2h0fVxuICAgICAgICAgIHJldHVybkZvY3VzVG9XcmFwcGVyPXtyZXR1cm5Gb2N1c1RvV3JhcHBlcn1cbiAgICAgICAgICBkcm9wZG93blByb21wdD17ZHJvcGRvd25Qcm9tcHR9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBkcm9wZG93bkNsYXNzTmFtZT17ZHJvcGRvd25DbGFzc05hbWV9XG4gICAgICAgICAgc3R5bGVzPXtzdHlsZXM/LmRyb3Bkb3duU3R5bGV9XG4gICAgICAgICAgZHJvcGRvd25SZW5kZXI9e2Ryb3Bkb3duUmVuZGVyfVxuICAgICAgICAgIG9wdGlvblJlbmRlcj17b3B0aW9uUmVuZGVyfVxuICAgICAgICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD17ZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRofVxuICAgICAgICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoPXtyZWZlcmVuY2VPZmZzZXRXaWR0aH1cbiAgICAgICAgICBmbG9hdGluZ1N0eWxlcz17ZmxvYXRpbmdTdHlsZXN9XG4gICAgICAgICAgc2V0RmxvYXRpbmc9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgZmxvYXRpbmdSZWY9e3JlZnMuZmxvYXRpbmd9XG4gICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9e2dldFBvcHVwQ29udGFpbmVyfVxuICAgICAgICAgIHZpcnR1YWw9e3ZpcnR1YWx9XG4gICAgICAgICAgY3VycmVudFNlbGVjdGluZ0luZGV4PXtjdXJyZW50U2VsZWN0aW5nSW5kZXh9XG4gICAgICAgICAgZW1wdHlDb250ZW50PXtlbXB0eUNvbnRlbnR9XG4gICAgICAgICAgbm90Rm91bmRDb250ZW50PXtub3RGb3VuZENvbnRlbnR9XG4gICAgICAgICAgc2VhcmNoVmFsdWU9e3NlYXJjaFZhbHVlID8/IHNlYXJjaElucHV0VmFsdWV9XG4gICAgICAgICAgc2hvd1NlYXJjaD17c2hvd1NlYXJjaH1cbiAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0ID0gd2l0aFRoZW1lUHJvdmlkZXI8U2VsZWN0UHJvcHM+KFNlbGVjdENvbXBvbmVudCk7XG4iXX0= */"] });
269
- }
270
- if (showSearch && isSelectOpen) {
271
- return /* @__PURE__ */ jsx(SearchOutlined, {});
272
- }
273
- return suffixIcon;
274
- };
275
- const renderPlaceholder = () => {
276
- var _a2;
277
- return /* @__PURE__ */ jsx("span", { css: [selectDefaultStyle.placeholder(theme), (_a2 = styles == null ? void 0 : styles.placeholder) == null ? void 0 : _a2.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:renderPlaceholder;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNllZIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEZDLFxuICB0eXBlIEZvY3VzRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgbWVtbyxcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgU2VsZWN0UHJvcHMgfSBmcm9tIFwiLi9TZWxlY3QudHlwZXNcIjtcbmltcG9ydCB7IHdpdGhUaGVtZVByb3ZpZGVyIH0gZnJvbSBcImhvY3Mvd2l0aFRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIHtcbiAgU2VsZWN0T3B0aW9uSW50ZXJmYWNlLFxuICBTZWxlY3RPcHRpb25WYWx1ZSxcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb24vU2VsZWN0T3B0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25MaXN0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb25MaXN0L1NlbGVjdE9wdGlvbkxpc3RcIjtcbmltcG9ydCB7IGdldFNlbGVjdERlZmF1bHRTdHlsZSwgZ2V0U2VsZWN0U2VhcmNoSW5wdXRXaWR0aFN0eWxlIH0gZnJvbSBcIi4vU2VsZWN0LnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEJhcnNPdXRsaW5lZCwgQ2xvc2VDaXJjbGVGaWxsZWQsIERvd25PdXRsaW5lZCwgU2VhcmNoT3V0bGluZWQgfSBmcm9tIFwiQGluZm9tYXhpbXVtL2ljb25zXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc051bGwsIGlzVW5kZWZpbmVkIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgYXV0b1VwZGF0ZSwgZmxpcCwgb2Zmc2V0LCB1c2VGbG9hdGluZyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIGFkZGl0aW9uYWxFbGVtZW50cyxcbiAgY29udmVydFNlbGVjdFBsYWNlbWVudCxcbiAgZ2V0TGFiZWwsXG4gIGdldFZpc2libGVMYWJlbHMsXG59IGZyb20gXCIuL1NlbGVjdC51dGlsc1wiO1xuaW1wb3J0IHsgdXNlS2V5Q29udHJvbCB9IGZyb20gXCIuL2hvb2tzL3VzZUtleUNvbnRyb2xcIjtcbmltcG9ydCB7IHVzZVNlYXJjaCB9IGZyb20gXCIuL2hvb2tzL3VzZVNlYXJjaFwiO1xuaW1wb3J0IHsgdXNlQ3VycmVudFZhbHVlIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VycmVudFZhbHVlXCI7XG5pbXBvcnQgeyBTZWxlY3RUYWcgfSBmcm9tIFwiLi9jb21wb25lbnRzL1NlbGVjdFRhZy9TZWxlY3RUYWdcIjtcbmltcG9ydCB7IHVzZUhpZGVFbGVtZW50cyB9IGZyb20gXCJjb21wb25lbnRzL1NlbGVjdC9ob29rcy91c2VIaWRlRWxlbWVudHNcIjtcbmltcG9ydCB7XG4gIFRhZ1BsYWNlaG9sZGVyLFxuICB0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50LFxufSBmcm9tIFwiLi9jb21wb25lbnRzL1RhZ1BsYWNlaG9sZGVyL1RhZ1BsYWNlaG9sZGVyXCI7XG5cbmNvbnN0IFNlbGVjdENvbXBvbmVudDogRkM8UHJvcHNXaXRoQ2hpbGRyZW48U2VsZWN0UHJvcHM+PiA9IG1lbW8oXG4gICh7XG4gICAgb3B0aW9ucyA9IFtdLFxuICAgIG1vZGUgPSBcInNpbmdsZVwiLFxuICAgIHZhcmlhbnQgPSBcIm91dGxpbmVkXCIsXG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uLFxuICAgIHZhbHVlLFxuICAgIG9wZW4sXG4gICAgcGxhY2Vob2xkZXIsXG4gICAgZHJvcGRvd25NaW5XaWR0aCA9IDEyMCxcbiAgICBkcm9wZG93bk1heEhlaWdodCA9IDQxNCxcbiAgICBhbGxvd0NsZWFyID0gZmFsc2UsXG4gICAgYXV0b0ZvY3VzLFxuICAgIHByZWZpeCxcbiAgICBzdWZmaXhJY29uID0gPERvd25PdXRsaW5lZCAvPixcbiAgICBzdGF0dXMgPSBcImRlZmF1bHRcIixcbiAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgIGRyb3Bkb3duUHJvbXB0LFxuICAgIGxvYWRpbmcgPSBmYWxzZSxcbiAgICBkcm9wZG93bkNsYXNzTmFtZSxcbiAgICBzdHlsZXMsXG4gICAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoID0gdHJ1ZSxcbiAgICBwbGFjZW1lbnQgPSBcImJvdHRvbUxlZnRcIixcbiAgICB2aXJ0dWFsID0gdHJ1ZSxcbiAgICBlbXB0eUNvbnRlbnQgPSBcIlwiLFxuICAgIHNob3dTZWFyY2ggPSBtb2RlID09PSBcInNpbmdsZVwiID8gZmFsc2UgOiB0cnVlLFxuICAgIGZpbHRlck9wdGlvbiA9IHRydWUsXG4gICAgb3B0aW9uRmlsdGVyUHJvcCA9IFwidGl0bGVcIixcbiAgICBzZWFyY2hWYWx1ZSxcbiAgICBub3RGb3VuZENvbnRlbnQsXG4gICAgb3B0aW9uTGFiZWxQcm9wID0gXCJ0aXRsZVwiLFxuICAgIGRyYXdlciA9IGZhbHNlLFxuICAgIGF1dG9DbGVhclNlYXJjaFZhbHVlID0gdHJ1ZSxcbiAgICBtYXhUYWdDb3VudCxcbiAgICBtYXhUYWdUZXh0TGVuZ3RoLFxuICAgIG1heFRhZ1BsYWNlaG9sZGVyLFxuICAgIGZpbHRlclNvcnQsXG4gICAgZHJvcGRvd25SZW5kZXIsXG4gICAgb3B0aW9uUmVuZGVyLFxuICAgIGxhYmVsUmVuZGVyLFxuICAgIG9uQmx1cixcbiAgICBvbkNoYW5nZSxcbiAgICBvbkNsZWFyLFxuICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLFxuICAgIG9uRm9jdXMsXG4gICAgb25JbnB1dEtleURvd24sXG4gICAgb25TZWxlY3QsXG4gICAgZ2V0UG9wdXBDb250YWluZXIgPSAoKSA9PiBkb2N1bWVudC5ib2R5LFxuICAgIG9uU2VhcmNoLFxuICAgIHRhZ1JlbmRlcixcbiAgICBvbkRlc2VsZWN0LFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgeyBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsIHNlYXJjaElucHV0VmFsdWUsIHNlYXJjaEhhbmRsZSwgY2xlYXJTZWFyY2hWYWx1ZSB9ID1cbiAgICAgIHVzZVNlYXJjaCh7XG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIGZpbHRlck9wdGlvbixcbiAgICAgICAgb3B0aW9uRmlsdGVyUHJvcCxcbiAgICAgICAgc2VhcmNoVmFsdWUsXG4gICAgICAgIG9uU2VhcmNoLFxuICAgICAgICBmaWx0ZXJTb3J0LFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRWYWx1ZSwgY2hhbmdlQ3VycmVudFZhbHVlLCByZW1vdmVWYWx1ZSwgY2xlYXJDdXJyZW50VmFsdWUgfSA9IHVzZUN1cnJlbnRWYWx1ZShcbiAgICAgIG1vZGUsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0QWN0aXZlRmlyc3RPcHRpb24sXG4gICAgICBvcHRpb25zLFxuICAgICAgb25EZXNlbGVjdFxuICAgICk7XG5cbiAgICBjb25zdCBbaXNTZWxlY3RPcGVuLCBzZXRJc1NlbGVjdE9wZW5dID0gdXNlU3RhdGUoZGVmYXVsdE9wZW4pO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gdXNlUmVmKHRydWUpO1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3Qgb3B0aW9uc01hcCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3Qgb3B0aW9uTGlzdDogW1NlbGVjdE9wdGlvblZhbHVlLCBTZWxlY3RPcHRpb25JbnRlcmZhY2VdW10gPSBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiBbXG4gICAgICAgIG9wdGlvbi52YWx1ZSxcbiAgICAgICAgb3B0aW9uLFxuICAgICAgXSk7XG5cbiAgICAgIHJldHVybiBuZXcgTWFwKG9wdGlvbkxpc3QpO1xuICAgIH0sIFtvcHRpb25zXSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRTZWxlY3RpbmdJbmRleCwgb25LZXlDb250cm9sLCBzZXRDdXJyZW50U2VsZWN0aW5nSW5kZXggfSA9IHVzZUtleUNvbnRyb2woXG4gICAgICBjdXJyZW50VmFsdWUsXG4gICAgICBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsXG4gICAgICBvcHRpb25zTWFwXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZU9mZnNldFdpZHRoID0gY29udHJvbFJlZi5jdXJyZW50Py5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMgfSA9IHVzZUZsb2F0aW5nPEhUTUxTcGFuRWxlbWVudD4oe1xuICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICBwbGFjZW1lbnQ6IGNvbnZlcnRTZWxlY3RQbGFjZW1lbnQocGxhY2VtZW50KSxcbiAgICAgIG1pZGRsZXdhcmU6IFtvZmZzZXQoNCksIGZsaXAoKV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvV3JhcHBlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb250cm9sUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvSW5wdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgIH0pO1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIWlzSW5pdGlhbE1vdW50LmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgICAgaWYgKGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIG9wdGlvbl07XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICBvbkNoYW5nZT8uKGN1cnJlbnRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW2N1cnJlbnRWYWx1ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0luaXRpYWxNb3VudC5jdXJyZW50KSB7XG4gICAgICAgIGlzSW5pdGlhbE1vdW50LmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPy4oKTtcbiAgICAgIH1cbiAgICB9LCBbaXNTZWxlY3RPcGVuXSk7XG5cbiAgICBjb25zdCBzZWxlY3REZWZhdWx0U3R5bGUgPSBnZXRTZWxlY3REZWZhdWx0U3R5bGUoXG4gICAgICBzdGF0dXMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHZhcmlhbnQsXG4gICAgICBtb2RlID09PSBcIm11bHRpcGxlXCIsXG4gICAgICBpc0hvdmVyLFxuICAgICAgbWF4VGFnQ291bnRcbiAgICApO1xuXG4gICAgY29uc3QgYWN0aXZlVmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IGlzVW5kZWZpbmVkKHZhbHVlKSA/IGN1cnJlbnRWYWx1ZSA6IFt2YWx1ZV07XG5cbiAgICBjb25zdCB7IGNvbnRhaW5lclJlZiwgaXNJdGVtSGlkZGVuIH0gPSB1c2VIaWRlRWxlbWVudHMoXG4gICAgICBhY3RpdmVWYWx1ZXMsXG4gICAgICB0aGVtZS5zcGFjZVhTLFxuICAgICAgYWRkaXRpb25hbEVsZW1lbnRzLFxuICAgICAgaW5wdXRSZWZcbiAgICApO1xuXG4gICAgY29uc3QgY3VycmVudExhYmVsID0gZ2V0TGFiZWwoYWN0aXZlVmFsdWVzLCBvcHRpb25zTWFwLCBvcHRpb25MYWJlbFByb3ApO1xuXG4gICAgY29uc3Qgd2l0aERyYXdlciA9IG1vZGUgPT09IFwibXVsdGlwbGVcIiAmJiBkcmF3ZXI7XG4gICAgY29uc3Qgd2l0aEF1dG9DbGVhciA9IG1vZGUgPT09IFwic2luZ2xlXCIgfHwgYXV0b0NsZWFyU2VhcmNoVmFsdWU7XG5cbiAgICBjb25zdCBjbGlja0hhbmRsZSA9ICgpID0+IHtcbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldElzU2VsZWN0T3BlbigocHJldikgPT4gIXByZXYpO1xuICAgIH07XG5cbiAgICBjb25zdCBjaGFuZ2VIYW5kbGUgPSB1c2VDYWxsYmFjayhcbiAgICAgICh2YWx1ZTogU2VsZWN0T3B0aW9uVmFsdWUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY2hhbmdlQ3VycmVudFZhbHVlKHZhbHVlKTtcbiAgICAgICAgc2V0Q3VycmVudFNlbGVjdGluZ0luZGV4KGluZGV4KTtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgIGlmICh3aXRoQXV0b0NsZWFyKSB7XG4gICAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgIG9uU2VsZWN0Py4odmFsdWUsIG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZSxcbiAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSxcbiAgICAgICAgb25TZWxlY3QsXG4gICAgICAgIG9wdGlvbnNNYXAsXG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3RpbmdJbmRleCxcbiAgICAgICAgd2l0aEF1dG9DbGVhcixcbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgY2xvc2VPcHRpb25MaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0SXNTZWxlY3RPcGVuKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBibHVySGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGlzRm9jdXNPbk9wdGlvbkxpc3QgPSByZWZzLmZsb2F0aW5nLmN1cnJlbnQgPT09IGUucmVsYXRlZFRhcmdldDtcbiAgICAgIGNvbnN0IGlzRm9jdXNPblNlYXJjaElucHV0ID1cbiAgICAgICAgIWlzTnVsbChpbnB1dFJlZi5jdXJyZW50KSAmJiBlLnJlbGF0ZWRUYXJnZXQgPT09IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCBpc0ZvY3VzT25Db250cm9sID0gZS5yZWxhdGVkVGFyZ2V0ID09PSBjb250cm9sUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmIChpc0ZvY3VzT25PcHRpb25MaXN0IHx8IGlzRm9jdXNPblNlYXJjaElucHV0IHx8IGlzRm9jdXNPbkNvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBvbkJsdXI/LihlKTtcbiAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgIGNsb3NlT3B0aW9uTGlzdCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbGVhclNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNsZWFyQ3VycmVudFZhbHVlKCk7XG4gICAgICAgIG9uQ2xlYXI/LigpO1xuICAgICAgfSxcbiAgICAgIFtjbGVhckN1cnJlbnRWYWx1ZSwgb25DbGVhcl1cbiAgICApO1xuXG4gICAgY29uc3Qga2V5RG93bkhhbmRsZXIgPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgaWYgKGlzU2VsZWN0T3Blbikge1xuICAgICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZShmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnNbY3VycmVudFNlbGVjdGluZ0luZGV4XT8udmFsdWUpO1xuXG4gICAgICAgICAgaWYgKHdpdGhBdXRvQ2xlYXIpIHtcbiAgICAgICAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjbGlja0hhbmRsZSgpO1xuICAgICAgfVxuXG4gICAgICBzZXRJc1NlbGVjdE9wZW4odHJ1ZSk7XG5cbiAgICAgIG9uS2V5Q29udHJvbChlKTtcbiAgICAgIG9uSW5wdXRLZXlEb3duPy4oZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3ZlckhhbmRsZSA9ICgpID0+IHtcbiAgICAgIHNldElzSG92ZXIodHJ1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3V0SGFuZGxlID0gKCkgPT4ge1xuICAgICAgc2V0SXNIb3ZlcihmYWxzZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZvY3VzSGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIG9uRm9jdXM/LihlKTtcblxuICAgICAgaWYgKCFzaG93U2VhcmNoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuRm9jdXNUb0lucHV0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclRhZ1BsYWNlaG9sZGVyID0gKGhpZGRlbkVsZW1lbnRzQ291bnRlcjogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaXNVbmRlZmluZWQobWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8VGFnUGxhY2Vob2xkZXIgaGlkZGVuRWxlbWVudHNDb3VudGVyPXtoaWRkZW5FbGVtZW50c0NvdW50ZXJ9IC8+O1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24obWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcn08L3NwYW4+O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoaWRkZW5FbGVtZW50cyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSGlkZGVuID0gaXNJdGVtSGlkZGVuLmdldCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzSGlkZGVuIHx8IGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgYWNjLnB1c2gob3B0aW9uKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50cyl9PC9zcGFuPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVuZGVyTGFiZWwgPSAodmFsdWVzOiBTZWxlY3RPcHRpb25WYWx1ZVtdLCBjdXJyZW50TGFiZWw6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmxlTGFiZWxzID0gZ2V0VmlzaWJsZUxhYmVscyhjdXJyZW50TGFiZWwsIHZhbHVlcywgbWF4VGFnQ291bnQsIGlzSXRlbUhpZGRlbik7XG5cbiAgICAgIGNvbnN0IGxhYmVsID0gdmlzaWJsZUxhYmVscy5tYXAoKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpbmRleF07XG5cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24obGFiZWxSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsUmVuZGVyKHsgbGFiZWwsIHZhbHVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vZGUgPT09IFwic2luZ2xlXCIpIHtcbiAgICAgICAgICByZXR1cm4gbGFiZWw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGdW5jdGlvbih0YWdSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIHRhZ1JlbmRlcihsYWJlbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTZWxlY3RUYWdcbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgICAgIG1heFRhZ1RleHRMZW5ndGg9e21heFRhZ1RleHRMZW5ndGh9XG4gICAgICAgICAgICBpc0JvcmRlcmxlc3M9e3ZhcmlhbnQgPT09IFwiYm9yZGVybGVzc1wifVxuICAgICAgICAgICAgaXNFcnJvcj17c3RhdHVzID09PSBcImVycm9yXCJ9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBrZXk9e3ZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHNDb3VudGVyID0gY3VycmVudExhYmVsLmxlbmd0aCAtIGxhYmVsLmxlbmd0aDtcblxuICAgICAgY29uc3Qgd2l0aFRhZ1BsYWNlaG9sZGVyID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG1heFRhZ0NvdW50KSAmJiBtb2RlID09PSBcIm11bHRpcGxlXCIgJiYgaGlkZGVuRWxlbWVudHNDb3VudGVyID4gMDtcblxuICAgICAgaWYgKGxhYmVsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAge3dpdGhUYWdQbGFjZWhvbGRlciAmJiByZW5kZXJUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50c0NvdW50ZXIpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclN1ZmZpeCA9ICgpID0+IHtcbiAgICAgIGlmICh3aXRoRHJhd2VyKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEJhcnNPdXRsaW5lZFxuICAgICAgICAgICAgb25DbGljaz17Y2xpY2tIYW5kbGV9XG4gICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuZHJhd2VySWNvbih0aGVtZSksIHN0eWxlcz8uZHJhd2VySWNvbj8uKHRoZW1lKV19XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3dTZWFyY2ggJiYgaXNTZWxlY3RPcGVuKSB7XG4gICAgICAgIHJldHVybiA8U2VhcmNoT3V0bGluZWQgLz47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdWZmaXhJY29uO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJQbGFjZWhvbGRlciA9ICgpID0+IChcbiAgICAgIDxzcGFuIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wbGFjZWhvbGRlcih0aGVtZSksIHN0eWxlcz8ucGxhY2Vob2xkZXI/Lih0aGVtZSldfT5cbiAgICAgICAge3BsYWNlaG9sZGVyfVxuICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgICBjb25zdCB3aXRoQ2xlYXJCdXR0b24gPSBhbGxvd0NsZWFyICYmICEhYWN0aXZlVmFsdWVzLmxlbmd0aDtcblxuICAgIGNvbnN0IGlucHV0VmFsdWUgPVxuICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiIHx8IGlzU2VsZWN0T3BlbiA/IChzZWFyY2hWYWx1ZSA/PyBzZWFyY2hJbnB1dFZhbHVlKSA6IGN1cnJlbnRMYWJlbFswXTtcblxuICAgIGNvbnN0IGlzRW1wdHkgPSBhY3RpdmVWYWx1ZXMubGVuZ3RoID09PSAwO1xuICAgIGNvbnN0IHNpbmdsZU1vZFBsYWNlaG9sZGVyID0gY3VycmVudExhYmVsWzBdID8/IHBsYWNlaG9sZGVyID8/IFwiXCI7XG4gICAgY29uc3QgbXVsdGlwbGVNb2RQbGFjZWhvbGRlciA9IGlzRW1wdHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHNlYXJjaElucHV0UGxhY2Vob2xkZXIgPVxuICAgICAgbW9kZSA9PT0gXCJzaW5nbGVcIiA/IHNpbmdsZU1vZFBsYWNlaG9sZGVyIDogbXVsdGlwbGVNb2RQbGFjZWhvbGRlcjtcblxuICAgIGNvbnN0IGxldHRlcnNOdW1iZXIgPSAoaW5wdXRWYWx1ZT8ubGVuZ3RoID8/IDApICsgMTtcblxuICAgIGNvbnN0IGhhc0ljb25QcmVmaXggPSB0eXBlb2YgcHJlZml4ID09PSBcIm9iamVjdFwiO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgdGFiSW5kZXg9ezF9XG4gICAgICAgIG9uS2V5RG93bj17a2V5RG93bkhhbmRsZXJ9XG4gICAgICAgIG9uTW91c2VPdmVyPXttb3VzZU92ZXJIYW5kbGV9XG4gICAgICAgIG9uTW91c2VPdXQ9e21vdXNlT3V0SGFuZGxlfVxuICAgICAgICBvbkZvY3VzPXtmb2N1c0hhbmRsZX1cbiAgICAgICAgb25CbHVyPXtibHVySGFuZGxlfVxuICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1c31cbiAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5ib2R5KHRoZW1lKSwgc3R5bGVzPy5ib2R5Py4odGhlbWUpXX1cbiAgICAgICAgICBvbkNsaWNrPXshd2l0aERyYXdlciA/IGNsaWNrSGFuZGxlIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHJlZj17cmVmcy5zZXRSZWZlcmVuY2V9XG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLnByZWZpeEFuZENvbnRlbnQodGhlbWUpLCBzdHlsZXM/LnByZWZpeEFuZENvbnRlbnQ/Lih0aGVtZSldfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtwcmVmaXggJiYgKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wcmVmaXgoaGFzSWNvblByZWZpeCkodGhlbWUpLCBzdHlsZXM/LnByZWZpeD8uKHRoZW1lKV19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cHJlZml4fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd1NlYXJjaCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gcmVmPXtjb250YWluZXJSZWZ9IGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLmNvbnRlbnQodGhlbWUpfT5cbiAgICAgICAgICAgICAgICB7bW9kZSA9PT0gXCJtdWx0aXBsZVwiICYmIHJlbmRlckxhYmVsKGFjdGl2ZVZhbHVlcywgY3VycmVudExhYmVsKX1cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLnNlYXJjaElucHV0KHRoZW1lKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFZhbHVlID8/IFwiXCJ9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2VhcmNoSGFuZGxlfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaElucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e2dldFNlbGVjdFNlYXJjaElucHV0V2lkdGhTdHlsZShcbiAgICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiLFxuICAgICAgICAgICAgICAgICAgICBpc0VtcHR5LFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJzTnVtYmVyXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwic2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5jb250ZW50KHRoZW1lKSwgc3R5bGVzPy5jb250ZW50Py4odGhlbWUpXX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtyZW5kZXJMYWJlbChjdXJyZW50VmFsdWUsIGN1cnJlbnRMYWJlbCkgPz8gcmVuZGVyUGxhY2Vob2xkZXIoKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICB7d2l0aENsZWFyQnV0dG9uICYmIChcbiAgICAgICAgICAgIDxDbG9zZUNpcmNsZUZpbGxlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjbGVhbi1idXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtjbGVhclNlbGVjdH1cbiAgICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLmNsZWFuSWNvbih0aGVtZSksIHN0eWxlcz8uY2xlYW5JY29uPy4odGhlbWUpXX1cbiAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwiY2xlYW4tYnV0dG9uXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8c3BhbiBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuc3VmZml4SWNvbih0aGVtZSksIHN0eWxlcz8uc3VmZml4SWNvbj8uKHRoZW1lKV19PlxuICAgICAgICAgICAge3JlbmRlclN1ZmZpeCgpfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxTZWxlY3RPcHRpb25MaXN0XG4gICAgICAgICAgb3B0aW9ucz17ZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zfVxuICAgICAgICAgIGN1cnJlbnRWYWx1ZT17YWN0aXZlVmFsdWVzfVxuICAgICAgICAgIHNob3dPcHRpb25MaXN0PXtvcGVuID8/IGlzU2VsZWN0T3Blbn1cbiAgICAgICAgICBzZXRWYWx1ZT17Y2hhbmdlSGFuZGxlfVxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdD17Y2xvc2VPcHRpb25MaXN0fVxuICAgICAgICAgIGRyb3Bkb3duTWluV2lkdGg9e2Ryb3Bkb3duTWluV2lkdGh9XG4gICAgICAgICAgZHJvcGRvd25NYXhIZWlnaHQ9e2Ryb3Bkb3duTWF4SGVpZ2h0fVxuICAgICAgICAgIHJldHVybkZvY3VzVG9XcmFwcGVyPXtyZXR1cm5Gb2N1c1RvV3JhcHBlcn1cbiAgICAgICAgICBkcm9wZG93blByb21wdD17ZHJvcGRvd25Qcm9tcHR9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBkcm9wZG93bkNsYXNzTmFtZT17ZHJvcGRvd25DbGFzc05hbWV9XG4gICAgICAgICAgc3R5bGVzPXtzdHlsZXM/LmRyb3Bkb3duU3R5bGV9XG4gICAgICAgICAgZHJvcGRvd25SZW5kZXI9e2Ryb3Bkb3duUmVuZGVyfVxuICAgICAgICAgIG9wdGlvblJlbmRlcj17b3B0aW9uUmVuZGVyfVxuICAgICAgICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD17ZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRofVxuICAgICAgICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoPXtyZWZlcmVuY2VPZmZzZXRXaWR0aH1cbiAgICAgICAgICBmbG9hdGluZ1N0eWxlcz17ZmxvYXRpbmdTdHlsZXN9XG4gICAgICAgICAgc2V0RmxvYXRpbmc9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgZmxvYXRpbmdSZWY9e3JlZnMuZmxvYXRpbmd9XG4gICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9e2dldFBvcHVwQ29udGFpbmVyfVxuICAgICAgICAgIHZpcnR1YWw9e3ZpcnR1YWx9XG4gICAgICAgICAgY3VycmVudFNlbGVjdGluZ0luZGV4PXtjdXJyZW50U2VsZWN0aW5nSW5kZXh9XG4gICAgICAgICAgZW1wdHlDb250ZW50PXtlbXB0eUNvbnRlbnR9XG4gICAgICAgICAgbm90Rm91bmRDb250ZW50PXtub3RGb3VuZENvbnRlbnR9XG4gICAgICAgICAgc2VhcmNoVmFsdWU9e3NlYXJjaFZhbHVlID8/IHNlYXJjaElucHV0VmFsdWV9XG4gICAgICAgICAgc2hvd1NlYXJjaD17c2hvd1NlYXJjaH1cbiAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0ID0gd2l0aFRoZW1lUHJvdmlkZXI8U2VsZWN0UHJvcHM+KFNlbGVjdENvbXBvbmVudCk7XG4iXX0= */"], children: placeholder });
278
- };
279
- const withClearButton = allowClear && !!activeValues.length;
280
- const inputValue = mode === "multiple" || isSelectOpen ? searchValue ?? searchInputValue : currentLabel[0];
281
- const isEmpty = activeValues.length === 0;
282
- const singleModPlaceholder = currentLabel[0] ?? placeholder ?? "";
283
- const multipleModPlaceholder = isEmpty ? placeholder : void 0;
284
- const searchInputPlaceholder = mode === "single" ? singleModPlaceholder : multipleModPlaceholder;
285
- const lettersNumber = ((inputValue == null ? void 0 : inputValue.length) ?? 0) + 1;
286
- const hasIconPrefix = typeof prefix === "object";
287
- return /* @__PURE__ */ jsxs("span", { css: [selectDefaultStyle.wrapper(theme), (_b = styles == null ? void 0 : styles.wrapper) == null ? void 0 : _b.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb2FRIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEZDLFxuICB0eXBlIEZvY3VzRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgbWVtbyxcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgU2VsZWN0UHJvcHMgfSBmcm9tIFwiLi9TZWxlY3QudHlwZXNcIjtcbmltcG9ydCB7IHdpdGhUaGVtZVByb3ZpZGVyIH0gZnJvbSBcImhvY3Mvd2l0aFRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIHtcbiAgU2VsZWN0T3B0aW9uSW50ZXJmYWNlLFxuICBTZWxlY3RPcHRpb25WYWx1ZSxcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb24vU2VsZWN0T3B0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25MaXN0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb25MaXN0L1NlbGVjdE9wdGlvbkxpc3RcIjtcbmltcG9ydCB7IGdldFNlbGVjdERlZmF1bHRTdHlsZSwgZ2V0U2VsZWN0U2VhcmNoSW5wdXRXaWR0aFN0eWxlIH0gZnJvbSBcIi4vU2VsZWN0LnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEJhcnNPdXRsaW5lZCwgQ2xvc2VDaXJjbGVGaWxsZWQsIERvd25PdXRsaW5lZCwgU2VhcmNoT3V0bGluZWQgfSBmcm9tIFwiQGluZm9tYXhpbXVtL2ljb25zXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc051bGwsIGlzVW5kZWZpbmVkIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgYXV0b1VwZGF0ZSwgZmxpcCwgb2Zmc2V0LCB1c2VGbG9hdGluZyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIGFkZGl0aW9uYWxFbGVtZW50cyxcbiAgY29udmVydFNlbGVjdFBsYWNlbWVudCxcbiAgZ2V0TGFiZWwsXG4gIGdldFZpc2libGVMYWJlbHMsXG59IGZyb20gXCIuL1NlbGVjdC51dGlsc1wiO1xuaW1wb3J0IHsgdXNlS2V5Q29udHJvbCB9IGZyb20gXCIuL2hvb2tzL3VzZUtleUNvbnRyb2xcIjtcbmltcG9ydCB7IHVzZVNlYXJjaCB9IGZyb20gXCIuL2hvb2tzL3VzZVNlYXJjaFwiO1xuaW1wb3J0IHsgdXNlQ3VycmVudFZhbHVlIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VycmVudFZhbHVlXCI7XG5pbXBvcnQgeyBTZWxlY3RUYWcgfSBmcm9tIFwiLi9jb21wb25lbnRzL1NlbGVjdFRhZy9TZWxlY3RUYWdcIjtcbmltcG9ydCB7IHVzZUhpZGVFbGVtZW50cyB9IGZyb20gXCJjb21wb25lbnRzL1NlbGVjdC9ob29rcy91c2VIaWRlRWxlbWVudHNcIjtcbmltcG9ydCB7XG4gIFRhZ1BsYWNlaG9sZGVyLFxuICB0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50LFxufSBmcm9tIFwiLi9jb21wb25lbnRzL1RhZ1BsYWNlaG9sZGVyL1RhZ1BsYWNlaG9sZGVyXCI7XG5cbmNvbnN0IFNlbGVjdENvbXBvbmVudDogRkM8UHJvcHNXaXRoQ2hpbGRyZW48U2VsZWN0UHJvcHM+PiA9IG1lbW8oXG4gICh7XG4gICAgb3B0aW9ucyA9IFtdLFxuICAgIG1vZGUgPSBcInNpbmdsZVwiLFxuICAgIHZhcmlhbnQgPSBcIm91dGxpbmVkXCIsXG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uLFxuICAgIHZhbHVlLFxuICAgIG9wZW4sXG4gICAgcGxhY2Vob2xkZXIsXG4gICAgZHJvcGRvd25NaW5XaWR0aCA9IDEyMCxcbiAgICBkcm9wZG93bk1heEhlaWdodCA9IDQxNCxcbiAgICBhbGxvd0NsZWFyID0gZmFsc2UsXG4gICAgYXV0b0ZvY3VzLFxuICAgIHByZWZpeCxcbiAgICBzdWZmaXhJY29uID0gPERvd25PdXRsaW5lZCAvPixcbiAgICBzdGF0dXMgPSBcImRlZmF1bHRcIixcbiAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgIGRyb3Bkb3duUHJvbXB0LFxuICAgIGxvYWRpbmcgPSBmYWxzZSxcbiAgICBkcm9wZG93bkNsYXNzTmFtZSxcbiAgICBzdHlsZXMsXG4gICAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoID0gdHJ1ZSxcbiAgICBwbGFjZW1lbnQgPSBcImJvdHRvbUxlZnRcIixcbiAgICB2aXJ0dWFsID0gdHJ1ZSxcbiAgICBlbXB0eUNvbnRlbnQgPSBcIlwiLFxuICAgIHNob3dTZWFyY2ggPSBtb2RlID09PSBcInNpbmdsZVwiID8gZmFsc2UgOiB0cnVlLFxuICAgIGZpbHRlck9wdGlvbiA9IHRydWUsXG4gICAgb3B0aW9uRmlsdGVyUHJvcCA9IFwidGl0bGVcIixcbiAgICBzZWFyY2hWYWx1ZSxcbiAgICBub3RGb3VuZENvbnRlbnQsXG4gICAgb3B0aW9uTGFiZWxQcm9wID0gXCJ0aXRsZVwiLFxuICAgIGRyYXdlciA9IGZhbHNlLFxuICAgIGF1dG9DbGVhclNlYXJjaFZhbHVlID0gdHJ1ZSxcbiAgICBtYXhUYWdDb3VudCxcbiAgICBtYXhUYWdUZXh0TGVuZ3RoLFxuICAgIG1heFRhZ1BsYWNlaG9sZGVyLFxuICAgIGZpbHRlclNvcnQsXG4gICAgZHJvcGRvd25SZW5kZXIsXG4gICAgb3B0aW9uUmVuZGVyLFxuICAgIGxhYmVsUmVuZGVyLFxuICAgIG9uQmx1cixcbiAgICBvbkNoYW5nZSxcbiAgICBvbkNsZWFyLFxuICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLFxuICAgIG9uRm9jdXMsXG4gICAgb25JbnB1dEtleURvd24sXG4gICAgb25TZWxlY3QsXG4gICAgZ2V0UG9wdXBDb250YWluZXIgPSAoKSA9PiBkb2N1bWVudC5ib2R5LFxuICAgIG9uU2VhcmNoLFxuICAgIHRhZ1JlbmRlcixcbiAgICBvbkRlc2VsZWN0LFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgeyBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsIHNlYXJjaElucHV0VmFsdWUsIHNlYXJjaEhhbmRsZSwgY2xlYXJTZWFyY2hWYWx1ZSB9ID1cbiAgICAgIHVzZVNlYXJjaCh7XG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIGZpbHRlck9wdGlvbixcbiAgICAgICAgb3B0aW9uRmlsdGVyUHJvcCxcbiAgICAgICAgc2VhcmNoVmFsdWUsXG4gICAgICAgIG9uU2VhcmNoLFxuICAgICAgICBmaWx0ZXJTb3J0LFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRWYWx1ZSwgY2hhbmdlQ3VycmVudFZhbHVlLCByZW1vdmVWYWx1ZSwgY2xlYXJDdXJyZW50VmFsdWUgfSA9IHVzZUN1cnJlbnRWYWx1ZShcbiAgICAgIG1vZGUsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0QWN0aXZlRmlyc3RPcHRpb24sXG4gICAgICBvcHRpb25zLFxuICAgICAgb25EZXNlbGVjdFxuICAgICk7XG5cbiAgICBjb25zdCBbaXNTZWxlY3RPcGVuLCBzZXRJc1NlbGVjdE9wZW5dID0gdXNlU3RhdGUoZGVmYXVsdE9wZW4pO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gdXNlUmVmKHRydWUpO1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3Qgb3B0aW9uc01hcCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3Qgb3B0aW9uTGlzdDogW1NlbGVjdE9wdGlvblZhbHVlLCBTZWxlY3RPcHRpb25JbnRlcmZhY2VdW10gPSBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiBbXG4gICAgICAgIG9wdGlvbi52YWx1ZSxcbiAgICAgICAgb3B0aW9uLFxuICAgICAgXSk7XG5cbiAgICAgIHJldHVybiBuZXcgTWFwKG9wdGlvbkxpc3QpO1xuICAgIH0sIFtvcHRpb25zXSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRTZWxlY3RpbmdJbmRleCwgb25LZXlDb250cm9sLCBzZXRDdXJyZW50U2VsZWN0aW5nSW5kZXggfSA9IHVzZUtleUNvbnRyb2woXG4gICAgICBjdXJyZW50VmFsdWUsXG4gICAgICBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsXG4gICAgICBvcHRpb25zTWFwXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZU9mZnNldFdpZHRoID0gY29udHJvbFJlZi5jdXJyZW50Py5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMgfSA9IHVzZUZsb2F0aW5nPEhUTUxTcGFuRWxlbWVudD4oe1xuICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICBwbGFjZW1lbnQ6IGNvbnZlcnRTZWxlY3RQbGFjZW1lbnQocGxhY2VtZW50KSxcbiAgICAgIG1pZGRsZXdhcmU6IFtvZmZzZXQoNCksIGZsaXAoKV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvV3JhcHBlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb250cm9sUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvSW5wdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgIH0pO1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIWlzSW5pdGlhbE1vdW50LmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgICAgaWYgKGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIG9wdGlvbl07XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICBvbkNoYW5nZT8uKGN1cnJlbnRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW2N1cnJlbnRWYWx1ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0luaXRpYWxNb3VudC5jdXJyZW50KSB7XG4gICAgICAgIGlzSW5pdGlhbE1vdW50LmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPy4oKTtcbiAgICAgIH1cbiAgICB9LCBbaXNTZWxlY3RPcGVuXSk7XG5cbiAgICBjb25zdCBzZWxlY3REZWZhdWx0U3R5bGUgPSBnZXRTZWxlY3REZWZhdWx0U3R5bGUoXG4gICAgICBzdGF0dXMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHZhcmlhbnQsXG4gICAgICBtb2RlID09PSBcIm11bHRpcGxlXCIsXG4gICAgICBpc0hvdmVyLFxuICAgICAgbWF4VGFnQ291bnRcbiAgICApO1xuXG4gICAgY29uc3QgYWN0aXZlVmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IGlzVW5kZWZpbmVkKHZhbHVlKSA/IGN1cnJlbnRWYWx1ZSA6IFt2YWx1ZV07XG5cbiAgICBjb25zdCB7IGNvbnRhaW5lclJlZiwgaXNJdGVtSGlkZGVuIH0gPSB1c2VIaWRlRWxlbWVudHMoXG4gICAgICBhY3RpdmVWYWx1ZXMsXG4gICAgICB0aGVtZS5zcGFjZVhTLFxuICAgICAgYWRkaXRpb25hbEVsZW1lbnRzLFxuICAgICAgaW5wdXRSZWZcbiAgICApO1xuXG4gICAgY29uc3QgY3VycmVudExhYmVsID0gZ2V0TGFiZWwoYWN0aXZlVmFsdWVzLCBvcHRpb25zTWFwLCBvcHRpb25MYWJlbFByb3ApO1xuXG4gICAgY29uc3Qgd2l0aERyYXdlciA9IG1vZGUgPT09IFwibXVsdGlwbGVcIiAmJiBkcmF3ZXI7XG4gICAgY29uc3Qgd2l0aEF1dG9DbGVhciA9IG1vZGUgPT09IFwic2luZ2xlXCIgfHwgYXV0b0NsZWFyU2VhcmNoVmFsdWU7XG5cbiAgICBjb25zdCBjbGlja0hhbmRsZSA9ICgpID0+IHtcbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldElzU2VsZWN0T3BlbigocHJldikgPT4gIXByZXYpO1xuICAgIH07XG5cbiAgICBjb25zdCBjaGFuZ2VIYW5kbGUgPSB1c2VDYWxsYmFjayhcbiAgICAgICh2YWx1ZTogU2VsZWN0T3B0aW9uVmFsdWUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY2hhbmdlQ3VycmVudFZhbHVlKHZhbHVlKTtcbiAgICAgICAgc2V0Q3VycmVudFNlbGVjdGluZ0luZGV4KGluZGV4KTtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgIGlmICh3aXRoQXV0b0NsZWFyKSB7XG4gICAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgIG9uU2VsZWN0Py4odmFsdWUsIG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZSxcbiAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSxcbiAgICAgICAgb25TZWxlY3QsXG4gICAgICAgIG9wdGlvbnNNYXAsXG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3RpbmdJbmRleCxcbiAgICAgICAgd2l0aEF1dG9DbGVhcixcbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgY2xvc2VPcHRpb25MaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0SXNTZWxlY3RPcGVuKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBibHVySGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGlzRm9jdXNPbk9wdGlvbkxpc3QgPSByZWZzLmZsb2F0aW5nLmN1cnJlbnQgPT09IGUucmVsYXRlZFRhcmdldDtcbiAgICAgIGNvbnN0IGlzRm9jdXNPblNlYXJjaElucHV0ID1cbiAgICAgICAgIWlzTnVsbChpbnB1dFJlZi5jdXJyZW50KSAmJiBlLnJlbGF0ZWRUYXJnZXQgPT09IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCBpc0ZvY3VzT25Db250cm9sID0gZS5yZWxhdGVkVGFyZ2V0ID09PSBjb250cm9sUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmIChpc0ZvY3VzT25PcHRpb25MaXN0IHx8IGlzRm9jdXNPblNlYXJjaElucHV0IHx8IGlzRm9jdXNPbkNvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBvbkJsdXI/LihlKTtcbiAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgIGNsb3NlT3B0aW9uTGlzdCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbGVhclNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNsZWFyQ3VycmVudFZhbHVlKCk7XG4gICAgICAgIG9uQ2xlYXI/LigpO1xuICAgICAgfSxcbiAgICAgIFtjbGVhckN1cnJlbnRWYWx1ZSwgb25DbGVhcl1cbiAgICApO1xuXG4gICAgY29uc3Qga2V5RG93bkhhbmRsZXIgPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgaWYgKGlzU2VsZWN0T3Blbikge1xuICAgICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZShmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnNbY3VycmVudFNlbGVjdGluZ0luZGV4XT8udmFsdWUpO1xuXG4gICAgICAgICAgaWYgKHdpdGhBdXRvQ2xlYXIpIHtcbiAgICAgICAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjbGlja0hhbmRsZSgpO1xuICAgICAgfVxuXG4gICAgICBzZXRJc1NlbGVjdE9wZW4odHJ1ZSk7XG5cbiAgICAgIG9uS2V5Q29udHJvbChlKTtcbiAgICAgIG9uSW5wdXRLZXlEb3duPy4oZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3ZlckhhbmRsZSA9ICgpID0+IHtcbiAgICAgIHNldElzSG92ZXIodHJ1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3V0SGFuZGxlID0gKCkgPT4ge1xuICAgICAgc2V0SXNIb3ZlcihmYWxzZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZvY3VzSGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIG9uRm9jdXM/LihlKTtcblxuICAgICAgaWYgKCFzaG93U2VhcmNoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuRm9jdXNUb0lucHV0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclRhZ1BsYWNlaG9sZGVyID0gKGhpZGRlbkVsZW1lbnRzQ291bnRlcjogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaXNVbmRlZmluZWQobWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8VGFnUGxhY2Vob2xkZXIgaGlkZGVuRWxlbWVudHNDb3VudGVyPXtoaWRkZW5FbGVtZW50c0NvdW50ZXJ9IC8+O1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24obWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcn08L3NwYW4+O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoaWRkZW5FbGVtZW50cyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSGlkZGVuID0gaXNJdGVtSGlkZGVuLmdldCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzSGlkZGVuIHx8IGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgYWNjLnB1c2gob3B0aW9uKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50cyl9PC9zcGFuPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVuZGVyTGFiZWwgPSAodmFsdWVzOiBTZWxlY3RPcHRpb25WYWx1ZVtdLCBjdXJyZW50TGFiZWw6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmxlTGFiZWxzID0gZ2V0VmlzaWJsZUxhYmVscyhjdXJyZW50TGFiZWwsIHZhbHVlcywgbWF4VGFnQ291bnQsIGlzSXRlbUhpZGRlbik7XG5cbiAgICAgIGNvbnN0IGxhYmVsID0gdmlzaWJsZUxhYmVscy5tYXAoKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpbmRleF07XG5cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24obGFiZWxSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsUmVuZGVyKHsgbGFiZWwsIHZhbHVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vZGUgPT09IFwic2luZ2xlXCIpIHtcbiAgICAgICAgICByZXR1cm4gbGFiZWw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGdW5jdGlvbih0YWdSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIHRhZ1JlbmRlcihsYWJlbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTZWxlY3RUYWdcbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgICAgIG1heFRhZ1RleHRMZW5ndGg9e21heFRhZ1RleHRMZW5ndGh9XG4gICAgICAgICAgICBpc0JvcmRlcmxlc3M9e3ZhcmlhbnQgPT09IFwiYm9yZGVybGVzc1wifVxuICAgICAgICAgICAgaXNFcnJvcj17c3RhdHVzID09PSBcImVycm9yXCJ9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBrZXk9e3ZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHNDb3VudGVyID0gY3VycmVudExhYmVsLmxlbmd0aCAtIGxhYmVsLmxlbmd0aDtcblxuICAgICAgY29uc3Qgd2l0aFRhZ1BsYWNlaG9sZGVyID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG1heFRhZ0NvdW50KSAmJiBtb2RlID09PSBcIm11bHRpcGxlXCIgJiYgaGlkZGVuRWxlbWVudHNDb3VudGVyID4gMDtcblxuICAgICAgaWYgKGxhYmVsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAge3dpdGhUYWdQbGFjZWhvbGRlciAmJiByZW5kZXJUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50c0NvdW50ZXIpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclN1ZmZpeCA9ICgpID0+IHtcbiAgICAgIGlmICh3aXRoRHJhd2VyKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEJhcnNPdXRsaW5lZFxuICAgICAgICAgICAgb25DbGljaz17Y2xpY2tIYW5kbGV9XG4gICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuZHJhd2VySWNvbih0aGVtZSksIHN0eWxlcz8uZHJhd2VySWNvbj8uKHRoZW1lKV19XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3dTZWFyY2ggJiYgaXNTZWxlY3RPcGVuKSB7XG4gICAgICAgIHJldHVybiA8U2VhcmNoT3V0bGluZWQgLz47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdWZmaXhJY29uO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJQbGFjZWhvbGRlciA9ICgpID0+IChcbiAgICAgIDxzcGFuIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wbGFjZWhvbGRlcih0aGVtZSksIHN0eWxlcz8ucGxhY2Vob2xkZXI/Lih0aGVtZSldfT5cbiAgICAgICAge3BsYWNlaG9sZGVyfVxuICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgICBjb25zdCB3aXRoQ2xlYXJCdXR0b24gPSBhbGxvd0NsZWFyICYmICEhYWN0aXZlVmFsdWVzLmxlbmd0aDtcblxuICAgIGNvbnN0IGlucHV0VmFsdWUgPVxuICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiIHx8IGlzU2VsZWN0T3BlbiA/IChzZWFyY2hWYWx1ZSA/PyBzZWFyY2hJbnB1dFZhbHVlKSA6IGN1cnJlbnRMYWJlbFswXTtcblxuICAgIGNvbnN0IGlzRW1wdHkgPSBhY3RpdmVWYWx1ZXMubGVuZ3RoID09PSAwO1xuICAgIGNvbnN0IHNpbmdsZU1vZFBsYWNlaG9sZGVyID0gY3VycmVudExhYmVsWzBdID8/IHBsYWNlaG9sZGVyID8/IFwiXCI7XG4gICAgY29uc3QgbXVsdGlwbGVNb2RQbGFjZWhvbGRlciA9IGlzRW1wdHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHNlYXJjaElucHV0UGxhY2Vob2xkZXIgPVxuICAgICAgbW9kZSA9PT0gXCJzaW5nbGVcIiA/IHNpbmdsZU1vZFBsYWNlaG9sZGVyIDogbXVsdGlwbGVNb2RQbGFjZWhvbGRlcjtcblxuICAgIGNvbnN0IGxldHRlcnNOdW1iZXIgPSAoaW5wdXRWYWx1ZT8ubGVuZ3RoID8/IDApICsgMTtcblxuICAgIGNvbnN0IGhhc0ljb25QcmVmaXggPSB0eXBlb2YgcHJlZml4ID09PSBcIm9iamVjdFwiO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgdGFiSW5kZXg9ezF9XG4gICAgICAgIG9uS2V5RG93bj17a2V5RG93bkhhbmRsZXJ9XG4gICAgICAgIG9uTW91c2VPdmVyPXttb3VzZU92ZXJIYW5kbGV9XG4gICAgICAgIG9uTW91c2VPdXQ9e21vdXNlT3V0SGFuZGxlfVxuICAgICAgICBvbkZvY3VzPXtmb2N1c0hhbmRsZX1cbiAgICAgICAgb25CbHVyPXtibHVySGFuZGxlfVxuICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1c31cbiAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5ib2R5KHRoZW1lKSwgc3R5bGVzPy5ib2R5Py4odGhlbWUpXX1cbiAgICAgICAgICBvbkNsaWNrPXshd2l0aERyYXdlciA/IGNsaWNrSGFuZGxlIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHJlZj17cmVmcy5zZXRSZWZlcmVuY2V9XG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLnByZWZpeEFuZENvbnRlbnQodGhlbWUpLCBzdHlsZXM/LnByZWZpeEFuZENvbnRlbnQ/Lih0aGVtZSldfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtwcmVmaXggJiYgKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wcmVmaXgoaGFzSWNvblByZWZpeCkodGhlbWUpLCBzdHlsZXM/LnByZWZpeD8uKHRoZW1lKV19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cHJlZml4fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd1NlYXJjaCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gcmVmPXtjb250YWluZXJSZWZ9IGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLmNvbnRlbnQodGhlbWUpfT5cbiAgICAgICAgICAgICAgICB7bW9kZSA9PT0gXCJtdWx0aXBsZVwiICYmIHJlbmRlckxhYmVsKGFjdGl2ZVZhbHVlcywgY3VycmVudExhYmVsKX1cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLnNlYXJjaElucHV0KHRoZW1lKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFZhbHVlID8/IFwiXCJ9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2VhcmNoSGFuZGxlfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaElucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e2dldFNlbGVjdFNlYXJjaElucHV0V2lkdGhTdHlsZShcbiAgICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiLFxuICAgICAgICAgICAgICAgICAgICBpc0VtcHR5LFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJzTnVtYmVyXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwic2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5jb250ZW50KHRoZW1lKSwgc3R5bGVzPy5jb250ZW50Py4odGhlbWUpXX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtyZW5kZXJMYWJlbChjdXJyZW50VmFsdWUsIGN1cnJlbnRMYWJlbCkgPz8gcmVuZGVyUGxhY2Vob2xkZXIoKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICB7d2l0aENsZWFyQnV0dG9uICYmIChcbiAgICAgICAgICAgIDxDbG9zZUNpcmNsZUZpbGxlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjbGVhbi1idXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtjbGVhclNlbGVjdH1cbiAgICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLmNsZWFuSWNvbih0aGVtZSksIHN0eWxlcz8uY2xlYW5JY29uPy4odGhlbWUpXX1cbiAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwiY2xlYW4tYnV0dG9uXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8c3BhbiBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuc3VmZml4SWNvbih0aGVtZSksIHN0eWxlcz8uc3VmZml4SWNvbj8uKHRoZW1lKV19PlxuICAgICAgICAgICAge3JlbmRlclN1ZmZpeCgpfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxTZWxlY3RPcHRpb25MaXN0XG4gICAgICAgICAgb3B0aW9ucz17ZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zfVxuICAgICAgICAgIGN1cnJlbnRWYWx1ZT17YWN0aXZlVmFsdWVzfVxuICAgICAgICAgIHNob3dPcHRpb25MaXN0PXtvcGVuID8/IGlzU2VsZWN0T3Blbn1cbiAgICAgICAgICBzZXRWYWx1ZT17Y2hhbmdlSGFuZGxlfVxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdD17Y2xvc2VPcHRpb25MaXN0fVxuICAgICAgICAgIGRyb3Bkb3duTWluV2lkdGg9e2Ryb3Bkb3duTWluV2lkdGh9XG4gICAgICAgICAgZHJvcGRvd25NYXhIZWlnaHQ9e2Ryb3Bkb3duTWF4SGVpZ2h0fVxuICAgICAgICAgIHJldHVybkZvY3VzVG9XcmFwcGVyPXtyZXR1cm5Gb2N1c1RvV3JhcHBlcn1cbiAgICAgICAgICBkcm9wZG93blByb21wdD17ZHJvcGRvd25Qcm9tcHR9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBkcm9wZG93bkNsYXNzTmFtZT17ZHJvcGRvd25DbGFzc05hbWV9XG4gICAgICAgICAgc3R5bGVzPXtzdHlsZXM/LmRyb3Bkb3duU3R5bGV9XG4gICAgICAgICAgZHJvcGRvd25SZW5kZXI9e2Ryb3Bkb3duUmVuZGVyfVxuICAgICAgICAgIG9wdGlvblJlbmRlcj17b3B0aW9uUmVuZGVyfVxuICAgICAgICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD17ZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRofVxuICAgICAgICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoPXtyZWZlcmVuY2VPZmZzZXRXaWR0aH1cbiAgICAgICAgICBmbG9hdGluZ1N0eWxlcz17ZmxvYXRpbmdTdHlsZXN9XG4gICAgICAgICAgc2V0RmxvYXRpbmc9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgZmxvYXRpbmdSZWY9e3JlZnMuZmxvYXRpbmd9XG4gICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9e2dldFBvcHVwQ29udGFpbmVyfVxuICAgICAgICAgIHZpcnR1YWw9e3ZpcnR1YWx9XG4gICAgICAgICAgY3VycmVudFNlbGVjdGluZ0luZGV4PXtjdXJyZW50U2VsZWN0aW5nSW5kZXh9XG4gICAgICAgICAgZW1wdHlDb250ZW50PXtlbXB0eUNvbnRlbnR9XG4gICAgICAgICAgbm90Rm91bmRDb250ZW50PXtub3RGb3VuZENvbnRlbnR9XG4gICAgICAgICAgc2VhcmNoVmFsdWU9e3NlYXJjaFZhbHVlID8/IHNlYXJjaElucHV0VmFsdWV9XG4gICAgICAgICAgc2hvd1NlYXJjaD17c2hvd1NlYXJjaH1cbiAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0ID0gd2l0aFRoZW1lUHJvdmlkZXI8U2VsZWN0UHJvcHM+KFNlbGVjdENvbXBvbmVudCk7XG4iXX0= */"], tabIndex: 1, onKeyDown: keyDownHandler, onMouseOver: mouseOverHandle, onMouseOut: mouseOutHandle, onFocus: focusHandle, onBlur: blurHandle, autoFocus, ref: controlRef, children: [
288
- /* @__PURE__ */ jsxs("span", { css: [selectDefaultStyle.body(theme), (_c = styles == null ? void 0 : styles.body) == null ? void 0 : _c.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK2FVIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEZDLFxuICB0eXBlIEZvY3VzRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgbWVtbyxcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgU2VsZWN0UHJvcHMgfSBmcm9tIFwiLi9TZWxlY3QudHlwZXNcIjtcbmltcG9ydCB7IHdpdGhUaGVtZVByb3ZpZGVyIH0gZnJvbSBcImhvY3Mvd2l0aFRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIHtcbiAgU2VsZWN0T3B0aW9uSW50ZXJmYWNlLFxuICBTZWxlY3RPcHRpb25WYWx1ZSxcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb24vU2VsZWN0T3B0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25MaXN0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb25MaXN0L1NlbGVjdE9wdGlvbkxpc3RcIjtcbmltcG9ydCB7IGdldFNlbGVjdERlZmF1bHRTdHlsZSwgZ2V0U2VsZWN0U2VhcmNoSW5wdXRXaWR0aFN0eWxlIH0gZnJvbSBcIi4vU2VsZWN0LnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEJhcnNPdXRsaW5lZCwgQ2xvc2VDaXJjbGVGaWxsZWQsIERvd25PdXRsaW5lZCwgU2VhcmNoT3V0bGluZWQgfSBmcm9tIFwiQGluZm9tYXhpbXVtL2ljb25zXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc051bGwsIGlzVW5kZWZpbmVkIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgYXV0b1VwZGF0ZSwgZmxpcCwgb2Zmc2V0LCB1c2VGbG9hdGluZyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIGFkZGl0aW9uYWxFbGVtZW50cyxcbiAgY29udmVydFNlbGVjdFBsYWNlbWVudCxcbiAgZ2V0TGFiZWwsXG4gIGdldFZpc2libGVMYWJlbHMsXG59IGZyb20gXCIuL1NlbGVjdC51dGlsc1wiO1xuaW1wb3J0IHsgdXNlS2V5Q29udHJvbCB9IGZyb20gXCIuL2hvb2tzL3VzZUtleUNvbnRyb2xcIjtcbmltcG9ydCB7IHVzZVNlYXJjaCB9IGZyb20gXCIuL2hvb2tzL3VzZVNlYXJjaFwiO1xuaW1wb3J0IHsgdXNlQ3VycmVudFZhbHVlIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VycmVudFZhbHVlXCI7XG5pbXBvcnQgeyBTZWxlY3RUYWcgfSBmcm9tIFwiLi9jb21wb25lbnRzL1NlbGVjdFRhZy9TZWxlY3RUYWdcIjtcbmltcG9ydCB7IHVzZUhpZGVFbGVtZW50cyB9IGZyb20gXCJjb21wb25lbnRzL1NlbGVjdC9ob29rcy91c2VIaWRlRWxlbWVudHNcIjtcbmltcG9ydCB7XG4gIFRhZ1BsYWNlaG9sZGVyLFxuICB0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50LFxufSBmcm9tIFwiLi9jb21wb25lbnRzL1RhZ1BsYWNlaG9sZGVyL1RhZ1BsYWNlaG9sZGVyXCI7XG5cbmNvbnN0IFNlbGVjdENvbXBvbmVudDogRkM8UHJvcHNXaXRoQ2hpbGRyZW48U2VsZWN0UHJvcHM+PiA9IG1lbW8oXG4gICh7XG4gICAgb3B0aW9ucyA9IFtdLFxuICAgIG1vZGUgPSBcInNpbmdsZVwiLFxuICAgIHZhcmlhbnQgPSBcIm91dGxpbmVkXCIsXG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uLFxuICAgIHZhbHVlLFxuICAgIG9wZW4sXG4gICAgcGxhY2Vob2xkZXIsXG4gICAgZHJvcGRvd25NaW5XaWR0aCA9IDEyMCxcbiAgICBkcm9wZG93bk1heEhlaWdodCA9IDQxNCxcbiAgICBhbGxvd0NsZWFyID0gZmFsc2UsXG4gICAgYXV0b0ZvY3VzLFxuICAgIHByZWZpeCxcbiAgICBzdWZmaXhJY29uID0gPERvd25PdXRsaW5lZCAvPixcbiAgICBzdGF0dXMgPSBcImRlZmF1bHRcIixcbiAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgIGRyb3Bkb3duUHJvbXB0LFxuICAgIGxvYWRpbmcgPSBmYWxzZSxcbiAgICBkcm9wZG93bkNsYXNzTmFtZSxcbiAgICBzdHlsZXMsXG4gICAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoID0gdHJ1ZSxcbiAgICBwbGFjZW1lbnQgPSBcImJvdHRvbUxlZnRcIixcbiAgICB2aXJ0dWFsID0gdHJ1ZSxcbiAgICBlbXB0eUNvbnRlbnQgPSBcIlwiLFxuICAgIHNob3dTZWFyY2ggPSBtb2RlID09PSBcInNpbmdsZVwiID8gZmFsc2UgOiB0cnVlLFxuICAgIGZpbHRlck9wdGlvbiA9IHRydWUsXG4gICAgb3B0aW9uRmlsdGVyUHJvcCA9IFwidGl0bGVcIixcbiAgICBzZWFyY2hWYWx1ZSxcbiAgICBub3RGb3VuZENvbnRlbnQsXG4gICAgb3B0aW9uTGFiZWxQcm9wID0gXCJ0aXRsZVwiLFxuICAgIGRyYXdlciA9IGZhbHNlLFxuICAgIGF1dG9DbGVhclNlYXJjaFZhbHVlID0gdHJ1ZSxcbiAgICBtYXhUYWdDb3VudCxcbiAgICBtYXhUYWdUZXh0TGVuZ3RoLFxuICAgIG1heFRhZ1BsYWNlaG9sZGVyLFxuICAgIGZpbHRlclNvcnQsXG4gICAgZHJvcGRvd25SZW5kZXIsXG4gICAgb3B0aW9uUmVuZGVyLFxuICAgIGxhYmVsUmVuZGVyLFxuICAgIG9uQmx1cixcbiAgICBvbkNoYW5nZSxcbiAgICBvbkNsZWFyLFxuICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLFxuICAgIG9uRm9jdXMsXG4gICAgb25JbnB1dEtleURvd24sXG4gICAgb25TZWxlY3QsXG4gICAgZ2V0UG9wdXBDb250YWluZXIgPSAoKSA9PiBkb2N1bWVudC5ib2R5LFxuICAgIG9uU2VhcmNoLFxuICAgIHRhZ1JlbmRlcixcbiAgICBvbkRlc2VsZWN0LFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgeyBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsIHNlYXJjaElucHV0VmFsdWUsIHNlYXJjaEhhbmRsZSwgY2xlYXJTZWFyY2hWYWx1ZSB9ID1cbiAgICAgIHVzZVNlYXJjaCh7XG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIGZpbHRlck9wdGlvbixcbiAgICAgICAgb3B0aW9uRmlsdGVyUHJvcCxcbiAgICAgICAgc2VhcmNoVmFsdWUsXG4gICAgICAgIG9uU2VhcmNoLFxuICAgICAgICBmaWx0ZXJTb3J0LFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRWYWx1ZSwgY2hhbmdlQ3VycmVudFZhbHVlLCByZW1vdmVWYWx1ZSwgY2xlYXJDdXJyZW50VmFsdWUgfSA9IHVzZUN1cnJlbnRWYWx1ZShcbiAgICAgIG1vZGUsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0QWN0aXZlRmlyc3RPcHRpb24sXG4gICAgICBvcHRpb25zLFxuICAgICAgb25EZXNlbGVjdFxuICAgICk7XG5cbiAgICBjb25zdCBbaXNTZWxlY3RPcGVuLCBzZXRJc1NlbGVjdE9wZW5dID0gdXNlU3RhdGUoZGVmYXVsdE9wZW4pO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gdXNlUmVmKHRydWUpO1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3Qgb3B0aW9uc01hcCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3Qgb3B0aW9uTGlzdDogW1NlbGVjdE9wdGlvblZhbHVlLCBTZWxlY3RPcHRpb25JbnRlcmZhY2VdW10gPSBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiBbXG4gICAgICAgIG9wdGlvbi52YWx1ZSxcbiAgICAgICAgb3B0aW9uLFxuICAgICAgXSk7XG5cbiAgICAgIHJldHVybiBuZXcgTWFwKG9wdGlvbkxpc3QpO1xuICAgIH0sIFtvcHRpb25zXSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRTZWxlY3RpbmdJbmRleCwgb25LZXlDb250cm9sLCBzZXRDdXJyZW50U2VsZWN0aW5nSW5kZXggfSA9IHVzZUtleUNvbnRyb2woXG4gICAgICBjdXJyZW50VmFsdWUsXG4gICAgICBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsXG4gICAgICBvcHRpb25zTWFwXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZU9mZnNldFdpZHRoID0gY29udHJvbFJlZi5jdXJyZW50Py5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMgfSA9IHVzZUZsb2F0aW5nPEhUTUxTcGFuRWxlbWVudD4oe1xuICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICBwbGFjZW1lbnQ6IGNvbnZlcnRTZWxlY3RQbGFjZW1lbnQocGxhY2VtZW50KSxcbiAgICAgIG1pZGRsZXdhcmU6IFtvZmZzZXQoNCksIGZsaXAoKV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvV3JhcHBlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb250cm9sUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvSW5wdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgIH0pO1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIWlzSW5pdGlhbE1vdW50LmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgICAgaWYgKGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIG9wdGlvbl07XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICBvbkNoYW5nZT8uKGN1cnJlbnRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW2N1cnJlbnRWYWx1ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0luaXRpYWxNb3VudC5jdXJyZW50KSB7XG4gICAgICAgIGlzSW5pdGlhbE1vdW50LmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPy4oKTtcbiAgICAgIH1cbiAgICB9LCBbaXNTZWxlY3RPcGVuXSk7XG5cbiAgICBjb25zdCBzZWxlY3REZWZhdWx0U3R5bGUgPSBnZXRTZWxlY3REZWZhdWx0U3R5bGUoXG4gICAgICBzdGF0dXMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHZhcmlhbnQsXG4gICAgICBtb2RlID09PSBcIm11bHRpcGxlXCIsXG4gICAgICBpc0hvdmVyLFxuICAgICAgbWF4VGFnQ291bnRcbiAgICApO1xuXG4gICAgY29uc3QgYWN0aXZlVmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IGlzVW5kZWZpbmVkKHZhbHVlKSA/IGN1cnJlbnRWYWx1ZSA6IFt2YWx1ZV07XG5cbiAgICBjb25zdCB7IGNvbnRhaW5lclJlZiwgaXNJdGVtSGlkZGVuIH0gPSB1c2VIaWRlRWxlbWVudHMoXG4gICAgICBhY3RpdmVWYWx1ZXMsXG4gICAgICB0aGVtZS5zcGFjZVhTLFxuICAgICAgYWRkaXRpb25hbEVsZW1lbnRzLFxuICAgICAgaW5wdXRSZWZcbiAgICApO1xuXG4gICAgY29uc3QgY3VycmVudExhYmVsID0gZ2V0TGFiZWwoYWN0aXZlVmFsdWVzLCBvcHRpb25zTWFwLCBvcHRpb25MYWJlbFByb3ApO1xuXG4gICAgY29uc3Qgd2l0aERyYXdlciA9IG1vZGUgPT09IFwibXVsdGlwbGVcIiAmJiBkcmF3ZXI7XG4gICAgY29uc3Qgd2l0aEF1dG9DbGVhciA9IG1vZGUgPT09IFwic2luZ2xlXCIgfHwgYXV0b0NsZWFyU2VhcmNoVmFsdWU7XG5cbiAgICBjb25zdCBjbGlja0hhbmRsZSA9ICgpID0+IHtcbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldElzU2VsZWN0T3BlbigocHJldikgPT4gIXByZXYpO1xuICAgIH07XG5cbiAgICBjb25zdCBjaGFuZ2VIYW5kbGUgPSB1c2VDYWxsYmFjayhcbiAgICAgICh2YWx1ZTogU2VsZWN0T3B0aW9uVmFsdWUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY2hhbmdlQ3VycmVudFZhbHVlKHZhbHVlKTtcbiAgICAgICAgc2V0Q3VycmVudFNlbGVjdGluZ0luZGV4KGluZGV4KTtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgIGlmICh3aXRoQXV0b0NsZWFyKSB7XG4gICAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgIG9uU2VsZWN0Py4odmFsdWUsIG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZSxcbiAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSxcbiAgICAgICAgb25TZWxlY3QsXG4gICAgICAgIG9wdGlvbnNNYXAsXG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3RpbmdJbmRleCxcbiAgICAgICAgd2l0aEF1dG9DbGVhcixcbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgY2xvc2VPcHRpb25MaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0SXNTZWxlY3RPcGVuKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBibHVySGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGlzRm9jdXNPbk9wdGlvbkxpc3QgPSByZWZzLmZsb2F0aW5nLmN1cnJlbnQgPT09IGUucmVsYXRlZFRhcmdldDtcbiAgICAgIGNvbnN0IGlzRm9jdXNPblNlYXJjaElucHV0ID1cbiAgICAgICAgIWlzTnVsbChpbnB1dFJlZi5jdXJyZW50KSAmJiBlLnJlbGF0ZWRUYXJnZXQgPT09IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCBpc0ZvY3VzT25Db250cm9sID0gZS5yZWxhdGVkVGFyZ2V0ID09PSBjb250cm9sUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmIChpc0ZvY3VzT25PcHRpb25MaXN0IHx8IGlzRm9jdXNPblNlYXJjaElucHV0IHx8IGlzRm9jdXNPbkNvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBvbkJsdXI/LihlKTtcbiAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgIGNsb3NlT3B0aW9uTGlzdCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbGVhclNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNsZWFyQ3VycmVudFZhbHVlKCk7XG4gICAgICAgIG9uQ2xlYXI/LigpO1xuICAgICAgfSxcbiAgICAgIFtjbGVhckN1cnJlbnRWYWx1ZSwgb25DbGVhcl1cbiAgICApO1xuXG4gICAgY29uc3Qga2V5RG93bkhhbmRsZXIgPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgaWYgKGlzU2VsZWN0T3Blbikge1xuICAgICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZShmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnNbY3VycmVudFNlbGVjdGluZ0luZGV4XT8udmFsdWUpO1xuXG4gICAgICAgICAgaWYgKHdpdGhBdXRvQ2xlYXIpIHtcbiAgICAgICAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjbGlja0hhbmRsZSgpO1xuICAgICAgfVxuXG4gICAgICBzZXRJc1NlbGVjdE9wZW4odHJ1ZSk7XG5cbiAgICAgIG9uS2V5Q29udHJvbChlKTtcbiAgICAgIG9uSW5wdXRLZXlEb3duPy4oZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3ZlckhhbmRsZSA9ICgpID0+IHtcbiAgICAgIHNldElzSG92ZXIodHJ1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3V0SGFuZGxlID0gKCkgPT4ge1xuICAgICAgc2V0SXNIb3ZlcihmYWxzZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZvY3VzSGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIG9uRm9jdXM/LihlKTtcblxuICAgICAgaWYgKCFzaG93U2VhcmNoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuRm9jdXNUb0lucHV0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclRhZ1BsYWNlaG9sZGVyID0gKGhpZGRlbkVsZW1lbnRzQ291bnRlcjogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaXNVbmRlZmluZWQobWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8VGFnUGxhY2Vob2xkZXIgaGlkZGVuRWxlbWVudHNDb3VudGVyPXtoaWRkZW5FbGVtZW50c0NvdW50ZXJ9IC8+O1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24obWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcn08L3NwYW4+O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoaWRkZW5FbGVtZW50cyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSGlkZGVuID0gaXNJdGVtSGlkZGVuLmdldCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzSGlkZGVuIHx8IGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgYWNjLnB1c2gob3B0aW9uKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50cyl9PC9zcGFuPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVuZGVyTGFiZWwgPSAodmFsdWVzOiBTZWxlY3RPcHRpb25WYWx1ZVtdLCBjdXJyZW50TGFiZWw6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmxlTGFiZWxzID0gZ2V0VmlzaWJsZUxhYmVscyhjdXJyZW50TGFiZWwsIHZhbHVlcywgbWF4VGFnQ291bnQsIGlzSXRlbUhpZGRlbik7XG5cbiAgICAgIGNvbnN0IGxhYmVsID0gdmlzaWJsZUxhYmVscy5tYXAoKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpbmRleF07XG5cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24obGFiZWxSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsUmVuZGVyKHsgbGFiZWwsIHZhbHVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vZGUgPT09IFwic2luZ2xlXCIpIHtcbiAgICAgICAgICByZXR1cm4gbGFiZWw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGdW5jdGlvbih0YWdSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIHRhZ1JlbmRlcihsYWJlbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTZWxlY3RUYWdcbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgICAgIG1heFRhZ1RleHRMZW5ndGg9e21heFRhZ1RleHRMZW5ndGh9XG4gICAgICAgICAgICBpc0JvcmRlcmxlc3M9e3ZhcmlhbnQgPT09IFwiYm9yZGVybGVzc1wifVxuICAgICAgICAgICAgaXNFcnJvcj17c3RhdHVzID09PSBcImVycm9yXCJ9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBrZXk9e3ZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHNDb3VudGVyID0gY3VycmVudExhYmVsLmxlbmd0aCAtIGxhYmVsLmxlbmd0aDtcblxuICAgICAgY29uc3Qgd2l0aFRhZ1BsYWNlaG9sZGVyID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG1heFRhZ0NvdW50KSAmJiBtb2RlID09PSBcIm11bHRpcGxlXCIgJiYgaGlkZGVuRWxlbWVudHNDb3VudGVyID4gMDtcblxuICAgICAgaWYgKGxhYmVsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAge3dpdGhUYWdQbGFjZWhvbGRlciAmJiByZW5kZXJUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50c0NvdW50ZXIpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclN1ZmZpeCA9ICgpID0+IHtcbiAgICAgIGlmICh3aXRoRHJhd2VyKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEJhcnNPdXRsaW5lZFxuICAgICAgICAgICAgb25DbGljaz17Y2xpY2tIYW5kbGV9XG4gICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuZHJhd2VySWNvbih0aGVtZSksIHN0eWxlcz8uZHJhd2VySWNvbj8uKHRoZW1lKV19XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3dTZWFyY2ggJiYgaXNTZWxlY3RPcGVuKSB7XG4gICAgICAgIHJldHVybiA8U2VhcmNoT3V0bGluZWQgLz47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdWZmaXhJY29uO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJQbGFjZWhvbGRlciA9ICgpID0+IChcbiAgICAgIDxzcGFuIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wbGFjZWhvbGRlcih0aGVtZSksIHN0eWxlcz8ucGxhY2Vob2xkZXI/Lih0aGVtZSldfT5cbiAgICAgICAge3BsYWNlaG9sZGVyfVxuICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgICBjb25zdCB3aXRoQ2xlYXJCdXR0b24gPSBhbGxvd0NsZWFyICYmICEhYWN0aXZlVmFsdWVzLmxlbmd0aDtcblxuICAgIGNvbnN0IGlucHV0VmFsdWUgPVxuICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiIHx8IGlzU2VsZWN0T3BlbiA/IChzZWFyY2hWYWx1ZSA/PyBzZWFyY2hJbnB1dFZhbHVlKSA6IGN1cnJlbnRMYWJlbFswXTtcblxuICAgIGNvbnN0IGlzRW1wdHkgPSBhY3RpdmVWYWx1ZXMubGVuZ3RoID09PSAwO1xuICAgIGNvbnN0IHNpbmdsZU1vZFBsYWNlaG9sZGVyID0gY3VycmVudExhYmVsWzBdID8/IHBsYWNlaG9sZGVyID8/IFwiXCI7XG4gICAgY29uc3QgbXVsdGlwbGVNb2RQbGFjZWhvbGRlciA9IGlzRW1wdHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHNlYXJjaElucHV0UGxhY2Vob2xkZXIgPVxuICAgICAgbW9kZSA9PT0gXCJzaW5nbGVcIiA/IHNpbmdsZU1vZFBsYWNlaG9sZGVyIDogbXVsdGlwbGVNb2RQbGFjZWhvbGRlcjtcblxuICAgIGNvbnN0IGxldHRlcnNOdW1iZXIgPSAoaW5wdXRWYWx1ZT8ubGVuZ3RoID8/IDApICsgMTtcblxuICAgIGNvbnN0IGhhc0ljb25QcmVmaXggPSB0eXBlb2YgcHJlZml4ID09PSBcIm9iamVjdFwiO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgdGFiSW5kZXg9ezF9XG4gICAgICAgIG9uS2V5RG93bj17a2V5RG93bkhhbmRsZXJ9XG4gICAgICAgIG9uTW91c2VPdmVyPXttb3VzZU92ZXJIYW5kbGV9XG4gICAgICAgIG9uTW91c2VPdXQ9e21vdXNlT3V0SGFuZGxlfVxuICAgICAgICBvbkZvY3VzPXtmb2N1c0hhbmRsZX1cbiAgICAgICAgb25CbHVyPXtibHVySGFuZGxlfVxuICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1c31cbiAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5ib2R5KHRoZW1lKSwgc3R5bGVzPy5ib2R5Py4odGhlbWUpXX1cbiAgICAgICAgICBvbkNsaWNrPXshd2l0aERyYXdlciA/IGNsaWNrSGFuZGxlIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHJlZj17cmVmcy5zZXRSZWZlcmVuY2V9XG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLnByZWZpeEFuZENvbnRlbnQodGhlbWUpLCBzdHlsZXM/LnByZWZpeEFuZENvbnRlbnQ/Lih0aGVtZSldfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtwcmVmaXggJiYgKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wcmVmaXgoaGFzSWNvblByZWZpeCkodGhlbWUpLCBzdHlsZXM/LnByZWZpeD8uKHRoZW1lKV19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cHJlZml4fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd1NlYXJjaCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gcmVmPXtjb250YWluZXJSZWZ9IGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLmNvbnRlbnQodGhlbWUpfT5cbiAgICAgICAgICAgICAgICB7bW9kZSA9PT0gXCJtdWx0aXBsZVwiICYmIHJlbmRlckxhYmVsKGFjdGl2ZVZhbHVlcywgY3VycmVudExhYmVsKX1cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLnNlYXJjaElucHV0KHRoZW1lKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFZhbHVlID8/IFwiXCJ9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2VhcmNoSGFuZGxlfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaElucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e2dldFNlbGVjdFNlYXJjaElucHV0V2lkdGhTdHlsZShcbiAgICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiLFxuICAgICAgICAgICAgICAgICAgICBpc0VtcHR5LFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJzTnVtYmVyXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwic2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5jb250ZW50KHRoZW1lKSwgc3R5bGVzPy5jb250ZW50Py4odGhlbWUpXX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtyZW5kZXJMYWJlbChjdXJyZW50VmFsdWUsIGN1cnJlbnRMYWJlbCkgPz8gcmVuZGVyUGxhY2Vob2xkZXIoKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICB7d2l0aENsZWFyQnV0dG9uICYmIChcbiAgICAgICAgICAgIDxDbG9zZUNpcmNsZUZpbGxlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjbGVhbi1idXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtjbGVhclNlbGVjdH1cbiAgICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLmNsZWFuSWNvbih0aGVtZSksIHN0eWxlcz8uY2xlYW5JY29uPy4odGhlbWUpXX1cbiAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwiY2xlYW4tYnV0dG9uXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8c3BhbiBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuc3VmZml4SWNvbih0aGVtZSksIHN0eWxlcz8uc3VmZml4SWNvbj8uKHRoZW1lKV19PlxuICAgICAgICAgICAge3JlbmRlclN1ZmZpeCgpfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxTZWxlY3RPcHRpb25MaXN0XG4gICAgICAgICAgb3B0aW9ucz17ZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zfVxuICAgICAgICAgIGN1cnJlbnRWYWx1ZT17YWN0aXZlVmFsdWVzfVxuICAgICAgICAgIHNob3dPcHRpb25MaXN0PXtvcGVuID8/IGlzU2VsZWN0T3Blbn1cbiAgICAgICAgICBzZXRWYWx1ZT17Y2hhbmdlSGFuZGxlfVxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdD17Y2xvc2VPcHRpb25MaXN0fVxuICAgICAgICAgIGRyb3Bkb3duTWluV2lkdGg9e2Ryb3Bkb3duTWluV2lkdGh9XG4gICAgICAgICAgZHJvcGRvd25NYXhIZWlnaHQ9e2Ryb3Bkb3duTWF4SGVpZ2h0fVxuICAgICAgICAgIHJldHVybkZvY3VzVG9XcmFwcGVyPXtyZXR1cm5Gb2N1c1RvV3JhcHBlcn1cbiAgICAgICAgICBkcm9wZG93blByb21wdD17ZHJvcGRvd25Qcm9tcHR9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBkcm9wZG93bkNsYXNzTmFtZT17ZHJvcGRvd25DbGFzc05hbWV9XG4gICAgICAgICAgc3R5bGVzPXtzdHlsZXM/LmRyb3Bkb3duU3R5bGV9XG4gICAgICAgICAgZHJvcGRvd25SZW5kZXI9e2Ryb3Bkb3duUmVuZGVyfVxuICAgICAgICAgIG9wdGlvblJlbmRlcj17b3B0aW9uUmVuZGVyfVxuICAgICAgICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD17ZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRofVxuICAgICAgICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoPXtyZWZlcmVuY2VPZmZzZXRXaWR0aH1cbiAgICAgICAgICBmbG9hdGluZ1N0eWxlcz17ZmxvYXRpbmdTdHlsZXN9XG4gICAgICAgICAgc2V0RmxvYXRpbmc9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgZmxvYXRpbmdSZWY9e3JlZnMuZmxvYXRpbmd9XG4gICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9e2dldFBvcHVwQ29udGFpbmVyfVxuICAgICAgICAgIHZpcnR1YWw9e3ZpcnR1YWx9XG4gICAgICAgICAgY3VycmVudFNlbGVjdGluZ0luZGV4PXtjdXJyZW50U2VsZWN0aW5nSW5kZXh9XG4gICAgICAgICAgZW1wdHlDb250ZW50PXtlbXB0eUNvbnRlbnR9XG4gICAgICAgICAgbm90Rm91bmRDb250ZW50PXtub3RGb3VuZENvbnRlbnR9XG4gICAgICAgICAgc2VhcmNoVmFsdWU9e3NlYXJjaFZhbHVlID8/IHNlYXJjaElucHV0VmFsdWV9XG4gICAgICAgICAgc2hvd1NlYXJjaD17c2hvd1NlYXJjaH1cbiAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0ID0gd2l0aFRoZW1lUHJvdmlkZXI8U2VsZWN0UHJvcHM+KFNlbGVjdENvbXBvbmVudCk7XG4iXX0= */"], onClick: !withDrawer ? clickHandle : void 0, ref: refs.setReference, children: [
289
- /* @__PURE__ */ jsxs("span", { css: [selectDefaultStyle.prefixAndContent(theme), (_d = styles == null ? void 0 : styles.prefixAndContent) == null ? void 0 : _d.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb2JZIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEZDLFxuICB0eXBlIEZvY3VzRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgbWVtbyxcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgU2VsZWN0UHJvcHMgfSBmcm9tIFwiLi9TZWxlY3QudHlwZXNcIjtcbmltcG9ydCB7IHdpdGhUaGVtZVByb3ZpZGVyIH0gZnJvbSBcImhvY3Mvd2l0aFRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIHtcbiAgU2VsZWN0T3B0aW9uSW50ZXJmYWNlLFxuICBTZWxlY3RPcHRpb25WYWx1ZSxcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb24vU2VsZWN0T3B0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25MaXN0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb25MaXN0L1NlbGVjdE9wdGlvbkxpc3RcIjtcbmltcG9ydCB7IGdldFNlbGVjdERlZmF1bHRTdHlsZSwgZ2V0U2VsZWN0U2VhcmNoSW5wdXRXaWR0aFN0eWxlIH0gZnJvbSBcIi4vU2VsZWN0LnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEJhcnNPdXRsaW5lZCwgQ2xvc2VDaXJjbGVGaWxsZWQsIERvd25PdXRsaW5lZCwgU2VhcmNoT3V0bGluZWQgfSBmcm9tIFwiQGluZm9tYXhpbXVtL2ljb25zXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc051bGwsIGlzVW5kZWZpbmVkIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgYXV0b1VwZGF0ZSwgZmxpcCwgb2Zmc2V0LCB1c2VGbG9hdGluZyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIGFkZGl0aW9uYWxFbGVtZW50cyxcbiAgY29udmVydFNlbGVjdFBsYWNlbWVudCxcbiAgZ2V0TGFiZWwsXG4gIGdldFZpc2libGVMYWJlbHMsXG59IGZyb20gXCIuL1NlbGVjdC51dGlsc1wiO1xuaW1wb3J0IHsgdXNlS2V5Q29udHJvbCB9IGZyb20gXCIuL2hvb2tzL3VzZUtleUNvbnRyb2xcIjtcbmltcG9ydCB7IHVzZVNlYXJjaCB9IGZyb20gXCIuL2hvb2tzL3VzZVNlYXJjaFwiO1xuaW1wb3J0IHsgdXNlQ3VycmVudFZhbHVlIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VycmVudFZhbHVlXCI7XG5pbXBvcnQgeyBTZWxlY3RUYWcgfSBmcm9tIFwiLi9jb21wb25lbnRzL1NlbGVjdFRhZy9TZWxlY3RUYWdcIjtcbmltcG9ydCB7IHVzZUhpZGVFbGVtZW50cyB9IGZyb20gXCJjb21wb25lbnRzL1NlbGVjdC9ob29rcy91c2VIaWRlRWxlbWVudHNcIjtcbmltcG9ydCB7XG4gIFRhZ1BsYWNlaG9sZGVyLFxuICB0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50LFxufSBmcm9tIFwiLi9jb21wb25lbnRzL1RhZ1BsYWNlaG9sZGVyL1RhZ1BsYWNlaG9sZGVyXCI7XG5cbmNvbnN0IFNlbGVjdENvbXBvbmVudDogRkM8UHJvcHNXaXRoQ2hpbGRyZW48U2VsZWN0UHJvcHM+PiA9IG1lbW8oXG4gICh7XG4gICAgb3B0aW9ucyA9IFtdLFxuICAgIG1vZGUgPSBcInNpbmdsZVwiLFxuICAgIHZhcmlhbnQgPSBcIm91dGxpbmVkXCIsXG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uLFxuICAgIHZhbHVlLFxuICAgIG9wZW4sXG4gICAgcGxhY2Vob2xkZXIsXG4gICAgZHJvcGRvd25NaW5XaWR0aCA9IDEyMCxcbiAgICBkcm9wZG93bk1heEhlaWdodCA9IDQxNCxcbiAgICBhbGxvd0NsZWFyID0gZmFsc2UsXG4gICAgYXV0b0ZvY3VzLFxuICAgIHByZWZpeCxcbiAgICBzdWZmaXhJY29uID0gPERvd25PdXRsaW5lZCAvPixcbiAgICBzdGF0dXMgPSBcImRlZmF1bHRcIixcbiAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgIGRyb3Bkb3duUHJvbXB0LFxuICAgIGxvYWRpbmcgPSBmYWxzZSxcbiAgICBkcm9wZG93bkNsYXNzTmFtZSxcbiAgICBzdHlsZXMsXG4gICAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoID0gdHJ1ZSxcbiAgICBwbGFjZW1lbnQgPSBcImJvdHRvbUxlZnRcIixcbiAgICB2aXJ0dWFsID0gdHJ1ZSxcbiAgICBlbXB0eUNvbnRlbnQgPSBcIlwiLFxuICAgIHNob3dTZWFyY2ggPSBtb2RlID09PSBcInNpbmdsZVwiID8gZmFsc2UgOiB0cnVlLFxuICAgIGZpbHRlck9wdGlvbiA9IHRydWUsXG4gICAgb3B0aW9uRmlsdGVyUHJvcCA9IFwidGl0bGVcIixcbiAgICBzZWFyY2hWYWx1ZSxcbiAgICBub3RGb3VuZENvbnRlbnQsXG4gICAgb3B0aW9uTGFiZWxQcm9wID0gXCJ0aXRsZVwiLFxuICAgIGRyYXdlciA9IGZhbHNlLFxuICAgIGF1dG9DbGVhclNlYXJjaFZhbHVlID0gdHJ1ZSxcbiAgICBtYXhUYWdDb3VudCxcbiAgICBtYXhUYWdUZXh0TGVuZ3RoLFxuICAgIG1heFRhZ1BsYWNlaG9sZGVyLFxuICAgIGZpbHRlclNvcnQsXG4gICAgZHJvcGRvd25SZW5kZXIsXG4gICAgb3B0aW9uUmVuZGVyLFxuICAgIGxhYmVsUmVuZGVyLFxuICAgIG9uQmx1cixcbiAgICBvbkNoYW5nZSxcbiAgICBvbkNsZWFyLFxuICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLFxuICAgIG9uRm9jdXMsXG4gICAgb25JbnB1dEtleURvd24sXG4gICAgb25TZWxlY3QsXG4gICAgZ2V0UG9wdXBDb250YWluZXIgPSAoKSA9PiBkb2N1bWVudC5ib2R5LFxuICAgIG9uU2VhcmNoLFxuICAgIHRhZ1JlbmRlcixcbiAgICBvbkRlc2VsZWN0LFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgeyBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsIHNlYXJjaElucHV0VmFsdWUsIHNlYXJjaEhhbmRsZSwgY2xlYXJTZWFyY2hWYWx1ZSB9ID1cbiAgICAgIHVzZVNlYXJjaCh7XG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIGZpbHRlck9wdGlvbixcbiAgICAgICAgb3B0aW9uRmlsdGVyUHJvcCxcbiAgICAgICAgc2VhcmNoVmFsdWUsXG4gICAgICAgIG9uU2VhcmNoLFxuICAgICAgICBmaWx0ZXJTb3J0LFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRWYWx1ZSwgY2hhbmdlQ3VycmVudFZhbHVlLCByZW1vdmVWYWx1ZSwgY2xlYXJDdXJyZW50VmFsdWUgfSA9IHVzZUN1cnJlbnRWYWx1ZShcbiAgICAgIG1vZGUsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0QWN0aXZlRmlyc3RPcHRpb24sXG4gICAgICBvcHRpb25zLFxuICAgICAgb25EZXNlbGVjdFxuICAgICk7XG5cbiAgICBjb25zdCBbaXNTZWxlY3RPcGVuLCBzZXRJc1NlbGVjdE9wZW5dID0gdXNlU3RhdGUoZGVmYXVsdE9wZW4pO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gdXNlUmVmKHRydWUpO1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3Qgb3B0aW9uc01hcCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3Qgb3B0aW9uTGlzdDogW1NlbGVjdE9wdGlvblZhbHVlLCBTZWxlY3RPcHRpb25JbnRlcmZhY2VdW10gPSBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiBbXG4gICAgICAgIG9wdGlvbi52YWx1ZSxcbiAgICAgICAgb3B0aW9uLFxuICAgICAgXSk7XG5cbiAgICAgIHJldHVybiBuZXcgTWFwKG9wdGlvbkxpc3QpO1xuICAgIH0sIFtvcHRpb25zXSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRTZWxlY3RpbmdJbmRleCwgb25LZXlDb250cm9sLCBzZXRDdXJyZW50U2VsZWN0aW5nSW5kZXggfSA9IHVzZUtleUNvbnRyb2woXG4gICAgICBjdXJyZW50VmFsdWUsXG4gICAgICBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsXG4gICAgICBvcHRpb25zTWFwXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZU9mZnNldFdpZHRoID0gY29udHJvbFJlZi5jdXJyZW50Py5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMgfSA9IHVzZUZsb2F0aW5nPEhUTUxTcGFuRWxlbWVudD4oe1xuICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICBwbGFjZW1lbnQ6IGNvbnZlcnRTZWxlY3RQbGFjZW1lbnQocGxhY2VtZW50KSxcbiAgICAgIG1pZGRsZXdhcmU6IFtvZmZzZXQoNCksIGZsaXAoKV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvV3JhcHBlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb250cm9sUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvSW5wdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgIH0pO1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIWlzSW5pdGlhbE1vdW50LmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgICAgaWYgKGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIG9wdGlvbl07XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICBvbkNoYW5nZT8uKGN1cnJlbnRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW2N1cnJlbnRWYWx1ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0luaXRpYWxNb3VudC5jdXJyZW50KSB7XG4gICAgICAgIGlzSW5pdGlhbE1vdW50LmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPy4oKTtcbiAgICAgIH1cbiAgICB9LCBbaXNTZWxlY3RPcGVuXSk7XG5cbiAgICBjb25zdCBzZWxlY3REZWZhdWx0U3R5bGUgPSBnZXRTZWxlY3REZWZhdWx0U3R5bGUoXG4gICAgICBzdGF0dXMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHZhcmlhbnQsXG4gICAgICBtb2RlID09PSBcIm11bHRpcGxlXCIsXG4gICAgICBpc0hvdmVyLFxuICAgICAgbWF4VGFnQ291bnRcbiAgICApO1xuXG4gICAgY29uc3QgYWN0aXZlVmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IGlzVW5kZWZpbmVkKHZhbHVlKSA/IGN1cnJlbnRWYWx1ZSA6IFt2YWx1ZV07XG5cbiAgICBjb25zdCB7IGNvbnRhaW5lclJlZiwgaXNJdGVtSGlkZGVuIH0gPSB1c2VIaWRlRWxlbWVudHMoXG4gICAgICBhY3RpdmVWYWx1ZXMsXG4gICAgICB0aGVtZS5zcGFjZVhTLFxuICAgICAgYWRkaXRpb25hbEVsZW1lbnRzLFxuICAgICAgaW5wdXRSZWZcbiAgICApO1xuXG4gICAgY29uc3QgY3VycmVudExhYmVsID0gZ2V0TGFiZWwoYWN0aXZlVmFsdWVzLCBvcHRpb25zTWFwLCBvcHRpb25MYWJlbFByb3ApO1xuXG4gICAgY29uc3Qgd2l0aERyYXdlciA9IG1vZGUgPT09IFwibXVsdGlwbGVcIiAmJiBkcmF3ZXI7XG4gICAgY29uc3Qgd2l0aEF1dG9DbGVhciA9IG1vZGUgPT09IFwic2luZ2xlXCIgfHwgYXV0b0NsZWFyU2VhcmNoVmFsdWU7XG5cbiAgICBjb25zdCBjbGlja0hhbmRsZSA9ICgpID0+IHtcbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldElzU2VsZWN0T3BlbigocHJldikgPT4gIXByZXYpO1xuICAgIH07XG5cbiAgICBjb25zdCBjaGFuZ2VIYW5kbGUgPSB1c2VDYWxsYmFjayhcbiAgICAgICh2YWx1ZTogU2VsZWN0T3B0aW9uVmFsdWUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY2hhbmdlQ3VycmVudFZhbHVlKHZhbHVlKTtcbiAgICAgICAgc2V0Q3VycmVudFNlbGVjdGluZ0luZGV4KGluZGV4KTtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgIGlmICh3aXRoQXV0b0NsZWFyKSB7XG4gICAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgIG9uU2VsZWN0Py4odmFsdWUsIG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZSxcbiAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSxcbiAgICAgICAgb25TZWxlY3QsXG4gICAgICAgIG9wdGlvbnNNYXAsXG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3RpbmdJbmRleCxcbiAgICAgICAgd2l0aEF1dG9DbGVhcixcbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgY2xvc2VPcHRpb25MaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0SXNTZWxlY3RPcGVuKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBibHVySGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGlzRm9jdXNPbk9wdGlvbkxpc3QgPSByZWZzLmZsb2F0aW5nLmN1cnJlbnQgPT09IGUucmVsYXRlZFRhcmdldDtcbiAgICAgIGNvbnN0IGlzRm9jdXNPblNlYXJjaElucHV0ID1cbiAgICAgICAgIWlzTnVsbChpbnB1dFJlZi5jdXJyZW50KSAmJiBlLnJlbGF0ZWRUYXJnZXQgPT09IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCBpc0ZvY3VzT25Db250cm9sID0gZS5yZWxhdGVkVGFyZ2V0ID09PSBjb250cm9sUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmIChpc0ZvY3VzT25PcHRpb25MaXN0IHx8IGlzRm9jdXNPblNlYXJjaElucHV0IHx8IGlzRm9jdXNPbkNvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBvbkJsdXI/LihlKTtcbiAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgIGNsb3NlT3B0aW9uTGlzdCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbGVhclNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNsZWFyQ3VycmVudFZhbHVlKCk7XG4gICAgICAgIG9uQ2xlYXI/LigpO1xuICAgICAgfSxcbiAgICAgIFtjbGVhckN1cnJlbnRWYWx1ZSwgb25DbGVhcl1cbiAgICApO1xuXG4gICAgY29uc3Qga2V5RG93bkhhbmRsZXIgPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgaWYgKGlzU2VsZWN0T3Blbikge1xuICAgICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZShmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnNbY3VycmVudFNlbGVjdGluZ0luZGV4XT8udmFsdWUpO1xuXG4gICAgICAgICAgaWYgKHdpdGhBdXRvQ2xlYXIpIHtcbiAgICAgICAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjbGlja0hhbmRsZSgpO1xuICAgICAgfVxuXG4gICAgICBzZXRJc1NlbGVjdE9wZW4odHJ1ZSk7XG5cbiAgICAgIG9uS2V5Q29udHJvbChlKTtcbiAgICAgIG9uSW5wdXRLZXlEb3duPy4oZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3ZlckhhbmRsZSA9ICgpID0+IHtcbiAgICAgIHNldElzSG92ZXIodHJ1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3V0SGFuZGxlID0gKCkgPT4ge1xuICAgICAgc2V0SXNIb3ZlcihmYWxzZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZvY3VzSGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIG9uRm9jdXM/LihlKTtcblxuICAgICAgaWYgKCFzaG93U2VhcmNoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuRm9jdXNUb0lucHV0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclRhZ1BsYWNlaG9sZGVyID0gKGhpZGRlbkVsZW1lbnRzQ291bnRlcjogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaXNVbmRlZmluZWQobWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8VGFnUGxhY2Vob2xkZXIgaGlkZGVuRWxlbWVudHNDb3VudGVyPXtoaWRkZW5FbGVtZW50c0NvdW50ZXJ9IC8+O1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24obWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcn08L3NwYW4+O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoaWRkZW5FbGVtZW50cyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSGlkZGVuID0gaXNJdGVtSGlkZGVuLmdldCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzSGlkZGVuIHx8IGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgYWNjLnB1c2gob3B0aW9uKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50cyl9PC9zcGFuPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVuZGVyTGFiZWwgPSAodmFsdWVzOiBTZWxlY3RPcHRpb25WYWx1ZVtdLCBjdXJyZW50TGFiZWw6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmxlTGFiZWxzID0gZ2V0VmlzaWJsZUxhYmVscyhjdXJyZW50TGFiZWwsIHZhbHVlcywgbWF4VGFnQ291bnQsIGlzSXRlbUhpZGRlbik7XG5cbiAgICAgIGNvbnN0IGxhYmVsID0gdmlzaWJsZUxhYmVscy5tYXAoKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpbmRleF07XG5cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24obGFiZWxSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsUmVuZGVyKHsgbGFiZWwsIHZhbHVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vZGUgPT09IFwic2luZ2xlXCIpIHtcbiAgICAgICAgICByZXR1cm4gbGFiZWw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGdW5jdGlvbih0YWdSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIHRhZ1JlbmRlcihsYWJlbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTZWxlY3RUYWdcbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgICAgIG1heFRhZ1RleHRMZW5ndGg9e21heFRhZ1RleHRMZW5ndGh9XG4gICAgICAgICAgICBpc0JvcmRlcmxlc3M9e3ZhcmlhbnQgPT09IFwiYm9yZGVybGVzc1wifVxuICAgICAgICAgICAgaXNFcnJvcj17c3RhdHVzID09PSBcImVycm9yXCJ9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBrZXk9e3ZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHNDb3VudGVyID0gY3VycmVudExhYmVsLmxlbmd0aCAtIGxhYmVsLmxlbmd0aDtcblxuICAgICAgY29uc3Qgd2l0aFRhZ1BsYWNlaG9sZGVyID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG1heFRhZ0NvdW50KSAmJiBtb2RlID09PSBcIm11bHRpcGxlXCIgJiYgaGlkZGVuRWxlbWVudHNDb3VudGVyID4gMDtcblxuICAgICAgaWYgKGxhYmVsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAge3dpdGhUYWdQbGFjZWhvbGRlciAmJiByZW5kZXJUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50c0NvdW50ZXIpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclN1ZmZpeCA9ICgpID0+IHtcbiAgICAgIGlmICh3aXRoRHJhd2VyKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEJhcnNPdXRsaW5lZFxuICAgICAgICAgICAgb25DbGljaz17Y2xpY2tIYW5kbGV9XG4gICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuZHJhd2VySWNvbih0aGVtZSksIHN0eWxlcz8uZHJhd2VySWNvbj8uKHRoZW1lKV19XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3dTZWFyY2ggJiYgaXNTZWxlY3RPcGVuKSB7XG4gICAgICAgIHJldHVybiA8U2VhcmNoT3V0bGluZWQgLz47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdWZmaXhJY29uO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJQbGFjZWhvbGRlciA9ICgpID0+IChcbiAgICAgIDxzcGFuIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wbGFjZWhvbGRlcih0aGVtZSksIHN0eWxlcz8ucGxhY2Vob2xkZXI/Lih0aGVtZSldfT5cbiAgICAgICAge3BsYWNlaG9sZGVyfVxuICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgICBjb25zdCB3aXRoQ2xlYXJCdXR0b24gPSBhbGxvd0NsZWFyICYmICEhYWN0aXZlVmFsdWVzLmxlbmd0aDtcblxuICAgIGNvbnN0IGlucHV0VmFsdWUgPVxuICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiIHx8IGlzU2VsZWN0T3BlbiA/IChzZWFyY2hWYWx1ZSA/PyBzZWFyY2hJbnB1dFZhbHVlKSA6IGN1cnJlbnRMYWJlbFswXTtcblxuICAgIGNvbnN0IGlzRW1wdHkgPSBhY3RpdmVWYWx1ZXMubGVuZ3RoID09PSAwO1xuICAgIGNvbnN0IHNpbmdsZU1vZFBsYWNlaG9sZGVyID0gY3VycmVudExhYmVsWzBdID8/IHBsYWNlaG9sZGVyID8/IFwiXCI7XG4gICAgY29uc3QgbXVsdGlwbGVNb2RQbGFjZWhvbGRlciA9IGlzRW1wdHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHNlYXJjaElucHV0UGxhY2Vob2xkZXIgPVxuICAgICAgbW9kZSA9PT0gXCJzaW5nbGVcIiA/IHNpbmdsZU1vZFBsYWNlaG9sZGVyIDogbXVsdGlwbGVNb2RQbGFjZWhvbGRlcjtcblxuICAgIGNvbnN0IGxldHRlcnNOdW1iZXIgPSAoaW5wdXRWYWx1ZT8ubGVuZ3RoID8/IDApICsgMTtcblxuICAgIGNvbnN0IGhhc0ljb25QcmVmaXggPSB0eXBlb2YgcHJlZml4ID09PSBcIm9iamVjdFwiO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgdGFiSW5kZXg9ezF9XG4gICAgICAgIG9uS2V5RG93bj17a2V5RG93bkhhbmRsZXJ9XG4gICAgICAgIG9uTW91c2VPdmVyPXttb3VzZU92ZXJIYW5kbGV9XG4gICAgICAgIG9uTW91c2VPdXQ9e21vdXNlT3V0SGFuZGxlfVxuICAgICAgICBvbkZvY3VzPXtmb2N1c0hhbmRsZX1cbiAgICAgICAgb25CbHVyPXtibHVySGFuZGxlfVxuICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1c31cbiAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5ib2R5KHRoZW1lKSwgc3R5bGVzPy5ib2R5Py4odGhlbWUpXX1cbiAgICAgICAgICBvbkNsaWNrPXshd2l0aERyYXdlciA/IGNsaWNrSGFuZGxlIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHJlZj17cmVmcy5zZXRSZWZlcmVuY2V9XG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLnByZWZpeEFuZENvbnRlbnQodGhlbWUpLCBzdHlsZXM/LnByZWZpeEFuZENvbnRlbnQ/Lih0aGVtZSldfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtwcmVmaXggJiYgKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wcmVmaXgoaGFzSWNvblByZWZpeCkodGhlbWUpLCBzdHlsZXM/LnByZWZpeD8uKHRoZW1lKV19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cHJlZml4fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd1NlYXJjaCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gcmVmPXtjb250YWluZXJSZWZ9IGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLmNvbnRlbnQodGhlbWUpfT5cbiAgICAgICAgICAgICAgICB7bW9kZSA9PT0gXCJtdWx0aXBsZVwiICYmIHJlbmRlckxhYmVsKGFjdGl2ZVZhbHVlcywgY3VycmVudExhYmVsKX1cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLnNlYXJjaElucHV0KHRoZW1lKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFZhbHVlID8/IFwiXCJ9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2VhcmNoSGFuZGxlfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaElucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e2dldFNlbGVjdFNlYXJjaElucHV0V2lkdGhTdHlsZShcbiAgICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiLFxuICAgICAgICAgICAgICAgICAgICBpc0VtcHR5LFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJzTnVtYmVyXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwic2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5jb250ZW50KHRoZW1lKSwgc3R5bGVzPy5jb250ZW50Py4odGhlbWUpXX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtyZW5kZXJMYWJlbChjdXJyZW50VmFsdWUsIGN1cnJlbnRMYWJlbCkgPz8gcmVuZGVyUGxhY2Vob2xkZXIoKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICB7d2l0aENsZWFyQnV0dG9uICYmIChcbiAgICAgICAgICAgIDxDbG9zZUNpcmNsZUZpbGxlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjbGVhbi1idXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtjbGVhclNlbGVjdH1cbiAgICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLmNsZWFuSWNvbih0aGVtZSksIHN0eWxlcz8uY2xlYW5JY29uPy4odGhlbWUpXX1cbiAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwiY2xlYW4tYnV0dG9uXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8c3BhbiBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuc3VmZml4SWNvbih0aGVtZSksIHN0eWxlcz8uc3VmZml4SWNvbj8uKHRoZW1lKV19PlxuICAgICAgICAgICAge3JlbmRlclN1ZmZpeCgpfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxTZWxlY3RPcHRpb25MaXN0XG4gICAgICAgICAgb3B0aW9ucz17ZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zfVxuICAgICAgICAgIGN1cnJlbnRWYWx1ZT17YWN0aXZlVmFsdWVzfVxuICAgICAgICAgIHNob3dPcHRpb25MaXN0PXtvcGVuID8/IGlzU2VsZWN0T3Blbn1cbiAgICAgICAgICBzZXRWYWx1ZT17Y2hhbmdlSGFuZGxlfVxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdD17Y2xvc2VPcHRpb25MaXN0fVxuICAgICAgICAgIGRyb3Bkb3duTWluV2lkdGg9e2Ryb3Bkb3duTWluV2lkdGh9XG4gICAgICAgICAgZHJvcGRvd25NYXhIZWlnaHQ9e2Ryb3Bkb3duTWF4SGVpZ2h0fVxuICAgICAgICAgIHJldHVybkZvY3VzVG9XcmFwcGVyPXtyZXR1cm5Gb2N1c1RvV3JhcHBlcn1cbiAgICAgICAgICBkcm9wZG93blByb21wdD17ZHJvcGRvd25Qcm9tcHR9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBkcm9wZG93bkNsYXNzTmFtZT17ZHJvcGRvd25DbGFzc05hbWV9XG4gICAgICAgICAgc3R5bGVzPXtzdHlsZXM/LmRyb3Bkb3duU3R5bGV9XG4gICAgICAgICAgZHJvcGRvd25SZW5kZXI9e2Ryb3Bkb3duUmVuZGVyfVxuICAgICAgICAgIG9wdGlvblJlbmRlcj17b3B0aW9uUmVuZGVyfVxuICAgICAgICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD17ZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRofVxuICAgICAgICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoPXtyZWZlcmVuY2VPZmZzZXRXaWR0aH1cbiAgICAgICAgICBmbG9hdGluZ1N0eWxlcz17ZmxvYXRpbmdTdHlsZXN9XG4gICAgICAgICAgc2V0RmxvYXRpbmc9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgZmxvYXRpbmdSZWY9e3JlZnMuZmxvYXRpbmd9XG4gICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9e2dldFBvcHVwQ29udGFpbmVyfVxuICAgICAgICAgIHZpcnR1YWw9e3ZpcnR1YWx9XG4gICAgICAgICAgY3VycmVudFNlbGVjdGluZ0luZGV4PXtjdXJyZW50U2VsZWN0aW5nSW5kZXh9XG4gICAgICAgICAgZW1wdHlDb250ZW50PXtlbXB0eUNvbnRlbnR9XG4gICAgICAgICAgbm90Rm91bmRDb250ZW50PXtub3RGb3VuZENvbnRlbnR9XG4gICAgICAgICAgc2VhcmNoVmFsdWU9e3NlYXJjaFZhbHVlID8/IHNlYXJjaElucHV0VmFsdWV9XG4gICAgICAgICAgc2hvd1NlYXJjaD17c2hvd1NlYXJjaH1cbiAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0ID0gd2l0aFRoZW1lUHJvdmlkZXI8U2VsZWN0UHJvcHM+KFNlbGVjdENvbXBvbmVudCk7XG4iXX0= */"], children: [
290
- prefix && /* @__PURE__ */ jsx("span", { css: [selectDefaultStyle.prefix(hasIconPrefix)(theme), (_e = styles == null ? void 0 : styles.prefix) == null ? void 0 : _e.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd2JnQiIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1NlbGVjdC9TZWxlY3QudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBGQyxcbiAgdHlwZSBGb2N1c0V2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIG1lbW8sXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdFByb3BzIH0gZnJvbSBcIi4vU2VsZWN0LnR5cGVzXCI7XG5pbXBvcnQgeyB3aXRoVGhlbWVQcm92aWRlciB9IGZyb20gXCJob2NzL3dpdGhUaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFNlbGVjdE9wdGlvbkludGVyZmFjZSxcbiAgU2VsZWN0T3B0aW9uVmFsdWUsXG59IGZyb20gXCIuL2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTGlzdCB9IGZyb20gXCIuL2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uTGlzdC9TZWxlY3RPcHRpb25MaXN0XCI7XG5pbXBvcnQgeyBnZXRTZWxlY3REZWZhdWx0U3R5bGUsIGdldFNlbGVjdFNlYXJjaElucHV0V2lkdGhTdHlsZSB9IGZyb20gXCIuL1NlbGVjdC5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcImhvb2tzL3VzZVRoZW1lXCI7XG5pbXBvcnQgeyBCYXJzT3V0bGluZWQsIENsb3NlQ2lyY2xlRmlsbGVkLCBEb3duT3V0bGluZWQsIFNlYXJjaE91dGxpbmVkIH0gZnJvbSBcIkBpbmZvbWF4aW11bS9pY29uc1wiO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNOdWxsLCBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IGF1dG9VcGRhdGUsIGZsaXAsIG9mZnNldCwgdXNlRmxvYXRpbmcgfSBmcm9tIFwiQGZsb2F0aW5nLXVpL3JlYWN0XCI7XG5pbXBvcnQge1xuICBhZGRpdGlvbmFsRWxlbWVudHMsXG4gIGNvbnZlcnRTZWxlY3RQbGFjZW1lbnQsXG4gIGdldExhYmVsLFxuICBnZXRWaXNpYmxlTGFiZWxzLFxufSBmcm9tIFwiLi9TZWxlY3QudXRpbHNcIjtcbmltcG9ydCB7IHVzZUtleUNvbnRyb2wgfSBmcm9tIFwiLi9ob29rcy91c2VLZXlDb250cm9sXCI7XG5pbXBvcnQgeyB1c2VTZWFyY2ggfSBmcm9tIFwiLi9ob29rcy91c2VTZWFyY2hcIjtcbmltcG9ydCB7IHVzZUN1cnJlbnRWYWx1ZSB9IGZyb20gXCIuL2hvb2tzL3VzZUN1cnJlbnRWYWx1ZVwiO1xuaW1wb3J0IHsgU2VsZWN0VGFnIH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RUYWcvU2VsZWN0VGFnXCI7XG5pbXBvcnQgeyB1c2VIaWRlRWxlbWVudHMgfSBmcm9tIFwiY29tcG9uZW50cy9TZWxlY3QvaG9va3MvdXNlSGlkZUVsZW1lbnRzXCI7XG5pbXBvcnQge1xuICBUYWdQbGFjZWhvbGRlcixcbiAgdGFnUGxhY2Vob2xkZXJEYXRhRWxlbWVudCxcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9UYWdQbGFjZWhvbGRlci9UYWdQbGFjZWhvbGRlclwiO1xuXG5jb25zdCBTZWxlY3RDb21wb25lbnQ6IEZDPFByb3BzV2l0aENoaWxkcmVuPFNlbGVjdFByb3BzPj4gPSBtZW1vKFxuICAoe1xuICAgIG9wdGlvbnMgPSBbXSxcbiAgICBtb2RlID0gXCJzaW5nbGVcIixcbiAgICB2YXJpYW50ID0gXCJvdXRsaW5lZFwiLFxuICAgIGRlZmF1bHRWYWx1ZSxcbiAgICBkZWZhdWx0T3BlbiA9IGZhbHNlLFxuICAgIGRlZmF1bHRBY3RpdmVGaXJzdE9wdGlvbixcbiAgICB2YWx1ZSxcbiAgICBvcGVuLFxuICAgIHBsYWNlaG9sZGVyLFxuICAgIGRyb3Bkb3duTWluV2lkdGggPSAxMjAsXG4gICAgZHJvcGRvd25NYXhIZWlnaHQgPSA0MTQsXG4gICAgYWxsb3dDbGVhciA9IGZhbHNlLFxuICAgIGF1dG9Gb2N1cyxcbiAgICBwcmVmaXgsXG4gICAgc3VmZml4SWNvbiA9IDxEb3duT3V0bGluZWQgLz4sXG4gICAgc3RhdHVzID0gXCJkZWZhdWx0XCIsXG4gICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICBkcm9wZG93blByb21wdCxcbiAgICBsb2FkaW5nID0gZmFsc2UsXG4gICAgZHJvcGRvd25DbGFzc05hbWUsXG4gICAgc3R5bGVzLFxuICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aCA9IHRydWUsXG4gICAgcGxhY2VtZW50ID0gXCJib3R0b21MZWZ0XCIsXG4gICAgdmlydHVhbCA9IHRydWUsXG4gICAgZW1wdHlDb250ZW50ID0gXCJcIixcbiAgICBzaG93U2VhcmNoID0gbW9kZSA9PT0gXCJzaW5nbGVcIiA/IGZhbHNlIDogdHJ1ZSxcbiAgICBmaWx0ZXJPcHRpb24gPSB0cnVlLFxuICAgIG9wdGlvbkZpbHRlclByb3AgPSBcInRpdGxlXCIsXG4gICAgc2VhcmNoVmFsdWUsXG4gICAgbm90Rm91bmRDb250ZW50LFxuICAgIG9wdGlvbkxhYmVsUHJvcCA9IFwidGl0bGVcIixcbiAgICBkcmF3ZXIgPSBmYWxzZSxcbiAgICBhdXRvQ2xlYXJTZWFyY2hWYWx1ZSA9IHRydWUsXG4gICAgbWF4VGFnQ291bnQsXG4gICAgbWF4VGFnVGV4dExlbmd0aCxcbiAgICBtYXhUYWdQbGFjZWhvbGRlcixcbiAgICBmaWx0ZXJTb3J0LFxuICAgIGRyb3Bkb3duUmVuZGVyLFxuICAgIG9wdGlvblJlbmRlcixcbiAgICBsYWJlbFJlbmRlcixcbiAgICBvbkJsdXIsXG4gICAgb25DaGFuZ2UsXG4gICAgb25DbGVhcixcbiAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSxcbiAgICBvbkZvY3VzLFxuICAgIG9uSW5wdXRLZXlEb3duLFxuICAgIG9uU2VsZWN0LFxuICAgIGdldFBvcHVwQ29udGFpbmVyID0gKCkgPT4gZG9jdW1lbnQuYm9keSxcbiAgICBvblNlYXJjaCxcbiAgICB0YWdSZW5kZXIsXG4gICAgb25EZXNlbGVjdCxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICAgIGNvbnN0IHsgZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zLCBzZWFyY2hJbnB1dFZhbHVlLCBzZWFyY2hIYW5kbGUsIGNsZWFyU2VhcmNoVmFsdWUgfSA9XG4gICAgICB1c2VTZWFyY2goe1xuICAgICAgICBvcHRpb25zLFxuICAgICAgICBmaWx0ZXJPcHRpb24sXG4gICAgICAgIG9wdGlvbkZpbHRlclByb3AsXG4gICAgICAgIHNlYXJjaFZhbHVlLFxuICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgZmlsdGVyU29ydCxcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgeyBjdXJyZW50VmFsdWUsIGNoYW5nZUN1cnJlbnRWYWx1ZSwgcmVtb3ZlVmFsdWUsIGNsZWFyQ3VycmVudFZhbHVlIH0gPSB1c2VDdXJyZW50VmFsdWUoXG4gICAgICBtb2RlLFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIG9uRGVzZWxlY3RcbiAgICApO1xuXG4gICAgY29uc3QgW2lzU2VsZWN0T3Blbiwgc2V0SXNTZWxlY3RPcGVuXSA9IHVzZVN0YXRlKGRlZmF1bHRPcGVuKTtcbiAgICBjb25zdCBbaXNIb3Zlciwgc2V0SXNIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBpc0luaXRpYWxNb3VudCA9IHVzZVJlZih0cnVlKTtcbiAgICBjb25zdCBjb250cm9sUmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0IG9wdGlvbnNNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbkxpc3Q6IFtTZWxlY3RPcHRpb25WYWx1ZSwgU2VsZWN0T3B0aW9uSW50ZXJmYWNlXVtdID0gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gW1xuICAgICAgICBvcHRpb24udmFsdWUsXG4gICAgICAgIG9wdGlvbixcbiAgICAgIF0pO1xuXG4gICAgICByZXR1cm4gbmV3IE1hcChvcHRpb25MaXN0KTtcbiAgICB9LCBbb3B0aW9uc10pO1xuXG4gICAgY29uc3QgeyBjdXJyZW50U2VsZWN0aW5nSW5kZXgsIG9uS2V5Q29udHJvbCwgc2V0Q3VycmVudFNlbGVjdGluZ0luZGV4IH0gPSB1c2VLZXlDb250cm9sKFxuICAgICAgY3VycmVudFZhbHVlLFxuICAgICAgZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zLFxuICAgICAgb3B0aW9uc01hcFxuICAgICk7XG5cbiAgICBjb25zdCByZWZlcmVuY2VPZmZzZXRXaWR0aCA9IGNvbnRyb2xSZWYuY3VycmVudD8ub2Zmc2V0V2lkdGg7XG5cbiAgICBjb25zdCB7IHJlZnMsIGZsb2F0aW5nU3R5bGVzIH0gPSB1c2VGbG9hdGluZzxIVE1MU3BhbkVsZW1lbnQ+KHtcbiAgICAgIHdoaWxlRWxlbWVudHNNb3VudGVkOiBhdXRvVXBkYXRlLFxuICAgICAgcGxhY2VtZW50OiBjb252ZXJ0U2VsZWN0UGxhY2VtZW50KHBsYWNlbWVudCksXG4gICAgICBtaWRkbGV3YXJlOiBbb2Zmc2V0KDQpLCBmbGlwKCldLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmV0dXJuRm9jdXNUb1dyYXBwZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29udHJvbFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgICAgfSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgcmV0dXJuRm9jdXNUb0lucHV0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKCFpc0luaXRpYWxNb3VudC5jdXJyZW50KSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSBjdXJyZW50VmFsdWUucmVkdWNlKChhY2M6IFNlbGVjdE9wdGlvbkludGVyZmFjZVtdLCB2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICAgIGlmIChpc1VuZGVmaW5lZChvcHRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbLi4uYWNjLCBvcHRpb25dO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgb25DaGFuZ2U/LihjdXJyZW50VmFsdWUsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH0sIFtjdXJyZW50VmFsdWVdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNJbml0aWFsTW91bnQuY3VycmVudCkge1xuICAgICAgICBpc0luaXRpYWxNb3VudC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT8uKCk7XG4gICAgICB9XG4gICAgfSwgW2lzU2VsZWN0T3Blbl0pO1xuXG4gICAgY29uc3Qgc2VsZWN0RGVmYXVsdFN0eWxlID0gZ2V0U2VsZWN0RGVmYXVsdFN0eWxlKFxuICAgICAgc3RhdHVzLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICB2YXJpYW50LFxuICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiLFxuICAgICAgaXNIb3ZlcixcbiAgICAgIG1heFRhZ0NvdW50XG4gICAgKTtcblxuICAgIGNvbnN0IGFjdGl2ZVZhbHVlcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBpc1VuZGVmaW5lZCh2YWx1ZSkgPyBjdXJyZW50VmFsdWUgOiBbdmFsdWVdO1xuXG4gICAgY29uc3QgeyBjb250YWluZXJSZWYsIGlzSXRlbUhpZGRlbiB9ID0gdXNlSGlkZUVsZW1lbnRzKFxuICAgICAgYWN0aXZlVmFsdWVzLFxuICAgICAgdGhlbWUuc3BhY2VYUyxcbiAgICAgIGFkZGl0aW9uYWxFbGVtZW50cyxcbiAgICAgIGlucHV0UmVmXG4gICAgKTtcblxuICAgIGNvbnN0IGN1cnJlbnRMYWJlbCA9IGdldExhYmVsKGFjdGl2ZVZhbHVlcywgb3B0aW9uc01hcCwgb3B0aW9uTGFiZWxQcm9wKTtcblxuICAgIGNvbnN0IHdpdGhEcmF3ZXIgPSBtb2RlID09PSBcIm11bHRpcGxlXCIgJiYgZHJhd2VyO1xuICAgIGNvbnN0IHdpdGhBdXRvQ2xlYXIgPSBtb2RlID09PSBcInNpbmdsZVwiIHx8IGF1dG9DbGVhclNlYXJjaFZhbHVlO1xuXG4gICAgY29uc3QgY2xpY2tIYW5kbGUgPSAoKSA9PiB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzZXRJc1NlbGVjdE9wZW4oKHByZXYpID0+ICFwcmV2KTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2hhbmdlSGFuZGxlID0gdXNlQ2FsbGJhY2soXG4gICAgICAodmFsdWU6IFNlbGVjdE9wdGlvblZhbHVlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3RpbmdJbmRleChpbmRleCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAod2l0aEF1dG9DbGVhcikge1xuICAgICAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICBvblNlbGVjdD8uKHZhbHVlLCBvcHRpb24pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW1xuICAgICAgICBjaGFuZ2VDdXJyZW50VmFsdWUsXG4gICAgICAgIGNsZWFyU2VhcmNoVmFsdWUsXG4gICAgICAgIG9uU2VsZWN0LFxuICAgICAgICBvcHRpb25zTWFwLFxuICAgICAgICBzZXRDdXJyZW50U2VsZWN0aW5nSW5kZXgsXG4gICAgICAgIHdpdGhBdXRvQ2xlYXIsXG4gICAgICBdXG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlT3B0aW9uTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzU2VsZWN0T3BlbihmYWxzZSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgYmx1ckhhbmRsZSA9IChlOiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICBjb25zdCBpc0ZvY3VzT25PcHRpb25MaXN0ID0gcmVmcy5mbG9hdGluZy5jdXJyZW50ID09PSBlLnJlbGF0ZWRUYXJnZXQ7XG4gICAgICBjb25zdCBpc0ZvY3VzT25TZWFyY2hJbnB1dCA9XG4gICAgICAgICFpc051bGwoaW5wdXRSZWYuY3VycmVudCkgJiYgZS5yZWxhdGVkVGFyZ2V0ID09PSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgY29uc3QgaXNGb2N1c09uQ29udHJvbCA9IGUucmVsYXRlZFRhcmdldCA9PT0gY29udHJvbFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNGb2N1c09uT3B0aW9uTGlzdCB8fCBpc0ZvY3VzT25TZWFyY2hJbnB1dCB8fCBpc0ZvY3VzT25Db250cm9sKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgb25CbHVyPy4oZSk7XG4gICAgICBjbGVhclNlYXJjaFZhbHVlKCk7XG4gICAgICBjbG9zZU9wdGlvbkxpc3QoKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2xlYXJTZWxlY3QgPSB1c2VDYWxsYmFjayhcbiAgICAgIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjbGVhckN1cnJlbnRWYWx1ZSgpO1xuICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgIH0sXG4gICAgICBbY2xlYXJDdXJyZW50VmFsdWUsIG9uQ2xlYXJdXG4gICAgKTtcblxuICAgIGNvbnN0IGtleURvd25IYW5kbGVyID0gKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICAgIGlmIChpc1NlbGVjdE9wZW4pIHtcbiAgICAgICAgICBjaGFuZ2VDdXJyZW50VmFsdWUoZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zW2N1cnJlbnRTZWxlY3RpbmdJbmRleF0/LnZhbHVlKTtcblxuICAgICAgICAgIGlmICh3aXRoQXV0b0NsZWFyKSB7XG4gICAgICAgICAgICBjbGVhclNlYXJjaFZhbHVlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY2xpY2tIYW5kbGUoKTtcbiAgICAgIH1cblxuICAgICAgc2V0SXNTZWxlY3RPcGVuKHRydWUpO1xuXG4gICAgICBvbktleUNvbnRyb2woZSk7XG4gICAgICBvbklucHV0S2V5RG93bj8uKGUpO1xuICAgIH07XG5cbiAgICBjb25zdCBtb3VzZU92ZXJIYW5kbGUgPSAoKSA9PiB7XG4gICAgICBzZXRJc0hvdmVyKHRydWUpO1xuICAgIH07XG5cbiAgICBjb25zdCBtb3VzZU91dEhhbmRsZSA9ICgpID0+IHtcbiAgICAgIHNldElzSG92ZXIoZmFsc2UpO1xuICAgIH07XG5cbiAgICBjb25zdCBmb2N1c0hhbmRsZSA9IChlOiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICBvbkZvY3VzPy4oZSk7XG5cbiAgICAgIGlmICghc2hvd1NlYXJjaCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJldHVybkZvY3VzVG9JbnB1dCgpO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJUYWdQbGFjZWhvbGRlciA9IChoaWRkZW5FbGVtZW50c0NvdW50ZXI6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKGlzVW5kZWZpbmVkKG1heFRhZ1BsYWNlaG9sZGVyKSkge1xuICAgICAgICByZXR1cm4gPFRhZ1BsYWNlaG9sZGVyIGhpZGRlbkVsZW1lbnRzQ291bnRlcj17aGlkZGVuRWxlbWVudHNDb3VudGVyfSAvPjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc0Z1bmN0aW9uKG1heFRhZ1BsYWNlaG9sZGVyKSkge1xuICAgICAgICByZXR1cm4gPHNwYW4gZGF0YS1lbGVtZW50PXt0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50fT57bWF4VGFnUGxhY2Vob2xkZXJ9PC9zcGFuPjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHMgPSBjdXJyZW50VmFsdWUucmVkdWNlKChhY2M6IFNlbGVjdE9wdGlvbkludGVyZmFjZVtdLCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBpc0hpZGRlbiA9IGlzSXRlbUhpZGRlbi5nZXQodmFsdWUpO1xuICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zTWFwLmdldCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKCFpc0hpZGRlbiB8fCBpc1VuZGVmaW5lZChvcHRpb24pKSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuXG4gICAgICAgIGFjYy5wdXNoKG9wdGlvbik7XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHNwYW4gZGF0YS1lbGVtZW50PXt0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50fT57bWF4VGFnUGxhY2Vob2xkZXIoaGlkZGVuRWxlbWVudHMpfTwvc3Bhbj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlckxhYmVsID0gKHZhbHVlczogU2VsZWN0T3B0aW9uVmFsdWVbXSwgY3VycmVudExhYmVsOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgY29uc3QgdmlzaWJsZUxhYmVscyA9IGdldFZpc2libGVMYWJlbHMoY3VycmVudExhYmVsLCB2YWx1ZXMsIG1heFRhZ0NvdW50LCBpc0l0ZW1IaWRkZW4pO1xuXG4gICAgICBjb25zdCBsYWJlbCA9IHZpc2libGVMYWJlbHMubWFwKChsYWJlbCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdO1xuXG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKGxhYmVsUmVuZGVyKSkge1xuICAgICAgICAgIHJldHVybiBsYWJlbFJlbmRlcih7IGxhYmVsLCB2YWx1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RlID09PSBcInNpbmdsZVwiKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24odGFnUmVuZGVyKSkge1xuICAgICAgICAgIHJldHVybiB0YWdSZW5kZXIobGFiZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U2VsZWN0VGFnXG4gICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICByZW1vdmVWYWx1ZT17cmVtb3ZlVmFsdWV9XG4gICAgICAgICAgICBtYXhUYWdUZXh0TGVuZ3RoPXttYXhUYWdUZXh0TGVuZ3RofVxuICAgICAgICAgICAgaXNCb3JkZXJsZXNzPXt2YXJpYW50ID09PSBcImJvcmRlcmxlc3NcIn1cbiAgICAgICAgICAgIGlzRXJyb3I9e3N0YXR1cyA9PT0gXCJlcnJvclwifVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAga2V5PXt2YWx1ZX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGhpZGRlbkVsZW1lbnRzQ291bnRlciA9IGN1cnJlbnRMYWJlbC5sZW5ndGggLSBsYWJlbC5sZW5ndGg7XG5cbiAgICAgIGNvbnN0IHdpdGhUYWdQbGFjZWhvbGRlciA9XG4gICAgICAgICFpc1VuZGVmaW5lZChtYXhUYWdDb3VudCkgJiYgbW9kZSA9PT0gXCJtdWx0aXBsZVwiICYmIGhpZGRlbkVsZW1lbnRzQ291bnRlciA+IDA7XG5cbiAgICAgIGlmIChsYWJlbC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIHt3aXRoVGFnUGxhY2Vob2xkZXIgJiYgcmVuZGVyVGFnUGxhY2Vob2xkZXIoaGlkZGVuRWxlbWVudHNDb3VudGVyKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJTdWZmaXggPSAoKSA9PiB7XG4gICAgICBpZiAod2l0aERyYXdlcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxCYXJzT3V0bGluZWRcbiAgICAgICAgICAgIG9uQ2xpY2s9e2NsaWNrSGFuZGxlfVxuICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLmRyYXdlckljb24odGhlbWUpLCBzdHlsZXM/LmRyYXdlckljb24/Lih0aGVtZSldfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG93U2VhcmNoICYmIGlzU2VsZWN0T3Blbikge1xuICAgICAgICByZXR1cm4gPFNlYXJjaE91dGxpbmVkIC8+O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3VmZml4SWNvbjtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVuZGVyUGxhY2Vob2xkZXIgPSAoKSA9PiAoXG4gICAgICA8c3BhbiBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUucGxhY2Vob2xkZXIodGhlbWUpLCBzdHlsZXM/LnBsYWNlaG9sZGVyPy4odGhlbWUpXX0+XG4gICAgICAgIHtwbGFjZWhvbGRlcn1cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuXG4gICAgY29uc3Qgd2l0aENsZWFyQnV0dG9uID0gYWxsb3dDbGVhciAmJiAhIWFjdGl2ZVZhbHVlcy5sZW5ndGg7XG5cbiAgICBjb25zdCBpbnB1dFZhbHVlID1cbiAgICAgIG1vZGUgPT09IFwibXVsdGlwbGVcIiB8fCBpc1NlbGVjdE9wZW4gPyAoc2VhcmNoVmFsdWUgPz8gc2VhcmNoSW5wdXRWYWx1ZSkgOiBjdXJyZW50TGFiZWxbMF07XG5cbiAgICBjb25zdCBpc0VtcHR5ID0gYWN0aXZlVmFsdWVzLmxlbmd0aCA9PT0gMDtcbiAgICBjb25zdCBzaW5nbGVNb2RQbGFjZWhvbGRlciA9IGN1cnJlbnRMYWJlbFswXSA/PyBwbGFjZWhvbGRlciA/PyBcIlwiO1xuICAgIGNvbnN0IG11bHRpcGxlTW9kUGxhY2Vob2xkZXIgPSBpc0VtcHR5ID8gcGxhY2Vob2xkZXIgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzZWFyY2hJbnB1dFBsYWNlaG9sZGVyID1cbiAgICAgIG1vZGUgPT09IFwic2luZ2xlXCIgPyBzaW5nbGVNb2RQbGFjZWhvbGRlciA6IG11bHRpcGxlTW9kUGxhY2Vob2xkZXI7XG5cbiAgICBjb25zdCBsZXR0ZXJzTnVtYmVyID0gKGlucHV0VmFsdWU/Lmxlbmd0aCA/PyAwKSArIDE7XG5cbiAgICBjb25zdCBoYXNJY29uUHJlZml4ID0gdHlwZW9mIHByZWZpeCA9PT0gXCJvYmplY3RcIjtcblxuICAgIHJldHVybiAoXG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUud3JhcHBlcih0aGVtZSksIHN0eWxlcz8ud3JhcHBlcj8uKHRoZW1lKV19XG4gICAgICAgIHRhYkluZGV4PXsxfVxuICAgICAgICBvbktleURvd249e2tleURvd25IYW5kbGVyfVxuICAgICAgICBvbk1vdXNlT3Zlcj17bW91c2VPdmVySGFuZGxlfVxuICAgICAgICBvbk1vdXNlT3V0PXttb3VzZU91dEhhbmRsZX1cbiAgICAgICAgb25Gb2N1cz17Zm9jdXNIYW5kbGV9XG4gICAgICAgIG9uQmx1cj17Ymx1ckhhbmRsZX1cbiAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuYm9keSh0aGVtZSksIHN0eWxlcz8uYm9keT8uKHRoZW1lKV19XG4gICAgICAgICAgb25DbGljaz17IXdpdGhEcmF3ZXIgPyBjbGlja0hhbmRsZSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICByZWY9e3JlZnMuc2V0UmVmZXJlbmNlfVxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wcmVmaXhBbmRDb250ZW50KHRoZW1lKSwgc3R5bGVzPy5wcmVmaXhBbmRDb250ZW50Py4odGhlbWUpXX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cHJlZml4ICYmIChcbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUucHJlZml4KGhhc0ljb25QcmVmaXgpKHRoZW1lKSwgc3R5bGVzPy5wcmVmaXg/Lih0aGVtZSldfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3ByZWZpeH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge3Nob3dTZWFyY2ggPyAoXG4gICAgICAgICAgICAgIDxzcGFuIHJlZj17Y29udGFpbmVyUmVmfSBjc3M9e3NlbGVjdERlZmF1bHRTdHlsZS5jb250ZW50KHRoZW1lKX0+XG4gICAgICAgICAgICAgICAge21vZGUgPT09IFwibXVsdGlwbGVcIiAmJiByZW5kZXJMYWJlbChhY3RpdmVWYWx1ZXMsIGN1cnJlbnRMYWJlbCl9XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjc3M9e3NlbGVjdERlZmF1bHRTdHlsZS5zZWFyY2hJbnB1dCh0aGVtZSl9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRWYWx1ZSA/PyBcIlwifVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3NlYXJjaEhhbmRsZX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtzZWFyY2hJbnB1dFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXtnZXRTZWxlY3RTZWFyY2hJbnB1dFdpZHRoU3R5bGUoXG4gICAgICAgICAgICAgICAgICAgIG1vZGUgPT09IFwibXVsdGlwbGVcIixcbiAgICAgICAgICAgICAgICAgICAgaXNFbXB0eSxcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyc051bWJlclxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtZWxlbWVudD1cInNlYXJjaC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuY29udGVudCh0aGVtZSksIHN0eWxlcz8uY29udGVudD8uKHRoZW1lKV19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cmVuZGVyTGFiZWwoY3VycmVudFZhbHVlLCBjdXJyZW50TGFiZWwpID8/IHJlbmRlclBsYWNlaG9sZGVyKCl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAge3dpdGhDbGVhckJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8Q2xvc2VDaXJjbGVGaWxsZWRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xlYW4tYnV0dG9uXCJcbiAgICAgICAgICAgICAgb25DbGljaz17Y2xlYXJTZWxlY3R9XG4gICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5jbGVhbkljb24odGhlbWUpLCBzdHlsZXM/LmNsZWFuSWNvbj8uKHRoZW1lKV19XG4gICAgICAgICAgICAgIGRhdGEtZWxlbWVudD1cImNsZWFuLWJ1dHRvblwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLnN1ZmZpeEljb24odGhlbWUpLCBzdHlsZXM/LnN1ZmZpeEljb24/Lih0aGVtZSldfT5cbiAgICAgICAgICAgIHtyZW5kZXJTdWZmaXgoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8U2VsZWN0T3B0aW9uTGlzdFxuICAgICAgICAgIG9wdGlvbnM9e2ZpbHRlcmVkQW5kU29ydGVkT3B0aW9uc31cbiAgICAgICAgICBjdXJyZW50VmFsdWU9e2FjdGl2ZVZhbHVlc31cbiAgICAgICAgICBzaG93T3B0aW9uTGlzdD17b3BlbiA/PyBpc1NlbGVjdE9wZW59XG4gICAgICAgICAgc2V0VmFsdWU9e2NoYW5nZUhhbmRsZX1cbiAgICAgICAgICBjbG9zZU9wdGlvbkxpc3Q9e2Nsb3NlT3B0aW9uTGlzdH1cbiAgICAgICAgICBkcm9wZG93bk1pbldpZHRoPXtkcm9wZG93bk1pbldpZHRofVxuICAgICAgICAgIGRyb3Bkb3duTWF4SGVpZ2h0PXtkcm9wZG93bk1heEhlaWdodH1cbiAgICAgICAgICByZXR1cm5Gb2N1c1RvV3JhcHBlcj17cmV0dXJuRm9jdXNUb1dyYXBwZXJ9XG4gICAgICAgICAgZHJvcGRvd25Qcm9tcHQ9e2Ryb3Bkb3duUHJvbXB0fVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZHJvcGRvd25DbGFzc05hbWU9e2Ryb3Bkb3duQ2xhc3NOYW1lfVxuICAgICAgICAgIHN0eWxlcz17c3R5bGVzPy5kcm9wZG93blN0eWxlfVxuICAgICAgICAgIGRyb3Bkb3duUmVuZGVyPXtkcm9wZG93blJlbmRlcn1cbiAgICAgICAgICBvcHRpb25SZW5kZXI9e29wdGlvblJlbmRlcn1cbiAgICAgICAgICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg9e2Ryb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aH1cbiAgICAgICAgICByZWZlcmVuY2VPZmZzZXRXaWR0aD17cmVmZXJlbmNlT2Zmc2V0V2lkdGh9XG4gICAgICAgICAgZmxvYXRpbmdTdHlsZXM9e2Zsb2F0aW5nU3R5bGVzfVxuICAgICAgICAgIHNldEZsb2F0aW5nPXtyZWZzLnNldEZsb2F0aW5nfVxuICAgICAgICAgIGZsb2F0aW5nUmVmPXtyZWZzLmZsb2F0aW5nfVxuICAgICAgICAgIGdldFBvcHVwQ29udGFpbmVyPXtnZXRQb3B1cENvbnRhaW5lcn1cbiAgICAgICAgICB2aXJ0dWFsPXt2aXJ0dWFsfVxuICAgICAgICAgIGN1cnJlbnRTZWxlY3RpbmdJbmRleD17Y3VycmVudFNlbGVjdGluZ0luZGV4fVxuICAgICAgICAgIGVtcHR5Q29udGVudD17ZW1wdHlDb250ZW50fVxuICAgICAgICAgIG5vdEZvdW5kQ29udGVudD17bm90Rm91bmRDb250ZW50fVxuICAgICAgICAgIHNlYXJjaFZhbHVlPXtzZWFyY2hWYWx1ZSA/PyBzZWFyY2hJbnB1dFZhbHVlfVxuICAgICAgICAgIHNob3dTZWFyY2g9e3Nob3dTZWFyY2h9XG4gICAgICAgICAgbW9kZT17bW9kZX1cbiAgICAgICAgICByZW1vdmVWYWx1ZT17cmVtb3ZlVmFsdWV9XG4gICAgICAgIC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IHdpdGhUaGVtZVByb3ZpZGVyPFNlbGVjdFByb3BzPihTZWxlY3RDb21wb25lbnQpO1xuIl19 */"], children: prefix }),
291
- showSearch ? /* @__PURE__ */ jsxs("span", { ref: containerRef, css: selectDefaultStyle.content(theme), children: [
292
- mode === "multiple" && renderLabel(activeValues, currentLabel),
293
- /* @__PURE__ */ jsx("input", { css: selectDefaultStyle.searchInput(theme), value: inputValue ?? "", onChange: searchHandle, placeholder: searchInputPlaceholder, ref: inputRef, disabled, style: getSelectSearchInputWidthStyle(mode === "multiple", isEmpty, lettersNumber), "data-element": "search-input" })
294
- ] }) : /* @__PURE__ */ jsx("span", { ref: containerRef, css: [selectDefaultStyle.content(theme), (_f = styles == null ? void 0 : styles.content) == null ? void 0 : _f.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbWRnQiIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1NlbGVjdC9TZWxlY3QudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBGQyxcbiAgdHlwZSBGb2N1c0V2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIG1lbW8sXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdFByb3BzIH0gZnJvbSBcIi4vU2VsZWN0LnR5cGVzXCI7XG5pbXBvcnQgeyB3aXRoVGhlbWVQcm92aWRlciB9IGZyb20gXCJob2NzL3dpdGhUaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFNlbGVjdE9wdGlvbkludGVyZmFjZSxcbiAgU2VsZWN0T3B0aW9uVmFsdWUsXG59IGZyb20gXCIuL2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTGlzdCB9IGZyb20gXCIuL2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uTGlzdC9TZWxlY3RPcHRpb25MaXN0XCI7XG5pbXBvcnQgeyBnZXRTZWxlY3REZWZhdWx0U3R5bGUsIGdldFNlbGVjdFNlYXJjaElucHV0V2lkdGhTdHlsZSB9IGZyb20gXCIuL1NlbGVjdC5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcImhvb2tzL3VzZVRoZW1lXCI7XG5pbXBvcnQgeyBCYXJzT3V0bGluZWQsIENsb3NlQ2lyY2xlRmlsbGVkLCBEb3duT3V0bGluZWQsIFNlYXJjaE91dGxpbmVkIH0gZnJvbSBcIkBpbmZvbWF4aW11bS9pY29uc1wiO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNOdWxsLCBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IGF1dG9VcGRhdGUsIGZsaXAsIG9mZnNldCwgdXNlRmxvYXRpbmcgfSBmcm9tIFwiQGZsb2F0aW5nLXVpL3JlYWN0XCI7XG5pbXBvcnQge1xuICBhZGRpdGlvbmFsRWxlbWVudHMsXG4gIGNvbnZlcnRTZWxlY3RQbGFjZW1lbnQsXG4gIGdldExhYmVsLFxuICBnZXRWaXNpYmxlTGFiZWxzLFxufSBmcm9tIFwiLi9TZWxlY3QudXRpbHNcIjtcbmltcG9ydCB7IHVzZUtleUNvbnRyb2wgfSBmcm9tIFwiLi9ob29rcy91c2VLZXlDb250cm9sXCI7XG5pbXBvcnQgeyB1c2VTZWFyY2ggfSBmcm9tIFwiLi9ob29rcy91c2VTZWFyY2hcIjtcbmltcG9ydCB7IHVzZUN1cnJlbnRWYWx1ZSB9IGZyb20gXCIuL2hvb2tzL3VzZUN1cnJlbnRWYWx1ZVwiO1xuaW1wb3J0IHsgU2VsZWN0VGFnIH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RUYWcvU2VsZWN0VGFnXCI7XG5pbXBvcnQgeyB1c2VIaWRlRWxlbWVudHMgfSBmcm9tIFwiY29tcG9uZW50cy9TZWxlY3QvaG9va3MvdXNlSGlkZUVsZW1lbnRzXCI7XG5pbXBvcnQge1xuICBUYWdQbGFjZWhvbGRlcixcbiAgdGFnUGxhY2Vob2xkZXJEYXRhRWxlbWVudCxcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9UYWdQbGFjZWhvbGRlci9UYWdQbGFjZWhvbGRlclwiO1xuXG5jb25zdCBTZWxlY3RDb21wb25lbnQ6IEZDPFByb3BzV2l0aENoaWxkcmVuPFNlbGVjdFByb3BzPj4gPSBtZW1vKFxuICAoe1xuICAgIG9wdGlvbnMgPSBbXSxcbiAgICBtb2RlID0gXCJzaW5nbGVcIixcbiAgICB2YXJpYW50ID0gXCJvdXRsaW5lZFwiLFxuICAgIGRlZmF1bHRWYWx1ZSxcbiAgICBkZWZhdWx0T3BlbiA9IGZhbHNlLFxuICAgIGRlZmF1bHRBY3RpdmVGaXJzdE9wdGlvbixcbiAgICB2YWx1ZSxcbiAgICBvcGVuLFxuICAgIHBsYWNlaG9sZGVyLFxuICAgIGRyb3Bkb3duTWluV2lkdGggPSAxMjAsXG4gICAgZHJvcGRvd25NYXhIZWlnaHQgPSA0MTQsXG4gICAgYWxsb3dDbGVhciA9IGZhbHNlLFxuICAgIGF1dG9Gb2N1cyxcbiAgICBwcmVmaXgsXG4gICAgc3VmZml4SWNvbiA9IDxEb3duT3V0bGluZWQgLz4sXG4gICAgc3RhdHVzID0gXCJkZWZhdWx0XCIsXG4gICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICBkcm9wZG93blByb21wdCxcbiAgICBsb2FkaW5nID0gZmFsc2UsXG4gICAgZHJvcGRvd25DbGFzc05hbWUsXG4gICAgc3R5bGVzLFxuICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aCA9IHRydWUsXG4gICAgcGxhY2VtZW50ID0gXCJib3R0b21MZWZ0XCIsXG4gICAgdmlydHVhbCA9IHRydWUsXG4gICAgZW1wdHlDb250ZW50ID0gXCJcIixcbiAgICBzaG93U2VhcmNoID0gbW9kZSA9PT0gXCJzaW5nbGVcIiA/IGZhbHNlIDogdHJ1ZSxcbiAgICBmaWx0ZXJPcHRpb24gPSB0cnVlLFxuICAgIG9wdGlvbkZpbHRlclByb3AgPSBcInRpdGxlXCIsXG4gICAgc2VhcmNoVmFsdWUsXG4gICAgbm90Rm91bmRDb250ZW50LFxuICAgIG9wdGlvbkxhYmVsUHJvcCA9IFwidGl0bGVcIixcbiAgICBkcmF3ZXIgPSBmYWxzZSxcbiAgICBhdXRvQ2xlYXJTZWFyY2hWYWx1ZSA9IHRydWUsXG4gICAgbWF4VGFnQ291bnQsXG4gICAgbWF4VGFnVGV4dExlbmd0aCxcbiAgICBtYXhUYWdQbGFjZWhvbGRlcixcbiAgICBmaWx0ZXJTb3J0LFxuICAgIGRyb3Bkb3duUmVuZGVyLFxuICAgIG9wdGlvblJlbmRlcixcbiAgICBsYWJlbFJlbmRlcixcbiAgICBvbkJsdXIsXG4gICAgb25DaGFuZ2UsXG4gICAgb25DbGVhcixcbiAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSxcbiAgICBvbkZvY3VzLFxuICAgIG9uSW5wdXRLZXlEb3duLFxuICAgIG9uU2VsZWN0LFxuICAgIGdldFBvcHVwQ29udGFpbmVyID0gKCkgPT4gZG9jdW1lbnQuYm9keSxcbiAgICBvblNlYXJjaCxcbiAgICB0YWdSZW5kZXIsXG4gICAgb25EZXNlbGVjdCxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICAgIGNvbnN0IHsgZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zLCBzZWFyY2hJbnB1dFZhbHVlLCBzZWFyY2hIYW5kbGUsIGNsZWFyU2VhcmNoVmFsdWUgfSA9XG4gICAgICB1c2VTZWFyY2goe1xuICAgICAgICBvcHRpb25zLFxuICAgICAgICBmaWx0ZXJPcHRpb24sXG4gICAgICAgIG9wdGlvbkZpbHRlclByb3AsXG4gICAgICAgIHNlYXJjaFZhbHVlLFxuICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgZmlsdGVyU29ydCxcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgeyBjdXJyZW50VmFsdWUsIGNoYW5nZUN1cnJlbnRWYWx1ZSwgcmVtb3ZlVmFsdWUsIGNsZWFyQ3VycmVudFZhbHVlIH0gPSB1c2VDdXJyZW50VmFsdWUoXG4gICAgICBtb2RlLFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIG9uRGVzZWxlY3RcbiAgICApO1xuXG4gICAgY29uc3QgW2lzU2VsZWN0T3Blbiwgc2V0SXNTZWxlY3RPcGVuXSA9IHVzZVN0YXRlKGRlZmF1bHRPcGVuKTtcbiAgICBjb25zdCBbaXNIb3Zlciwgc2V0SXNIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBpc0luaXRpYWxNb3VudCA9IHVzZVJlZih0cnVlKTtcbiAgICBjb25zdCBjb250cm9sUmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0IG9wdGlvbnNNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbkxpc3Q6IFtTZWxlY3RPcHRpb25WYWx1ZSwgU2VsZWN0T3B0aW9uSW50ZXJmYWNlXVtdID0gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gW1xuICAgICAgICBvcHRpb24udmFsdWUsXG4gICAgICAgIG9wdGlvbixcbiAgICAgIF0pO1xuXG4gICAgICByZXR1cm4gbmV3IE1hcChvcHRpb25MaXN0KTtcbiAgICB9LCBbb3B0aW9uc10pO1xuXG4gICAgY29uc3QgeyBjdXJyZW50U2VsZWN0aW5nSW5kZXgsIG9uS2V5Q29udHJvbCwgc2V0Q3VycmVudFNlbGVjdGluZ0luZGV4IH0gPSB1c2VLZXlDb250cm9sKFxuICAgICAgY3VycmVudFZhbHVlLFxuICAgICAgZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zLFxuICAgICAgb3B0aW9uc01hcFxuICAgICk7XG5cbiAgICBjb25zdCByZWZlcmVuY2VPZmZzZXRXaWR0aCA9IGNvbnRyb2xSZWYuY3VycmVudD8ub2Zmc2V0V2lkdGg7XG5cbiAgICBjb25zdCB7IHJlZnMsIGZsb2F0aW5nU3R5bGVzIH0gPSB1c2VGbG9hdGluZzxIVE1MU3BhbkVsZW1lbnQ+KHtcbiAgICAgIHdoaWxlRWxlbWVudHNNb3VudGVkOiBhdXRvVXBkYXRlLFxuICAgICAgcGxhY2VtZW50OiBjb252ZXJ0U2VsZWN0UGxhY2VtZW50KHBsYWNlbWVudCksXG4gICAgICBtaWRkbGV3YXJlOiBbb2Zmc2V0KDQpLCBmbGlwKCldLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmV0dXJuRm9jdXNUb1dyYXBwZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29udHJvbFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgICAgfSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgcmV0dXJuRm9jdXNUb0lucHV0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKCFpc0luaXRpYWxNb3VudC5jdXJyZW50KSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSBjdXJyZW50VmFsdWUucmVkdWNlKChhY2M6IFNlbGVjdE9wdGlvbkludGVyZmFjZVtdLCB2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICAgIGlmIChpc1VuZGVmaW5lZChvcHRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbLi4uYWNjLCBvcHRpb25dO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgb25DaGFuZ2U/LihjdXJyZW50VmFsdWUsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH0sIFtjdXJyZW50VmFsdWVdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNJbml0aWFsTW91bnQuY3VycmVudCkge1xuICAgICAgICBpc0luaXRpYWxNb3VudC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT8uKCk7XG4gICAgICB9XG4gICAgfSwgW2lzU2VsZWN0T3Blbl0pO1xuXG4gICAgY29uc3Qgc2VsZWN0RGVmYXVsdFN0eWxlID0gZ2V0U2VsZWN0RGVmYXVsdFN0eWxlKFxuICAgICAgc3RhdHVzLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICB2YXJpYW50LFxuICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiLFxuICAgICAgaXNIb3ZlcixcbiAgICAgIG1heFRhZ0NvdW50XG4gICAgKTtcblxuICAgIGNvbnN0IGFjdGl2ZVZhbHVlcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBpc1VuZGVmaW5lZCh2YWx1ZSkgPyBjdXJyZW50VmFsdWUgOiBbdmFsdWVdO1xuXG4gICAgY29uc3QgeyBjb250YWluZXJSZWYsIGlzSXRlbUhpZGRlbiB9ID0gdXNlSGlkZUVsZW1lbnRzKFxuICAgICAgYWN0aXZlVmFsdWVzLFxuICAgICAgdGhlbWUuc3BhY2VYUyxcbiAgICAgIGFkZGl0aW9uYWxFbGVtZW50cyxcbiAgICAgIGlucHV0UmVmXG4gICAgKTtcblxuICAgIGNvbnN0IGN1cnJlbnRMYWJlbCA9IGdldExhYmVsKGFjdGl2ZVZhbHVlcywgb3B0aW9uc01hcCwgb3B0aW9uTGFiZWxQcm9wKTtcblxuICAgIGNvbnN0IHdpdGhEcmF3ZXIgPSBtb2RlID09PSBcIm11bHRpcGxlXCIgJiYgZHJhd2VyO1xuICAgIGNvbnN0IHdpdGhBdXRvQ2xlYXIgPSBtb2RlID09PSBcInNpbmdsZVwiIHx8IGF1dG9DbGVhclNlYXJjaFZhbHVlO1xuXG4gICAgY29uc3QgY2xpY2tIYW5kbGUgPSAoKSA9PiB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzZXRJc1NlbGVjdE9wZW4oKHByZXYpID0+ICFwcmV2KTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2hhbmdlSGFuZGxlID0gdXNlQ2FsbGJhY2soXG4gICAgICAodmFsdWU6IFNlbGVjdE9wdGlvblZhbHVlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3RpbmdJbmRleChpbmRleCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAod2l0aEF1dG9DbGVhcikge1xuICAgICAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICBvblNlbGVjdD8uKHZhbHVlLCBvcHRpb24pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW1xuICAgICAgICBjaGFuZ2VDdXJyZW50VmFsdWUsXG4gICAgICAgIGNsZWFyU2VhcmNoVmFsdWUsXG4gICAgICAgIG9uU2VsZWN0LFxuICAgICAgICBvcHRpb25zTWFwLFxuICAgICAgICBzZXRDdXJyZW50U2VsZWN0aW5nSW5kZXgsXG4gICAgICAgIHdpdGhBdXRvQ2xlYXIsXG4gICAgICBdXG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlT3B0aW9uTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzU2VsZWN0T3BlbihmYWxzZSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgYmx1ckhhbmRsZSA9IChlOiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICBjb25zdCBpc0ZvY3VzT25PcHRpb25MaXN0ID0gcmVmcy5mbG9hdGluZy5jdXJyZW50ID09PSBlLnJlbGF0ZWRUYXJnZXQ7XG4gICAgICBjb25zdCBpc0ZvY3VzT25TZWFyY2hJbnB1dCA9XG4gICAgICAgICFpc051bGwoaW5wdXRSZWYuY3VycmVudCkgJiYgZS5yZWxhdGVkVGFyZ2V0ID09PSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgY29uc3QgaXNGb2N1c09uQ29udHJvbCA9IGUucmVsYXRlZFRhcmdldCA9PT0gY29udHJvbFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNGb2N1c09uT3B0aW9uTGlzdCB8fCBpc0ZvY3VzT25TZWFyY2hJbnB1dCB8fCBpc0ZvY3VzT25Db250cm9sKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgb25CbHVyPy4oZSk7XG4gICAgICBjbGVhclNlYXJjaFZhbHVlKCk7XG4gICAgICBjbG9zZU9wdGlvbkxpc3QoKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2xlYXJTZWxlY3QgPSB1c2VDYWxsYmFjayhcbiAgICAgIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjbGVhckN1cnJlbnRWYWx1ZSgpO1xuICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgIH0sXG4gICAgICBbY2xlYXJDdXJyZW50VmFsdWUsIG9uQ2xlYXJdXG4gICAgKTtcblxuICAgIGNvbnN0IGtleURvd25IYW5kbGVyID0gKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICAgIGlmIChpc1NlbGVjdE9wZW4pIHtcbiAgICAgICAgICBjaGFuZ2VDdXJyZW50VmFsdWUoZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zW2N1cnJlbnRTZWxlY3RpbmdJbmRleF0/LnZhbHVlKTtcblxuICAgICAgICAgIGlmICh3aXRoQXV0b0NsZWFyKSB7XG4gICAgICAgICAgICBjbGVhclNlYXJjaFZhbHVlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY2xpY2tIYW5kbGUoKTtcbiAgICAgIH1cblxuICAgICAgc2V0SXNTZWxlY3RPcGVuKHRydWUpO1xuXG4gICAgICBvbktleUNvbnRyb2woZSk7XG4gICAgICBvbklucHV0S2V5RG93bj8uKGUpO1xuICAgIH07XG5cbiAgICBjb25zdCBtb3VzZU92ZXJIYW5kbGUgPSAoKSA9PiB7XG4gICAgICBzZXRJc0hvdmVyKHRydWUpO1xuICAgIH07XG5cbiAgICBjb25zdCBtb3VzZU91dEhhbmRsZSA9ICgpID0+IHtcbiAgICAgIHNldElzSG92ZXIoZmFsc2UpO1xuICAgIH07XG5cbiAgICBjb25zdCBmb2N1c0hhbmRsZSA9IChlOiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICBvbkZvY3VzPy4oZSk7XG5cbiAgICAgIGlmICghc2hvd1NlYXJjaCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJldHVybkZvY3VzVG9JbnB1dCgpO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJUYWdQbGFjZWhvbGRlciA9IChoaWRkZW5FbGVtZW50c0NvdW50ZXI6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKGlzVW5kZWZpbmVkKG1heFRhZ1BsYWNlaG9sZGVyKSkge1xuICAgICAgICByZXR1cm4gPFRhZ1BsYWNlaG9sZGVyIGhpZGRlbkVsZW1lbnRzQ291bnRlcj17aGlkZGVuRWxlbWVudHNDb3VudGVyfSAvPjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc0Z1bmN0aW9uKG1heFRhZ1BsYWNlaG9sZGVyKSkge1xuICAgICAgICByZXR1cm4gPHNwYW4gZGF0YS1lbGVtZW50PXt0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50fT57bWF4VGFnUGxhY2Vob2xkZXJ9PC9zcGFuPjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHMgPSBjdXJyZW50VmFsdWUucmVkdWNlKChhY2M6IFNlbGVjdE9wdGlvbkludGVyZmFjZVtdLCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBpc0hpZGRlbiA9IGlzSXRlbUhpZGRlbi5nZXQodmFsdWUpO1xuICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zTWFwLmdldCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKCFpc0hpZGRlbiB8fCBpc1VuZGVmaW5lZChvcHRpb24pKSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuXG4gICAgICAgIGFjYy5wdXNoKG9wdGlvbik7XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHNwYW4gZGF0YS1lbGVtZW50PXt0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50fT57bWF4VGFnUGxhY2Vob2xkZXIoaGlkZGVuRWxlbWVudHMpfTwvc3Bhbj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlckxhYmVsID0gKHZhbHVlczogU2VsZWN0T3B0aW9uVmFsdWVbXSwgY3VycmVudExhYmVsOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgY29uc3QgdmlzaWJsZUxhYmVscyA9IGdldFZpc2libGVMYWJlbHMoY3VycmVudExhYmVsLCB2YWx1ZXMsIG1heFRhZ0NvdW50LCBpc0l0ZW1IaWRkZW4pO1xuXG4gICAgICBjb25zdCBsYWJlbCA9IHZpc2libGVMYWJlbHMubWFwKChsYWJlbCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdO1xuXG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKGxhYmVsUmVuZGVyKSkge1xuICAgICAgICAgIHJldHVybiBsYWJlbFJlbmRlcih7IGxhYmVsLCB2YWx1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RlID09PSBcInNpbmdsZVwiKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24odGFnUmVuZGVyKSkge1xuICAgICAgICAgIHJldHVybiB0YWdSZW5kZXIobGFiZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U2VsZWN0VGFnXG4gICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICByZW1vdmVWYWx1ZT17cmVtb3ZlVmFsdWV9XG4gICAgICAgICAgICBtYXhUYWdUZXh0TGVuZ3RoPXttYXhUYWdUZXh0TGVuZ3RofVxuICAgICAgICAgICAgaXNCb3JkZXJsZXNzPXt2YXJpYW50ID09PSBcImJvcmRlcmxlc3NcIn1cbiAgICAgICAgICAgIGlzRXJyb3I9e3N0YXR1cyA9PT0gXCJlcnJvclwifVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAga2V5PXt2YWx1ZX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGhpZGRlbkVsZW1lbnRzQ291bnRlciA9IGN1cnJlbnRMYWJlbC5sZW5ndGggLSBsYWJlbC5sZW5ndGg7XG5cbiAgICAgIGNvbnN0IHdpdGhUYWdQbGFjZWhvbGRlciA9XG4gICAgICAgICFpc1VuZGVmaW5lZChtYXhUYWdDb3VudCkgJiYgbW9kZSA9PT0gXCJtdWx0aXBsZVwiICYmIGhpZGRlbkVsZW1lbnRzQ291bnRlciA+IDA7XG5cbiAgICAgIGlmIChsYWJlbC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIHt3aXRoVGFnUGxhY2Vob2xkZXIgJiYgcmVuZGVyVGFnUGxhY2Vob2xkZXIoaGlkZGVuRWxlbWVudHNDb3VudGVyKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJTdWZmaXggPSAoKSA9PiB7XG4gICAgICBpZiAod2l0aERyYXdlcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxCYXJzT3V0bGluZWRcbiAgICAgICAgICAgIG9uQ2xpY2s9e2NsaWNrSGFuZGxlfVxuICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLmRyYXdlckljb24odGhlbWUpLCBzdHlsZXM/LmRyYXdlckljb24/Lih0aGVtZSldfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG93U2VhcmNoICYmIGlzU2VsZWN0T3Blbikge1xuICAgICAgICByZXR1cm4gPFNlYXJjaE91dGxpbmVkIC8+O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3VmZml4SWNvbjtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVuZGVyUGxhY2Vob2xkZXIgPSAoKSA9PiAoXG4gICAgICA8c3BhbiBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUucGxhY2Vob2xkZXIodGhlbWUpLCBzdHlsZXM/LnBsYWNlaG9sZGVyPy4odGhlbWUpXX0+XG4gICAgICAgIHtwbGFjZWhvbGRlcn1cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuXG4gICAgY29uc3Qgd2l0aENsZWFyQnV0dG9uID0gYWxsb3dDbGVhciAmJiAhIWFjdGl2ZVZhbHVlcy5sZW5ndGg7XG5cbiAgICBjb25zdCBpbnB1dFZhbHVlID1cbiAgICAgIG1vZGUgPT09IFwibXVsdGlwbGVcIiB8fCBpc1NlbGVjdE9wZW4gPyAoc2VhcmNoVmFsdWUgPz8gc2VhcmNoSW5wdXRWYWx1ZSkgOiBjdXJyZW50TGFiZWxbMF07XG5cbiAgICBjb25zdCBpc0VtcHR5ID0gYWN0aXZlVmFsdWVzLmxlbmd0aCA9PT0gMDtcbiAgICBjb25zdCBzaW5nbGVNb2RQbGFjZWhvbGRlciA9IGN1cnJlbnRMYWJlbFswXSA/PyBwbGFjZWhvbGRlciA/PyBcIlwiO1xuICAgIGNvbnN0IG11bHRpcGxlTW9kUGxhY2Vob2xkZXIgPSBpc0VtcHR5ID8gcGxhY2Vob2xkZXIgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzZWFyY2hJbnB1dFBsYWNlaG9sZGVyID1cbiAgICAgIG1vZGUgPT09IFwic2luZ2xlXCIgPyBzaW5nbGVNb2RQbGFjZWhvbGRlciA6IG11bHRpcGxlTW9kUGxhY2Vob2xkZXI7XG5cbiAgICBjb25zdCBsZXR0ZXJzTnVtYmVyID0gKGlucHV0VmFsdWU/Lmxlbmd0aCA/PyAwKSArIDE7XG5cbiAgICBjb25zdCBoYXNJY29uUHJlZml4ID0gdHlwZW9mIHByZWZpeCA9PT0gXCJvYmplY3RcIjtcblxuICAgIHJldHVybiAoXG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUud3JhcHBlcih0aGVtZSksIHN0eWxlcz8ud3JhcHBlcj8uKHRoZW1lKV19XG4gICAgICAgIHRhYkluZGV4PXsxfVxuICAgICAgICBvbktleURvd249e2tleURvd25IYW5kbGVyfVxuICAgICAgICBvbk1vdXNlT3Zlcj17bW91c2VPdmVySGFuZGxlfVxuICAgICAgICBvbk1vdXNlT3V0PXttb3VzZU91dEhhbmRsZX1cbiAgICAgICAgb25Gb2N1cz17Zm9jdXNIYW5kbGV9XG4gICAgICAgIG9uQmx1cj17Ymx1ckhhbmRsZX1cbiAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuYm9keSh0aGVtZSksIHN0eWxlcz8uYm9keT8uKHRoZW1lKV19XG4gICAgICAgICAgb25DbGljaz17IXdpdGhEcmF3ZXIgPyBjbGlja0hhbmRsZSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICByZWY9e3JlZnMuc2V0UmVmZXJlbmNlfVxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wcmVmaXhBbmRDb250ZW50KHRoZW1lKSwgc3R5bGVzPy5wcmVmaXhBbmRDb250ZW50Py4odGhlbWUpXX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cHJlZml4ICYmIChcbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUucHJlZml4KGhhc0ljb25QcmVmaXgpKHRoZW1lKSwgc3R5bGVzPy5wcmVmaXg/Lih0aGVtZSldfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3ByZWZpeH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge3Nob3dTZWFyY2ggPyAoXG4gICAgICAgICAgICAgIDxzcGFuIHJlZj17Y29udGFpbmVyUmVmfSBjc3M9e3NlbGVjdERlZmF1bHRTdHlsZS5jb250ZW50KHRoZW1lKX0+XG4gICAgICAgICAgICAgICAge21vZGUgPT09IFwibXVsdGlwbGVcIiAmJiByZW5kZXJMYWJlbChhY3RpdmVWYWx1ZXMsIGN1cnJlbnRMYWJlbCl9XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjc3M9e3NlbGVjdERlZmF1bHRTdHlsZS5zZWFyY2hJbnB1dCh0aGVtZSl9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRWYWx1ZSA/PyBcIlwifVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3NlYXJjaEhhbmRsZX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtzZWFyY2hJbnB1dFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXtnZXRTZWxlY3RTZWFyY2hJbnB1dFdpZHRoU3R5bGUoXG4gICAgICAgICAgICAgICAgICAgIG1vZGUgPT09IFwibXVsdGlwbGVcIixcbiAgICAgICAgICAgICAgICAgICAgaXNFbXB0eSxcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyc051bWJlclxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtZWxlbWVudD1cInNlYXJjaC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuY29udGVudCh0aGVtZSksIHN0eWxlcz8uY29udGVudD8uKHRoZW1lKV19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cmVuZGVyTGFiZWwoY3VycmVudFZhbHVlLCBjdXJyZW50TGFiZWwpID8/IHJlbmRlclBsYWNlaG9sZGVyKCl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAge3dpdGhDbGVhckJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8Q2xvc2VDaXJjbGVGaWxsZWRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xlYW4tYnV0dG9uXCJcbiAgICAgICAgICAgICAgb25DbGljaz17Y2xlYXJTZWxlY3R9XG4gICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5jbGVhbkljb24odGhlbWUpLCBzdHlsZXM/LmNsZWFuSWNvbj8uKHRoZW1lKV19XG4gICAgICAgICAgICAgIGRhdGEtZWxlbWVudD1cImNsZWFuLWJ1dHRvblwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLnN1ZmZpeEljb24odGhlbWUpLCBzdHlsZXM/LnN1ZmZpeEljb24/Lih0aGVtZSldfT5cbiAgICAgICAgICAgIHtyZW5kZXJTdWZmaXgoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8U2VsZWN0T3B0aW9uTGlzdFxuICAgICAgICAgIG9wdGlvbnM9e2ZpbHRlcmVkQW5kU29ydGVkT3B0aW9uc31cbiAgICAgICAgICBjdXJyZW50VmFsdWU9e2FjdGl2ZVZhbHVlc31cbiAgICAgICAgICBzaG93T3B0aW9uTGlzdD17b3BlbiA/PyBpc1NlbGVjdE9wZW59XG4gICAgICAgICAgc2V0VmFsdWU9e2NoYW5nZUhhbmRsZX1cbiAgICAgICAgICBjbG9zZU9wdGlvbkxpc3Q9e2Nsb3NlT3B0aW9uTGlzdH1cbiAgICAgICAgICBkcm9wZG93bk1pbldpZHRoPXtkcm9wZG93bk1pbldpZHRofVxuICAgICAgICAgIGRyb3Bkb3duTWF4SGVpZ2h0PXtkcm9wZG93bk1heEhlaWdodH1cbiAgICAgICAgICByZXR1cm5Gb2N1c1RvV3JhcHBlcj17cmV0dXJuRm9jdXNUb1dyYXBwZXJ9XG4gICAgICAgICAgZHJvcGRvd25Qcm9tcHQ9e2Ryb3Bkb3duUHJvbXB0fVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZHJvcGRvd25DbGFzc05hbWU9e2Ryb3Bkb3duQ2xhc3NOYW1lfVxuICAgICAgICAgIHN0eWxlcz17c3R5bGVzPy5kcm9wZG93blN0eWxlfVxuICAgICAgICAgIGRyb3Bkb3duUmVuZGVyPXtkcm9wZG93blJlbmRlcn1cbiAgICAgICAgICBvcHRpb25SZW5kZXI9e29wdGlvblJlbmRlcn1cbiAgICAgICAgICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg9e2Ryb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aH1cbiAgICAgICAgICByZWZlcmVuY2VPZmZzZXRXaWR0aD17cmVmZXJlbmNlT2Zmc2V0V2lkdGh9XG4gICAgICAgICAgZmxvYXRpbmdTdHlsZXM9e2Zsb2F0aW5nU3R5bGVzfVxuICAgICAgICAgIHNldEZsb2F0aW5nPXtyZWZzLnNldEZsb2F0aW5nfVxuICAgICAgICAgIGZsb2F0aW5nUmVmPXtyZWZzLmZsb2F0aW5nfVxuICAgICAgICAgIGdldFBvcHVwQ29udGFpbmVyPXtnZXRQb3B1cENvbnRhaW5lcn1cbiAgICAgICAgICB2aXJ0dWFsPXt2aXJ0dWFsfVxuICAgICAgICAgIGN1cnJlbnRTZWxlY3RpbmdJbmRleD17Y3VycmVudFNlbGVjdGluZ0luZGV4fVxuICAgICAgICAgIGVtcHR5Q29udGVudD17ZW1wdHlDb250ZW50fVxuICAgICAgICAgIG5vdEZvdW5kQ29udGVudD17bm90Rm91bmRDb250ZW50fVxuICAgICAgICAgIHNlYXJjaFZhbHVlPXtzZWFyY2hWYWx1ZSA/PyBzZWFyY2hJbnB1dFZhbHVlfVxuICAgICAgICAgIHNob3dTZWFyY2g9e3Nob3dTZWFyY2h9XG4gICAgICAgICAgbW9kZT17bW9kZX1cbiAgICAgICAgICByZW1vdmVWYWx1ZT17cmVtb3ZlVmFsdWV9XG4gICAgICAgIC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IHdpdGhUaGVtZVByb3ZpZGVyPFNlbGVjdFByb3BzPihTZWxlY3RDb21wb25lbnQpO1xuIl19 */"], children: renderLabel(currentValue, currentLabel) ?? renderPlaceholder() })
295
- ] }),
296
- withClearButton && /* @__PURE__ */ jsx(CloseCircleFilled, { className: "clean-button", onClick: clearSelect, css: [selectDefaultStyle.cleanIcon(theme), (_g = styles == null ? void 0 : styles.cleanIcon) == null ? void 0 : _g.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOGRjIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEZDLFxuICB0eXBlIEZvY3VzRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgbWVtbyxcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgU2VsZWN0UHJvcHMgfSBmcm9tIFwiLi9TZWxlY3QudHlwZXNcIjtcbmltcG9ydCB7IHdpdGhUaGVtZVByb3ZpZGVyIH0gZnJvbSBcImhvY3Mvd2l0aFRoZW1lUHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIHtcbiAgU2VsZWN0T3B0aW9uSW50ZXJmYWNlLFxuICBTZWxlY3RPcHRpb25WYWx1ZSxcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb24vU2VsZWN0T3B0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25MaXN0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RPcHRpb25MaXN0L1NlbGVjdE9wdGlvbkxpc3RcIjtcbmltcG9ydCB7IGdldFNlbGVjdERlZmF1bHRTdHlsZSwgZ2V0U2VsZWN0U2VhcmNoSW5wdXRXaWR0aFN0eWxlIH0gZnJvbSBcIi4vU2VsZWN0LnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEJhcnNPdXRsaW5lZCwgQ2xvc2VDaXJjbGVGaWxsZWQsIERvd25PdXRsaW5lZCwgU2VhcmNoT3V0bGluZWQgfSBmcm9tIFwiQGluZm9tYXhpbXVtL2ljb25zXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc051bGwsIGlzVW5kZWZpbmVkIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgYXV0b1VwZGF0ZSwgZmxpcCwgb2Zmc2V0LCB1c2VGbG9hdGluZyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIGFkZGl0aW9uYWxFbGVtZW50cyxcbiAgY29udmVydFNlbGVjdFBsYWNlbWVudCxcbiAgZ2V0TGFiZWwsXG4gIGdldFZpc2libGVMYWJlbHMsXG59IGZyb20gXCIuL1NlbGVjdC51dGlsc1wiO1xuaW1wb3J0IHsgdXNlS2V5Q29udHJvbCB9IGZyb20gXCIuL2hvb2tzL3VzZUtleUNvbnRyb2xcIjtcbmltcG9ydCB7IHVzZVNlYXJjaCB9IGZyb20gXCIuL2hvb2tzL3VzZVNlYXJjaFwiO1xuaW1wb3J0IHsgdXNlQ3VycmVudFZhbHVlIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VycmVudFZhbHVlXCI7XG5pbXBvcnQgeyBTZWxlY3RUYWcgfSBmcm9tIFwiLi9jb21wb25lbnRzL1NlbGVjdFRhZy9TZWxlY3RUYWdcIjtcbmltcG9ydCB7IHVzZUhpZGVFbGVtZW50cyB9IGZyb20gXCJjb21wb25lbnRzL1NlbGVjdC9ob29rcy91c2VIaWRlRWxlbWVudHNcIjtcbmltcG9ydCB7XG4gIFRhZ1BsYWNlaG9sZGVyLFxuICB0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50LFxufSBmcm9tIFwiLi9jb21wb25lbnRzL1RhZ1BsYWNlaG9sZGVyL1RhZ1BsYWNlaG9sZGVyXCI7XG5cbmNvbnN0IFNlbGVjdENvbXBvbmVudDogRkM8UHJvcHNXaXRoQ2hpbGRyZW48U2VsZWN0UHJvcHM+PiA9IG1lbW8oXG4gICh7XG4gICAgb3B0aW9ucyA9IFtdLFxuICAgIG1vZGUgPSBcInNpbmdsZVwiLFxuICAgIHZhcmlhbnQgPSBcIm91dGxpbmVkXCIsXG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uLFxuICAgIHZhbHVlLFxuICAgIG9wZW4sXG4gICAgcGxhY2Vob2xkZXIsXG4gICAgZHJvcGRvd25NaW5XaWR0aCA9IDEyMCxcbiAgICBkcm9wZG93bk1heEhlaWdodCA9IDQxNCxcbiAgICBhbGxvd0NsZWFyID0gZmFsc2UsXG4gICAgYXV0b0ZvY3VzLFxuICAgIHByZWZpeCxcbiAgICBzdWZmaXhJY29uID0gPERvd25PdXRsaW5lZCAvPixcbiAgICBzdGF0dXMgPSBcImRlZmF1bHRcIixcbiAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgIGRyb3Bkb3duUHJvbXB0LFxuICAgIGxvYWRpbmcgPSBmYWxzZSxcbiAgICBkcm9wZG93bkNsYXNzTmFtZSxcbiAgICBzdHlsZXMsXG4gICAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoID0gdHJ1ZSxcbiAgICBwbGFjZW1lbnQgPSBcImJvdHRvbUxlZnRcIixcbiAgICB2aXJ0dWFsID0gdHJ1ZSxcbiAgICBlbXB0eUNvbnRlbnQgPSBcIlwiLFxuICAgIHNob3dTZWFyY2ggPSBtb2RlID09PSBcInNpbmdsZVwiID8gZmFsc2UgOiB0cnVlLFxuICAgIGZpbHRlck9wdGlvbiA9IHRydWUsXG4gICAgb3B0aW9uRmlsdGVyUHJvcCA9IFwidGl0bGVcIixcbiAgICBzZWFyY2hWYWx1ZSxcbiAgICBub3RGb3VuZENvbnRlbnQsXG4gICAgb3B0aW9uTGFiZWxQcm9wID0gXCJ0aXRsZVwiLFxuICAgIGRyYXdlciA9IGZhbHNlLFxuICAgIGF1dG9DbGVhclNlYXJjaFZhbHVlID0gdHJ1ZSxcbiAgICBtYXhUYWdDb3VudCxcbiAgICBtYXhUYWdUZXh0TGVuZ3RoLFxuICAgIG1heFRhZ1BsYWNlaG9sZGVyLFxuICAgIGZpbHRlclNvcnQsXG4gICAgZHJvcGRvd25SZW5kZXIsXG4gICAgb3B0aW9uUmVuZGVyLFxuICAgIGxhYmVsUmVuZGVyLFxuICAgIG9uQmx1cixcbiAgICBvbkNoYW5nZSxcbiAgICBvbkNsZWFyLFxuICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLFxuICAgIG9uRm9jdXMsXG4gICAgb25JbnB1dEtleURvd24sXG4gICAgb25TZWxlY3QsXG4gICAgZ2V0UG9wdXBDb250YWluZXIgPSAoKSA9PiBkb2N1bWVudC5ib2R5LFxuICAgIG9uU2VhcmNoLFxuICAgIHRhZ1JlbmRlcixcbiAgICBvbkRlc2VsZWN0LFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgeyBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsIHNlYXJjaElucHV0VmFsdWUsIHNlYXJjaEhhbmRsZSwgY2xlYXJTZWFyY2hWYWx1ZSB9ID1cbiAgICAgIHVzZVNlYXJjaCh7XG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIGZpbHRlck9wdGlvbixcbiAgICAgICAgb3B0aW9uRmlsdGVyUHJvcCxcbiAgICAgICAgc2VhcmNoVmFsdWUsXG4gICAgICAgIG9uU2VhcmNoLFxuICAgICAgICBmaWx0ZXJTb3J0LFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRWYWx1ZSwgY2hhbmdlQ3VycmVudFZhbHVlLCByZW1vdmVWYWx1ZSwgY2xlYXJDdXJyZW50VmFsdWUgfSA9IHVzZUN1cnJlbnRWYWx1ZShcbiAgICAgIG1vZGUsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0QWN0aXZlRmlyc3RPcHRpb24sXG4gICAgICBvcHRpb25zLFxuICAgICAgb25EZXNlbGVjdFxuICAgICk7XG5cbiAgICBjb25zdCBbaXNTZWxlY3RPcGVuLCBzZXRJc1NlbGVjdE9wZW5dID0gdXNlU3RhdGUoZGVmYXVsdE9wZW4pO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gdXNlUmVmKHRydWUpO1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3Qgb3B0aW9uc01hcCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3Qgb3B0aW9uTGlzdDogW1NlbGVjdE9wdGlvblZhbHVlLCBTZWxlY3RPcHRpb25JbnRlcmZhY2VdW10gPSBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiBbXG4gICAgICAgIG9wdGlvbi52YWx1ZSxcbiAgICAgICAgb3B0aW9uLFxuICAgICAgXSk7XG5cbiAgICAgIHJldHVybiBuZXcgTWFwKG9wdGlvbkxpc3QpO1xuICAgIH0sIFtvcHRpb25zXSk7XG5cbiAgICBjb25zdCB7IGN1cnJlbnRTZWxlY3RpbmdJbmRleCwgb25LZXlDb250cm9sLCBzZXRDdXJyZW50U2VsZWN0aW5nSW5kZXggfSA9IHVzZUtleUNvbnRyb2woXG4gICAgICBjdXJyZW50VmFsdWUsXG4gICAgICBmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnMsXG4gICAgICBvcHRpb25zTWFwXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZU9mZnNldFdpZHRoID0gY29udHJvbFJlZi5jdXJyZW50Py5vZmZzZXRXaWR0aDtcblxuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMgfSA9IHVzZUZsb2F0aW5nPEhUTUxTcGFuRWxlbWVudD4oe1xuICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICBwbGFjZW1lbnQ6IGNvbnZlcnRTZWxlY3RQbGFjZW1lbnQocGxhY2VtZW50KSxcbiAgICAgIG1pZGRsZXdhcmU6IFtvZmZzZXQoNCksIGZsaXAoKV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvV3JhcHBlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb250cm9sUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCByZXR1cm5Gb2N1c1RvSW5wdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgIH0pO1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIWlzSW5pdGlhbE1vdW50LmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgICAgaWYgKGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIG9wdGlvbl07XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICBvbkNoYW5nZT8uKGN1cnJlbnRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgW2N1cnJlbnRWYWx1ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0luaXRpYWxNb3VudC5jdXJyZW50KSB7XG4gICAgICAgIGlzSW5pdGlhbE1vdW50LmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPy4oKTtcbiAgICAgIH1cbiAgICB9LCBbaXNTZWxlY3RPcGVuXSk7XG5cbiAgICBjb25zdCBzZWxlY3REZWZhdWx0U3R5bGUgPSBnZXRTZWxlY3REZWZhdWx0U3R5bGUoXG4gICAgICBzdGF0dXMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHZhcmlhbnQsXG4gICAgICBtb2RlID09PSBcIm11bHRpcGxlXCIsXG4gICAgICBpc0hvdmVyLFxuICAgICAgbWF4VGFnQ291bnRcbiAgICApO1xuXG4gICAgY29uc3QgYWN0aXZlVmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IGlzVW5kZWZpbmVkKHZhbHVlKSA/IGN1cnJlbnRWYWx1ZSA6IFt2YWx1ZV07XG5cbiAgICBjb25zdCB7IGNvbnRhaW5lclJlZiwgaXNJdGVtSGlkZGVuIH0gPSB1c2VIaWRlRWxlbWVudHMoXG4gICAgICBhY3RpdmVWYWx1ZXMsXG4gICAgICB0aGVtZS5zcGFjZVhTLFxuICAgICAgYWRkaXRpb25hbEVsZW1lbnRzLFxuICAgICAgaW5wdXRSZWZcbiAgICApO1xuXG4gICAgY29uc3QgY3VycmVudExhYmVsID0gZ2V0TGFiZWwoYWN0aXZlVmFsdWVzLCBvcHRpb25zTWFwLCBvcHRpb25MYWJlbFByb3ApO1xuXG4gICAgY29uc3Qgd2l0aERyYXdlciA9IG1vZGUgPT09IFwibXVsdGlwbGVcIiAmJiBkcmF3ZXI7XG4gICAgY29uc3Qgd2l0aEF1dG9DbGVhciA9IG1vZGUgPT09IFwic2luZ2xlXCIgfHwgYXV0b0NsZWFyU2VhcmNoVmFsdWU7XG5cbiAgICBjb25zdCBjbGlja0hhbmRsZSA9ICgpID0+IHtcbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldElzU2VsZWN0T3BlbigocHJldikgPT4gIXByZXYpO1xuICAgIH07XG5cbiAgICBjb25zdCBjaGFuZ2VIYW5kbGUgPSB1c2VDYWxsYmFjayhcbiAgICAgICh2YWx1ZTogU2VsZWN0T3B0aW9uVmFsdWUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY2hhbmdlQ3VycmVudFZhbHVlKHZhbHVlKTtcbiAgICAgICAgc2V0Q3VycmVudFNlbGVjdGluZ0luZGV4KGluZGV4KTtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcC5nZXQodmFsdWUpO1xuXG4gICAgICAgIGlmICh3aXRoQXV0b0NsZWFyKSB7XG4gICAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgIG9uU2VsZWN0Py4odmFsdWUsIG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZSxcbiAgICAgICAgY2xlYXJTZWFyY2hWYWx1ZSxcbiAgICAgICAgb25TZWxlY3QsXG4gICAgICAgIG9wdGlvbnNNYXAsXG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3RpbmdJbmRleCxcbiAgICAgICAgd2l0aEF1dG9DbGVhcixcbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgY2xvc2VPcHRpb25MaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0SXNTZWxlY3RPcGVuKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBibHVySGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGlzRm9jdXNPbk9wdGlvbkxpc3QgPSByZWZzLmZsb2F0aW5nLmN1cnJlbnQgPT09IGUucmVsYXRlZFRhcmdldDtcbiAgICAgIGNvbnN0IGlzRm9jdXNPblNlYXJjaElucHV0ID1cbiAgICAgICAgIWlzTnVsbChpbnB1dFJlZi5jdXJyZW50KSAmJiBlLnJlbGF0ZWRUYXJnZXQgPT09IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCBpc0ZvY3VzT25Db250cm9sID0gZS5yZWxhdGVkVGFyZ2V0ID09PSBjb250cm9sUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmIChpc0ZvY3VzT25PcHRpb25MaXN0IHx8IGlzRm9jdXNPblNlYXJjaElucHV0IHx8IGlzRm9jdXNPbkNvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBvbkJsdXI/LihlKTtcbiAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgIGNsb3NlT3B0aW9uTGlzdCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbGVhclNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNsZWFyQ3VycmVudFZhbHVlKCk7XG4gICAgICAgIG9uQ2xlYXI/LigpO1xuICAgICAgfSxcbiAgICAgIFtjbGVhckN1cnJlbnRWYWx1ZSwgb25DbGVhcl1cbiAgICApO1xuXG4gICAgY29uc3Qga2V5RG93bkhhbmRsZXIgPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgaWYgKGlzU2VsZWN0T3Blbikge1xuICAgICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZShmaWx0ZXJlZEFuZFNvcnRlZE9wdGlvbnNbY3VycmVudFNlbGVjdGluZ0luZGV4XT8udmFsdWUpO1xuXG4gICAgICAgICAgaWYgKHdpdGhBdXRvQ2xlYXIpIHtcbiAgICAgICAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjbGlja0hhbmRsZSgpO1xuICAgICAgfVxuXG4gICAgICBzZXRJc1NlbGVjdE9wZW4odHJ1ZSk7XG5cbiAgICAgIG9uS2V5Q29udHJvbChlKTtcbiAgICAgIG9uSW5wdXRLZXlEb3duPy4oZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3ZlckhhbmRsZSA9ICgpID0+IHtcbiAgICAgIHNldElzSG92ZXIodHJ1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1vdXNlT3V0SGFuZGxlID0gKCkgPT4ge1xuICAgICAgc2V0SXNIb3ZlcihmYWxzZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZvY3VzSGFuZGxlID0gKGU6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIG9uRm9jdXM/LihlKTtcblxuICAgICAgaWYgKCFzaG93U2VhcmNoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuRm9jdXNUb0lucHV0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclRhZ1BsYWNlaG9sZGVyID0gKGhpZGRlbkVsZW1lbnRzQ291bnRlcjogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaXNVbmRlZmluZWQobWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8VGFnUGxhY2Vob2xkZXIgaGlkZGVuRWxlbWVudHNDb3VudGVyPXtoaWRkZW5FbGVtZW50c0NvdW50ZXJ9IC8+O1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24obWF4VGFnUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIHJldHVybiA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcn08L3NwYW4+O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoaWRkZW5FbGVtZW50cyA9IGN1cnJlbnRWYWx1ZS5yZWR1Y2UoKGFjYzogU2VsZWN0T3B0aW9uSW50ZXJmYWNlW10sIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSGlkZGVuID0gaXNJdGVtSGlkZGVuLmdldCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzSGlkZGVuIHx8IGlzVW5kZWZpbmVkKG9wdGlvbikpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgYWNjLnB1c2gob3B0aW9uKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c3BhbiBkYXRhLWVsZW1lbnQ9e3RhZ1BsYWNlaG9sZGVyRGF0YUVsZW1lbnR9PnttYXhUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50cyl9PC9zcGFuPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVuZGVyTGFiZWwgPSAodmFsdWVzOiBTZWxlY3RPcHRpb25WYWx1ZVtdLCBjdXJyZW50TGFiZWw6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmxlTGFiZWxzID0gZ2V0VmlzaWJsZUxhYmVscyhjdXJyZW50TGFiZWwsIHZhbHVlcywgbWF4VGFnQ291bnQsIGlzSXRlbUhpZGRlbik7XG5cbiAgICAgIGNvbnN0IGxhYmVsID0gdmlzaWJsZUxhYmVscy5tYXAoKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpbmRleF07XG5cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24obGFiZWxSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsUmVuZGVyKHsgbGFiZWwsIHZhbHVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vZGUgPT09IFwic2luZ2xlXCIpIHtcbiAgICAgICAgICByZXR1cm4gbGFiZWw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGdW5jdGlvbih0YWdSZW5kZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIHRhZ1JlbmRlcihsYWJlbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTZWxlY3RUYWdcbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgICAgIG1heFRhZ1RleHRMZW5ndGg9e21heFRhZ1RleHRMZW5ndGh9XG4gICAgICAgICAgICBpc0JvcmRlcmxlc3M9e3ZhcmlhbnQgPT09IFwiYm9yZGVybGVzc1wifVxuICAgICAgICAgICAgaXNFcnJvcj17c3RhdHVzID09PSBcImVycm9yXCJ9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBrZXk9e3ZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHNDb3VudGVyID0gY3VycmVudExhYmVsLmxlbmd0aCAtIGxhYmVsLmxlbmd0aDtcblxuICAgICAgY29uc3Qgd2l0aFRhZ1BsYWNlaG9sZGVyID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG1heFRhZ0NvdW50KSAmJiBtb2RlID09PSBcIm11bHRpcGxlXCIgJiYgaGlkZGVuRWxlbWVudHNDb3VudGVyID4gMDtcblxuICAgICAgaWYgKGxhYmVsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAge3dpdGhUYWdQbGFjZWhvbGRlciAmJiByZW5kZXJUYWdQbGFjZWhvbGRlcihoaWRkZW5FbGVtZW50c0NvdW50ZXIpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclN1ZmZpeCA9ICgpID0+IHtcbiAgICAgIGlmICh3aXRoRHJhd2VyKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEJhcnNPdXRsaW5lZFxuICAgICAgICAgICAgb25DbGljaz17Y2xpY2tIYW5kbGV9XG4gICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuZHJhd2VySWNvbih0aGVtZSksIHN0eWxlcz8uZHJhd2VySWNvbj8uKHRoZW1lKV19XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3dTZWFyY2ggJiYgaXNTZWxlY3RPcGVuKSB7XG4gICAgICAgIHJldHVybiA8U2VhcmNoT3V0bGluZWQgLz47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdWZmaXhJY29uO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJQbGFjZWhvbGRlciA9ICgpID0+IChcbiAgICAgIDxzcGFuIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wbGFjZWhvbGRlcih0aGVtZSksIHN0eWxlcz8ucGxhY2Vob2xkZXI/Lih0aGVtZSldfT5cbiAgICAgICAge3BsYWNlaG9sZGVyfVxuICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgICBjb25zdCB3aXRoQ2xlYXJCdXR0b24gPSBhbGxvd0NsZWFyICYmICEhYWN0aXZlVmFsdWVzLmxlbmd0aDtcblxuICAgIGNvbnN0IGlucHV0VmFsdWUgPVxuICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiIHx8IGlzU2VsZWN0T3BlbiA/IChzZWFyY2hWYWx1ZSA/PyBzZWFyY2hJbnB1dFZhbHVlKSA6IGN1cnJlbnRMYWJlbFswXTtcblxuICAgIGNvbnN0IGlzRW1wdHkgPSBhY3RpdmVWYWx1ZXMubGVuZ3RoID09PSAwO1xuICAgIGNvbnN0IHNpbmdsZU1vZFBsYWNlaG9sZGVyID0gY3VycmVudExhYmVsWzBdID8/IHBsYWNlaG9sZGVyID8/IFwiXCI7XG4gICAgY29uc3QgbXVsdGlwbGVNb2RQbGFjZWhvbGRlciA9IGlzRW1wdHkgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHNlYXJjaElucHV0UGxhY2Vob2xkZXIgPVxuICAgICAgbW9kZSA9PT0gXCJzaW5nbGVcIiA/IHNpbmdsZU1vZFBsYWNlaG9sZGVyIDogbXVsdGlwbGVNb2RQbGFjZWhvbGRlcjtcblxuICAgIGNvbnN0IGxldHRlcnNOdW1iZXIgPSAoaW5wdXRWYWx1ZT8ubGVuZ3RoID8/IDApICsgMTtcblxuICAgIGNvbnN0IGhhc0ljb25QcmVmaXggPSB0eXBlb2YgcHJlZml4ID09PSBcIm9iamVjdFwiO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgdGFiSW5kZXg9ezF9XG4gICAgICAgIG9uS2V5RG93bj17a2V5RG93bkhhbmRsZXJ9XG4gICAgICAgIG9uTW91c2VPdmVyPXttb3VzZU92ZXJIYW5kbGV9XG4gICAgICAgIG9uTW91c2VPdXQ9e21vdXNlT3V0SGFuZGxlfVxuICAgICAgICBvbkZvY3VzPXtmb2N1c0hhbmRsZX1cbiAgICAgICAgb25CbHVyPXtibHVySGFuZGxlfVxuICAgICAgICBhdXRvRm9jdXM9e2F1dG9Gb2N1c31cbiAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5ib2R5KHRoZW1lKSwgc3R5bGVzPy5ib2R5Py4odGhlbWUpXX1cbiAgICAgICAgICBvbkNsaWNrPXshd2l0aERyYXdlciA/IGNsaWNrSGFuZGxlIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHJlZj17cmVmcy5zZXRSZWZlcmVuY2V9XG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLnByZWZpeEFuZENvbnRlbnQodGhlbWUpLCBzdHlsZXM/LnByZWZpeEFuZENvbnRlbnQ/Lih0aGVtZSldfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtwcmVmaXggJiYgKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wcmVmaXgoaGFzSWNvblByZWZpeCkodGhlbWUpLCBzdHlsZXM/LnByZWZpeD8uKHRoZW1lKV19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cHJlZml4fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd1NlYXJjaCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gcmVmPXtjb250YWluZXJSZWZ9IGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLmNvbnRlbnQodGhlbWUpfT5cbiAgICAgICAgICAgICAgICB7bW9kZSA9PT0gXCJtdWx0aXBsZVwiICYmIHJlbmRlckxhYmVsKGFjdGl2ZVZhbHVlcywgY3VycmVudExhYmVsKX1cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNzcz17c2VsZWN0RGVmYXVsdFN0eWxlLnNlYXJjaElucHV0KHRoZW1lKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFZhbHVlID8/IFwiXCJ9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2VhcmNoSGFuZGxlfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaElucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e2dldFNlbGVjdFNlYXJjaElucHV0V2lkdGhTdHlsZShcbiAgICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiLFxuICAgICAgICAgICAgICAgICAgICBpc0VtcHR5LFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJzTnVtYmVyXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwic2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5jb250ZW50KHRoZW1lKSwgc3R5bGVzPy5jb250ZW50Py4odGhlbWUpXX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtyZW5kZXJMYWJlbChjdXJyZW50VmFsdWUsIGN1cnJlbnRMYWJlbCkgPz8gcmVuZGVyUGxhY2Vob2xkZXIoKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICB7d2l0aENsZWFyQnV0dG9uICYmIChcbiAgICAgICAgICAgIDxDbG9zZUNpcmNsZUZpbGxlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjbGVhbi1idXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtjbGVhclNlbGVjdH1cbiAgICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLmNsZWFuSWNvbih0aGVtZSksIHN0eWxlcz8uY2xlYW5JY29uPy4odGhlbWUpXX1cbiAgICAgICAgICAgICAgZGF0YS1lbGVtZW50PVwiY2xlYW4tYnV0dG9uXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8c3BhbiBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuc3VmZml4SWNvbih0aGVtZSksIHN0eWxlcz8uc3VmZml4SWNvbj8uKHRoZW1lKV19PlxuICAgICAgICAgICAge3JlbmRlclN1ZmZpeCgpfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxTZWxlY3RPcHRpb25MaXN0XG4gICAgICAgICAgb3B0aW9ucz17ZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zfVxuICAgICAgICAgIGN1cnJlbnRWYWx1ZT17YWN0aXZlVmFsdWVzfVxuICAgICAgICAgIHNob3dPcHRpb25MaXN0PXtvcGVuID8/IGlzU2VsZWN0T3Blbn1cbiAgICAgICAgICBzZXRWYWx1ZT17Y2hhbmdlSGFuZGxlfVxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdD17Y2xvc2VPcHRpb25MaXN0fVxuICAgICAgICAgIGRyb3Bkb3duTWluV2lkdGg9e2Ryb3Bkb3duTWluV2lkdGh9XG4gICAgICAgICAgZHJvcGRvd25NYXhIZWlnaHQ9e2Ryb3Bkb3duTWF4SGVpZ2h0fVxuICAgICAgICAgIHJldHVybkZvY3VzVG9XcmFwcGVyPXtyZXR1cm5Gb2N1c1RvV3JhcHBlcn1cbiAgICAgICAgICBkcm9wZG93blByb21wdD17ZHJvcGRvd25Qcm9tcHR9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBkcm9wZG93bkNsYXNzTmFtZT17ZHJvcGRvd25DbGFzc05hbWV9XG4gICAgICAgICAgc3R5bGVzPXtzdHlsZXM/LmRyb3Bkb3duU3R5bGV9XG4gICAgICAgICAgZHJvcGRvd25SZW5kZXI9e2Ryb3Bkb3duUmVuZGVyfVxuICAgICAgICAgIG9wdGlvblJlbmRlcj17b3B0aW9uUmVuZGVyfVxuICAgICAgICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD17ZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRofVxuICAgICAgICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoPXtyZWZlcmVuY2VPZmZzZXRXaWR0aH1cbiAgICAgICAgICBmbG9hdGluZ1N0eWxlcz17ZmxvYXRpbmdTdHlsZXN9XG4gICAgICAgICAgc2V0RmxvYXRpbmc9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgZmxvYXRpbmdSZWY9e3JlZnMuZmxvYXRpbmd9XG4gICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9e2dldFBvcHVwQ29udGFpbmVyfVxuICAgICAgICAgIHZpcnR1YWw9e3ZpcnR1YWx9XG4gICAgICAgICAgY3VycmVudFNlbGVjdGluZ0luZGV4PXtjdXJyZW50U2VsZWN0aW5nSW5kZXh9XG4gICAgICAgICAgZW1wdHlDb250ZW50PXtlbXB0eUNvbnRlbnR9XG4gICAgICAgICAgbm90Rm91bmRDb250ZW50PXtub3RGb3VuZENvbnRlbnR9XG4gICAgICAgICAgc2VhcmNoVmFsdWU9e3NlYXJjaFZhbHVlID8/IHNlYXJjaElucHV0VmFsdWV9XG4gICAgICAgICAgc2hvd1NlYXJjaD17c2hvd1NlYXJjaH1cbiAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0ID0gd2l0aFRoZW1lUHJvdmlkZXI8U2VsZWN0UHJvcHM+KFNlbGVjdENvbXBvbmVudCk7XG4iXX0= */"], "data-element": "clean-button" }),
297
- /* @__PURE__ */ jsx("span", { css: [selectDefaultStyle.suffixIcon(theme), (_h = styles == null ? void 0 : styles.suffixIcon) == null ? void 0 : _h.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa2VnQiIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1NlbGVjdC9TZWxlY3QudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBGQyxcbiAgdHlwZSBGb2N1c0V2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIG1lbW8sXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdFByb3BzIH0gZnJvbSBcIi4vU2VsZWN0LnR5cGVzXCI7XG5pbXBvcnQgeyB3aXRoVGhlbWVQcm92aWRlciB9IGZyb20gXCJob2NzL3dpdGhUaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFNlbGVjdE9wdGlvbkludGVyZmFjZSxcbiAgU2VsZWN0T3B0aW9uVmFsdWUsXG59IGZyb20gXCIuL2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTGlzdCB9IGZyb20gXCIuL2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uTGlzdC9TZWxlY3RPcHRpb25MaXN0XCI7XG5pbXBvcnQgeyBnZXRTZWxlY3REZWZhdWx0U3R5bGUsIGdldFNlbGVjdFNlYXJjaElucHV0V2lkdGhTdHlsZSB9IGZyb20gXCIuL1NlbGVjdC5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcImhvb2tzL3VzZVRoZW1lXCI7XG5pbXBvcnQgeyBCYXJzT3V0bGluZWQsIENsb3NlQ2lyY2xlRmlsbGVkLCBEb3duT3V0bGluZWQsIFNlYXJjaE91dGxpbmVkIH0gZnJvbSBcIkBpbmZvbWF4aW11bS9pY29uc1wiO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNOdWxsLCBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IGF1dG9VcGRhdGUsIGZsaXAsIG9mZnNldCwgdXNlRmxvYXRpbmcgfSBmcm9tIFwiQGZsb2F0aW5nLXVpL3JlYWN0XCI7XG5pbXBvcnQge1xuICBhZGRpdGlvbmFsRWxlbWVudHMsXG4gIGNvbnZlcnRTZWxlY3RQbGFjZW1lbnQsXG4gIGdldExhYmVsLFxuICBnZXRWaXNpYmxlTGFiZWxzLFxufSBmcm9tIFwiLi9TZWxlY3QudXRpbHNcIjtcbmltcG9ydCB7IHVzZUtleUNvbnRyb2wgfSBmcm9tIFwiLi9ob29rcy91c2VLZXlDb250cm9sXCI7XG5pbXBvcnQgeyB1c2VTZWFyY2ggfSBmcm9tIFwiLi9ob29rcy91c2VTZWFyY2hcIjtcbmltcG9ydCB7IHVzZUN1cnJlbnRWYWx1ZSB9IGZyb20gXCIuL2hvb2tzL3VzZUN1cnJlbnRWYWx1ZVwiO1xuaW1wb3J0IHsgU2VsZWN0VGFnIH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWxlY3RUYWcvU2VsZWN0VGFnXCI7XG5pbXBvcnQgeyB1c2VIaWRlRWxlbWVudHMgfSBmcm9tIFwiY29tcG9uZW50cy9TZWxlY3QvaG9va3MvdXNlSGlkZUVsZW1lbnRzXCI7XG5pbXBvcnQge1xuICBUYWdQbGFjZWhvbGRlcixcbiAgdGFnUGxhY2Vob2xkZXJEYXRhRWxlbWVudCxcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9UYWdQbGFjZWhvbGRlci9UYWdQbGFjZWhvbGRlclwiO1xuXG5jb25zdCBTZWxlY3RDb21wb25lbnQ6IEZDPFByb3BzV2l0aENoaWxkcmVuPFNlbGVjdFByb3BzPj4gPSBtZW1vKFxuICAoe1xuICAgIG9wdGlvbnMgPSBbXSxcbiAgICBtb2RlID0gXCJzaW5nbGVcIixcbiAgICB2YXJpYW50ID0gXCJvdXRsaW5lZFwiLFxuICAgIGRlZmF1bHRWYWx1ZSxcbiAgICBkZWZhdWx0T3BlbiA9IGZhbHNlLFxuICAgIGRlZmF1bHRBY3RpdmVGaXJzdE9wdGlvbixcbiAgICB2YWx1ZSxcbiAgICBvcGVuLFxuICAgIHBsYWNlaG9sZGVyLFxuICAgIGRyb3Bkb3duTWluV2lkdGggPSAxMjAsXG4gICAgZHJvcGRvd25NYXhIZWlnaHQgPSA0MTQsXG4gICAgYWxsb3dDbGVhciA9IGZhbHNlLFxuICAgIGF1dG9Gb2N1cyxcbiAgICBwcmVmaXgsXG4gICAgc3VmZml4SWNvbiA9IDxEb3duT3V0bGluZWQgLz4sXG4gICAgc3RhdHVzID0gXCJkZWZhdWx0XCIsXG4gICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICBkcm9wZG93blByb21wdCxcbiAgICBsb2FkaW5nID0gZmFsc2UsXG4gICAgZHJvcGRvd25DbGFzc05hbWUsXG4gICAgc3R5bGVzLFxuICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aCA9IHRydWUsXG4gICAgcGxhY2VtZW50ID0gXCJib3R0b21MZWZ0XCIsXG4gICAgdmlydHVhbCA9IHRydWUsXG4gICAgZW1wdHlDb250ZW50ID0gXCJcIixcbiAgICBzaG93U2VhcmNoID0gbW9kZSA9PT0gXCJzaW5nbGVcIiA/IGZhbHNlIDogdHJ1ZSxcbiAgICBmaWx0ZXJPcHRpb24gPSB0cnVlLFxuICAgIG9wdGlvbkZpbHRlclByb3AgPSBcInRpdGxlXCIsXG4gICAgc2VhcmNoVmFsdWUsXG4gICAgbm90Rm91bmRDb250ZW50LFxuICAgIG9wdGlvbkxhYmVsUHJvcCA9IFwidGl0bGVcIixcbiAgICBkcmF3ZXIgPSBmYWxzZSxcbiAgICBhdXRvQ2xlYXJTZWFyY2hWYWx1ZSA9IHRydWUsXG4gICAgbWF4VGFnQ291bnQsXG4gICAgbWF4VGFnVGV4dExlbmd0aCxcbiAgICBtYXhUYWdQbGFjZWhvbGRlcixcbiAgICBmaWx0ZXJTb3J0LFxuICAgIGRyb3Bkb3duUmVuZGVyLFxuICAgIG9wdGlvblJlbmRlcixcbiAgICBsYWJlbFJlbmRlcixcbiAgICBvbkJsdXIsXG4gICAgb25DaGFuZ2UsXG4gICAgb25DbGVhcixcbiAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSxcbiAgICBvbkZvY3VzLFxuICAgIG9uSW5wdXRLZXlEb3duLFxuICAgIG9uU2VsZWN0LFxuICAgIGdldFBvcHVwQ29udGFpbmVyID0gKCkgPT4gZG9jdW1lbnQuYm9keSxcbiAgICBvblNlYXJjaCxcbiAgICB0YWdSZW5kZXIsXG4gICAgb25EZXNlbGVjdCxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICAgIGNvbnN0IHsgZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zLCBzZWFyY2hJbnB1dFZhbHVlLCBzZWFyY2hIYW5kbGUsIGNsZWFyU2VhcmNoVmFsdWUgfSA9XG4gICAgICB1c2VTZWFyY2goe1xuICAgICAgICBvcHRpb25zLFxuICAgICAgICBmaWx0ZXJPcHRpb24sXG4gICAgICAgIG9wdGlvbkZpbHRlclByb3AsXG4gICAgICAgIHNlYXJjaFZhbHVlLFxuICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgZmlsdGVyU29ydCxcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgeyBjdXJyZW50VmFsdWUsIGNoYW5nZUN1cnJlbnRWYWx1ZSwgcmVtb3ZlVmFsdWUsIGNsZWFyQ3VycmVudFZhbHVlIH0gPSB1c2VDdXJyZW50VmFsdWUoXG4gICAgICBtb2RlLFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIG9uRGVzZWxlY3RcbiAgICApO1xuXG4gICAgY29uc3QgW2lzU2VsZWN0T3Blbiwgc2V0SXNTZWxlY3RPcGVuXSA9IHVzZVN0YXRlKGRlZmF1bHRPcGVuKTtcbiAgICBjb25zdCBbaXNIb3Zlciwgc2V0SXNIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBpc0luaXRpYWxNb3VudCA9IHVzZVJlZih0cnVlKTtcbiAgICBjb25zdCBjb250cm9sUmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0IG9wdGlvbnNNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbkxpc3Q6IFtTZWxlY3RPcHRpb25WYWx1ZSwgU2VsZWN0T3B0aW9uSW50ZXJmYWNlXVtdID0gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gW1xuICAgICAgICBvcHRpb24udmFsdWUsXG4gICAgICAgIG9wdGlvbixcbiAgICAgIF0pO1xuXG4gICAgICByZXR1cm4gbmV3IE1hcChvcHRpb25MaXN0KTtcbiAgICB9LCBbb3B0aW9uc10pO1xuXG4gICAgY29uc3QgeyBjdXJyZW50U2VsZWN0aW5nSW5kZXgsIG9uS2V5Q29udHJvbCwgc2V0Q3VycmVudFNlbGVjdGluZ0luZGV4IH0gPSB1c2VLZXlDb250cm9sKFxuICAgICAgY3VycmVudFZhbHVlLFxuICAgICAgZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zLFxuICAgICAgb3B0aW9uc01hcFxuICAgICk7XG5cbiAgICBjb25zdCByZWZlcmVuY2VPZmZzZXRXaWR0aCA9IGNvbnRyb2xSZWYuY3VycmVudD8ub2Zmc2V0V2lkdGg7XG5cbiAgICBjb25zdCB7IHJlZnMsIGZsb2F0aW5nU3R5bGVzIH0gPSB1c2VGbG9hdGluZzxIVE1MU3BhbkVsZW1lbnQ+KHtcbiAgICAgIHdoaWxlRWxlbWVudHNNb3VudGVkOiBhdXRvVXBkYXRlLFxuICAgICAgcGxhY2VtZW50OiBjb252ZXJ0U2VsZWN0UGxhY2VtZW50KHBsYWNlbWVudCksXG4gICAgICBtaWRkbGV3YXJlOiBbb2Zmc2V0KDQpLCBmbGlwKCldLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmV0dXJuRm9jdXNUb1dyYXBwZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29udHJvbFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgICAgfSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgcmV0dXJuRm9jdXNUb0lucHV0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKCFpc0luaXRpYWxNb3VudC5jdXJyZW50KSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSBjdXJyZW50VmFsdWUucmVkdWNlKChhY2M6IFNlbGVjdE9wdGlvbkludGVyZmFjZVtdLCB2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICAgIGlmIChpc1VuZGVmaW5lZChvcHRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbLi4uYWNjLCBvcHRpb25dO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgb25DaGFuZ2U/LihjdXJyZW50VmFsdWUsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH0sIFtjdXJyZW50VmFsdWVdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNJbml0aWFsTW91bnQuY3VycmVudCkge1xuICAgICAgICBpc0luaXRpYWxNb3VudC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT8uKCk7XG4gICAgICB9XG4gICAgfSwgW2lzU2VsZWN0T3Blbl0pO1xuXG4gICAgY29uc3Qgc2VsZWN0RGVmYXVsdFN0eWxlID0gZ2V0U2VsZWN0RGVmYXVsdFN0eWxlKFxuICAgICAgc3RhdHVzLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICB2YXJpYW50LFxuICAgICAgbW9kZSA9PT0gXCJtdWx0aXBsZVwiLFxuICAgICAgaXNIb3ZlcixcbiAgICAgIG1heFRhZ0NvdW50XG4gICAgKTtcblxuICAgIGNvbnN0IGFjdGl2ZVZhbHVlcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBpc1VuZGVmaW5lZCh2YWx1ZSkgPyBjdXJyZW50VmFsdWUgOiBbdmFsdWVdO1xuXG4gICAgY29uc3QgeyBjb250YWluZXJSZWYsIGlzSXRlbUhpZGRlbiB9ID0gdXNlSGlkZUVsZW1lbnRzKFxuICAgICAgYWN0aXZlVmFsdWVzLFxuICAgICAgdGhlbWUuc3BhY2VYUyxcbiAgICAgIGFkZGl0aW9uYWxFbGVtZW50cyxcbiAgICAgIGlucHV0UmVmXG4gICAgKTtcblxuICAgIGNvbnN0IGN1cnJlbnRMYWJlbCA9IGdldExhYmVsKGFjdGl2ZVZhbHVlcywgb3B0aW9uc01hcCwgb3B0aW9uTGFiZWxQcm9wKTtcblxuICAgIGNvbnN0IHdpdGhEcmF3ZXIgPSBtb2RlID09PSBcIm11bHRpcGxlXCIgJiYgZHJhd2VyO1xuICAgIGNvbnN0IHdpdGhBdXRvQ2xlYXIgPSBtb2RlID09PSBcInNpbmdsZVwiIHx8IGF1dG9DbGVhclNlYXJjaFZhbHVlO1xuXG4gICAgY29uc3QgY2xpY2tIYW5kbGUgPSAoKSA9PiB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzZXRJc1NlbGVjdE9wZW4oKHByZXYpID0+ICFwcmV2KTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2hhbmdlSGFuZGxlID0gdXNlQ2FsbGJhY2soXG4gICAgICAodmFsdWU6IFNlbGVjdE9wdGlvblZhbHVlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNoYW5nZUN1cnJlbnRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3RpbmdJbmRleChpbmRleCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXAuZ2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAod2l0aEF1dG9DbGVhcikge1xuICAgICAgICAgIGNsZWFyU2VhcmNoVmFsdWUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICBvblNlbGVjdD8uKHZhbHVlLCBvcHRpb24pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW1xuICAgICAgICBjaGFuZ2VDdXJyZW50VmFsdWUsXG4gICAgICAgIGNsZWFyU2VhcmNoVmFsdWUsXG4gICAgICAgIG9uU2VsZWN0LFxuICAgICAgICBvcHRpb25zTWFwLFxuICAgICAgICBzZXRDdXJyZW50U2VsZWN0aW5nSW5kZXgsXG4gICAgICAgIHdpdGhBdXRvQ2xlYXIsXG4gICAgICBdXG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlT3B0aW9uTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzU2VsZWN0T3BlbihmYWxzZSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgYmx1ckhhbmRsZSA9IChlOiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICBjb25zdCBpc0ZvY3VzT25PcHRpb25MaXN0ID0gcmVmcy5mbG9hdGluZy5jdXJyZW50ID09PSBlLnJlbGF0ZWRUYXJnZXQ7XG4gICAgICBjb25zdCBpc0ZvY3VzT25TZWFyY2hJbnB1dCA9XG4gICAgICAgICFpc051bGwoaW5wdXRSZWYuY3VycmVudCkgJiYgZS5yZWxhdGVkVGFyZ2V0ID09PSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgY29uc3QgaXNGb2N1c09uQ29udHJvbCA9IGUucmVsYXRlZFRhcmdldCA9PT0gY29udHJvbFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNGb2N1c09uT3B0aW9uTGlzdCB8fCBpc0ZvY3VzT25TZWFyY2hJbnB1dCB8fCBpc0ZvY3VzT25Db250cm9sKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgb25CbHVyPy4oZSk7XG4gICAgICBjbGVhclNlYXJjaFZhbHVlKCk7XG4gICAgICBjbG9zZU9wdGlvbkxpc3QoKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2xlYXJTZWxlY3QgPSB1c2VDYWxsYmFjayhcbiAgICAgIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjbGVhckN1cnJlbnRWYWx1ZSgpO1xuICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgIH0sXG4gICAgICBbY2xlYXJDdXJyZW50VmFsdWUsIG9uQ2xlYXJdXG4gICAgKTtcblxuICAgIGNvbnN0IGtleURvd25IYW5kbGVyID0gKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICAgIGlmIChpc1NlbGVjdE9wZW4pIHtcbiAgICAgICAgICBjaGFuZ2VDdXJyZW50VmFsdWUoZmlsdGVyZWRBbmRTb3J0ZWRPcHRpb25zW2N1cnJlbnRTZWxlY3RpbmdJbmRleF0/LnZhbHVlKTtcblxuICAgICAgICAgIGlmICh3aXRoQXV0b0NsZWFyKSB7XG4gICAgICAgICAgICBjbGVhclNlYXJjaFZhbHVlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY2xpY2tIYW5kbGUoKTtcbiAgICAgIH1cblxuICAgICAgc2V0SXNTZWxlY3RPcGVuKHRydWUpO1xuXG4gICAgICBvbktleUNvbnRyb2woZSk7XG4gICAgICBvbklucHV0S2V5RG93bj8uKGUpO1xuICAgIH07XG5cbiAgICBjb25zdCBtb3VzZU92ZXJIYW5kbGUgPSAoKSA9PiB7XG4gICAgICBzZXRJc0hvdmVyKHRydWUpO1xuICAgIH07XG5cbiAgICBjb25zdCBtb3VzZU91dEhhbmRsZSA9ICgpID0+IHtcbiAgICAgIHNldElzSG92ZXIoZmFsc2UpO1xuICAgIH07XG5cbiAgICBjb25zdCBmb2N1c0hhbmRsZSA9IChlOiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICBvbkZvY3VzPy4oZSk7XG5cbiAgICAgIGlmICghc2hvd1NlYXJjaCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJldHVybkZvY3VzVG9JbnB1dCgpO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJUYWdQbGFjZWhvbGRlciA9IChoaWRkZW5FbGVtZW50c0NvdW50ZXI6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKGlzVW5kZWZpbmVkKG1heFRhZ1BsYWNlaG9sZGVyKSkge1xuICAgICAgICByZXR1cm4gPFRhZ1BsYWNlaG9sZGVyIGhpZGRlbkVsZW1lbnRzQ291bnRlcj17aGlkZGVuRWxlbWVudHNDb3VudGVyfSAvPjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc0Z1bmN0aW9uKG1heFRhZ1BsYWNlaG9sZGVyKSkge1xuICAgICAgICByZXR1cm4gPHNwYW4gZGF0YS1lbGVtZW50PXt0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50fT57bWF4VGFnUGxhY2Vob2xkZXJ9PC9zcGFuPjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHMgPSBjdXJyZW50VmFsdWUucmVkdWNlKChhY2M6IFNlbGVjdE9wdGlvbkludGVyZmFjZVtdLCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBpc0hpZGRlbiA9IGlzSXRlbUhpZGRlbi5nZXQodmFsdWUpO1xuICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zTWFwLmdldCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKCFpc0hpZGRlbiB8fCBpc1VuZGVmaW5lZChvcHRpb24pKSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuXG4gICAgICAgIGFjYy5wdXNoKG9wdGlvbik7XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHNwYW4gZGF0YS1lbGVtZW50PXt0YWdQbGFjZWhvbGRlckRhdGFFbGVtZW50fT57bWF4VGFnUGxhY2Vob2xkZXIoaGlkZGVuRWxlbWVudHMpfTwvc3Bhbj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlckxhYmVsID0gKHZhbHVlczogU2VsZWN0T3B0aW9uVmFsdWVbXSwgY3VycmVudExhYmVsOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgY29uc3QgdmlzaWJsZUxhYmVscyA9IGdldFZpc2libGVMYWJlbHMoY3VycmVudExhYmVsLCB2YWx1ZXMsIG1heFRhZ0NvdW50LCBpc0l0ZW1IaWRkZW4pO1xuXG4gICAgICBjb25zdCBsYWJlbCA9IHZpc2libGVMYWJlbHMubWFwKChsYWJlbCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdO1xuXG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKGxhYmVsUmVuZGVyKSkge1xuICAgICAgICAgIHJldHVybiBsYWJlbFJlbmRlcih7IGxhYmVsLCB2YWx1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RlID09PSBcInNpbmdsZVwiKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24odGFnUmVuZGVyKSkge1xuICAgICAgICAgIHJldHVybiB0YWdSZW5kZXIobGFiZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U2VsZWN0VGFnXG4gICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICByZW1vdmVWYWx1ZT17cmVtb3ZlVmFsdWV9XG4gICAgICAgICAgICBtYXhUYWdUZXh0TGVuZ3RoPXttYXhUYWdUZXh0TGVuZ3RofVxuICAgICAgICAgICAgaXNCb3JkZXJsZXNzPXt2YXJpYW50ID09PSBcImJvcmRlcmxlc3NcIn1cbiAgICAgICAgICAgIGlzRXJyb3I9e3N0YXR1cyA9PT0gXCJlcnJvclwifVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAga2V5PXt2YWx1ZX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGhpZGRlbkVsZW1lbnRzQ291bnRlciA9IGN1cnJlbnRMYWJlbC5sZW5ndGggLSBsYWJlbC5sZW5ndGg7XG5cbiAgICAgIGNvbnN0IHdpdGhUYWdQbGFjZWhvbGRlciA9XG4gICAgICAgICFpc1VuZGVmaW5lZChtYXhUYWdDb3VudCkgJiYgbW9kZSA9PT0gXCJtdWx0aXBsZVwiICYmIGhpZGRlbkVsZW1lbnRzQ291bnRlciA+IDA7XG5cbiAgICAgIGlmIChsYWJlbC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIHt3aXRoVGFnUGxhY2Vob2xkZXIgJiYgcmVuZGVyVGFnUGxhY2Vob2xkZXIoaGlkZGVuRWxlbWVudHNDb3VudGVyKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJTdWZmaXggPSAoKSA9PiB7XG4gICAgICBpZiAod2l0aERyYXdlcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxCYXJzT3V0bGluZWRcbiAgICAgICAgICAgIG9uQ2xpY2s9e2NsaWNrSGFuZGxlfVxuICAgICAgICAgICAgY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLmRyYXdlckljb24odGhlbWUpLCBzdHlsZXM/LmRyYXdlckljb24/Lih0aGVtZSldfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG93U2VhcmNoICYmIGlzU2VsZWN0T3Blbikge1xuICAgICAgICByZXR1cm4gPFNlYXJjaE91dGxpbmVkIC8+O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3VmZml4SWNvbjtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVuZGVyUGxhY2Vob2xkZXIgPSAoKSA9PiAoXG4gICAgICA8c3BhbiBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUucGxhY2Vob2xkZXIodGhlbWUpLCBzdHlsZXM/LnBsYWNlaG9sZGVyPy4odGhlbWUpXX0+XG4gICAgICAgIHtwbGFjZWhvbGRlcn1cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuXG4gICAgY29uc3Qgd2l0aENsZWFyQnV0dG9uID0gYWxsb3dDbGVhciAmJiAhIWFjdGl2ZVZhbHVlcy5sZW5ndGg7XG5cbiAgICBjb25zdCBpbnB1dFZhbHVlID1cbiAgICAgIG1vZGUgPT09IFwibXVsdGlwbGVcIiB8fCBpc1NlbGVjdE9wZW4gPyAoc2VhcmNoVmFsdWUgPz8gc2VhcmNoSW5wdXRWYWx1ZSkgOiBjdXJyZW50TGFiZWxbMF07XG5cbiAgICBjb25zdCBpc0VtcHR5ID0gYWN0aXZlVmFsdWVzLmxlbmd0aCA9PT0gMDtcbiAgICBjb25zdCBzaW5nbGVNb2RQbGFjZWhvbGRlciA9IGN1cnJlbnRMYWJlbFswXSA/PyBwbGFjZWhvbGRlciA/PyBcIlwiO1xuICAgIGNvbnN0IG11bHRpcGxlTW9kUGxhY2Vob2xkZXIgPSBpc0VtcHR5ID8gcGxhY2Vob2xkZXIgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzZWFyY2hJbnB1dFBsYWNlaG9sZGVyID1cbiAgICAgIG1vZGUgPT09IFwic2luZ2xlXCIgPyBzaW5nbGVNb2RQbGFjZWhvbGRlciA6IG11bHRpcGxlTW9kUGxhY2Vob2xkZXI7XG5cbiAgICBjb25zdCBsZXR0ZXJzTnVtYmVyID0gKGlucHV0VmFsdWU/Lmxlbmd0aCA/PyAwKSArIDE7XG5cbiAgICBjb25zdCBoYXNJY29uUHJlZml4ID0gdHlwZW9mIHByZWZpeCA9PT0gXCJvYmplY3RcIjtcblxuICAgIHJldHVybiAoXG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUud3JhcHBlcih0aGVtZSksIHN0eWxlcz8ud3JhcHBlcj8uKHRoZW1lKV19XG4gICAgICAgIHRhYkluZGV4PXsxfVxuICAgICAgICBvbktleURvd249e2tleURvd25IYW5kbGVyfVxuICAgICAgICBvbk1vdXNlT3Zlcj17bW91c2VPdmVySGFuZGxlfVxuICAgICAgICBvbk1vdXNlT3V0PXttb3VzZU91dEhhbmRsZX1cbiAgICAgICAgb25Gb2N1cz17Zm9jdXNIYW5kbGV9XG4gICAgICAgIG9uQmx1cj17Ymx1ckhhbmRsZX1cbiAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuYm9keSh0aGVtZSksIHN0eWxlcz8uYm9keT8uKHRoZW1lKV19XG4gICAgICAgICAgb25DbGljaz17IXdpdGhEcmF3ZXIgPyBjbGlja0hhbmRsZSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICByZWY9e3JlZnMuc2V0UmVmZXJlbmNlfVxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5wcmVmaXhBbmRDb250ZW50KHRoZW1lKSwgc3R5bGVzPy5wcmVmaXhBbmRDb250ZW50Py4odGhlbWUpXX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cHJlZml4ICYmIChcbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUucHJlZml4KGhhc0ljb25QcmVmaXgpKHRoZW1lKSwgc3R5bGVzPy5wcmVmaXg/Lih0aGVtZSldfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3ByZWZpeH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge3Nob3dTZWFyY2ggPyAoXG4gICAgICAgICAgICAgIDxzcGFuIHJlZj17Y29udGFpbmVyUmVmfSBjc3M9e3NlbGVjdERlZmF1bHRTdHlsZS5jb250ZW50KHRoZW1lKX0+XG4gICAgICAgICAgICAgICAge21vZGUgPT09IFwibXVsdGlwbGVcIiAmJiByZW5kZXJMYWJlbChhY3RpdmVWYWx1ZXMsIGN1cnJlbnRMYWJlbCl9XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjc3M9e3NlbGVjdERlZmF1bHRTdHlsZS5zZWFyY2hJbnB1dCh0aGVtZSl9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRWYWx1ZSA/PyBcIlwifVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3NlYXJjaEhhbmRsZX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtzZWFyY2hJbnB1dFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXtnZXRTZWxlY3RTZWFyY2hJbnB1dFdpZHRoU3R5bGUoXG4gICAgICAgICAgICAgICAgICAgIG1vZGUgPT09IFwibXVsdGlwbGVcIixcbiAgICAgICAgICAgICAgICAgICAgaXNFbXB0eSxcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyc051bWJlclxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtZWxlbWVudD1cInNlYXJjaC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgICBjc3M9e1tzZWxlY3REZWZhdWx0U3R5bGUuY29udGVudCh0aGVtZSksIHN0eWxlcz8uY29udGVudD8uKHRoZW1lKV19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cmVuZGVyTGFiZWwoY3VycmVudFZhbHVlLCBjdXJyZW50TGFiZWwpID8/IHJlbmRlclBsYWNlaG9sZGVyKCl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAge3dpdGhDbGVhckJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8Q2xvc2VDaXJjbGVGaWxsZWRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xlYW4tYnV0dG9uXCJcbiAgICAgICAgICAgICAgb25DbGljaz17Y2xlYXJTZWxlY3R9XG4gICAgICAgICAgICAgIGNzcz17W3NlbGVjdERlZmF1bHRTdHlsZS5jbGVhbkljb24odGhlbWUpLCBzdHlsZXM/LmNsZWFuSWNvbj8uKHRoZW1lKV19XG4gICAgICAgICAgICAgIGRhdGEtZWxlbWVudD1cImNsZWFuLWJ1dHRvblwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0RGVmYXVsdFN0eWxlLnN1ZmZpeEljb24odGhlbWUpLCBzdHlsZXM/LnN1ZmZpeEljb24/Lih0aGVtZSldfT5cbiAgICAgICAgICAgIHtyZW5kZXJTdWZmaXgoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8U2VsZWN0T3B0aW9uTGlzdFxuICAgICAgICAgIG9wdGlvbnM9e2ZpbHRlcmVkQW5kU29ydGVkT3B0aW9uc31cbiAgICAgICAgICBjdXJyZW50VmFsdWU9e2FjdGl2ZVZhbHVlc31cbiAgICAgICAgICBzaG93T3B0aW9uTGlzdD17b3BlbiA/PyBpc1NlbGVjdE9wZW59XG4gICAgICAgICAgc2V0VmFsdWU9e2NoYW5nZUhhbmRsZX1cbiAgICAgICAgICBjbG9zZU9wdGlvbkxpc3Q9e2Nsb3NlT3B0aW9uTGlzdH1cbiAgICAgICAgICBkcm9wZG93bk1pbldpZHRoPXtkcm9wZG93bk1pbldpZHRofVxuICAgICAgICAgIGRyb3Bkb3duTWF4SGVpZ2h0PXtkcm9wZG93bk1heEhlaWdodH1cbiAgICAgICAgICByZXR1cm5Gb2N1c1RvV3JhcHBlcj17cmV0dXJuRm9jdXNUb1dyYXBwZXJ9XG4gICAgICAgICAgZHJvcGRvd25Qcm9tcHQ9e2Ryb3Bkb3duUHJvbXB0fVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZHJvcGRvd25DbGFzc05hbWU9e2Ryb3Bkb3duQ2xhc3NOYW1lfVxuICAgICAgICAgIHN0eWxlcz17c3R5bGVzPy5kcm9wZG93blN0eWxlfVxuICAgICAgICAgIGRyb3Bkb3duUmVuZGVyPXtkcm9wZG93blJlbmRlcn1cbiAgICAgICAgICBvcHRpb25SZW5kZXI9e29wdGlvblJlbmRlcn1cbiAgICAgICAgICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg9e2Ryb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aH1cbiAgICAgICAgICByZWZlcmVuY2VPZmZzZXRXaWR0aD17cmVmZXJlbmNlT2Zmc2V0V2lkdGh9XG4gICAgICAgICAgZmxvYXRpbmdTdHlsZXM9e2Zsb2F0aW5nU3R5bGVzfVxuICAgICAgICAgIHNldEZsb2F0aW5nPXtyZWZzLnNldEZsb2F0aW5nfVxuICAgICAgICAgIGZsb2F0aW5nUmVmPXtyZWZzLmZsb2F0aW5nfVxuICAgICAgICAgIGdldFBvcHVwQ29udGFpbmVyPXtnZXRQb3B1cENvbnRhaW5lcn1cbiAgICAgICAgICB2aXJ0dWFsPXt2aXJ0dWFsfVxuICAgICAgICAgIGN1cnJlbnRTZWxlY3RpbmdJbmRleD17Y3VycmVudFNlbGVjdGluZ0luZGV4fVxuICAgICAgICAgIGVtcHR5Q29udGVudD17ZW1wdHlDb250ZW50fVxuICAgICAgICAgIG5vdEZvdW5kQ29udGVudD17bm90Rm91bmRDb250ZW50fVxuICAgICAgICAgIHNlYXJjaFZhbHVlPXtzZWFyY2hWYWx1ZSA/PyBzZWFyY2hJbnB1dFZhbHVlfVxuICAgICAgICAgIHNob3dTZWFyY2g9e3Nob3dTZWFyY2h9XG4gICAgICAgICAgbW9kZT17bW9kZX1cbiAgICAgICAgICByZW1vdmVWYWx1ZT17cmVtb3ZlVmFsdWV9XG4gICAgICAgIC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IHdpdGhUaGVtZVByb3ZpZGVyPFNlbGVjdFByb3BzPihTZWxlY3RDb21wb25lbnQpO1xuIl19 */"], children: renderSuffix() })
298
- ] }),
299
- /* @__PURE__ */ jsx(SelectOptionList, { options: filteredAndSortedOptions, currentValue: activeValues, showOptionList: open ?? isSelectOpen, setValue: changeHandle, closeOptionList, dropdownMinWidth, dropdownMaxHeight, returnFocusToWrapper, dropdownPrompt, loading, dropdownClassName, styles: styles == null ? void 0 : styles.dropdownStyle, dropdownRender, optionRender, dropdownMatchSelectWidth, referenceOffsetWidth, floatingStyles, setFloating: refs.setFloating, floatingRef: refs.floating, getPopupContainer, virtual, currentSelectingIndex, emptyContent, notFoundContent, searchValue: searchValue ?? searchInputValue, showSearch, mode, removeValue })
300
- ] });
56
+ }, [filterOption, optionFilterProp]);
57
+ const virtualizerEstimateSize = useCallback(() => 28, []);
58
+ return /* @__PURE__ */ jsx(BaseSelect, { ...otherProps, options, getOptionByValue, renderDropdownItem, filterOptions, filterOption, virtualizerEstimateSize, onDropdownVisibleChange: handleDropdownVisibleChange, onChange: handleChange, onSearch: handleSearch, onKeyControl, currentSelectingIndex, getCurrentSelectingValue, styles: styles == null ? void 0 : styles.baseSelectStyles });
301
59
  });
302
60
  const Select = withThemeProvider(SelectComponent);
303
61
  export {