@1money/component-ui 0.0.99-alpha.0 → 0.0.100-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/business/Dialog/BaseDialog/BaseDialog.js +1 -1
- package/es/business/Dialog/BaseDialog/constants.js +1 -1
- package/es/business/Dialog/BaseDialog/index.js +1 -1
- package/es/business/Dialog/BaseDialog/interface.js +1 -1
- package/es/business/Dialog/Descriptions/Descriptions.js +1 -1
- package/es/business/Dialog/Descriptions/constants.js +1 -1
- package/es/business/Dialog/Descriptions/index.js +1 -1
- package/es/business/Dialog/Descriptions/interface.js +1 -1
- package/es/business/Dialog/Descriptions/style/css.js +1 -1
- package/es/business/Dialog/Descriptions/style/index.js +1 -1
- package/es/business/Dialog/DetailsDialog/DetailsDialog.js +1 -1
- package/es/business/Dialog/DetailsDialog/index.js +1 -1
- package/es/business/Dialog/DetailsDialog/interface.js +1 -1
- package/es/business/Dialog/DetailsDialog/style/css.js +1 -1
- package/es/business/Dialog/DetailsDialog/style/index.js +1 -1
- package/es/business/Dialog/FormDialog/FormDialog.js +1 -1
- package/es/business/Dialog/FormDialog/index.js +1 -1
- package/es/business/Dialog/FormDialog/interface.js +1 -1
- package/es/business/Dialog/FormDialog/style/css.js +1 -1
- package/es/business/Dialog/FormDialog/style/index.js +1 -1
- package/es/business/Dialog/VerificationDialog/VerificationDialog.js +38 -39
- package/es/business/Dialog/VerificationDialog/constants.js +1 -1
- package/es/business/Dialog/VerificationDialog/index.js +1 -1
- package/es/business/Dialog/VerificationDialog/interface.js +1 -1
- package/es/business/Dialog/VerificationDialog/style/css.js +1 -1
- package/es/business/Dialog/VerificationDialog/style/index.js +1 -1
- package/es/business/Dialog/index.js +1 -1
- package/es/business/Dialog/variants/DeleteDialog.js +1 -1
- package/es/business/Dialog/variants/FailureDialog.js +1 -1
- package/es/business/Dialog/variants/LoadingDialog.js +17 -17
- package/es/business/Dialog/variants/PendingDialog.js +1 -1
- package/es/business/Dialog/variants/SuccessDialog.js +1 -1
- package/es/business/Dialog/variants/index.js +1 -1
- package/es/business/Dialog/variants/style/css.js +1 -1
- package/es/business/Dialog/variants/style/index.js +1 -1
- package/es/business/FieldList/index.js +1 -1
- package/es/business/FieldList/style/css.js +1 -1
- package/es/business/FieldList/style/index.js +1 -1
- package/es/business/Filter/Account/Account.js +1 -1
- package/es/business/Filter/Account/index.js +1 -1
- package/es/business/Filter/Account/interface.js +1 -1
- package/es/business/Filter/Account/style/css.js +1 -1
- package/es/business/Filter/Account/style/index.js +1 -1
- package/es/business/Filter/Asset/Asset.js +1 -1
- package/es/business/Filter/Asset/index.js +1 -1
- package/es/business/Filter/Asset/interface.js +1 -1
- package/es/business/Filter/Asset/style/css.js +1 -1
- package/es/business/Filter/Asset/style/index.js +1 -1
- package/es/business/Filter/DateRange/DateRange.js +14 -14
- package/es/business/Filter/DateRange/index.js +1 -1
- package/es/business/Filter/DateRange/interface.js +1 -1
- package/es/business/Filter/DateRange/style/css.js +1 -1
- package/es/business/Filter/DateRange/style/index.js +1 -1
- package/es/business/Filter/Option/Option.js +1 -1
- package/es/business/Filter/Option/index.js +1 -1
- package/es/business/Filter/Option/interface.js +1 -1
- package/es/business/Filter/Option/style/css.js +1 -1
- package/es/business/Filter/Option/style/index.js +1 -1
- package/es/business/Filter/index.js +1 -1
- package/es/business/Form/PageForm/PageForm.js +1 -1
- package/es/business/Form/PageForm/index.js +1 -1
- package/es/business/Form/PageForm/interface.js +1 -1
- package/es/business/Form/ResultForm/ResultForm.js +1 -1
- package/es/business/Form/ResultForm/index.js +1 -1
- package/es/business/Form/ResultForm/interface.js +1 -1
- package/es/business/Form/index.js +1 -1
- package/es/business/Form/variants/ExpiredForm.js +1 -1
- package/es/business/Form/variants/FailureForm.js +1 -1
- package/es/business/Form/variants/PendingForm.js +1 -1
- package/es/business/Form/variants/SuccessForm.js +1 -1
- package/es/business/Form/variants/index.js +1 -1
- package/es/business/Select/Asset/AssetSelect.js +1 -1
- package/es/business/Select/Asset/index.js +1 -1
- package/es/business/Select/Asset/interface.js +1 -1
- package/es/business/Select/Asset/style/css.js +1 -1
- package/es/business/Select/Asset/style/index.js +1 -1
- package/es/business/Select/Country/CountrySelect.js +71 -40
- package/es/business/Select/Country/index.js +1 -1
- package/es/business/Select/Country/interface.d.ts +31 -15
- package/es/business/Select/Country/interface.js +1 -1
- package/es/business/Select/Country/style/CountrySelect.css +33 -0
- package/es/business/Select/Country/style/css.js +2 -0
- package/es/business/Select/Country/style/index.d.ts +1 -0
- package/es/business/Select/Country/style/index.js +2 -0
- package/es/business/Select/Currency/CurrencySelect.js +1 -1
- package/es/business/Select/Currency/index.js +1 -1
- package/es/business/Select/Currency/interface.js +1 -1
- package/es/business/Select/Currency/style/css.js +1 -1
- package/es/business/Select/Currency/style/index.js +1 -1
- package/es/business/Select/Network/NetworkSelect.js +1 -1
- package/es/business/Select/Network/index.js +1 -1
- package/es/business/Select/Network/interface.js +1 -1
- package/es/business/Select/Network/style/css.js +1 -1
- package/es/business/Select/Network/style/index.js +1 -1
- package/es/business/Select/PaymentMethod/PaymentMethodSelect.js +1 -1
- package/es/business/Select/PaymentMethod/index.js +1 -1
- package/es/business/Select/PaymentMethod/interface.js +1 -1
- package/es/business/Select/PaymentMethod/style/css.js +1 -1
- package/es/business/Select/PaymentMethod/style/index.js +1 -1
- package/es/business/Select/index.js +1 -1
- package/es/business/index.js +1 -1
- package/es/business/shared/formCore/BaseProForm.js +1 -1
- package/es/business/shared/formCore/useFormDomId.js +1 -1
- package/es/business/shared/formCore/useRelayedFormRef.js +1 -1
- package/es/business/shared/formCore/useSubmitAction.js +19 -19
- package/es/components/Accordion/Accordion.js +1 -1
- package/es/components/Accordion/constants.js +1 -1
- package/es/components/Accordion/index.js +1 -1
- package/es/components/Accordion/interface.js +1 -1
- package/es/components/Accordion/style/css.js +1 -1
- package/es/components/Accordion/style/index.js +1 -1
- package/es/components/ActionBar/ActionBar.js +1 -1
- package/es/components/ActionBar/constants.js +1 -1
- package/es/components/ActionBar/index.js +1 -1
- package/es/components/ActionBar/interface.js +1 -1
- package/es/components/ActionBar/style/css.js +1 -1
- package/es/components/ActionBar/style/index.js +1 -1
- package/es/components/Alert/Alert.js +1 -1
- package/es/components/Alert/index.js +1 -1
- package/es/components/Alert/interface.js +1 -1
- package/es/components/Alert/style/css.js +1 -1
- package/es/components/Alert/style/index.js +1 -1
- package/es/components/Button/Button.js +1 -1
- package/es/components/Button/constants.js +1 -1
- package/es/components/Button/index.js +1 -1
- package/es/components/Button/interface.js +1 -1
- package/es/components/Button/style/css.js +1 -1
- package/es/components/Button/style/index.js +1 -1
- package/es/components/Calendar/Calendar.js +1 -1
- package/es/components/Calendar/constants.js +1 -1
- package/es/components/Calendar/index.js +1 -1
- package/es/components/Calendar/interface.js +1 -1
- package/es/components/Calendar/style/css.js +1 -1
- package/es/components/Calendar/style/index.js +1 -1
- package/es/components/Carousel/Carousel.js +1 -1
- package/es/components/Carousel/index.js +1 -1
- package/es/components/Carousel/interface.js +1 -1
- package/es/components/Carousel/style/css.js +1 -1
- package/es/components/Carousel/style/index.js +1 -1
- package/es/components/Cell/Cell.js +1 -1
- package/es/components/Cell/index.js +1 -1
- package/es/components/Cell/interface.js +1 -1
- package/es/components/Cell/style/css.js +1 -1
- package/es/components/Cell/style/index.js +1 -1
- package/es/components/Checkbox/BaseCheckbox.js +1 -1
- package/es/components/Checkbox/Checkbox.js +1 -1
- package/es/components/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/Checkbox/CheckboxGroupContext.js +1 -1
- package/es/components/Checkbox/constants.js +1 -1
- package/es/components/Checkbox/index.js +1 -1
- package/es/components/Checkbox/interface.js +1 -1
- package/es/components/Checkbox/style/css.js +1 -1
- package/es/components/Checkbox/style/index.js +1 -1
- package/es/components/CoachMark/CoachMark.js +1 -1
- package/es/components/CoachMark/index.js +1 -1
- package/es/components/CoachMark/interface.js +1 -1
- package/es/components/CoachMark/style/css.js +1 -1
- package/es/components/CoachMark/style/index.js +1 -1
- package/es/components/Copy/Clipboard.js +1 -1
- package/es/components/Copy/Copy.js +1 -1
- package/es/components/Copy/index.js +1 -1
- package/es/components/Copy/interface.js +1 -1
- package/es/components/Copy/style/css.js +1 -1
- package/es/components/Copy/style/index.js +1 -1
- package/es/components/Dialog/Dialog.js +1 -1
- package/es/components/Dialog/DialogContent.js +1 -1
- package/es/components/Dialog/DialogControls.js +1 -1
- package/es/components/Dialog/className.js +1 -1
- package/es/components/Dialog/constants.js +1 -1
- package/es/components/Dialog/hooks.js +1 -1
- package/es/components/Dialog/index.js +1 -1
- package/es/components/Dialog/interface.js +1 -1
- package/es/components/Dialog/style/css.js +1 -1
- package/es/components/Dialog/style/index.js +1 -1
- package/es/components/Dialog/types.js +1 -1
- package/es/components/Divider/Divider.js +1 -1
- package/es/components/Divider/constants.js +1 -1
- package/es/components/Divider/index.js +1 -1
- package/es/components/Divider/interface.js +1 -1
- package/es/components/Divider/style/css.js +1 -1
- package/es/components/Divider/style/index.js +1 -1
- package/es/components/Drawer/Drawer.js +1 -1
- package/es/components/Drawer/constants.js +1 -1
- package/es/components/Drawer/hooks/index.js +1 -1
- package/es/components/Drawer/hooks/useBodyScrollLock.js +1 -1
- package/es/components/Drawer/hooks/useDialogFocus.js +1 -1
- package/es/components/Drawer/hooks/useDrawerTransition.js +1 -1
- package/es/components/Drawer/hooks/useEscapeClose.js +1 -1
- package/es/components/Drawer/index.js +1 -1
- package/es/components/Drawer/interface.js +1 -1
- package/es/components/Drawer/style/css.js +1 -1
- package/es/components/Drawer/style/index.js +1 -1
- package/es/components/Dropdown/Dropdown.js +1 -1
- package/es/components/Dropdown/index.js +1 -1
- package/es/components/Dropdown/interface.js +1 -1
- package/es/components/Dropdown/style/css.js +1 -1
- package/es/components/Dropdown/style/index.js +1 -1
- package/es/components/Empty/Empty.js +1 -1
- package/es/components/Empty/index.js +1 -1
- package/es/components/Empty/interface.js +1 -1
- package/es/components/Empty/style/css.js +1 -1
- package/es/components/Empty/style/index.js +1 -1
- package/es/components/Filter/Filter.js +1 -1
- package/es/components/Filter/index.js +1 -1
- package/es/components/Filter/interface.js +1 -1
- package/es/components/Filter/style/css.js +1 -1
- package/es/components/Filter/style/index.js +1 -1
- package/es/components/Flex/Flex.js +1 -1
- package/es/components/Flex/constants.js +1 -1
- package/es/components/Flex/index.js +1 -1
- package/es/components/Flex/interface.js +1 -1
- package/es/components/Flex/style/css.js +1 -1
- package/es/components/Flex/style/index.js +1 -1
- package/es/components/FormLayout/FormLayout.js +1 -1
- package/es/components/FormLayout/config.js +1 -1
- package/es/components/FormLayout/context.js +1 -1
- package/es/components/FormLayout/index.js +1 -1
- package/es/components/FormLayout/interface.js +1 -1
- package/es/components/FormLayout/style/css.js +1 -1
- package/es/components/FormLayout/style/index.js +1 -1
- package/es/components/Grid/Col.js +1 -1
- package/es/components/Grid/Grid.js +1 -1
- package/es/components/Grid/Row.js +1 -1
- package/es/components/Grid/constants.js +1 -1
- package/es/components/Grid/helper.js +1 -1
- package/es/components/Grid/index.js +1 -1
- package/es/components/Grid/interface.js +1 -1
- package/es/components/Grid/style/css.js +1 -1
- package/es/components/Grid/style/index.js +1 -1
- package/es/components/Icons/Icons.js +1 -1
- package/es/components/Icons/Illustrations.js +15 -15
- package/es/components/Icons/Logo.js +1 -1
- package/es/components/Icons/SVGs.js +1 -1
- package/es/components/Icons/Wrapper.js +1 -1
- package/es/components/Icons/constants.js +1 -1
- package/es/components/Icons/index.js +1 -1
- package/es/components/Icons/interface.js +1 -1
- package/es/components/Icons/style/css.js +1 -1
- package/es/components/Icons/style/index.js +1 -1
- package/es/components/Input/Amount/Amount.js +1 -1
- package/es/components/Input/Amount/helper.js +1 -1
- package/es/components/Input/Amount/index.js +1 -1
- package/es/components/Input/Amount/style/css.js +1 -1
- package/es/components/Input/Amount/style/index.js +1 -1
- package/es/components/Input/FieldShell/FieldShell.js +1 -1
- package/es/components/Input/FieldShell/index.js +1 -1
- package/es/components/Input/Input/Input.js +1 -1
- package/es/components/Input/Input/index.js +1 -1
- package/es/components/Input/Mask/Mask.js +1 -1
- package/es/components/Input/Mask/index.js +1 -1
- package/es/components/Input/OTP/OTP.js +1 -1
- package/es/components/Input/OTP/index.js +1 -1
- package/es/components/Input/Password/Password.js +1 -1
- package/es/components/Input/Password/index.js +1 -1
- package/es/components/Input/Search/Search.js +1 -1
- package/es/components/Input/Search/index.js +1 -1
- package/es/components/Input/TextArea/TextArea.js +1 -1
- package/es/components/Input/TextArea/index.js +1 -1
- package/es/components/Input/Trade/Trade.js +1 -1
- package/es/components/Input/Trade/index.js +1 -1
- package/es/components/Input/constants.js +1 -1
- package/es/components/Input/index.js +1 -1
- package/es/components/Input/interface.js +1 -1
- package/es/components/Input/style/css.js +1 -1
- package/es/components/Input/style/index.js +1 -1
- package/es/components/Input/useAmountInput.js +1 -1
- package/es/components/Input/useSyncRef.js +1 -1
- package/es/components/Link/Link.js +1 -1
- package/es/components/Link/constants.js +1 -1
- package/es/components/Link/index.js +1 -1
- package/es/components/Link/interface.js +1 -1
- package/es/components/Link/style/css.js +1 -1
- package/es/components/Link/style/index.js +1 -1
- package/es/components/Navigation/Nav.js +1 -1
- package/es/components/Navigation/Navigation.js +1 -1
- package/es/components/Navigation/NavigationLogo.js +1 -1
- package/es/components/Navigation/NavigationStepper.js +1 -1
- package/es/components/Navigation/index.js +1 -1
- package/es/components/Navigation/interface.js +1 -1
- package/es/components/Navigation/style/css.js +1 -1
- package/es/components/Navigation/style/index.js +1 -1
- package/es/components/Notification/Notification.js +1 -1
- package/es/components/Notification/NotificationStatic.js +27 -32
- package/es/components/Notification/constants.js +1 -1
- package/es/components/Notification/index.js +1 -1
- package/es/components/Notification/interface.js +1 -1
- package/es/components/Notification/style/css.js +1 -1
- package/es/components/Notification/style/index.js +1 -1
- package/es/components/Pagination/Pagination.js +1 -1
- package/es/components/Pagination/constants.js +1 -1
- package/es/components/Pagination/index.js +1 -1
- package/es/components/Pagination/interface.js +1 -1
- package/es/components/Pagination/style/css.js +1 -1
- package/es/components/Pagination/style/index.js +1 -1
- package/es/components/Pagination/usePagination.js +1 -1
- package/es/components/PanelLayout/PanelLayout.js +1 -1
- package/es/components/PanelLayout/constants.js +1 -1
- package/es/components/PanelLayout/index.js +1 -1
- package/es/components/PanelLayout/interface.js +1 -1
- package/es/components/PanelLayout/style/css.js +1 -1
- package/es/components/PanelLayout/style/index.js +1 -1
- package/es/components/Popconfirm/Popconfirm.js +1 -1
- package/es/components/Popconfirm/constants.js +1 -1
- package/es/components/Popconfirm/index.js +1 -1
- package/es/components/Popconfirm/interface.js +1 -1
- package/es/components/Popconfirm/style/css.js +1 -1
- package/es/components/Popconfirm/style/index.js +1 -1
- package/es/components/Portal/Portal.js +1 -1
- package/es/components/Portal/index.js +1 -1
- package/es/components/Portal/interface.js +1 -1
- package/es/components/ProForm/ProForm.js +47 -51
- package/es/components/ProForm/ProFormDependency.js +1 -1
- package/es/components/ProForm/ProFormGroup.js +1 -1
- package/es/components/ProForm/ProFormItem.js +1 -1
- package/es/components/ProForm/ProFormList.js +1 -1
- package/es/components/ProForm/SchemaForm.js +1 -1
- package/es/components/ProForm/Submitter.js +8 -8
- package/es/components/ProForm/constants.js +1 -1
- package/es/components/ProForm/context.js +1 -1
- package/es/components/ProForm/core/constants.js +1 -1
- package/es/components/ProForm/core/devWarning.js +1 -1
- package/es/components/ProForm/core/formStore.js +1 -1
- package/es/components/ProForm/core/hooks/useForm.js +77 -88
- package/es/components/ProForm/core/hooks/useFormCore.js +1 -1
- package/es/components/ProForm/core/index.js +1 -1
- package/es/components/ProForm/core/interface.js +1 -1
- package/es/components/ProForm/core/namePathType.js +1 -1
- package/es/components/ProForm/core/pathUtils.js +1 -1
- package/es/components/ProForm/core/runRules.js +56 -61
- package/es/components/ProForm/core/useFormItem.js +1 -1
- package/es/components/ProForm/core/validationError.js +1 -1
- package/es/components/ProForm/fields/ProFormCheckbox.js +1 -1
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +1 -1
- package/es/components/ProForm/fields/ProFormDatePicker.js +1 -1
- package/es/components/ProForm/fields/ProFormFieldSet.js +1 -1
- package/es/components/ProForm/fields/ProFormPassword.js +1 -1
- package/es/components/ProForm/fields/ProFormRadioGroup.js +1 -1
- package/es/components/ProForm/fields/ProFormSelect.js +1 -1
- package/es/components/ProForm/fields/ProFormSlider.js +1 -1
- package/es/components/ProForm/fields/ProFormSwitch.js +1 -1
- package/es/components/ProForm/fields/ProFormText.js +1 -1
- package/es/components/ProForm/fields/ProFormTextArea.js +1 -1
- package/es/components/ProForm/fields/ProFormUpload.js +1 -1
- package/es/components/ProForm/fields/createProFormField.js +1 -1
- package/es/components/ProForm/fields/index.js +1 -1
- package/es/components/ProForm/hooks/useFieldRequest.js +19 -19
- package/es/components/ProForm/hooks/useUrlSync.js +1 -1
- package/es/components/ProForm/index.js +1 -1
- package/es/components/ProForm/interface.js +1 -1
- package/es/components/ProForm/layouts/DialogForm.js +1 -1
- package/es/components/ProForm/layouts/DrawerForm.js +1 -1
- package/es/components/ProForm/layouts/QueryFilter.js +1 -1
- package/es/components/ProForm/layouts/index.js +1 -1
- package/es/components/ProForm/layouts/useOverlayForm.js +9 -11
- package/es/components/ProForm/style/css.js +1 -1
- package/es/components/ProForm/style/index.js +1 -1
- package/es/components/ProForm/utils.js +1 -1
- package/es/components/ProTable/ProTable.js +8 -8
- package/es/components/ProTable/constants.js +1 -1
- package/es/components/ProTable/core/genColumns.js +1 -1
- package/es/components/ProTable/core/genSearchFields.js +1 -1
- package/es/components/ProTable/core/useAwaitableReload.js +1 -1
- package/es/components/ProTable/core/utils.js +1 -1
- package/es/components/ProTable/index.js +1 -1
- package/es/components/ProTable/interface.js +1 -1
- package/es/components/ProTable/style/css.js +1 -1
- package/es/components/ProTable/style/index.js +1 -1
- package/es/components/ProTable/useFetchData.js +23 -23
- package/es/components/Progress/Progress.js +1 -1
- package/es/components/Progress/constants.js +1 -1
- package/es/components/Progress/index.js +1 -1
- package/es/components/Progress/interface.js +1 -1
- package/es/components/Progress/style/css.js +1 -1
- package/es/components/Progress/style/index.js +1 -1
- package/es/components/Radio/BaseRadio.js +1 -1
- package/es/components/Radio/Radio.js +1 -1
- package/es/components/Radio/RadioGroup.js +1 -1
- package/es/components/Radio/RadioGroupContext.js +1 -1
- package/es/components/Radio/constants.js +1 -1
- package/es/components/Radio/index.js +1 -1
- package/es/components/Radio/interface.js +1 -1
- package/es/components/Radio/style/css.js +1 -1
- package/es/components/Radio/style/index.js +1 -1
- package/es/components/ResizeObserver/Collection.js +1 -1
- package/es/components/ResizeObserver/ResizeObserver.js +1 -1
- package/es/components/ResizeObserver/SingleObserver/index.js +1 -1
- package/es/components/ResizeObserver/index.js +1 -1
- package/es/components/ResizeObserver/interface.js +1 -1
- package/es/components/ResizeObserver/useResizeObserver.js +1 -1
- package/es/components/ResizeObserver/utils/observerUtil.js +1 -1
- package/es/components/ResizeObserver/utils/reactUtil.js +1 -1
- package/es/components/Segment/Segment.js +1 -1
- package/es/components/Segment/index.js +1 -1
- package/es/components/Segment/interface.js +1 -1
- package/es/components/Segment/style/css.js +1 -1
- package/es/components/Segment/style/index.js +1 -1
- package/es/components/Select/Select.js +1 -1
- package/es/components/Select/SelectCustom.js +1 -1
- package/es/components/Select/SelectFieldShell.js +1 -1
- package/es/components/Select/SelectOptionContent.js +8 -1
- package/es/components/Select/SelectSearchControl.js +1 -1
- package/es/components/Select/SelectValueContent.js +1 -1
- package/es/components/Select/constants.js +1 -1
- package/es/components/Select/index.js +1 -1
- package/es/components/Select/interface.d.ts +9 -0
- package/es/components/Select/interface.js +1 -1
- package/es/components/Select/style/Select.css +7 -0
- package/es/components/Select/style/css.js +1 -1
- package/es/components/Select/style/index.js +1 -1
- package/es/components/Select/useSelectShell.js +1 -1
- package/es/components/Select/utils.js +1 -1
- package/es/components/Skeleton/Skeleton.js +1 -1
- package/es/components/Skeleton/index.js +1 -1
- package/es/components/Skeleton/interface.js +1 -1
- package/es/components/Skeleton/style/css.js +1 -1
- package/es/components/Skeleton/style/index.js +1 -1
- package/es/components/Slider/Slider.js +1 -1
- package/es/components/Slider/index.js +1 -1
- package/es/components/Slider/interface.js +1 -1
- package/es/components/Slider/style/css.js +1 -1
- package/es/components/Slider/style/index.js +1 -1
- package/es/components/Space/Space.js +1 -1
- package/es/components/Space/constants.js +1 -1
- package/es/components/Space/index.js +1 -1
- package/es/components/Space/interface.js +1 -1
- package/es/components/Space/style/css.js +1 -1
- package/es/components/Space/style/index.js +1 -1
- package/es/components/Spinner/Spinner.js +11 -11
- package/es/components/Spinner/index.js +1 -1
- package/es/components/Spinner/interface.js +1 -1
- package/es/components/Spinner/style/css.js +1 -1
- package/es/components/Spinner/style/index.js +1 -1
- package/es/components/Step/Step.js +1 -1
- package/es/components/Step/constants.js +1 -1
- package/es/components/Step/index.js +1 -1
- package/es/components/Step/interface.js +1 -1
- package/es/components/Step/style/css.js +1 -1
- package/es/components/Step/style/index.js +1 -1
- package/es/components/Switch/Switch.js +1 -1
- package/es/components/Switch/constants.js +1 -1
- package/es/components/Switch/index.js +1 -1
- package/es/components/Switch/interface.js +1 -1
- package/es/components/Switch/style/css.js +1 -1
- package/es/components/Switch/style/index.js +1 -1
- package/es/components/Table/Table.js +1 -1
- package/es/components/Table/VirtualTable.js +1 -1
- package/es/components/Table/constants.js +1 -1
- package/es/components/Table/core/columnUtil.js +1 -1
- package/es/components/Table/core/useTableColumns.js +1 -1
- package/es/components/Table/core/useTableDataPipeline.js +1 -1
- package/es/components/Table/core/useTableExpand.js +1 -1
- package/es/components/Table/core/useTableSelection.js +1 -1
- package/es/components/Table/core/useTableSetup.d.ts +7 -1
- package/es/components/Table/core/useTableSetup.js +5 -3
- package/es/components/Table/features/ExpandTrigger.js +1 -1
- package/es/components/Table/features/FilterTrigger.js +1 -1
- package/es/components/Table/features/SelectionColumn.js +1 -1
- package/es/components/Table/features/SortTrigger.js +1 -1
- package/es/components/Table/index.js +1 -1
- package/es/components/Table/interface.js +1 -1
- package/es/components/Table/internal/index.js +1 -1
- package/es/components/Table/internal/kernel/Body/BodyRow.js +1 -1
- package/es/components/Table/internal/kernel/Body/ExpandedRow.js +1 -1
- package/es/components/Table/internal/kernel/Body/MeasureCell.js +1 -1
- package/es/components/Table/internal/kernel/Body/MeasureRow.js +1 -1
- package/es/components/Table/internal/kernel/Body/index.js +1 -1
- package/es/components/Table/internal/kernel/Cell/index.js +1 -1
- package/es/components/Table/internal/kernel/Cell/useCellRender.js +1 -1
- package/es/components/Table/internal/kernel/Cell/useHoverState.js +1 -1
- package/es/components/Table/internal/kernel/ColGroup.js +1 -1
- package/es/components/Table/internal/kernel/FixedHolder/index.js +1 -1
- package/es/components/Table/internal/kernel/Footer/Cell.js +1 -1
- package/es/components/Table/internal/kernel/Footer/Row.js +1 -1
- package/es/components/Table/internal/kernel/Footer/Summary.js +1 -1
- package/es/components/Table/internal/kernel/Footer/SummaryContext.js +1 -1
- package/es/components/Table/internal/kernel/Footer/index.js +1 -1
- package/es/components/Table/internal/kernel/Header/Header.js +1 -1
- package/es/components/Table/internal/kernel/Header/HeaderRow.js +1 -1
- package/es/components/Table/internal/kernel/Panel/index.js +1 -1
- package/es/components/Table/internal/kernel/Table.js +8 -8
- package/es/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -1
- package/es/components/Table/internal/kernel/VirtualTable/BodyLine.js +1 -1
- package/es/components/Table/internal/kernel/VirtualTable/VirtualCell.js +1 -1
- package/es/components/Table/internal/kernel/VirtualTable/context.js +1 -1
- package/es/components/Table/internal/kernel/VirtualTable/index.js +1 -1
- package/es/components/Table/internal/kernel/constant.js +1 -1
- package/es/components/Table/internal/kernel/context/PerfContext.js +1 -1
- package/es/components/Table/internal/kernel/context/TableContext.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useColumns/index.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useColumns/useWidthColumns.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useExpand.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useFixedInfo.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useFlattenRecords.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useFrame.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useHover.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useRenderTimes.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useRowInfo.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useSticky.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useStickyOffsets.js +1 -1
- package/es/components/Table/internal/kernel/index.js +1 -1
- package/es/components/Table/internal/kernel/interface.js +1 -1
- package/es/components/Table/internal/kernel/namePathType.js +1 -1
- package/es/components/Table/internal/kernel/selector-context/Immutable.js +1 -1
- package/es/components/Table/internal/kernel/selector-context/context.js +1 -1
- package/es/components/Table/internal/kernel/selector-context/index.js +1 -1
- package/es/components/Table/internal/kernel/selector-context/isEqual.js +1 -1
- package/es/components/Table/internal/kernel/stickyScrollBar.js +1 -1
- package/es/components/Table/internal/kernel/sugar/Column.js +1 -1
- package/es/components/Table/internal/kernel/sugar/ColumnGroup.js +1 -1
- package/es/components/Table/internal/kernel/utils/dom/canUseDom.js +1 -1
- package/es/components/Table/internal/kernel/utils/dom/isVisible.js +1 -1
- package/es/components/Table/internal/kernel/utils/expandUtil.js +1 -1
- package/es/components/Table/internal/kernel/utils/fixUtil.js +1 -1
- package/es/components/Table/internal/kernel/utils/get.js +1 -1
- package/es/components/Table/internal/kernel/utils/getScrollBarSize.js +1 -1
- package/es/components/Table/internal/kernel/utils/legacyUtil.js +1 -1
- package/es/components/Table/internal/kernel/utils/offsetUtil.js +1 -1
- package/es/components/Table/internal/kernel/utils/pickAttrs.js +1 -1
- package/es/components/Table/internal/kernel/utils/useMemo.js +1 -1
- package/es/components/Table/internal/kernel/utils/valueUtil.js +1 -1
- package/es/components/Table/internal/kernel/utils/warning.js +1 -1
- package/es/components/Table/renderers/BodyCell.js +1 -1
- package/es/components/Table/renderers/CellContent.js +1 -1
- package/es/components/Table/renderers/EmptyState.js +1 -1
- package/es/components/Table/renderers/ExpandedRowContainer.js +1 -1
- package/es/components/Table/renderers/HeaderCell.js +1 -1
- package/es/components/Table/renderers/TableShell.js +1 -1
- package/es/components/Table/style/css.js +1 -1
- package/es/components/Table/style/index.js +1 -1
- package/es/components/Tabs/Tabs.js +1 -1
- package/es/components/Tabs/index.js +1 -1
- package/es/components/Tabs/interface.js +1 -1
- package/es/components/Tabs/style/css.js +1 -1
- package/es/components/Tabs/style/index.js +1 -1
- package/es/components/Tag/Tag.js +1 -1
- package/es/components/Tag/constants.js +1 -1
- package/es/components/Tag/index.js +1 -1
- package/es/components/Tag/interface.js +1 -1
- package/es/components/Tag/style/css.js +1 -1
- package/es/components/Tag/style/index.js +1 -1
- package/es/components/Tooltip/Tooltip.js +1 -1
- package/es/components/Tooltip/index.js +1 -1
- package/es/components/Tooltip/interface.js +1 -1
- package/es/components/Tooltip/style/css.js +1 -1
- package/es/components/Tooltip/style/index.js +1 -1
- package/es/components/Tour/Tour.js +1 -1
- package/es/components/Tour/index.js +1 -1
- package/es/components/Tour/interface.js +1 -1
- package/es/components/Trigger/Trigger.js +1 -1
- package/es/components/Trigger/index.js +1 -1
- package/es/components/Trigger/interface.js +1 -1
- package/es/components/Trigger/style/css.js +1 -1
- package/es/components/Trigger/style/index.js +1 -1
- package/es/components/Typography/Typography.js +1 -1
- package/es/components/Typography/constants.js +1 -1
- package/es/components/Typography/index.js +1 -1
- package/es/components/Typography/interface.js +1 -1
- package/es/components/Typography/render.js +1 -1
- package/es/components/Typography/style/css.js +1 -1
- package/es/components/Typography/style/index.js +1 -1
- package/es/components/Typography/useTypographyEnhancements.js +1 -1
- package/es/components/Typography/utils.js +1 -1
- package/es/components/Upload/Upload.js +1 -1
- package/es/components/Upload/UploadFileBar.js +1 -1
- package/es/components/Upload/index.js +1 -1
- package/es/components/Upload/interface.js +1 -1
- package/es/components/Upload/style/css.js +1 -1
- package/es/components/Upload/style/index.js +1 -1
- package/es/components/VirtualList/Filler.js +1 -1
- package/es/components/VirtualList/Item.js +1 -1
- package/es/components/VirtualList/ScrollBar.js +1 -1
- package/es/components/VirtualList/VirtualList.js +27 -13
- package/es/components/VirtualList/constants.js +1 -1
- package/es/components/VirtualList/hooks/useChildren.js +1 -1
- package/es/components/VirtualList/hooks/useDiffItem.js +1 -1
- package/es/components/VirtualList/hooks/useFrameWheel.js +1 -1
- package/es/components/VirtualList/hooks/useGetSize.js +1 -1
- package/es/components/VirtualList/hooks/useHeights.js +1 -1
- package/es/components/VirtualList/hooks/useMobileTouchMove.js +1 -1
- package/es/components/VirtualList/hooks/useOriginScroll.js +1 -1
- package/es/components/VirtualList/hooks/useScrollDrag.js +1 -1
- package/es/components/VirtualList/hooks/useScrollTo.js +1 -1
- package/es/components/VirtualList/index.js +1 -1
- package/es/components/VirtualList/interface.js +1 -1
- package/es/components/VirtualList/style/css.js +1 -1
- package/es/components/VirtualList/style/index.js +1 -1
- package/es/components/VirtualList/utils/CacheMap.js +1 -1
- package/es/components/VirtualList/utils/algorithmUtil.js +1 -1
- package/es/components/VirtualList/utils/isFirefox.js +1 -1
- package/es/components/VirtualList/utils/raf.js +1 -1
- package/es/components/VirtualList/utils/scrollbarUtil.js +1 -1
- package/es/hooks/index.js +1 -1
- package/es/hooks/useFloatingAnimation.js +1 -1
- package/es/index.css +1 -1
- package/es/index.js +1 -1
- package/es/stories/docs/ComponentDocsPage.js +1 -1
- package/es/stories/docs/componentDocMeta.js +1 -1
- package/es/utils/classnames.js +1 -1
- package/es/utils/clipboard.js +1 -1
- package/es/utils/devWarn.js +1 -1
- package/es/utils/ref.js +1 -1
- package/es/utils/uuid.js +1 -1
- package/lib/business/Dialog/BaseDialog/BaseDialog.js +2 -3
- package/lib/business/Dialog/BaseDialog/constants.js +1 -1
- package/lib/business/Dialog/BaseDialog/index.js +1 -1
- package/lib/business/Dialog/BaseDialog/interface.js +1 -1
- package/lib/business/Dialog/Descriptions/Descriptions.js +2 -3
- package/lib/business/Dialog/Descriptions/constants.js +1 -1
- package/lib/business/Dialog/Descriptions/index.js +1 -1
- package/lib/business/Dialog/Descriptions/interface.js +1 -1
- package/lib/business/Dialog/Descriptions/style/css.js +1 -1
- package/lib/business/Dialog/Descriptions/style/index.js +1 -1
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +2 -3
- package/lib/business/Dialog/DetailsDialog/index.js +1 -1
- package/lib/business/Dialog/DetailsDialog/interface.js +1 -1
- package/lib/business/Dialog/DetailsDialog/style/css.js +1 -1
- package/lib/business/Dialog/DetailsDialog/style/index.js +1 -1
- package/lib/business/Dialog/FormDialog/FormDialog.js +2 -3
- package/lib/business/Dialog/FormDialog/index.js +1 -1
- package/lib/business/Dialog/FormDialog/interface.js +1 -1
- package/lib/business/Dialog/FormDialog/style/css.js +1 -1
- package/lib/business/Dialog/FormDialog/style/index.js +1 -1
- package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +39 -41
- package/lib/business/Dialog/VerificationDialog/constants.js +1 -1
- package/lib/business/Dialog/VerificationDialog/index.js +1 -1
- package/lib/business/Dialog/VerificationDialog/interface.js +1 -1
- package/lib/business/Dialog/VerificationDialog/style/css.js +1 -1
- package/lib/business/Dialog/VerificationDialog/style/index.js +1 -1
- package/lib/business/Dialog/index.js +1 -1
- package/lib/business/Dialog/variants/DeleteDialog.js +1 -1
- package/lib/business/Dialog/variants/FailureDialog.js +1 -1
- package/lib/business/Dialog/variants/LoadingDialog.js +18 -19
- package/lib/business/Dialog/variants/PendingDialog.js +1 -1
- package/lib/business/Dialog/variants/SuccessDialog.js +1 -1
- package/lib/business/Dialog/variants/index.js +1 -1
- package/lib/business/Dialog/variants/style/css.js +1 -1
- package/lib/business/Dialog/variants/style/index.js +1 -1
- package/lib/business/FieldList/index.js +2 -3
- package/lib/business/FieldList/style/css.js +1 -1
- package/lib/business/FieldList/style/index.js +1 -1
- package/lib/business/Filter/Account/Account.js +1 -1
- package/lib/business/Filter/Account/index.js +1 -1
- package/lib/business/Filter/Account/interface.js +1 -1
- package/lib/business/Filter/Account/style/css.js +1 -1
- package/lib/business/Filter/Account/style/index.js +1 -1
- package/lib/business/Filter/Asset/Asset.js +1 -1
- package/lib/business/Filter/Asset/index.js +1 -1
- package/lib/business/Filter/Asset/interface.js +1 -1
- package/lib/business/Filter/Asset/style/css.js +1 -1
- package/lib/business/Filter/Asset/style/index.js +1 -1
- package/lib/business/Filter/DateRange/DateRange.js +14 -14
- package/lib/business/Filter/DateRange/index.js +1 -1
- package/lib/business/Filter/DateRange/interface.js +1 -1
- package/lib/business/Filter/DateRange/style/css.js +1 -1
- package/lib/business/Filter/DateRange/style/index.js +1 -1
- package/lib/business/Filter/Option/Option.js +1 -1
- package/lib/business/Filter/Option/index.js +1 -1
- package/lib/business/Filter/Option/interface.js +1 -1
- package/lib/business/Filter/Option/style/css.js +1 -1
- package/lib/business/Filter/Option/style/index.js +1 -1
- package/lib/business/Filter/index.js +1 -1
- package/lib/business/Form/PageForm/PageForm.js +1 -1
- package/lib/business/Form/PageForm/index.js +1 -1
- package/lib/business/Form/PageForm/interface.js +1 -1
- package/lib/business/Form/ResultForm/ResultForm.js +1 -1
- package/lib/business/Form/ResultForm/index.js +1 -1
- package/lib/business/Form/ResultForm/interface.js +1 -1
- package/lib/business/Form/index.js +1 -1
- package/lib/business/Form/variants/ExpiredForm.js +1 -1
- package/lib/business/Form/variants/FailureForm.js +1 -1
- package/lib/business/Form/variants/PendingForm.js +1 -1
- package/lib/business/Form/variants/SuccessForm.js +1 -1
- package/lib/business/Form/variants/index.js +1 -1
- package/lib/business/Select/Asset/AssetSelect.js +1 -1
- package/lib/business/Select/Asset/index.js +1 -1
- package/lib/business/Select/Asset/interface.js +1 -1
- package/lib/business/Select/Asset/style/css.js +1 -1
- package/lib/business/Select/Asset/style/index.js +1 -1
- package/lib/business/Select/Country/CountrySelect.js +71 -40
- package/lib/business/Select/Country/index.js +1 -1
- package/lib/business/Select/Country/interface.d.ts +31 -15
- package/lib/business/Select/Country/interface.js +1 -1
- package/lib/business/Select/Country/style/CountrySelect.css +33 -0
- package/lib/business/Select/Country/style/css.js +4 -0
- package/lib/business/Select/Country/style/index.d.ts +1 -0
- package/lib/business/Select/Country/style/index.js +4 -0
- package/lib/business/Select/Currency/CurrencySelect.js +1 -1
- package/lib/business/Select/Currency/index.js +1 -1
- package/lib/business/Select/Currency/interface.js +1 -1
- package/lib/business/Select/Currency/style/css.js +1 -1
- package/lib/business/Select/Currency/style/index.js +1 -1
- package/lib/business/Select/Network/NetworkSelect.js +1 -1
- package/lib/business/Select/Network/index.js +1 -1
- package/lib/business/Select/Network/interface.js +1 -1
- package/lib/business/Select/Network/style/css.js +1 -1
- package/lib/business/Select/Network/style/index.js +1 -1
- package/lib/business/Select/PaymentMethod/PaymentMethodSelect.js +1 -1
- package/lib/business/Select/PaymentMethod/index.js +1 -1
- package/lib/business/Select/PaymentMethod/interface.js +1 -1
- package/lib/business/Select/PaymentMethod/style/css.js +1 -1
- package/lib/business/Select/PaymentMethod/style/index.js +1 -1
- package/lib/business/Select/index.js +1 -1
- package/lib/business/index.js +1 -1
- package/lib/business/shared/formCore/BaseProForm.js +1 -1
- package/lib/business/shared/formCore/useFormDomId.js +1 -1
- package/lib/business/shared/formCore/useRelayedFormRef.js +1 -1
- package/lib/business/shared/formCore/useSubmitAction.js +19 -19
- package/lib/components/Accordion/Accordion.js +2 -3
- package/lib/components/Accordion/constants.js +1 -1
- package/lib/components/Accordion/index.js +2 -3
- package/lib/components/Accordion/interface.js +1 -1
- package/lib/components/Accordion/style/css.js +1 -1
- package/lib/components/Accordion/style/index.js +1 -1
- package/lib/components/ActionBar/ActionBar.js +2 -3
- package/lib/components/ActionBar/constants.js +1 -1
- package/lib/components/ActionBar/index.js +1 -1
- package/lib/components/ActionBar/interface.js +1 -1
- package/lib/components/ActionBar/style/css.js +1 -1
- package/lib/components/ActionBar/style/index.js +1 -1
- package/lib/components/Alert/Alert.js +2 -3
- package/lib/components/Alert/index.js +2 -3
- package/lib/components/Alert/interface.js +1 -1
- package/lib/components/Alert/style/css.js +1 -1
- package/lib/components/Alert/style/index.js +1 -1
- package/lib/components/Button/Button.js +2 -3
- package/lib/components/Button/constants.js +1 -1
- package/lib/components/Button/index.js +2 -3
- package/lib/components/Button/interface.js +1 -1
- package/lib/components/Button/style/css.js +1 -1
- package/lib/components/Button/style/index.js +1 -1
- package/lib/components/Calendar/Calendar.js +2 -3
- package/lib/components/Calendar/constants.js +1 -1
- package/lib/components/Calendar/index.js +2 -3
- package/lib/components/Calendar/interface.js +1 -1
- package/lib/components/Calendar/style/css.js +1 -1
- package/lib/components/Calendar/style/index.js +1 -1
- package/lib/components/Carousel/Carousel.js +2 -3
- package/lib/components/Carousel/index.js +2 -3
- package/lib/components/Carousel/interface.js +1 -1
- package/lib/components/Carousel/style/css.js +1 -1
- package/lib/components/Carousel/style/index.js +1 -1
- package/lib/components/Cell/Cell.js +2 -3
- package/lib/components/Cell/index.js +2 -3
- package/lib/components/Cell/interface.js +1 -1
- package/lib/components/Cell/style/css.js +1 -1
- package/lib/components/Cell/style/index.js +1 -1
- package/lib/components/Checkbox/BaseCheckbox.js +2 -3
- package/lib/components/Checkbox/Checkbox.js +2 -3
- package/lib/components/Checkbox/CheckboxGroup.js +2 -3
- package/lib/components/Checkbox/CheckboxGroupContext.js +1 -1
- package/lib/components/Checkbox/constants.js +1 -1
- package/lib/components/Checkbox/index.js +2 -3
- package/lib/components/Checkbox/interface.js +1 -1
- package/lib/components/Checkbox/style/css.js +1 -1
- package/lib/components/Checkbox/style/index.js +1 -1
- package/lib/components/CoachMark/CoachMark.js +2 -3
- package/lib/components/CoachMark/index.js +2 -3
- package/lib/components/CoachMark/interface.js +1 -1
- package/lib/components/CoachMark/style/css.js +1 -1
- package/lib/components/CoachMark/style/index.js +1 -1
- package/lib/components/Copy/Clipboard.js +2 -3
- package/lib/components/Copy/Copy.js +2 -3
- package/lib/components/Copy/index.js +2 -3
- package/lib/components/Copy/interface.js +1 -1
- package/lib/components/Copy/style/css.js +1 -1
- package/lib/components/Copy/style/index.js +1 -1
- package/lib/components/Dialog/Dialog.js +1 -1
- package/lib/components/Dialog/DialogContent.js +1 -1
- package/lib/components/Dialog/DialogControls.js +1 -1
- package/lib/components/Dialog/className.js +1 -1
- package/lib/components/Dialog/constants.js +1 -1
- package/lib/components/Dialog/hooks.js +1 -1
- package/lib/components/Dialog/index.js +2 -3
- package/lib/components/Dialog/interface.js +1 -1
- package/lib/components/Dialog/style/css.js +1 -1
- package/lib/components/Dialog/style/index.js +1 -1
- package/lib/components/Dialog/types.js +1 -1
- package/lib/components/Divider/Divider.js +2 -3
- package/lib/components/Divider/constants.js +1 -1
- package/lib/components/Divider/index.js +1 -1
- package/lib/components/Divider/interface.js +1 -1
- package/lib/components/Divider/style/css.js +1 -1
- package/lib/components/Divider/style/index.js +1 -1
- package/lib/components/Drawer/Drawer.js +2 -3
- package/lib/components/Drawer/constants.js +1 -1
- package/lib/components/Drawer/hooks/index.js +1 -1
- package/lib/components/Drawer/hooks/useBodyScrollLock.js +1 -1
- package/lib/components/Drawer/hooks/useDialogFocus.js +1 -1
- package/lib/components/Drawer/hooks/useDrawerTransition.js +1 -1
- package/lib/components/Drawer/hooks/useEscapeClose.js +1 -1
- package/lib/components/Drawer/index.js +1 -1
- package/lib/components/Drawer/interface.js +1 -1
- package/lib/components/Drawer/style/css.js +1 -1
- package/lib/components/Drawer/style/index.js +1 -1
- package/lib/components/Dropdown/Dropdown.js +1 -1
- package/lib/components/Dropdown/index.js +1 -1
- package/lib/components/Dropdown/interface.js +1 -1
- package/lib/components/Dropdown/style/css.js +1 -1
- package/lib/components/Dropdown/style/index.js +1 -1
- package/lib/components/Empty/Empty.js +2 -3
- package/lib/components/Empty/index.js +2 -3
- package/lib/components/Empty/interface.js +1 -1
- package/lib/components/Empty/style/css.js +1 -1
- package/lib/components/Empty/style/index.js +1 -1
- package/lib/components/Filter/Filter.js +1 -1
- package/lib/components/Filter/index.js +1 -1
- package/lib/components/Filter/interface.js +1 -1
- package/lib/components/Filter/style/css.js +1 -1
- package/lib/components/Filter/style/index.js +1 -1
- package/lib/components/Flex/Flex.js +2 -3
- package/lib/components/Flex/constants.js +1 -1
- package/lib/components/Flex/index.js +1 -1
- package/lib/components/Flex/interface.js +1 -1
- package/lib/components/Flex/style/css.js +1 -1
- package/lib/components/Flex/style/index.js +1 -1
- package/lib/components/FormLayout/FormLayout.js +2 -3
- package/lib/components/FormLayout/config.js +1 -1
- package/lib/components/FormLayout/context.js +1 -1
- package/lib/components/FormLayout/index.js +1 -1
- package/lib/components/FormLayout/interface.js +1 -1
- package/lib/components/FormLayout/style/css.js +1 -1
- package/lib/components/FormLayout/style/index.js +1 -1
- package/lib/components/Grid/Col.js +2 -3
- package/lib/components/Grid/Grid.js +1 -1
- package/lib/components/Grid/Row.js +2 -3
- package/lib/components/Grid/constants.js +1 -1
- package/lib/components/Grid/helper.js +1 -1
- package/lib/components/Grid/index.js +1 -1
- package/lib/components/Grid/interface.js +1 -1
- package/lib/components/Grid/style/css.js +1 -1
- package/lib/components/Grid/style/index.js +1 -1
- package/lib/components/Icons/Icons.js +1 -1
- package/lib/components/Icons/Illustrations.js +15 -15
- package/lib/components/Icons/Logo.js +2 -3
- package/lib/components/Icons/SVGs.js +1 -1
- package/lib/components/Icons/Wrapper.js +2 -3
- package/lib/components/Icons/constants.js +1 -1
- package/lib/components/Icons/index.js +2 -3
- package/lib/components/Icons/interface.js +1 -1
- package/lib/components/Icons/style/css.js +1 -1
- package/lib/components/Icons/style/index.js +1 -1
- package/lib/components/Input/Amount/Amount.js +2 -3
- package/lib/components/Input/Amount/helper.js +1 -1
- package/lib/components/Input/Amount/index.js +2 -3
- package/lib/components/Input/Amount/style/css.js +1 -1
- package/lib/components/Input/Amount/style/index.js +1 -1
- package/lib/components/Input/FieldShell/FieldShell.js +2 -3
- package/lib/components/Input/FieldShell/index.js +2 -3
- package/lib/components/Input/Input/Input.js +2 -3
- package/lib/components/Input/Input/index.js +2 -3
- package/lib/components/Input/Mask/Mask.js +2 -3
- package/lib/components/Input/Mask/index.js +2 -3
- package/lib/components/Input/OTP/OTP.js +1 -1
- package/lib/components/Input/OTP/index.js +2 -3
- package/lib/components/Input/Password/Password.js +2 -3
- package/lib/components/Input/Password/index.js +2 -3
- package/lib/components/Input/Search/Search.js +2 -3
- package/lib/components/Input/Search/index.js +2 -3
- package/lib/components/Input/TextArea/TextArea.js +2 -3
- package/lib/components/Input/TextArea/index.js +2 -3
- package/lib/components/Input/Trade/Trade.js +2 -3
- package/lib/components/Input/Trade/index.js +2 -3
- package/lib/components/Input/constants.js +1 -1
- package/lib/components/Input/index.js +2 -3
- package/lib/components/Input/interface.js +1 -1
- package/lib/components/Input/style/css.js +1 -1
- package/lib/components/Input/style/index.js +1 -1
- package/lib/components/Input/useAmountInput.js +1 -1
- package/lib/components/Input/useSyncRef.js +1 -1
- package/lib/components/Link/Link.js +2 -3
- package/lib/components/Link/constants.js +1 -1
- package/lib/components/Link/index.js +2 -3
- package/lib/components/Link/interface.js +1 -1
- package/lib/components/Link/style/css.js +1 -1
- package/lib/components/Link/style/index.js +1 -1
- package/lib/components/Navigation/Nav.js +2 -3
- package/lib/components/Navigation/Navigation.js +2 -3
- package/lib/components/Navigation/NavigationLogo.js +1 -1
- package/lib/components/Navigation/NavigationStepper.js +2 -3
- package/lib/components/Navigation/index.js +2 -3
- package/lib/components/Navigation/interface.js +1 -1
- package/lib/components/Navigation/style/css.js +1 -1
- package/lib/components/Navigation/style/index.js +1 -1
- package/lib/components/Notification/Notification.js +2 -3
- package/lib/components/Notification/NotificationStatic.js +28 -34
- package/lib/components/Notification/constants.js +1 -1
- package/lib/components/Notification/index.js +2 -3
- package/lib/components/Notification/interface.js +1 -1
- package/lib/components/Notification/style/css.js +1 -1
- package/lib/components/Notification/style/index.js +1 -1
- package/lib/components/Pagination/Pagination.js +2 -3
- package/lib/components/Pagination/constants.js +1 -1
- package/lib/components/Pagination/index.js +2 -3
- package/lib/components/Pagination/interface.js +1 -1
- package/lib/components/Pagination/style/css.js +1 -1
- package/lib/components/Pagination/style/index.js +1 -1
- package/lib/components/Pagination/usePagination.js +1 -1
- package/lib/components/PanelLayout/PanelLayout.js +2 -3
- package/lib/components/PanelLayout/constants.js +1 -1
- package/lib/components/PanelLayout/index.js +1 -1
- package/lib/components/PanelLayout/interface.js +1 -1
- package/lib/components/PanelLayout/style/css.js +1 -1
- package/lib/components/PanelLayout/style/index.js +1 -1
- package/lib/components/Popconfirm/Popconfirm.js +2 -3
- package/lib/components/Popconfirm/constants.js +1 -1
- package/lib/components/Popconfirm/index.js +2 -3
- package/lib/components/Popconfirm/interface.js +1 -1
- package/lib/components/Popconfirm/style/css.js +1 -1
- package/lib/components/Popconfirm/style/index.js +1 -1
- package/lib/components/Portal/Portal.js +1 -1
- package/lib/components/Portal/index.js +2 -3
- package/lib/components/Portal/interface.js +1 -1
- package/lib/components/ProForm/ProForm.js +48 -53
- package/lib/components/ProForm/ProFormDependency.js +2 -3
- package/lib/components/ProForm/ProFormGroup.js +1 -1
- package/lib/components/ProForm/ProFormItem.js +2 -3
- package/lib/components/ProForm/ProFormList.js +1 -1
- package/lib/components/ProForm/SchemaForm.js +1 -1
- package/lib/components/ProForm/Submitter.js +8 -8
- package/lib/components/ProForm/constants.js +1 -1
- package/lib/components/ProForm/context.js +1 -1
- package/lib/components/ProForm/core/constants.js +1 -1
- package/lib/components/ProForm/core/devWarning.js +2 -3
- package/lib/components/ProForm/core/formStore.js +1 -1
- package/lib/components/ProForm/core/hooks/useForm.js +78 -90
- package/lib/components/ProForm/core/hooks/useFormCore.js +1 -1
- package/lib/components/ProForm/core/index.js +1 -1
- package/lib/components/ProForm/core/interface.js +1 -1
- package/lib/components/ProForm/core/namePathType.js +1 -1
- package/lib/components/ProForm/core/pathUtils.js +1 -1
- package/lib/components/ProForm/core/runRules.js +56 -61
- package/lib/components/ProForm/core/useFormItem.js +2 -3
- package/lib/components/ProForm/core/validationError.js +1 -1
- package/lib/components/ProForm/fields/ProFormCheckbox.js +1 -1
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +1 -1
- package/lib/components/ProForm/fields/ProFormDatePicker.js +1 -1
- package/lib/components/ProForm/fields/ProFormFieldSet.js +2 -3
- package/lib/components/ProForm/fields/ProFormPassword.js +1 -1
- package/lib/components/ProForm/fields/ProFormRadioGroup.js +1 -1
- package/lib/components/ProForm/fields/ProFormSelect.js +1 -1
- package/lib/components/ProForm/fields/ProFormSlider.js +1 -1
- package/lib/components/ProForm/fields/ProFormSwitch.js +1 -1
- package/lib/components/ProForm/fields/ProFormText.js +1 -1
- package/lib/components/ProForm/fields/ProFormTextArea.js +1 -1
- package/lib/components/ProForm/fields/ProFormUpload.js +1 -1
- package/lib/components/ProForm/fields/createProFormField.js +1 -1
- package/lib/components/ProForm/fields/index.js +1 -1
- package/lib/components/ProForm/hooks/useFieldRequest.js +19 -19
- package/lib/components/ProForm/hooks/useUrlSync.js +1 -1
- package/lib/components/ProForm/index.js +1 -1
- package/lib/components/ProForm/interface.js +1 -1
- package/lib/components/ProForm/layouts/DialogForm.js +1 -1
- package/lib/components/ProForm/layouts/DrawerForm.js +1 -1
- package/lib/components/ProForm/layouts/QueryFilter.js +2 -3
- package/lib/components/ProForm/layouts/index.js +1 -1
- package/lib/components/ProForm/layouts/useOverlayForm.js +10 -13
- package/lib/components/ProForm/style/css.js +1 -1
- package/lib/components/ProForm/style/index.js +1 -1
- package/lib/components/ProForm/utils.js +1 -1
- package/lib/components/ProTable/ProTable.js +8 -8
- package/lib/components/ProTable/constants.js +1 -1
- package/lib/components/ProTable/core/genColumns.js +1 -1
- package/lib/components/ProTable/core/genSearchFields.js +1 -1
- package/lib/components/ProTable/core/useAwaitableReload.js +1 -1
- package/lib/components/ProTable/core/utils.js +1 -1
- package/lib/components/ProTable/index.js +2 -3
- package/lib/components/ProTable/interface.js +1 -1
- package/lib/components/ProTable/style/css.js +1 -1
- package/lib/components/ProTable/style/index.js +1 -1
- package/lib/components/ProTable/useFetchData.js +23 -23
- package/lib/components/Progress/Progress.js +2 -3
- package/lib/components/Progress/constants.js +1 -1
- package/lib/components/Progress/index.js +2 -3
- package/lib/components/Progress/interface.js +1 -1
- package/lib/components/Progress/style/css.js +1 -1
- package/lib/components/Progress/style/index.js +1 -1
- package/lib/components/Radio/BaseRadio.js +1 -1
- package/lib/components/Radio/Radio.js +2 -3
- package/lib/components/Radio/RadioGroup.js +2 -3
- package/lib/components/Radio/RadioGroupContext.js +1 -1
- package/lib/components/Radio/constants.js +1 -1
- package/lib/components/Radio/index.js +2 -3
- package/lib/components/Radio/interface.js +1 -1
- package/lib/components/Radio/style/css.js +1 -1
- package/lib/components/Radio/style/index.js +1 -1
- package/lib/components/ResizeObserver/Collection.js +2 -3
- package/lib/components/ResizeObserver/ResizeObserver.js +2 -3
- package/lib/components/ResizeObserver/SingleObserver/index.js +2 -3
- package/lib/components/ResizeObserver/index.js +1 -1
- package/lib/components/ResizeObserver/interface.js +1 -1
- package/lib/components/ResizeObserver/useResizeObserver.js +2 -3
- package/lib/components/ResizeObserver/utils/observerUtil.js +1 -1
- package/lib/components/ResizeObserver/utils/reactUtil.js +2 -3
- package/lib/components/Segment/Segment.js +2 -3
- package/lib/components/Segment/index.js +2 -3
- package/lib/components/Segment/interface.js +1 -1
- package/lib/components/Segment/style/css.js +1 -1
- package/lib/components/Segment/style/index.js +1 -1
- package/lib/components/Select/Select.js +2 -3
- package/lib/components/Select/SelectCustom.js +2 -3
- package/lib/components/Select/SelectFieldShell.js +1 -1
- package/lib/components/Select/SelectOptionContent.js +8 -1
- package/lib/components/Select/SelectSearchControl.js +1 -1
- package/lib/components/Select/SelectValueContent.js +1 -1
- package/lib/components/Select/constants.js +1 -1
- package/lib/components/Select/index.js +1 -1
- package/lib/components/Select/interface.d.ts +9 -0
- package/lib/components/Select/interface.js +1 -1
- package/lib/components/Select/style/Select.css +7 -0
- package/lib/components/Select/style/css.js +1 -1
- package/lib/components/Select/style/index.js +1 -1
- package/lib/components/Select/useSelectShell.js +1 -1
- package/lib/components/Select/utils.js +1 -1
- package/lib/components/Skeleton/Skeleton.js +2 -3
- package/lib/components/Skeleton/index.js +2 -3
- package/lib/components/Skeleton/interface.js +1 -1
- package/lib/components/Skeleton/style/css.js +1 -1
- package/lib/components/Skeleton/style/index.js +1 -1
- package/lib/components/Slider/Slider.js +2 -3
- package/lib/components/Slider/index.js +2 -3
- package/lib/components/Slider/interface.js +1 -1
- package/lib/components/Slider/style/css.js +1 -1
- package/lib/components/Slider/style/index.js +1 -1
- package/lib/components/Space/Space.js +2 -3
- package/lib/components/Space/constants.js +1 -1
- package/lib/components/Space/index.js +1 -1
- package/lib/components/Space/interface.js +1 -1
- package/lib/components/Space/style/css.js +1 -1
- package/lib/components/Space/style/index.js +1 -1
- package/lib/components/Spinner/Spinner.js +12 -13
- package/lib/components/Spinner/index.js +2 -3
- package/lib/components/Spinner/interface.js +1 -1
- package/lib/components/Spinner/style/css.js +1 -1
- package/lib/components/Spinner/style/index.js +1 -1
- package/lib/components/Step/Step.js +2 -3
- package/lib/components/Step/constants.js +1 -1
- package/lib/components/Step/index.js +2 -3
- package/lib/components/Step/interface.js +1 -1
- package/lib/components/Step/style/css.js +1 -1
- package/lib/components/Step/style/index.js +1 -1
- package/lib/components/Switch/Switch.js +2 -3
- package/lib/components/Switch/constants.js +1 -1
- package/lib/components/Switch/index.js +2 -3
- package/lib/components/Switch/interface.js +1 -1
- package/lib/components/Switch/style/css.js +1 -1
- package/lib/components/Switch/style/index.js +1 -1
- package/lib/components/Table/Table.js +1 -1
- package/lib/components/Table/VirtualTable.js +1 -1
- package/lib/components/Table/constants.js +1 -1
- package/lib/components/Table/core/columnUtil.js +1 -1
- package/lib/components/Table/core/useTableColumns.js +1 -1
- package/lib/components/Table/core/useTableDataPipeline.js +1 -1
- package/lib/components/Table/core/useTableExpand.js +1 -1
- package/lib/components/Table/core/useTableSelection.js +1 -1
- package/lib/components/Table/core/useTableSetup.d.ts +7 -1
- package/lib/components/Table/core/useTableSetup.js +6 -5
- package/lib/components/Table/features/ExpandTrigger.js +1 -1
- package/lib/components/Table/features/FilterTrigger.js +1 -1
- package/lib/components/Table/features/SelectionColumn.js +1 -1
- package/lib/components/Table/features/SortTrigger.js +1 -1
- package/lib/components/Table/index.js +1 -1
- package/lib/components/Table/interface.js +1 -1
- package/lib/components/Table/internal/index.js +2 -3
- package/lib/components/Table/internal/kernel/Body/BodyRow.js +2 -3
- package/lib/components/Table/internal/kernel/Body/ExpandedRow.js +2 -3
- package/lib/components/Table/internal/kernel/Body/MeasureCell.js +2 -3
- package/lib/components/Table/internal/kernel/Body/MeasureRow.js +2 -3
- package/lib/components/Table/internal/kernel/Body/index.js +2 -3
- package/lib/components/Table/internal/kernel/Cell/index.js +2 -3
- package/lib/components/Table/internal/kernel/Cell/useCellRender.js +2 -3
- package/lib/components/Table/internal/kernel/Cell/useHoverState.js +1 -1
- package/lib/components/Table/internal/kernel/ColGroup.js +2 -3
- package/lib/components/Table/internal/kernel/FixedHolder/index.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/Cell.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/Row.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/Summary.js +1 -1
- package/lib/components/Table/internal/kernel/Footer/SummaryContext.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/index.js +2 -3
- package/lib/components/Table/internal/kernel/Header/Header.js +2 -3
- package/lib/components/Table/internal/kernel/Header/HeaderRow.js +2 -3
- package/lib/components/Table/internal/kernel/Panel/index.js +2 -3
- package/lib/components/Table/internal/kernel/Table.js +9 -10
- package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +2 -3
- package/lib/components/Table/internal/kernel/VirtualTable/BodyLine.js +2 -3
- package/lib/components/Table/internal/kernel/VirtualTable/VirtualCell.js +2 -3
- package/lib/components/Table/internal/kernel/VirtualTable/context.js +1 -1
- package/lib/components/Table/internal/kernel/VirtualTable/index.js +2 -3
- package/lib/components/Table/internal/kernel/constant.js +1 -1
- package/lib/components/Table/internal/kernel/context/PerfContext.js +2 -3
- package/lib/components/Table/internal/kernel/context/TableContext.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useColumns/index.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useColumns/useWidthColumns.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useExpand.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useFixedInfo.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useFlattenRecords.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useFrame.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useHover.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useRenderTimes.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useRowInfo.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useSticky.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useStickyOffsets.js +1 -1
- package/lib/components/Table/internal/kernel/index.js +2 -3
- package/lib/components/Table/internal/kernel/interface.js +1 -1
- package/lib/components/Table/internal/kernel/namePathType.js +1 -1
- package/lib/components/Table/internal/kernel/selector-context/Immutable.js +2 -3
- package/lib/components/Table/internal/kernel/selector-context/context.js +2 -3
- package/lib/components/Table/internal/kernel/selector-context/index.js +1 -1
- package/lib/components/Table/internal/kernel/selector-context/isEqual.js +1 -1
- package/lib/components/Table/internal/kernel/stickyScrollBar.js +2 -3
- package/lib/components/Table/internal/kernel/sugar/Column.js +1 -1
- package/lib/components/Table/internal/kernel/sugar/ColumnGroup.js +1 -1
- package/lib/components/Table/internal/kernel/utils/dom/canUseDom.js +1 -1
- package/lib/components/Table/internal/kernel/utils/dom/isVisible.js +1 -1
- package/lib/components/Table/internal/kernel/utils/expandUtil.js +2 -3
- package/lib/components/Table/internal/kernel/utils/fixUtil.js +1 -1
- package/lib/components/Table/internal/kernel/utils/get.js +1 -1
- package/lib/components/Table/internal/kernel/utils/getScrollBarSize.js +1 -1
- package/lib/components/Table/internal/kernel/utils/legacyUtil.js +1 -1
- package/lib/components/Table/internal/kernel/utils/offsetUtil.js +1 -1
- package/lib/components/Table/internal/kernel/utils/pickAttrs.js +1 -1
- package/lib/components/Table/internal/kernel/utils/useMemo.js +2 -3
- package/lib/components/Table/internal/kernel/utils/valueUtil.js +1 -1
- package/lib/components/Table/internal/kernel/utils/warning.js +1 -1
- package/lib/components/Table/renderers/BodyCell.js +1 -1
- package/lib/components/Table/renderers/CellContent.js +1 -1
- package/lib/components/Table/renderers/EmptyState.js +1 -1
- package/lib/components/Table/renderers/ExpandedRowContainer.js +1 -1
- package/lib/components/Table/renderers/HeaderCell.js +1 -1
- package/lib/components/Table/renderers/TableShell.js +1 -1
- package/lib/components/Table/style/css.js +1 -1
- package/lib/components/Table/style/index.js +1 -1
- package/lib/components/Tabs/Tabs.js +2 -3
- package/lib/components/Tabs/index.js +2 -3
- package/lib/components/Tabs/interface.js +1 -1
- package/lib/components/Tabs/style/css.js +1 -1
- package/lib/components/Tabs/style/index.js +1 -1
- package/lib/components/Tag/Tag.js +2 -3
- package/lib/components/Tag/constants.js +1 -1
- package/lib/components/Tag/index.js +2 -3
- package/lib/components/Tag/interface.js +1 -1
- package/lib/components/Tag/style/css.js +1 -1
- package/lib/components/Tag/style/index.js +1 -1
- package/lib/components/Tooltip/Tooltip.js +2 -3
- package/lib/components/Tooltip/index.js +2 -3
- package/lib/components/Tooltip/interface.js +1 -1
- package/lib/components/Tooltip/style/css.js +1 -1
- package/lib/components/Tooltip/style/index.js +1 -1
- package/lib/components/Tour/Tour.js +1 -1
- package/lib/components/Tour/index.js +2 -3
- package/lib/components/Tour/interface.js +1 -1
- package/lib/components/Trigger/Trigger.js +2 -3
- package/lib/components/Trigger/index.js +1 -1
- package/lib/components/Trigger/interface.js +1 -1
- package/lib/components/Trigger/style/css.js +1 -1
- package/lib/components/Trigger/style/index.js +1 -1
- package/lib/components/Typography/Typography.js +1 -1
- package/lib/components/Typography/constants.js +1 -1
- package/lib/components/Typography/index.js +2 -3
- package/lib/components/Typography/interface.js +1 -1
- package/lib/components/Typography/render.js +1 -1
- package/lib/components/Typography/style/css.js +1 -1
- package/lib/components/Typography/style/index.js +1 -1
- package/lib/components/Typography/useTypographyEnhancements.js +1 -1
- package/lib/components/Typography/utils.js +2 -3
- package/lib/components/Upload/Upload.js +2 -3
- package/lib/components/Upload/UploadFileBar.js +2 -3
- package/lib/components/Upload/index.js +2 -3
- package/lib/components/Upload/interface.js +1 -1
- package/lib/components/Upload/style/css.js +1 -1
- package/lib/components/Upload/style/index.js +1 -1
- package/lib/components/VirtualList/Filler.js +2 -3
- package/lib/components/VirtualList/Item.js +2 -3
- package/lib/components/VirtualList/ScrollBar.js +2 -3
- package/lib/components/VirtualList/VirtualList.js +28 -15
- package/lib/components/VirtualList/constants.js +1 -1
- package/lib/components/VirtualList/hooks/useChildren.js +2 -3
- package/lib/components/VirtualList/hooks/useDiffItem.js +2 -3
- package/lib/components/VirtualList/hooks/useFrameWheel.js +1 -1
- package/lib/components/VirtualList/hooks/useGetSize.js +2 -3
- package/lib/components/VirtualList/hooks/useHeights.js +2 -3
- package/lib/components/VirtualList/hooks/useMobileTouchMove.js +1 -1
- package/lib/components/VirtualList/hooks/useOriginScroll.js +1 -1
- package/lib/components/VirtualList/hooks/useScrollDrag.js +2 -3
- package/lib/components/VirtualList/hooks/useScrollTo.js +2 -3
- package/lib/components/VirtualList/index.js +1 -1
- package/lib/components/VirtualList/interface.js +1 -1
- package/lib/components/VirtualList/style/css.js +1 -1
- package/lib/components/VirtualList/style/index.js +1 -1
- package/lib/components/VirtualList/utils/CacheMap.js +1 -1
- package/lib/components/VirtualList/utils/algorithmUtil.js +1 -1
- package/lib/components/VirtualList/utils/isFirefox.js +1 -1
- package/lib/components/VirtualList/utils/raf.js +1 -1
- package/lib/components/VirtualList/utils/scrollbarUtil.js +1 -1
- package/lib/hooks/index.js +1 -1
- package/lib/hooks/useFloatingAnimation.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.js +1 -1
- package/lib/stories/docs/ComponentDocsPage.js +2 -3
- package/lib/stories/docs/componentDocMeta.js +1 -1
- package/lib/utils/classnames.js +1 -1
- package/lib/utils/clipboard.js +1 -1
- package/lib/utils/devWarn.js +1 -1
- package/lib/utils/ref.js +1 -1
- package/lib/utils/uuid.js +1 -1
- package/package.json +23 -17
|
@@ -32,8 +32,7 @@ var _ScrollBar = _interopRequireDefault(require("./ScrollBar"));
|
|
|
32
32
|
var _scrollbarUtil = require("./utils/scrollbarUtil");
|
|
33
33
|
var _constants = require("./constants");
|
|
34
34
|
require("./style");
|
|
35
|
-
function
|
|
36
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(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; }
|
|
35
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
37
36
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
38
37
|
var t = {};
|
|
39
38
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -114,6 +113,10 @@ function RawList(props, ref) {
|
|
|
114
113
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
115
114
|
scrollMoving = _useState6[0],
|
|
116
115
|
setScrollMoving = _useState6[1];
|
|
116
|
+
// Mirrors `offsetTop` synchronously so `syncScrollTop` can read the latest
|
|
117
|
+
// value immediately (a state updater can't safely have side effects — see
|
|
118
|
+
// the `onScroll` call below).
|
|
119
|
+
var offsetTopRef = (0, _react.useRef)(0);
|
|
117
120
|
var onScrollbarStartMove = function onScrollbarStartMove() {
|
|
118
121
|
setScrollMoving(true);
|
|
119
122
|
};
|
|
@@ -124,18 +127,28 @@ function RawList(props, ref) {
|
|
|
124
127
|
getKey: getKey
|
|
125
128
|
};
|
|
126
129
|
// ================================ Scroll ================================
|
|
130
|
+
// Wheel scroll, scrollbar drag, and touch move (see `onWheelDelta` /
|
|
131
|
+
// `useScrollDrag` / `useMobileTouchMove` below) all funnel through here —
|
|
132
|
+
// it's the single place a virtual-mode scroll position change happens.
|
|
133
|
+
//
|
|
134
|
+
// In virtual mode the holder is `overflow-y: hidden` (scrolling is faked via
|
|
135
|
+
// this offset, not native browser scroll), so setting `scrollTop`
|
|
136
|
+
// programmatically does not reliably dispatch a native `scroll` DOM event.
|
|
137
|
+
// `onFallbackScroll` below (bound to the holder's native `onScroll`) only
|
|
138
|
+
// fires in non-virtual mode. Call `onScroll` directly here — with the same
|
|
139
|
+
// event shape a native scroll would carry — so it fires for real user
|
|
140
|
+
// scrolling in virtual mode too.
|
|
127
141
|
function syncScrollTop(newTop) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
value = newTop;
|
|
134
|
-
}
|
|
135
|
-
var alignedTop = keepInRange(value);
|
|
142
|
+
var value = typeof newTop === 'function' ? newTop(offsetTopRef.current) : newTop;
|
|
143
|
+
var alignedTop = keepInRange(value);
|
|
144
|
+
offsetTopRef.current = alignedTop;
|
|
145
|
+
setOffsetTop(alignedTop);
|
|
146
|
+
if (componentRef.current) {
|
|
136
147
|
componentRef.current.scrollTop = alignedTop;
|
|
137
|
-
|
|
138
|
-
|
|
148
|
+
onScroll === null || onScroll === void 0 ? void 0 : onScroll({
|
|
149
|
+
currentTarget: componentRef.current
|
|
150
|
+
});
|
|
151
|
+
}
|
|
139
152
|
}
|
|
140
153
|
// ================================ Legacy ================================
|
|
141
154
|
// Put ref here since the range is generate by follow
|
|
@@ -309,10 +322,10 @@ function RawList(props, ref) {
|
|
|
309
322
|
function onFallbackScroll(e) {
|
|
310
323
|
var newScrollTop = e.currentTarget.scrollTop;
|
|
311
324
|
if (newScrollTop !== offsetTop) {
|
|
325
|
+
// `syncScrollTop` calls `onScroll` itself — don't also fire it here, or
|
|
326
|
+
// fallback (non-virtual) mode would notify the consumer twice per event.
|
|
312
327
|
syncScrollTop(newScrollTop);
|
|
313
328
|
}
|
|
314
|
-
// Trigger origin onScroll
|
|
315
|
-
onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
|
|
316
329
|
triggerScroll();
|
|
317
330
|
}
|
|
318
331
|
var keepInHorizontalRange = function keepInHorizontalRange(nextOffsetLeft) {
|
|
@@ -538,4 +551,4 @@ var VirtualListBase = /*#__PURE__*/React.forwardRef(RawList);
|
|
|
538
551
|
VirtualListBase.displayName = _constants.VIRTUAL_LIST_COMPONENT_NAME;
|
|
539
552
|
var VirtualList = /*#__PURE__*/React.memo(VirtualListBase);
|
|
540
553
|
var _default = exports["default"] = VirtualList;
|
|
541
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3QvVmlydHVhbExpc3QuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1ZpcnR1YWxMaXN0L1ZpcnR1YWxMaXN0LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfY2xzeDIiLCJfUmVzaXplT2JzZXJ2ZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VzZUxheW91dEVmZmVjdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJSZWFjdCIsIl9yZWFjdERvbSIsIl9GaWxsZXIiLCJfdXNlQ2hpbGRyZW4iLCJfdXNlRGlmZkl0ZW0zIiwiX3VzZUZyYW1lV2hlZWwzIiwiX3VzZUdldFNpemUiLCJfdXNlSGVpZ2h0czMiLCJfdXNlTW9iaWxlVG91Y2hNb3ZlIiwiX3VzZU9yaWdpblNjcm9sbCIsIl91c2VTY3JvbGxEcmFnIiwiX3VzZVNjcm9sbFRvIiwiX1Njcm9sbEJhciIsIl9zY3JvbGxiYXJVdGlsIiwiX2NvbnN0YW50cyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZjMiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIkVNUFRZX0RBVEEiLCJTY3JvbGxTdHlsZSIsIm92ZXJmbG93WSIsIm92ZXJmbG93QW5jaG9yIiwiUmF3TGlzdCIsInByb3BzIiwicmVmIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIlZJUlRVQUxfTElTVF9QUkVGSVhDTFMiLCJjbGFzc05hbWUiLCJoZWlnaHQiLCJpdGVtSGVpZ2h0IiwiX3Byb3BzJGZ1bGxIZWlnaHQiLCJmdWxsSGVpZ2h0Iiwic3R5bGUiLCJkYXRhIiwiY2hpbGRyZW4iLCJpdGVtS2V5IiwidmlydHVhbCIsImRpcmVjdGlvbiIsInNjcm9sbFdpZHRoIiwiX3Byb3BzJGNvbXBvbmVudCIsImNvbXBvbmVudCIsIkNvbXBvbmVudCIsIm9uU2Nyb2xsIiwib25WaXJ0dWFsU2Nyb2xsIiwib25WaXNpYmxlQ2hhbmdlIiwiaW5uZXJQcm9wcyIsImV4dHJhUmVuZGVyIiwic3R5bGVzIiwiX3Byb3BzJHNob3dTY3JvbGxCYXIiLCJzaG93U2Nyb2xsQmFyIiwicmVzdFByb3BzIiwiZ2V0S2V5IiwidXNlQ2FsbGJhY2siLCJpdGVtIiwiX3VzZUhlaWdodHMiLCJ1c2VIZWlnaHRzIiwidW5kZWZpbmVkIiwiX3VzZUhlaWdodHMyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0SW5zdGFuY2VSZWYiLCJjb2xsZWN0SGVpZ2h0IiwiaGVpZ2h0cyIsImhlaWdodFVwZGF0ZWRNYXJrIiwidXNlVmlydHVhbCIsImNvbnRhaW5lckhlaWdodCIsInVzZU1lbW8iLCJ2YWx1ZXMiLCJtYXBzIiwicmVkdWNlIiwidG90YWwiLCJjdXJyIiwiaWQiLCJpblZpcnR1YWwiLCJNYXRoIiwibWF4IiwiaXNSVEwiLCJtZXJnZWRDbGFzc05hbWUiLCJjbHN4IiwiX2RlZmluZVByb3BlcnR5MiIsImNvbmNhdCIsIm1lcmdlZERhdGEiLCJjb21wb25lbnRSZWYiLCJ1c2VSZWYiLCJmaWxsZXJJbm5lclJlZiIsImNvbnRhaW5lclJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm9mZnNldFRvcCIsInNldE9mZnNldFRvcCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwib2Zmc2V0TGVmdCIsInNldE9mZnNldExlZnQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNjcm9sbE1vdmluZyIsInNldFNjcm9sbE1vdmluZyIsIm9uU2Nyb2xsYmFyU3RhcnRNb3ZlIiwib25TY3JvbGxiYXJTdG9wTW92ZSIsInNoYXJlZENvbmZpZyIsInN5bmNTY3JvbGxUb3AiLCJuZXdUb3AiLCJvcmlnaW4iLCJ2YWx1ZSIsImFsaWduZWRUb3AiLCJrZWVwSW5SYW5nZSIsImN1cnJlbnQiLCJzY3JvbGxUb3AiLCJyYW5nZVJlZiIsInN0YXJ0IiwiZW5kIiwiZGlmZkl0ZW1SZWYiLCJfdXNlRGlmZkl0ZW0iLCJ1c2VEaWZmSXRlbSIsIl91c2VEaWZmSXRlbTIiLCJkaWZmSXRlbSIsIl9SZWFjdCR1c2VNZW1vIiwiX2EiLCJzY3JvbGxIZWlnaHQiLCJvZmZzZXQiLCJvZmZzZXRIZWlnaHQiLCJpdGVtVG9wIiwic3RhcnRJbmRleCIsInN0YXJ0T2Zmc2V0IiwiZW5kSW5kZXgiLCJkYXRhTGVuIiwia2V5IiwiY2FjaGVIZWlnaHQiLCJjdXJyZW50SXRlbUJvdHRvbSIsImNlaWwiLCJtaW4iLCJmaWxsZXJPZmZzZXQiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjaGFuZ2VkUmVjb3JkIiwiZ2V0UmVjb3JkIiwic2l6ZSIsInJlY29yZEtleSIsIkFycmF5IiwiZnJvbSIsImtleXMiLCJwcmV2Q2FjaGVIZWlnaHQiLCJzdGFydEl0ZW0iLCJzdGFydEluZGV4S2V5IiwicmVhbFN0YXJ0SGVpZ2h0IiwiZGlmZkhlaWdodCIsIm9yaSIsInJlc2V0UmVjb3JkIiwiX1JlYWN0JHVzZVN0YXRlIiwid2lkdGgiLCJfUmVhY3QkdXNlU3RhdGUyIiwic2V0U2l6ZSIsIm9uSG9sZGVyUmVzaXplIiwic2l6ZUluZm8iLCJvZmZzZXRXaWR0aCIsInZlcnRpY2FsU2Nyb2xsQmFyUmVmIiwiaG9yaXpvbnRhbFNjcm9sbEJhclJlZiIsImhvcml6b250YWxTY3JvbGxCYXJTcGluU2l6ZSIsImdldFNwaW5TaXplIiwidmVydGljYWxTY3JvbGxCYXJTcGluU2l6ZSIsIm1heFNjcm9sbEhlaWdodCIsIm1heFNjcm9sbEhlaWdodFJlZiIsIm5ld1Njcm9sbFRvcCIsIk51bWJlciIsImlzTmFOIiwiaXNTY3JvbGxBdFRvcCIsImlzU2Nyb2xsQXRCb3R0b20iLCJpc1Njcm9sbEF0TGVmdCIsImlzU2Nyb2xsQXRSaWdodCIsIm9yaWdpblNjcm9sbCIsInVzZU9yaWdpblNjcm9sbCIsImdldFZpcnR1YWxTY3JvbGxJbmZvIiwieCIsInkiLCJsYXN0VmlydHVhbFNjcm9sbEluZm9SZWYiLCJ0cmlnZ2VyU2Nyb2xsIiwidXNlRXZlbnRDYWxsYmFjayIsInBhcmFtcyIsIm5leHRJbmZvIiwiYXNzaWduIiwib25TY3JvbGxCYXIiLCJuZXdTY3JvbGxPZmZzZXQiLCJob3Jpem9udGFsIiwibmV3T2Zmc2V0IiwiZmx1c2hTeW5jIiwib25GYWxsYmFja1Njcm9sbCIsImN1cnJlbnRUYXJnZXQiLCJrZWVwSW5Ib3Jpem9udGFsUmFuZ2UiLCJuZXh0T2Zmc2V0TGVmdCIsInRtcE9mZnNldExlZnQiLCJvbldoZWVsRGVsdGEiLCJvZmZzZXRYWSIsImZyb21Ib3Jpem9udGFsIiwibGVmdCIsInRvcCIsIl91c2VGcmFtZVdoZWVsIiwidXNlRnJhbWVXaGVlbCIsIl91c2VGcmFtZVdoZWVsMiIsIm9uUmF3V2hlZWwiLCJvbkZpcmVGb3hTY3JvbGwiLCJ1c2VNb2JpbGVUb3VjaE1vdmUiLCJpc0hvcml6b250YWwiLCJkZWx0YSIsInNtb290aE9mZnNldCIsImV2ZW50IiwiX3ZpcnR1YWxIYW5kbGVkIiwicHJldmVudERlZmF1bHQiLCJkZWx0YVgiLCJkZWx0YVkiLCJ1c2VTY3JvbGxEcmFnIiwib25Nb3pNb3VzZVBpeGVsU2Nyb2xsIiwic2Nyb2xsaW5nVXBBdFRvcCIsImRldGFpbCIsInNjcm9sbGluZ0Rvd25BdEJvdHRvbSIsImNvbXBvbmVudEVsZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm5ld09mZnNldExlZnQiLCJkZWxheUhpZGVTY3JvbGxCYXIiLCJfYiIsImRlbGF5SGlkZGVuIiwic2Nyb2xsVG8iLCJ1c2VTY3JvbGxUbyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJuYXRpdmVFbGVtZW50IiwiZ2V0U2Nyb2xsSW5mbyIsImNvbmZpZyIsImlzUG9zU2Nyb2xsIiwiYXJnIiwiX3R5cGVvZjIiLCJyZW5kZXJMaXN0Iiwic2xpY2UiLCJnZXRTaXplIiwidXNlR2V0U2l6ZSIsImV4dHJhQ29udGVudCIsIm9mZnNldFgiLCJvZmZzZXRZIiwicnRsIiwibGlzdENoaWxkcmVuIiwidXNlQ2hpbGRyZW4iLCJjb21wb25lbnRTdHlsZSIsIm92ZXJmbG93WCIsInBvaW50ZXJFdmVudHMiLCJjb250YWluZXJQcm9wcyIsImRpciIsIl9qc3hzIiwicG9zaXRpb24iLCJfanN4IiwiUmVzaXplT2JzZXJ2ZXIiLCJvblJlc2l6ZSIsIm9uTW91c2VFbnRlciIsIkZpbGxlciIsIm9uSW5uZXJSZXNpemUiLCJleHRyYSIsIlNjcm9sbEJhciIsInNjcm9sbE9mZnNldCIsInNjcm9sbFJhbmdlIiwib25TdGFydE1vdmUiLCJvblN0b3BNb3ZlIiwic3BpblNpemUiLCJjb250YWluZXJTaXplIiwidmVydGljYWxTY3JvbGxCYXIiLCJ0aHVtYlN0eWxlIiwidmVydGljYWxTY3JvbGxCYXJUaHVtYiIsImhvcml6b250YWxTY3JvbGxCYXIiLCJob3Jpem9udGFsU2Nyb2xsQmFyVGh1bWIiLCJWaXJ0dWFsTGlzdEJhc2UiLCJmb3J3YXJkUmVmIiwiZGlzcGxheU5hbWUiLCJWSVJUVUFMX0xJU1RfQ09NUE9ORU5UX05BTUUiLCJWaXJ0dWFsTGlzdCIsIm1lbW8iLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFJLGdCQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBQyx1QkFBQSxDQUFBUCxPQUFBO0FBQStCLElBQUFRLEtBQUEsR0FBQUYsTUFBQTtBQUUvQixJQUFBRyxTQUFBLEdBQUFULE9BQUE7QUFFQSxJQUFBVSxPQUFBLEdBQUFQLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVyxZQUFBLEdBQUFSLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBWSxhQUFBLEdBQUFULHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBYSxlQUFBLEdBQUFWLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBYyxXQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxZQUFBLEdBQUFaLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBZ0IsbUJBQUEsR0FBQWIsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFpQixnQkFBQSxHQUFBZCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQWtCLGNBQUEsR0FBQWYsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFtQixZQUFBLEdBQUFoQixzQkFBQSxDQUFBSCxPQUFBO0FBR0EsSUFBQW9CLFVBQUEsR0FBQWpCLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBcUIsY0FBQSxHQUFBckIsT0FBQTtBQUNBLElBQUFzQixVQUFBLEdBQUF0QixPQUFBO0FBSUFBLE9BQUE7QUFBaUIsU0FBQXVCLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBakIsd0JBQUFpQixDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLFFBQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FENUJqQixJQUFJVyxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFcEIsQ0FBQyxFQUFFO0VBQ2xELElBQUlHLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlrQixDQUFDLElBQUlELENBQUMsRUFBRSxJQUFJVCxNQUFNLENBQUNXLFNBQVMsQ0FBQ1AsY0FBYyxDQUFDQyxJQUFJLENBQUNJLENBQUMsRUFBRUMsQ0FBQyxDQUFDLElBQUlyQixDQUFDLENBQUN1QixPQUFPLENBQUNGLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VsQixDQUFDLENBQUNrQixDQUFDLENBQUMsR0FBR0QsQ0FBQyxDQUFDQyxDQUFDLENBQUM7RUFDZixJQUFJRCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9ULE1BQU0sQ0FBQ2EscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlQLENBQUMsR0FBRyxDQUFDLEVBQUVJLENBQUMsR0FBR1YsTUFBTSxDQUFDYSxxQkFBcUIsQ0FBQ0osQ0FBQyxDQUFDLEVBQUVILENBQUMsR0FBR0ksQ0FBQyxDQUFDSSxNQUFNLEVBQUVSLENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlqQixDQUFDLENBQUN1QixPQUFPLENBQUNGLENBQUMsQ0FBQ0osQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0sQ0FBQ1csU0FBUyxDQUFDSSxvQkFBb0IsQ0FBQ1YsSUFBSSxDQUFDSSxDQUFDLEVBQUVDLENBQUMsQ0FBQ0osQ0FBQyxDQUFDLENBQUMsRUFDMUVkLENBQUMsQ0FBQ2tCLENBQUMsQ0FBQ0osQ0FBQyxDQUFDLENBQUMsR0FBR0csQ0FBQyxDQUFDQyxDQUFDLENBQUNKLENBQUMsQ0FBQyxDQUFDO0VBQ3pCO0VBQ0osT0FBT2QsQ0FBQztBQUNaLENBQUM7QUNvQkQsSUFBTXdCLFVBQVUsR0FBVSxFQUFFO0FBRTVCLElBQU1DLFdBQVcsR0FBd0I7RUFDdkNDLFNBQVMsRUFBRSxNQUFNO0VBQ2pCQyxjQUFjLEVBQUU7QURHbEIsQ0NGQztBQStESyxTQUFVQyxPQUFPQSxDQUFJQyxLQUFtQixFQUFFQyxHQUF1QixFQUFBO0VBQ3JFLElBQUFDLGdCQUFBLEdBc0JJRixLQUFLLENBckJQRyxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsZ0JBQUEsY0FBR0UsaUNBQXNCLEdBQUFGLGdCQUFBO0lBQ2xDRyxTQUFTLEdBb0JQTCxLQUFLLENBcEJQSyxTQUFTO0lBQ1RDLE1BQU0sR0FtQkpOLEtBQUssQ0FuQlBNLE1BQU07SUFDTkMsVUFBVSxHQWtCUlAsS0FBSyxDQWxCUE8sVUFBVTtJQUFBQyxpQkFBQSxHQWtCUlIsS0FBSyxDQWpCUFMsVUFBVTtJQUFWQSxVQUFVLEdBQUFELGlCQUFBLGNBQUcsSUFBSSxHQUFBQSxpQkFBQTtJQUNqQkUsS0FBSyxHQWdCSFYsS0FBSyxDQWhCUFUsS0FBSztJQUNMQyxJQUFJLEdBZUZYLEtBQUssQ0FmUFcsSUFBSTtJQUNKQyxRQUFRLEdBY05aLEtBQUssQ0FkUFksUUFBUTtJQUNSQyxPQUFPLEdBYUxiLEtBQUssQ0FiUGEsT0FBTztJQUNQQyxPQUFPLEdBWUxkLEtBQUssQ0FaUGMsT0FBTztJQUNQQyxTQUFTLEdBV1BmLEtBQUssQ0FYUGUsU0FBUztJQUNUQyxXQUFXLEdBVVRoQixLQUFLLENBVlBnQixXQUFXO0lBQUFDLGdCQUFBLEdBVVRqQixLQUFLLENBVFBrQixTQUFTO0lBQUVDLFNBQVMsR0FBQUYsZ0JBQUEsY0FBRyxLQUFLLEdBQUFBLGdCQUFBO0lBQzVCRyxRQUFRLEdBUU5wQixLQUFLLENBUlBvQixRQUFRO0lBQ1JDLGVBQWUsR0FPYnJCLEtBQUssQ0FQUHFCLGVBQWU7SUFDZkMsZUFBZSxHQU1idEIsS0FBSyxDQU5Qc0IsZUFBZTtJQUNmQyxVQUFVLEdBS1J2QixLQUFLLENBTFB1QixVQUFVO0lBQ1ZDLFdBQVcsR0FJVHhCLEtBQUssQ0FKUHdCLFdBQVc7SUFDWEMsTUFBTSxHQUdKekIsS0FBSyxDQUhQeUIsTUFBTTtJQUFBQyxvQkFBQSxHQUdKMUIsS0FBSyxDQUZQMkIsYUFBYTtJQUFiQSxhQUFhLEdBQUFELG9CQUFBLGNBQUcsVUFBVSxHQUFBQSxvQkFBQTtJQUN2QkUsU0FBUyxHQUFBekMsTUFBQSxDQUNWYSxLQUFLLEVBdEJILENBQUEsV0FBQSxFQUFBLFdBQUEsRUFBQSxRQUFBLEVBQUEsWUFBQSxFQUFBLFlBQUEsRUFBQSxPQUFBLEVBQUEsTUFBQSxFQUFBLFVBQUEsRUFBQSxTQUFBLEVBQUEsU0FBQSxFQUFBLFdBQUEsRUFBQSxhQUFBLEVBQUEsV0FBQSxFQUFBLFVBQUEsRUFBQSxpQkFBQSxFQUFBLGlCQUFBLEVBQUEsWUFBQSxFQUFBLGFBQUEsRUFBQSxRQUFBLEVBQUEsZUFBQSxDQXNCTCxDQUFRO0VBRVQ7RUFDQSxJQUFNNkIsTUFBTSxHQUFHN0UsS0FBSyxDQUFDOEUsV0FBVyxDQUM5QixVQUFDQyxJQUFPLEVBQUk7SUFDVixJQUFJLE9BQU9sQixPQUFPLEtBQUssVUFBVSxFQUFFO01BQ2pDLE9BQU9BLE9BQU8sQ0FBQ2tCLElBQUksQ0FBQztJQUN0QjtJQUNBLE9BQVFBLElBQVksS0FBQSxJQUFBLElBQVpBLElBQUksS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBSkEsSUFBSSxDQUFXbEIsT0FBaUIsQ0FBQztFQUMzQyxDQUFDLEVBQ0QsQ0FBQ0EsT0FBTyxDQUFDLENBQ1Y7RUFFRDtFQUNBLElBQUFtQixXQUFBLEdBQW9FLElBQUFDLHVCQUFVLEVBQzVFSixNQUFNLEVBQ05LLFNBQVMsRUFDVEEsU0FBUyxDQUNWO0lBQUFDLFlBQUEsT0FBQUMsZUFBQSxhQUFBSixXQUFBO0lBSk1LLGNBQWMsR0FBQUYsWUFBQTtJQUFFRyxhQUFhLEdBQUFILFlBQUE7SUFBRUksT0FBTyxHQUFBSixZQUFBO0lBQUVLLGlCQUFpQixHQUFBTCxZQUFBO0VBTWhFO0VBQ0EsSUFBTU0sVUFBVSxHQUFHLENBQUMsRUFBRTNCLE9BQU8sS0FBSyxLQUFLLElBQUlSLE1BQU0sSUFBSUMsVUFBVSxDQUFDO0VBQ2hFLElBQU1tQyxlQUFlLEdBQUcxRixLQUFLLENBQUMyRixPQUFPLENBQ25DO0lBQUEsT0FBTWhFLE1BQU0sQ0FBQ2lFLE1BQU0sQ0FBQ0wsT0FBTyxDQUFDTSxJQUFJLENBQUMsQ0FBQ0MsTUFBTSxDQUFDLFVBQUNDLEtBQUssRUFBRUMsSUFBSTtNQUFBLE9BQUtELEtBQUssR0FBR0MsSUFBSTtJQUFBLEdBQUUsQ0FBQyxDQUFDO0VBQUEsR0FDMUUsQ0FBQ1QsT0FBTyxDQUFDVSxFQUFFLENBQUMsQ0FDYjtFQUNELElBQU1DLFNBQVMsR0FDYlQsVUFBVSxJQUNWOUIsSUFBSSxLQUNId0MsSUFBSSxDQUFDQyxHQUFHLENBQUM3QyxVQUFVLEdBQUdJLElBQUksQ0FBQ2xCLE1BQU0sRUFBRWlELGVBQWUsQ0FBQyxHQUFHcEMsTUFBTSxJQUFJLENBQUMsQ0FBQ1UsV0FBVyxDQUFDO0VBQ2pGLElBQU1xQyxLQUFLLEdBQUd0QyxTQUFTLEtBQUssS0FBSztFQUVqQyxJQUFNdUMsZUFBZSxHQUFHLElBQUFDLFdBQUksRUFBQ3BELFNBQVMsTUFBQXFELGdCQUFBLG9CQUFBQyxNQUFBLENBQVF0RCxTQUFTLFdBQVNrRCxLQUFLLEdBQUloRCxTQUFTLENBQUM7RUFDbkYsSUFBTXFELFVBQVUsR0FBRy9DLElBQUksSUFBSWhCLFVBQVU7RUFDckMsSUFBTWdFLFlBQVksR0FBRyxJQUFBQyxhQUFNLEVBQWlCLElBQUksQ0FBQztFQUNqRCxJQUFNQyxjQUFjLEdBQUcsSUFBQUQsYUFBTSxFQUFpQixJQUFJLENBQUM7RUFDbkQsSUFBTUUsWUFBWSxHQUFHLElBQUFGLGFBQU0sRUFBaUIsSUFBSSxDQUFDO0VBRWpEO0VBRUEsSUFBQUcsU0FBQSxHQUFrQyxJQUFBQyxlQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQUFDLFVBQUEsT0FBQTdCLGVBQUEsYUFBQTJCLFNBQUE7SUFBdENHLFNBQVMsR0FBQUQsVUFBQTtJQUFFRSxZQUFZLEdBQUFGLFVBQUE7RUFDOUIsSUFBQUcsVUFBQSxHQUFvQyxJQUFBSixlQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQUFLLFVBQUEsT0FBQWpDLGVBQUEsYUFBQWdDLFVBQUE7SUFBeENFLFVBQVUsR0FBQUQsVUFBQTtJQUFFRSxhQUFhLEdBQUFGLFVBQUE7RUFDaEMsSUFBQUcsVUFBQSxHQUF3QyxJQUFBUixlQUFRLEVBQUMsS0FBSyxDQUFDO0lBQUFTLFVBQUEsT0FBQXJDLGVBQUEsYUFBQW9DLFVBQUE7SUFBaERFLFlBQVksR0FBQUQsVUFBQTtJQUFFRSxlQUFlLEdBQUFGLFVBQUE7RUFFcEMsSUFBTUcsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FBQSxFQUFRO0lBQ2hDRCxlQUFlLENBQUMsSUFBSSxDQUFDO0VBQ3ZCLENBQUM7RUFDRCxJQUFNRSxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFBLEVBQVE7SUFDL0JGLGVBQWUsQ0FBQyxLQUFLLENBQUM7RUFDeEIsQ0FBQztFQUVELElBQU1HLFlBQVksR0FBb0I7SUFDcENqRCxNQUFNLEVBQU5BO0VEcEdBLENDcUdEO0VBRUQ7RUFDQSxTQUFTa0QsYUFBYUEsQ0FBQ0MsTUFBMkMsRUFBQTtJQUNoRWIsWUFBWSxDQUFDLFVBQUNjLE1BQU0sRUFBSTtNQUN0QixJQUFJQyxLQUFhO01BQ2pCLElBQUksT0FBT0YsTUFBTSxLQUFLLFVBQVUsRUFBRTtRQUNoQ0UsS0FBSyxHQUFHRixNQUFNLENBQUNDLE1BQU0sQ0FBQztNQUN4QixDQUFDLE1BQU07UUFDTEMsS0FBSyxHQUFHRixNQUFNO01BQ2hCO01BRUEsSUFBTUcsVUFBVSxHQUFHQyxXQUFXLENBQUNGLEtBQUssQ0FBQztNQUVyQ3ZCLFlBQVksQ0FBQzBCLE9BQVEsQ0FBQ0MsU0FBUyxHQUFHSCxVQUFVO01BQzVDLE9BQU9BLFVBQVU7SUFDbkIsQ0FBQyxDQUFDO0VBQ0o7RUFFQTtFQUNBO0VBQ0EsSUFBTUksUUFBUSxHQUFHLElBQUEzQixhQUFNLEVBQUM7SUFBRTRCLEtBQUssRUFBRSxDQUFDO0lBQUVDLEdBQUcsRUFBRS9CLFVBQVUsQ0FBQ2pFO0VBQU0sQ0FBRSxDQUFDO0VBRTdELElBQU1pRyxXQUFXLEdBQUcsSUFBQTlCLGFBQU0sRUFBVyxJQUFJLENBQUM7RUFDMUMsSUFBQStCLFlBQUEsR0FBbUIsSUFBQUMsd0JBQVcsRUFBQ2xDLFVBQVUsRUFBRTdCLE1BQU0sQ0FBQztJQUFBZ0UsYUFBQSxPQUFBekQsZUFBQSxhQUFBdUQsWUFBQTtJQUEzQ0csUUFBUSxHQUFBRCxhQUFBO0VBQ2ZILFdBQVcsQ0FBQ0wsT0FBTyxHQUFHUyxRQUFRO0VBRTlCO0VBQ0EsSUFBQUMsY0FBQSxHQUtJL0ksS0FBSyxDQUFDMkYsT0FBTyxDQUFDLFlBQUs7TUQ5R2pCLElBQUlxRCxFQUFFO01DK0dWLElBQUksQ0FBQ3ZELFVBQVUsRUFBRTtRQUNmLE9BQU87VUFDTHdELFlBQVksRUFBRS9ELFNBQVM7VUFDdkJzRCxLQUFLLEVBQUUsQ0FBQztVQUNSQyxHQUFHLEVBQUUvQixVQUFVLENBQUNqRSxNQUFNLEdBQUcsQ0FBQztVQUMxQnlHLE1BQU0sRUFBRWhFO1FEN0dKLENDOEdMO01BQ0g7TUFFQTtNQUNBLElBQUksQ0FBQ2dCLFNBQVMsRUFBRTtRQUNkLE9BQU87VUFDTCtDLFlBQVksRUFBRSxDQUFBLENBQUFELEVBQUEsR0FBQW5DLGNBQWMsQ0FBQ3dCLE9BQU8sTUFBQSxJQUFBLElBQUFXLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxZQUFZLEtBQUksQ0FBQztVQUN2RFgsS0FBSyxFQUFFLENBQUM7VUFDUkMsR0FBRyxFQUFFL0IsVUFBVSxDQUFDakUsTUFBTSxHQUFHLENBQUM7VUFDMUJ5RyxNQUFNLEVBQUVoRTtRRDlHSixDQytHTDtNQUNIO01BRUEsSUFBSWtFLE9BQU8sR0FBRyxDQUFDO01BQ2YsSUFBSUMsVUFBOEI7TUFDbEMsSUFBSUMsV0FBK0I7TUFDbkMsSUFBSUMsUUFBNEI7TUFFaEMsSUFBTUMsT0FBTyxHQUFHOUMsVUFBVSxDQUFDakUsTUFBTTtNQUNqQyxLQUFLLElBQUlSLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR3VILE9BQU8sRUFBRXZILENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkMsSUFBTThDLElBQUksR0FBRzJCLFVBQVUsQ0FBQ3pFLENBQUMsQ0FBQztRQUMxQixJQUFNd0gsR0FBRyxHQUFHNUUsTUFBTSxDQUFDRSxJQUFJLENBQUM7UUFFeEIsSUFBTTJFLFdBQVcsR0FBR25FLE9BQU8sQ0FBQ2hFLEdBQUcsQ0FBQ2tJLEdBQUcsQ0FBQztRQUNwQyxJQUFNRSxpQkFBaUIsR0FBR1AsT0FBTyxJQUFJTSxXQUFXLEtBQUt4RSxTQUFTLEdBQUczQixVQUFVLEdBQUdtRyxXQUFXLENBQUM7UUFFMUY7UUFDQSxJQUFJQyxpQkFBaUIsSUFBSXpDLFNBQVMsSUFBSW1DLFVBQVUsS0FBS25FLFNBQVMsRUFBRTtVQUM5RG1FLFVBQVUsR0FBR3BILENBQUM7VUFDZHFILFdBQVcsR0FBR0YsT0FBTztRQUN2QjtRQUVBO1FBQ0EsSUFBSU8saUJBQWlCLEdBQUd6QyxTQUFTLEdBQUc1RCxNQUFNLElBQUlpRyxRQUFRLEtBQUtyRSxTQUFTLEVBQUU7VUFDcEVxRSxRQUFRLEdBQUd0SCxDQUFDO1FBQ2Q7UUFFQW1ILE9BQU8sR0FBR08saUJBQWlCO01BQzdCO01BRUE7TUFDQSxJQUFJTixVQUFVLEtBQUtuRSxTQUFTLEVBQUU7UUFDNUJtRSxVQUFVLEdBQUcsQ0FBQztRQUNkQyxXQUFXLEdBQUcsQ0FBQztRQUVmQyxRQUFRLEdBQUdwRCxJQUFJLENBQUN5RCxJQUFJLENBQUN0RyxNQUFNLEdBQUdDLFVBQVUsQ0FBQztNQUMzQztNQUNBLElBQUlnRyxRQUFRLEtBQUtyRSxTQUFTLEVBQUU7UUFDMUJxRSxRQUFRLEdBQUc3QyxVQUFVLENBQUNqRSxNQUFNLEdBQUcsQ0FBQztNQUNsQztNQUVBO01BQ0E4RyxRQUFRLEdBQUdwRCxJQUFJLENBQUMwRCxHQUFHLENBQUNOLFFBQVEsR0FBRyxDQUFDLEVBQUU3QyxVQUFVLENBQUNqRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO01BRXhELE9BQU87UUFDTHdHLFlBQVksRUFBRUcsT0FBTztRQUNyQlosS0FBSyxFQUFFYSxVQUFXO1FBQ2xCWixHQUFHLEVBQUVjLFFBQVE7UUFDYkwsTUFBTSxFQUFFSTtNRHhITixDQ3lISDtJQUNILENBQUMsRUFBRSxDQUFDcEQsU0FBUyxFQUFFVCxVQUFVLEVBQUV5QixTQUFTLEVBQUVSLFVBQVUsRUFBRWxCLGlCQUFpQixFQUFFbEMsTUFBTSxDQUFDLENBQUM7SUF2RTNFMkYsWUFBWSxHQUFBRixjQUFBLENBQVpFLFlBQVk7SUFDWlQsS0FBSyxHQUFBTyxjQUFBLENBQUxQLEtBQUs7SUFDTEMsR0FBRyxHQUFBTSxjQUFBLENBQUhOLEdBQUc7SUFDS3FCLFlBQVksR0FBQWYsY0FBQSxDQUFwQkcsTUFBTTtFQXNFUlgsUUFBUSxDQUFDRixPQUFPLENBQUNHLEtBQUssR0FBR0EsS0FBSztFQUM5QkQsUUFBUSxDQUFDRixPQUFPLENBQUNJLEdBQUcsR0FBR0EsR0FBRztFQUUxQjtFQUNBO0VBQ0E7RUFDQXpJLEtBQUssQ0FBQytKLGVBQWUsQ0FBQyxZQUFLO0lBQ3pCLElBQU1DLGFBQWEsR0FBR3pFLE9BQU8sQ0FBQzBFLFNBQVMsQ0FBQSxDQUFFO0lBQ3pDLElBQUlELGFBQWEsQ0FBQ0UsSUFBSSxLQUFLLENBQUMsRUFBRTtNQUM1QixJQUFNQyxTQUFTLEdBQUdDLEtBQUssQ0FBQ0MsSUFBSSxDQUFDTCxhQUFhLENBQUNNLElBQUksQ0FBQSxDQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7TUFDckQsSUFBTUMsZUFBZSxHQUFHUCxhQUFhLENBQUN6SSxHQUFHLENBQUM0SSxTQUFTLENBQUM7TUFFcEQ7TUFDQSxJQUFNSyxTQUFTLEdBQUc5RCxVQUFVLENBQUM4QixLQUFLLENBQUM7TUFDbkMsSUFBSWdDLFNBQVMsSUFBSUQsZUFBZSxLQUFLckYsU0FBUyxFQUFFO1FBQzlDLElBQU11RixhQUFhLEdBQUc1RixNQUFNLENBQUMyRixTQUFTLENBQUM7UUFDdkMsSUFBSUMsYUFBYSxLQUFLTixTQUFTLEVBQUU7VUFDL0IsSUFBTU8sZUFBZSxHQUFHbkYsT0FBTyxDQUFDaEUsR0FBRyxDQUFDNEksU0FBUyxDQUFDO1VBQzlDLElBQU1RLFVBQVUsR0FBR0QsZUFBZSxHQUFHbkgsVUFBVztVQUNoRHdFLGFBQWEsQ0FBQyxVQUFDNkMsR0FBRyxFQUFJO1lBQ3BCLE9BQU9BLEdBQUcsR0FBR0QsVUFBVTtVQUN6QixDQUFDLENBQUM7UUFDSjtNQUNGO0lBQ0Y7SUFFQXBGLE9BQU8sQ0FBQ3NGLFdBQVcsQ0FBQSxDQUFFO0VBQ3ZCLENBQUMsRUFBRSxDQUFDNUIsWUFBWSxDQUFDLENBQUM7RUFFbEI7RUFDQSxJQUFBNkIsZUFBQSxHQUF3QjlLLEtBQUssQ0FBQ2dILFFBQVEsQ0FBQztNQUFFK0QsS0FBSyxFQUFFLENBQUM7TUFBRXpILE1BQU0sRUFBRUEsTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLEdBQUk7SUFBQyxDQUFFLENBQUM7SUFBQTBILGdCQUFBLE9BQUE1RixlQUFBLGFBQUEwRixlQUFBO0lBQWxFWixJQUFJLEdBQUFjLGdCQUFBO0lBQUVDLE9BQU8sR0FBQUQsZ0JBQUE7RUFFcEIsSUFBTUUsY0FBYyxHQUFvQyxTQUFsREEsY0FBY0EsQ0FBcUNDLFFBQVEsRUFBSTtJQUNuRUYsT0FBTyxDQUFDO01BQ05GLEtBQUssRUFBRUksUUFBUSxDQUFDQyxXQUFXO01BQzNCOUgsTUFBTSxFQUFFNkgsUUFBUSxDQUFDaEM7SUQ5SGYsQ0MrSEgsQ0FBQztFQUNKLENBQUM7RUFFRDtFQUNBLElBQU1rQyxvQkFBb0IsR0FBRyxJQUFBekUsYUFBTSxFQUFlLElBQUksQ0FBQztFQUN2RCxJQUFNMEUsc0JBQXNCLEdBQUcsSUFBQTFFLGFBQU0sRUFBZSxJQUFJLENBQUM7RUFFekQsSUFBTTJFLDJCQUEyQixHQUFHdkwsS0FBSyxDQUFDMkYsT0FBTyxDQUMvQztJQUFBLE9BQU0sSUFBQTZGLDBCQUFXLEVBQUN0QixJQUFJLENBQUNhLEtBQUssRUFBRS9HLFdBQVcsQ0FBQztFQUFBLEdBQzFDLENBQUNrRyxJQUFJLENBQUNhLEtBQUssRUFBRS9HLFdBQVcsQ0FBQyxDQUMxQjtFQUNELElBQU15SCx5QkFBeUIsR0FBR3pMLEtBQUssQ0FBQzJGLE9BQU8sQ0FDN0M7SUFBQSxPQUFNLElBQUE2RiwwQkFBVyxFQUFDdEIsSUFBSSxDQUFDNUcsTUFBTSxFQUFFMkYsWUFBWSxDQUFDO0VBQUEsR0FDNUMsQ0FBQ2lCLElBQUksQ0FBQzVHLE1BQU0sRUFBRTJGLFlBQVksQ0FBQyxDQUM1QjtFQUVEO0VBQ0EsSUFBTXlDLGVBQWUsR0FBR3pDLFlBQWEsR0FBRzNGLE1BQU87RUFDL0MsSUFBTXFJLGtCQUFrQixHQUFHLElBQUEvRSxhQUFNLEVBQUM4RSxlQUFlLENBQUM7RUFDbERDLGtCQUFrQixDQUFDdEQsT0FBTyxHQUFHcUQsZUFBZTtFQUU1QyxTQUFTdEQsV0FBV0EsQ0FBQ3dELFlBQW9CLEVBQUE7SUFDdkMsSUFBSTVELE1BQU0sR0FBRzRELFlBQVk7SUFDekIsSUFBSSxDQUFDQyxNQUFNLENBQUNDLEtBQUssQ0FBQ0gsa0JBQWtCLENBQUN0RCxPQUFPLENBQUMsRUFBRTtNQUM3Q0wsTUFBTSxHQUFHN0IsSUFBSSxDQUFDMEQsR0FBRyxDQUFDN0IsTUFBTSxFQUFFMkQsa0JBQWtCLENBQUN0RCxPQUFPLENBQUM7SUFDdkQ7SUFDQUwsTUFBTSxHQUFHN0IsSUFBSSxDQUFDQyxHQUFHLENBQUM0QixNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLE9BQU9BLE1BQU07RUFDZjtFQUVBLElBQU0rRCxhQUFhLEdBQUc3RSxTQUFTLElBQUksQ0FBQztFQUNwQyxJQUFNOEUsZ0JBQWdCLEdBQUc5RSxTQUFTLElBQUl3RSxlQUFlO0VBQ3JELElBQU1PLGNBQWMsR0FBRzNFLFVBQVUsSUFBSSxDQUFDO0VBQ3RDLElBQU00RSxlQUFlLEdBQUcsQ0FBQyxDQUFDbEksV0FBVyxJQUFJc0QsVUFBVSxJQUFJdEQsV0FBVyxHQUFHa0csSUFBSSxDQUFDYSxLQUFLO0VBRS9FLElBQU1vQixZQUFZLEdBQUcsSUFBQUMsMkJBQWUsRUFDbENMLGFBQWEsRUFDYkMsZ0JBQWdCLEVBQ2hCQyxjQUFjLEVBQ2RDLGVBQWUsQ0FDaEI7RUFFRDtFQUNBLElBQU1HLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUE7SUFBQSxPQUFVO01BQ2xDQyxDQUFDLEVBQUVqRyxLQUFLLEdBQUcsQ0FBQ2lCLFVBQVUsR0FBR0EsVUFBVTtNQUNuQ2lGLENBQUMsRUFBRXJGO0lEaEpILENDaUpEO0VBQUEsQ0FBQztFQUVGLElBQU1zRix3QkFBd0IsR0FBRyxJQUFBNUYsYUFBTSxFQUFDeUYsb0JBQW9CLENBQUEsQ0FBRSxDQUFDO0VBRS9ELElBQU1JLGFBQWEsR0FBRyxJQUFBQyw0QkFBZ0IsRUFBQyxVQUFDQyxNQUFtQyxFQUFJO0lBQzdFLElBQUl0SSxlQUFlLEVBQUU7TUFDbkIsSUFBTXVJLFFBQVEsR0FBQWpMLE1BQUEsQ0FBQWtMLE1BQUEsQ0FBQWxMLE1BQUEsQ0FBQWtMLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBUVIsb0JBQW9CLENBQUEsQ0FBRSxDQUFBLEVBQUtNLE1BQU0sQ0FBRTtNQUV6RDtNQUNBLElBQ0VILHdCQUF3QixDQUFDbkUsT0FBTyxDQUFDaUUsQ0FBQyxLQUFLTSxRQUFRLENBQUNOLENBQUMsSUFDakRFLHdCQUF3QixDQUFDbkUsT0FBTyxDQUFDa0UsQ0FBQyxLQUFLSyxRQUFRLENBQUNMLENBQUMsRUFDakQ7UUFDQWxJLGVBQWUsQ0FBQ3VJLFFBQVEsQ0FBQztRQUV6Qkosd0JBQXdCLENBQUNuRSxPQUFPLEdBQUd1RSxRQUFRO01BQzdDO0lBQ0Y7RUFDRixDQUFDLENBQUM7RUFFRixTQUFTRSxXQUFXQSxDQUFDQyxlQUF1QixFQUFFQyxVQUFvQixFQUFBO0lBQ2hFLElBQU1DLFNBQVMsR0FBR0YsZUFBZTtJQUVqQyxJQUFJQyxVQUFVLEVBQUU7TUFDZCxJQUFBRSxtQkFBUyxFQUFDLFlBQUs7UUFDYjNGLGFBQWEsQ0FBQzBGLFNBQVMsQ0FBQztNQUMxQixDQUFDLENBQUM7TUFDRlIsYUFBYSxDQUFBLENBQUU7SUFDakIsQ0FBQyxNQUFNO01BQ0wxRSxhQUFhLENBQUNrRixTQUFTLENBQUM7SUFDMUI7RUFDRjtFQUVBO0VBQ0EsU0FBU0UsZ0JBQWdCQSxDQUFDbk0sQ0FBZ0MsRUFBQTtJQUN4RCxJQUFtQjRLLFlBQVksR0FBSzVLLENBQUMsQ0FBQ29NLGFBQWEsQ0FBM0M5RSxTQUFTO0lBQ2pCLElBQUlzRCxZQUFZLEtBQUsxRSxTQUFTLEVBQUU7TUFDOUJhLGFBQWEsQ0FBQzZELFlBQVksQ0FBQztJQUM3QjtJQUVBO0lBQ0F4SCxRQUFRLEtBQUEsSUFBQSxJQUFSQSxRQUFRLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVJBLFFBQVEsQ0FBR3BELENBQUMsQ0FBQztJQUNieUwsYUFBYSxDQUFBLENBQUU7RUFDakI7RUFFQSxJQUFNWSxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJQyxjQUFzQixFQUFJO0lBQ3ZELElBQUlDLGFBQWEsR0FBR0QsY0FBYztJQUNsQyxJQUFNbEgsR0FBRyxHQUFHcEMsV0FBVyxHQUFHQSxXQUFXLEdBQUdrRyxJQUFJLENBQUNhLEtBQUssR0FBRyxDQUFDO0lBQ3REd0MsYUFBYSxHQUFHcEgsSUFBSSxDQUFDQyxHQUFHLENBQUNtSCxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzFDQSxhQUFhLEdBQUdwSCxJQUFJLENBQUMwRCxHQUFHLENBQUMwRCxhQUFhLEVBQUVuSCxHQUFHLENBQUM7SUFFNUMsT0FBT21ILGFBQWE7RUFDdEIsQ0FBQztFQUVELElBQU1DLFlBQVksR0FBd0MsSUFBQWQsNEJBQWdCLEVBQUMsVUFBQ2UsUUFBUSxFQUFFQyxjQUFjLEVBQUk7SUFDdEcsSUFBSUEsY0FBYyxFQUFFO01BQ2xCLElBQUFSLG1CQUFTLEVBQUMsWUFBSztRQUNiM0YsYUFBYSxDQUFDLFVBQUNvRyxJQUFJLEVBQUk7VUFDckIsSUFBTUwsY0FBYyxHQUFHSyxJQUFJLElBQUl0SCxLQUFLLEdBQUcsQ0FBQ29ILFFBQVEsR0FBR0EsUUFBUSxDQUFDO1VBRTVELE9BQU9KLHFCQUFxQixDQUFDQyxjQUFjLENBQUM7UUFDOUMsQ0FBQyxDQUFDO01BQ0osQ0FBQyxDQUFDO01BRUZiLGFBQWEsQ0FBQSxDQUFFO0lBQ2pCLENBQUMsTUFBTTtNQUNMMUUsYUFBYSxDQUFDLFVBQUM2RixHQUFHLEVBQUk7UUFDcEIsSUFBTTVGLE1BQU0sR0FBRzRGLEdBQUcsR0FBR0gsUUFBUTtRQUU3QixPQUFPekYsTUFBTTtNQUNmLENBQUMsQ0FBQztJQUNKO0VBQ0YsQ0FBQyxDQUFDO0VBRUY7RUFDQSxJQUFBNkYsY0FBQSxHQUFzQyxJQUFBQywwQkFBYSxFQUNqRHJJLFVBQVUsRUFDVnNHLGFBQWEsRUFDYkMsZ0JBQWdCLEVBQ2hCQyxjQUFjLEVBQ2RDLGVBQWUsRUFDZixDQUFDLENBQUNsSSxXQUFXLEVBQ2J3SixZQUFZLENBQ2I7SUFBQU8sZUFBQSxPQUFBM0ksZUFBQSxhQUFBeUksY0FBQTtJQVJNRyxVQUFVLEdBQUFELGVBQUE7SUFBRUUsZUFBZSxHQUFBRixlQUFBO0VBVWxDO0VBQ0EsSUFBQUcsOEJBQWtCLEVBQUN6SSxVQUFVLEVBQUVrQixZQUFZLEVBQUUsVUFBQ3dILFlBQVksRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUVyTixDQUFDLEVBQUk7SUFDcEYsSUFBTXNOLEtBQUssR0FBR3ROLENBRWI7SUFFRCxJQUFJbUwsWUFBWSxDQUFDZ0MsWUFBWSxFQUFFQyxLQUFLLEVBQUVDLFlBQVksQ0FBQyxFQUFFO01BQ25ELE9BQU8sS0FBSztJQUNkO0lBRUE7SUFDQSxJQUFJLENBQUNDLEtBQUssSUFBSSxDQUFDQSxLQUFLLENBQUNDLGVBQWUsRUFBRTtNQUNwQyxJQUFJRCxLQUFLLEVBQUU7UUFDVEEsS0FBSyxDQUFDQyxlQUFlLEdBQUcsSUFBSTtNQUM5QjtNQUVBUCxVQUFVLENBQUM7UUFDVFEsY0FBYyxXQUFkQSxjQUFjQSxDQUFBLEVBQUEsQ0FBSSxDQUFDO1FBQ25CQyxNQUFNLEVBQUVOLFlBQVksR0FBR0MsS0FBSyxHQUFHLENBQUM7UUFDaENNLE1BQU0sRUFBRVAsWUFBWSxHQUFHLENBQUMsR0FBR0M7TUQ3S3ZCLENDOEtTLENBQUM7TUFFaEIsT0FBTyxJQUFJO0lBQ2I7SUFFQSxPQUFPLEtBQUs7RUFDZCxDQUFDLENBQUM7RUFFRjtFQUNBLElBQUFPLHlCQUFhLEVBQUN6SSxTQUFTLEVBQUVTLFlBQVksRUFBRSxVQUFDdUMsTUFBTSxFQUFJO0lBQ2hEbkIsYUFBYSxDQUFDLFVBQUM2RixHQUFHO01BQUEsT0FBS0EsR0FBRyxHQUFHMUUsTUFBTTtJQUFBLEVBQUM7RUFDdEMsQ0FBQyxDQUFDO0VBRUYsSUFBQWEsMkJBQWUsRUFBQyxZQUFLO0lBQ25CO0lBQ0EsU0FBUzZFLHFCQUFxQkEsQ0FBQzVOLENBQWEsRUFBQTtNQUMxQztNQUNBLElBQU02TixnQkFBZ0IsR0FBRzlDLGFBQWEsSUFBSS9LLENBQUMsQ0FBQzhOLE1BQU0sR0FBRyxDQUFDO01BQ3RELElBQU1DLHFCQUFxQixHQUFHL0MsZ0JBQWdCLElBQUloTCxDQUFDLENBQUM4TixNQUFNLEdBQUcsQ0FBQztNQUM5RCxJQUFJckosVUFBVSxJQUFJLENBQUNvSixnQkFBZ0IsSUFBSSxDQUFDRSxxQkFBcUIsRUFBRTtRQUM3RC9OLENBQUMsQ0FBQ3dOLGNBQWMsQ0FBQSxDQUFFO01BQ3BCO0lBQ0Y7SUFFQSxJQUFNUSxZQUFZLEdBQUdySSxZQUFZLENBQUMwQixPQUFRO0lBQzFDMkcsWUFBWSxDQUFDQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUVqQixVQUFVLEVBQUU7TUFBRWtCLE9BQU8sRUFBRTtJQUFLLENBQUUsQ0FBQztJQUN0RUYsWUFBWSxDQUFDQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRWhCLGVBQXNCLEVBQUU7TUFBRWlCLE9BQU8sRUFBRTtJQUFJLENBQUUsQ0FBQztJQUMxRkYsWUFBWSxDQUFDQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRUwscUJBQTRCLEVBQUU7TUFBRU0sT0FBTyxFQUFFO0lBQUssQ0FBRSxDQUFDO0lBRXRHLE9BQU8sWUFBSztNQUNWRixZQUFZLENBQUNHLG1CQUFtQixDQUFDLE9BQU8sRUFBRW5CLFVBQVUsQ0FBQztNQUNyRGdCLFlBQVksQ0FBQ0csbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUVsQixlQUFzQixDQUFDO01BQzFFZSxZQUFZLENBQUNHLG1CQUFtQixDQUFDLHFCQUFxQixFQUFFUCxxQkFBNEIsQ0FBQztJQUN2RixDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNuSixVQUFVLEVBQUVzRyxhQUFhLEVBQUVDLGdCQUFnQixDQUFDLENBQUM7RUFFakQ7RUFDQSxJQUFBakMsMkJBQWUsRUFBQyxZQUFLO0lBQ25CLElBQUkvRixXQUFXLEVBQUU7TUFDZixJQUFNb0wsYUFBYSxHQUFHL0IscUJBQXFCLENBQUMvRixVQUFVLENBQUM7TUFDdkRDLGFBQWEsQ0FBQzZILGFBQWEsQ0FBQztNQUM1QjNDLGFBQWEsQ0FBQztRQUFFSCxDQUFDLEVBQUU4QztNQUFhLENBQUUsQ0FBQztJQUNyQztFQUNGLENBQUMsRUFBRSxDQUFDbEYsSUFBSSxDQUFDYSxLQUFLLEVBQUUvRyxXQUFXLENBQUMsQ0FBQztFQUU3QjtFQUNBLElBQU1xTCxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBLEVBQVE7SURyTDFCLElBQUlyRyxFQUFFLEVBQUVzRyxFQUFFO0lDc0xkLENBQUF0RyxFQUFBLEdBQUFxQyxvQkFBb0IsQ0FBQ2hELE9BQU8sTUFBQSxJQUFBLElBQUFXLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFdUcsV0FBVyxDQUFBLENBQUU7SUFDM0MsQ0FBQUQsRUFBQSxHQUFBaEUsc0JBQXNCLENBQUNqRCxPQUFPLE1BQUEsSUFBQSxJQUFBaUgsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVDLFdBQVcsQ0FBQSxDQUFFO0VBQy9DLENBQUM7RUFFRCxJQUFNQyxTQUFRLEdBQUcsSUFBQUMsdUJBQVcsRUFDMUI5SSxZQUFZLEVBQ1pELFVBQVUsRUFDVm5CLE9BQU8sRUFDUGhDLFVBQVcsRUFDWHNCLE1BQU0sRUFDTjtJQUFBLE9BQU1TLGFBQWEsQ0FBQyxJQUFJLENBQUM7RUFBQSxHQUN6QnlDLGFBQWEsRUFDYnNILGtCQUFrQixDQUNuQjtFQUVEclAsS0FBSyxDQUFDMFAsbUJBQW1CLENBQUN6TSxHQUFHLEVBQUU7SUFBQSxPQUFPO01BQ3BDME0sYUFBYSxFQUFFN0ksWUFBWSxDQUFDdUIsT0FBUTtNQUNwQ3VILGFBQWEsRUFBRXZELG9CQUFvQjtNQUNuQ21ELFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHSyxNQUFNLEVBQUk7UUFDbkIsU0FBU0MsV0FBV0EsQ0FBQ0MsR0FBUSxFQUFBO1VBQzNCLE9BQU9BLEdBQUcsSUFBSSxJQUFBQyxRQUFBLGFBQU9ELEdBQUcsTUFBSyxRQUFRLEtBQUssTUFBTSxJQUFJQSxHQUFHLElBQUksS0FBSyxJQUFJQSxHQUFHLENBQUM7UUFDMUU7UUFFQSxJQUFJRCxXQUFXLENBQUNELE1BQU0sQ0FBQyxFQUFFO1VBQ3ZCO1VBQ0EsSUFBSUEsTUFBTSxDQUFDbEMsSUFBSSxLQUFLekksU0FBUyxFQUFFO1lBQzdCcUMsYUFBYSxDQUFDOEYscUJBQXFCLENBQUN3QyxNQUFNLENBQUNsQyxJQUFJLENBQUMsQ0FBQztVQUNuRDtVQUVBO1VBQ0E2QixTQUFRLENBQUNLLE1BQU0sQ0FBQ2pDLEdBQUksQ0FBQztRQUN2QixDQUFDLE1BQU07VUFDTDRCLFNBQVEsQ0FBQ0ssTUFBK0IsQ0FBQztRQUMzQztNQUNGO0lEaE1BLENDaU1EO0VBQUEsQ0FBQyxDQUFDO0VBRUg7RUFDQTtFQUNBLElBQUE5RiwyQkFBZSxFQUFDLFlBQUs7SUFDbkIsSUFBSXpGLGVBQWUsRUFBRTtNQUNuQixJQUFNMkwsVUFBVSxHQUFHdkosVUFBVSxDQUFDd0osS0FBSyxDQUFDMUgsS0FBSyxFQUFFQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO01BRW5EbkUsZUFBZSxDQUFDMkwsVUFBVSxFQUFFdkosVUFBVSxDQUFDO0lBQ3pDO0VBQ0YsQ0FBQyxFQUFFLENBQUM4QixLQUFLLEVBQUVDLEdBQUcsRUFBRS9CLFVBQVUsQ0FBQyxDQUFDO0VBRTVCO0VBQ0EsSUFBTXlKLE9BQU8sR0FBRyxJQUFBQyxzQkFBVSxFQUFDMUosVUFBVSxFQUFFN0IsTUFBTSxFQUFFVSxPQUFPLEVBQUVoQyxVQUFXLENBQUM7RUFFcEUsSUFBTThNLFlBQVksR0FBRzdMLFdBQVcsS0FBQSxJQUFBLElBQVhBLFdBQVcsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBWEEsV0FBVyxDQUFHO0lBQ2pDZ0UsS0FBSyxFQUFMQSxLQUFLO0lBQ0xDLEdBQUcsRUFBSEEsR0FBRztJQUNIM0UsT0FBTyxFQUFFb0MsU0FBUztJQUNsQm9LLE9BQU8sRUFBRWhKLFVBQVU7SUFDbkJpSixPQUFPLEVBQUV6RyxZQUFhO0lBQ3RCMEcsR0FBRyxFQUFFbkssS0FBSztJQUNWOEosT0FBTyxFQUFQQTtFRHBNQSxDQ3FNRCxDQUFDO0VBRUY7RUFDQSxJQUFNTSxZQUFZLEdBQUcsSUFBQUMsdUJBQVcsRUFDOUJoSyxVQUFVLEVBQ1Y4QixLQUFLLEVBQ0xDLEdBQUcsRUFDSHpFLFdBQVcsRUFDWHNELFVBQVUsRUFDVmpDLGNBQWMsRUFDZHpCLFFBQVEsRUFDUmtFLFlBQVksQ0FDYjtFQUVELElBQUk2SSxjQUFjLEdBQW9DekwsU0FBUztFQUMvRCxJQUFJNUIsTUFBTSxFQUFFO0lBQ1ZxTixjQUFjLEdBQUFoUCxNQUFBLENBQUFrTCxNQUFBLEtBQUFyRyxnQkFBQSxpQkFBTS9DLFVBQVUsR0FBRyxRQUFRLEdBQUcsV0FBVyxFQUFHSCxNQUFNLEdBQUtWLFdBQVcsQ0FBRTtJQUVsRixJQUFJNkMsVUFBVSxFQUFFO01BQ2RrTCxjQUFjLENBQUM5TixTQUFTLEdBQUcsUUFBUTtNQUVuQyxJQUFJbUIsV0FBVyxFQUFFO1FBQ2YyTSxjQUFjLENBQUNDLFNBQVMsR0FBRyxRQUFRO01BQ3JDO01BRUEsSUFBSWxKLFlBQVksRUFBRTtRQUNoQmlKLGNBQWMsQ0FBQ0UsYUFBYSxHQUFHLE1BQU07TUFDdkM7SUFDRjtFQUNGO0VBRUEsSUFBTUMsY0FBYyxHQUF5QyxDQUFBLENBQUU7RUFDL0QsSUFBSXpLLEtBQUssRUFBRTtJQUNUeUssY0FBYyxDQUFDQyxHQUFHLEdBQUcsS0FBSztFQUM1QjtFQUVBLE9BQ0UsSUFBQUMsZ0JBQUEsRUFBQSxLQUFBLEVBQUFyUCxNQUFBLENBQUFrTCxNQUFBLENBQUE7SUFDRTVKLEdBQUcsRUFBRTZELFlBQVk7SUFDakJwRCxLQUFLLEVBQUEvQixNQUFBLENBQUFrTCxNQUFBLENBQUFsTCxNQUFBLENBQUFrTCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ0FuSixLQUFLLENBQUEsRUFBQTtNQUNSdU4sUUFBUSxFQUFFO0lBQVUsQ0FBQSxDQUFBO0lBRXRCNU4sU0FBUyxFQUFFaUQ7RUFBZSxDQUFBLEVBQ3RCd0ssY0FBYyxFQUNkbE0sU0FBUyxFQUFBO0lBQUFoQixRQUFBLEVBQUEsQ0FFYixJQUFBc04sZUFBQSxFQUFDQywwQkFBYyxFQUFBO01BQUNDLFFBQVEsRUFBRWxHLGNBQWM7TUFBQXRILFFBQUEsRUFDdEMsSUFBQXNOLGVBQUEsRUFBQy9NLFNBQVMsRUFBQTtRQUNSZCxTQUFTLEtBQUFvRCxNQUFBLENBQUt0RCxTQUFTLFlBQVM7UUFDaENPLEtBQUssRUFBRWlOLGNBQWM7UUFDckIxTixHQUFHLEVBQUUwRCxZQUFZO1FBQ2pCdkMsUUFBUSxFQUFFK0ksZ0JBQWdCO1FBQzFCa0UsWUFBWSxFQUFFaEMsa0JBQWtCO1FBQUF6TCxRQUFBLEVBRWhDLElBQUFzTixlQUFBLEVBQUNJLGtCQUFNLEVBQUE7VUFDTG5PLFNBQVMsRUFBRUEsU0FBUztVQUNwQkcsTUFBTSxFQUFFMkYsWUFBc0I7VUFDOUJxSCxPQUFPLEVBQUVoSixVQUFVO1VBQ25CaUosT0FBTyxFQUFFekcsWUFBWTtVQUNyQjlGLFdBQVcsRUFBRUEsV0FBVztVQUN4QnVOLGFBQWEsRUFBRWpNLGFBQWE7VUFDNUJyQyxHQUFHLEVBQUU0RCxjQUFjO1VBQ25CdEMsVUFBVSxFQUFFQSxVQUFVO1VBQ3RCaU0sR0FBRyxFQUFFbkssS0FBSztVQUNWbUwsS0FBSyxFQUFFbkIsWUFBWTtVQUFBek0sUUFBQSxFQUVsQjZNO1FBQVksQ0FBQTtNQUNOLENBQUE7SUFDQyxDQUFBLENBQ0csRUFFaEJ2SyxTQUFTLElBQUkrQyxZQUFhLEdBQUczRixNQUFPLElBQ25DLElBQUE0TixlQUFBLEVBQUNPLHFCQUFTLEVBQUE7TUFDUnhPLEdBQUcsRUFBRW9JLG9CQUFvQjtNQUN6QmxJLFNBQVMsRUFBRUEsU0FBUztNQUNwQnVPLFlBQVksRUFBRXhLLFNBQVM7TUFDdkJ5SyxXQUFXLEVBQUUxSSxZQUFhO01BQzFCdUgsR0FBRyxFQUFFbkssS0FBSztNQUNWakMsUUFBUSxFQUFFMEksV0FBVztNQUNyQjhFLFdBQVcsRUFBRWhLLG9CQUFvQjtNQUNqQ2lLLFVBQVUsRUFBRWhLLG1CQUFtQjtNQUMvQmlLLFFBQVEsRUFBRXJHLHlCQUF5QjtNQUNuQ3NHLGFBQWEsRUFBRTdILElBQUksQ0FBQzVHLE1BQU07TUFDMUJJLEtBQUssRUFBRWUsTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQUV1TixpQkFBaUI7TUFDaENDLFVBQVUsRUFBRXhOLE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxDQUFFeU4sc0JBQXNCO01BQzFDdk4sYUFBYSxFQUFFQTtJQUFhLENBQUEsQ0FFL0IsRUFFQXVCLFNBQVMsSUFBSWxDLFdBQVksR0FBR2tHLElBQUksQ0FBQ2EsS0FBSyxJQUNyQyxJQUFBbUcsZUFBQSxFQUFDTyxxQkFBUyxFQUFBO01BQ1J4TyxHQUFHLEVBQUVxSSxzQkFBc0I7TUFDM0JuSSxTQUFTLEVBQUVBLFNBQVM7TUFDcEJ1TyxZQUFZLEVBQUVwSyxVQUFVO01BQ3hCcUssV0FBVyxFQUFFM04sV0FBWTtNQUN6QndNLEdBQUcsRUFBRW5LLEtBQUs7TUFDVmpDLFFBQVEsRUFBRTBJLFdBQVc7TUFDckI4RSxXQUFXLEVBQUVoSyxvQkFBb0I7TUFDakNpSyxVQUFVLEVBQUVoSyxtQkFBbUI7TUFDL0JpSyxRQUFRLEVBQUV2RywyQkFBMkI7TUFDckN3RyxhQUFhLEVBQUU3SCxJQUFJLENBQUNhLEtBQUs7TUFDekJpQyxVQUFVLEVBQUEsSUFBQTtNQUNWdEosS0FBSyxFQUFFZSxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBRTBOLG1CQUFtQjtNQUNsQ0YsVUFBVSxFQUFFeE4sTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQUUyTix3QkFBd0I7TUFDNUN6TixhQUFhLEVBQUVBO0lBQWEsQ0FBQSxDQUUvQjtFQUFBLENBQUEsQ0FBQSxDQUNHO0FBRVY7QUFFQSxJQUFNME4sZUFBZSxnQkFBR3JTLEtBQUssQ0FBQ3NTLFVBQVUsQ0FBMEJ2UCxPQUFPLENBQUM7QUFFMUVzUCxlQUFlLENBQUNFLFdBQVcsR0FBR0Msc0NBQTJCO0FBRXpELElBQU1DLFdBQVcsZ0JBQUd6UyxLQUFLLENBQUMwUyxJQUFJLENBQUNMLGVBQWUsQ0FFdkI7QUFBQyxJQUFBTSxRQUFBLEdBQUFDLE9BQUEsY0FFVEgsV0FBVyIsImZpbGUiOiJjb21wb25lbnRzL1ZpcnR1YWxMaXN0L1ZpcnR1YWxMaXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGNsc3ggfSBmcm9tICdjbHN4JztcbmltcG9ydCBSZXNpemVPYnNlcnZlciBmcm9tICcuLi9SZXNpemVPYnNlcnZlcic7XG5pbXBvcnQgdXNlTGF5b3V0RWZmZWN0IGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlTGF5b3V0RWZmZWN0JztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZmx1c2hTeW5jIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBGaWxsZXIgZnJvbSAnLi9GaWxsZXInO1xuaW1wb3J0IHVzZUNoaWxkcmVuIGZyb20gJy4vaG9va3MvdXNlQ2hpbGRyZW4nO1xuaW1wb3J0IHVzZURpZmZJdGVtIGZyb20gJy4vaG9va3MvdXNlRGlmZkl0ZW0nO1xuaW1wb3J0IHVzZUZyYW1lV2hlZWwgZnJvbSAnLi9ob29rcy91c2VGcmFtZVdoZWVsJztcbmltcG9ydCB7IHVzZUdldFNpemUgfSBmcm9tICcuL2hvb2tzL3VzZUdldFNpemUnO1xuaW1wb3J0IHVzZUhlaWdodHMgZnJvbSAnLi9ob29rcy91c2VIZWlnaHRzJztcbmltcG9ydCB1c2VNb2JpbGVUb3VjaE1vdmUgZnJvbSAnLi9ob29rcy91c2VNb2JpbGVUb3VjaE1vdmUnO1xuaW1wb3J0IHVzZU9yaWdpblNjcm9sbCBmcm9tICcuL2hvb2tzL3VzZU9yaWdpblNjcm9sbCc7XG5pbXBvcnQgdXNlU2Nyb2xsRHJhZyBmcm9tICcuL2hvb2tzL3VzZVNjcm9sbERyYWcnO1xuaW1wb3J0IHVzZVNjcm9sbFRvIGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsVG8nO1xuaW1wb3J0IFNjcm9sbEJhciBmcm9tICcuL1Njcm9sbEJhcic7XG5pbXBvcnQgeyBnZXRTcGluU2l6ZSB9IGZyb20gJy4vdXRpbHMvc2Nyb2xsYmFyVXRpbCc7XG5pbXBvcnQgeyBWSVJUVUFMX0xJU1RfQ09NUE9ORU5UX05BTUUsIFZJUlRVQUxfTElTVF9QUkVGSVhDTFMsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IEVNUFRZX0RBVEEgPSBbXTtcbmNvbnN0IFNjcm9sbFN0eWxlID0ge1xuICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgIG92ZXJmbG93QW5jaG9yOiAnbm9uZScsXG59O1xuZXhwb3J0IGZ1bmN0aW9uIFJhd0xpc3QocHJvcHMsIHJlZikge1xuICAgIGNvbnN0IHsgcHJlZml4Q2xzID0gVklSVFVBTF9MSVNUX1BSRUZJWENMUywgY2xhc3NOYW1lLCBoZWlnaHQsIGl0ZW1IZWlnaHQsIGZ1bGxIZWlnaHQgPSB0cnVlLCBzdHlsZSwgZGF0YSwgY2hpbGRyZW4sIGl0ZW1LZXksIHZpcnR1YWwsIGRpcmVjdGlvbiwgc2Nyb2xsV2lkdGgsIGNvbXBvbmVudDogQ29tcG9uZW50ID0gJ2RpdicsIG9uU2Nyb2xsLCBvblZpcnR1YWxTY3JvbGwsIG9uVmlzaWJsZUNoYW5nZSwgaW5uZXJQcm9wcywgZXh0cmFSZW5kZXIsIHN0eWxlcywgc2hvd1Njcm9sbEJhciA9ICdvcHRpb25hbCcgfSA9IHByb3BzLCByZXN0UHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcInByZWZpeENsc1wiLCBcImNsYXNzTmFtZVwiLCBcImhlaWdodFwiLCBcIml0ZW1IZWlnaHRcIiwgXCJmdWxsSGVpZ2h0XCIsIFwic3R5bGVcIiwgXCJkYXRhXCIsIFwiY2hpbGRyZW5cIiwgXCJpdGVtS2V5XCIsIFwidmlydHVhbFwiLCBcImRpcmVjdGlvblwiLCBcInNjcm9sbFdpZHRoXCIsIFwiY29tcG9uZW50XCIsIFwib25TY3JvbGxcIiwgXCJvblZpcnR1YWxTY3JvbGxcIiwgXCJvblZpc2libGVDaGFuZ2VcIiwgXCJpbm5lclByb3BzXCIsIFwiZXh0cmFSZW5kZXJcIiwgXCJzdHlsZXNcIiwgXCJzaG93U2Nyb2xsQmFyXCJdKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEl0ZW0gS2V5ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb25zdCBnZXRLZXkgPSBSZWFjdC51c2VDYWxsYmFjaygoaXRlbSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW1LZXkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtS2V5KGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtID09PSBudWxsIHx8IGl0ZW0gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGl0ZW1baXRlbUtleV07XG4gICAgfSwgW2l0ZW1LZXldKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBIZWlnaHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb25zdCBbc2V0SW5zdGFuY2VSZWYsIGNvbGxlY3RIZWlnaHQsIGhlaWdodHMsIGhlaWdodFVwZGF0ZWRNYXJrXSA9IHVzZUhlaWdodHMoZ2V0S2V5LCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE1JU0MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3QgdXNlVmlydHVhbCA9ICEhKHZpcnR1YWwgIT09IGZhbHNlICYmIGhlaWdodCAmJiBpdGVtSGVpZ2h0KTtcbiAgICBjb25zdCBjb250YWluZXJIZWlnaHQgPSBSZWFjdC51c2VNZW1vKCgpID0+IE9iamVjdC52YWx1ZXMoaGVpZ2h0cy5tYXBzKS5yZWR1Y2UoKHRvdGFsLCBjdXJyKSA9PiB0b3RhbCArIGN1cnIsIDApLCBbaGVpZ2h0cy5pZF0pO1xuICAgIGNvbnN0IGluVmlydHVhbCA9IHVzZVZpcnR1YWwgJiZcbiAgICAgICAgZGF0YSAmJlxuICAgICAgICAoTWF0aC5tYXgoaXRlbUhlaWdodCAqIGRhdGEubGVuZ3RoLCBjb250YWluZXJIZWlnaHQpID4gaGVpZ2h0IHx8ICEhc2Nyb2xsV2lkdGgpO1xuICAgIGNvbnN0IGlzUlRMID0gZGlyZWN0aW9uID09PSAncnRsJztcbiAgICBjb25zdCBtZXJnZWRDbGFzc05hbWUgPSBjbHN4KHByZWZpeENscywgeyBbYCR7cHJlZml4Q2xzfS1ydGxgXTogaXNSVEwgfSwgY2xhc3NOYW1lKTtcbiAgICBjb25zdCBtZXJnZWREYXRhID0gZGF0YSB8fCBFTVBUWV9EQVRBO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBmaWxsZXJJbm5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBJdGVtIEtleSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3QgW29mZnNldFRvcCwgc2V0T2Zmc2V0VG9wXSA9IHVzZVN0YXRlKDApO1xuICAgIGNvbnN0IFtvZmZzZXRMZWZ0LCBzZXRPZmZzZXRMZWZ0XSA9IHVzZVN0YXRlKDApO1xuICAgIGNvbnN0IFtzY3JvbGxNb3ZpbmcsIHNldFNjcm9sbE1vdmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgb25TY3JvbGxiYXJTdGFydE1vdmUgPSAoKSA9PiB7XG4gICAgICAgIHNldFNjcm9sbE1vdmluZyh0cnVlKTtcbiAgICB9O1xuICAgIGNvbnN0IG9uU2Nyb2xsYmFyU3RvcE1vdmUgPSAoKSA9PiB7XG4gICAgICAgIHNldFNjcm9sbE1vdmluZyhmYWxzZSk7XG4gICAgfTtcbiAgICBjb25zdCBzaGFyZWRDb25maWcgPSB7XG4gICAgICAgIGdldEtleSxcbiAgICB9O1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFNjcm9sbCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGZ1bmN0aW9uIHN5bmNTY3JvbGxUb3AobmV3VG9wKSB7XG4gICAgICAgIHNldE9mZnNldFRvcCgob3JpZ2luKSA9PiB7XG4gICAgICAgICAgICBsZXQgdmFsdWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG5ld1RvcCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gbmV3VG9wKG9yaWdpbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IG5ld1RvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGFsaWduZWRUb3AgPSBrZWVwSW5SYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuY3VycmVudC5zY3JvbGxUb3AgPSBhbGlnbmVkVG9wO1xuICAgICAgICAgICAgcmV0dXJuIGFsaWduZWRUb3A7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBMZWdhY3kgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBQdXQgcmVmIGhlcmUgc2luY2UgdGhlIHJhbmdlIGlzIGdlbmVyYXRlIGJ5IGZvbGxvd1xuICAgIGNvbnN0IHJhbmdlUmVmID0gdXNlUmVmKHsgc3RhcnQ6IDAsIGVuZDogbWVyZ2VkRGF0YS5sZW5ndGggfSk7XG4gICAgY29uc3QgZGlmZkl0ZW1SZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgW2RpZmZJdGVtXSA9IHVzZURpZmZJdGVtKG1lcmdlZERhdGEsIGdldEtleSk7XG4gICAgZGlmZkl0ZW1SZWYuY3VycmVudCA9IGRpZmZJdGVtO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IFZpc2libGUgQ2FsY3VsYXRpb24gPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNvbnN0IHsgc2Nyb2xsSGVpZ2h0LCBzdGFydCwgZW5kLCBvZmZzZXQ6IGZpbGxlck9mZnNldCwgfSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghdXNlVmlydHVhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzY3JvbGxIZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgICBlbmQ6IG1lcmdlZERhdGEubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWx3YXlzIHVzZSB2aXJ0dWFsIHNjcm9sbCBiYXIgaW4gYXZvaWQgc2hha2luZ1xuICAgICAgICBpZiAoIWluVmlydHVhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzY3JvbGxIZWlnaHQ6ICgoX2EgPSBmaWxsZXJJbm5lclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eub2Zmc2V0SGVpZ2h0KSB8fCAwLFxuICAgICAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgICAgIGVuZDogbWVyZ2VkRGF0YS5sZW5ndGggLSAxLFxuICAgICAgICAgICAgICAgIG9mZnNldDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXRlbVRvcCA9IDA7XG4gICAgICAgIGxldCBzdGFydEluZGV4O1xuICAgICAgICBsZXQgc3RhcnRPZmZzZXQ7XG4gICAgICAgIGxldCBlbmRJbmRleDtcbiAgICAgICAgY29uc3QgZGF0YUxlbiA9IG1lcmdlZERhdGEubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFMZW47IGkgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IG1lcmdlZERhdGFbaV07XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBnZXRLZXkoaXRlbSk7XG4gICAgICAgICAgICBjb25zdCBjYWNoZUhlaWdodCA9IGhlaWdodHMuZ2V0KGtleSk7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50SXRlbUJvdHRvbSA9IGl0ZW1Ub3AgKyAoY2FjaGVIZWlnaHQgPT09IHVuZGVmaW5lZCA/IGl0ZW1IZWlnaHQgOiBjYWNoZUhlaWdodCk7XG4gICAgICAgICAgICAvLyBDaGVjayBpdGVtIHRvcCBpbiB0aGUgcmFuZ2VcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXRlbUJvdHRvbSA+PSBvZmZzZXRUb3AgJiYgc3RhcnRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgc3RhcnRPZmZzZXQgPSBpdGVtVG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQ2hlY2sgaXRlbSBib3R0b20gaW4gdGhlIHJhbmdlLiBXZSB3aWxsIHJlbmRlciBhZGRpdGlvbmFsIG9uZSBpdGVtIGZvciBtb3Rpb24gdXNhZ2VcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXRlbUJvdHRvbSA+IG9mZnNldFRvcCArIGhlaWdodCAmJiBlbmRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbVRvcCA9IGN1cnJlbnRJdGVtQm90dG9tO1xuICAgICAgICB9XG4gICAgICAgIC8vIFdoZW4gc2Nyb2xsVG9wIGF0IHRoZSBlbmQgYnV0IGRhdGEgY3V0IHRvIHNtYWxsIGNvdW50IHdpbGwgcmVhY2ggdGhpc1xuICAgICAgICBpZiAoc3RhcnRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gMDtcbiAgICAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gMDtcbiAgICAgICAgICAgIGVuZEluZGV4ID0gTWF0aC5jZWlsKGhlaWdodCAvIGl0ZW1IZWlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBlbmRJbmRleCA9IG1lcmdlZERhdGEubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgICAvLyBHaXZlIGNhY2hlIHRvIGltcHJvdmUgc2Nyb2xsIGV4cGVyaWVuY2VcbiAgICAgICAgZW5kSW5kZXggPSBNYXRoLm1pbihlbmRJbmRleCArIDEsIG1lcmdlZERhdGEubGVuZ3RoIC0gMSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY3JvbGxIZWlnaHQ6IGl0ZW1Ub3AsXG4gICAgICAgICAgICBzdGFydDogc3RhcnRJbmRleCxcbiAgICAgICAgICAgIGVuZDogZW5kSW5kZXgsXG4gICAgICAgICAgICBvZmZzZXQ6IHN0YXJ0T2Zmc2V0LFxuICAgICAgICB9O1xuICAgIH0sIFtpblZpcnR1YWwsIHVzZVZpcnR1YWwsIG9mZnNldFRvcCwgbWVyZ2VkRGF0YSwgaGVpZ2h0VXBkYXRlZE1hcmssIGhlaWdodF0pO1xuICAgIHJhbmdlUmVmLmN1cnJlbnQuc3RhcnQgPSBzdGFydDtcbiAgICByYW5nZVJlZi5jdXJyZW50LmVuZCA9IGVuZDtcbiAgICAvLyBXaGVuIHNjcm9sbCB1cCwgZmlyc3QgdmlzaWJsZSBpdGVtIGdldCByZWFsIGhlaWdodCBtYXkgbm90IHNhbWUgYXMgYGl0ZW1IZWlnaHRgLFxuICAgIC8vIFdoaWNoIHdpbGwgbWFrZSBzY3JvbGwganVtcC5cbiAgICAvLyBMZXQncyBzeW5jIHNjcm9sbCB0b3AgdG8gYXZvaWQganVtcFxuICAgIFJlYWN0LnVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZWRSZWNvcmQgPSBoZWlnaHRzLmdldFJlY29yZCgpO1xuICAgICAgICBpZiAoY2hhbmdlZFJlY29yZC5zaXplID09PSAxKSB7XG4gICAgICAgICAgICBjb25zdCByZWNvcmRLZXkgPSBBcnJheS5mcm9tKGNoYW5nZWRSZWNvcmQua2V5cygpKVswXTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZDYWNoZUhlaWdodCA9IGNoYW5nZWRSZWNvcmQuZ2V0KHJlY29yZEtleSk7XG4gICAgICAgICAgICAvLyBRdWljayBzd2l0Y2ggZGF0YSBtYXkgY2F1c2UgYHN0YXJ0YCBub3QgaW4gYG1lcmdlZERhdGFgIGFueW1vcmVcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0SXRlbSA9IG1lcmdlZERhdGFbc3RhcnRdO1xuICAgICAgICAgICAgaWYgKHN0YXJ0SXRlbSAmJiBwcmV2Q2FjaGVIZWlnaHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXhLZXkgPSBnZXRLZXkoc3RhcnRJdGVtKTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhcnRJbmRleEtleSA9PT0gcmVjb3JkS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlYWxTdGFydEhlaWdodCA9IGhlaWdodHMuZ2V0KHJlY29yZEtleSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpZmZIZWlnaHQgPSByZWFsU3RhcnRIZWlnaHQgLSBpdGVtSGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBzeW5jU2Nyb2xsVG9wKChvcmkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmkgKyBkaWZmSGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaGVpZ2h0cy5yZXNldFJlY29yZCgpO1xuICAgIH0sIFtzY3JvbGxIZWlnaHRdKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU2l6ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb25zdCBbc2l6ZSwgc2V0U2l6ZV0gPSBSZWFjdC51c2VTdGF0ZSh7IHdpZHRoOiAwLCBoZWlnaHQ6IGhlaWdodCAhPT0gbnVsbCAmJiBoZWlnaHQgIT09IHZvaWQgMCA/IGhlaWdodCA6IDAgfSk7XG4gICAgY29uc3Qgb25Ib2xkZXJSZXNpemUgPSAoc2l6ZUluZm8pID0+IHtcbiAgICAgICAgc2V0U2l6ZSh7XG4gICAgICAgICAgICB3aWR0aDogc2l6ZUluZm8ub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHNpemVJbmZvLm9mZnNldEhlaWdodCxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICAvLyBIYWNrIG9uIHNjcm9sbGJhciB0byBlbmFibGUgZmxhc2ggY2FsbFxuICAgIGNvbnN0IHZlcnRpY2FsU2Nyb2xsQmFyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGhvcml6b250YWxTY3JvbGxCYXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaG9yaXpvbnRhbFNjcm9sbEJhclNwaW5TaXplID0gUmVhY3QudXNlTWVtbygoKSA9PiBnZXRTcGluU2l6ZShzaXplLndpZHRoLCBzY3JvbGxXaWR0aCksIFtzaXplLndpZHRoLCBzY3JvbGxXaWR0aF0pO1xuICAgIGNvbnN0IHZlcnRpY2FsU2Nyb2xsQmFyU3BpblNpemUgPSBSZWFjdC51c2VNZW1vKCgpID0+IGdldFNwaW5TaXplKHNpemUuaGVpZ2h0LCBzY3JvbGxIZWlnaHQpLCBbc2l6ZS5oZWlnaHQsIHNjcm9sbEhlaWdodF0pO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gSW4gUmFuZ2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNvbnN0IG1heFNjcm9sbEhlaWdodCA9IHNjcm9sbEhlaWdodCAtIGhlaWdodDtcbiAgICBjb25zdCBtYXhTY3JvbGxIZWlnaHRSZWYgPSB1c2VSZWYobWF4U2Nyb2xsSGVpZ2h0KTtcbiAgICBtYXhTY3JvbGxIZWlnaHRSZWYuY3VycmVudCA9IG1heFNjcm9sbEhlaWdodDtcbiAgICBmdW5jdGlvbiBrZWVwSW5SYW5nZShuZXdTY3JvbGxUb3ApIHtcbiAgICAgICAgbGV0IG5ld1RvcCA9IG5ld1Njcm9sbFRvcDtcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4obWF4U2Nyb2xsSGVpZ2h0UmVmLmN1cnJlbnQpKSB7XG4gICAgICAgICAgICBuZXdUb3AgPSBNYXRoLm1pbihuZXdUb3AsIG1heFNjcm9sbEhlaWdodFJlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgICBuZXdUb3AgPSBNYXRoLm1heChuZXdUb3AsIDApO1xuICAgICAgICByZXR1cm4gbmV3VG9wO1xuICAgIH1cbiAgICBjb25zdCBpc1Njcm9sbEF0VG9wID0gb2Zmc2V0VG9wIDw9IDA7XG4gICAgY29uc3QgaXNTY3JvbGxBdEJvdHRvbSA9IG9mZnNldFRvcCA+PSBtYXhTY3JvbGxIZWlnaHQ7XG4gICAgY29uc3QgaXNTY3JvbGxBdExlZnQgPSBvZmZzZXRMZWZ0IDw9IDA7XG4gICAgY29uc3QgaXNTY3JvbGxBdFJpZ2h0ID0gISFzY3JvbGxXaWR0aCAmJiBvZmZzZXRMZWZ0ID49IHNjcm9sbFdpZHRoIC0gc2l6ZS53aWR0aDtcbiAgICBjb25zdCBvcmlnaW5TY3JvbGwgPSB1c2VPcmlnaW5TY3JvbGwoaXNTY3JvbGxBdFRvcCwgaXNTY3JvbGxBdEJvdHRvbSwgaXNTY3JvbGxBdExlZnQsIGlzU2Nyb2xsQXRSaWdodCk7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU2Nyb2xsID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3QgZ2V0VmlydHVhbFNjcm9sbEluZm8gPSAoKSA9PiAoe1xuICAgICAgICB4OiBpc1JUTCA/IC1vZmZzZXRMZWZ0IDogb2Zmc2V0TGVmdCxcbiAgICAgICAgeTogb2Zmc2V0VG9wLFxuICAgIH0pO1xuICAgIGNvbnN0IGxhc3RWaXJ0dWFsU2Nyb2xsSW5mb1JlZiA9IHVzZVJlZihnZXRWaXJ0dWFsU2Nyb2xsSW5mbygpKTtcbiAgICBjb25zdCB0cmlnZ2VyU2Nyb2xsID0gdXNlRXZlbnRDYWxsYmFjaygocGFyYW1zKSA9PiB7XG4gICAgICAgIGlmIChvblZpcnR1YWxTY3JvbGwpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRJbmZvID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRWaXJ0dWFsU2Nyb2xsSW5mbygpKSwgcGFyYW1zKTtcbiAgICAgICAgICAgIC8vIFRyaWdnZXIgd2hlbiBvZmZzZXQgY2hhbmdlZFxuICAgICAgICAgICAgaWYgKGxhc3RWaXJ0dWFsU2Nyb2xsSW5mb1JlZi5jdXJyZW50LnggIT09IG5leHRJbmZvLnggfHxcbiAgICAgICAgICAgICAgICBsYXN0VmlydHVhbFNjcm9sbEluZm9SZWYuY3VycmVudC55ICE9PSBuZXh0SW5mby55KSB7XG4gICAgICAgICAgICAgICAgb25WaXJ0dWFsU2Nyb2xsKG5leHRJbmZvKTtcbiAgICAgICAgICAgICAgICBsYXN0VmlydHVhbFNjcm9sbEluZm9SZWYuY3VycmVudCA9IG5leHRJbmZvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gb25TY3JvbGxCYXIobmV3U2Nyb2xsT2Zmc2V0LCBob3Jpem9udGFsKSB7XG4gICAgICAgIGNvbnN0IG5ld09mZnNldCA9IG5ld1Njcm9sbE9mZnNldDtcbiAgICAgICAgaWYgKGhvcml6b250YWwpIHtcbiAgICAgICAgICAgIGZsdXNoU3luYygoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0T2Zmc2V0TGVmdChuZXdPZmZzZXQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0cmlnZ2VyU2Nyb2xsKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzeW5jU2Nyb2xsVG9wKG5ld09mZnNldCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gV2hlbiBkYXRhIHNpemUgcmVkdWNlLiBJdCBtYXkgdHJpZ2dlciBuYXRpdmUgc2Nyb2xsIGV2ZW50IGJhY2sgdG8gZml0IHNjcm9sbCBwb3NpdGlvblxuICAgIGZ1bmN0aW9uIG9uRmFsbGJhY2tTY3JvbGwoZSkge1xuICAgICAgICBjb25zdCB7IHNjcm9sbFRvcDogbmV3U2Nyb2xsVG9wIH0gPSBlLmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgIGlmIChuZXdTY3JvbGxUb3AgIT09IG9mZnNldFRvcCkge1xuICAgICAgICAgICAgc3luY1Njcm9sbFRvcChuZXdTY3JvbGxUb3ApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRyaWdnZXIgb3JpZ2luIG9uU2Nyb2xsXG4gICAgICAgIG9uU2Nyb2xsID09PSBudWxsIHx8IG9uU2Nyb2xsID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNjcm9sbChlKTtcbiAgICAgICAgdHJpZ2dlclNjcm9sbCgpO1xuICAgIH1cbiAgICBjb25zdCBrZWVwSW5Ib3Jpem9udGFsUmFuZ2UgPSAobmV4dE9mZnNldExlZnQpID0+IHtcbiAgICAgICAgbGV0IHRtcE9mZnNldExlZnQgPSBuZXh0T2Zmc2V0TGVmdDtcbiAgICAgICAgY29uc3QgbWF4ID0gc2Nyb2xsV2lkdGggPyBzY3JvbGxXaWR0aCAtIHNpemUud2lkdGggOiAwO1xuICAgICAgICB0bXBPZmZzZXRMZWZ0ID0gTWF0aC5tYXgodG1wT2Zmc2V0TGVmdCwgMCk7XG4gICAgICAgIHRtcE9mZnNldExlZnQgPSBNYXRoLm1pbih0bXBPZmZzZXRMZWZ0LCBtYXgpO1xuICAgICAgICByZXR1cm4gdG1wT2Zmc2V0TGVmdDtcbiAgICB9O1xuICAgIGNvbnN0IG9uV2hlZWxEZWx0YSA9IHVzZUV2ZW50Q2FsbGJhY2soKG9mZnNldFhZLCBmcm9tSG9yaXpvbnRhbCkgPT4ge1xuICAgICAgICBpZiAoZnJvbUhvcml6b250YWwpIHtcbiAgICAgICAgICAgIGZsdXNoU3luYygoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0T2Zmc2V0TGVmdCgobGVmdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0T2Zmc2V0TGVmdCA9IGxlZnQgKyAoaXNSVEwgPyAtb2Zmc2V0WFkgOiBvZmZzZXRYWSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBrZWVwSW5Ib3Jpem9udGFsUmFuZ2UobmV4dE9mZnNldExlZnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0cmlnZ2VyU2Nyb2xsKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzeW5jU2Nyb2xsVG9wKCh0b3ApID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdUb3AgPSB0b3AgKyBvZmZzZXRYWTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3VG9wO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBTaW5jZSB0aGlzIGFkZGVkIGluIGdsb2JhbCxzaG91bGQgdXNlIHJlZiB0byBrZWVwIHVwZGF0ZVxuICAgIGNvbnN0IFtvblJhd1doZWVsLCBvbkZpcmVGb3hTY3JvbGxdID0gdXNlRnJhbWVXaGVlbCh1c2VWaXJ0dWFsLCBpc1Njcm9sbEF0VG9wLCBpc1Njcm9sbEF0Qm90dG9tLCBpc1Njcm9sbEF0TGVmdCwgaXNTY3JvbGxBdFJpZ2h0LCAhIXNjcm9sbFdpZHRoLCBvbldoZWVsRGVsdGEpO1xuICAgIC8vIE1vYmlsZSB0b3VjaCBtb3ZlXG4gICAgdXNlTW9iaWxlVG91Y2hNb3ZlKHVzZVZpcnR1YWwsIGNvbXBvbmVudFJlZiwgKGlzSG9yaXpvbnRhbCwgZGVsdGEsIHNtb290aE9mZnNldCwgZSkgPT4ge1xuICAgICAgICBjb25zdCBldmVudCA9IGU7XG4gICAgICAgIGlmIChvcmlnaW5TY3JvbGwoaXNIb3Jpem9udGFsLCBkZWx0YSwgc21vb3RoT2Zmc2V0KSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZpeCBuZXN0IExpc3QgdHJpZ2dlciBUb3VjaE1vdmUgZXZlbnRcbiAgICAgICAgaWYgKCFldmVudCB8fCAhZXZlbnQuX3ZpcnR1YWxIYW5kbGVkKSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBldmVudC5fdmlydHVhbEhhbmRsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb25SYXdXaGVlbCh7XG4gICAgICAgICAgICAgICAgcHJldmVudERlZmF1bHQoKSB7IH0sXG4gICAgICAgICAgICAgICAgZGVsdGFYOiBpc0hvcml6b250YWwgPyBkZWx0YSA6IDAsXG4gICAgICAgICAgICAgICAgZGVsdGFZOiBpc0hvcml6b250YWwgPyAwIDogZGVsdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICAvLyBNb3VzZURvd24gZHJhZyBmb3Igc2Nyb2xsXG4gICAgdXNlU2Nyb2xsRHJhZyhpblZpcnR1YWwsIGNvbXBvbmVudFJlZiwgKG9mZnNldCkgPT4ge1xuICAgICAgICBzeW5jU2Nyb2xsVG9wKCh0b3ApID0+IHRvcCArIG9mZnNldCk7XG4gICAgfSk7XG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gRmlyZWZveCBvbmx5XG4gICAgICAgIGZ1bmN0aW9uIG9uTW96TW91c2VQaXhlbFNjcm9sbChlKSB7XG4gICAgICAgICAgICAvLyBzY3JvbGxpbmcgYXQgdG9wL2JvdHRvbSBsaW1pdFxuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsaW5nVXBBdFRvcCA9IGlzU2Nyb2xsQXRUb3AgJiYgZS5kZXRhaWwgPCAwO1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsaW5nRG93bkF0Qm90dG9tID0gaXNTY3JvbGxBdEJvdHRvbSAmJiBlLmRldGFpbCA+IDA7XG4gICAgICAgICAgICBpZiAodXNlVmlydHVhbCAmJiAhc2Nyb2xsaW5nVXBBdFRvcCAmJiAhc2Nyb2xsaW5nRG93bkF0Qm90dG9tKSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEVsZSA9IGNvbXBvbmVudFJlZi5jdXJyZW50O1xuICAgICAgICBjb21wb25lbnRFbGUuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBvblJhd1doZWVsLCB7IHBhc3NpdmU6IGZhbHNlIH0pO1xuICAgICAgICBjb21wb25lbnRFbGUuYWRkRXZlbnRMaXN0ZW5lcignRE9NTW91c2VTY3JvbGwnLCBvbkZpcmVGb3hTY3JvbGwsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgY29tcG9uZW50RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ01vek1vdXNlUGl4ZWxTY3JvbGwnLCBvbk1vek1vdXNlUGl4ZWxTY3JvbGwsIHsgcGFzc2l2ZTogZmFsc2UgfSk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBjb21wb25lbnRFbGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBvblJhd1doZWVsKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEVsZS5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Nb3VzZVNjcm9sbCcsIG9uRmlyZUZveFNjcm9sbCk7XG4gICAgICAgICAgICBjb21wb25lbnRFbGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignTW96TW91c2VQaXhlbFNjcm9sbCcsIG9uTW96TW91c2VQaXhlbFNjcm9sbCk7XG4gICAgICAgIH07XG4gICAgfSwgW3VzZVZpcnR1YWwsIGlzU2Nyb2xsQXRUb3AsIGlzU2Nyb2xsQXRCb3R0b21dKTtcbiAgICAvLyBTeW5jIHNjcm9sbCBsZWZ0XG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHNjcm9sbFdpZHRoKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdPZmZzZXRMZWZ0ID0ga2VlcEluSG9yaXpvbnRhbFJhbmdlKG9mZnNldExlZnQpO1xuICAgICAgICAgICAgc2V0T2Zmc2V0TGVmdChuZXdPZmZzZXRMZWZ0KTtcbiAgICAgICAgICAgIHRyaWdnZXJTY3JvbGwoeyB4OiBuZXdPZmZzZXRMZWZ0IH0pO1xuICAgICAgICB9XG4gICAgfSwgW3NpemUud2lkdGgsIHNjcm9sbFdpZHRoXSk7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFJlZiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3QgZGVsYXlIaWRlU2Nyb2xsQmFyID0gKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAoX2EgPSB2ZXJ0aWNhbFNjcm9sbEJhclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGVsYXlIaWRkZW4oKTtcbiAgICAgICAgKF9iID0gaG9yaXpvbnRhbFNjcm9sbEJhclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZGVsYXlIaWRkZW4oKTtcbiAgICB9O1xuICAgIGNvbnN0IHNjcm9sbFRvID0gdXNlU2Nyb2xsVG8oY29tcG9uZW50UmVmLCBtZXJnZWREYXRhLCBoZWlnaHRzLCBpdGVtSGVpZ2h0LCBnZXRLZXksICgpID0+IGNvbGxlY3RIZWlnaHQodHJ1ZSksIHN5bmNTY3JvbGxUb3AsIGRlbGF5SGlkZVNjcm9sbEJhcik7XG4gICAgUmVhY3QudXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIG5hdGl2ZUVsZW1lbnQ6IGNvbnRhaW5lclJlZi5jdXJyZW50LFxuICAgICAgICBnZXRTY3JvbGxJbmZvOiBnZXRWaXJ0dWFsU2Nyb2xsSW5mbyxcbiAgICAgICAgc2Nyb2xsVG86IChjb25maWcpID0+IHtcbiAgICAgICAgICAgIGZ1bmN0aW9uIGlzUG9zU2Nyb2xsKGFyZykge1xuICAgICAgICAgICAgICAgIHJldHVybiBhcmcgJiYgdHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgJiYgKCdsZWZ0JyBpbiBhcmcgfHwgJ3RvcCcgaW4gYXJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc1Bvc1Njcm9sbChjb25maWcpKSB7XG4gICAgICAgICAgICAgICAgLy8gU2Nyb2xsIFhcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmxlZnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRPZmZzZXRMZWZ0KGtlZXBJbkhvcml6b250YWxSYW5nZShjb25maWcubGVmdCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBTY3JvbGwgWVxuICAgICAgICAgICAgICAgIHNjcm9sbFRvKGNvbmZpZy50b3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgc2Nyb2xsVG8oY29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KSk7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gRWZmZWN0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLyoqIFdlIG5lZWQgdG9sZCBvdXRzaWRlIHRoYXQgc29tZSBsaXN0IG5vdCByZW5kZXJlZCAqL1xuICAgIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChvblZpc2libGVDaGFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbmRlckxpc3QgPSBtZXJnZWREYXRhLnNsaWNlKHN0YXJ0LCBlbmQgKyAxKTtcbiAgICAgICAgICAgIG9uVmlzaWJsZUNoYW5nZShyZW5kZXJMaXN0LCBtZXJnZWREYXRhKTtcbiAgICAgICAgfVxuICAgIH0sIFtzdGFydCwgZW5kLCBtZXJnZWREYXRhXSk7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gRXh0cmEgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3QgZ2V0U2l6ZSA9IHVzZUdldFNpemUobWVyZ2VkRGF0YSwgZ2V0S2V5LCBoZWlnaHRzLCBpdGVtSGVpZ2h0KTtcbiAgICBjb25zdCBleHRyYUNvbnRlbnQgPSBleHRyYVJlbmRlciA9PT0gbnVsbCB8fCBleHRyYVJlbmRlciA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXh0cmFSZW5kZXIoe1xuICAgICAgICBzdGFydCxcbiAgICAgICAgZW5kLFxuICAgICAgICB2aXJ0dWFsOiBpblZpcnR1YWwsXG4gICAgICAgIG9mZnNldFg6IG9mZnNldExlZnQsXG4gICAgICAgIG9mZnNldFk6IGZpbGxlck9mZnNldCxcbiAgICAgICAgcnRsOiBpc1JUTCxcbiAgICAgICAgZ2V0U2l6ZSxcbiAgICB9KTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBSZW5kZXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb25zdCBsaXN0Q2hpbGRyZW4gPSB1c2VDaGlsZHJlbihtZXJnZWREYXRhLCBzdGFydCwgZW5kLCBzY3JvbGxXaWR0aCwgb2Zmc2V0TGVmdCwgc2V0SW5zdGFuY2VSZWYsIGNoaWxkcmVuLCBzaGFyZWRDb25maWcpO1xuICAgIGxldCBjb21wb25lbnRTdHlsZSA9IHVuZGVmaW5lZDtcbiAgICBpZiAoaGVpZ2h0KSB7XG4gICAgICAgIGNvbXBvbmVudFN0eWxlID0gT2JqZWN0LmFzc2lnbih7IFtmdWxsSGVpZ2h0ID8gJ2hlaWdodCcgOiAnbWF4SGVpZ2h0J106IGhlaWdodCB9LCBTY3JvbGxTdHlsZSk7XG4gICAgICAgIGlmICh1c2VWaXJ0dWFsKSB7XG4gICAgICAgICAgICBjb21wb25lbnRTdHlsZS5vdmVyZmxvd1kgPSAnaGlkZGVuJztcbiAgICAgICAgICAgIGlmIChzY3JvbGxXaWR0aCkge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFN0eWxlLm92ZXJmbG93WCA9ICdoaWRkZW4nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNjcm9sbE1vdmluZykge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY29udGFpbmVyUHJvcHMgPSB7fTtcbiAgICBpZiAoaXNSVEwpIHtcbiAgICAgICAgY29udGFpbmVyUHJvcHMuZGlyID0gJ3J0bCc7XG4gICAgfVxuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7IHJlZjogY29udGFpbmVyUmVmLCBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBzdHlsZSksIHsgcG9zaXRpb246ICdyZWxhdGl2ZScgfSksIGNsYXNzTmFtZTogbWVyZ2VkQ2xhc3NOYW1lIH0sIGNvbnRhaW5lclByb3BzLCByZXN0UHJvcHMsIHsgY2hpbGRyZW46IFtfanN4KFJlc2l6ZU9ic2VydmVyLCB7IG9uUmVzaXplOiBvbkhvbGRlclJlc2l6ZSwgY2hpbGRyZW46IF9qc3goQ29tcG9uZW50LCB7IGNsYXNzTmFtZTogYCR7cHJlZml4Q2xzfS1ob2xkZXJgLCBzdHlsZTogY29tcG9uZW50U3R5bGUsIHJlZjogY29tcG9uZW50UmVmLCBvblNjcm9sbDogb25GYWxsYmFja1Njcm9sbCwgb25Nb3VzZUVudGVyOiBkZWxheUhpZGVTY3JvbGxCYXIsIGNoaWxkcmVuOiBfanN4KEZpbGxlciwgeyBwcmVmaXhDbHM6IHByZWZpeENscywgaGVpZ2h0OiBzY3JvbGxIZWlnaHQsIG9mZnNldFg6IG9mZnNldExlZnQsIG9mZnNldFk6IGZpbGxlck9mZnNldCwgc2Nyb2xsV2lkdGg6IHNjcm9sbFdpZHRoLCBvbklubmVyUmVzaXplOiBjb2xsZWN0SGVpZ2h0LCByZWY6IGZpbGxlcklubmVyUmVmLCBpbm5lclByb3BzOiBpbm5lclByb3BzLCBydGw6IGlzUlRMLCBleHRyYTogZXh0cmFDb250ZW50LCBjaGlsZHJlbjogbGlzdENoaWxkcmVuIH0pIH0pIH0pLCBpblZpcnR1YWwgJiYgc2Nyb2xsSGVpZ2h0ID4gaGVpZ2h0ICYmIChfanN4KFNjcm9sbEJhciwgeyByZWY6IHZlcnRpY2FsU2Nyb2xsQmFyUmVmLCBwcmVmaXhDbHM6IHByZWZpeENscywgc2Nyb2xsT2Zmc2V0OiBvZmZzZXRUb3AsIHNjcm9sbFJhbmdlOiBzY3JvbGxIZWlnaHQsIHJ0bDogaXNSVEwsIG9uU2Nyb2xsOiBvblNjcm9sbEJhciwgb25TdGFydE1vdmU6IG9uU2Nyb2xsYmFyU3RhcnRNb3ZlLCBvblN0b3BNb3ZlOiBvblNjcm9sbGJhclN0b3BNb3ZlLCBzcGluU2l6ZTogdmVydGljYWxTY3JvbGxCYXJTcGluU2l6ZSwgY29udGFpbmVyU2l6ZTogc2l6ZS5oZWlnaHQsIHN0eWxlOiBzdHlsZXMgPT09IG51bGwgfHwgc3R5bGVzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzdHlsZXMudmVydGljYWxTY3JvbGxCYXIsIHRodW1iU3R5bGU6IHN0eWxlcyA9PT0gbnVsbCB8fCBzdHlsZXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN0eWxlcy52ZXJ0aWNhbFNjcm9sbEJhclRodW1iLCBzaG93U2Nyb2xsQmFyOiBzaG93U2Nyb2xsQmFyIH0pKSwgaW5WaXJ0dWFsICYmIHNjcm9sbFdpZHRoID4gc2l6ZS53aWR0aCAmJiAoX2pzeChTY3JvbGxCYXIsIHsgcmVmOiBob3Jpem9udGFsU2Nyb2xsQmFyUmVmLCBwcmVmaXhDbHM6IHByZWZpeENscywgc2Nyb2xsT2Zmc2V0OiBvZmZzZXRMZWZ0LCBzY3JvbGxSYW5nZTogc2Nyb2xsV2lkdGgsIHJ0bDogaXNSVEwsIG9uU2Nyb2xsOiBvblNjcm9sbEJhciwgb25TdGFydE1vdmU6IG9uU2Nyb2xsYmFyU3RhcnRNb3ZlLCBvblN0b3BNb3ZlOiBvblNjcm9sbGJhclN0b3BNb3ZlLCBzcGluU2l6ZTogaG9yaXpvbnRhbFNjcm9sbEJhclNwaW5TaXplLCBjb250YWluZXJTaXplOiBzaXplLndpZHRoLCBob3Jpem9udGFsOiB0cnVlLCBzdHlsZTogc3R5bGVzID09PSBudWxsIHx8IHN0eWxlcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3R5bGVzLmhvcml6b250YWxTY3JvbGxCYXIsIHRodW1iU3R5bGU6IHN0eWxlcyA9PT0gbnVsbCB8fCBzdHlsZXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN0eWxlcy5ob3Jpem9udGFsU2Nyb2xsQmFyVGh1bWIsIHNob3dTY3JvbGxCYXI6IHNob3dTY3JvbGxCYXIgfSkpXSB9KSkpO1xufVxuY29uc3QgVmlydHVhbExpc3RCYXNlID0gUmVhY3QuZm9yd2FyZFJlZihSYXdMaXN0KTtcblZpcnR1YWxMaXN0QmFzZS5kaXNwbGF5TmFtZSA9IFZJUlRVQUxfTElTVF9DT01QT05FTlRfTkFNRTtcbmNvbnN0IFZpcnR1YWxMaXN0ID0gUmVhY3QubWVtbyhWaXJ0dWFsTGlzdEJhc2UpO1xuZXhwb3J0IGRlZmF1bHQgVmlydHVhbExpc3Q7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
554
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3QvVmlydHVhbExpc3QuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1ZpcnR1YWxMaXN0L1ZpcnR1YWxMaXN0LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfY2xzeDIiLCJfUmVzaXplT2JzZXJ2ZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VzZUxheW91dEVmZmVjdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJSZWFjdCIsIl9yZWFjdERvbSIsIl9GaWxsZXIiLCJfdXNlQ2hpbGRyZW4iLCJfdXNlRGlmZkl0ZW0zIiwiX3VzZUZyYW1lV2hlZWwzIiwiX3VzZUdldFNpemUiLCJfdXNlSGVpZ2h0czMiLCJfdXNlTW9iaWxlVG91Y2hNb3ZlIiwiX3VzZU9yaWdpblNjcm9sbCIsIl91c2VTY3JvbGxEcmFnIiwiX3VzZVNjcm9sbFRvIiwiX1Njcm9sbEJhciIsIl9zY3JvbGxiYXJVdGlsIiwiX2NvbnN0YW50cyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiRU1QVFlfREFUQSIsIlNjcm9sbFN0eWxlIiwib3ZlcmZsb3dZIiwib3ZlcmZsb3dBbmNob3IiLCJSYXdMaXN0IiwicHJvcHMiLCJyZWYiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiVklSVFVBTF9MSVNUX1BSRUZJWENMUyIsImNsYXNzTmFtZSIsImhlaWdodCIsIml0ZW1IZWlnaHQiLCJfcHJvcHMkZnVsbEhlaWdodCIsImZ1bGxIZWlnaHQiLCJzdHlsZSIsImRhdGEiLCJjaGlsZHJlbiIsIml0ZW1LZXkiLCJ2aXJ0dWFsIiwiZGlyZWN0aW9uIiwic2Nyb2xsV2lkdGgiLCJfcHJvcHMkY29tcG9uZW50IiwiY29tcG9uZW50IiwiQ29tcG9uZW50Iiwib25TY3JvbGwiLCJvblZpcnR1YWxTY3JvbGwiLCJvblZpc2libGVDaGFuZ2UiLCJpbm5lclByb3BzIiwiZXh0cmFSZW5kZXIiLCJzdHlsZXMiLCJfcHJvcHMkc2hvd1Njcm9sbEJhciIsInNob3dTY3JvbGxCYXIiLCJyZXN0UHJvcHMiLCJnZXRLZXkiLCJ1c2VDYWxsYmFjayIsIml0ZW0iLCJfdXNlSGVpZ2h0cyIsInVzZUhlaWdodHMiLCJ1bmRlZmluZWQiLCJfdXNlSGVpZ2h0czIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZXRJbnN0YW5jZVJlZiIsImNvbGxlY3RIZWlnaHQiLCJoZWlnaHRzIiwiaGVpZ2h0VXBkYXRlZE1hcmsiLCJ1c2VWaXJ0dWFsIiwiY29udGFpbmVySGVpZ2h0IiwidXNlTWVtbyIsInZhbHVlcyIsIm1hcHMiLCJyZWR1Y2UiLCJ0b3RhbCIsImN1cnIiLCJpZCIsImluVmlydHVhbCIsIk1hdGgiLCJtYXgiLCJpc1JUTCIsIm1lcmdlZENsYXNzTmFtZSIsImNsc3giLCJfZGVmaW5lUHJvcGVydHkyIiwiY29uY2F0IiwibWVyZ2VkRGF0YSIsImNvbXBvbmVudFJlZiIsInVzZVJlZiIsImZpbGxlcklubmVyUmVmIiwiY29udGFpbmVyUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwib2Zmc2V0VG9wIiwic2V0T2Zmc2V0VG9wIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJvZmZzZXRMZWZ0Iiwic2V0T2Zmc2V0TGVmdCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2Nyb2xsTW92aW5nIiwic2V0U2Nyb2xsTW92aW5nIiwib2Zmc2V0VG9wUmVmIiwib25TY3JvbGxiYXJTdGFydE1vdmUiLCJvblNjcm9sbGJhclN0b3BNb3ZlIiwic2hhcmVkQ29uZmlnIiwic3luY1Njcm9sbFRvcCIsIm5ld1RvcCIsInZhbHVlIiwiY3VycmVudCIsImFsaWduZWRUb3AiLCJrZWVwSW5SYW5nZSIsInNjcm9sbFRvcCIsImN1cnJlbnRUYXJnZXQiLCJyYW5nZVJlZiIsInN0YXJ0IiwiZW5kIiwiZGlmZkl0ZW1SZWYiLCJfdXNlRGlmZkl0ZW0iLCJ1c2VEaWZmSXRlbSIsIl91c2VEaWZmSXRlbTIiLCJkaWZmSXRlbSIsIl9SZWFjdCR1c2VNZW1vIiwiX2EiLCJzY3JvbGxIZWlnaHQiLCJvZmZzZXQiLCJvZmZzZXRIZWlnaHQiLCJpdGVtVG9wIiwic3RhcnRJbmRleCIsInN0YXJ0T2Zmc2V0IiwiZW5kSW5kZXgiLCJkYXRhTGVuIiwia2V5IiwiY2FjaGVIZWlnaHQiLCJjdXJyZW50SXRlbUJvdHRvbSIsImNlaWwiLCJtaW4iLCJmaWxsZXJPZmZzZXQiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjaGFuZ2VkUmVjb3JkIiwiZ2V0UmVjb3JkIiwic2l6ZSIsInJlY29yZEtleSIsIkFycmF5IiwiZnJvbSIsImtleXMiLCJwcmV2Q2FjaGVIZWlnaHQiLCJzdGFydEl0ZW0iLCJzdGFydEluZGV4S2V5IiwicmVhbFN0YXJ0SGVpZ2h0IiwiZGlmZkhlaWdodCIsIm9yaSIsInJlc2V0UmVjb3JkIiwiX1JlYWN0JHVzZVN0YXRlIiwid2lkdGgiLCJfUmVhY3QkdXNlU3RhdGUyIiwic2V0U2l6ZSIsIm9uSG9sZGVyUmVzaXplIiwic2l6ZUluZm8iLCJvZmZzZXRXaWR0aCIsInZlcnRpY2FsU2Nyb2xsQmFyUmVmIiwiaG9yaXpvbnRhbFNjcm9sbEJhclJlZiIsImhvcml6b250YWxTY3JvbGxCYXJTcGluU2l6ZSIsImdldFNwaW5TaXplIiwidmVydGljYWxTY3JvbGxCYXJTcGluU2l6ZSIsIm1heFNjcm9sbEhlaWdodCIsIm1heFNjcm9sbEhlaWdodFJlZiIsIm5ld1Njcm9sbFRvcCIsIk51bWJlciIsImlzTmFOIiwiaXNTY3JvbGxBdFRvcCIsImlzU2Nyb2xsQXRCb3R0b20iLCJpc1Njcm9sbEF0TGVmdCIsImlzU2Nyb2xsQXRSaWdodCIsIm9yaWdpblNjcm9sbCIsInVzZU9yaWdpblNjcm9sbCIsImdldFZpcnR1YWxTY3JvbGxJbmZvIiwieCIsInkiLCJsYXN0VmlydHVhbFNjcm9sbEluZm9SZWYiLCJ0cmlnZ2VyU2Nyb2xsIiwidXNlRXZlbnRDYWxsYmFjayIsInBhcmFtcyIsIm5leHRJbmZvIiwiYXNzaWduIiwib25TY3JvbGxCYXIiLCJuZXdTY3JvbGxPZmZzZXQiLCJob3Jpem9udGFsIiwibmV3T2Zmc2V0IiwiZmx1c2hTeW5jIiwib25GYWxsYmFja1Njcm9sbCIsImtlZXBJbkhvcml6b250YWxSYW5nZSIsIm5leHRPZmZzZXRMZWZ0IiwidG1wT2Zmc2V0TGVmdCIsIm9uV2hlZWxEZWx0YSIsIm9mZnNldFhZIiwiZnJvbUhvcml6b250YWwiLCJsZWZ0IiwidG9wIiwiX3VzZUZyYW1lV2hlZWwiLCJ1c2VGcmFtZVdoZWVsIiwiX3VzZUZyYW1lV2hlZWwyIiwib25SYXdXaGVlbCIsIm9uRmlyZUZveFNjcm9sbCIsInVzZU1vYmlsZVRvdWNoTW92ZSIsImlzSG9yaXpvbnRhbCIsImRlbHRhIiwic21vb3RoT2Zmc2V0IiwiZXZlbnQiLCJfdmlydHVhbEhhbmRsZWQiLCJwcmV2ZW50RGVmYXVsdCIsImRlbHRhWCIsImRlbHRhWSIsInVzZVNjcm9sbERyYWciLCJvbk1vek1vdXNlUGl4ZWxTY3JvbGwiLCJzY3JvbGxpbmdVcEF0VG9wIiwiZGV0YWlsIiwic2Nyb2xsaW5nRG93bkF0Qm90dG9tIiwiY29tcG9uZW50RWxlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInBhc3NpdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibmV3T2Zmc2V0TGVmdCIsImRlbGF5SGlkZVNjcm9sbEJhciIsIl9iIiwiZGVsYXlIaWRkZW4iLCJzY3JvbGxUbyIsInVzZVNjcm9sbFRvIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsIm5hdGl2ZUVsZW1lbnQiLCJnZXRTY3JvbGxJbmZvIiwiY29uZmlnIiwiaXNQb3NTY3JvbGwiLCJhcmciLCJfdHlwZW9mMiIsInJlbmRlckxpc3QiLCJzbGljZSIsImdldFNpemUiLCJ1c2VHZXRTaXplIiwiZXh0cmFDb250ZW50Iiwib2Zmc2V0WCIsIm9mZnNldFkiLCJydGwiLCJsaXN0Q2hpbGRyZW4iLCJ1c2VDaGlsZHJlbiIsImNvbXBvbmVudFN0eWxlIiwib3ZlcmZsb3dYIiwicG9pbnRlckV2ZW50cyIsImNvbnRhaW5lclByb3BzIiwiZGlyIiwiX2pzeHMiLCJwb3NpdGlvbiIsIl9qc3giLCJSZXNpemVPYnNlcnZlciIsIm9uUmVzaXplIiwib25Nb3VzZUVudGVyIiwiRmlsbGVyIiwib25Jbm5lclJlc2l6ZSIsImV4dHJhIiwiU2Nyb2xsQmFyIiwic2Nyb2xsT2Zmc2V0Iiwic2Nyb2xsUmFuZ2UiLCJvblN0YXJ0TW92ZSIsIm9uU3RvcE1vdmUiLCJzcGluU2l6ZSIsImNvbnRhaW5lclNpemUiLCJ2ZXJ0aWNhbFNjcm9sbEJhciIsInRodW1iU3R5bGUiLCJ2ZXJ0aWNhbFNjcm9sbEJhclRodW1iIiwiaG9yaXpvbnRhbFNjcm9sbEJhciIsImhvcml6b250YWxTY3JvbGxCYXJUaHVtYiIsIlZpcnR1YWxMaXN0QmFzZSIsImZvcndhcmRSZWYiLCJkaXNwbGF5TmFtZSIsIlZJUlRVQUxfTElTVF9DT01QT05FTlRfTkFNRSIsIlZpcnR1YWxMaXN0IiwibWVtbyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUksZ0JBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFD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VjtBQUVBLElBQU0wTixlQUFlLGdCQUFHclMsS0FBSyxDQUFDc1MsVUFBVSxDQUEwQnZQLE9BQU8sQ0FBQztBQUUxRXNQLGVBQWUsQ0FBQ0UsV0FBVyxHQUFHQyxzQ0FBMkI7QUFFekQsSUFBTUMsV0FBVyxnQkFBR3pTLEtBQUssQ0FBQzBTLElBQUksQ0FBQ0wsZUFBZSxDQUV2QjtBQUFDLElBQUFNLFFBQUEsR0FBQUMsT0FBQSxjQUVUSCxXQUFXIiwiZmlsZSI6ImNvbXBvbmVudHMvVmlydHVhbExpc3QvVmlydHVhbExpc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgY2xzeCB9IGZyb20gJ2Nsc3gnO1xuaW1wb3J0IFJlc2l6ZU9ic2VydmVyIGZyb20gJy4uL1Jlc2l6ZU9ic2VydmVyJztcbmltcG9ydCB1c2VMYXlvdXRFZmZlY3QgZnJvbSAnQDFtb25leS9ob29rcy91c2VMYXlvdXRFZmZlY3QnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBmbHVzaFN5bmMgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IEZpbGxlciBmcm9tICcuL0ZpbGxlcic7XG5pbXBvcnQgdXNlQ2hpbGRyZW4gZnJvbSAnLi9ob29rcy91c2VDaGlsZHJlbic7XG5pbXBvcnQgdXNlRGlmZkl0ZW0gZnJvbSAnLi9ob29rcy91c2VEaWZmSXRlbSc7XG5pbXBvcnQgdXNlRnJhbWVXaGVlbCBmcm9tICcuL2hvb2tzL3VzZUZyYW1lV2hlZWwnO1xuaW1wb3J0IHsgdXNlR2V0U2l6ZSB9IGZyb20gJy4vaG9va3MvdXNlR2V0U2l6ZSc7XG5pbXBvcnQgdXNlSGVpZ2h0cyBmcm9tICcuL2hvb2tzL3VzZUhlaWdodHMnO1xuaW1wb3J0IHVzZU1vYmlsZVRvdWNoTW92ZSBmcm9tICcuL2hvb2tzL3VzZU1vYmlsZVRvdWNoTW92ZSc7XG5pbXBvcnQgdXNlT3JpZ2luU2Nyb2xsIGZyb20gJy4vaG9va3MvdXNlT3JpZ2luU2Nyb2xsJztcbmltcG9ydCB1c2VTY3JvbGxEcmFnIGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsRHJhZyc7XG5pbXBvcnQgdXNlU2Nyb2xsVG8gZnJvbSAnLi9ob29rcy91c2VTY3JvbGxUbyc7XG5pbXBvcnQgU2Nyb2xsQmFyIGZyb20gJy4vU2Nyb2xsQmFyJztcbmltcG9ydCB7IGdldFNwaW5TaXplIH0gZnJvbSAnLi91dGlscy9zY3JvbGxiYXJVdGlsJztcbmltcG9ydCB7IFZJUlRVQUxfTElTVF9DT01QT05FTlRfTkFNRSwgVklSVFVBTF9MSVNUX1BSRUZJWENMUywgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgRU1QVFlfREFUQSA9IFtdO1xuY29uc3QgU2Nyb2xsU3R5bGUgPSB7XG4gICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgb3ZlcmZsb3dBbmNob3I6ICdub25lJyxcbn07XG5leHBvcnQgZnVuY3Rpb24gUmF3TGlzdChwcm9wcywgcmVmKSB7XG4gICAgY29uc3QgeyBwcmVmaXhDbHMgPSBWSVJUVUFMX0xJU1RfUFJFRklYQ0xTLCBjbGFzc05hbWUsIGhlaWdodCwgaXRlbUhlaWdodCwgZnVsbEhlaWdodCA9IHRydWUsIHN0eWxlLCBkYXRhLCBjaGlsZHJlbiwgaXRlbUtleSwgdmlydHVhbCwgZGlyZWN0aW9uLCBzY3JvbGxXaWR0aCwgY29tcG9uZW50OiBDb21wb25lbnQgPSAnZGl2Jywgb25TY3JvbGwsIG9uVmlydHVhbFNjcm9sbCwgb25WaXNpYmxlQ2hhbmdlLCBpbm5lclByb3BzLCBleHRyYVJlbmRlciwgc3R5bGVzLCBzaG93U2Nyb2xsQmFyID0gJ29wdGlvbmFsJyB9ID0gcHJvcHMsIHJlc3RQcm9wcyA9IF9fcmVzdChwcm9wcywgW1wicHJlZml4Q2xzXCIsIFwiY2xhc3NOYW1lXCIsIFwiaGVpZ2h0XCIsIFwiaXRlbUhlaWdodFwiLCBcImZ1bGxIZWlnaHRcIiwgXCJzdHlsZVwiLCBcImRhdGFcIiwgXCJjaGlsZHJlblwiLCBcIml0ZW1LZXlcIiwgXCJ2aXJ0dWFsXCIsIFwiZGlyZWN0aW9uXCIsIFwic2Nyb2xsV2lkdGhcIiwgXCJjb21wb25lbnRcIiwgXCJvblNjcm9sbFwiLCBcIm9uVmlydHVhbFNjcm9sbFwiLCBcIm9uVmlzaWJsZUNoYW5nZVwiLCBcImlubmVyUHJvcHNcIiwgXCJleHRyYVJlbmRlclwiLCBcInN0eWxlc1wiLCBcInNob3dTY3JvbGxCYXJcIl0pO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gSXRlbSBLZXkgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNvbnN0IGdldEtleSA9IFJlYWN0LnVzZUNhbGxiYWNrKChpdGVtKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbUtleSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1LZXkoaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW0gPT09IG51bGwgfHwgaXRlbSA9PT0gdm9pZCAwID8gdm9pZCAwIDogaXRlbVtpdGVtS2V5XTtcbiAgICB9LCBbaXRlbUtleV0pO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEhlaWdodCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNvbnN0IFtzZXRJbnN0YW5jZVJlZiwgY29sbGVjdEhlaWdodCwgaGVpZ2h0cywgaGVpZ2h0VXBkYXRlZE1hcmtdID0gdXNlSGVpZ2h0cyhnZXRLZXksIHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gTUlTQyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb25zdCB1c2VWaXJ0dWFsID0gISEodmlydHVhbCAhPT0gZmFsc2UgJiYgaGVpZ2h0ICYmIGl0ZW1IZWlnaHQpO1xuICAgIGNvbnN0IGNvbnRhaW5lckhlaWdodCA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gT2JqZWN0LnZhbHVlcyhoZWlnaHRzLm1hcHMpLnJlZHVjZSgodG90YWwsIGN1cnIpID0+IHRvdGFsICsgY3VyciwgMCksIFtoZWlnaHRzLmlkXSk7XG4gICAgY29uc3QgaW5WaXJ0dWFsID0gdXNlVmlydHVhbCAmJlxuICAgICAgICBkYXRhICYmXG4gICAgICAgIChNYXRoLm1heChpdGVtSGVpZ2h0ICogZGF0YS5sZW5ndGgsIGNvbnRhaW5lckhlaWdodCkgPiBoZWlnaHQgfHwgISFzY3JvbGxXaWR0aCk7XG4gICAgY29uc3QgaXNSVEwgPSBkaXJlY3Rpb24gPT09ICdydGwnO1xuICAgIGNvbnN0IG1lcmdlZENsYXNzTmFtZSA9IGNsc3gocHJlZml4Q2xzLCB7IFtgJHtwcmVmaXhDbHN9LXJ0bGBdOiBpc1JUTCB9LCBjbGFzc05hbWUpO1xuICAgIGNvbnN0IG1lcmdlZERhdGEgPSBkYXRhIHx8IEVNUFRZX0RBVEE7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGZpbGxlcklubmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEl0ZW0gS2V5ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb25zdCBbb2Zmc2V0VG9wLCBzZXRPZmZzZXRUb3BdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW29mZnNldExlZnQsIHNldE9mZnNldExlZnRdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW3Njcm9sbE1vdmluZywgc2V0U2Nyb2xsTW92aW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICAvLyBNaXJyb3JzIGBvZmZzZXRUb3BgIHN5bmNocm9ub3VzbHkgc28gYHN5bmNTY3JvbGxUb3BgIGNhbiByZWFkIHRoZSBsYXRlc3RcbiAgICAvLyB2YWx1ZSBpbW1lZGlhdGVseSAoYSBzdGF0ZSB1cGRhdGVyIGNhbid0IHNhZmVseSBoYXZlIHNpZGUgZWZmZWN0cyDigJQgc2VlXG4gICAgLy8gdGhlIGBvblNjcm9sbGAgY2FsbCBiZWxvdykuXG4gICAgY29uc3Qgb2Zmc2V0VG9wUmVmID0gdXNlUmVmKDApO1xuICAgIGNvbnN0IG9uU2Nyb2xsYmFyU3RhcnRNb3ZlID0gKCkgPT4ge1xuICAgICAgICBzZXRTY3JvbGxNb3ZpbmcodHJ1ZSk7XG4gICAgfTtcbiAgICBjb25zdCBvblNjcm9sbGJhclN0b3BNb3ZlID0gKCkgPT4ge1xuICAgICAgICBzZXRTY3JvbGxNb3ZpbmcoZmFsc2UpO1xuICAgIH07XG4gICAgY29uc3Qgc2hhcmVkQ29uZmlnID0ge1xuICAgICAgICBnZXRLZXksXG4gICAgfTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBTY3JvbGwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBXaGVlbCBzY3JvbGwsIHNjcm9sbGJhciBkcmFnLCBhbmQgdG91Y2ggbW92ZSAoc2VlIGBvbldoZWVsRGVsdGFgIC9cbiAgICAvLyBgdXNlU2Nyb2xsRHJhZ2AgLyBgdXNlTW9iaWxlVG91Y2hNb3ZlYCBiZWxvdykgYWxsIGZ1bm5lbCB0aHJvdWdoIGhlcmUg4oCUXG4gICAgLy8gaXQncyB0aGUgc2luZ2xlIHBsYWNlIGEgdmlydHVhbC1tb2RlIHNjcm9sbCBwb3NpdGlvbiBjaGFuZ2UgaGFwcGVucy5cbiAgICAvL1xuICAgIC8vIEluIHZpcnR1YWwgbW9kZSB0aGUgaG9sZGVyIGlzIGBvdmVyZmxvdy15OiBoaWRkZW5gIChzY3JvbGxpbmcgaXMgZmFrZWQgdmlhXG4gICAgLy8gdGhpcyBvZmZzZXQsIG5vdCBuYXRpdmUgYnJvd3NlciBzY3JvbGwpLCBzbyBzZXR0aW5nIGBzY3JvbGxUb3BgXG4gICAgLy8gcHJvZ3JhbW1hdGljYWxseSBkb2VzIG5vdCByZWxpYWJseSBkaXNwYXRjaCBhIG5hdGl2ZSBgc2Nyb2xsYCBET00gZXZlbnQuXG4gICAgLy8gYG9uRmFsbGJhY2tTY3JvbGxgIGJlbG93IChib3VuZCB0byB0aGUgaG9sZGVyJ3MgbmF0aXZlIGBvblNjcm9sbGApIG9ubHlcbiAgICAvLyBmaXJlcyBpbiBub24tdmlydHVhbCBtb2RlLiBDYWxsIGBvblNjcm9sbGAgZGlyZWN0bHkgaGVyZSDigJQgd2l0aCB0aGUgc2FtZVxuICAgIC8vIGV2ZW50IHNoYXBlIGEgbmF0aXZlIHNjcm9sbCB3b3VsZCBjYXJyeSDigJQgc28gaXQgZmlyZXMgZm9yIHJlYWwgdXNlclxuICAgIC8vIHNjcm9sbGluZyBpbiB2aXJ0dWFsIG1vZGUgdG9vLlxuICAgIGZ1bmN0aW9uIHN5bmNTY3JvbGxUb3AobmV3VG9wKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIG5ld1RvcCA9PT0gJ2Z1bmN0aW9uJyA/IG5ld1RvcChvZmZzZXRUb3BSZWYuY3VycmVudCkgOiBuZXdUb3A7XG4gICAgICAgIGNvbnN0IGFsaWduZWRUb3AgPSBrZWVwSW5SYW5nZSh2YWx1ZSk7XG4gICAgICAgIG9mZnNldFRvcFJlZi5jdXJyZW50ID0gYWxpZ25lZFRvcDtcbiAgICAgICAgc2V0T2Zmc2V0VG9wKGFsaWduZWRUb3ApO1xuICAgICAgICBpZiAoY29tcG9uZW50UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IGFsaWduZWRUb3A7XG4gICAgICAgICAgICBvblNjcm9sbCA9PT0gbnVsbCB8fCBvblNjcm9sbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TY3JvbGwoeyBjdXJyZW50VGFyZ2V0OiBjb21wb25lbnRSZWYuY3VycmVudCB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBMZWdhY3kgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBQdXQgcmVmIGhlcmUgc2luY2UgdGhlIHJhbmdlIGlzIGdlbmVyYXRlIGJ5IGZvbGxvd1xuICAgIGNvbnN0IHJhbmdlUmVmID0gdXNlUmVmKHsgc3RhcnQ6IDAsIGVuZDogbWVyZ2VkRGF0YS5sZW5ndGggfSk7XG4gICAgY29uc3QgZGlmZkl0ZW1SZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgW2RpZmZJdGVtXSA9IHVzZURpZmZJdGVtKG1lcmdlZERhdGEsIGdldEtleSk7XG4gICAgZGlmZkl0ZW1SZWYuY3VycmVudCA9IGRpZmZJdGVtO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IFZpc2libGUgQ2FsY3VsYXRpb24gPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNvbnN0IHsgc2Nyb2xsSGVpZ2h0LCBzdGFydCwgZW5kLCBvZmZzZXQ6IGZpbGxlck9mZnNldCwgfSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghdXNlVmlydHVhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzY3JvbGxIZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgICBlbmQ6IG1lcmdlZERhdGEubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWx3YXlzIHVzZSB2aXJ0dWFsIHNjcm9sbCBiYXIgaW4gYXZvaWQgc2hha2luZ1xuICAgICAgICBpZiAoIWluVmlydHVhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzY3JvbGxIZWlnaHQ6ICgoX2EgPSBmaWxsZXJJbm5lclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eub2Zmc2V0SGVpZ2h0KSB8fCAwLFxuICAgICAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgICAgIGVuZDogbWVyZ2VkRGF0YS5sZW5ndGggLSAxLFxuICAgICAgICAgICAgICAgIG9mZnNldDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXRlbVRvcCA9IDA7XG4gICAgICAgIGxldCBzdGFydEluZGV4O1xuICAgICAgICBsZXQgc3RhcnRPZmZzZXQ7XG4gICAgICAgIGxldCBlbmRJbmRleDtcbiAgICAgICAgY29uc3QgZGF0YUxlbiA9IG1lcmdlZERhdGEubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFMZW47IGkgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IG1lcmdlZERhdGFbaV07XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBnZXRLZXkoaXRlbSk7XG4gICAgICAgICAgICBjb25zdCBjYWNoZUhlaWdodCA9IGhlaWdodHMuZ2V0KGtleSk7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50SXRlbUJvdHRvbSA9IGl0ZW1Ub3AgKyAoY2FjaGVIZWlnaHQgPT09IHVuZGVmaW5lZCA/IGl0ZW1IZWlnaHQgOiBjYWNoZUhlaWdodCk7XG4gICAgICAgICAgICAvLyBDaGVjayBpdGVtIHRvcCBpbiB0aGUgcmFuZ2VcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXRlbUJvdHRvbSA+PSBvZmZzZXRUb3AgJiYgc3RhcnRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgc3RhcnRPZmZzZXQgPSBpdGVtVG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQ2hlY2sgaXRlbSBib3R0b20gaW4gdGhlIHJhbmdlLiBXZSB3aWxsIHJlbmRlciBhZGRpdGlvbmFsIG9uZSBpdGVtIGZvciBtb3Rpb24gdXNhZ2VcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXRlbUJvdHRvbSA+IG9mZnNldFRvcCArIGhlaWdodCAmJiBlbmRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbVRvcCA9IGN1cnJlbnRJdGVtQm90dG9tO1xuICAgICAgICB9XG4gICAgICAgIC8vIFdoZW4gc2Nyb2xsVG9wIGF0IHRoZSBlbmQgYnV0IGRhdGEgY3V0IHRvIHNtYWxsIGNvdW50IHdpbGwgcmVhY2ggdGhpc1xuICAgICAgICBpZiAoc3RhcnRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gMDtcbiAgICAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gMDtcbiAgICAgICAgICAgIGVuZEluZGV4ID0gTWF0aC5jZWlsKGhlaWdodCAvIGl0ZW1IZWlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBlbmRJbmRleCA9IG1lcmdlZERhdGEubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgICAvLyBHaXZlIGNhY2hlIHRvIGltcHJvdmUgc2Nyb2xsIGV4cGVyaWVuY2VcbiAgICAgICAgZW5kSW5kZXggPSBNYXRoLm1pbihlbmRJbmRleCArIDEsIG1lcmdlZERhdGEubGVuZ3RoIC0gMSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY3JvbGxIZWlnaHQ6IGl0ZW1Ub3AsXG4gICAgICAgICAgICBzdGFydDogc3RhcnRJbmRleCxcbiAgICAgICAgICAgIGVuZDogZW5kSW5kZXgsXG4gICAgICAgICAgICBvZmZzZXQ6IHN0YXJ0T2Zmc2V0LFxuICAgICAgICB9O1xuICAgIH0sIFtpblZpcnR1YWwsIHVzZVZpcnR1YWwsIG9mZnNldFRvcCwgbWVyZ2VkRGF0YSwgaGVpZ2h0VXBkYXRlZE1hcmssIGhlaWdodF0pO1xuICAgIHJhbmdlUmVmLmN1cnJlbnQuc3RhcnQgPSBzdGFydDtcbiAgICByYW5nZVJlZi5jdXJyZW50LmVuZCA9IGVuZDtcbiAgICAvLyBXaGVuIHNjcm9sbCB1cCwgZmlyc3QgdmlzaWJsZSBpdGVtIGdldCByZWFsIGhlaWdodCBtYXkgbm90IHNhbWUgYXMgYGl0ZW1IZWlnaHRgLFxuICAgIC8vIFdoaWNoIHdpbGwgbWFrZSBzY3JvbGwganVtcC5cbiAgICAvLyBMZXQncyBzeW5jIHNjcm9sbCB0b3AgdG8gYXZvaWQganVtcFxuICAgIFJlYWN0LnVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZWRSZWNvcmQgPSBoZWlnaHRzLmdldFJlY29yZCgpO1xuICAgICAgICBpZiAoY2hhbmdlZFJlY29yZC5zaXplID09PSAxKSB7XG4gICAgICAgICAgICBjb25zdCByZWNvcmRLZXkgPSBBcnJheS5mcm9tKGNoYW5nZWRSZWNvcmQua2V5cygpKVswXTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZDYWNoZUhlaWdodCA9IGNoYW5nZWRSZWNvcmQuZ2V0KHJlY29yZEtleSk7XG4gICAgICAgICAgICAvLyBRdWljayBzd2l0Y2ggZGF0YSBtYXkgY2F1c2UgYHN0YXJ0YCBub3QgaW4gYG1lcmdlZERhdGFgIGFueW1vcmVcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0SXRlbSA9IG1lcmdlZERhdGFbc3RhcnRdO1xuICAgICAgICAgICAgaWYgKHN0YXJ0SXRlbSAmJiBwcmV2Q2FjaGVIZWlnaHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXhLZXkgPSBnZXRLZXkoc3RhcnRJdGVtKTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhcnRJbmRleEtleSA9PT0gcmVjb3JkS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlYWxTdGFydEhlaWdodCA9IGhlaWdodHMuZ2V0KHJlY29yZEtleSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpZmZIZWlnaHQgPSByZWFsU3RhcnRIZWlnaHQgLSBpdGVtSGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBzeW5jU2Nyb2xsVG9wKChvcmkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmkgKyBkaWZmSGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaGVpZ2h0cy5yZXNldFJlY29yZCgpO1xuICAgIH0sIFtzY3JvbGxIZWlnaHRdKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU2l6ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb25zdCBbc2l6ZSwgc2V0U2l6ZV0gPSBSZWFjdC51c2VTdGF0ZSh7IHdpZHRoOiAwLCBoZWlnaHQ6IGhlaWdodCAhPT0gbnVsbCAmJiBoZWlnaHQgIT09IHZvaWQgMCA/IGhlaWdodCA6IDAgfSk7XG4gICAgY29uc3Qgb25Ib2xkZXJSZXNpemUgPSAoc2l6ZUluZm8pID0+IHtcbiAgICAgICAgc2V0U2l6ZSh7XG4gICAgICAgICAgICB3aWR0aDogc2l6ZUluZm8ub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHNpemVJbmZvLm9mZnNldEhlaWdodCxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICAvLyBIYWNrIG9uIHNjcm9sbGJhciB0byBlbmFibGUgZmxhc2ggY2FsbFxuICAgIGNvbnN0IHZlcnRpY2FsU2Nyb2xsQmFyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGhvcml6b250YWxTY3JvbGxCYXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaG9yaXpvbnRhbFNjcm9sbEJhclNwaW5TaXplID0gUmVhY3QudXNlTWVtbygoKSA9PiBnZXRTcGluU2l6ZShzaXplLndpZHRoLCBzY3JvbGxXaWR0aCksIFtzaXplLndpZHRoLCBzY3JvbGxXaWR0aF0pO1xuICAgIGNvbnN0IHZlcnRpY2FsU2Nyb2xsQmFyU3BpblNpemUgPSBSZWFjdC51c2VNZW1vKCgpID0+IGdldFNwaW5TaXplKHNpemUuaGVpZ2h0LCBzY3JvbGxIZWlnaHQpLCBbc2l6ZS5oZWlnaHQsIHNjcm9sbEhlaWdodF0pO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gSW4gUmFuZ2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNvbnN0IG1heFNjcm9sbEhlaWdodCA9IHNjcm9sbEhlaWdodCAtIGhlaWdodDtcbiAgICBjb25zdCBtYXhTY3JvbGxIZWlnaHRSZWYgPSB1c2VSZWYobWF4U2Nyb2xsSGVpZ2h0KTtcbiAgICBtYXhTY3JvbGxIZWlnaHRSZWYuY3VycmVudCA9IG1heFNjcm9sbEhlaWdodDtcbiAgICBmdW5jdGlvbiBrZWVwSW5SYW5nZShuZXdTY3JvbGxUb3ApIHtcbiAgICAgICAgbGV0IG5ld1RvcCA9IG5ld1Njcm9sbFRvcDtcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4obWF4U2Nyb2xsSGVpZ2h0UmVmLmN1cnJlbnQpKSB7XG4gICAgICAgICAgICBuZXdUb3AgPSBNYXRoLm1pbihuZXdUb3AsIG1heFNjcm9sbEhlaWdodFJlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgICBuZXdUb3AgPSBNYXRoLm1heChuZXdUb3AsIDApO1xuICAgICAgICByZXR1cm4gbmV3VG9wO1xuICAgIH1cbiAgICBjb25zdCBpc1Njcm9sbEF0VG9wID0gb2Zmc2V0VG9wIDw9IDA7XG4gICAgY29uc3QgaXNTY3JvbGxBdEJvdHRvbSA9IG9mZnNldFRvcCA+PSBtYXhTY3JvbGxIZWlnaHQ7XG4gICAgY29uc3QgaXNTY3JvbGxBdExlZnQgPSBvZmZzZXRMZWZ0IDw9IDA7XG4gICAgY29uc3QgaXNTY3JvbGxBdFJpZ2h0ID0gISFzY3JvbGxXaWR0aCAmJiBvZmZzZXRMZWZ0ID49IHNjcm9sbFdpZHRoIC0gc2l6ZS53aWR0aDtcbiAgICBjb25zdCBvcmlnaW5TY3JvbGwgPSB1c2VPcmlnaW5TY3JvbGwoaXNTY3JvbGxBdFRvcCwgaXNTY3JvbGxBdEJvdHRvbSwgaXNTY3JvbGxBdExlZnQsIGlzU2Nyb2xsQXRSaWdodCk7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU2Nyb2xsID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3QgZ2V0VmlydHVhbFNjcm9sbEluZm8gPSAoKSA9PiAoe1xuICAgICAgICB4OiBpc1JUTCA/IC1vZmZzZXRMZWZ0IDogb2Zmc2V0TGVmdCxcbiAgICAgICAgeTogb2Zmc2V0VG9wLFxuICAgIH0pO1xuICAgIGNvbnN0IGxhc3RWaXJ0dWFsU2Nyb2xsSW5mb1JlZiA9IHVzZVJlZihnZXRWaXJ0dWFsU2Nyb2xsSW5mbygpKTtcbiAgICBjb25zdCB0cmlnZ2VyU2Nyb2xsID0gdXNlRXZlbnRDYWxsYmFjaygocGFyYW1zKSA9PiB7XG4gICAgICAgIGlmIChvblZpcnR1YWxTY3JvbGwpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRJbmZvID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRWaXJ0dWFsU2Nyb2xsSW5mbygpKSwgcGFyYW1zKTtcbiAgICAgICAgICAgIC8vIFRyaWdnZXIgd2hlbiBvZmZzZXQgY2hhbmdlZFxuICAgICAgICAgICAgaWYgKGxhc3RWaXJ0dWFsU2Nyb2xsSW5mb1JlZi5jdXJyZW50LnggIT09IG5leHRJbmZvLnggfHxcbiAgICAgICAgICAgICAgICBsYXN0VmlydHVhbFNjcm9sbEluZm9SZWYuY3VycmVudC55ICE9PSBuZXh0SW5mby55KSB7XG4gICAgICAgICAgICAgICAgb25WaXJ0dWFsU2Nyb2xsKG5leHRJbmZvKTtcbiAgICAgICAgICAgICAgICBsYXN0VmlydHVhbFNjcm9sbEluZm9SZWYuY3VycmVudCA9IG5leHRJbmZvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gb25TY3JvbGxCYXIobmV3U2Nyb2xsT2Zmc2V0LCBob3Jpem9udGFsKSB7XG4gICAgICAgIGNvbnN0IG5ld09mZnNldCA9IG5ld1Njcm9sbE9mZnNldDtcbiAgICAgICAgaWYgKGhvcml6b250YWwpIHtcbiAgICAgICAgICAgIGZsdXNoU3luYygoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0T2Zmc2V0TGVmdChuZXdPZmZzZXQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0cmlnZ2VyU2Nyb2xsKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzeW5jU2Nyb2xsVG9wKG5ld09mZnNldCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gV2hlbiBkYXRhIHNpemUgcmVkdWNlLiBJdCBtYXkgdHJpZ2dlciBuYXRpdmUgc2Nyb2xsIGV2ZW50IGJhY2sgdG8gZml0IHNjcm9sbCBwb3NpdGlvblxuICAgIGZ1bmN0aW9uIG9uRmFsbGJhY2tTY3JvbGwoZSkge1xuICAgICAgICBjb25zdCB7IHNjcm9sbFRvcDogbmV3U2Nyb2xsVG9wIH0gPSBlLmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgIGlmIChuZXdTY3JvbGxUb3AgIT09IG9mZnNldFRvcCkge1xuICAgICAgICAgICAgLy8gYHN5bmNTY3JvbGxUb3BgIGNhbGxzIGBvblNjcm9sbGAgaXRzZWxmIOKAlCBkb24ndCBhbHNvIGZpcmUgaXQgaGVyZSwgb3JcbiAgICAgICAgICAgIC8vIGZhbGxiYWNrIChub24tdmlydHVhbCkgbW9kZSB3b3VsZCBub3RpZnkgdGhlIGNvbnN1bWVyIHR3aWNlIHBlciBldmVudC5cbiAgICAgICAgICAgIHN5bmNTY3JvbGxUb3AobmV3U2Nyb2xsVG9wKTtcbiAgICAgICAgfVxuICAgICAgICB0cmlnZ2VyU2Nyb2xsKCk7XG4gICAgfVxuICAgIGNvbnN0IGtlZXBJbkhvcml6b250YWxSYW5nZSA9IChuZXh0T2Zmc2V0TGVmdCkgPT4ge1xuICAgICAgICBsZXQgdG1wT2Zmc2V0TGVmdCA9IG5leHRPZmZzZXRMZWZ0O1xuICAgICAgICBjb25zdCBtYXggPSBzY3JvbGxXaWR0aCA/IHNjcm9sbFdpZHRoIC0gc2l6ZS53aWR0aCA6IDA7XG4gICAgICAgIHRtcE9mZnNldExlZnQgPSBNYXRoLm1heCh0bXBPZmZzZXRMZWZ0LCAwKTtcbiAgICAgICAgdG1wT2Zmc2V0TGVmdCA9IE1hdGgubWluKHRtcE9mZnNldExlZnQsIG1heCk7XG4gICAgICAgIHJldHVybiB0bXBPZmZzZXRMZWZ0O1xuICAgIH07XG4gICAgY29uc3Qgb25XaGVlbERlbHRhID0gdXNlRXZlbnRDYWxsYmFjaygob2Zmc2V0WFksIGZyb21Ib3Jpem9udGFsKSA9PiB7XG4gICAgICAgIGlmIChmcm9tSG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgZmx1c2hTeW5jKCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRPZmZzZXRMZWZ0KChsZWZ0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRPZmZzZXRMZWZ0ID0gbGVmdCArIChpc1JUTCA/IC1vZmZzZXRYWSA6IG9mZnNldFhZKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtlZXBJbkhvcml6b250YWxSYW5nZShuZXh0T2Zmc2V0TGVmdCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRyaWdnZXJTY3JvbGwoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHN5bmNTY3JvbGxUb3AoKHRvcCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1RvcCA9IHRvcCArIG9mZnNldFhZO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXdUb3A7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIC8vIFNpbmNlIHRoaXMgYWRkZWQgaW4gZ2xvYmFsLHNob3VsZCB1c2UgcmVmIHRvIGtlZXAgdXBkYXRlXG4gICAgY29uc3QgW29uUmF3V2hlZWwsIG9uRmlyZUZveFNjcm9sbF0gPSB1c2VGcmFtZVdoZWVsKHVzZVZpcnR1YWwsIGlzU2Nyb2xsQXRUb3AsIGlzU2Nyb2xsQXRCb3R0b20sIGlzU2Nyb2xsQXRMZWZ0LCBpc1Njcm9sbEF0UmlnaHQsICEhc2Nyb2xsV2lkdGgsIG9uV2hlZWxEZWx0YSk7XG4gICAgLy8gTW9iaWxlIHRvdWNoIG1vdmVcbiAgICB1c2VNb2JpbGVUb3VjaE1vdmUodXNlVmlydHVhbCwgY29tcG9uZW50UmVmLCAoaXNIb3Jpem9udGFsLCBkZWx0YSwgc21vb3RoT2Zmc2V0LCBlKSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gZTtcbiAgICAgICAgaWYgKG9yaWdpblNjcm9sbChpc0hvcml6b250YWwsIGRlbHRhLCBzbW9vdGhPZmZzZXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRml4IG5lc3QgTGlzdCB0cmlnZ2VyIFRvdWNoTW92ZSBldmVudFxuICAgICAgICBpZiAoIWV2ZW50IHx8ICFldmVudC5fdmlydHVhbEhhbmRsZWQpIHtcbiAgICAgICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgICAgIGV2ZW50Ll92aXJ0dWFsSGFuZGxlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvblJhd1doZWVsKHtcbiAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpIHsgfSxcbiAgICAgICAgICAgICAgICBkZWx0YVg6IGlzSG9yaXpvbnRhbCA/IGRlbHRhIDogMCxcbiAgICAgICAgICAgICAgICBkZWx0YVk6IGlzSG9yaXpvbnRhbCA/IDAgOiBkZWx0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICAgIC8vIE1vdXNlRG93biBkcmFnIGZvciBzY3JvbGxcbiAgICB1c2VTY3JvbGxEcmFnKGluVmlydHVhbCwgY29tcG9uZW50UmVmLCAob2Zmc2V0KSA9PiB7XG4gICAgICAgIHN5bmNTY3JvbGxUb3AoKHRvcCkgPT4gdG9wICsgb2Zmc2V0KTtcbiAgICB9KTtcbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBGaXJlZm94IG9ubHlcbiAgICAgICAgZnVuY3Rpb24gb25Nb3pNb3VzZVBpeGVsU2Nyb2xsKGUpIHtcbiAgICAgICAgICAgIC8vIHNjcm9sbGluZyBhdCB0b3AvYm90dG9tIGxpbWl0XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxpbmdVcEF0VG9wID0gaXNTY3JvbGxBdFRvcCAmJiBlLmRldGFpbCA8IDA7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxpbmdEb3duQXRCb3R0b20gPSBpc1Njcm9sbEF0Qm90dG9tICYmIGUuZGV0YWlsID4gMDtcbiAgICAgICAgICAgIGlmICh1c2VWaXJ0dWFsICYmICFzY3JvbGxpbmdVcEF0VG9wICYmICFzY3JvbGxpbmdEb3duQXRCb3R0b20pIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50RWxlID0gY29tcG9uZW50UmVmLmN1cnJlbnQ7XG4gICAgICAgIGNvbXBvbmVudEVsZS5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIG9uUmF3V2hlZWwsIHsgcGFzc2l2ZTogZmFsc2UgfSk7XG4gICAgICAgIGNvbXBvbmVudEVsZS5hZGRFdmVudExpc3RlbmVyKCdET01Nb3VzZVNjcm9sbCcsIG9uRmlyZUZveFNjcm9sbCwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgICAgICBjb21wb25lbnRFbGUuYWRkRXZlbnRMaXN0ZW5lcignTW96TW91c2VQaXhlbFNjcm9sbCcsIG9uTW96TW91c2VQaXhlbFNjcm9sbCwgeyBwYXNzaXZlOiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGNvbXBvbmVudEVsZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIG9uUmF3V2hlZWwpO1xuICAgICAgICAgICAgY29tcG9uZW50RWxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTU1vdXNlU2Nyb2xsJywgb25GaXJlRm94U2Nyb2xsKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEVsZS5yZW1vdmVFdmVudExpc3RlbmVyKCdNb3pNb3VzZVBpeGVsU2Nyb2xsJywgb25Nb3pNb3VzZVBpeGVsU2Nyb2xsKTtcbiAgICAgICAgfTtcbiAgICB9LCBbdXNlVmlydHVhbCwgaXNTY3JvbGxBdFRvcCwgaXNTY3JvbGxBdEJvdHRvbV0pO1xuICAgIC8vIFN5bmMgc2Nyb2xsIGxlZnRcbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoc2Nyb2xsV2lkdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld09mZnNldExlZnQgPSBrZWVwSW5Ib3Jpem9udGFsUmFuZ2Uob2Zmc2V0TGVmdCk7XG4gICAgICAgICAgICBzZXRPZmZzZXRMZWZ0KG5ld09mZnNldExlZnQpO1xuICAgICAgICAgICAgdHJpZ2dlclNjcm9sbCh7IHg6IG5ld09mZnNldExlZnQgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbc2l6ZS53aWR0aCwgc2Nyb2xsV2lkdGhdKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gUmVmID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb25zdCBkZWxheUhpZGVTY3JvbGxCYXIgPSAoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIChfYSA9IHZlcnRpY2FsU2Nyb2xsQmFyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kZWxheUhpZGRlbigpO1xuICAgICAgICAoX2IgPSBob3Jpem9udGFsU2Nyb2xsQmFyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5kZWxheUhpZGRlbigpO1xuICAgIH07XG4gICAgY29uc3Qgc2Nyb2xsVG8gPSB1c2VTY3JvbGxUbyhjb21wb25lbnRSZWYsIG1lcmdlZERhdGEsIGhlaWdodHMsIGl0ZW1IZWlnaHQsIGdldEtleSwgKCkgPT4gY29sbGVjdEhlaWdodCh0cnVlKSwgc3luY1Njcm9sbFRvcCwgZGVsYXlIaWRlU2Nyb2xsQmFyKTtcbiAgICBSZWFjdC51c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgbmF0aXZlRWxlbWVudDogY29udGFpbmVyUmVmLmN1cnJlbnQsXG4gICAgICAgIGdldFNjcm9sbEluZm86IGdldFZpcnR1YWxTY3JvbGxJbmZvLFxuICAgICAgICBzY3JvbGxUbzogKGNvbmZpZykgPT4ge1xuICAgICAgICAgICAgZnVuY3Rpb24gaXNQb3NTY3JvbGwoYXJnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFyZyAmJiB0eXBlb2YgYXJnID09PSAnb2JqZWN0JyAmJiAoJ2xlZnQnIGluIGFyZyB8fCAndG9wJyBpbiBhcmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzUG9zU2Nyb2xsKGNvbmZpZykpIHtcbiAgICAgICAgICAgICAgICAvLyBTY3JvbGwgWFxuICAgICAgICAgICAgICAgIGlmIChjb25maWcubGVmdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldE9mZnNldExlZnQoa2VlcEluSG9yaXpvbnRhbFJhbmdlKGNvbmZpZy5sZWZ0KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFNjcm9sbCBZXG4gICAgICAgICAgICAgICAgc2Nyb2xsVG8oY29uZmlnLnRvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBzY3JvbGxUbyhjb25maWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH0pKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBFZmZlY3QgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvKiogV2UgbmVlZCB0b2xkIG91dHNpZGUgdGhhdCBzb21lIGxpc3Qgbm90IHJlbmRlcmVkICovXG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG9uVmlzaWJsZUNoYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgcmVuZGVyTGlzdCA9IG1lcmdlZERhdGEuc2xpY2Uoc3RhcnQsIGVuZCArIDEpO1xuICAgICAgICAgICAgb25WaXNpYmxlQ2hhbmdlKHJlbmRlckxpc3QsIG1lcmdlZERhdGEpO1xuICAgICAgICB9XG4gICAgfSwgW3N0YXJ0LCBlbmQsIG1lcmdlZERhdGFdKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBFeHRyYSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBjb25zdCBnZXRTaXplID0gdXNlR2V0U2l6ZShtZXJnZWREYXRhLCBnZXRLZXksIGhlaWdodHMsIGl0ZW1IZWlnaHQpO1xuICAgIGNvbnN0IGV4dHJhQ29udGVudCA9IGV4dHJhUmVuZGVyID09PSBudWxsIHx8IGV4dHJhUmVuZGVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHRyYVJlbmRlcih7XG4gICAgICAgIHN0YXJ0LFxuICAgICAgICBlbmQsXG4gICAgICAgIHZpcnR1YWw6IGluVmlydHVhbCxcbiAgICAgICAgb2Zmc2V0WDogb2Zmc2V0TGVmdCxcbiAgICAgICAgb2Zmc2V0WTogZmlsbGVyT2Zmc2V0LFxuICAgICAgICBydGw6IGlzUlRMLFxuICAgICAgICBnZXRTaXplLFxuICAgIH0pO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFJlbmRlciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGNvbnN0IGxpc3RDaGlsZHJlbiA9IHVzZUNoaWxkcmVuKG1lcmdlZERhdGEsIHN0YXJ0LCBlbmQsIHNjcm9sbFdpZHRoLCBvZmZzZXRMZWZ0LCBzZXRJbnN0YW5jZVJlZiwgY2hpbGRyZW4sIHNoYXJlZENvbmZpZyk7XG4gICAgbGV0IGNvbXBvbmVudFN0eWxlID0gdW5kZWZpbmVkO1xuICAgIGlmIChoZWlnaHQpIHtcbiAgICAgICAgY29tcG9uZW50U3R5bGUgPSBPYmplY3QuYXNzaWduKHsgW2Z1bGxIZWlnaHQgPyAnaGVpZ2h0JyA6ICdtYXhIZWlnaHQnXTogaGVpZ2h0IH0sIFNjcm9sbFN0eWxlKTtcbiAgICAgICAgaWYgKHVzZVZpcnR1YWwpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFN0eWxlLm92ZXJmbG93WSA9ICdoaWRkZW4nO1xuICAgICAgICAgICAgaWYgKHNjcm9sbFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50U3R5bGUub3ZlcmZsb3dYID0gJ2hpZGRlbic7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2Nyb2xsTW92aW5nKSB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50U3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjb250YWluZXJQcm9wcyA9IHt9O1xuICAgIGlmIChpc1JUTCkge1xuICAgICAgICBjb250YWluZXJQcm9wcy5kaXIgPSAncnRsJztcbiAgICB9XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgcmVmOiBjb250YWluZXJSZWYsIHN0eWxlOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHN0eWxlKSwgeyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9KSwgY2xhc3NOYW1lOiBtZXJnZWRDbGFzc05hbWUgfSwgY29udGFpbmVyUHJvcHMsIHJlc3RQcm9wcywgeyBjaGlsZHJlbjogW19qc3goUmVzaXplT2JzZXJ2ZXIsIHsgb25SZXNpemU6IG9uSG9sZGVyUmVzaXplLCBjaGlsZHJlbjogX2pzeChDb21wb25lbnQsIHsgY2xhc3NOYW1lOiBgJHtwcmVmaXhDbHN9LWhvbGRlcmAsIHN0eWxlOiBjb21wb25lbnRTdHlsZSwgcmVmOiBjb21wb25lbnRSZWYsIG9uU2Nyb2xsOiBvbkZhbGxiYWNrU2Nyb2xsLCBvbk1vdXNlRW50ZXI6IGRlbGF5SGlkZVNjcm9sbEJhciwgY2hpbGRyZW46IF9qc3goRmlsbGVyLCB7IHByZWZpeENsczogcHJlZml4Q2xzLCBoZWlnaHQ6IHNjcm9sbEhlaWdodCwgb2Zmc2V0WDogb2Zmc2V0TGVmdCwgb2Zmc2V0WTogZmlsbGVyT2Zmc2V0LCBzY3JvbGxXaWR0aDogc2Nyb2xsV2lkdGgsIG9uSW5uZXJSZXNpemU6IGNvbGxlY3RIZWlnaHQsIHJlZjogZmlsbGVySW5uZXJSZWYsIGlubmVyUHJvcHM6IGlubmVyUHJvcHMsIHJ0bDogaXNSVEwsIGV4dHJhOiBleHRyYUNvbnRlbnQsIGNoaWxkcmVuOiBsaXN0Q2hpbGRyZW4gfSkgfSkgfSksIGluVmlydHVhbCAmJiBzY3JvbGxIZWlnaHQgPiBoZWlnaHQgJiYgKF9qc3goU2Nyb2xsQmFyLCB7IHJlZjogdmVydGljYWxTY3JvbGxCYXJSZWYsIHByZWZpeENsczogcHJlZml4Q2xzLCBzY3JvbGxPZmZzZXQ6IG9mZnNldFRvcCwgc2Nyb2xsUmFuZ2U6IHNjcm9sbEhlaWdodCwgcnRsOiBpc1JUTCwgb25TY3JvbGw6IG9uU2Nyb2xsQmFyLCBvblN0YXJ0TW92ZTogb25TY3JvbGxiYXJTdGFydE1vdmUsIG9uU3RvcE1vdmU6IG9uU2Nyb2xsYmFyU3RvcE1vdmUsIHNwaW5TaXplOiB2ZXJ0aWNhbFNjcm9sbEJhclNwaW5TaXplLCBjb250YWluZXJTaXplOiBzaXplLmhlaWdodCwgc3R5bGU6IHN0eWxlcyA9PT0gbnVsbCB8fCBzdHlsZXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN0eWxlcy52ZXJ0aWNhbFNjcm9sbEJhciwgdGh1bWJTdHlsZTogc3R5bGVzID09PSBudWxsIHx8IHN0eWxlcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3R5bGVzLnZlcnRpY2FsU2Nyb2xsQmFyVGh1bWIsIHNob3dTY3JvbGxCYXI6IHNob3dTY3JvbGxCYXIgfSkpLCBpblZpcnR1YWwgJiYgc2Nyb2xsV2lkdGggPiBzaXplLndpZHRoICYmIChfanN4KFNjcm9sbEJhciwgeyByZWY6IGhvcml6b250YWxTY3JvbGxCYXJSZWYsIHByZWZpeENsczogcHJlZml4Q2xzLCBzY3JvbGxPZmZzZXQ6IG9mZnNldExlZnQsIHNjcm9sbFJhbmdlOiBzY3JvbGxXaWR0aCwgcnRsOiBpc1JUTCwgb25TY3JvbGw6IG9uU2Nyb2xsQmFyLCBvblN0YXJ0TW92ZTogb25TY3JvbGxiYXJTdGFydE1vdmUsIG9uU3RvcE1vdmU6IG9uU2Nyb2xsYmFyU3RvcE1vdmUsIHNwaW5TaXplOiBob3Jpem9udGFsU2Nyb2xsQmFyU3BpblNpemUsIGNvbnRhaW5lclNpemU6IHNpemUud2lkdGgsIGhvcml6b250YWw6IHRydWUsIHN0eWxlOiBzdHlsZXMgPT09IG51bGwgfHwgc3R5bGVzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzdHlsZXMuaG9yaXpvbnRhbFNjcm9sbEJhciwgdGh1bWJTdHlsZTogc3R5bGVzID09PSBudWxsIHx8IHN0eWxlcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3R5bGVzLmhvcml6b250YWxTY3JvbGxCYXJUaHVtYiwgc2hvd1Njcm9sbEJhcjogc2hvd1Njcm9sbEJhciB9KSldIH0pKSk7XG59XG5jb25zdCBWaXJ0dWFsTGlzdEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKFJhd0xpc3QpO1xuVmlydHVhbExpc3RCYXNlLmRpc3BsYXlOYW1lID0gVklSVFVBTF9MSVNUX0NPTVBPTkVOVF9OQU1FO1xuY29uc3QgVmlydHVhbExpc3QgPSBSZWFjdC5tZW1vKFZpcnR1YWxMaXN0QmFzZSk7XG5leHBvcnQgZGVmYXVsdCBWaXJ0dWFsTGlzdDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -8,4 +8,4 @@ var VIRTUAL_LIST_COMPONENT_NAME = exports.VIRTUAL_LIST_COMPONENT_NAME = 'Virtual
|
|
|
8
8
|
var VIRTUAL_LIST_PREFIXCLS = exports.VIRTUAL_LIST_PREFIXCLS = 'om-component-ui-virtual-list';
|
|
9
9
|
var VIRTUAL_LIST_SCROLLBAR_CSS_VAR = exports.VIRTUAL_LIST_SCROLLBAR_CSS_VAR = '--om-component-ui-virtual-list-scrollbar-bg';
|
|
10
10
|
var VIRTUAL_LIST_SCROLLBAR_DEFAULT_BG = exports.VIRTUAL_LIST_SCROLLBAR_DEFAULT_BG = 'rgba(0, 0, 0, 0.5)';
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvVmlydHVhbExpc3QvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbIlZJUlRVQUxfTElTVF9DT01QT05FTlRfTkFNRSIsImV4cG9ydHMiLCJWSVJUVUFMX0xJU1RfUFJFRklYQ0xTIiwiVklSVFVBTF9MSVNUX1NDUk9MTEJBUl9DU1NfVkFSIiwiVklSVFVBTF9MSVNUX1NDUk9MTEJBUl9ERUZBVUxUX0JHIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTyxJQUFNQSwyQkFBMkIsR0FBQUMsT0FBQSxDQUFBRCwyQkFBQSxHQUFHLGFBQWE7QUFFakQsSUFBTUUsc0JBQXNCLEdBQUFELE9BQUEsQ0FBQUMsc0JBQUEsR0FBRyw4QkFBOEI7QUFFN0QsSUFBTUMsOEJBQThCLEdBQUFGLE9BQUEsQ0FBQUUsOEJBQUEsR0FBRyw2Q0FBNkM7QUFFcEYsSUFBTUMsaUNBQWlDLEdBQUFILE9BQUEsQ0FBQUcsaUNBQUEsR0FBRyxvQkFBb0IiLCJmaWxlIjoiY29tcG9uZW50cy9WaXJ0dWFsTGlzdC9jb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -8,8 +8,7 @@ exports["default"] = useChildren;
|
|
|
8
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _Item = require("../Item");
|
|
11
|
-
function
|
|
12
|
-
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; }
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
12
|
function useChildren(list, startIndex, endIndex, scrollWidth, offsetX, setNodeRef, renderFunc, _ref) {
|
|
14
13
|
var getKey = _ref.getKey;
|
|
15
14
|
return React.useMemo(function () {
|
|
@@ -31,4 +30,4 @@ function useChildren(list, startIndex, endIndex, scrollWidth, offsetX, setNodeRe
|
|
|
31
30
|
});
|
|
32
31
|
}, [list, startIndex, endIndex, scrollWidth, offsetX, setNodeRef, renderFunc, getKey]);
|
|
33
32
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlQ2hpbGRyZW4uanMiLCJjb21wb25lbnRzL1ZpcnR1YWxMaXN0L3NyYy9jb21wb25lbnRzL1ZpcnR1YWxMaXN0L2hvb2tzL3VzZUNoaWxkcmVuLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX0l0ZW0iLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInVzZUNoaWxkcmVuIiwibGlzdCIsInN0YXJ0SW5kZXgiLCJlbmRJbmRleCIsInNjcm9sbFdpZHRoIiwib2Zmc2V0WCIsInNldE5vZGVSZWYiLCJyZW5kZXJGdW5jIiwiX3JlZiIsImdldEtleSIsInVzZU1lbW8iLCJzbGljZSIsIm1hcCIsIml0ZW0iLCJpbmRleCIsImVsZUluZGV4Iiwibm9kZSIsInN0eWxlIiwid2lkdGgiLCJrZXkiLCJfanN4IiwiSXRlbSIsInNldFJlZiIsImVsZSIsImNoaWxkcmVuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsS0FBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQStCLFNBQUFFLHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBSix1QkFBQSxZQUFBQSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8sR0FBQSxDQUFBYixDQUFBLEVBQUFRLENBQUEsY0FBQU0sRUFBQSxJQUFBZCxDQUFBLGdCQUFBYyxFQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsSUFBQUQsQ0FBQSxHQUFBVyxNQUFBLENBQUFDLGNBQUEsS0FBQUQsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbkIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsQ0FBQUssR0FBQSxJQUFBTCxDQUFBLENBQUFNLEdBQUEsSUFBQVAsQ0FBQSxDQUFBRSxDQUFBLEVBQUFNLEVBQUEsRUFBQVAsQ0FBQSxJQUFBQyxDQUFBLENBQUFNLEVBQUEsSUFBQWQsQ0FBQSxDQUFBYyxFQUFBLFdBQUFOLENBQUEsS0FBQVIsQ0FBQSxFQUFBQyxDQUFBO0FBRWpCLFNBQVVtQixXQUFXQSxDQUNqQ0MsSUFBUyxFQUNUQyxVQUFrQixFQUNsQkMsUUFBZ0IsRUFDaEJDLFdBQStCLEVBQy9CQyxPQUFlLEVBQ2ZDLFVBQW1ELEVBQ25EQyxVQUF5QixFQUFBQyxJQUFBLEVBQ0U7RUFBQSxJQUF6QkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07RUFFUixPQUFPaEMsS0FBSyxDQUFDaUMsT0FBTyxDQUNsQjtJQUFBLE9BQ0VULElBQUksQ0FBQ1UsS0FBSyxDQUFDVCxVQUFVLEVBQUVDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQ1MsR0FBRyxDQUFDLFVBQUNDLElBQUksRUFBRUMsS0FBSyxFQUFJO01BQ3ZELElBQU1DLFFBQVEsR0FBR2IsVUFBVSxHQUFHWSxLQUFLO01BQ25DLElBQU1FLElBQUksR0FBR1QsVUFBVSxDQUFDTSxJQUFJLEVBQUVFLFFBQVEsRUFBRTtRQUN0Q0UsS0FBSyxFQUFFO1VBQ0xDLEtBQUssRUFBRWQ7UURYUCxDQ1lEO1FBQ0RDLE9BQU8sRUFBUEE7TURYRixDQ1lDLENBQXVCO01BRXhCLElBQU1jLEdBQUcsR0FBR1YsTUFBTSxDQUFDSSxJQUFJLENBQUM7TUFDeEIsT0FDRSxJQUFBTyxlQUFBLEVBQUNDLFVBQUksRUFBQTtRQUFXQyxNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBR0MsR0FBRztVQUFBLE9BQUtqQixVQUFVLENBQUNPLElBQUksRUFBRVUsR0FBRyxDQUFDO1FBQUE7UUFBQUMsUUFBQSxFQUNuRFI7TUFBSSxDQUFBLEVBRElHLEdBQUcsQ0FFUDtJQUVYLENBQUMsQ0FBQztFQUFBLEdBQ0osQ0FBQ2xCLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQUVDLFVBQVUsRUFBRUUsTUFBTSxDQUFDLENBQ25GO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9WaXJ0dWFsTGlzdC9ob29rcy91c2VDaGlsZHJlbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vSXRlbSc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VDaGlsZHJlbihsaXN0LCBzdGFydEluZGV4LCBlbmRJbmRleCwgc2Nyb2xsV2lkdGgsIG9mZnNldFgsIHNldE5vZGVSZWYsIHJlbmRlckZ1bmMsIHsgZ2V0S2V5IH0pIHtcbiAgICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiBsaXN0LnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4ICsgMSkubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVJbmRleCA9IHN0YXJ0SW5kZXggKyBpbmRleDtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHJlbmRlckZ1bmMoaXRlbSwgZWxlSW5kZXgsIHtcbiAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHNjcm9sbFdpZHRoLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9mZnNldFgsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBrZXkgPSBnZXRLZXkoaXRlbSk7XG4gICAgICAgIHJldHVybiAoX2pzeChJdGVtLCB7IHNldFJlZjogKGVsZSkgPT4gc2V0Tm9kZVJlZihpdGVtLCBlbGUpLCBjaGlsZHJlbjogbm9kZSB9LCBrZXkpKTtcbiAgICB9KSwgW2xpc3QsIHN0YXJ0SW5kZXgsIGVuZEluZGV4LCBzY3JvbGxXaWR0aCwgb2Zmc2V0WCwgc2V0Tm9kZVJlZiwgcmVuZGVyRnVuYywgZ2V0S2V5XSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -7,8 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports["default"] = useDiffItem;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _algorithmUtil = require("../utils/algorithmUtil");
|
|
10
|
-
function
|
|
11
|
-
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; }
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
12
11
|
function useDiffItem(data, getKey, onDiff) {
|
|
13
12
|
var prevDataRef = React.useRef(data);
|
|
14
13
|
var diffItemRef = React.useRef(null);
|
|
@@ -22,4 +21,4 @@ function useDiffItem(data, getKey, onDiff) {
|
|
|
22
21
|
}
|
|
23
22
|
return [diffItemRef.current];
|
|
24
23
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3Qvc3JjL2NvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlRGlmZkl0ZW0udHMiXSwibmFtZXMiOlsiUmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYWxnb3JpdGhtVXRpbCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidXNlRGlmZkl0ZW0iLCJkYXRhIiwiZ2V0S2V5Iiwib25EaWZmIiwicHJldkRhdGFSZWYiLCJ1c2VSZWYiLCJkaWZmSXRlbVJlZiIsImN1cnJlbnQiLCJkaWZmIiwiZmluZExpc3REaWZmSW5kZXgiLCJpbmRleCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUQsT0FBQTtBQUEyRCxTQUFBRCx3QkFBQUcsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUwsdUJBQUEsWUFBQUEsd0JBQUFHLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTSxFQUFBLEVBQUFQLENBQUEsSUFBQUMsQ0FBQSxDQUFBTSxFQUFBLElBQUFkLENBQUEsQ0FBQWMsRUFBQSxXQUFBTixDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQTtBQUc3QyxTQUFVbUIsV0FBV0EsQ0FDakNDLElBQVMsRUFDVEMsTUFBaUIsRUFDakJDLE1BQW9DLEVBQUE7RUFFcEMsSUFBTUMsV0FBVyxHQUFHNUIsS0FBSyxDQUFDNkIsTUFBTSxDQUFDSixJQUFJLENBQUM7RUFDdEMsSUFBTUssV0FBVyxHQUFHOUIsS0FBSyxDQUFDNkIsTUFBTSxDQUFXLElBQUksQ0FBQztFQUVoRCxJQUFJRCxXQUFXLENBQUNHLE9BQU8sS0FBS04sSUFBSSxFQUFFO0lBQ2hDLElBQU1PLElBQUksR0FBRyxJQUFBQyxnQ0FBaUIsRUFBQ0wsV0FBVyxDQUFDRyxPQUFPLElBQUksRUFBRSxFQUFFTixJQUFJLElBQUksRUFBRSxFQUFFQyxNQUFNLENBQUM7SUFDN0UsSUFBSSxDQUFBTSxJQUFJLEtBQUEsSUFBQSxJQUFKQSxJQUFJLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUpBLElBQUksQ0FBRUUsS0FBSyxNQUFLQyxTQUFTLEVBQUU7TUFDN0JSLE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxDQUFHSyxJQUFJLENBQUNFLEtBQUssQ0FBQztNQUNwQkosV0FBVyxDQUFDQyxPQUFPLEdBQUdOLElBQUksQ0FBQ08sSUFBSSxDQUFDRSxLQUFLLENBQUM7SUFDeEM7SUFDQU4sV0FBVyxDQUFDRyxPQUFPLEdBQUdOLElBQUk7RUFDNUI7RUFFQSxPQUFPLENBQUNLLFdBQVcsQ0FBQ0MsT0FBTyxDQUFDO0FBQzlCIiwiZmlsZSI6ImNvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlRGlmZkl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -89,4 +89,4 @@ onWheelDelta) {
|
|
|
89
89
|
}
|
|
90
90
|
return [onWheel, onFireFoxScroll];
|
|
91
91
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3Qvc3JjL2NvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlRnJhbWVXaGVlbC50cyIsImNvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlRnJhbWVXaGVlbC5qcyJdLCJuYW1lcyI6WyJfcmFmIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaXNGaXJlZm94IiwiX3VzZU9yaWdpblNjcm9sbCIsInVzZUZyYW1lV2hlZWwiLCJpblZpcnR1YWwiLCJpc1Njcm9sbEF0VG9wIiwiaXNTY3JvbGxBdEJvdHRvbSIsImlzU2Nyb2xsQXRMZWZ0IiwiaXNTY3JvbGxBdFJpZ2h0IiwiaG9yaXpvbnRhbFNjcm9sbCIsIm9uV2hlZWxEZWx0YSIsIm9mZnNldFJlZiIsInVzZVJlZiIsIm5leHRGcmFtZVJlZiIsIndoZWVsVmFsdWVSZWYiLCJpc01vdXNlU2Nyb2xsUmVmIiwib3JpZ2luU2Nyb2xsIiwidXNlT3JpZ2luU2Nyb2xsIiwib25XaGVlbFkiLCJlIiwiZGVsdGFZIiwicmFmIiwiY2FuY2VsIiwiY3VycmVudCIsImV2ZW50IiwiX3ZpcnR1YWxIYW5kbGVkIiwiaXNGRiIsInByZXZlbnREZWZhdWx0IiwicGF0Y2hNdWx0aXBsZSIsIm9uV2hlZWxYIiwiZGVsdGFYIiwid2hlZWxEaXJlY3Rpb25SZWYiLCJ3aGVlbERpcmVjdGlvbkNsZWFuUmVmIiwib25XaGVlbCIsInNoaWZ0S2V5IiwibWVyZ2VkRGVsdGFYIiwibWVyZ2VkRGVsdGFZIiwiYWJzWCIsIk1hdGgiLCJhYnMiLCJhYnNZIiwib25GaXJlRm94U2Nyb2xsIiwiZGV0YWlsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsZ0JB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Q0FBQ1EsaUJBQWlCLENBQUNSLE9BQU8sS0FBS1csUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJZCxNQUFNLElBQUksQ0FBQ1UsTUFBTyxFQUN4RTtNQUNBSyxZQUFZLEdBQUdmLE1BQU07TUFDckJnQixZQUFZLEdBQUcsQ0FBQztNQUVoQkwsaUJBQWlCLENBQUNSLE9BQU8sR0FBRyxJQUFJO0lBQ2xDO0lBRUEsSUFBTWMsSUFBSSxHQUFHQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ0osWUFBWSxDQUFDO0lBQ25DLElBQU1LLElBQUksR0FBR0YsSUFBSSxDQUFDQyxHQUFHLENBQUNILFlBQVksQ0FBQztJQUVuQyxJQUFJTCxpQkFBaUIsQ0FBQ1IsT0FBTyxLQUFLLElBQUksRUFBRTtNQUN0Q1EsaUJBQWlCLENBQUNSLE9BQU8sR0FBR2QsZ0JBQWdCLElBQUk0QixJQUFJLEdBQUdHLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRztJQUN6RTtJQUVBLElBQUlULGlCQUFpQixDQUFDUixPQUFPLEtBQUssR0FBRyxFQUFFO01BQ3JDTCxRQUFRLENBQUNNLEtBQUssRUFBRVksWUFBWSxDQUFDO0lBQy9CLENBQUMsTUFBTTtNQUNMUCxRQUFRLENBQUNMLEtBQUssRUFBRVcsWUFBWSxDQUFDO0lBQy9CO0VBQ0Y7RUFFQTtFQUNBLFNBQVNNLGVBQWVBLENBQUNqQixLQUFpQyxFQUFBO0lBQ3hELElBQUksQ0FBQ3BCLFNBQVMsRUFBRTtJQUVoQlcsZ0JBQWdCLENBQUNRLE9BQU8sR0FBR0MsS0FBSyxDQUFDa0IsTUFBTSxLQUFLNUIsYUFBYSxDQUFDUyxPQUFPO0VBQ25FO0VBRUEsT0FBTyxDQUFDVSxPQUFPLEVBQUVRLGVBQWUsQ0FBQztBQUNuQyIsImZpbGUiOiJjb21wb25lbnRzL1ZpcnR1YWxMaXN0L2hvb2tzL3VzZUZyYW1lV2hlZWwuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCByYWYgZnJvbSAnLi4vdXRpbHMvcmFmJztcbmltcG9ydCB7IHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpc0ZGIGZyb20gJy4uL3V0aWxzL2lzRmlyZWZveCc7XG5pbXBvcnQgdXNlT3JpZ2luU2Nyb2xsIGZyb20gJy4vdXNlT3JpZ2luU2Nyb2xsJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUZyYW1lV2hlZWwoaW5WaXJ0dWFsLCBpc1Njcm9sbEF0VG9wLCBpc1Njcm9sbEF0Qm90dG9tLCBpc1Njcm9sbEF0TGVmdCwgaXNTY3JvbGxBdFJpZ2h0LCBob3Jpem9udGFsU2Nyb2xsLCBcbi8qKipcbiAqIFJldHVybiBgdHJ1ZWAgd2hlbiB5b3UgbmVlZCB0byBwcmV2ZW50IGRlZmF1bHQgZXZlbnRcbiAqL1xub25XaGVlbERlbHRhKSB7XG4gICAgY29uc3Qgb2Zmc2V0UmVmID0gdXNlUmVmKDApO1xuICAgIGNvbnN0IG5leHRGcmFtZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICAvLyBGaXJlZm94IHBhdGNoXG4gICAgY29uc3Qgd2hlZWxWYWx1ZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBpc01vdXNlU2Nyb2xsUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICAvLyBTY3JvbGwgc3RhdHVzIHN5bmNcbiAgICBjb25zdCBvcmlnaW5TY3JvbGwgPSB1c2VPcmlnaW5TY3JvbGwoaXNTY3JvbGxBdFRvcCwgaXNTY3JvbGxBdEJvdHRvbSwgaXNTY3JvbGxBdExlZnQsIGlzU2Nyb2xsQXRSaWdodCk7XG4gICAgZnVuY3Rpb24gb25XaGVlbFkoZSwgZGVsdGFZKSB7XG4gICAgICAgIHJhZi5jYW5jZWwobmV4dEZyYW1lUmVmLmN1cnJlbnQpO1xuICAgICAgICAvLyBEbyBub3RoaW5nIHdoZW4gc2Nyb2xsIGF0IHRoZSBlZGdlLCBTa2lwIGNoZWNrIHdoZW4gaXMgaW4gc2Nyb2xsXG4gICAgICAgIGlmIChvcmlnaW5TY3JvbGwoZmFsc2UsIGRlbHRhWSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIFNraXAgaWYgbmVzdCBMaXN0IGhhcyBoYW5kbGVkIHRoaXMgZXZlbnRcbiAgICAgICAgY29uc3QgZXZlbnQgPSBlO1xuICAgICAgICBpZiAoIWV2ZW50Ll92aXJ0dWFsSGFuZGxlZCkge1xuICAgICAgICAgICAgZXZlbnQuX3ZpcnR1YWxIYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBvZmZzZXRSZWYuY3VycmVudCArPSBkZWx0YVk7XG4gICAgICAgIHdoZWVsVmFsdWVSZWYuY3VycmVudCA9IGRlbHRhWTtcbiAgICAgICAgLy8gUHJveHkgb2Ygc2Nyb2xsIGV2ZW50c1xuICAgICAgICBpZiAoIWlzRkYpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgbmV4dEZyYW1lUmVmLmN1cnJlbnQgPSByYWYoKCkgPT4ge1xuICAgICAgICAgICAgLy8gUGF0Y2ggYSBtdWx0aXBsZSBmb3IgRmlyZWZveCB0byBmaXggd2hlZWwgbnVtYmVyIHRvbyBzbWFsbFxuICAgICAgICAgICAgY29uc3QgcGF0Y2hNdWx0aXBsZSA9IGlzTW91c2VTY3JvbGxSZWYuY3VycmVudCA/
|
|
92
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3Qvc3JjL2NvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlRnJhbWVXaGVlbC50cyIsImNvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlRnJhbWVXaGVlbC5qcyJdLCJuYW1lcyI6WyJfcmFmIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaXNGaXJlZm94IiwiX3VzZU9yaWdpblNjcm9sbCIsInVzZUZyYW1lV2hlZWwiLCJpblZpcnR1YWwiLCJpc1Njcm9sbEF0VG9wIiwiaXNTY3JvbGxBdEJvdHRvbSIsImlzU2Nyb2xsQXRMZWZ0IiwiaXNTY3JvbGxBdFJpZ2h0IiwiaG9yaXpvbnRhbFNjcm9sbCIsIm9uV2hlZWxEZWx0YSIsIm9mZnNldFJlZiIsInVzZVJlZiIsIm5leHRGcmFtZVJlZiIsIndoZWVsVmFsdWVSZWYiLCJpc01vdXNlU2Nyb2xsUmVmIiwib3JpZ2luU2Nyb2xsIiwidXNlT3JpZ2luU2Nyb2xsIiwib25XaGVlbFkiLCJlIiwiZGVsdGFZIiwicmFmIiwiY2FuY2VsIiwiY3VycmVudCIsImV2ZW50IiwiX3ZpcnR1YWxIYW5kbGVkIiwiaXNGRiIsInByZXZlbnREZWZhdWx0IiwicGF0Y2hNdWx0aXBsZSIsIm9uV2hlZWxYIiwiZGVsdGFYIiwid2hlZWxEaXJlY3Rpb25SZWYiLCJ3aGVlbERpcmVjdGlvbkNsZWFuUmVmIiwib25XaGVlbCIsInNoaWZ0S2V5IiwibWVyZ2VkRGVsdGFYIiwibWVyZ2VkRGVsdGFZIiwiYWJzWCIsIk1hdGgiLCJhYnMiLCJhYnNZIiwib25GaXJlRm94U2Nyb2xsIiwiZGV0YWlsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsZ0JB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Q0FBQ1EsaUJBQWlCLENBQUNSLE9BQU8sS0FBS1csUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJZCxNQUFNLElBQUksQ0FBQ1UsTUFBTyxFQUN4RTtNQUNBSyxZQUFZLEdBQUdmLE1BQU07TUFDckJnQixZQUFZLEdBQUcsQ0FBQztNQUVoQkwsaUJBQWlCLENBQUNSLE9BQU8sR0FBRyxJQUFJO0lBQ2xDO0lBRUEsSUFBTWMsSUFBSSxHQUFHQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ0osWUFBWSxDQUFDO0lBQ25DLElBQU1LLElBQUksR0FBR0YsSUFBSSxDQUFDQyxHQUFHLENBQUNILFlBQVksQ0FBQztJQUVuQyxJQUFJTCxpQkFBaUIsQ0FBQ1IsT0FBTyxLQUFLLElBQUksRUFBRTtNQUN0Q1EsaUJBQWlCLENBQUNSLE9BQU8sR0FBR2QsZ0JBQWdCLElBQUk0QixJQUFJLEdBQUdHLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRztJQUN6RTtJQUVBLElBQUlULGlCQUFpQixDQUFDUixPQUFPLEtBQUssR0FBRyxFQUFFO01BQ3JDTCxRQUFRLENBQUNNLEtBQUssRUFBRVksWUFBWSxDQUFDO0lBQy9CLENBQUMsTUFBTTtNQUNMUCxRQUFRLENBQUNMLEtBQUssRUFBRVcsWUFBWSxDQUFDO0lBQy9CO0VBQ0Y7RUFFQTtFQUNBLFNBQVNNLGVBQWVBLENBQUNqQixLQUFpQyxFQUFBO0lBQ3hELElBQUksQ0FBQ3BCLFNBQVMsRUFBRTtJQUVoQlcsZ0JBQWdCLENBQUNRLE9BQU8sR0FBR0MsS0FBSyxDQUFDa0IsTUFBTSxLQUFLNUIsYUFBYSxDQUFDUyxPQUFPO0VBQ25FO0VBRUEsT0FBTyxDQUFDVSxPQUFPLEVBQUVRLGVBQWUsQ0FBQztBQUNuQyIsImZpbGUiOiJjb21wb25lbnRzL1ZpcnR1YWxMaXN0L2hvb2tzL3VzZUZyYW1lV2hlZWwuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCByYWYgZnJvbSAnLi4vdXRpbHMvcmFmJztcbmltcG9ydCB7IHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpc0ZGIGZyb20gJy4uL3V0aWxzL2lzRmlyZWZveCc7XG5pbXBvcnQgdXNlT3JpZ2luU2Nyb2xsIGZyb20gJy4vdXNlT3JpZ2luU2Nyb2xsJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUZyYW1lV2hlZWwoaW5WaXJ0dWFsLCBpc1Njcm9sbEF0VG9wLCBpc1Njcm9sbEF0Qm90dG9tLCBpc1Njcm9sbEF0TGVmdCwgaXNTY3JvbGxBdFJpZ2h0LCBob3Jpem9udGFsU2Nyb2xsLCBcbi8qKipcbiAqIFJldHVybiBgdHJ1ZWAgd2hlbiB5b3UgbmVlZCB0byBwcmV2ZW50IGRlZmF1bHQgZXZlbnRcbiAqL1xub25XaGVlbERlbHRhKSB7XG4gICAgY29uc3Qgb2Zmc2V0UmVmID0gdXNlUmVmKDApO1xuICAgIGNvbnN0IG5leHRGcmFtZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICAvLyBGaXJlZm94IHBhdGNoXG4gICAgY29uc3Qgd2hlZWxWYWx1ZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBpc01vdXNlU2Nyb2xsUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICAvLyBTY3JvbGwgc3RhdHVzIHN5bmNcbiAgICBjb25zdCBvcmlnaW5TY3JvbGwgPSB1c2VPcmlnaW5TY3JvbGwoaXNTY3JvbGxBdFRvcCwgaXNTY3JvbGxBdEJvdHRvbSwgaXNTY3JvbGxBdExlZnQsIGlzU2Nyb2xsQXRSaWdodCk7XG4gICAgZnVuY3Rpb24gb25XaGVlbFkoZSwgZGVsdGFZKSB7XG4gICAgICAgIHJhZi5jYW5jZWwobmV4dEZyYW1lUmVmLmN1cnJlbnQpO1xuICAgICAgICAvLyBEbyBub3RoaW5nIHdoZW4gc2Nyb2xsIGF0IHRoZSBlZGdlLCBTa2lwIGNoZWNrIHdoZW4gaXMgaW4gc2Nyb2xsXG4gICAgICAgIGlmIChvcmlnaW5TY3JvbGwoZmFsc2UsIGRlbHRhWSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIFNraXAgaWYgbmVzdCBMaXN0IGhhcyBoYW5kbGVkIHRoaXMgZXZlbnRcbiAgICAgICAgY29uc3QgZXZlbnQgPSBlO1xuICAgICAgICBpZiAoIWV2ZW50Ll92aXJ0dWFsSGFuZGxlZCkge1xuICAgICAgICAgICAgZXZlbnQuX3ZpcnR1YWxIYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBvZmZzZXRSZWYuY3VycmVudCArPSBkZWx0YVk7XG4gICAgICAgIHdoZWVsVmFsdWVSZWYuY3VycmVudCA9IGRlbHRhWTtcbiAgICAgICAgLy8gUHJveHkgb2Ygc2Nyb2xsIGV2ZW50c1xuICAgICAgICBpZiAoIWlzRkYpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgbmV4dEZyYW1lUmVmLmN1cnJlbnQgPSByYWYoKCkgPT4ge1xuICAgICAgICAgICAgLy8gUGF0Y2ggYSBtdWx0aXBsZSBmb3IgRmlyZWZveCB0byBmaXggd2hlZWwgbnVtYmVyIHRvbyBzbWFsbFxuICAgICAgICAgICAgY29uc3QgcGF0Y2hNdWx0aXBsZSA9IGlzTW91c2VTY3JvbGxSZWYuY3VycmVudCA/IDEwIDogMTtcbiAgICAgICAgICAgIG9uV2hlZWxEZWx0YShvZmZzZXRSZWYuY3VycmVudCAqIHBhdGNoTXVsdGlwbGUsIGZhbHNlKTtcbiAgICAgICAgICAgIG9mZnNldFJlZi5jdXJyZW50ID0gMDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG9uV2hlZWxYKGV2ZW50LCBkZWx0YVgpIHtcbiAgICAgICAgb25XaGVlbERlbHRhKGRlbHRhWCwgdHJ1ZSk7XG4gICAgICAgIGlmICghaXNGRikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBDaGVjayBmb3Igd2hpY2ggZGlyZWN0aW9uIGRvZXMgd2hlZWwgZG8uIGBzeGAgbWVhbnMgYHNoaWZ0ICsgd2hlZWxgXG4gICAgY29uc3Qgd2hlZWxEaXJlY3Rpb25SZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgd2hlZWxEaXJlY3Rpb25DbGVhblJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBmdW5jdGlvbiBvbldoZWVsKGV2ZW50KSB7XG4gICAgICAgIGlmICghaW5WaXJ0dWFsKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBXYWl0IGZvciAyIGZyYW1lIHRvIGNsZWFuIGRpcmVjdGlvblxuICAgICAgICByYWYuY2FuY2VsKHdoZWVsRGlyZWN0aW9uQ2xlYW5SZWYuY3VycmVudCk7XG4gICAgICAgIHdoZWVsRGlyZWN0aW9uQ2xlYW5SZWYuY3VycmVudCA9IHJhZigoKSA9PiB7XG4gICAgICAgICAgICB3aGVlbERpcmVjdGlvblJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfSwgMik7XG4gICAgICAgIGNvbnN0IHsgZGVsdGFYLCBkZWx0YVksIHNoaWZ0S2V5IH0gPSBldmVudDtcbiAgICAgICAgbGV0IG1lcmdlZERlbHRhWCA9IGRlbHRhWDtcbiAgICAgICAgbGV0IG1lcmdlZERlbHRhWSA9IGRlbHRhWTtcbiAgICAgICAgaWYgKHdoZWVsRGlyZWN0aW9uUmVmLmN1cnJlbnQgPT09ICdzeCcgfHxcbiAgICAgICAgICAgICghd2hlZWxEaXJlY3Rpb25SZWYuY3VycmVudCAmJiAoc2hpZnRLZXkgfHwgZmFsc2UpICYmIGRlbHRhWSAmJiAhZGVsdGFYKSkge1xuICAgICAgICAgICAgbWVyZ2VkRGVsdGFYID0gZGVsdGFZO1xuICAgICAgICAgICAgbWVyZ2VkRGVsdGFZID0gMDtcbiAgICAgICAgICAgIHdoZWVsRGlyZWN0aW9uUmVmLmN1cnJlbnQgPSAnc3gnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFic1ggPSBNYXRoLmFicyhtZXJnZWREZWx0YVgpO1xuICAgICAgICBjb25zdCBhYnNZID0gTWF0aC5hYnMobWVyZ2VkRGVsdGFZKTtcbiAgICAgICAgaWYgKHdoZWVsRGlyZWN0aW9uUmVmLmN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHdoZWVsRGlyZWN0aW9uUmVmLmN1cnJlbnQgPSBob3Jpem9udGFsU2Nyb2xsICYmIGFic1ggPiBhYnNZID8gJ3gnIDogJ3knO1xuICAgICAgICB9XG4gICAgICAgIGlmICh3aGVlbERpcmVjdGlvblJlZi5jdXJyZW50ID09PSAneScpIHtcbiAgICAgICAgICAgIG9uV2hlZWxZKGV2ZW50LCBtZXJnZWREZWx0YVkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgb25XaGVlbFgoZXZlbnQsIG1lcmdlZERlbHRhWCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQSBwYXRjaCBmb3IgZmlyZWZveFxuICAgIGZ1bmN0aW9uIG9uRmlyZUZveFNjcm9sbChldmVudCkge1xuICAgICAgICBpZiAoIWluVmlydHVhbClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaXNNb3VzZVNjcm9sbFJlZi5jdXJyZW50ID0gZXZlbnQuZGV0YWlsID09PSB3aGVlbFZhbHVlUmVmLmN1cnJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBbb25XaGVlbCwgb25GaXJlRm94U2Nyb2xsXTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -8,8 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.useGetSize = useGetSize;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
function
|
|
12
|
-
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; }
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
12
|
/**
|
|
14
13
|
* Size info need loop query for the `heights` which will has the perf issue.
|
|
15
14
|
* Let cache result for each render phase.
|
|
@@ -54,4 +53,4 @@ function useGetSize(mergedData, getKey, heights, itemHeight) {
|
|
|
54
53
|
};
|
|
55
54
|
return getSize;
|
|
56
55
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3Qvc3JjL2NvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlR2V0U2l6ZS50cyIsImNvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlR2V0U2l6ZS5qcyJdLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidXNlR2V0U2l6ZSIsIm1lcmdlZERhdGEiLCJnZXRLZXkiLCJoZWlnaHRzIiwiaXRlbUhlaWdodCIsIl9SZWFjdCR1c2VNZW1vIiwidXNlTWVtbyIsIk1hcCIsImlkIiwiX1JlYWN0JHVzZU1lbW8yIiwiX3NsaWNlZFRvQXJyYXkyIiwia2V5MkluZGV4IiwiYm90dG9tTGlzdCIsImdldFNpemUiLCJzdGFydEtleSIsImVuZEtleSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9hIiwic3RhcnRJbmRleCIsImVuZEluZGV4IiwiZGF0YUxlbiIsIml0ZW0iLCJrZXkiLCJjYWNoZUhlaWdodCIsInRvcCIsImJvdHRvbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQStCLFNBQUFELHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBSix1QkFBQSxZQUFBQSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFL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LElBQUlELEdBQUcsS0FBS1YsUUFBUSxFQUFFO1VBQ3BCTSxVQUFVLEdBQUdqQyxDQUFDO1FBQ2hCO1FBQ0EsSUFBSXFDLEdBQUcsS0FBS1QsTUFBTSxFQUFFO1VBQ2xCTSxRQUFRLEdBQUdsQyxDQUFDO1FBQ2Q7UUFFQSxJQUFJaUMsVUFBVSxLQUFLRixTQUFTLElBQUlHLFFBQVEsS0FBS0gsU0FBUyxFQUFFO1VBQ3REO1FBQ0Y7TUFDRjtJQUNGO0lBRUEsT0FBTztNQUNMUSxHQUFHLEVBQUVkLFVBQVUsQ0FBQ1EsVUFBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7TUFDckNPLE1BQU0sRUFBRWYsVUFBVSxDQUFDUyxRQUFTO0lDWjFCLENEYUg7RUFDSCxDQUFDO0VBRUQsT0FBT1IsT0FBTztBQUNoQiIsImZpbGUiOiJjb21wb25lbnRzL1ZpcnR1YWxMaXN0L2hvb2tzL3VzZUdldFNpemUuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0Jztcbi8qKlxuICogU2l6ZSBpbmZvIG5lZWQgbG9vcCBxdWVyeSBmb3IgdGhlIGBoZWlnaHRzYCB3aGljaCB3aWxsIGhhcyB0aGUgcGVyZiBpc3N1ZS5cbiAqIExldCBjYWNoZSByZXN1bHQgZm9yIGVhY2ggcmVuZGVyIHBoYXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlR2V0U2l6ZShtZXJnZWREYXRhLCBnZXRLZXksIGhlaWdodHMsIGl0ZW1IZWlnaHQpIHtcbiAgICBjb25zdCBba2V5MkluZGV4LCBib3R0b21MaXN0XSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gW25ldyBNYXAoKSwgW11dLCBbbWVyZ2VkRGF0YSwgaGVpZ2h0cy5pZCwgaXRlbUhlaWdodF0pO1xuICAgIGNvbnN0IGdldFNpemUgPSAoc3RhcnRLZXksIGVuZEtleSA9IHN0YXJ0S2V5KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgLy8gR2V0IGZyb20gY2FjaGUgZmlyc3RcbiAgICAgICAgbGV0IHN0YXJ0SW5kZXggPSBrZXkySW5kZXguZ2V0KHN0YXJ0S2V5KTtcbiAgICAgICAgbGV0IGVuZEluZGV4ID0ga2V5MkluZGV4LmdldChlbmRLZXkpO1xuICAgICAgICAvLyBMb29wIHRvIGZpbGwgdGhlIGNhY2hlXG4gICAgICAgIGlmIChzdGFydEluZGV4ID09PSB1bmRlZmluZWQgfHwgZW5kSW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgZGF0YUxlbiA9IG1lcmdlZERhdGEubGVuZ3RoO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IGJvdHRvbUxpc3QubGVuZ3RoOyBpIDwgZGF0YUxlbjsgaSArPSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IG1lcmdlZERhdGFbaV07XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0S2V5KGl0ZW0pO1xuICAgICAgICAgICAgICAgIGtleTJJbmRleC5zZXQoa2V5LCBpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjYWNoZUhlaWdodCA9IChfYSA9IGhlaWdodHMuZ2V0KGtleSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGl0ZW1IZWlnaHQ7XG4gICAgICAgICAgICAgICAgYm90dG9tTGlzdFtpXSA9IChib3R0b21MaXN0W2kgLSAxXSB8fCAwKSArIGNhY2hlSGVpZ2h0O1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IHN0YXJ0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSBlbmRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoc3RhcnRJbmRleCAhPT0gdW5kZWZpbmVkICYmIGVuZEluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b3A6IGJvdHRvbUxpc3Rbc3RhcnRJbmRleCAtIDFdIHx8IDAsXG4gICAgICAgICAgICBib3R0b206IGJvdHRvbUxpc3RbZW5kSW5kZXhdLFxuICAgICAgICB9O1xuICAgIH07XG4gICAgcmV0dXJuIGdldFNpemU7XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -10,8 +10,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var React = _react;
|
|
12
12
|
var _CacheMap = _interopRequireDefault(require("../utils/CacheMap"));
|
|
13
|
-
function
|
|
14
|
-
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
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
15
14
|
function parseNumber(value) {
|
|
16
15
|
var num = parseFloat(value);
|
|
17
16
|
return isNaN(num) ? 0 : num;
|
|
@@ -103,4 +102,4 @@ function useHeights(getKey, onItemAdd, onItemRemove) {
|
|
|
103
102
|
}, []);
|
|
104
103
|
return [setInstanceRef, collectHeight, heightsRef.current, updatedMark];
|
|
105
104
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3Qvc3JjL2NvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlSGVpZ2h0cy50c3giXSwibmFtZXMiOlsiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiUmVhY3QiLCJfQ2FjaGVNYXAiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJwYXJzZU51bWJlciIsInZhbHVlIiwibnVtIiwicGFyc2VGbG9hdCIsImlzTmFOIiwidXNlSGVpZ2h0cyIsImdldEtleSIsIm9uSXRlbUFkZCIsIm9uSXRlbVJlbW92ZSIsIl9SZWFjdCR1c2VTdGF0ZSIsInVzZVN0YXRlIiwiX1JlYWN0JHVzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInVwZGF0ZWRNYXJrIiwic2V0VXBkYXRlZE1hcmsiLCJpbnN0YW5jZVJlZiIsInVzZVJlZiIsIk1hcCIsImhlaWdodHNSZWYiLCJDYWNoZU1hcCIsIm1hcmdpbkNhY2hlUmVmIiwicHJvbWlzZUlkUmVmIiwiY2FuY2VsUmFmIiwiY3VycmVudCIsImNvbGxlY3RIZWlnaHQiLCJzeW5jIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZG9Db2xsZWN0IiwiY2hhbmdlZCIsImZvckVhY2giLCJlbGVtZW50Iiwia2V5Iiwib2Zmc2V0UGFyZW50Iiwib2Zmc2V0SGVpZ2h0IiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwiY2FjaGVkTWFyZ2luIiwicHJldkhlaWdodCIsIk1hdGgiLCJhYnMiLCJzdHlsZSIsImdldENvbXB1dGVkU3R5bGUiLCJ0b3RhbEhlaWdodCIsImMiLCJpZCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsInNldEluc3RhbmNlUmVmIiwiaXRlbSIsImluc3RhbmNlIiwib3JpZ2luIiwidXNlRWZmZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFBK0IsSUFBQUMsS0FBQSxHQUFBSCxNQUFBO0FBRy9CLElBQUFJLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUF5QyxTQUFBRCx3QkFBQUssQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQVAsdUJBQUEsWUFBQUEsd0JBQUFLLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxH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QUFFO0lBQ2pCLENBQUMsTUFBTTtNQUNMVCxXQUFXLENBQUNRLE9BQU8sVUFBTyxDQUFDVSxHQUFHLENBQUM7TUFDL0JiLGNBQWMsQ0FBQ0csT0FBTyxVQUFPLENBQUNVLEdBQUcsQ0FBQztJQUNwQztJQUVBO0lBQ0EsSUFBSSxDQUFDb0IsTUFBTSxLQUFLLENBQUNELFFBQVEsRUFBRTtNQUN6QixJQUFJQSxRQUFRLEVBQUU7UUFDWjdDLFNBQVMsS0FBQSxJQUFBLElBQVRBLFNBQVMsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVEEsU0FBUyxDQUFHNEMsSUFBSSxDQUFDO01BQ25CLENBQUMsTUFBTTtRQUNMM0MsWUFBWSxLQUFBLElBQUEsSUFBWkEsWUFBWSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLENBQUcyQyxJQUFJLENBQUM7TUFDdEI7SUFDRjtFQUNGO0VBRUEsSUFBQUcsZ0JBQVMsRUFBQyxZQUFLO0lBQ2IsT0FBT2hDLFNBQVM7RUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE9BQU8sQ0FBQzRCLGNBQWMsRUFBRTFCLGFBQWEsRUFBRU4sVUFBVSxDQUFDSyxPQUFPLEVBQUVWLFdBQVcsQ0FBQztBQUN6RSIsImZpbGUiOiJjb21wb25lbnRzL1ZpcnR1YWxMaXN0L2hvb2tzL3VzZUhlaWdodHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|