@1money/component-ui 0.0.69 → 0.0.71

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 (219) hide show
  1. package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +3 -2
  2. package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +2 -2
  3. package/es/business/Select/Network/NetworkSelect.js +2 -2
  4. package/es/components/Accordion/Accordion.js +3 -2
  5. package/es/components/Calendar/Calendar.js +3 -2
  6. package/es/components/Carousel/Carousel.js +3 -2
  7. package/es/components/Checkbox/BaseCheckbox.js +3 -2
  8. package/es/components/Checkbox/Checkbox.js +2 -2
  9. package/es/components/Checkbox/CheckboxGroup.js +3 -2
  10. package/es/components/CoachMark/CoachMark.js +3 -2
  11. package/es/components/Copy/Copy.js +2 -2
  12. package/es/components/Dialog/Dialog.js +2 -2
  13. package/es/components/Drawer/Drawer.js +2 -2
  14. package/es/components/Icons/Wrapper.js +6 -4
  15. package/es/components/Icons/constants.d.ts +11 -0
  16. package/es/components/Icons/constants.js +32 -0
  17. package/es/components/Icons/index.d.ts +2 -0
  18. package/es/components/Icons/index.js +2 -1
  19. package/es/components/Icons/interface.d.ts +8 -1
  20. package/es/components/Input/Amount/Amount.js +2 -2
  21. package/es/components/Input/Input/Input.js +3 -2
  22. package/es/components/Input/Mask/Mask.js +3 -2
  23. package/es/components/Input/OTP/OTP.js +3 -2
  24. package/es/components/Input/Password/Password.js +3 -2
  25. package/es/components/Input/Search/Search.js +3 -2
  26. package/es/components/Input/TextArea/TextArea.js +3 -2
  27. package/es/components/Input/Trade/Trade.js +2 -2
  28. package/es/components/Input/useAmountInput.js +4 -2
  29. package/es/components/Input/useSyncRef.js +2 -2
  30. package/es/components/Navigation/Nav.js +2 -2
  31. package/es/components/Navigation/Navigation.js +5 -2
  32. package/es/components/Pagination/Pagination.js +2 -2
  33. package/es/components/Pagination/usePagination.js +3 -2
  34. package/es/components/Popconfirm/Popconfirm.js +2 -2
  35. package/es/components/Portal/Portal.js +2 -2
  36. package/es/components/ProForm/ProForm.js +6 -3
  37. package/es/components/ProForm/ProFormGroup.js +2 -2
  38. package/es/components/ProForm/ProFormList.js +3 -2
  39. package/es/components/ProForm/Submitter.js +2 -2
  40. package/es/components/ProForm/core/constants.d.ts +6 -0
  41. package/es/components/ProForm/core/constants.js +7 -1
  42. package/es/components/ProForm/core/hooks/useForm.js +25 -195
  43. package/es/components/ProForm/core/hooks/useFormCore.js +14 -142
  44. package/es/components/ProForm/core/pathUtils.d.ts +6 -0
  45. package/es/components/ProForm/core/pathUtils.js +59 -0
  46. package/es/components/ProForm/core/runRules.d.ts +13 -0
  47. package/es/components/ProForm/core/runRules.js +186 -0
  48. package/es/components/ProForm/core/useFormItem.js +10 -28
  49. package/es/components/ProForm/fields/createProFormField.js +43 -57
  50. package/es/components/ProForm/hooks/useFieldRequest.js +7 -5
  51. package/es/components/ProForm/layouts/QueryFilter.js +3 -2
  52. package/es/components/ProForm/layouts/useOverlayForm.js +23 -21
  53. package/es/components/ProForm/utils.d.ts +2 -2
  54. package/es/components/ProForm/utils.js +5 -51
  55. package/es/components/ProTable/ProTable.js +3 -2
  56. package/es/components/ProTable/core/useAwaitableReload.js +3 -2
  57. package/es/components/ProTable/useFetchData.js +4 -2
  58. package/es/components/Radio/Radio.js +3 -2
  59. package/es/components/Radio/RadioGroup.js +3 -2
  60. package/es/components/ResizeObserver/useResizeObserver.js +2 -2
  61. package/es/components/Segment/Segment.js +4 -2
  62. package/es/components/Select/Select.js +3 -2
  63. package/es/components/Select/SelectCustom.js +2 -2
  64. package/es/components/Select/useSelectShell.js +3 -2
  65. package/es/components/Slider/Slider.js +3 -2
  66. package/es/components/Switch/Switch.js +3 -2
  67. package/es/components/Table/Table.js +14 -28
  68. package/es/components/Table/VirtualTable.js +18 -28
  69. package/es/components/Table/core/columnUtil.d.ts +9 -0
  70. package/es/components/Table/core/columnUtil.js +34 -0
  71. package/es/components/Table/core/useTableColumns.d.ts +4 -13
  72. package/es/components/Table/core/useTableColumns.js +55 -24
  73. package/es/components/Table/core/useTableDataPipeline.d.ts +11 -16
  74. package/es/components/Table/core/useTableDataPipeline.js +66 -73
  75. package/es/components/Table/core/useTableExpand.js +3 -2
  76. package/es/components/Table/core/useTableSelection.js +7 -4
  77. package/es/components/Table/core/useTableSetup.js +4 -2
  78. package/es/components/Table/features/ExpandTrigger.d.ts +9 -3
  79. package/es/components/Table/features/ExpandTrigger.js +14 -8
  80. package/es/components/Table/features/FilterTrigger.js +21 -17
  81. package/es/components/Table/features/SelectionColumn.d.ts +11 -6
  82. package/es/components/Table/features/SelectionColumn.js +12 -5
  83. package/es/components/Table/features/SortTrigger.d.ts +4 -2
  84. package/es/components/Table/features/SortTrigger.js +8 -3
  85. package/es/components/Table/internal/kernel/Body/MeasureCell.js +2 -2
  86. package/es/components/Table/internal/kernel/Cell/index.js +2 -2
  87. package/es/components/Table/internal/kernel/Table.js +3 -3
  88. package/es/components/Table/internal/kernel/VirtualTable/index.js +2 -2
  89. package/es/components/Table/internal/kernel/hooks/useRowInfo.js +2 -2
  90. package/es/components/Table/internal/kernel/selector-context/context.js +3 -3
  91. package/es/components/Table/renderers/HeaderCell.js +3 -2
  92. package/es/components/Table/renderers/TableShell.d.ts +13 -0
  93. package/es/components/Table/renderers/TableShell.js +25 -0
  94. package/es/components/Table/style/Table.css +3 -0
  95. package/es/components/Tabs/Tabs.js +4 -2
  96. package/es/components/Tooltip/Tooltip.js +3 -2
  97. package/es/components/Tour/Tour.js +3 -2
  98. package/es/components/Trigger/Trigger.js +3 -2
  99. package/es/components/Typography/Typography.js +2 -2
  100. package/es/components/Typography/useTypographyEnhancements.js +3 -2
  101. package/es/components/Upload/Upload.js +2 -2
  102. package/es/components/Upload/UploadFileBar.js +2 -2
  103. package/es/components/VirtualList/VirtualList.js +3 -2
  104. package/es/components/VirtualList/hooks/useMobileTouchMove.js +2 -2
  105. package/es/components/VirtualList/hooks/useScrollTo.js +2 -2
  106. package/es/index.css +1 -1
  107. package/es/index.d.ts +1 -1
  108. package/es/index.js +1 -1
  109. package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +9 -8
  110. package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +3 -3
  111. package/lib/business/Select/Network/NetworkSelect.js +3 -3
  112. package/lib/components/Accordion/Accordion.js +5 -4
  113. package/lib/components/Calendar/Calendar.js +6 -5
  114. package/lib/components/Carousel/Carousel.js +5 -4
  115. package/lib/components/Checkbox/BaseCheckbox.js +5 -4
  116. package/lib/components/Checkbox/Checkbox.js +3 -3
  117. package/lib/components/Checkbox/CheckboxGroup.js +7 -6
  118. package/lib/components/CoachMark/CoachMark.js +7 -6
  119. package/lib/components/Copy/Copy.js +3 -3
  120. package/lib/components/Dialog/Dialog.js +6 -6
  121. package/lib/components/Drawer/Drawer.js +10 -10
  122. package/lib/components/Icons/Wrapper.js +6 -4
  123. package/lib/components/Icons/constants.d.ts +11 -0
  124. package/lib/components/Icons/constants.js +38 -0
  125. package/lib/components/Icons/index.d.ts +2 -0
  126. package/lib/components/Icons/index.js +10 -2
  127. package/lib/components/Icons/interface.d.ts +8 -1
  128. package/lib/components/Input/Amount/Amount.js +6 -5
  129. package/lib/components/Input/Input/Input.js +7 -6
  130. package/lib/components/Input/Mask/Mask.js +9 -8
  131. package/lib/components/Input/OTP/OTP.js +9 -8
  132. package/lib/components/Input/Password/Password.js +6 -5
  133. package/lib/components/Input/Search/Search.js +8 -7
  134. package/lib/components/Input/TextArea/TextArea.js +5 -4
  135. package/lib/components/Input/Trade/Trade.js +5 -4
  136. package/lib/components/Input/useAmountInput.js +13 -11
  137. package/lib/components/Input/useSyncRef.js +4 -3
  138. package/lib/components/Navigation/Nav.js +3 -3
  139. package/lib/components/Navigation/Navigation.js +10 -7
  140. package/lib/components/Pagination/Pagination.js +4 -3
  141. package/lib/components/Pagination/usePagination.js +7 -6
  142. package/lib/components/Popconfirm/Popconfirm.js +3 -3
  143. package/lib/components/Portal/Portal.js +4 -4
  144. package/lib/components/ProForm/ProForm.js +14 -11
  145. package/lib/components/ProForm/ProFormGroup.js +3 -3
  146. package/lib/components/ProForm/ProFormList.js +10 -9
  147. package/lib/components/ProForm/Submitter.js +4 -4
  148. package/lib/components/ProForm/core/constants.d.ts +6 -0
  149. package/lib/components/ProForm/core/constants.js +8 -2
  150. package/lib/components/ProForm/core/hooks/useForm.js +36 -206
  151. package/lib/components/ProForm/core/hooks/useFormCore.js +32 -160
  152. package/lib/components/ProForm/core/pathUtils.d.ts +6 -0
  153. package/lib/components/ProForm/core/pathUtils.js +68 -0
  154. package/lib/components/ProForm/core/runRules.d.ts +13 -0
  155. package/lib/components/ProForm/core/runRules.js +194 -0
  156. package/lib/components/ProForm/core/useFormItem.js +15 -33
  157. package/lib/components/ProForm/fields/createProFormField.js +42 -56
  158. package/lib/components/ProForm/hooks/useFieldRequest.js +9 -7
  159. package/lib/components/ProForm/layouts/QueryFilter.js +8 -7
  160. package/lib/components/ProForm/layouts/useOverlayForm.js +27 -27
  161. package/lib/components/ProForm/utils.d.ts +2 -2
  162. package/lib/components/ProForm/utils.js +20 -55
  163. package/lib/components/ProTable/ProTable.js +10 -9
  164. package/lib/components/ProTable/core/useAwaitableReload.js +6 -5
  165. package/lib/components/ProTable/useFetchData.js +15 -13
  166. package/lib/components/Radio/Radio.js +6 -5
  167. package/lib/components/Radio/RadioGroup.js +5 -4
  168. package/lib/components/ResizeObserver/useResizeObserver.js +4 -3
  169. package/lib/components/Segment/Segment.js +7 -5
  170. package/lib/components/Select/Select.js +23 -22
  171. package/lib/components/Select/SelectCustom.js +8 -8
  172. package/lib/components/Select/useSelectShell.js +5 -4
  173. package/lib/components/Slider/Slider.js +6 -5
  174. package/lib/components/Switch/Switch.js +5 -4
  175. package/lib/components/Table/Table.js +13 -27
  176. package/lib/components/Table/VirtualTable.js +17 -27
  177. package/lib/components/Table/core/columnUtil.d.ts +9 -0
  178. package/lib/components/Table/core/columnUtil.js +42 -0
  179. package/lib/components/Table/core/useTableColumns.d.ts +4 -13
  180. package/lib/components/Table/core/useTableColumns.js +57 -26
  181. package/lib/components/Table/core/useTableDataPipeline.d.ts +11 -16
  182. package/lib/components/Table/core/useTableDataPipeline.js +73 -80
  183. package/lib/components/Table/core/useTableExpand.js +6 -5
  184. package/lib/components/Table/core/useTableSelection.js +13 -10
  185. package/lib/components/Table/core/useTableSetup.js +8 -5
  186. package/lib/components/Table/features/ExpandTrigger.d.ts +9 -3
  187. package/lib/components/Table/features/ExpandTrigger.js +14 -8
  188. package/lib/components/Table/features/FilterTrigger.js +21 -17
  189. package/lib/components/Table/features/SelectionColumn.d.ts +11 -6
  190. package/lib/components/Table/features/SelectionColumn.js +12 -5
  191. package/lib/components/Table/features/SortTrigger.d.ts +4 -2
  192. package/lib/components/Table/features/SortTrigger.js +8 -3
  193. package/lib/components/Table/internal/kernel/Body/MeasureCell.js +3 -3
  194. package/lib/components/Table/internal/kernel/Cell/index.js +4 -4
  195. package/lib/components/Table/internal/kernel/Table.js +7 -6
  196. package/lib/components/Table/internal/kernel/VirtualTable/index.js +4 -4
  197. package/lib/components/Table/internal/kernel/hooks/useRowInfo.js +3 -3
  198. package/lib/components/Table/internal/kernel/selector-context/context.js +6 -5
  199. package/lib/components/Table/renderers/HeaderCell.js +3 -2
  200. package/lib/components/Table/renderers/TableShell.d.ts +13 -0
  201. package/lib/components/Table/renderers/TableShell.js +31 -0
  202. package/lib/components/Table/style/Table.css +3 -0
  203. package/lib/components/Tabs/Tabs.js +7 -5
  204. package/lib/components/Tooltip/Tooltip.js +5 -4
  205. package/lib/components/Tour/Tour.js +7 -6
  206. package/lib/components/Trigger/Trigger.js +5 -4
  207. package/lib/components/Typography/Typography.js +5 -4
  208. package/lib/components/Typography/useTypographyEnhancements.js +8 -7
  209. package/lib/components/Upload/Upload.js +5 -4
  210. package/lib/components/Upload/UploadFileBar.js +4 -3
  211. package/lib/components/VirtualList/VirtualList.js +8 -7
  212. package/lib/components/VirtualList/hooks/useMobileTouchMove.js +4 -3
  213. package/lib/components/VirtualList/hooks/useScrollTo.js +3 -3
  214. package/lib/index.css +1 -1
  215. package/lib/index.d.ts +1 -1
  216. package/lib/index.js +1 -1
  217. package/package.json +2 -2
  218. package/scripts/mcp-server/examples.generated.json +12 -6
  219. package/scripts/mcp-server/index.generated.json +45 -3
@@ -8,7 +8,9 @@ exports.useFetchData = useFetchData;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _react = require("react");
11
- var _hooks = require("@1money/hooks");
11
+ var _useLatest = _interopRequireDefault(require("@1money/hooks/useLatest"));
12
+ var _useMemoizedFn = _interopRequireDefault(require("@1money/hooks/useMemoizedFn"));
13
+ var _useSafeState7 = _interopRequireDefault(require("@1money/hooks/useSafeState"));
12
14
  var _useAwaitableReload = require("./core/useAwaitableReload");
13
15
  var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
14
16
  function adopt(value) {
@@ -68,15 +70,15 @@ function useFetchData(options) {
68
70
  onLoad = options.onLoad,
69
71
  onLoadingChange = options.onLoadingChange,
70
72
  onRequestError = options.onRequestError;
71
- var _useSafeState = (0, _hooks.useSafeState)(defaultData !== null && defaultData !== void 0 ? defaultData : []),
73
+ var _useSafeState = (0, _useSafeState7["default"])(defaultData !== null && defaultData !== void 0 ? defaultData : []),
72
74
  _useSafeState2 = (0, _slicedToArray2["default"])(_useSafeState, 2),
73
75
  dataSource = _useSafeState2[0],
74
76
  setDataSource = _useSafeState2[1];
75
- var _useSafeState3 = (0, _hooks.useSafeState)(false),
77
+ var _useSafeState3 = (0, _useSafeState7["default"])(false),
76
78
  _useSafeState4 = (0, _slicedToArray2["default"])(_useSafeState3, 2),
77
79
  loading = _useSafeState4[0],
78
80
  setLoadingState = _useSafeState4[1];
79
- var _useSafeState5 = (0, _hooks.useSafeState)({
81
+ var _useSafeState5 = (0, _useSafeState7["default"])({
80
82
  current: defaultCurrent,
81
83
  pageSize: defaultPageSize,
82
84
  total: 0
@@ -85,14 +87,14 @@ function useFetchData(options) {
85
87
  pageInfo = _useSafeState6[0],
86
88
  setPageInfoState = _useSafeState6[1];
87
89
  var reloadSignal = (0, _useAwaitableReload.useAwaitableReload)();
88
- var reqRef = (0, _hooks.useLatest)(request);
89
- var callbacks = (0, _hooks.useLatest)({
90
+ var reqRef = (0, _useLatest["default"])(request);
91
+ var callbacks = (0, _useLatest["default"])({
90
92
  onLoad: onLoad,
91
93
  onLoadingChange: onLoadingChange,
92
94
  onRequestError: onRequestError,
93
95
  postData: postData
94
96
  });
95
- var loadingRef = (0, _hooks.useLatest)(loading);
97
+ var loadingRef = (0, _useLatest["default"])(loading);
96
98
  var requestIdRef = (0, _react.useRef)(0);
97
99
  var abortRef = (0, _react.useRef)(null);
98
100
  var skipFirstRef = (0, _react.useRef)(manualRequest === true);
@@ -101,12 +103,12 @@ function useFetchData(options) {
101
103
  // Set right before a polling-triggered refetch so it can refresh silently
102
104
  // (without flashing the main loading overlay). Consumed at the start of runRequest.
103
105
  var silentRef = (0, _react.useRef)(false);
104
- var setLoading = (0, _hooks.useMemoizedFn)(function (next) {
106
+ var setLoading = (0, _useMemoizedFn["default"])(function (next) {
105
107
  var _a, _b;
106
108
  setLoadingState(next);
107
109
  (_b = (_a = callbacks.current).onLoadingChange) === null || _b === void 0 ? void 0 : _b.call(_a, next);
108
110
  });
109
- var setPageInfo = (0, _hooks.useMemoizedFn)(function (info) {
111
+ var setPageInfo = (0, _useMemoizedFn["default"])(function (info) {
110
112
  setPageInfoState(function (prev) {
111
113
  var merged = Object.assign(Object.assign({}, prev), info);
112
114
  if (merged.current === prev.current && merged.pageSize === prev.pageSize && merged.total === prev.total) {
@@ -117,7 +119,7 @@ function useFetchData(options) {
117
119
  });
118
120
  // The single network entry point: abort the previous request, then apply data
119
121
  // while guarding against stale / aborted responses.
120
- var runRequest = (0, _hooks.useMemoizedFn)(function (merged, st, ft) {
122
+ var runRequest = (0, _useMemoizedFn["default"])(function (merged, st, ft) {
121
123
  return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
122
124
  var _a, _b, _c, _d, _e, _f, req, silent, abort, requestId, result, raw, next, _t;
123
125
  return _regenerator["default"].wrap(function (_context) {
@@ -234,10 +236,10 @@ function useFetchData(options) {
234
236
  }
235
237
  void fire();
236
238
  }, [paramsKey, searchParams, sort, filter, pageInfo.current, pageInfo.pageSize, reloadSignal.token, manual]);
237
- var reload = (0, _hooks.useMemoizedFn)(function () {
239
+ var reload = (0, _useMemoizedFn["default"])(function () {
238
240
  return manual ? Promise.resolve() : reloadSignal.request();
239
241
  });
240
- var reset = (0, _hooks.useMemoizedFn)(function () {
242
+ var reset = (0, _useMemoizedFn["default"])(function () {
241
243
  setPageInfoState(function (prev) {
242
244
  return Object.assign(Object.assign({}, prev), {
243
245
  current: defaultCurrent,
@@ -274,4 +276,4 @@ function useFetchData(options) {
274
276
  reset: reset
275
277
  };
276
278
  }
277
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvVGFibGUvdXNlRmV0Y2hEYXRhLnRzIiwiY29tcG9uZW50cy9Qcm9UYWJsZS91c2VGZXRjaERhdGEuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl9ob29rcyIsIl91c2VBd2FpdGFibGVSZWxvYWQiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJ1c2VGZXRjaERhdGEiLCJvcHRpb25zIiwiX3RoaXMiLCJyZXF1ZXN0IiwibWFudWFsIiwibWFudWFsUmVxdWVzdCIsImRlYm91bmNlVGltZSIsInBvc3REYXRhIiwicG9sbGluZyIsInBhcmFtcyIsImRlZmF1bHREYXRhIiwicGFnaW5hdGVkIiwiZGVmYXVsdEN1cnJlbnQiLCJkZWZhdWx0UGFnZVNpemUiLCJzZWFyY2hQYXJhbXMiLCJzb3J0IiwiZmlsdGVyIiwib25Mb2FkIiwib25Mb2FkaW5nQ2hhbmdlIiwib25SZXF1ZXN0RXJyb3IiLCJfdXNlU2FmZVN0YXRlIiwidXNlU2FmZVN0YXRlIiwiX3VzZVNhZmVTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkYXRhU291cmNlIiwic2V0RGF0YVNvdXJjZSIsIl91c2VTYWZlU3RhdGUzIiwiX3VzZVNhZmVTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZ1N0YXRlIiwiX3VzZVNhZmVTdGF0ZTUiLCJjdXJyZW50IiwicGFnZVNpemUiLCJ0b3RhbCIsIl91c2VTYWZlU3RhdGU2IiwicGFnZUluZm8iLCJzZXRQYWdlSW5mb1N0YXRlIiwicmVsb2FkU2lnbmFsIiwidXNlQXdhaXRhYmxlUmVsb2FkIiwicmVxUmVmIiwidXNlTGF0ZXN0IiwiY2FsbGJhY2tzIiwibG9hZGluZ1JlZiIsInJlcXVlc3RJZFJlZiIsInVzZVJlZiIsImFib3J0UmVmIiwic2tpcEZpcnN0UmVmIiwicHJldlBhcmFtc1JlZiIsInVuZGVmaW5lZCIsImRlYm91bmNlVGltZXJSZWYiLCJzaWxlbnRSZWYiLCJzZXRMb2FkaW5nIiwidXNlTWVtb2l6ZWRGbiIsIl9hIiwiX2IiLCJjYWxsIiwic2V0UGFnZUluZm8iLCJpbmZvIiwicHJldiIsIm1lcmdlZCIsIk9iamVjdCIsImFzc2lnbiIsInJ1blJlcXVlc3QiLCJzdCIsImZ0IiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJfYyIsIl9kIiwiX2UiLCJfZiIsInJlcSIsInNpbGVudCIsImFib3J0IiwicmVxdWVzdElkIiwicmF3IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJhYnJ1cHQiLCJBYm9ydENvbnRyb2xsZXIiLCJzaWduYWwiLCJzZW50IiwiYWJvcnRlZCIsInN1Y2Nlc3MiLCJkYXRhIiwibGVuZ3RoIiwiZmluaXNoIiwic3RvcCIsImJ1aWxkTWVyZ2VkIiwicGFyYW1zS2V5IiwiSlNPTiIsInN0cmluZ2lmeSIsInVzZUVmZmVjdCIsInNldHRsZSIsImZpcmUiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwidG9rZW4iLCJyZWxvYWQiLCJyZXNldCIsInBvbGxpbmdNcyIsImlkIiwic2V0SW50ZXJ2YWwiLCJjbGVhckludGVydmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxtQkFBQSxHQUFBRixPQUFBO0FDSEEsSUFBSUcsU0FBUyxHQUFJLFVBQVEsU0FBS0EsU0FBUyxJQUFLLFVBQVVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxDQUFDLEVBQUVDLFNBQVMsRUFBRTtFQUNyRixTQUFTQyxLQUFLQSxDQUFDQyxLQUFLLEVBQUU7SUFBRSxPQUFPQSxLQUFLLFlBQVlILENBQUMsR0FBR0csS0FBSyxHQUFHLElBQUlILENBQUMsQ0FBQyxVQUFVSSxPQUFPLEVBQUU7TUFBRUEsT0FBTyxDQUFDRCxLQUFLLENBQUM7SUFBRSxDQUFDLENBQUM7RUFBRTtFQUMzRyxPQUFPLEtBQUtILENBQUMsS0FBS0EsQ0FBQyxHQUFHSyxPQUFPLENBQUMsRUFBRSxVQUFVRCxPQUFPLEVBQUVFLE1BQU0sRUFBRTtJQUN2RCxTQUFTQyxTQUFTQSxDQUFDSixLQUFLLEVBQUU7TUFBRSxJQUFJO1FBQUVLLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxJQUFJLENBQUNOLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDMUYsU0FBU0MsUUFBUUEsQ0FBQ1IsS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQ0UsS0FBSyxDQUFDLENBQUM7TUFBRSxDQUFDLENBQUMsT0FBT08sQ0FBQyxFQUFFO1FBQUVKLE1BQU0sQ0FBQ0ksQ0FBQyxDQUFDO01BQUU7SUFBRTtJQUM3RixTQUFTRixJQUFJQSxDQUFDSSxNQUFNLEVBQUU7TUFBRUEsTUFBTSxDQUFDQyxJQUFJLEdBQUdULE9BQU8sQ0FBQ1EsTUFBTSxDQUFDVCxLQUFLLENBQUMsR0FBR0QsS0FBSyxDQUFDVSxNQUFNLENBQUNULEtBQUssQ0FBQyxDQUFDVyxJQUFJLENBQUNQLFNBQVMsRUFBRUksUUFBUSxDQUFDO0lBQUU7SUFDN0dILElBQUksQ0FBQyxDQUFDUCxTQUFTLEdBQUdBLFNBQVMsQ0FBQ2MsS0FBSyxDQUFDakIsT0FBTyxFQUFFQyxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUVVLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDekUsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBRHlDRDtBQ3BDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEc0NNLFNBQVVPLFlBQVlBLENBQzFCQyxPQUF1QyxFQUFBO0VBQUEsSUFBQUMsS0FBQTtFQUV2QyxJQUNFQyxPQUFPLEdBaUJMRixPQUFPLENBakJURSxPQUFPO0lBQ1BDLE1BQU0sR0FnQkpILE9BQU8sQ0FoQlRHLE1BQU07SUFDTkMsYUFBYSxHQWVYSixPQUFPLENBZlRJLGFBQWE7SUFDYkMsWUFBWSxHQWNWTCxPQUFPLENBZFRLLFlBQVk7SUFDWkMsUUFBUSxHQWFOTixPQUFPLENBYlRNLFFBQVE7SUFDUkMsT0FBTyxHQVlMUCxPQUFPLENBWlRPLE9BQU87SUFDUEMsTUFBTSxHQVdKUixPQUFPLENBWFRRLE1BQU07SUFDTkMsV0FBVyxHQVVUVCxPQUFPLENBVlRTLFdBQVc7SUFDWEMsU0FBUyxHQVNQVixPQUFPLENBVFRVLFNBQVM7SUFDVEMsY0FBYyxHQVFaWCxPQUFPLENBUlRXLGNBQWM7SUFDZEMsZUFBZSxHQU9iWixPQUFPLENBUFRZLGVBQWU7SUFDZkMsWUFBWSxHQU1WYixPQUFPLENBTlRhLFlBQVk7SUFDWkMsSUFBSSxHQUtGZCxPQUFPLENBTFRjLElBQUk7SUFDSkMsTUFBTSxHQUlKZixPQUFPLENBSlRlLE1BQU07SUFDTkMsTUFBTSxHQUdKaEIsT0FBTyxDQUhUZ0IsTUFBTTtJQUNOQyxlQUFlLEdBRWJqQixPQUFPLENBRlRpQixlQUFlO0lBQ2ZDLGNBQWMsR0FDWmxCLE9BQU8sQ0FEVGtCLGNBQWM7RUFHaEIsSUFBQUMsYUFBQSxHQUFvQyxJQUFBQyxtQkFBWSxFQUFNWCxXQUFXLEtBQUEsSUFBQSxJQUFYQSxXQUFXLEtBQUEsS0FBQSxDQUFBLEdBQVhBLFdBQVcsR0FBSSxFQUFFLENBQUM7SUFBQVksY0FBQSxPQUFBQyxlQUFBLGFBQUFILGFBQUE7SUFBakVJLFVBQVUsR0FBQUYsY0FBQTtJQUFFRyxhQUFhLEdBQUFILGNBQUE7RUFDaEMsSUFBQUksY0FBQSxHQUFtQyxJQUFBTCxtQkFBWSxFQUFDLEtBQUssQ0FBQztJQUFBTSxjQUFBLE9BQUFKLGVBQUEsYUFBQUcsY0FBQTtJQUEvQ0UsT0FBTyxHQUFBRCxjQUFBO0lBQUVFLGVBQWUsR0FBQUYsY0FBQTtFQUMvQixJQUFBRyxjQUFBLEdBQXFDLElBQUFULG1CQUFZLEVBQVc7TUFDMURVLE9BQU8sRUFBRW5CLGNBQWM7TUFDdkJvQixRQUFRLEVBQUVuQixlQUFlO01BQ3pCb0IsS0FBSyxFQUFFO0lDekRQLENEMERELENBQUM7SUFBQUMsY0FBQSxPQUFBWCxlQUFBLGFBQUFPLGNBQUE7SUFKS0ssUUFBUSxHQUFBRCxjQUFBO0lBQUVFLGdCQUFnQixHQUFBRixjQUFBO0VBTWpDLElBQU1HLFlBQVksR0FBRyxJQUFBQyxzQ0FBa0IsRUFBQSxDQUFFO0VBRXpDLElBQU1DLE1BQU0sR0FBRyxJQUFBQyxnQkFBUyxFQUFDckMsT0FBTyxDQUFDO0VBQ2pDLElBQU1zQyxTQUFTLEdBQUcsSUFBQUQsZ0JBQVMsRUFBQztJQUFFdkIsTUFBTSxFQUFOQSxNQUFNO0lBQUVDLGVBQWUsRUFBZkEsZUFBZTtJQUFFQyxjQUFjLEVBQWRBLGNBQWM7SUFBRVosUUFBUSxFQUFSQTtFQUFRLENBQUUsQ0FBQztFQUNsRixJQUFNbUMsVUFBVSxHQUFHLElBQUFGLGdCQUFTLEVBQUNaLE9BQU8sQ0FBQztFQUVyQyxJQUFNZSxZQUFZLEdBQUcsSUFBQUMsYUFBTSxFQUFDLENBQUMsQ0FBQztFQUM5QixJQUFNQyxRQUFRLEdBQUcsSUFBQUQsYUFBTSxFQUF5QixJQUFJLENBQUM7RUFDckQsSUFBTUUsWUFBWSxHQUFHLElBQUFGLGFBQU0sRUFBVXZDLGFBQWEsS0FBSyxJQUFJLENBQUM7RUFDNUQsSUFBTTBDLGFBQWEsR0FBRyxJQUFBSCxhQUFNLEVBQXFCSSxTQUFTLENBQUM7RUFDM0QsSUFBTUMsZ0JBQWdCLEdBQUcsSUFBQUwsYUFBTSxFQUE0Q0ksU0FBUyxDQUFDO0VBQ3JGO0VBQ0E7RUFDQSxJQUFNRSxTQUFTLEdBQUcsSUFBQU4sYUFBTSxFQUFDLEtBQUssQ0FBQztFQUUvQixJQUFNTyxVQUFVLEdBQUcsSUFBQUMsb0JBQWEsRUFBQyxVQUFDM0QsSUFBYSxFQUFJO0lDN0Q3QyxJQUFJNEQsRUFBRSxFQUFFQyxFQUFFO0lEOERkekIsZUFBZSxDQUFDcEMsSUFBSSxDQUFDO0lBQ3JCLENBQUE2RCxFQUFBLEdBQUEsQ0FBQUQsRUFBQSxHQUFBWixTQUFTLENBQUNWLE9BQU8sRUFBQ2IsZUFBZSxNQUFBLElBQUEsSUFBQW9DLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFBQyxJQUFBLENBQUFGLEVBQUEsRUFBRzVELElBQUksQ0FBQztFQUMzQyxDQUFDLENBQUM7RUFFRixJQUFNK0QsV0FBVyxHQUFHLElBQUFKLG9CQUFhLEVBQUMsVUFBQ0ssSUFBdUIsRUFBSTtJQUM1RHJCLGdCQUFnQixDQUFDLFVBQUNzQixJQUFJLEVBQUk7TUFDeEIsSUFBTUMsTUFBTSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUQsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQVFILElBQUksQ0FBQSxFQUFLRCxJQUFJLENBQUU7TUFDbkMsSUFBSUUsTUFBTSxDQUFDNUIsT0FBTyxLQUFLMkIsSUFBSSxDQUFDM0IsT0FBTyxJQUFJNEIsTUFBTSxDQUFDM0IsUUFBUSxLQUFLMEIsSUFBSSxDQUFDMUIsUUFBUSxJQUFJMkIsTUFBTSxDQUFDMUIsS0FBSyxLQUFLeUIsSUFBSSxDQUFDekIsS0FBSyxFQUFFO1FBQ3ZHLE9BQU95QixJQUFJO01BQ2I7TUFDQSxPQUFPQyxNQUFNO0lBQ2YsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUY7RUFDQTtFQUNBLElBQU1HLFVBQVUsR0FBRyxJQUFBVixvQkFBYSxFQUM5QixVQUFPTyxNQUE0QixFQUFFSSxFQUFxQixFQUFFQyxFQUF1QjtJQUFBLE9BQUluRixTQUFBLENBQUFxQixLQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLGVBQUErRCxZQUFBLFlBQUFDLElBQUEsQ0FBQSxTQUFBQyxRQUFBO01BQUEsSUFBQWQsRUFBQSxFQUFBQyxFQUFBLEVBQUFjLEVBQUEsRUFBQUMsRUFBQSxFQUFBQyxFQUFBLEVBQUFDLEVBQUEsRUFBQUMsR0FBQSxFQUFBQyxNQUFBLEVBQUFDLEtBQUEsRUFBQUMsU0FBQSxFQUFBL0UsTUFBQSxFQUFBZ0YsR0FBQSxFQUFBbkYsSUFBQSxFQUFBb0YsRUFBQTtNQUFBLE9BQUFaLFlBQUEsWUFBQWEsSUFBQSxXQUFBQyxRQUFBO1FBQUEsa0JBQUFBLFFBQUEsQ0FBQXJCLElBQUEsR0FBQXFCLFFBQUEsQ0FBQXRGLElBQUE7VUFBQTtZQUMvRStFLEdBQUcsR0FBR2pDLE1BQU0sQ0FBQ1IsT0FBTztZQUFBLElBQ3JCeUMsR0FBRztjQUFBTyxRQUFBLENBQUF0RixJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFzRixRQUFBLENBQUFDLE1BQUE7VUFBQTtZQUVSO1lBQ01QLE1BQU0sR0FBR3ZCLFNBQVMsQ0FBQ25CLE9BQU87WUFDaENtQixTQUFTLENBQUNuQixPQUFPLEdBQUcsS0FBSztZQUV6QixDQUFBc0IsRUFBQSxHQUFBUixRQUFRLENBQUNkLE9BQU8sTUFBQSxJQUFBLElBQUFzQixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXFCLEtBQUssQ0FBQSxDQUFFO1lBQ25CQSxLQUFLLEdBQUcsSUFBSU8sZUFBZSxDQUFBLENBQUU7WUFDbkNwQyxRQUFRLENBQUNkLE9BQU8sR0FBRzJDLEtBQUs7WUFDbEJDLFNBQVMsR0FBRyxFQUFFaEMsWUFBWSxDQUFDWixPQUFPO1lBRXhDLElBQUksQ0FBQzBDLE1BQU0sRUFBRXRCLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFBQzRCLFFBQUEsQ0FBQXJCLElBQUE7WUFBQXFCLFFBQUEsQ0FBQXRGLElBQUE7WUFFYixPQUFNK0UsR0FBRyxDQUFDYixNQUFNLEVBQUVJLEVBQUUsRUFBRUMsRUFBRSxFQUFFO2NBQUVrQixNQUFNLEVBQUVSLEtBQUssQ0FBQ1E7WUFBTSxDQUFFLENBQUM7VUFBQTtZQUE1RHRGLE1BQU0sR0FBQW1GLFFBQUEsQ0FBQUksSUFBQTtZQUFBLE1BQ1JULEtBQUssQ0FBQ1EsTUFBTSxDQUFDRSxPQUFPLElBQUlULFNBQVMsS0FBS2hDLFlBQVksQ0FBQ1osT0FBTztjQUFBZ0QsUUFBQSxDQUFBdEYsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBc0YsUUFBQSxDQUFBQyxNQUFBO1VBQUE7WUFBQSxNQUMxRHBGLE1BQU0sQ0FBQ3lGLE9BQU8sS0FBSyxLQUFLO2NBQUFOLFFBQUEsQ0FBQXRGLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQXNGLFFBQUEsQ0FBQUMsTUFBQTtVQUFBO1lBRXRCSixHQUFHLEdBQUcsQ0FBQXRCLEVBQUEsR0FBQTFELE1BQU0sQ0FBQzBGLElBQUksTUFBQSxJQUFBLElBQUFoQyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxFQUFFO1lBQ3ZCN0QsSUFBSSxHQUFHZ0QsU0FBUyxDQUFDVixPQUFPLENBQUN4QixRQUFRLEdBQUdrQyxTQUFTLENBQUNWLE9BQU8sQ0FBQ3hCLFFBQVEsQ0FBQ3FFLEdBQUcsQ0FBQyxHQUFHQSxHQUFHO1lBQy9FbkQsYUFBYSxDQUFDaEMsSUFBSSxDQUFDO1lBQ25CMkMsZ0JBQWdCLENBQUMsVUFBQ3NCLElBQUksRUFBSTtjQUFBLElBQUFMLEVBQUE7Y0FBQyxPQUFBTyxNQUFBLENBQUFDLE1BQUEsQ0FBQUQsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQU1ILElBQUksQ0FBQSxFQUFBO2dCQUFFekIsS0FBSyxFQUFFLENBQUFvQixFQUFBLEdBQUF6RCxNQUFNLENBQUNxQyxLQUFLLE1BQUEsSUFBQSxJQUFBb0IsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUk1RCxJQUFJLENBQUM4RjtjQUFNLENBQUEsQ0FBQTtZQUFHLENBQUEsQ0FBQztZQUM3RSxDQUFBbEIsRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQTNCLFNBQVMsQ0FBQ1YsT0FBTyxFQUFDZCxNQUFNLE1BQUEsSUFBQSxJQUFBb0QsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUFkLElBQUEsQ0FBQWEsRUFBQSxFQUFHM0UsSUFBSSxDQUFDO1lBQUNzRixRQUFBLENBQUF0RixJQUFBO1lBQUE7VUFBQTtZQUFBc0YsUUFBQSxDQUFBckIsSUFBQTtZQUFBbUIsRUFBQSxHQUFBRSxRQUFBO1lBQUEsTUFFN0JMLEtBQUssQ0FBQ1EsTUFBTSxDQUFDRSxPQUFPLElBQUlULFNBQVMsS0FBS2hDLFlBQVksQ0FBQ1osT0FBTztjQUFBZ0QsUUFBQSxDQUFBdEYsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBc0YsUUFBQSxDQUFBQyxNQUFBO1VBQUE7WUFDOUQsQ0FBQVQsRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQTdCLFNBQVMsQ0FBQ1YsT0FBTyxFQUFDWixjQUFjLE1BQUEsSUFBQSxJQUFBb0QsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUFoQixJQUFBLENBQUFlLEVBQUEsRUFBQU8sRUFBaUIsQ0FBQztVQUFDO1lBQUFFLFFBQUEsQ0FBQXJCLElBQUE7WUFFbkQsSUFBSSxDQUFDZSxNQUFNLElBQUlFLFNBQVMsS0FBS2hDLFlBQVksQ0FBQ1osT0FBTyxFQUFFb0IsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUFDLE9BQUE0QixRQUFBLENBQUFTLE1BQUE7VUFBQTtVQUFBO1lBQUEsT0FBQVQsUUFBQSxDQUFBVSxJQUFBO1FBQUE7TUFBQSxHQUFBdEIsT0FBQTtJQUFBLENBRXhFLEVBQUE7RUFBQSxFQUNGO0VBRUQ7RUFDQSxJQUFNdUIsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUE7SUFBQSxPQUNmOUIsTUFBQSxDQUFBQyxNQUFBLENBQUFELE1BQUEsQ0FBQUMsTUFBQSxDQUFBRCxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDTXBELE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxHQUFJLENBQUEsQ0FBRyxDQUFBLEVBQ2RLLFlBQVksQ0FBQSxFQUNYSCxTQUFTLEdBQUc7TUFBRW9CLE9BQU8sRUFBRUksUUFBUSxDQUFDSixPQUFPO01BQUVDLFFBQVEsRUFBRUcsUUFBUSxDQUFDSDtJQUFRLENBQUUsR0FBRyxDQUFBLENBQUcsQ0FBQTtFQUFBLENBQ3hEO0VBRTVCO0VBQ0E7RUFDQSxJQUFNMkQsU0FBUyxHQUFHQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ3BGLE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxHQUFJLElBQUksQ0FBQztFQUVoRCxJQUFBcUYsZ0JBQVMsRUFBQyxZQUFLO0lBQ2IsSUFBSTFGLE1BQU0sRUFBRTtNQUNWaUMsWUFBWSxDQUFDMEQsTUFBTSxDQUFBLENBQUU7TUFDckI7SUFDRjtJQUVBO0lBQ0EsSUFBSWpELFlBQVksQ0FBQ2YsT0FBTyxFQUFFO01BQ3hCZSxZQUFZLENBQUNmLE9BQU8sR0FBRyxLQUFLO01BQzVCZ0IsYUFBYSxDQUFDaEIsT0FBTyxHQUFHNEQsU0FBUztNQUNqQ3RELFlBQVksQ0FBQzBELE1BQU0sQ0FBQSxDQUFFO01BQ3JCO0lBQ0Y7SUFFQTtJQUNBO0lBQ0EsSUFBSWhELGFBQWEsQ0FBQ2hCLE9BQU8sS0FBSzRELFNBQVMsSUFBSXhELFFBQVEsQ0FBQ0osT0FBTyxLQUFLbkIsY0FBYyxFQUFFO01BQzlFbUMsYUFBYSxDQUFDaEIsT0FBTyxHQUFHNEQsU0FBUztNQUNqQ25DLFdBQVcsQ0FBQztRQUFFekIsT0FBTyxFQUFFbkI7TUFBYyxDQUFFLENBQUM7TUFDeEM7SUFDRjtJQUNBbUMsYUFBYSxDQUFDaEIsT0FBTyxHQUFHNEQsU0FBUztJQUVqQyxJQUFNSyxJQUFJLEdBQUcsU0FBUEEsSUFBSUEsQ0FBQTtNQUFBLE9BQVNsQyxVQUFVLENBQUM0QixXQUFXLENBQUEsQ0FBRSxFQUFFM0UsSUFBSSxFQUFFQyxNQUFNLENBQUMsV0FBUSxDQUFDcUIsWUFBWSxDQUFDMEQsTUFBTSxDQUFDO0lBQUE7SUFDdkYsSUFBSXpGLFlBQVksSUFBSUEsWUFBWSxHQUFHLENBQUMsRUFBRTtNQUNwQyxJQUFJMkMsZ0JBQWdCLENBQUNsQixPQUFPLEVBQUVrRSxZQUFZLENBQUNoRCxnQkFBZ0IsQ0FBQ2xCLE9BQU8sQ0FBQztNQUNwRWtCLGdCQUFnQixDQUFDbEIsT0FBTyxHQUFHbUUsVUFBVSxDQUFDRixJQUFJLEVBQUUxRixZQUFZLENBQUM7TUFDekQsT0FBTyxZQUFLO1FBQ1YsSUFBSTJDLGdCQUFnQixDQUFDbEIsT0FBTyxFQUFFa0UsWUFBWSxDQUFDaEQsZ0JBQWdCLENBQUNsQixPQUFPLENBQUM7TUFDdEUsQ0FBQztJQUNIO0lBQ0EsS0FBS2lFLElBQUksQ0FBQSxDQUFFO0VBQ2IsQ0FBQyxFQUFFLENBQUNMLFNBQVMsRUFBRTdFLFlBQVksRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVtQixRQUFRLENBQUNKLE9BQU8sRUFBRUksUUFBUSxDQUFDSCxRQUFRLEVBQUVLLFlBQVksQ0FBQzhELEtBQUssRUFBRS9GLE1BQU0sQ0FBQyxDQUFDO0VBRTVHLElBQU1nRyxNQUFNLEdBQUcsSUFBQWhELG9CQUFhLEVBQUM7SUFBQSxPQUFzQmhELE1BQU0sR0FBR2YsT0FBTyxDQUFDRCxPQUFPLENBQUEsQ0FBRSxHQUFHaUQsWUFBWSxDQUFDbEMsT0FBTyxDQUFBLENBQUU7RUFBQSxDQUFDLENBQUM7RUFFeEcsSUFBTWtHLEtBQUssR0FBRyxJQUFBakQsb0JBQWEsRUFBQyxZQUFLO0lBQy9CaEIsZ0JBQWdCLENBQUMsVUFBQ3NCLElBQUk7TUFBQSxPQUFLRSxNQUFBLENBQUFDLE1BQUEsQ0FBQUQsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQU1ILElBQUksQ0FBQSxFQUFBO1FBQUUzQixPQUFPLEVBQUVuQixjQUFjO1FBQUVvQixRQUFRLEVBQUVuQjtNQUFlLENBQUEsQ0FBQTtJQUFBLENBQUcsQ0FBQztFQUMvRixDQUFDLENBQUM7RUFFRjtFQUNBLElBQU15RixTQUFTLEdBQUcsT0FBTzlGLE9BQU8sS0FBSyxVQUFVLEdBQUdBLE9BQU8sQ0FBQ2dCLFVBQVUsQ0FBQyxHQUFHaEIsT0FBTztFQUMvRSxJQUFBc0YsZ0JBQVMsRUFBQyxZQUFLO0lBQ2IsSUFBSTFGLE1BQU0sSUFBSSxDQUFDa0csU0FBUyxJQUFJQSxTQUFTLElBQUksQ0FBQyxFQUFFO0lBQzVDLElBQU1DLEVBQUUsR0FBR0MsV0FBVyxDQUFDLFlBQUs7TUFDMUIsSUFBSTlELFVBQVUsQ0FBQ1gsT0FBTyxFQUFFO01BQ3hCbUIsU0FBUyxDQUFDbkIsT0FBTyxHQUFHLElBQUk7TUFDeEIsS0FBS00sWUFBWSxDQUFDbEMsT0FBTyxDQUFBLENBQUU7SUFDN0IsQ0FBQyxFQUFFbUcsU0FBUyxDQUFDO0lBQ2IsT0FBTztNQUFBLE9BQU1HLGFBQWEsQ0FBQ0YsRUFBRSxDQUFDO0lBQUE7RUFDaEMsQ0FBQyxFQUFFLENBQUNELFNBQVMsRUFBRWxHLE1BQU0sQ0FBQyxDQUFDO0VBRXZCO0VBQ0EsSUFBQTBGLGdCQUFTLEVBQUM7SUFBQSxPQUFNLFlBQUs7TUFBQSxJQUFBekMsRUFBQTtNQUFDLE9BQUEsQ0FBQUEsRUFBQSxHQUFBUixRQUFRLENBQUNkLE9BQU8sTUFBQSxJQUFBLElBQUFzQixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXFCLEtBQUssQ0FBQSxDQUFFO0lBQUEsQ0FBQTtFQUFBLEdBQUUsRUFBRSxDQUFDO0VBRXBELE9BQU87SUFBRWxELFVBQVUsRUFBVkEsVUFBVTtJQUFFSSxPQUFPLEVBQVBBLE9BQU87SUFBRU8sUUFBUSxFQUFSQSxRQUFRO0lBQUVxQixXQUFXLEVBQVhBLFdBQVc7SUFBRTRDLE1BQU0sRUFBTkEsTUFBTTtJQUFFQyxLQUFLLEVBQUxBO0VBQUssQ0FBRTtBQUN0RSIsImZpbGUiOiJjb21wb25lbnRzL1Byb1RhYmxlL3VzZUZldGNoRGF0YS5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUxhdGVzdCwgdXNlTWVtb2l6ZWRGbiwgdXNlU2FmZVN0YXRlIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyB1c2VBd2FpdGFibGVSZWxvYWQgfSBmcm9tICcuL2NvcmUvdXNlQXdhaXRhYmxlUmVsb2FkJztcbi8qKlxuICogT3ducyB0aGUgcmVxdWVzdCBsaWZlY3ljbGUgZm9yIFByb1RhYmxlOiBkYXRhLCBsb2FkaW5nLCBhbmQgcGFnaW5hdGlvbi5cbiAqXG4gKiBPbmUgZWZmZWN0IGlzIHRoZSBzaW5nbGUgZmV0Y2ggcGF0aC4gSXQgcmVhZHMgaXRzIHF1ZXJ5IGlucHV0cyBmcm9tIHRoZVxuICogKipyZW5kZXIgY2xvc3VyZSoqIChuZXZlciBhIGxhZ2dpbmcgcmVmKSwgc28gZXZlcnkgc3RhdGUgY2hhbmdlIOKAlCBzZWFyY2gsXG4gKiBzb3J0LCBmaWx0ZXIsIHBhcmFtcywgcGFnZSDigJQgcmVmZXRjaGVzIHdpdGggY29ycmVjdCB2YWx1ZXMuIEFuIGF3YWl0YWJsZVxuICogcmVsb2FkIHNpZ25hbCBsZXRzIGltcGVyYXRpdmUgY2FsbGVycyBmb3JjZSB0aGUgc2FtZSBlZmZlY3QgYW5kIGBhd2FpdGAgaXQuXG4gKlxuICogYHJ1blJlcXVlc3RgIGFib3J0cyB0aGUgcHJldmlvdXMgaW4tZmxpZ2h0IHJlcXVlc3QgKGBBYm9ydENvbnRyb2xsZXJgLCBleHBvc2VkXG4gKiB0byBgcmVxdWVzdGAgYXMgYHsgc2lnbmFsIH1gKSwgdGFncyBpdHNlbGYgd2l0aCBhIHJlcXVlc3QgaWQsIGFuZCBkcm9wcyBzdGFsZVxuICogb3IgYWJvcnRlZCByZXNwb25zZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VGZXRjaERhdGEob3B0aW9ucykge1xuICAgIGNvbnN0IHsgcmVxdWVzdCwgbWFudWFsLCBtYW51YWxSZXF1ZXN0LCBkZWJvdW5jZVRpbWUsIHBvc3REYXRhLCBwb2xsaW5nLCBwYXJhbXMsIGRlZmF1bHREYXRhLCBwYWdpbmF0ZWQsIGRlZmF1bHRDdXJyZW50LCBkZWZhdWx0UGFnZVNpemUsIHNlYXJjaFBhcmFtcywgc29ydCwgZmlsdGVyLCBvbkxvYWQsIG9uTG9hZGluZ0NoYW5nZSwgb25SZXF1ZXN0RXJyb3IsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IFtkYXRhU291cmNlLCBzZXREYXRhU291cmNlXSA9IHVzZVNhZmVTdGF0ZShkZWZhdWx0RGF0YSAhPT0gbnVsbCAmJiBkZWZhdWx0RGF0YSAhPT0gdm9pZCAwID8gZGVmYXVsdERhdGEgOiBbXSk7XG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmdTdGF0ZV0gPSB1c2VTYWZlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtwYWdlSW5mbywgc2V0UGFnZUluZm9TdGF0ZV0gPSB1c2VTYWZlU3RhdGUoe1xuICAgICAgICBjdXJyZW50OiBkZWZhdWx0Q3VycmVudCxcbiAgICAgICAgcGFnZVNpemU6IGRlZmF1bHRQYWdlU2l6ZSxcbiAgICAgICAgdG90YWw6IDAsXG4gICAgfSk7XG4gICAgY29uc3QgcmVsb2FkU2lnbmFsID0gdXNlQXdhaXRhYmxlUmVsb2FkKCk7XG4gICAgY29uc3QgcmVxUmVmID0gdXNlTGF0ZXN0KHJlcXVlc3QpO1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IHVzZUxhdGVzdCh7IG9uTG9hZCwgb25Mb2FkaW5nQ2hhbmdlLCBvblJlcXVlc3RFcnJvciwgcG9zdERhdGEgfSk7XG4gICAgY29uc3QgbG9hZGluZ1JlZiA9IHVzZUxhdGVzdChsb2FkaW5nKTtcbiAgICBjb25zdCByZXF1ZXN0SWRSZWYgPSB1c2VSZWYoMCk7XG4gICAgY29uc3QgYWJvcnRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2tpcEZpcnN0UmVmID0gdXNlUmVmKG1hbnVhbFJlcXVlc3QgPT09IHRydWUpO1xuICAgIGNvbnN0IHByZXZQYXJhbXNSZWYgPSB1c2VSZWYodW5kZWZpbmVkKTtcbiAgICBjb25zdCBkZWJvdW5jZVRpbWVyUmVmID0gdXNlUmVmKHVuZGVmaW5lZCk7XG4gICAgLy8gU2V0IHJpZ2h0IGJlZm9yZSBhIHBvbGxpbmctdHJpZ2dlcmVkIHJlZmV0Y2ggc28gaXQgY2FuIHJlZnJlc2ggc2lsZW50bHlcbiAgICAvLyAod2l0aG91dCBmbGFzaGluZyB0aGUgbWFpbiBsb2FkaW5nIG92ZXJsYXkpLiBDb25zdW1lZCBhdCB0aGUgc3RhcnQgb2YgcnVuUmVxdWVzdC5cbiAgICBjb25zdCBzaWxlbnRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IHNldExvYWRpbmcgPSB1c2VNZW1vaXplZEZuKChuZXh0KSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHNldExvYWRpbmdTdGF0ZShuZXh0KTtcbiAgICAgICAgKF9iID0gKF9hID0gY2FsbGJhY2tzLmN1cnJlbnQpLm9uTG9hZGluZ0NoYW5nZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIG5leHQpO1xuICAgIH0pO1xuICAgIGNvbnN0IHNldFBhZ2VJbmZvID0gdXNlTWVtb2l6ZWRGbigoaW5mbykgPT4ge1xuICAgICAgICBzZXRQYWdlSW5mb1N0YXRlKChwcmV2KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXJnZWQgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByZXYpLCBpbmZvKTtcbiAgICAgICAgICAgIGlmIChtZXJnZWQuY3VycmVudCA9PT0gcHJldi5jdXJyZW50ICYmIG1lcmdlZC5wYWdlU2l6ZSA9PT0gcHJldi5wYWdlU2l6ZSAmJiBtZXJnZWQudG90YWwgPT09IHByZXYudG90YWwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtZXJnZWQ7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIC8vIFRoZSBzaW5nbGUgbmV0d29yayBlbnRyeSBwb2ludDogYWJvcnQgdGhlIHByZXZpb3VzIHJlcXVlc3QsIHRoZW4gYXBwbHkgZGF0YVxuICAgIC8vIHdoaWxlIGd1YXJkaW5nIGFnYWluc3Qgc3RhbGUgLyBhYm9ydGVkIHJlc3BvbnNlcy5cbiAgICBjb25zdCBydW5SZXF1ZXN0ID0gdXNlTWVtb2l6ZWRGbigobWVyZ2VkLCBzdCwgZnQpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZSwgX2Y7XG4gICAgICAgIGNvbnN0IHJlcSA9IHJlcVJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIXJlcSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgLy8gQSBwb2xsaW5nIHJlZmV0Y2ggcmVmcmVzaGVzIHNpbGVudGx5IOKAlCBubyBsb2FkaW5nIG92ZXJsYXkgZmxhc2guXG4gICAgICAgIGNvbnN0IHNpbGVudCA9IHNpbGVudFJlZi5jdXJyZW50O1xuICAgICAgICBzaWxlbnRSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTtcbiAgICAgICAgY29uc3QgYWJvcnQgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICAgIGFib3J0UmVmLmN1cnJlbnQgPSBhYm9ydDtcbiAgICAgICAgY29uc3QgcmVxdWVzdElkID0gKytyZXF1ZXN0SWRSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKCFzaWxlbnQpXG4gICAgICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0geWllbGQgcmVxKG1lcmdlZCwgc3QsIGZ0LCB7IHNpZ25hbDogYWJvcnQuc2lnbmFsIH0pO1xuICAgICAgICAgICAgaWYgKGFib3J0LnNpZ25hbC5hYm9ydGVkIHx8IHJlcXVlc3RJZCAhPT0gcmVxdWVzdElkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzID09PSBmYWxzZSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjb25zdCByYXcgPSAoX2IgPSByZXN1bHQuZGF0YSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogW107XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gY2FsbGJhY2tzLmN1cnJlbnQucG9zdERhdGEgPyBjYWxsYmFja3MuY3VycmVudC5wb3N0RGF0YShyYXcpIDogcmF3O1xuICAgICAgICAgICAgc2V0RGF0YVNvdXJjZShuZXh0KTtcbiAgICAgICAgICAgIHNldFBhZ2VJbmZvU3RhdGUoKHByZXYpID0+IHsgdmFyIF9hOyByZXR1cm4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcHJldiksIHsgdG90YWw6IChfYSA9IHJlc3VsdC50b3RhbCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbmV4dC5sZW5ndGggfSkpOyB9KTtcbiAgICAgICAgICAgIChfZCA9IChfYyA9IGNhbGxiYWNrcy5jdXJyZW50KS5vbkxvYWQpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC5jYWxsKF9jLCBuZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGlmIChhYm9ydC5zaWduYWwuYWJvcnRlZCB8fCByZXF1ZXN0SWQgIT09IHJlcXVlc3RJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIChfZiA9IChfZSA9IGNhbGxiYWNrcy5jdXJyZW50KS5vblJlcXVlc3RFcnJvcikgPT09IG51bGwgfHwgX2YgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9mLmNhbGwoX2UsIGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgIGlmICghc2lsZW50ICYmIHJlcXVlc3RJZCA9PT0gcmVxdWVzdElkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9KSk7XG4gICAgLy8gQnVpbGQgdGhlIHJlcXVlc3QgcGFyYW1zIGZyb20gdGhlIGN1cnJlbnQgcmVuZGVyIGNsb3N1cmUuXG4gICAgY29uc3QgYnVpbGRNZXJnZWQgPSAoKSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIChwYXJhbXMgIT09IG51bGwgJiYgcGFyYW1zICE9PSB2b2lkIDAgPyBwYXJhbXMgOiB7fSkpLCBzZWFyY2hQYXJhbXMpLCAocGFnaW5hdGVkID8geyBjdXJyZW50OiBwYWdlSW5mby5jdXJyZW50LCBwYWdlU2l6ZTogcGFnZUluZm8ucGFnZVNpemUgfSA6IHt9KSkpO1xuICAgIC8vIE9ubHkgYHBhcmFtc2AgKGEgY29uc3VtZXItb3duZWQgcHJvcCwgb2Z0ZW4gYW4gaW5saW5lIG9iamVjdCkgbmVlZHMgdmFsdWVcbiAgICAvLyBjb21wYXJpc29uOyB0aGUgcmVzdCBhcmUgc3RhYmxlIGludGVybmFsIHN0YXRlIGFuZCBjb21wYXJlIGJ5IHJlZmVyZW5jZS5cbiAgICBjb25zdCBwYXJhbXNLZXkgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMgIT09IG51bGwgJiYgcGFyYW1zICE9PSB2b2lkIDAgPyBwYXJhbXMgOiBudWxsKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobWFudWFsKSB7XG4gICAgICAgICAgICByZWxvYWRTaWduYWwuc2V0dGxlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWFudWFsUmVxdWVzdDogc3dhbGxvdyBvbmx5IHRoZSBmaXJzdCAobW91bnQpIHRyaWdnZXIuXG4gICAgICAgIGlmIChza2lwRmlyc3RSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgc2tpcEZpcnN0UmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHByZXZQYXJhbXNSZWYuY3VycmVudCA9IHBhcmFtc0tleTtcbiAgICAgICAgICAgIHJlbG9hZFNpZ25hbC5zZXR0bGUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBBIGBwYXJhbXNgIGNoYW5nZSByZXNldHMgdG8gcGFnZSAxIGZpcnN0OyB0aGUgcGFnZSBjaGFuZ2UgcmUtcnVucyB0aGlzXG4gICAgICAgIC8vIGVmZmVjdCwgd2hlcmUgdGhlIGFjdHVhbCBmZXRjaCBoYXBwZW5zIChzbyBpdCBuZXZlciBkb3VibGUtZmV0Y2hlcykuXG4gICAgICAgIGlmIChwcmV2UGFyYW1zUmVmLmN1cnJlbnQgIT09IHBhcmFtc0tleSAmJiBwYWdlSW5mby5jdXJyZW50ICE9PSBkZWZhdWx0Q3VycmVudCkge1xuICAgICAgICAgICAgcHJldlBhcmFtc1JlZi5jdXJyZW50ID0gcGFyYW1zS2V5O1xuICAgICAgICAgICAgc2V0UGFnZUluZm8oeyBjdXJyZW50OiBkZWZhdWx0Q3VycmVudCB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBwcmV2UGFyYW1zUmVmLmN1cnJlbnQgPSBwYXJhbXNLZXk7XG4gICAgICAgIGNvbnN0IGZpcmUgPSAoKSA9PiBydW5SZXF1ZXN0KGJ1aWxkTWVyZ2VkKCksIHNvcnQsIGZpbHRlcikuZmluYWxseShyZWxvYWRTaWduYWwuc2V0dGxlKTtcbiAgICAgICAgaWYgKGRlYm91bmNlVGltZSAmJiBkZWJvdW5jZVRpbWUgPiAwKSB7XG4gICAgICAgICAgICBpZiAoZGVib3VuY2VUaW1lclJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgZGVib3VuY2VUaW1lclJlZi5jdXJyZW50ID0gc2V0VGltZW91dChmaXJlLCBkZWJvdW5jZVRpbWUpO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGVib3VuY2VUaW1lclJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdm9pZCBmaXJlKCk7XG4gICAgfSwgW3BhcmFtc0tleSwgc2VhcmNoUGFyYW1zLCBzb3J0LCBmaWx0ZXIsIHBhZ2VJbmZvLmN1cnJlbnQsIHBhZ2VJbmZvLnBhZ2VTaXplLCByZWxvYWRTaWduYWwudG9rZW4sIG1hbnVhbF0pO1xuICAgIGNvbnN0IHJlbG9hZCA9IHVzZU1lbW9pemVkRm4oKCkgPT4gKG1hbnVhbCA/IFByb21pc2UucmVzb2x2ZSgpIDogcmVsb2FkU2lnbmFsLnJlcXVlc3QoKSkpO1xuICAgIGNvbnN0IHJlc2V0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHNldFBhZ2VJbmZvU3RhdGUoKHByZXYpID0+IChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByZXYpLCB7IGN1cnJlbnQ6IGRlZmF1bHRDdXJyZW50LCBwYWdlU2l6ZTogZGVmYXVsdFBhZ2VTaXplIH0pKSk7XG4gICAgfSk7XG4gICAgLy8gUG9sbGluZzogcmUtdHJpZ2dlciBvbiBhbiBpbnRlcnZhbCwgc2tpcHBpbmcgdGlja3Mgd2hpbGUgYSByZXF1ZXN0IGlzIGluIGZsaWdodC5cbiAgICBjb25zdCBwb2xsaW5nTXMgPSB0eXBlb2YgcG9sbGluZyA9PT0gJ2Z1bmN0aW9uJyA/IHBvbGxpbmcoZGF0YVNvdXJjZSkgOiBwb2xsaW5nO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChtYW51YWwgfHwgIXBvbGxpbmdNcyB8fCBwb2xsaW5nTXMgPD0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgaWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAobG9hZGluZ1JlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHNpbGVudFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIHZvaWQgcmVsb2FkU2lnbmFsLnJlcXVlc3QoKTtcbiAgICAgICAgfSwgcG9sbGluZ01zKTtcbiAgICAgICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwoaWQpO1xuICAgIH0sIFtwb2xsaW5nTXMsIG1hbnVhbF0pO1xuICAgIC8vIEFib3J0IGFueSBpbi1mbGlnaHQgcmVxdWVzdCBvbiB1bm1vdW50LlxuICAgIHVzZUVmZmVjdCgoKSA9PiAoKSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGFib3J0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5hYm9ydCgpOyB9LCBbXSk7XG4gICAgcmV0dXJuIHsgZGF0YVNvdXJjZSwgbG9hZGluZywgcGFnZUluZm8sIHNldFBhZ2VJbmZvLCByZWxvYWQsIHJlc2V0IH07XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
279
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvVGFibGUvdXNlRmV0Y2hEYXRhLnRzIiwiY29tcG9uZW50cy9Qcm9UYWJsZS91c2VGZXRjaERhdGEuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl91c2VMYXRlc3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VzZU1lbW9pemVkRm4iLCJfdXNlU2FmZVN0YXRlNyIsIl91c2VBd2FpdGFibGVSZWxvYWQiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJ1c2VGZXRjaERhdGEiLCJvcHRpb25zIiwiX3RoaXMiLCJyZXF1ZXN0IiwibWFudWFsIiwibWFudWFsUmVxdWVzdCIsImRlYm91bmNlVGltZSIsInBvc3REYXRhIiwicG9sbGluZyIsInBhcmFtcyIsImRlZmF1bHREYXRhIiwicGFnaW5hdGVkIiwiZGVmYXVsdEN1cnJlbnQiLCJkZWZhdWx0UGFnZVNpemUiLCJzZWFyY2hQYXJhbXMiLCJzb3J0IiwiZmlsdGVyIiwib25Mb2FkIiwib25Mb2FkaW5nQ2hhbmdlIiwib25SZXF1ZXN0RXJyb3IiLCJfdXNlU2FmZVN0YXRlIiwidXNlU2FmZVN0YXRlIiwiX3VzZVNhZmVTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkYXRhU291cmNlIiwic2V0RGF0YVNvdXJjZSIsIl91c2VTYWZlU3RhdGUzIiwiX3VzZVNhZmVTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZ1N0YXRlIiwiX3VzZVNhZmVTdGF0ZTUiLCJjdXJyZW50IiwicGFnZVNpemUiLCJ0b3RhbCIsIl91c2VTYWZlU3RhdGU2IiwicGFnZUluZm8iLCJzZXRQYWdlSW5mb1N0YXRlIiwicmVsb2FkU2lnbmFsIiwidXNlQXdhaXRhYmxlUmVsb2FkIiwicmVxUmVmIiwidXNlTGF0ZXN0IiwiY2FsbGJhY2tzIiwibG9hZGluZ1JlZiIsInJlcXVlc3RJZFJlZiIsInVzZVJlZiIsImFib3J0UmVmIiwic2tpcEZpcnN0UmVmIiwicHJldlBhcmFtc1JlZiIsInVuZGVmaW5lZCIsImRlYm91bmNlVGltZXJSZWYiLCJzaWxlbnRSZWYiLCJzZXRMb2FkaW5nIiwidXNlTWVtb2l6ZWRGbiIsIl9hIiwiX2IiLCJjYWxsIiwic2V0UGFnZUluZm8iLCJpbmZvIiwicHJldiIsIm1lcmdlZCIsIk9iamVjdCIsImFzc2lnbiIsInJ1blJlcXVlc3QiLCJzdCIsImZ0IiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJfYyIsIl9kIiwiX2UiLCJfZiIsInJlcSIsInNpbGVudCIsImFib3J0IiwicmVxdWVzdElkIiwicmF3IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJhYnJ1cHQiLCJBYm9ydENvbnRyb2xsZXIiLCJzaWduYWwiLCJzZW50IiwiYWJvcnRlZCIsInN1Y2Nlc3MiLCJkYXRhIiwibGVuZ3RoIiwiZmluaXNoIiwic3RvcCIsImJ1aWxkTWVyZ2VkIiwicGFyYW1zS2V5IiwiSlNPTiIsInN0cmluZ2lmeSIsInVzZUVmZmVjdCIsInNldHRsZSIsImZpcmUiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwidG9rZW4iLCJyZWxvYWQiLCJyZXNldCIsInBvbGxpbmdNcyIsImlkIiwic2V0SW50ZXJ2YWwiLCJjbGVhckludGVydmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBSyxtQkFBQSxHQUFBTCxPQUFBO0FD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YmxlL3VzZUZldGNoRGF0YS5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VMYXRlc3QgZnJvbSAnQDFtb25leS9ob29rcy91c2VMYXRlc3QnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmltcG9ydCB1c2VTYWZlU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VTYWZlU3RhdGUnO1xuaW1wb3J0IHsgdXNlQXdhaXRhYmxlUmVsb2FkIH0gZnJvbSAnLi9jb3JlL3VzZUF3YWl0YWJsZVJlbG9hZCc7XG4vKipcbiAqIE93bnMgdGhlIHJlcXVlc3QgbGlmZWN5Y2xlIGZvciBQcm9UYWJsZTogZGF0YSwgbG9hZGluZywgYW5kIHBhZ2luYXRpb24uXG4gKlxuICogT25lIGVmZmVjdCBpcyB0aGUgc2luZ2xlIGZldGNoIHBhdGguIEl0IHJlYWRzIGl0cyBxdWVyeSBpbnB1dHMgZnJvbSB0aGVcbiAqICoqcmVuZGVyIGNsb3N1cmUqKiAobmV2ZXIgYSBsYWdnaW5nIHJlZiksIHNvIGV2ZXJ5IHN0YXRlIGNoYW5nZSDigJQgc2VhcmNoLFxuICogc29ydCwgZmlsdGVyLCBwYXJhbXMsIHBhZ2Ug4oCUIHJlZmV0Y2hlcyB3aXRoIGNvcnJlY3QgdmFsdWVzLiBBbiBhd2FpdGFibGVcbiAqIHJlbG9hZCBzaWduYWwgbGV0cyBpbXBlcmF0aXZlIGNhbGxlcnMgZm9yY2UgdGhlIHNhbWUgZWZmZWN0IGFuZCBgYXdhaXRgIGl0LlxuICpcbiAqIGBydW5SZXF1ZXN0YCBhYm9ydHMgdGhlIHByZXZpb3VzIGluLWZsaWdodCByZXF1ZXN0IChgQWJvcnRDb250cm9sbGVyYCwgZXhwb3NlZFxuICogdG8gYHJlcXVlc3RgIGFzIGB7IHNpZ25hbCB9YCksIHRhZ3MgaXRzZWxmIHdpdGggYSByZXF1ZXN0IGlkLCBhbmQgZHJvcHMgc3RhbGVcbiAqIG9yIGFib3J0ZWQgcmVzcG9uc2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRmV0Y2hEYXRhKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHJlcXVlc3QsIG1hbnVhbCwgbWFudWFsUmVxdWVzdCwgZGVib3VuY2VUaW1lLCBwb3N0RGF0YSwgcG9sbGluZywgcGFyYW1zLCBkZWZhdWx0RGF0YSwgcGFnaW5hdGVkLCBkZWZhdWx0Q3VycmVudCwgZGVmYXVsdFBhZ2VTaXplLCBzZWFyY2hQYXJhbXMsIHNvcnQsIGZpbHRlciwgb25Mb2FkLCBvbkxvYWRpbmdDaGFuZ2UsIG9uUmVxdWVzdEVycm9yLCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBbZGF0YVNvdXJjZSwgc2V0RGF0YVNvdXJjZV0gPSB1c2VTYWZlU3RhdGUoZGVmYXVsdERhdGEgIT09IG51bGwgJiYgZGVmYXVsdERhdGEgIT09IHZvaWQgMCA/IGRlZmF1bHREYXRhIDogW10pO1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nU3RhdGVdID0gdXNlU2FmZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbcGFnZUluZm8sIHNldFBhZ2VJbmZvU3RhdGVdID0gdXNlU2FmZVN0YXRlKHtcbiAgICAgICAgY3VycmVudDogZGVmYXVsdEN1cnJlbnQsXG4gICAgICAgIHBhZ2VTaXplOiBkZWZhdWx0UGFnZVNpemUsXG4gICAgICAgIHRvdGFsOiAwLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlbG9hZFNpZ25hbCA9IHVzZUF3YWl0YWJsZVJlbG9hZCgpO1xuICAgIGNvbnN0IHJlcVJlZiA9IHVzZUxhdGVzdChyZXF1ZXN0KTtcbiAgICBjb25zdCBjYWxsYmFja3MgPSB1c2VMYXRlc3QoeyBvbkxvYWQsIG9uTG9hZGluZ0NoYW5nZSwgb25SZXF1ZXN0RXJyb3IsIHBvc3REYXRhIH0pO1xuICAgIGNvbnN0IGxvYWRpbmdSZWYgPSB1c2VMYXRlc3QobG9hZGluZyk7XG4gICAgY29uc3QgcmVxdWVzdElkUmVmID0gdXNlUmVmKDApO1xuICAgIGNvbnN0IGFib3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNraXBGaXJzdFJlZiA9IHVzZVJlZihtYW51YWxSZXF1ZXN0ID09PSB0cnVlKTtcbiAgICBjb25zdCBwcmV2UGFyYW1zUmVmID0gdXNlUmVmKHVuZGVmaW5lZCk7XG4gICAgY29uc3QgZGVib3VuY2VUaW1lclJlZiA9IHVzZVJlZih1bmRlZmluZWQpO1xuICAgIC8vIFNldCByaWdodCBiZWZvcmUgYSBwb2xsaW5nLXRyaWdnZXJlZCByZWZldGNoIHNvIGl0IGNhbiByZWZyZXNoIHNpbGVudGx5XG4gICAgLy8gKHdpdGhvdXQgZmxhc2hpbmcgdGhlIG1haW4gbG9hZGluZyBvdmVybGF5KS4gQ29uc3VtZWQgYXQgdGhlIHN0YXJ0IG9mIHJ1blJlcXVlc3QuXG4gICAgY29uc3Qgc2lsZW50UmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBzZXRMb2FkaW5nID0gdXNlTWVtb2l6ZWRGbigobmV4dCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBzZXRMb2FkaW5nU3RhdGUobmV4dCk7XG4gICAgICAgIChfYiA9IChfYSA9IGNhbGxiYWNrcy5jdXJyZW50KS5vbkxvYWRpbmdDaGFuZ2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCBuZXh0KTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRQYWdlSW5mbyA9IHVzZU1lbW9pemVkRm4oKGluZm8pID0+IHtcbiAgICAgICAgc2V0UGFnZUluZm9TdGF0ZSgocHJldikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVyZ2VkID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwcmV2KSwgaW5mbyk7XG4gICAgICAgICAgICBpZiAobWVyZ2VkLmN1cnJlbnQgPT09IHByZXYuY3VycmVudCAmJiBtZXJnZWQucGFnZVNpemUgPT09IHByZXYucGFnZVNpemUgJiYgbWVyZ2VkLnRvdGFsID09PSBwcmV2LnRvdGFsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2VkO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICAvLyBUaGUgc2luZ2xlIG5ldHdvcmsgZW50cnkgcG9pbnQ6IGFib3J0IHRoZSBwcmV2aW91cyByZXF1ZXN0LCB0aGVuIGFwcGx5IGRhdGFcbiAgICAvLyB3aGlsZSBndWFyZGluZyBhZ2FpbnN0IHN0YWxlIC8gYWJvcnRlZCByZXNwb25zZXMuXG4gICAgY29uc3QgcnVuUmVxdWVzdCA9IHVzZU1lbW9pemVkRm4oKG1lcmdlZCwgc3QsIGZ0KSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mO1xuICAgICAgICBjb25zdCByZXEgPSByZXFSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKCFyZXEpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIEEgcG9sbGluZyByZWZldGNoIHJlZnJlc2hlcyBzaWxlbnRseSDigJQgbm8gbG9hZGluZyBvdmVybGF5IGZsYXNoLlxuICAgICAgICBjb25zdCBzaWxlbnQgPSBzaWxlbnRSZWYuY3VycmVudDtcbiAgICAgICAgc2lsZW50UmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgKF9hID0gYWJvcnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmFib3J0KCk7XG4gICAgICAgIGNvbnN0IGFib3J0ID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgICBhYm9ydFJlZi5jdXJyZW50ID0gYWJvcnQ7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RJZCA9ICsrcmVxdWVzdElkUmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmICghc2lsZW50KVxuICAgICAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHlpZWxkIHJlcShtZXJnZWQsIHN0LCBmdCwgeyBzaWduYWw6IGFib3J0LnNpZ25hbCB9KTtcbiAgICAgICAgICAgIGlmIChhYm9ydC5zaWduYWwuYWJvcnRlZCB8fCByZXF1ZXN0SWQgIT09IHJlcXVlc3RJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2VzcyA9PT0gZmFsc2UpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgcmF3ID0gKF9iID0gcmVzdWx0LmRhdGEpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IFtdO1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9IGNhbGxiYWNrcy5jdXJyZW50LnBvc3REYXRhID8gY2FsbGJhY2tzLmN1cnJlbnQucG9zdERhdGEocmF3KSA6IHJhdztcbiAgICAgICAgICAgIHNldERhdGFTb3VyY2UobmV4dCk7XG4gICAgICAgICAgICBzZXRQYWdlSW5mb1N0YXRlKChwcmV2KSA9PiB7IHZhciBfYTsgcmV0dXJuIChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByZXYpLCB7IHRvdGFsOiAoX2EgPSByZXN1bHQudG90YWwpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG5leHQubGVuZ3RoIH0pKTsgfSk7XG4gICAgICAgICAgICAoX2QgPSAoX2MgPSBjYWxsYmFja3MuY3VycmVudCkub25Mb2FkKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QuY2FsbChfYywgbmV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBpZiAoYWJvcnQuc2lnbmFsLmFib3J0ZWQgfHwgcmVxdWVzdElkICE9PSByZXF1ZXN0SWRSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAoX2YgPSAoX2UgPSBjYWxsYmFja3MuY3VycmVudCkub25SZXF1ZXN0RXJyb3IpID09PSBudWxsIHx8IF9mID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZi5jYWxsKF9lLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBpZiAoIXNpbGVudCAmJiByZXF1ZXN0SWQgPT09IHJlcXVlc3RJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSkpO1xuICAgIC8vIEJ1aWxkIHRoZSByZXF1ZXN0IHBhcmFtcyBmcm9tIHRoZSBjdXJyZW50IHJlbmRlciBjbG9zdXJlLlxuICAgIGNvbnN0IGJ1aWxkTWVyZ2VkID0gKCkgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCAocGFyYW1zICE9PSBudWxsICYmIHBhcmFtcyAhPT0gdm9pZCAwID8gcGFyYW1zIDoge30pKSwgc2VhcmNoUGFyYW1zKSwgKHBhZ2luYXRlZCA/IHsgY3VycmVudDogcGFnZUluZm8uY3VycmVudCwgcGFnZVNpemU6IHBhZ2VJbmZvLnBhZ2VTaXplIH0gOiB7fSkpKTtcbiAgICAvLyBPbmx5IGBwYXJhbXNgIChhIGNvbnN1bWVyLW93bmVkIHByb3AsIG9mdGVuIGFuIGlubGluZSBvYmplY3QpIG5lZWRzIHZhbHVlXG4gICAgLy8gY29tcGFyaXNvbjsgdGhlIHJlc3QgYXJlIHN0YWJsZSBpbnRlcm5hbCBzdGF0ZSBhbmQgY29tcGFyZSBieSByZWZlcmVuY2UuXG4gICAgY29uc3QgcGFyYW1zS2V5ID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zICE9PSBudWxsICYmIHBhcmFtcyAhPT0gdm9pZCAwID8gcGFyYW1zIDogbnVsbCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG1hbnVhbCkge1xuICAgICAgICAgICAgcmVsb2FkU2lnbmFsLnNldHRsZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIG1hbnVhbFJlcXVlc3Q6IHN3YWxsb3cgb25seSB0aGUgZmlyc3QgKG1vdW50KSB0cmlnZ2VyLlxuICAgICAgICBpZiAoc2tpcEZpcnN0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHNraXBGaXJzdFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICBwcmV2UGFyYW1zUmVmLmN1cnJlbnQgPSBwYXJhbXNLZXk7XG4gICAgICAgICAgICByZWxvYWRTaWduYWwuc2V0dGxlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gQSBgcGFyYW1zYCBjaGFuZ2UgcmVzZXRzIHRvIHBhZ2UgMSBmaXJzdDsgdGhlIHBhZ2UgY2hhbmdlIHJlLXJ1bnMgdGhpc1xuICAgICAgICAvLyBlZmZlY3QsIHdoZXJlIHRoZSBhY3R1YWwgZmV0Y2ggaGFwcGVucyAoc28gaXQgbmV2ZXIgZG91YmxlLWZldGNoZXMpLlxuICAgICAgICBpZiAocHJldlBhcmFtc1JlZi5jdXJyZW50ICE9PSBwYXJhbXNLZXkgJiYgcGFnZUluZm8uY3VycmVudCAhPT0gZGVmYXVsdEN1cnJlbnQpIHtcbiAgICAgICAgICAgIHByZXZQYXJhbXNSZWYuY3VycmVudCA9IHBhcmFtc0tleTtcbiAgICAgICAgICAgIHNldFBhZ2VJbmZvKHsgY3VycmVudDogZGVmYXVsdEN1cnJlbnQgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcHJldlBhcmFtc1JlZi5jdXJyZW50ID0gcGFyYW1zS2V5O1xuICAgICAgICBjb25zdCBmaXJlID0gKCkgPT4gcnVuUmVxdWVzdChidWlsZE1lcmdlZCgpLCBzb3J0LCBmaWx0ZXIpLmZpbmFsbHkocmVsb2FkU2lnbmFsLnNldHRsZSk7XG4gICAgICAgIGlmIChkZWJvdW5jZVRpbWUgJiYgZGVib3VuY2VUaW1lID4gMCkge1xuICAgICAgICAgICAgaWYgKGRlYm91bmNlVGltZXJSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIGRlYm91bmNlVGltZXJSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoZmlyZSwgZGVib3VuY2VUaW1lKTtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRlYm91bmNlVGltZXJSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlVGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHZvaWQgZmlyZSgpO1xuICAgIH0sIFtwYXJhbXNLZXksIHNlYXJjaFBhcmFtcywgc29ydCwgZmlsdGVyLCBwYWdlSW5mby5jdXJyZW50LCBwYWdlSW5mby5wYWdlU2l6ZSwgcmVsb2FkU2lnbmFsLnRva2VuLCBtYW51YWxdKTtcbiAgICBjb25zdCByZWxvYWQgPSB1c2VNZW1vaXplZEZuKCgpID0+IChtYW51YWwgPyBQcm9taXNlLnJlc29sdmUoKSA6IHJlbG9hZFNpZ25hbC5yZXF1ZXN0KCkpKTtcbiAgICBjb25zdCByZXNldCA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICBzZXRQYWdlSW5mb1N0YXRlKChwcmV2KSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwcmV2KSwgeyBjdXJyZW50OiBkZWZhdWx0Q3VycmVudCwgcGFnZVNpemU6IGRlZmF1bHRQYWdlU2l6ZSB9KSkpO1xuICAgIH0pO1xuICAgIC8vIFBvbGxpbmc6IHJlLXRyaWdnZXIgb24gYW4gaW50ZXJ2YWwsIHNraXBwaW5nIHRpY2tzIHdoaWxlIGEgcmVxdWVzdCBpcyBpbiBmbGlnaHQuXG4gICAgY29uc3QgcG9sbGluZ01zID0gdHlwZW9mIHBvbGxpbmcgPT09ICdmdW5jdGlvbicgPyBwb2xsaW5nKGRhdGFTb3VyY2UpIDogcG9sbGluZztcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobWFudWFsIHx8ICFwb2xsaW5nTXMgfHwgcG9sbGluZ01zIDw9IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGlkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGxvYWRpbmdSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBzaWxlbnRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICB2b2lkIHJlbG9hZFNpZ25hbC5yZXF1ZXN0KCk7XG4gICAgICAgIH0sIHBvbGxpbmdNcyk7XG4gICAgICAgIHJldHVybiAoKSA9PiBjbGVhckludGVydmFsKGlkKTtcbiAgICB9LCBbcG9sbGluZ01zLCBtYW51YWxdKTtcbiAgICAvLyBBYm9ydCBhbnkgaW4tZmxpZ2h0IHJlcXVlc3Qgb24gdW5tb3VudC5cbiAgICB1c2VFZmZlY3QoKCkgPT4gKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTsgfSwgW10pO1xuICAgIHJldHVybiB7IGRhdGFTb3VyY2UsIGxvYWRpbmcsIHBhZ2VJbmZvLCBzZXRQYWdlSW5mbywgcmVsb2FkLCByZXNldCB9O1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -9,7 +9,8 @@ exports["default"] = exports.Radio = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  var _react = require("react");
12
- var _hooks = require("@1money/hooks");
12
+ var _useControlledState3 = _interopRequireDefault(require("@1money/hooks/useControlledState"));
13
+ var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
13
14
  var _Icons = require("../Icons");
14
15
  var _Tag = require("../Tag");
15
16
  var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
@@ -71,7 +72,7 @@ var Radio = exports.Radio = function Radio(props) {
71
72
  var name = isSelectableInGroup ? nameProp !== null && nameProp !== void 0 ? nameProp : groupContext === null || groupContext === void 0 ? void 0 : groupContext.name : nameProp;
72
73
  var inferredAriaLabel = typeof label === 'string' || typeof label === 'number' ? String(label) : typeof description === 'string' || typeof description === 'number' ? String(description) : undefined;
73
74
  var classes = (0, _classnames["default"])(prefixCls);
74
- var _useControlledState = (0, _hooks.useControlledState)(defaultChecked, checked),
75
+ var _useControlledState = (0, _useControlledState3["default"])(defaultChecked, checked),
75
76
  _useControlledState2 = (0, _slicedToArray2["default"])(_useControlledState, 2),
76
77
  innerChecked = _useControlledState2[0],
77
78
  setInnerChecked = _useControlledState2[1];
@@ -90,7 +91,7 @@ var Radio = exports.Radio = function Radio(props) {
90
91
  }
91
92
  return /*#__PURE__*/(0, _react.isValidElement)(iconNode) ? iconNode : null;
92
93
  };
93
- var emitChange = (0, _hooks.useEventCallback)(function (event) {
94
+ var emitChange = (0, _useEventCallback["default"])(function (event) {
94
95
  if (isDisabled) return;
95
96
  if (!isSelectableInGroup && !isControlled) {
96
97
  setInnerChecked(event.target.checked);
@@ -100,7 +101,7 @@ var Radio = exports.Radio = function Radio(props) {
100
101
  groupContext === null || groupContext === void 0 ? void 0 : groupContext.onChange(event);
101
102
  }
102
103
  });
103
- var handleInputChange = (0, _hooks.useEventCallback)(function (event) {
104
+ var handleInputChange = (0, _useEventCallback["default"])(function (event) {
104
105
  emitChange((0, _BaseRadio.createRadioChangeEvent)(event, event.target.checked, {
105
106
  disabled: isDisabled,
106
107
  id: id,
@@ -189,4 +190,4 @@ var Radio = exports.Radio = function Radio(props) {
189
190
  };
190
191
  Radio.displayName = 'Radio';
191
192
  var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(Radio);
192
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUmFkaW8vUmFkaW8uanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1JhZGlvL1JhZGlvLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaG9va3MiLCJfSWNvbnMiLCJfVGFnIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9CYXNlUmFkaW8iLCJfY29uc3RhbnRzIiwiX1JhZGlvR3JvdXBDb250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX19yZXN0IiwicyIsInAiLCJwcm90b3R5cGUiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJSYWRpbyIsImV4cG9ydHMiLCJwcm9wcyIsIl9hIiwiX2IiLCJfYyIsIl9kIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJSQURJT19QUkVGSVhfQ0xTIiwic3R5bGUiLCJpZCIsIm5hbWVQcm9wIiwibmFtZSIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwidGl0bGUiLCJhcmlhTGFiZWwiLCJhcmlhTGFiZWxsZWRCeSIsInZhbHVlIiwiY2hlY2tlZCIsIl9wcm9wcyRkZWZhdWx0Q2hlY2tlZCIsImRlZmF1bHRDaGVja2VkIiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwidmFyaWFudFByb3AiLCJ2YXJpYW50Iiwic2l6ZVByb3AiLCJzaXplIiwiYWxpZ25tZW50UHJvcCIsImFsaWdubWVudCIsImxhYmVsUGxhY2VtZW50UHJvcCIsImxhYmVsUGxhY2VtZW50IiwiaWNvbiIsInRhZyIsIm9uQ2hhbmdlIiwicmVmIiwicmVzdCIsImdyb3VwQ29udGV4dCIsInVzZVJhZGlvR3JvdXBDb250ZXh0IiwiaXNTZWxlY3RhYmxlSW5Hcm91cCIsInVuZGVmaW5lZCIsImlzRGlzYWJsZWQiLCJSQURJT19ERUZBVUxUX1ZBUklBTlQiLCJSQURJT19ERUZBVUxUX1NJWkUiLCJyZXF1ZXN0ZWRBbGlnbm1lbnQiLCJSQURJT19ERUZBVUxUX0FMSUdOTUVOVCIsIm5vcm1hbGl6ZVJhZGlvQWxpZ25tZW50Iiwib3JpZW50YXRpb24iLCJnZXRSYWRpb09yaWVudGF0aW9uRnJvbUFsaWdubWVudCIsInJlc29sdmVkTGFiZWxQbGFjZW1lbnQiLCJyZXNvbHZlRGVmYXVsdFZhcmlhbnRMYWJlbFBsYWNlbWVudCIsImlzUmlnaHRBbGlnbmVkIiwiUkFESU9fVkFSSUFOVF9DRUxMIiwiUkFESU9fTEFCRUxfUExBQ0VNRU5UX1JJR0hUIiwiaW5mZXJyZWRBcmlhTGFiZWwiLCJTdHJpbmciLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImlubmVyQ2hlY2tlZCIsInNldElubmVyQ2hlY2tlZCIsImlzQ29udHJvbGxlZCIsImlzQ2hlY2tlZCIsImljb25TaXplIiwiUkFESU9fQ0VMTF9JQ09OX1NJWkVfTUFQIiwidXNlSW5kaWNhdG9yQmFkZ2UiLCJSQURJT19PUklFTlRBVElPTl9IT1JJWk9OVEFMIiwiUkFESU9fU0laRV9TTUFMTCIsIlJBRElPX09SSUVOVEFUSU9OX1ZFUlRJQ0FMIiwiUkFESU9fU0laRV9NRURJVU0iLCJyZW5kZXJDZWxsSWNvbk5vZGUiLCJpY29uTm9kZSIsImNvbG9yIiwiX2pzeCIsIkljb25zIiwiaXNWYWxpZEVsZW1lbnQiLCJlbWl0Q2hhbmdlIiwidXNlRXZlbnRDYWxsYmFjayIsImV2ZW50IiwidGFyZ2V0IiwiaGFuZGxlSW5wdXRDaGFuZ2UiLCJjcmVhdGVSYWRpb0NoYW5nZUV2ZW50IiwicmFkaW9FbGVtZW50IiwiQmFzZVJhZGlvIiwiYXNzaWduIiwibGFiZWxFbGVtZW50IiwiX2pzeHMiLCJjaGlsZHJlbiIsIlRhZyIsIlJBRElPX1RBR19TSVpFIiwiY2VsbFZpc3VhbEljb24iLCJSQURJT19DRUxMX0NIRUNLX0lDT04iLCJjZWxsSW5kaWNhdG9yIiwiX0ZyYWdtZW50Iiwiam9pbkNscyIsIlJBRElPX0NFTExfSU5ESUNBVE9SX0lDT05fQ09MT1IiLCJSQURJT19DRUxMX0lDT05fQ09MT1IiLCJjb25jYXQiLCJ0eXBlIiwiUkFESU9fSU5QVVRfVFlQRSIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxJQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFDLHVCQUFBLENBQUFOLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFPLFVBQUEsR0FBQUQsdUJBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQXFCQSxJQUFBUyxrQkFBQSxHQUFBVCxPQUFBO0FBQTJELFNBQUFVLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTCx3QkFBQUssQ0FBQSxF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ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBpc1ZhbGlkRWxlbWVudCwgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuLi9UYWcnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuaW1wb3J0IEJhc2VSYWRpbywgeyBjcmVhdGVSYWRpb0NoYW5nZUV2ZW50IH0gZnJvbSAnLi9CYXNlUmFkaW8nO1xuaW1wb3J0IHsgUkFESU9fQ0VMTF9DSEVDS19JQ09OLCBSQURJT19DRUxMX0lDT05fQ09MT1IsIFJBRElPX0NFTExfSUNPTl9TSVpFX01BUCwgUkFESU9fQ0VMTF9JTkRJQ0FUT1JfSUNPTl9DT0xPUiwgUkFESU9fREVGQVVMVF9BTElHTk1FTlQsIFJBRElPX0RFRkFVTFRfU0laRSwgUkFESU9fREVGQVVMVF9WQVJJQU5ULCBSQURJT19JTlBVVF9UWVBFLCBSQURJT19MQUJFTF9QTEFDRU1FTlRfUklHSFQsIFJBRElPX09SSUVOVEFUSU9OX0hPUklaT05UQUwsIFJBRElPX09SSUVOVEFUSU9OX1ZFUlRJQ0FMLCBSQURJT19QUkVGSVhfQ0xTLCBSQURJT19TSVpFX01FRElVTSwgUkFESU9fU0laRV9TTUFMTCwgUkFESU9fVEFHX1NJWkUsIFJBRElPX1ZBUklBTlRfQ0VMTCwgZ2V0UmFkaW9PcmllbnRhdGlvbkZyb21BbGlnbm1lbnQsIG5vcm1hbGl6ZVJhZGlvQWxpZ25tZW50LCByZXNvbHZlRGVmYXVsdFZhcmlhbnRMYWJlbFBsYWNlbWVudCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VSYWRpb0dyb3VwQ29udGV4dCB9IGZyb20gJy4vUmFkaW9Hcm91cENvbnRleHQnO1xuZXhwb3J0IGNvbnN0IFJhZGlvID0gKHByb3BzKSA9PiB7XG4gICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9IFJBRElPX1BSRUZJWF9DTFMsIHN0eWxlLCBpZCwgbmFtZTogbmFtZVByb3AsIHJlcXVpcmVkID0gZmFsc2UsIHRpdGxlLCAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCwgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZEJ5LCB2YWx1ZSwgY2hlY2tlZCwgZGVmYXVsdENoZWNrZWQgPSBmYWxzZSwgZGlzYWJsZWQgPSBmYWxzZSwgbGFiZWwsIGRlc2NyaXB0aW9uLCB2YXJpYW50OiB2YXJpYW50UHJvcCwgc2l6ZTogc2l6ZVByb3AsIGFsaWdubWVudDogYWxpZ25tZW50UHJvcCwgbGFiZWxQbGFjZW1lbnQ6IGxhYmVsUGxhY2VtZW50UHJvcCwgaWNvbiwgdGFnLCBvbkNoYW5nZSwgcmVmIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwic3R5bGVcIiwgXCJpZFwiLCBcIm5hbWVcIiwgXCJyZXF1aXJlZFwiLCBcInRpdGxlXCIsICdhcmlhLWxhYmVsJywgJ2FyaWEtbGFiZWxsZWRieScsIFwidmFsdWVcIiwgXCJjaGVja2VkXCIsIFwiZGVmYXVsdENoZWNrZWRcIiwgXCJkaXNhYmxlZFwiLCBcImxhYmVsXCIsIFwiZGVzY3JpcHRpb25cIiwgXCJ2YXJpYW50XCIsIFwic2l6ZVwiLCBcImFsaWdubWVudFwiLCBcImxhYmVsUGxhY2VtZW50XCIsIFwiaWNvblwiLCBcInRhZ1wiLCBcIm9uQ2hhbmdlXCIsIFwicmVmXCJdKTtcbiAgICBjb25zdCBncm91cENvbnRleHQgPSB1c2VSYWRpb0dyb3VwQ29udGV4dCgpO1xuICAgIGNvbnN0IGlzU2VsZWN0YWJsZUluR3JvdXAgPSBncm91cENvbnRleHQgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gZGlzYWJsZWQgfHwgKGlzU2VsZWN0YWJsZUluR3JvdXAgPyAoKF9hID0gZ3JvdXBDb250ZXh0ID09PSBudWxsIHx8IGdyb3VwQ29udGV4dCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZ3JvdXBDb250ZXh0LmRpc2FibGVkKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBmYWxzZSkgOiBmYWxzZSk7XG4gICAgY29uc3QgdmFyaWFudCA9IChfYiA9IHZhcmlhbnRQcm9wICE9PSBudWxsICYmIHZhcmlhbnRQcm9wICE9PSB2b2lkIDAgPyB2YXJpYW50UHJvcCA6IGdyb3VwQ29udGV4dCA9PT0gbnVsbCB8fCBncm91cENvbnRleHQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdyb3VwQ29udGV4dC52YXJpYW50KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBSQURJT19ERUZBVUxUX1ZBUklBTlQ7XG4gICAgY29uc3Qgc2l6ZSA9IChfYyA9IHNpemVQcm9wICE9PSBudWxsICYmIHNpemVQcm9wICE9PSB2b2lkIDAgPyBzaXplUHJvcCA6IGdyb3VwQ29udGV4dCA9PT0gbnVsbCB8fCBncm91cENvbnRleHQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdyb3VwQ29udGV4dC5zaXplKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBSQURJT19ERUZBVUxUX1NJWkU7XG4gICAgY29uc3QgcmVxdWVzdGVkQWxpZ25tZW50ID0gKChfZCA9IGFsaWdubWVudFByb3AgIT09IG51bGwgJiYgYWxpZ25tZW50UHJvcCAhPT0gdm9pZCAwID8gYWxpZ25tZW50UHJvcCA6IGdyb3VwQ29udGV4dCA9PT0gbnVsbCB8fCBncm91cENvbnRleHQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdyb3VwQ29udGV4dC5hbGlnbm1lbnQpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IFJBRElPX0RFRkFVTFRfQUxJR05NRU5UKTtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBub3JtYWxpemVSYWRpb0FsaWdubWVudChyZXF1ZXN0ZWRBbGlnbm1lbnQpO1xuICAgIGNvbnN0IG9yaWVudGF0aW9uID0gZ2V0UmFkaW9PcmllbnRhdGlvbkZyb21BbGlnbm1lbnQoYWxpZ25tZW50KTtcbiAgICBjb25zdCByZXNvbHZlZExhYmVsUGxhY2VtZW50ID0gcmVzb2x2ZURlZmF1bHRWYXJpYW50TGFiZWxQbGFjZW1lbnQobGFiZWxQbGFjZW1lbnRQcm9wICE9PSBudWxsICYmIGxhYmVsUGxhY2VtZW50UHJvcCAhPT0gdm9pZCAwID8gbGFiZWxQbGFjZW1lbnRQcm9wIDogZ3JvdXBDb250ZXh0ID09PSBudWxsIHx8IGdyb3VwQ29udGV4dCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZ3JvdXBDb250ZXh0LmxhYmVsUGxhY2VtZW50KTtcbiAgICBjb25zdCBpc1JpZ2h0QWxpZ25lZCA9IHZhcmlhbnQgPT09IFJBRElPX1ZBUklBTlRfQ0VMTFxuICAgICAgICA/IGZhbHNlXG4gICAgICAgIDogcmVzb2x2ZWRMYWJlbFBsYWNlbWVudCA9PT0gUkFESU9fTEFCRUxfUExBQ0VNRU5UX1JJR0hUO1xuICAgIGNvbnN0IG5hbWUgPSBpc1NlbGVjdGFibGVJbkdyb3VwID8gKG5hbWVQcm9wICE9PSBudWxsICYmIG5hbWVQcm9wICE9PSB2b2lkIDAgPyBuYW1lUHJvcCA6IGdyb3VwQ29udGV4dCA9PT0gbnVsbCB8fCBncm91cENvbnRleHQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdyb3VwQ29udGV4dC5uYW1lKSA6IG5hbWVQcm9wO1xuICAgIGNvbnN0IGluZmVycmVkQXJpYUxhYmVsID0gKHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGxhYmVsID09PSAnbnVtYmVyJ1xuICAgICAgICA/IFN0cmluZyhsYWJlbClcbiAgICAgICAgOiB0eXBlb2YgZGVzY3JpcHRpb24gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBkZXNjcmlwdGlvbiA9PT0gJ251bWJlcidcbiAgICAgICAgICAgID8gU3RyaW5nKGRlc2NyaXB0aW9uKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2lubmVyQ2hlY2tlZCwgc2V0SW5uZXJDaGVja2VkXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0Q2hlY2tlZCwgY2hlY2tlZCk7XG4gICAgY29uc3QgaXNDb250cm9sbGVkID0gY2hlY2tlZCAhPT0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGlzQ2hlY2tlZCA9IGlzU2VsZWN0YWJsZUluR3JvdXAgPyAoZ3JvdXBDb250ZXh0ID09PSBudWxsIHx8IGdyb3VwQ29udGV4dCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZ3JvdXBDb250ZXh0LnZhbHVlKSA9PT0gdmFsdWUgOiAhIWlubmVyQ2hlY2tlZDtcbiAgICBjb25zdCBpY29uU2l6ZSA9IFJBRElPX0NFTExfSUNPTl9TSVpFX01BUFtvcmllbnRhdGlvbl1bc2l6ZV07XG4gICAgY29uc3QgdXNlSW5kaWNhdG9yQmFkZ2UgPSAoKG9yaWVudGF0aW9uID09PSBSQURJT19PUklFTlRBVElPTl9IT1JJWk9OVEFMICYmIHNpemUgIT09IFJBRElPX1NJWkVfU01BTEwpXG4gICAgICAgIHx8IChvcmllbnRhdGlvbiA9PT0gUkFESU9fT1JJRU5UQVRJT05fVkVSVElDQUwgJiYgc2l6ZSA9PT0gUkFESU9fU0laRV9NRURJVU0gJiYgaXNDaGVja2VkKSk7XG4gICAgY29uc3QgcmVuZGVyQ2VsbEljb25Ob2RlID0gKGljb25Ob2RlLCBjb2xvcikgPT4ge1xuICAgICAgICBpZiAoIWljb25Ob2RlKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGlmICh0eXBlb2YgaWNvbk5vZGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3goSWNvbnMsIHsgbmFtZTogaWNvbk5vZGUsIHNpemU6IGljb25TaXplLCBjb2xvcjogY29sb3IgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1ZhbGlkRWxlbWVudChpY29uTm9kZSkgPyBpY29uTm9kZSA6IG51bGw7XG4gICAgfTtcbiAgICBjb25zdCBlbWl0Q2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICghaXNTZWxlY3RhYmxlSW5Hcm91cCAmJiAhaXNDb250cm9sbGVkKSB7XG4gICAgICAgICAgICBzZXRJbm5lckNoZWNrZWQoZXZlbnQudGFyZ2V0LmNoZWNrZWQpO1xuICAgICAgICB9XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShldmVudCk7XG4gICAgICAgIGlmIChpc1NlbGVjdGFibGVJbkdyb3VwKSB7XG4gICAgICAgICAgICBncm91cENvbnRleHQgPT09IG51bGwgfHwgZ3JvdXBDb250ZXh0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBncm91cENvbnRleHQub25DaGFuZ2UoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlSW5wdXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBlbWl0Q2hhbmdlKGNyZWF0ZVJhZGlvQ2hhbmdlRXZlbnQoZXZlbnQsIGV2ZW50LnRhcmdldC5jaGVja2VkLCB7XG4gICAgICAgICAgICBkaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KSk7XG4gICAgfSk7XG4gICAgY29uc3QgcmFkaW9FbGVtZW50ID0gKF9qc3goQmFzZVJhZGlvLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IFwiYXJpYS1sYWJlbFwiOiBhcmlhTGFiZWwgIT09IG51bGwgJiYgYXJpYUxhYmVsICE9PSB2b2lkIDAgPyBhcmlhTGFiZWwgOiBpbmZlcnJlZEFyaWFMYWJlbCwgXCJhcmlhLWxhYmVsbGVkYnlcIjogYXJpYUxhYmVsbGVkQnksIGNoZWNrZWQ6IGlzQ2hlY2tlZCwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIGlkOiBpZCwgbmFtZTogbmFtZSwgb25DaGFuZ2U6IGhhbmRsZUlucHV0Q2hhbmdlLCBwcmVmaXhDbHM6IHByZWZpeENscywgcmVxdWlyZWQ6IHJlcXVpcmVkLCB0aXRsZTogdGl0bGUsIHZhbHVlOiB2YWx1ZSB9KSkpO1xuICAgIGNvbnN0IGxhYmVsRWxlbWVudCA9IChsYWJlbCB8fCBkZXNjcmlwdGlvbiB8fCB0YWcpICYmIChfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQnKSwgY2hpbGRyZW46IFtsYWJlbCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBkZXNjcmlwdGlvbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2Rlc2NyaXB0aW9uJyksIGNoaWxkcmVuOiBkZXNjcmlwdGlvbiB9KSksIHRhZyAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3RhZycpLCBjaGlsZHJlbjogX2pzeChUYWcsIHsgbGFiZWw6IHRhZywgc2l6ZTogUkFESU9fVEFHX1NJWkUgfSkgfSkpXSB9KSk7XG4gICAgY29uc3QgY2VsbFZpc3VhbEljb24gPSAob3JpZW50YXRpb24gPT09IFJBRElPX09SSUVOVEFUSU9OX0hPUklaT05UQUxcbiAgICAgICAgPyAoaXNDaGVja2VkID8gUkFESU9fQ0VMTF9DSEVDS19JQ09OIDogaWNvbilcbiAgICAgICAgOiBpY29uKTtcbiAgICBjb25zdCBjZWxsSW5kaWNhdG9yID0gKF9qc3goX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBvcmllbnRhdGlvbiA9PT0gUkFESU9fT1JJRU5UQVRJT05fSE9SSVpPTlRBTCAmJiBzaXplID09PSBSQURJT19TSVpFX1NNQUxMID8gKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjZWxsLXJhZGlvJyksIGNoaWxkcmVuOiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY2VsbC1yYWRpby1kb3QnKSB9KSB9KSkgOiAoY2VsbFZpc3VhbEljb24gJiYgdXNlSW5kaWNhdG9yQmFkZ2UgPyAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NlbGwtaW5kaWNhdG9yJywgam9pbkNscyhvcmllbnRhdGlvbiA9PT0gUkFESU9fT1JJRU5UQVRJT05fVkVSVElDQUwgJiYgc2l6ZSA9PT0gUkFESU9fU0laRV9NRURJVU0gJiYgY2xhc3NlcygnY2VsbC1pbmRpY2F0b3ItY29tcGFjdCcpKSksIGNoaWxkcmVuOiByZW5kZXJDZWxsSWNvbk5vZGUoY2VsbFZpc3VhbEljb24sIGlzQ2hlY2tlZFxuICAgICAgICAgICAgICAgID8gUkFESU9fQ0VMTF9JTkRJQ0FUT1JfSUNPTl9DT0xPUlxuICAgICAgICAgICAgICAgIDogUkFESU9fQ0VMTF9JQ09OX0NPTE9SKSB9KSkgOiAoY2VsbFZpc3VhbEljb24gJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjZWxsLWljb24nKSwgY2hpbGRyZW46IHJlbmRlckNlbGxJY29uTm9kZShjZWxsVmlzdWFsSWNvbiwgUkFESU9fQ0VMTF9JQ09OX0NPTE9SKSB9KSkpKSB9KSk7XG4gICAgaWYgKHZhcmlhbnQgPT09IFJBRElPX1ZBUklBTlRfQ0VMTCkge1xuICAgICAgICByZXR1cm4gKF9qc3hzKFwibGFiZWxcIiwgeyByZWY6IHJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhjbGFzc2VzKCdjZWxsJyksIGNsYXNzZXMoYGNlbGwtJHtzaXplfWApLCBjbGFzc2VzKGBjZWxsLSR7b3JpZW50YXRpb259YCksIGlzRGlzYWJsZWQgJiYgY2xhc3NlcygnZGlzYWJsZWQnKSwgY2xhc3NOYW1lKSksIHN0eWxlOiBzdHlsZSwgY2hpbGRyZW46IFtfanN4KFwiaW5wdXRcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsICE9PSBudWxsICYmIGFyaWFMYWJlbCAhPT0gdm9pZCAwID8gYXJpYUxhYmVsIDogaW5mZXJyZWRBcmlhTGFiZWwsIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IGFyaWFMYWJlbGxlZEJ5LCBjaGVja2VkOiAhIWlzQ2hlY2tlZCwgY2xhc3NOYW1lOiBjbGFzc2VzKCdjZWxsLWlucHV0JyksIGRpc2FibGVkOiBpc0Rpc2FibGVkLCBpZDogaWQsIG5hbWU6IG5hbWUsIG9uQ2hhbmdlOiBoYW5kbGVJbnB1dENoYW5nZSwgcmVxdWlyZWQ6IHJlcXVpcmVkLCB0aXRsZTogdGl0bGUsIHR5cGU6IFJBRElPX0lOUFVUX1RZUEUsIHZhbHVlOiB2YWx1ZSB9KSksIF9qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY2VsbC1wYW5lbCcpLCBjaGlsZHJlbjogW2NlbGxJbmRpY2F0b3IsIGxhYmVsRWxlbWVudF0gfSldIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIChfanN4KFwibGFiZWxcIiwgeyByZWY6IHJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhpc0Rpc2FibGVkICYmIGNsYXNzZXMoJ2Rpc2FibGVkJyksIGlzUmlnaHRBbGlnbmVkICYmIGNsYXNzZXMoJ3JpZ2h0JyksIGNsYXNzTmFtZSkpLCBzdHlsZTogc3R5bGUsIGNoaWxkcmVuOiAhaXNSaWdodEFsaWduZWQgPyAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbcmFkaW9FbGVtZW50LCBsYWJlbEVsZW1lbnRdIH0pKSA6IChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtsYWJlbEVsZW1lbnQsIHJhZGlvRWxlbWVudF0gfSkpIH0pKTtcbn07XG5SYWRpby5kaXNwbGF5TmFtZSA9ICdSYWRpbyc7XG5leHBvcnQgZGVmYXVsdCBtZW1vKFJhZGlvKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
193
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUmFkaW8vUmFkaW8uanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1JhZGlvL1JhZGlvLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfdXNlQ29udHJvbGxlZFN0YXRlMyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9JY29ucyIsIl9UYWciLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX0Jhc2VSYWRpbyIsIl9jb25zdGFudHMiLCJfUmFkaW9Hcm91cENvbnRleHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIlJhZGlvIiwiZXhwb3J0cyIsInByb3BzIiwiX2EiLCJfYiIsIl9jIiwiX2QiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIlJBRElPX1BSRUZJWF9DTFMiLCJzdHlsZSIsImlkIiwibmFtZVByb3AiLCJuYW1lIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJ0aXRsZSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5IiwidmFsdWUiLCJjaGVja2VkIiwiX3Byb3BzJGRlZmF1bHRDaGVja2VkIiwiZGVmYXVsdENoZWNrZWQiLCJfcHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsImxhYmVsIiwiZGVzY3JpcHRpb24iLCJ2YXJpYW50UHJvcCIsInZhcmlhbnQiLCJzaXplUHJvcCIsInNpemUiLCJhbGlnbm1lbnRQcm9wIiwiYWxpZ25tZW50IiwibGFiZWxQbGFjZW1lbnRQcm9wIiwibGFiZWxQbGFjZW1lbnQiLCJpY29uIiwidGFnIiwib25DaGFuZ2UiLCJyZWYiLCJyZXN0IiwiZ3JvdXBDb250ZXh0IiwidXNlUmFkaW9Hcm91cENvbnRleHQiLCJpc1NlbGVjdGFibGVJbkdyb3VwIiwidW5kZWZpbmVkIiwiaXNEaXNhYmxlZCIsIlJBRElPX0RFRkFVTFRfVkFSSUFOVCIsIlJBRElPX0RFRkFVTFRfU0laRSIsInJlcXVlc3RlZEFsaWdubWVudCIsIlJBRElPX0RFRkFVTFRfQUxJR05NRU5UIiwibm9ybWFsaXplUmFkaW9BbGlnbm1lbnQiLCJvcmllbnRhdGlvbiIsImdldFJhZGlvT3JpZW50YXRpb25Gcm9tQWxpZ25tZW50IiwicmVzb2x2ZWRMYWJlbFBsYWNlbWVudCIsInJlc29sdmVEZWZhdWx0VmFyaWFudExhYmVsUGxhY2VtZW50IiwiaXNSaWdodEFsaWduZWQiLCJSQURJT19WQVJJQU5UX0NFTEwiLCJSQURJT19MQUJFTF9QTEFDRU1FTlRfUklHSFQiLCJpbmZlcnJlZEFyaWFMYWJlbCIsIlN0cmluZyIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaW5uZXJDaGVja2VkIiwic2V0SW5uZXJDaGVja2VkIiwiaXNDb250cm9sbGVkIiwiaXNDaGVja2VkIiwiaWNvblNpemUiLCJSQURJT19DRUxMX0lDT05fU0laRV9NQVAiLCJ1c2VJbmRpY2F0b3JCYWRnZSIsIlJBRElPX09SSUVOVEFUSU9OX0hPUklaT05UQUwiLCJSQURJT19TSVpFX1NNQUxMIiwiUkFESU9fT1JJRU5UQVRJT05fVkVSVElDQUwiLCJSQURJT19TSVpFX01FRElVTSIsInJlbmRlckNlbGxJY29uTm9kZSIsImljb25Ob2RlIiwiY29sb3IiLCJfanN4IiwiSWNvbnMiLCJpc1ZhbGlkRWxlbWVudCIsImVtaXRDaGFuZ2UiLCJ1c2VFdmVudENhbGxiYWNrIiwiZXZlbnQiLCJ0YXJnZXQiLCJoYW5kbGVJbnB1dENoYW5nZSIsImNyZWF0ZVJhZGlvQ2hhbmdlRXZlbnQiLCJyYWRpb0VsZW1lbnQiLCJCYXNlUmFkaW8iLCJhc3NpZ24iLCJsYWJlbEVsZW1lbnQiLCJfanN4cyIsImNoaWxkcmVuIiwiVGFnIiwiUkFESU9fVEFHX1NJWkUiLCJjZWxsVmlzdWFsSWNvbiIsIlJBRElPX0NFTExfQ0hFQ0tfSUNPTiIsImNlbGxJbmRpY2F0b3IiLCJfRnJhZ21lbnQiLCJqb2luQ2xzIiwiUkFESU9fQ0VMTF9JTkRJQ0FUT1JfSUNPTl9DT0xPUiIsIlJBRElPX0NFTExfSUNPTl9DT0xPUiIsImNvbmNhdCIsInR5cGUiLCJSQURJT19JTlBVVF9UWVBFIiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sSUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBQyx1QkFBQSxDQUFBUixPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBUyxVQUFBLEdBQUFELHVCQUFBLENBQUFSLE9BQUE7QUFDQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QUFxQkEsSUFBQVcsa0JBQUEsR0FBQVgsT0FBQTtBQUEyRCxTQUFBWSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENB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R0FBQTVHLE9BQUEsMkJBRWIsSUFBQTZHLFdBQUksRUFBQzlHLEtBQUssQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1JhZGlvL1JhZGlvLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgaXNWYWxpZEVsZW1lbnQsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uL1RhZyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5pbXBvcnQgQmFzZVJhZGlvLCB7IGNyZWF0ZVJhZGlvQ2hhbmdlRXZlbnQgfSBmcm9tICcuL0Jhc2VSYWRpbyc7XG5pbXBvcnQgeyBSQURJT19DRUxMX0NIRUNLX0lDT04sIFJBRElPX0NFTExfSUNPTl9DT0xPUiwgUkFESU9fQ0VMTF9JQ09OX1NJWkVfTUFQLCBSQURJT19DRUxMX0lORElDQVRPUl9JQ09OX0NPTE9SLCBSQURJT19ERUZBVUxUX0FMSUdOTUVOVCwgUkFESU9fREVGQVVMVF9TSVpFLCBSQURJT19ERUZBVUxUX1ZBUklBTlQsIFJBRElPX0lOUFVUX1RZUEUsIFJBRElPX0xBQkVMX1BMQUNFTUVOVF9SSUdIVCwgUkFESU9fT1JJRU5UQVRJT05fSE9SSVpPTlRBTCwgUkFESU9fT1JJRU5UQVRJT05fVkVSVElDQUwsIFJBRElPX1BSRUZJWF9DTFMsIFJBRElPX1NJWkVfTUVESVVNLCBSQURJT19TSVpFX1NNQUxMLCBSQURJT19UQUdfU0laRSwgUkFESU9fVkFSSUFOVF9DRUxMLCBnZXRSYWRpb09yaWVudGF0aW9uRnJvbUFsaWdubWVudCwgbm9ybWFsaXplUmFkaW9BbGlnbm1lbnQsIHJlc29sdmVEZWZhdWx0VmFyaWFudExhYmVsUGxhY2VtZW50LCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZVJhZGlvR3JvdXBDb250ZXh0IH0gZnJvbSAnLi9SYWRpb0dyb3VwQ29udGV4dCc7XG5leHBvcnQgY29uc3QgUmFkaW8gPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gUkFESU9fUFJFRklYX0NMUywgc3R5bGUsIGlkLCBuYW1lOiBuYW1lUHJvcCwgcmVxdWlyZWQgPSBmYWxzZSwgdGl0bGUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIHZhbHVlLCBjaGVja2VkLCBkZWZhdWx0Q2hlY2tlZCA9IGZhbHNlLCBkaXNhYmxlZCA9IGZhbHNlLCBsYWJlbCwgZGVzY3JpcHRpb24sIHZhcmlhbnQ6IHZhcmlhbnRQcm9wLCBzaXplOiBzaXplUHJvcCwgYWxpZ25tZW50OiBhbGlnbm1lbnRQcm9wLCBsYWJlbFBsYWNlbWVudDogbGFiZWxQbGFjZW1lbnRQcm9wLCBpY29uLCB0YWcsIG9uQ2hhbmdlLCByZWYgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJzdHlsZVwiLCBcImlkXCIsIFwibmFtZVwiLCBcInJlcXVpcmVkXCIsIFwidGl0bGVcIiwgJ2FyaWEtbGFiZWwnLCAnYXJpYS1sYWJlbGxlZGJ5JywgXCJ2YWx1ZVwiLCBcImNoZWNrZWRcIiwgXCJkZWZhdWx0Q2hlY2tlZFwiLCBcImRpc2FibGVkXCIsIFwibGFiZWxcIiwgXCJkZXNjcmlwdGlvblwiLCBcInZhcmlhbnRcIiwgXCJzaXplXCIsIFwiYWxpZ25tZW50XCIsIFwibGFiZWxQbGFjZW1lbnRcIiwgXCJpY29uXCIsIFwidGFnXCIsIFwib25DaGFuZ2VcIiwgXCJyZWZcIl0pO1xuICAgIGNvbnN0IGdyb3VwQ29udGV4dCA9IHVzZVJhZGlvR3JvdXBDb250ZXh0KCk7XG4gICAgY29uc3QgaXNTZWxlY3RhYmxlSW5Hcm91cCA9IGdyb3VwQ29udGV4dCAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBkaXNhYmxlZCB8fCAoaXNTZWxlY3RhYmxlSW5Hcm91cCA/ICgoX2EgPSBncm91cENvbnRleHQgPT09IG51bGwgfHwgZ3JvdXBDb250ZXh0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBncm91cENvbnRleHQuZGlzYWJsZWQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGZhbHNlKSA6IGZhbHNlKTtcbiAgICBjb25zdCB2YXJpYW50ID0gKF9iID0gdmFyaWFudFByb3AgIT09IG51bGwgJiYgdmFyaWFudFByb3AgIT09IHZvaWQgMCA/IHZhcmlhbnRQcm9wIDogZ3JvdXBDb250ZXh0ID09PSBudWxsIHx8IGdyb3VwQ29udGV4dCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZ3JvdXBDb250ZXh0LnZhcmlhbnQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IFJBRElPX0RFRkFVTFRfVkFSSUFOVDtcbiAgICBjb25zdCBzaXplID0gKF9jID0gc2l6ZVByb3AgIT09IG51bGwgJiYgc2l6ZVByb3AgIT09IHZvaWQgMCA/IHNpemVQcm9wIDogZ3JvdXBDb250ZXh0ID09PSBudWxsIHx8IGdyb3VwQ29udGV4dCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZ3JvdXBDb250ZXh0LnNpemUpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IFJBRElPX0RFRkFVTFRfU0laRTtcbiAgICBjb25zdCByZXF1ZXN0ZWRBbGlnbm1lbnQgPSAoKF9kID0gYWxpZ25tZW50UHJvcCAhPT0gbnVsbCAmJiBhbGlnbm1lbnRQcm9wICE9PSB2b2lkIDAgPyBhbGlnbm1lbnRQcm9wIDogZ3JvdXBDb250ZXh0ID09PSBudWxsIHx8IGdyb3VwQ29udGV4dCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZ3JvdXBDb250ZXh0LmFsaWdubWVudCkgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogUkFESU9fREVGQVVMVF9BTElHTk1FTlQpO1xuICAgIGNvbnN0IGFsaWdubWVudCA9IG5vcm1hbGl6ZVJhZGlvQWxpZ25tZW50KHJlcXVlc3RlZEFsaWdubWVudCk7XG4gICAgY29uc3Qgb3JpZW50YXRpb24gPSBnZXRSYWRpb09yaWVudGF0aW9uRnJvbUFsaWdubWVudChhbGlnbm1lbnQpO1xuICAgIGNvbnN0IHJlc29sdmVkTGFiZWxQbGFjZW1lbnQgPSByZXNvbHZlRGVmYXVsdFZhcmlhbnRMYWJlbFBsYWNlbWVudChsYWJlbFBsYWNlbWVudFByb3AgIT09IG51bGwgJiYgbGFiZWxQbGFjZW1lbnRQcm9wICE9PSB2b2lkIDAgPyBsYWJlbFBsYWNlbWVudFByb3AgOiBncm91cENvbnRleHQgPT09IG51bGwgfHwgZ3JvdXBDb250ZXh0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBncm91cENvbnRleHQubGFiZWxQbGFjZW1lbnQpO1xuICAgIGNvbnN0IGlzUmlnaHRBbGlnbmVkID0gdmFyaWFudCA9PT0gUkFESU9fVkFSSUFOVF9DRUxMXG4gICAgICAgID8gZmFsc2VcbiAgICAgICAgOiByZXNvbHZlZExhYmVsUGxhY2VtZW50ID09PSBSQURJT19MQUJFTF9QTEFDRU1FTlRfUklHSFQ7XG4gICAgY29uc3QgbmFtZSA9IGlzU2VsZWN0YWJsZUluR3JvdXAgPyAobmFtZVByb3AgIT09IG51bGwgJiYgbmFtZVByb3AgIT09IHZvaWQgMCA/IG5hbWVQcm9wIDogZ3JvdXBDb250ZXh0ID09PSBudWxsIHx8IGdyb3VwQ29udGV4dCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZ3JvdXBDb250ZXh0Lm5hbWUpIDogbmFtZVByb3A7XG4gICAgY29uc3QgaW5mZXJyZWRBcmlhTGFiZWwgPSAodHlwZW9mIGxhYmVsID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgbGFiZWwgPT09ICdudW1iZXInXG4gICAgICAgID8gU3RyaW5nKGxhYmVsKVxuICAgICAgICA6IHR5cGVvZiBkZXNjcmlwdGlvbiA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGRlc2NyaXB0aW9uID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgPyBTdHJpbmcoZGVzY3JpcHRpb24pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbaW5uZXJDaGVja2VkLCBzZXRJbm5lckNoZWNrZWRdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRDaGVja2VkLCBjaGVja2VkKTtcbiAgICBjb25zdCBpc0NvbnRyb2xsZWQgPSBjaGVja2VkICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgaXNDaGVja2VkID0gaXNTZWxlY3RhYmxlSW5Hcm91cCA/IChncm91cENvbnRleHQgPT09IG51bGwgfHwgZ3JvdXBDb250ZXh0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBncm91cENvbnRleHQudmFsdWUpID09PSB2YWx1ZSA6ICEhaW5uZXJDaGVja2VkO1xuICAgIGNvbnN0IGljb25TaXplID0gUkFESU9fQ0VMTF9JQ09OX1NJWkVfTUFQW29yaWVudGF0aW9uXVtzaXplXTtcbiAgICBjb25zdCB1c2VJbmRpY2F0b3JCYWRnZSA9ICgob3JpZW50YXRpb24gPT09IFJBRElPX09SSUVOVEFUSU9OX0hPUklaT05UQUwgJiYgc2l6ZSAhPT0gUkFESU9fU0laRV9TTUFMTClcbiAgICAgICAgfHwgKG9yaWVudGF0aW9uID09PSBSQURJT19PUklFTlRBVElPTl9WRVJUSUNBTCAmJiBzaXplID09PSBSQURJT19TSVpFX01FRElVTSAmJiBpc0NoZWNrZWQpKTtcbiAgICBjb25zdCByZW5kZXJDZWxsSWNvbk5vZGUgPSAoaWNvbk5vZGUsIGNvbG9yKSA9PiB7XG4gICAgICAgIGlmICghaWNvbk5vZGUpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgaWYgKHR5cGVvZiBpY29uTm9kZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChJY29ucywgeyBuYW1lOiBpY29uTm9kZSwgc2l6ZTogaWNvblNpemUsIGNvbG9yOiBjb2xvciB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzVmFsaWRFbGVtZW50KGljb25Ob2RlKSA/IGljb25Ob2RlIDogbnVsbDtcbiAgICB9O1xuICAgIGNvbnN0IGVtaXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoaXNEaXNhYmxlZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKCFpc1NlbGVjdGFibGVJbkdyb3VwICYmICFpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgICAgIHNldElubmVyQ2hlY2tlZChldmVudC50YXJnZXQuY2hlY2tlZCk7XG4gICAgICAgIH1cbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGV2ZW50KTtcbiAgICAgICAgaWYgKGlzU2VsZWN0YWJsZUluR3JvdXApIHtcbiAgICAgICAgICAgIGdyb3VwQ29udGV4dCA9PT0gbnVsbCB8fCBncm91cENvbnRleHQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdyb3VwQ29udGV4dC5vbkNoYW5nZShldmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVJbnB1dENoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGVtaXRDaGFuZ2UoY3JlYXRlUmFkaW9DaGFuZ2VFdmVudChldmVudCwgZXZlbnQudGFyZ2V0LmNoZWNrZWQsIHtcbiAgICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgIH0pKTtcbiAgICB9KTtcbiAgICBjb25zdCByYWRpb0VsZW1lbnQgPSAoX2pzeChCYXNlUmFkaW8sIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCAhPT0gbnVsbCAmJiBhcmlhTGFiZWwgIT09IHZvaWQgMCA/IGFyaWFMYWJlbCA6IGluZmVycmVkQXJpYUxhYmVsLCBcImFyaWEtbGFiZWxsZWRieVwiOiBhcmlhTGFiZWxsZWRCeSwgY2hlY2tlZDogaXNDaGVja2VkLCBkaXNhYmxlZDogaXNEaXNhYmxlZCwgaWQ6IGlkLCBuYW1lOiBuYW1lLCBvbkNoYW5nZTogaGFuZGxlSW5wdXRDaGFuZ2UsIHByZWZpeENsczogcHJlZml4Q2xzLCByZXF1aXJlZDogcmVxdWlyZWQsIHRpdGxlOiB0aXRsZSwgdmFsdWU6IHZhbHVlIH0pKSk7XG4gICAgY29uc3QgbGFiZWxFbGVtZW50ID0gKGxhYmVsIHx8IGRlc2NyaXB0aW9uIHx8IHRhZykgJiYgKF9qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcpLCBjaGlsZHJlbjogW2xhYmVsICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbCcpLCBjaGlsZHJlbjogbGFiZWwgfSksIGRlc2NyaXB0aW9uICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZGVzY3JpcHRpb24nKSwgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pKSwgdGFnICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygndGFnJyksIGNoaWxkcmVuOiBfanN4KFRhZywgeyBsYWJlbDogdGFnLCBzaXplOiBSQURJT19UQUdfU0laRSB9KSB9KSldIH0pKTtcbiAgICBjb25zdCBjZWxsVmlzdWFsSWNvbiA9IChvcmllbnRhdGlvbiA9PT0gUkFESU9fT1JJRU5UQVRJT05fSE9SSVpPTlRBTFxuICAgICAgICA/IChpc0NoZWNrZWQgPyBSQURJT19DRUxMX0NIRUNLX0lDT04gOiBpY29uKVxuICAgICAgICA6IGljb24pO1xuICAgIGNvbnN0IGNlbGxJbmRpY2F0b3IgPSAoX2pzeChfRnJhZ21lbnQsIHsgY2hpbGRyZW46IG9yaWVudGF0aW9uID09PSBSQURJT19PUklFTlRBVElPTl9IT1JJWk9OVEFMICYmIHNpemUgPT09IFJBRElPX1NJWkVfU01BTEwgPyAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NlbGwtcmFkaW8nKSwgY2hpbGRyZW46IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjZWxsLXJhZGlvLWRvdCcpIH0pIH0pKSA6IChjZWxsVmlzdWFsSWNvbiAmJiB1c2VJbmRpY2F0b3JCYWRnZSA/IChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY2VsbC1pbmRpY2F0b3InLCBqb2luQ2xzKG9yaWVudGF0aW9uID09PSBSQURJT19PUklFTlRBVElPTl9WRVJUSUNBTCAmJiBzaXplID09PSBSQURJT19TSVpFX01FRElVTSAmJiBjbGFzc2VzKCdjZWxsLWluZGljYXRvci1jb21wYWN0JykpKSwgY2hpbGRyZW46IHJlbmRlckNlbGxJY29uTm9kZShjZWxsVmlzdWFsSWNvbiwgaXNDaGVja2VkXG4gICAgICAgICAgICAgICAgPyBSQURJT19DRUxMX0lORElDQVRPUl9JQ09OX0NPTE9SXG4gICAgICAgICAgICAgICAgOiBSQURJT19DRUxMX0lDT05fQ09MT1IpIH0pKSA6IChjZWxsVmlzdWFsSWNvbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NlbGwtaWNvbicpLCBjaGlsZHJlbjogcmVuZGVyQ2VsbEljb25Ob2RlKGNlbGxWaXN1YWxJY29uLCBSQURJT19DRUxMX0lDT05fQ09MT1IpIH0pKSkpIH0pKTtcbiAgICBpZiAodmFyaWFudCA9PT0gUkFESU9fVkFSSUFOVF9DRUxMKSB7XG4gICAgICAgIHJldHVybiAoX2pzeHMoXCJsYWJlbFwiLCB7IHJlZjogcmVmLCBjbGFzc05hbWU6IGNsYXNzZXModm9pZCAwLCBqb2luQ2xzKGNsYXNzZXMoJ2NlbGwnKSwgY2xhc3NlcyhgY2VsbC0ke3NpemV9YCksIGNsYXNzZXMoYGNlbGwtJHtvcmllbnRhdGlvbn1gKSwgaXNEaXNhYmxlZCAmJiBjbGFzc2VzKCdkaXNhYmxlZCcpLCBjbGFzc05hbWUpKSwgc3R5bGU6IHN0eWxlLCBjaGlsZHJlbjogW19qc3goXCJpbnB1dFwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IFwiYXJpYS1sYWJlbFwiOiBhcmlhTGFiZWwgIT09IG51bGwgJiYgYXJpYUxhYmVsICE9PSB2b2lkIDAgPyBhcmlhTGFiZWwgOiBpbmZlcnJlZEFyaWFMYWJlbCwgXCJhcmlhLWxhYmVsbGVkYnlcIjogYXJpYUxhYmVsbGVkQnksIGNoZWNrZWQ6ICEhaXNDaGVja2VkLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2NlbGwtaW5wdXQnKSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIGlkOiBpZCwgbmFtZTogbmFtZSwgb25DaGFuZ2U6IGhhbmRsZUlucHV0Q2hhbmdlLCByZXF1aXJlZDogcmVxdWlyZWQsIHRpdGxlOiB0aXRsZSwgdHlwZTogUkFESU9fSU5QVVRfVFlQRSwgdmFsdWU6IHZhbHVlIH0pKSwgX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjZWxsLXBhbmVsJyksIGNoaWxkcmVuOiBbY2VsbEluZGljYXRvciwgbGFiZWxFbGVtZW50XSB9KV0gfSkpO1xuICAgIH1cbiAgICByZXR1cm4gKF9qc3goXCJsYWJlbFwiLCB7IHJlZjogcmVmLCBjbGFzc05hbWU6IGNsYXNzZXModm9pZCAwLCBqb2luQ2xzKGlzRGlzYWJsZWQgJiYgY2xhc3NlcygnZGlzYWJsZWQnKSwgaXNSaWdodEFsaWduZWQgJiYgY2xhc3NlcygncmlnaHQnKSwgY2xhc3NOYW1lKSksIHN0eWxlOiBzdHlsZSwgY2hpbGRyZW46ICFpc1JpZ2h0QWxpZ25lZCA/IChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtyYWRpb0VsZW1lbnQsIGxhYmVsRWxlbWVudF0gfSkpIDogKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW2xhYmVsRWxlbWVudCwgcmFkaW9FbGVtZW50XSB9KSkgfSkpO1xufTtcblJhZGlvLmRpc3BsYXlOYW1lID0gJ1JhZGlvJztcbmV4cG9ydCBkZWZhdWx0IG1lbW8oUmFkaW8pOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -9,7 +9,8 @@ exports["default"] = exports.RadioGroup = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  var _react = require("react");
12
- var _hooks = require("@1money/hooks");
12
+ var _useControlledState3 = _interopRequireDefault(require("@1money/hooks/useControlledState"));
13
+ var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
13
14
  var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
14
15
  var _constants = require("./constants");
15
16
  var _RadioGroupContext = require("./RadioGroupContext");
@@ -44,14 +45,14 @@ var RadioGroup = exports.RadioGroup = function RadioGroup(props) {
44
45
  ariaLabel = props['aria-label'],
45
46
  ariaLabelledBy = props['aria-labelledby'],
46
47
  onChange = props.onChange;
47
- var _useControlledState = (0, _hooks.useControlledState)(defaultValue, value),
48
+ var _useControlledState = (0, _useControlledState3["default"])(defaultValue, value),
48
49
  _useControlledState2 = (0, _slicedToArray2["default"])(_useControlledState, 2),
49
50
  innerValue = _useControlledState2[0],
50
51
  setInnerValue = _useControlledState2[1];
51
52
  var classes = (0, _classnames["default"])(prefixCls);
52
53
  var resolvedDirection = (_a = direction !== null && direction !== void 0 ? direction : layout) !== null && _a !== void 0 ? _a : _constants.RADIO_DEFAULT_LAYOUT;
53
54
  var resolvedAlignment = alignment !== null && alignment !== void 0 ? alignment : _constants.RADIO_DEFAULT_ALIGNMENT;
54
- var handleChange = (0, _hooks.useEventCallback)(function (event) {
55
+ var handleChange = (0, _useEventCallback["default"])(function (event) {
55
56
  if (disabled) return;
56
57
  var nextValue = event.target.value;
57
58
  if (nextValue === undefined || Object.is(nextValue, innerValue)) {
@@ -109,4 +110,4 @@ var RadioGroup = exports.RadioGroup = function RadioGroup(props) {
109
110
  };
110
111
  RadioGroup.displayName = 'RadioGroup';
111
112
  var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(RadioGroup);
112
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUmFkaW8vUmFkaW9Hcm91cC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUmFkaW8vUmFkaW9Hcm91cC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2hvb2tzIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9jb25zdGFudHMiLCJfUmFkaW9Hcm91cENvbnRleHQiLCJfUmFkaW8iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJSYWRpb0dyb3VwIiwiZXhwb3J0cyIsInByb3BzIiwiX2EiLCJyZWYiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIlJBRElPX0dST1VQX1BSRUZJWF9DTFMiLCJpZCIsInZhbHVlIiwiZGVmYXVsdFZhbHVlIiwibmFtZSIsIl9wcm9wcyRkaXNhYmxlZCIsImRpc2FibGVkIiwibGF5b3V0IiwiZGlyZWN0aW9uIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiUkFESU9fREVGQVVMVF9WQVJJQU5UIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiUkFESU9fREVGQVVMVF9TSVpFIiwiYWxpZ25tZW50IiwibGFiZWxQbGFjZW1lbnQiLCJnYXAiLCJvcHRpb25zIiwiY2hpbGRyZW4iLCJ0aXRsZSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5Iiwib25DaGFuZ2UiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwicmVzb2x2ZWREaXJlY3Rpb24iLCJSQURJT19ERUZBVUxUX0xBWU9VVCIsInJlc29sdmVkQWxpZ25tZW50IiwiUkFESU9fREVGQVVMVF9BTElHTk1FTlQiLCJoYW5kbGVDaGFuZ2UiLCJ1c2VFdmVudENhbGxiYWNrIiwiZXZlbnQiLCJuZXh0VmFsdWUiLCJ0YXJnZXQiLCJ1bmRlZmluZWQiLCJpcyIsImNvbnRleHRWYWx1ZSIsInVzZU1lbW8iLCJjb250ZW50IiwibWFwIiwib3B0IiwiX2pzeCIsIlJhZGlvIiwibGFiZWwiLCJkZXNjcmlwdGlvbiIsImljb24iLCJ0YWciLCJyZXF1aXJlZCIsIlN0cmluZyIsImdhcFN0eWxlIiwiUmFkaW9Hcm91cFByb3ZpZGVyIiwiam9pbkNscyIsIlJBRElPX1ZBUklBTlRfQ0VMTCIsInJvbGUiLCJzdHlsZSIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNBQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFRQSxJQUFBTSxrQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBQWdDLFNBQUFRLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTCx3QkFBQUssQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENB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LEVBYlhtQyxNQUFNLENBQUNSLEdBQUcsQ0FBQzdDLEtBQUssQ0FBQyxDQWN0QjtFQUFBLENBQ0gsQ0FBQztFQUVKLElBQU1zRCxRQUFRLEdBQUd2QyxHQUFHLEtBQUt3QixTQUFTLEdBQUc7SUFBRXhCLEdBQUcsRUFBSEE7RUFBRyxDQUFFLEdBQUd3QixTQUFTO0VBRXhELE9BQ0UsSUFBQU8sZUFBQSxFQUFDUyxxQ0FBa0IsRUFBQTtJQUFDdkQsS0FBSyxFQUFFeUMsWUFBWTtJQUFBeEIsUUFBQSxFQUNyQyxJQUFBNkIsZUFBQSxFQUFBLEtBQUEsRUFBQTtNQUNFckQsR0FBRyxFQUFFQSxHQUFHO01BQ1JNLEVBQUUsRUFBRUEsRUFBRTtNQUNObUIsS0FBSyxFQUFFQSxLQUFLO01BQUEsWUFBQSxFQUNBQyxTQUFTO01BQUEsaUJBQUEsRUFDSkMsY0FBYztNQUMvQnpCLFNBQVMsRUFBRWlDLE9BQU8sQ0FDaEIsS0FBSyxDQUFDLEVBQ04sSUFBQTRCLG1CQUFPLEVBQUM1QixPQUFPLENBQUNFLGlCQUFpQixDQUFDLEVBQUV0QixPQUFPLEtBQUtpRCw2QkFBa0IsSUFBSTdCLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRWpDLFNBQVMsQ0FBQyxDQUNsRztNQUNEK0QsSUFBSSxFQUFDLFlBQVk7TUFDakJDLEtBQUssRUFBRUwsUUFBUTtNQUFBckMsUUFBQSxFQUVkMEI7SUFBTyxDQUFBO0VBQ0osQ0FBQSxDQUNhO0FBRXpCLENBQUM7QUFFRHRELFVBQVUsQ0FBQ3VFLFdBQVcsR0FBRyxZQUFZO0FBQUMsSUFBQUMsUUFBQSxHQUFBdkUsT0FBQSwyQkFFdkIsSUFBQXdFLFdBQUksRUFBQ3pFLFVBQVUsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1JhZGlvL1JhZGlvR3JvdXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBSQURJT19ERUZBVUxUX0FMSUdOTUVOVCwgUkFESU9fREVGQVVMVF9MQVlPVVQsIFJBRElPX0RFRkFVTFRfU0laRSwgUkFESU9fREVGQVVMVF9WQVJJQU5ULCBSQURJT19HUk9VUF9QUkVGSVhfQ0xTLCBSQURJT19WQVJJQU5UX0NFTEwsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmFkaW9Hcm91cFByb3ZpZGVyIH0gZnJvbSAnLi9SYWRpb0dyb3VwQ29udGV4dCc7XG5pbXBvcnQgeyBSYWRpbyB9IGZyb20gJy4vUmFkaW8nO1xuZXhwb3J0IGNvbnN0IFJhZGlvR3JvdXAgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyByZWYsIGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSBSQURJT19HUk9VUF9QUkVGSVhfQ0xTLCBpZCwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgbmFtZSwgZGlzYWJsZWQgPSBmYWxzZSwgbGF5b3V0LCBkaXJlY3Rpb24sIHZhcmlhbnQgPSBSQURJT19ERUZBVUxUX1ZBUklBTlQsIHNpemUgPSBSQURJT19ERUZBVUxUX1NJWkUsIGFsaWdubWVudCwgbGFiZWxQbGFjZW1lbnQsIGdhcCwgb3B0aW9ucywgY2hpbGRyZW4sIHRpdGxlLCAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCwgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZEJ5LCBvbkNoYW5nZSwgfSA9IHByb3BzO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0VmFsdWUsIHZhbHVlKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IHJlc29sdmVkRGlyZWN0aW9uID0gKF9hID0gZGlyZWN0aW9uICE9PSBudWxsICYmIGRpcmVjdGlvbiAhPT0gdm9pZCAwID8gZGlyZWN0aW9uIDogbGF5b3V0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBSQURJT19ERUZBVUxUX0xBWU9VVDtcbiAgICBjb25zdCByZXNvbHZlZEFsaWdubWVudCA9IGFsaWdubWVudCAhPT0gbnVsbCAmJiBhbGlnbm1lbnQgIT09IHZvaWQgMCA/IGFsaWdubWVudCA6IFJBRElPX0RFRkFVTFRfQUxJR05NRU5UO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChkaXNhYmxlZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgICBpZiAobmV4dFZhbHVlID09PSB1bmRlZmluZWQgfHwgT2JqZWN0LmlzKG5leHRWYWx1ZSwgaW5uZXJWYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRJbm5lclZhbHVlKG5leHRWYWx1ZSk7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgY29udGV4dFZhbHVlID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICB2YWx1ZTogaW5uZXJWYWx1ZSxcbiAgICAgICAgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIHZhcmlhbnQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGFsaWdubWVudDogcmVzb2x2ZWRBbGlnbm1lbnQsXG4gICAgICAgIGxhYmVsUGxhY2VtZW50LFxuICAgIH0pLCBbaW5uZXJWYWx1ZSwgaGFuZGxlQ2hhbmdlLCBkaXNhYmxlZCwgbmFtZSwgdmFyaWFudCwgc2l6ZSwgcmVzb2x2ZWRBbGlnbm1lbnQsIGxhYmVsUGxhY2VtZW50XSk7XG4gICAgY29uc3QgY29udGVudCA9IGNoaWxkcmVuICE9PSBudWxsICYmIGNoaWxkcmVuICE9PSB2b2lkIDAgPyBjaGlsZHJlbiA6IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5tYXAoKG9wdCkgPT4gKF9qc3goUmFkaW8sIHsgaWQ6IG9wdC5pZCwgdmFsdWU6IG9wdC52YWx1ZSwgbGFiZWw6IG9wdC5sYWJlbCwgZGVzY3JpcHRpb246IG9wdC5kZXNjcmlwdGlvbiwgdmFyaWFudDogb3B0LnZhcmlhbnQsIHNpemU6IG9wdC5zaXplLCBhbGlnbm1lbnQ6IG9wdC5hbGlnbm1lbnQsIGxhYmVsUGxhY2VtZW50OiBvcHQubGFiZWxQbGFjZW1lbnQsIGljb246IG9wdC5pY29uLCB0YWc6IG9wdC50YWcsIGRpc2FibGVkOiBvcHQuZGlzYWJsZWQsIHJlcXVpcmVkOiBvcHQucmVxdWlyZWQsIHRpdGxlOiBvcHQudGl0bGUgfSwgU3RyaW5nKG9wdC52YWx1ZSkpKSk7XG4gICAgY29uc3QgZ2FwU3R5bGUgPSBnYXAgIT09IHVuZGVmaW5lZCA/IHsgZ2FwIH0gOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIChfanN4KFJhZGlvR3JvdXBQcm92aWRlciwgeyB2YWx1ZTogY29udGV4dFZhbHVlLCBjaGlsZHJlbjogX2pzeChcImRpdlwiLCB7IHJlZjogcmVmLCBpZDogaWQsIHRpdGxlOiB0aXRsZSwgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCwgXCJhcmlhLWxhYmVsbGVkYnlcIjogYXJpYUxhYmVsbGVkQnksIGNsYXNzTmFtZTogY2xhc3Nlcyh2b2lkIDAsIGpvaW5DbHMoY2xhc3NlcyhyZXNvbHZlZERpcmVjdGlvbiksIHZhcmlhbnQgPT09IFJBRElPX1ZBUklBTlRfQ0VMTCAmJiBjbGFzc2VzKCdjZWxsJyksIGNsYXNzTmFtZSkpLCByb2xlOiBcInJhZGlvZ3JvdXBcIiwgc3R5bGU6IGdhcFN0eWxlLCBjaGlsZHJlbjogY29udGVudCB9KSB9KSk7XG59O1xuUmFkaW9Hcm91cC5kaXNwbGF5TmFtZSA9ICdSYWRpb0dyb3VwJztcbmV4cG9ydCBkZWZhdWx0IG1lbW8oUmFkaW9Hcm91cCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
113
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUmFkaW8vUmFkaW9Hcm91cC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUmFkaW8vUmFkaW9Hcm91cC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VzZUV2ZW50Q2FsbGJhY2siLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2NvbnN0YW50cyIsIl9SYWRpb0dyb3VwQ29udGV4dCIsIl9SYWRpbyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlJhZGlvR3JvdXAiLCJleHBvcnRzIiwicHJvcHMiLCJfYSIsInJlZiIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiUkFESU9fR1JPVVBfUFJFRklYX0NMUyIsImlkIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJuYW1lIiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJsYXlvdXQiLCJkaXJlY3Rpb24iLCJfcHJvcHMkdmFyaWFudCIsInZhcmlhbnQiLCJSQURJT19ERUZBVUxUX1ZBUklBTlQiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJSQURJT19ERUZBVUxUX1NJWkUiLCJhbGlnbm1lbnQiLCJsYWJlbFBsYWNlbWVudCIsImdhcCIsIm9wdGlvbnMiLCJjaGlsZHJlbiIsInRpdGxlIiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiLCJvbkNoYW5nZSIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJyZXNvbHZlZERpcmVjdGlvbiIsIlJBRElPX0RFRkFVTFRfTEFZT1VUIiwicmVzb2x2ZWRBbGlnbm1lbnQiLCJSQURJT19ERUZBVUxUX0FMSUdOTUVOVCIsImhhbmRsZUNoYW5nZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJldmVudCIsIm5leHRWYWx1ZSIsInRhcmdldCIsInVuZGVmaW5lZCIsImlzIiwiY29udGV4dFZhbHVlIiwidXNlTWVtbyIsImNvbnRlbnQiLCJtYXAiLCJvcHQiLCJfanN4IiwiUmFkaW8iLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwiaWNvbiIsInRhZyIsInJlcXVpcmVkIiwiU3RyaW5nIiwiZ2FwU3R5bGUiLCJSYWRpb0dyb3VwUHJvdmlkZXIiLCJqb2luQ2xzIiwiUkFESU9fVkFSSUFOVF9DRUxMIiwicm9sZSIsInN0eWxlIiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBQyx1QkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBUUEsSUFBQVEsa0JBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE1BQUEsR0FBQVQsT0FBQTtBQUFnQyxTQUFBVSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFB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OlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IFJBRElPX0RFRkFVTFRfQUxJR05NRU5ULCBSQURJT19ERUZBVUxUX0xBWU9VVCwgUkFESU9fREVGQVVMVF9TSVpFLCBSQURJT19ERUZBVUxUX1ZBUklBTlQsIFJBRElPX0dST1VQX1BSRUZJWF9DTFMsIFJBRElPX1ZBUklBTlRfQ0VMTCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSYWRpb0dyb3VwUHJvdmlkZXIgfSBmcm9tICcuL1JhZGlvR3JvdXBDb250ZXh0JztcbmltcG9ydCB7IFJhZGlvIH0gZnJvbSAnLi9SYWRpbyc7XG5leHBvcnQgY29uc3QgUmFkaW9Hcm91cCA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IHJlZiwgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9IFJBRElPX0dST1VQX1BSRUZJWF9DTFMsIGlkLCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBuYW1lLCBkaXNhYmxlZCA9IGZhbHNlLCBsYXlvdXQsIGRpcmVjdGlvbiwgdmFyaWFudCA9IFJBRElPX0RFRkFVTFRfVkFSSUFOVCwgc2l6ZSA9IFJBRElPX0RFRkFVTFRfU0laRSwgYWxpZ25tZW50LCBsYWJlbFBsYWNlbWVudCwgZ2FwLCBvcHRpb25zLCBjaGlsZHJlbiwgdGl0bGUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIG9uQ2hhbmdlLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2lubmVyVmFsdWUsIHNldElubmVyVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRWYWx1ZSwgdmFsdWUpO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgcmVzb2x2ZWREaXJlY3Rpb24gPSAoX2EgPSBkaXJlY3Rpb24gIT09IG51bGwgJiYgZGlyZWN0aW9uICE9PSB2b2lkIDAgPyBkaXJlY3Rpb24gOiBsYXlvdXQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFJBRElPX0RFRkFVTFRfTEFZT1VUO1xuICAgIGNvbnN0IHJlc29sdmVkQWxpZ25tZW50ID0gYWxpZ25tZW50ICE9PSBudWxsICYmIGFsaWdubWVudCAhPT0gdm9pZCAwID8gYWxpZ25tZW50IDogUkFESU9fREVGQVVMVF9BTElHTk1FTlQ7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGRpc2FibGVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIGlmIChuZXh0VmFsdWUgPT09IHVuZGVmaW5lZCB8fCBPYmplY3QuaXMobmV4dFZhbHVlLCBpbm5lclZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBjb250ZXh0VmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7XG4gICAgICAgIHZhbHVlOiBpbm5lclZhbHVlLFxuICAgICAgICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgdmFyaWFudCxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgYWxpZ25tZW50OiByZXNvbHZlZEFsaWdubWVudCxcbiAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgfSksIFtpbm5lclZhbHVlLCBoYW5kbGVDaGFuZ2UsIGRpc2FibGVkLCBuYW1lLCB2YXJpYW50LCBzaXplLCByZXNvbHZlZEFsaWdubWVudCwgbGFiZWxQbGFjZW1lbnRdKTtcbiAgICBjb25zdCBjb250ZW50ID0gY2hpbGRyZW4gIT09IG51bGwgJiYgY2hpbGRyZW4gIT09IHZvaWQgMCA/IGNoaWxkcmVuIDogb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLm1hcCgob3B0KSA9PiAoX2pzeChSYWRpbywgeyBpZDogb3B0LmlkLCB2YWx1ZTogb3B0LnZhbHVlLCBsYWJlbDogb3B0LmxhYmVsLCBkZXNjcmlwdGlvbjogb3B0LmRlc2NyaXB0aW9uLCB2YXJpYW50OiBvcHQudmFyaWFudCwgc2l6ZTogb3B0LnNpemUsIGFsaWdubWVudDogb3B0LmFsaWdubWVudCwgbGFiZWxQbGFjZW1lbnQ6IG9wdC5sYWJlbFBsYWNlbWVudCwgaWNvbjogb3B0Lmljb24sIHRhZzogb3B0LnRhZywgZGlzYWJsZWQ6IG9wdC5kaXNhYmxlZCwgcmVxdWlyZWQ6IG9wdC5yZXF1aXJlZCwgdGl0bGU6IG9wdC50aXRsZSB9LCBTdHJpbmcob3B0LnZhbHVlKSkpKTtcbiAgICBjb25zdCBnYXBTdHlsZSA9IGdhcCAhPT0gdW5kZWZpbmVkID8geyBnYXAgfSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKF9qc3goUmFkaW9Hcm91cFByb3ZpZGVyLCB7IHZhbHVlOiBjb250ZXh0VmFsdWUsIGNoaWxkcmVuOiBfanN4KFwiZGl2XCIsIHsgcmVmOiByZWYsIGlkOiBpZCwgdGl0bGU6IHRpdGxlLCBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLCBcImFyaWEtbGFiZWxsZWRieVwiOiBhcmlhTGFiZWxsZWRCeSwgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhjbGFzc2VzKHJlc29sdmVkRGlyZWN0aW9uKSwgdmFyaWFudCA9PT0gUkFESU9fVkFSSUFOVF9DRUxMICYmIGNsYXNzZXMoJ2NlbGwnKSwgY2xhc3NOYW1lKSksIHJvbGU6IFwicmFkaW9ncm91cFwiLCBzdHlsZTogZ2FwU3R5bGUsIGNoaWxkcmVuOiBjb250ZW50IH0pIH0pKTtcbn07XG5SYWRpb0dyb3VwLmRpc3BsYXlOYW1lID0gJ1JhZGlvR3JvdXAnO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhSYWRpb0dyb3VwKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
@@ -7,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
7
8
  exports["default"] = useResizeObserver;
8
9
  var React = _interopRequireWildcard(require("react"));
9
10
  var _observerUtil = require("./utils/observerUtil");
10
- var _hooks = require("@1money/hooks");
11
+ var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
11
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
13
14
  function useResizeObserver(enabled, getTarget, onDelayResize, onSyncResize) {
@@ -20,7 +21,7 @@ function useResizeObserver(enabled, getTarget, onDelayResize, onSyncResize) {
20
21
  });
21
22
  // =========================== Observe ============================
22
23
  // Handler
23
- var onInternalResize = (0, _hooks.useEventCallback)(function (target) {
24
+ var onInternalResize = (0, _useEventCallback["default"])(function (target) {
24
25
  var htmlTarget = target;
25
26
  var _htmlTarget$getBoundi = htmlTarget.getBoundingClientRect(),
26
27
  width = _htmlTarget$getBoundi.width,
@@ -76,4 +77,4 @@ function useResizeObserver(enabled, getTarget, onDelayResize, onSyncResize) {
76
77
  };
77
78
  }, [enabled, isFuncTarget, isFuncTarget ? funcTargetIdRef.current : getTarget]);
78
79
  }
79
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUmVzaXplT2JzZXJ2ZXIvdXNlUmVzaXplT2JzZXJ2ZXIudHMiLCJjb21wb25lbnRzL1Jlc2l6ZU9ic2VydmVyL3VzZVJlc2l6ZU9ic2VydmVyLmpzIl0sIm5hbWVzIjpbIlJlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX29ic2VydmVyVXRpbCIsIl9ob29rcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsInVzZVJlc2l6ZU9ic2VydmVyIiwiZW5hYmxlZCIsImdldFRhcmdldCIsIm9uRGVsYXlSZXNpemUiLCJvblN5bmNSZXNpemUiLCJzaXplUmVmIiwidXNlUmVmIiwid2lkdGgiLCJoZWlnaHQiLCJvZmZzZXRXaWR0aCIsIm9mZnNldEhlaWdodCIsIm9uSW50ZXJuYWxSZXNpemUiLCJ1c2VFdmVudENhbGxiYWNrIiwidGFyZ2V0IiwiaHRtbFRhcmdldCIsIl9odG1sVGFyZ2V0JGdldEJvdW5kaSIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImZpeGVkV2lkdGgiLCJNYXRoIiwiZmxvb3IiLCJmaXhlZEhlaWdodCIsImN1cnJlbnQiLCJzaXplIiwibWVyZ2VkT2Zmc2V0V2lkdGgiLCJyb3VuZCIsIm1lcmdlZE9mZnNldEhlaWdodCIsInNpemVJbmZvIiwiYXNzaWduIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiaXNGdW5jVGFyZ2V0IiwiZnVuY1RhcmdldElkUmVmIiwiZ2V0VGFyZ2V0UmVmIiwidXNlRWZmZWN0IiwiY3VycmVudEdldFRhcmdldCIsIm9ic2VydmUi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TzdCLFNBQVMsS0FBSyxVQUFVO0VBQ3BELElBQU04QixlQUFlLEdBQUd6RCxLQUFLLENBQUMrQixNQUFNLENBQUMsQ0FBQyxDQUFDO0VBQ3ZDLElBQU0yQixZQUFZLEdBQUcxRCxLQUFLLENBQUMrQixNQUFNLENBQUNKLFNBQVMsQ0FBQztFQUM1QytCLFlBQVksQ0FBQ1osT0FBTyxHQUFHbkIsU0FBUztFQUVoQzNCLEtBQUssQ0FBQzJELFNBQVMsQ0FBQyxZQUFLO0lBQ25CLElBQU1DLGdCQUFnQixHQUFHRixZQUFZLENBQUNaLE9BQU87SUFDN0MsSUFBTVIsTUFBTSxHQUFHLE9BQU9zQixnQkFBZ0IsS0FBSyxVQUFVLEdBQUdBLGdCQUFnQixDQUFBLENBQUUsR0FBR0EsZ0JBQWdCO0lBRTdGLElBQUl0QixNQUFNLElBQUlaLE9BQU8sRUFBRTtNQUNyQixJQUFBbUMscUJBQU8sRUFBQ3ZCLE1BQU0sRUFBRUYsZ0JBQWdCLENBQUM7SUFDbkMsQ0FBQyxNQUFNLElBQUlWLE9BQU8sSUFBSThCLFlBQVksRUFBRTtNQUNsQ0MsZUFBZSxDQUFDWCxPQUFPLElBQUksQ0FBQztJQUM5QjtJQUVBLE9BQU8sWUFBSztNQUNWLElBQUlSLE1BQU0sRUFBRTtRQUNWLElBQUF3Qix1QkFBUyxFQUFDeEIsTUFBTSxFQUFFRixnQkFBZ0IsQ0FBQztNQUNyQztJQUNGLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ1YsT0FBTyxFQUFFOEIsWUFBWSxFQUFFQSxZQUFZLEdBQUdDLGVBQWUsQ0FBQ1gsT0FBTyxHQUFHbkIsU0FBUyxDQUFDLENBQUM7QUFDakYiLCJmaWxlIjoiY29tcG9uZW50cy9SZXNpemVPYnNlcnZlci91c2VSZXNpemVPYnNlcnZlci5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgb2JzZXJ2ZSwgdW5vYnNlcnZlIH0gZnJvbSAnLi91dGlscy9vYnNlcnZlclV0aWwnO1xuaW1wb3J0IHsgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVzaXplT2JzZXJ2ZXIoZW5hYmxlZCwgZ2V0VGFyZ2V0LCBvbkRlbGF5UmVzaXplLCBvblN5bmNSZXNpemUpIHtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBTaXplID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3Qgc2l6ZVJlZiA9IFJlYWN0LnVzZVJlZih7XG4gICAgICAgIHdpZHRoOiAtMSxcbiAgICAgICAgaGVpZ2h0OiAtMSxcbiAgICAgICAgb2Zmc2V0V2lkdGg6IC0xLFxuICAgICAgICBvZmZzZXRIZWlnaHQ6IC0xLFxuICAgIH0pO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PSBPYnNlcnZlID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBIYW5kbGVyXG4gICAgY29uc3Qgb25JbnRlcm5hbFJlc2l6ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHRhcmdldCkgPT4ge1xuICAgICAgICBjb25zdCBodG1sVGFyZ2V0ID0gdGFyZ2V0O1xuICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGh0bWxUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHsgb2Zmc2V0V2lkdGgsIG9mZnNldEhlaWdodCB9ID0gaHRtbFRhcmdldDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFJlc2l6ZSBvYnNlcnZlciB0cmlnZ2VyIHdoZW4gY29udGVudCBzaXplIGNoYW5nZWQuXG4gICAgICAgICAqIEluIG1vc3QgY2FzZSB3ZSBqdXN0IGNhcmUgYWJvdXQgZWxlbWVudCBzaXplLFxuICAgICAgICAgKiBsZXQncyB1c2UgYGJvdW5kYXJ5YCBpbnN0ZWFkIG9mIGBjb250ZW50UmVjdGAgaGVyZSB0byBhdm9pZCBzaGFraW5nLlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgZml4ZWRXaWR0aCA9IE1hdGguZmxvb3Iod2lkdGgpO1xuICAgICAgICBjb25zdCBmaXhlZEhlaWdodCA9IE1hdGguZmxvb3IoaGVpZ2h0KTtcbiAgICAgICAgaWYgKHNpemVSZWYuY3VycmVudC53aWR0aCAhPT0gZml4ZWRXaWR0aCB8fFxuICAgICAgICAgICAgc2l6ZVJlZi5jdXJyZW50LmhlaWdodCAhPT0gZml4ZWRIZWlnaHQgfHxcbiAgICAgICAgICAgIHNpemVSZWYuY3VycmVudC5vZmZzZXRXaWR0aCAhPT0gb2Zmc2V0V2lkdGggfHxcbiAgICAgICAgICAgIHNpemVSZWYuY3VycmVudC5vZmZzZXRIZWlnaHQgIT09IG9mZnNldEhlaWdodCkge1xuICAgICAgICAgICAgY29uc3Qgc2l6ZSA9IHsgd2lkdGg6IGZpeGVkV2lkdGgsIGhlaWdodDogZml4ZWRIZWlnaHQsIG9mZnNldFdpZHRoLCBvZmZzZXRIZWlnaHQgfTtcbiAgICAgICAgICAgIHNpemVSZWYuY3VycmVudCA9IHNpemU7XG4gICAgICAgICAgICAvLyBJRSBpcyBzdHJhbmdlLCByaWdodD9cbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZE9mZnNldFdpZHRoID0gb2Zmc2V0V2lkdGggPT09IE1hdGgucm91bmQod2lkdGgpID8gd2lkdGggOiBvZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZE9mZnNldEhlaWdodCA9IG9mZnNldEhlaWdodCA9PT0gTWF0aC5yb3VuZChoZWlnaHQpID8gaGVpZ2h0IDogb2Zmc2V0SGVpZ2h0O1xuICAgICAgICAgICAgY29uc3Qgc2l6ZUluZm8gPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHNpemUpLCB7IG9mZnNldFdpZHRoOiBtZXJnZWRPZmZzZXRXaWR0aCwgb2Zmc2V0SGVpZ2h0OiBtZXJnZWRPZmZzZXRIZWlnaHQgfSk7XG4gICAgICAgICAgICBvblN5bmNSZXNpemUgPT09IG51bGwgfHwgb25TeW5jUmVzaXplID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblN5bmNSZXNpemUoc2l6ZUluZm8sIGh0bWxUYXJnZXQpO1xuICAgICAgICAgICAgLy8gZGVmZXIgdGhlIGNhbGxiYWNrIGJ1dCBub3QgZGVmZXIgdG8gbmV4dCBmcmFtZVxuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgb25EZWxheVJlc2l6ZSA9PT0gbnVsbCB8fCBvbkRlbGF5UmVzaXplID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkRlbGF5UmVzaXplKHNpemVJbmZvLCBodG1sVGFyZ2V0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgLy8gRHluYW1pYyBvYnNlcnZlXG4gICAgY29uc3QgaXNGdW5jVGFyZ2V0ID0gdHlwZW9mIGdldFRhcmdldCA9PT0gJ2Z1bmN0aW9uJztcbiAgICBjb25zdCBmdW5jVGFyZ2V0SWRSZWYgPSBSZWFjdC51c2VSZWYoMCk7XG4gICAgY29uc3QgZ2V0VGFyZ2V0UmVmID0gUmVhY3QudXNlUmVmKGdldFRhcmdldCk7XG4gICAgZ2V0VGFyZ2V0UmVmLmN1cnJlbnQgPSBnZXRUYXJnZXQ7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEdldFRhcmdldCA9IGdldFRhcmdldFJlZi5jdXJyZW50O1xuICAgICAgICBjb25zdCB0YXJnZXQgPSB0eXBlb2YgY3VycmVudEdldFRhcmdldCA9PT0gJ2Z1bmN0aW9uJyA/IGN1cnJlbnRHZXRUYXJnZXQoKSA6IGN1cnJlbnRHZXRUYXJnZXQ7XG4gICAgICAgIGlmICh0YXJnZXQgJiYgZW5hYmxlZCkge1xuICAgICAgICAgICAgb2JzZXJ2ZSh0YXJnZXQsIG9uSW50ZXJuYWxSZXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGVuYWJsZWQgJiYgaXNGdW5jVGFyZ2V0KSB7XG4gICAgICAgICAgICBmdW5jVGFyZ2V0SWRSZWYuY3VycmVudCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgdW5vYnNlcnZlKHRhcmdldCwgb25JbnRlcm5hbFJlc2l6ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW2VuYWJsZWQsIGlzRnVuY1RhcmdldCwgaXNGdW5jVGFyZ2V0ID8gZnVuY1RhcmdldElkUmVmLmN1cnJlbnQgOiBnZXRUYXJnZXRdKTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
80
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUmVzaXplT2JzZXJ2ZXIvdXNlUmVzaXplT2JzZXJ2ZXIudHMiLCJjb21wb25lbnRzL1Jlc2l6ZU9ic2VydmVyL3VzZVJlc2l6ZU9ic2VydmVyLmpzIl0sIm5hbWVzIjpbIlJlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX29ic2VydmVyVXRpbCIsIl91c2VFdmVudENhbGxiYWNrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsInVzZVJlc2l6ZU9ic2VydmVyIiwiZW5hYmxlZCIsImdldFRhcmdldCIsIm9uRGVsYXlSZXNpemUiLCJvblN5bmNSZXNpemUiLCJzaXplUmVmIiwidXNlUmVmIiwid2lkdGgiLCJoZWlnaHQiLCJvZmZzZXRXaWR0aCIsIm9mZnNldEhlaWdodCIsIm9uSW50ZXJuYWxSZXNpemUiLCJ1c2VFdmVudENhbGxiYWNrIiwidGFyZ2V0IiwiaHRtbFRhcmdldCIsIl9odG1sVGFyZ2V0JGdldEJvdW5kaSIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImZpeGVkV2lkdGgiLCJNYXRoIiwiZmxvb3IiLCJmaXhlZEhlaWdodCIsImN1cnJlbnQiLCJzaXplIiwibWVyZ2VkT2Zmc2V0V2lkdGgiLCJyb3VuZCIsIm1lcmdlZE9mZnNldEhlaWdodCIsInNpemVJbmZvIiwiYXNzaWduIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiaXNGdW5jVGFyZ2V0IiwiZnVuY1RhcmdldElkUmVmIiwiZ2V0VGFyZ2V0UmVmIiwidXNl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SUFDSjtFQUNGLENBQUMsQ0FBQztFQUVGO0VBQ0EsSUFBTWlCLFlBQVksR0FBRyxPQUFPN0IsU0FBUyxLQUFLLFVBQVU7RUFDcEQsSUFBTThCLGVBQWUsR0FBRzFELEtBQUssQ0FBQ2dDLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFDdkMsSUFBTTJCLFlBQVksR0FBRzNELEtBQUssQ0FBQ2dDLE1BQU0sQ0FBQ0osU0FBUyxDQUFDO0VBQzVDK0IsWUFBWSxDQUFDWixPQUFPLEdBQUduQixTQUFTO0VBRWhDNUIsS0FBSyxDQUFDNEQsU0FBUyxDQUFDLFlBQUs7SUFDbkIsSUFBTUMsZ0JBQWdCLEdBQUdGLFlBQVksQ0FBQ1osT0FBTztJQUM3QyxJQUFNUixNQUFNLEdBQUcsT0FBT3NCLGdCQUFnQixLQUFLLFVBQVUsR0FBR0EsZ0JBQWdCLENBQUEsQ0FBRSxHQUFHQSxnQkFBZ0I7SUFFN0YsSUFBSXRCLE1BQU0sSUFBSVosT0FBTyxFQUFFO01BQ3JCLElBQUFtQyxxQkFBTyxFQUFDdkIsTUFBTSxFQUFFRixnQkFBZ0IsQ0FBQztJQUNuQyxDQUFDLE1BQU0sSUFBSVYsT0FBTyxJQUFJOEIsWUFBWSxFQUFFO01BQ2xDQyxlQUFlLENBQUNYLE9BQU8sSUFBSSxDQUFDO0lBQzlCO0lBRUEsT0FBTyxZQUFLO01BQ1YsSUFBSVIsTUFBTSxFQUFFO1FBQ1YsSUFBQXdCLHVCQUFTLEVBQUN4QixNQUFNLEVBQUVGLGdCQUFnQixDQUFDO01BQ3JDO0lBQ0YsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDVixPQUFPLEVBQUU4QixZQUFZLEVBQUVBLFlBQVksR0FBR0MsZUFBZSxDQUFDWCxPQUFPLEdBQUduQixTQUFTLENBQUMsQ0FBQztBQUNqRiIsImZpbGUiOiJjb21wb25lbnRzL1Jlc2l6ZU9ic2VydmVyL3VzZVJlc2l6ZU9ic2VydmVyLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBvYnNlcnZlLCB1bm9ic2VydmUgfSBmcm9tICcuL3V0aWxzL29ic2VydmVyVXRpbCc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVzaXplT2JzZXJ2ZXIoZW5hYmxlZCwgZ2V0VGFyZ2V0LCBvbkRlbGF5UmVzaXplLCBvblN5bmNSZXNpemUpIHtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBTaXplID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3Qgc2l6ZVJlZiA9IFJlYWN0LnVzZVJlZih7XG4gICAgICAgIHdpZHRoOiAtMSxcbiAgICAgICAgaGVpZ2h0OiAtMSxcbiAgICAgICAgb2Zmc2V0V2lkdGg6IC0xLFxuICAgICAgICBvZmZzZXRIZWlnaHQ6IC0xLFxuICAgIH0pO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PSBPYnNlcnZlID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBIYW5kbGVyXG4gICAgY29uc3Qgb25JbnRlcm5hbFJlc2l6ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHRhcmdldCkgPT4ge1xuICAgICAgICBjb25zdCBodG1sVGFyZ2V0ID0gdGFyZ2V0O1xuICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGh0bWxUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHsgb2Zmc2V0V2lkdGgsIG9mZnNldEhlaWdodCB9ID0gaHRtbFRhcmdldDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFJlc2l6ZSBvYnNlcnZlciB0cmlnZ2VyIHdoZW4gY29udGVudCBzaXplIGNoYW5nZWQuXG4gICAgICAgICAqIEluIG1vc3QgY2FzZSB3ZSBqdXN0IGNhcmUgYWJvdXQgZWxlbWVudCBzaXplLFxuICAgICAgICAgKiBsZXQncyB1c2UgYGJvdW5kYXJ5YCBpbnN0ZWFkIG9mIGBjb250ZW50UmVjdGAgaGVyZSB0byBhdm9pZCBzaGFraW5nLlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgZml4ZWRXaWR0aCA9IE1hdGguZmxvb3Iod2lkdGgpO1xuICAgICAgICBjb25zdCBmaXhlZEhlaWdodCA9IE1hdGguZmxvb3IoaGVpZ2h0KTtcbiAgICAgICAgaWYgKHNpemVSZWYuY3VycmVudC53aWR0aCAhPT0gZml4ZWRXaWR0aCB8fFxuICAgICAgICAgICAgc2l6ZVJlZi5jdXJyZW50LmhlaWdodCAhPT0gZml4ZWRIZWlnaHQgfHxcbiAgICAgICAgICAgIHNpemVSZWYuY3VycmVudC5vZmZzZXRXaWR0aCAhPT0gb2Zmc2V0V2lkdGggfHxcbiAgICAgICAgICAgIHNpemVSZWYuY3VycmVudC5vZmZzZXRIZWlnaHQgIT09IG9mZnNldEhlaWdodCkge1xuICAgICAgICAgICAgY29uc3Qgc2l6ZSA9IHsgd2lkdGg6IGZpeGVkV2lkdGgsIGhlaWdodDogZml4ZWRIZWlnaHQsIG9mZnNldFdpZHRoLCBvZmZzZXRIZWlnaHQgfTtcbiAgICAgICAgICAgIHNpemVSZWYuY3VycmVudCA9IHNpemU7XG4gICAgICAgICAgICAvLyBJRSBpcyBzdHJhbmdlLCByaWdodD9cbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZE9mZnNldFdpZHRoID0gb2Zmc2V0V2lkdGggPT09IE1hdGgucm91bmQod2lkdGgpID8gd2lkdGggOiBvZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZE9mZnNldEhlaWdodCA9IG9mZnNldEhlaWdodCA9PT0gTWF0aC5yb3VuZChoZWlnaHQpID8gaGVpZ2h0IDogb2Zmc2V0SGVpZ2h0O1xuICAgICAgICAgICAgY29uc3Qgc2l6ZUluZm8gPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHNpemUpLCB7IG9mZnNldFdpZHRoOiBtZXJnZWRPZmZzZXRXaWR0aCwgb2Zmc2V0SGVpZ2h0OiBtZXJnZWRPZmZzZXRIZWlnaHQgfSk7XG4gICAgICAgICAgICBvblN5bmNSZXNpemUgPT09IG51bGwgfHwgb25TeW5jUmVzaXplID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblN5bmNSZXNpemUoc2l6ZUluZm8sIGh0bWxUYXJnZXQpO1xuICAgICAgICAgICAgLy8gZGVmZXIgdGhlIGNhbGxiYWNrIGJ1dCBub3QgZGVmZXIgdG8gbmV4dCBmcmFtZVxuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgb25EZWxheVJlc2l6ZSA9PT0gbnVsbCB8fCBvbkRlbGF5UmVzaXplID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkRlbGF5UmVzaXplKHNpemVJbmZvLCBodG1sVGFyZ2V0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgLy8gRHluYW1pYyBvYnNlcnZlXG4gICAgY29uc3QgaXNGdW5jVGFyZ2V0ID0gdHlwZW9mIGdldFRhcmdldCA9PT0gJ2Z1bmN0aW9uJztcbiAgICBjb25zdCBmdW5jVGFyZ2V0SWRSZWYgPSBSZWFjdC51c2VSZWYoMCk7XG4gICAgY29uc3QgZ2V0VGFyZ2V0UmVmID0gUmVhY3QudXNlUmVmKGdldFRhcmdldCk7XG4gICAgZ2V0VGFyZ2V0UmVmLmN1cnJlbnQgPSBnZXRUYXJnZXQ7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEdldFRhcmdldCA9IGdldFRhcmdldFJlZi5jdXJyZW50O1xuICAgICAgICBjb25zdCB0YXJnZXQgPSB0eXBlb2YgY3VycmVudEdldFRhcmdldCA9PT0gJ2Z1bmN0aW9uJyA/IGN1cnJlbnRHZXRUYXJnZXQoKSA6IGN1cnJlbnRHZXRUYXJnZXQ7XG4gICAgICAgIGlmICh0YXJnZXQgJiYgZW5hYmxlZCkge1xuICAgICAgICAgICAgb2JzZXJ2ZSh0YXJnZXQsIG9uSW50ZXJuYWxSZXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGVuYWJsZWQgJiYgaXNGdW5jVGFyZ2V0KSB7XG4gICAgICAgICAgICBmdW5jVGFyZ2V0SWRSZWYuY3VycmVudCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgdW5vYnNlcnZlKHRhcmdldCwgb25JbnRlcm5hbFJlc2l6ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW2VuYWJsZWQsIGlzRnVuY1RhcmdldCwgaXNGdW5jVGFyZ2V0ID8gZnVuY1RhcmdldElkUmVmLmN1cnJlbnQgOiBnZXRUYXJnZXRdKTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9