@1money/component-ui 0.0.89 → 0.0.90-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/business/Dialog/BaseDialog/BaseDialog.d.ts +3 -0
- package/es/business/Dialog/BaseDialog/BaseDialog.js +128 -0
- package/es/business/Dialog/BaseDialog/constants.d.ts +12 -0
- package/es/business/Dialog/BaseDialog/constants.js +13 -0
- package/es/business/Dialog/BaseDialog/index.d.ts +4 -0
- package/es/business/Dialog/BaseDialog/index.js +5 -0
- package/es/business/Dialog/BaseDialog/interface.d.ts +63 -0
- package/es/business/Dialog/BaseDialog/interface.js +2 -0
- package/es/business/Dialog/BaseDialog/style/BaseDialog.css +62 -0
- package/es/business/Dialog/BaseDialog/style/css.js +2 -0
- package/es/business/Dialog/BaseDialog/style/index.d.ts +1 -0
- package/es/business/Dialog/BaseDialog/style/index.js +2 -0
- package/es/business/Dialog/Descriptions/Descriptions.d.ts +3 -0
- package/es/business/Dialog/Descriptions/Descriptions.js +94 -0
- package/es/business/Dialog/Descriptions/constants.d.ts +16 -0
- package/es/business/Dialog/Descriptions/constants.js +24 -0
- package/es/business/Dialog/Descriptions/index.d.ts +4 -0
- package/es/business/Dialog/Descriptions/index.js +5 -0
- package/es/business/Dialog/Descriptions/interface.d.ts +44 -0
- package/es/business/Dialog/Descriptions/interface.js +2 -0
- package/es/business/Dialog/Descriptions/style/Descriptions.css +60 -0
- package/es/business/Dialog/Descriptions/style/css.js +2 -0
- package/es/business/Dialog/Descriptions/style/index.d.ts +1 -0
- package/es/business/Dialog/Descriptions/style/index.js +2 -0
- package/es/business/Dialog/DetailsDialog/DetailsDialog.d.ts +3 -0
- package/es/business/Dialog/DetailsDialog/DetailsDialog.js +94 -0
- package/es/business/Dialog/DetailsDialog/index.d.ts +4 -0
- package/es/business/Dialog/DetailsDialog/index.js +5 -0
- package/es/business/Dialog/DetailsDialog/interface.d.ts +22 -0
- package/es/business/Dialog/DetailsDialog/interface.js +2 -0
- package/es/business/Dialog/DetailsDialog/style/DetailsDialog.css +41 -0
- package/es/business/Dialog/DetailsDialog/style/css.js +2 -0
- package/es/business/Dialog/DetailsDialog/style/index.d.ts +1 -0
- package/es/business/Dialog/DetailsDialog/style/index.js +2 -0
- package/es/business/Dialog/FormDialog/FormDialog.d.ts +5 -0
- package/es/business/Dialog/FormDialog/FormDialog.js +100 -0
- package/es/business/Dialog/FormDialog/index.d.ts +6 -0
- package/es/business/Dialog/FormDialog/index.js +6 -0
- package/es/business/Dialog/FormDialog/interface.d.ts +42 -0
- package/es/business/Dialog/FormDialog/interface.js +2 -0
- package/{lib/business/Dialog/TransactionDialog/style/TransactionDialog.css → es/business/Dialog/FormDialog/style/FormDialog.css} +7 -12
- package/es/business/Dialog/FormDialog/style/css.js +2 -0
- package/es/business/Dialog/FormDialog/style/index.d.ts +1 -0
- package/es/business/Dialog/FormDialog/style/index.js +2 -0
- package/es/business/Dialog/VerificationDialog/VerificationDialog.js +203 -95
- package/es/business/Dialog/VerificationDialog/constants.d.ts +8 -35
- package/es/business/Dialog/VerificationDialog/constants.js +8 -30
- package/es/business/Dialog/VerificationDialog/index.d.ts +2 -1
- package/es/business/Dialog/VerificationDialog/index.js +3 -2
- package/es/business/Dialog/VerificationDialog/interface.d.ts +42 -106
- package/es/business/Dialog/VerificationDialog/interface.js +1 -1
- package/es/business/Dialog/VerificationDialog/style/VerificationDialog.css +19 -6
- 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.d.ts +4 -2
- package/es/business/Dialog/index.js +8 -3
- package/es/business/Dialog/variants/DeleteDialog.d.ts +3 -0
- package/es/business/Dialog/variants/DeleteDialog.js +20 -0
- package/es/business/Dialog/variants/FailureDialog.d.ts +3 -0
- package/es/business/Dialog/variants/FailureDialog.js +20 -0
- package/es/business/Dialog/variants/LoadingDialog.d.ts +33 -0
- package/es/business/Dialog/variants/LoadingDialog.js +162 -0
- package/es/business/Dialog/variants/PendingDialog.d.ts +3 -0
- package/es/business/Dialog/variants/PendingDialog.js +19 -0
- package/es/business/Dialog/variants/SuccessDialog.d.ts +3 -0
- package/es/business/Dialog/variants/SuccessDialog.js +19 -0
- package/es/business/Dialog/variants/index.d.ts +10 -0
- package/es/business/Dialog/variants/index.js +9 -0
- package/es/business/Dialog/variants/style/LoadingDialog.css +62 -0
- package/es/business/Dialog/variants/style/css.js +2 -0
- package/es/business/Dialog/variants/style/index.d.ts +1 -0
- package/es/business/Dialog/variants/style/index.js +2 -0
- package/es/business/FieldList/index.d.ts +30 -0
- package/es/business/FieldList/index.js +52 -0
- package/es/business/FieldList/style/FieldList.css +89 -0
- package/es/business/FieldList/style/css.js +2 -0
- package/es/business/FieldList/style/index.d.ts +1 -0
- package/es/business/FieldList/style/index.js +2 -0
- 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 +1 -1
- 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/FormPage/FormPage.d.ts +4 -0
- package/es/business/FormPage/FormPage.js +86 -0
- package/es/business/FormPage/index.d.ts +4 -0
- package/es/business/FormPage/index.js +5 -0
- package/es/business/FormPage/interface.d.ts +40 -0
- package/es/business/FormPage/interface.js +2 -0
- 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 +1 -1
- package/es/business/Select/Country/index.js +1 -1
- package/es/business/Select/Country/interface.js +1 -1
- 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.d.ts +3 -0
- package/es/business/index.js +3 -1
- package/es/business/shared/formCore/BaseProForm.d.ts +38 -0
- package/es/business/shared/formCore/BaseProForm.js +85 -0
- package/es/business/shared/formCore/useSubmitAction.d.ts +11 -0
- package/es/business/shared/formCore/useSubmitAction.js +92 -0
- 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.d.ts +3 -0
- package/es/components/ActionBar/ActionBar.js +114 -0
- package/es/components/ActionBar/constants.d.ts +29 -0
- package/es/components/ActionBar/constants.js +30 -0
- package/es/components/ActionBar/index.d.ts +4 -0
- package/es/components/ActionBar/index.js +5 -0
- package/es/components/ActionBar/interface.d.ts +73 -0
- package/es/components/ActionBar/interface.js +2 -0
- package/es/components/ActionBar/style/ActionBar.css +44 -0
- package/es/components/ActionBar/style/css.js +2 -0
- package/es/components/ActionBar/style/index.d.ts +1 -0
- package/es/components/ActionBar/style/index.js +2 -0
- 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 +8 -6
- 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.d.ts +7 -0
- package/es/components/Dialog/interface.js +1 -1
- package/es/components/Dialog/style/Dialog.css +4 -4
- package/es/{business/Dialog/ResultDialog/style/ResultDialog.css → components/Dialog/style/DialogBare.css} +10 -5
- package/es/components/Dialog/style/css.js +2 -1
- package/es/components/Dialog/style/index.d.ts +1 -0
- package/es/components/Dialog/style/index.js +2 -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.d.ts +25 -0
- package/es/components/FormLayout/FormLayout.js +124 -0
- package/es/components/FormLayout/config.d.ts +52 -0
- package/es/components/FormLayout/config.js +60 -0
- package/es/components/FormLayout/context.d.ts +9 -0
- package/es/components/FormLayout/context.js +13 -0
- package/es/components/FormLayout/index.d.ts +7 -0
- package/es/components/FormLayout/index.js +7 -0
- package/es/components/FormLayout/interface.d.ts +44 -0
- package/es/components/FormLayout/interface.js +2 -0
- package/es/components/FormLayout/style/FormLayout.css +110 -0
- package/es/components/FormLayout/style/css.js +2 -0
- package/es/components/FormLayout/style/index.d.ts +1 -0
- package/es/components/FormLayout/style/index.js +2 -0
- package/es/components/Grid/Col.d.ts +1 -0
- package/es/components/Grid/Col.js +2 -1
- package/es/components/Grid/Grid.js +1 -1
- package/es/components/Grid/Row.d.ts +1 -0
- package/es/components/Grid/Row.js +2 -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 +1 -1
- 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 +8 -3
- 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 +1 -1
- 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/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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +8 -3
- package/es/components/Select/SelectCustom.js +1 -1
- package/es/components/Select/SelectFieldShell.js +1 -1
- package/es/components/Select/SelectOptionContent.js +1 -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.js +1 -1
- 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 +1 -1
- 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.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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.d.ts +5 -1
- package/es/index.js +3 -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.d.ts +3 -0
- package/lib/business/Dialog/BaseDialog/BaseDialog.js +137 -0
- package/lib/business/Dialog/BaseDialog/constants.d.ts +12 -0
- package/lib/business/Dialog/BaseDialog/constants.js +19 -0
- package/lib/business/Dialog/BaseDialog/index.d.ts +4 -0
- package/lib/business/Dialog/BaseDialog/index.js +30 -0
- package/lib/business/Dialog/BaseDialog/interface.d.ts +63 -0
- package/lib/business/Dialog/BaseDialog/interface.js +6 -0
- package/lib/business/Dialog/BaseDialog/style/BaseDialog.css +62 -0
- package/lib/business/Dialog/BaseDialog/style/css.js +4 -0
- package/lib/business/Dialog/BaseDialog/style/index.d.ts +1 -0
- package/lib/business/Dialog/BaseDialog/style/index.js +4 -0
- package/lib/business/Dialog/Descriptions/Descriptions.d.ts +3 -0
- package/lib/business/Dialog/Descriptions/Descriptions.js +104 -0
- package/lib/business/Dialog/Descriptions/constants.d.ts +16 -0
- package/lib/business/Dialog/Descriptions/constants.js +30 -0
- package/lib/business/Dialog/Descriptions/index.d.ts +4 -0
- package/lib/business/Dialog/Descriptions/index.js +30 -0
- package/lib/business/Dialog/Descriptions/interface.d.ts +44 -0
- package/lib/business/Dialog/Descriptions/interface.js +6 -0
- package/lib/business/Dialog/Descriptions/style/Descriptions.css +60 -0
- package/lib/business/Dialog/Descriptions/style/css.js +4 -0
- package/lib/business/Dialog/Descriptions/style/index.d.ts +1 -0
- package/lib/business/Dialog/Descriptions/style/index.js +4 -0
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.d.ts +3 -0
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +104 -0
- package/lib/business/Dialog/DetailsDialog/index.d.ts +4 -0
- package/lib/business/Dialog/DetailsDialog/index.js +30 -0
- package/lib/business/Dialog/DetailsDialog/interface.d.ts +22 -0
- package/lib/business/Dialog/DetailsDialog/interface.js +6 -0
- package/lib/business/Dialog/DetailsDialog/style/DetailsDialog.css +41 -0
- package/lib/business/Dialog/DetailsDialog/style/css.js +4 -0
- package/lib/business/Dialog/DetailsDialog/style/index.d.ts +1 -0
- package/lib/business/Dialog/DetailsDialog/style/index.js +4 -0
- package/lib/business/Dialog/FormDialog/FormDialog.d.ts +5 -0
- package/lib/business/Dialog/FormDialog/FormDialog.js +109 -0
- package/lib/business/Dialog/FormDialog/index.d.ts +6 -0
- package/lib/business/Dialog/FormDialog/index.js +52 -0
- package/lib/business/Dialog/FormDialog/interface.d.ts +42 -0
- package/lib/business/Dialog/FormDialog/interface.js +6 -0
- package/{es/business/Dialog/TransactionDialog/style/TransactionDialog.css → lib/business/Dialog/FormDialog/style/FormDialog.css} +7 -12
- package/lib/business/Dialog/FormDialog/style/css.js +4 -0
- package/lib/business/Dialog/FormDialog/style/index.d.ts +1 -0
- package/lib/business/Dialog/FormDialog/style/index.js +4 -0
- package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +204 -92
- package/lib/business/Dialog/VerificationDialog/constants.d.ts +8 -35
- package/lib/business/Dialog/VerificationDialog/constants.js +9 -31
- package/lib/business/Dialog/VerificationDialog/index.d.ts +2 -1
- package/lib/business/Dialog/VerificationDialog/index.js +4 -17
- package/lib/business/Dialog/VerificationDialog/interface.d.ts +42 -106
- package/lib/business/Dialog/VerificationDialog/interface.js +1 -1
- package/lib/business/Dialog/VerificationDialog/style/VerificationDialog.css +19 -6
- 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.d.ts +4 -2
- package/lib/business/Dialog/index.js +31 -9
- package/lib/business/Dialog/variants/DeleteDialog.d.ts +3 -0
- package/lib/business/Dialog/variants/DeleteDialog.js +26 -0
- package/lib/business/Dialog/variants/FailureDialog.d.ts +3 -0
- package/lib/business/Dialog/variants/FailureDialog.js +26 -0
- package/lib/business/Dialog/variants/LoadingDialog.d.ts +33 -0
- package/lib/business/Dialog/variants/LoadingDialog.js +172 -0
- package/lib/business/Dialog/variants/PendingDialog.d.ts +3 -0
- package/lib/business/Dialog/variants/PendingDialog.js +25 -0
- package/lib/business/Dialog/variants/SuccessDialog.d.ts +3 -0
- package/lib/business/Dialog/variants/SuccessDialog.js +25 -0
- package/lib/business/Dialog/variants/index.d.ts +10 -0
- package/lib/business/Dialog/variants/index.js +41 -0
- package/lib/business/Dialog/variants/style/LoadingDialog.css +62 -0
- package/lib/business/Dialog/variants/style/css.js +4 -0
- package/lib/business/Dialog/variants/style/index.d.ts +1 -0
- package/lib/business/Dialog/variants/style/index.js +4 -0
- package/lib/business/FieldList/index.d.ts +30 -0
- package/lib/business/FieldList/index.js +60 -0
- package/lib/business/FieldList/style/FieldList.css +89 -0
- package/lib/business/FieldList/style/css.js +4 -0
- package/lib/business/FieldList/style/index.d.ts +1 -0
- package/lib/business/FieldList/style/index.js +4 -0
- 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 +1 -1
- 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/FormPage/FormPage.d.ts +4 -0
- package/lib/business/FormPage/FormPage.js +92 -0
- package/lib/business/FormPage/index.d.ts +4 -0
- package/lib/business/FormPage/index.js +30 -0
- package/lib/business/FormPage/interface.d.ts +40 -0
- package/lib/business/FormPage/interface.js +6 -0
- 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 +1 -1
- package/lib/business/Select/Country/index.js +1 -1
- package/lib/business/Select/Country/interface.js +1 -1
- 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.d.ts +3 -0
- package/lib/business/index.js +27 -1
- package/lib/business/shared/formCore/BaseProForm.d.ts +38 -0
- package/lib/business/shared/formCore/BaseProForm.js +91 -0
- package/lib/business/shared/formCore/useSubmitAction.d.ts +11 -0
- package/lib/business/shared/formCore/useSubmitAction.js +99 -0
- package/lib/components/Accordion/Accordion.js +1 -1
- package/lib/components/Accordion/constants.js +1 -1
- package/lib/components/Accordion/index.js +1 -1
- 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.d.ts +3 -0
- package/lib/components/ActionBar/ActionBar.js +123 -0
- package/lib/components/ActionBar/constants.d.ts +29 -0
- package/lib/components/ActionBar/constants.js +36 -0
- package/lib/components/ActionBar/index.d.ts +4 -0
- package/lib/components/ActionBar/index.js +30 -0
- package/lib/components/ActionBar/interface.d.ts +73 -0
- package/lib/components/ActionBar/interface.js +6 -0
- package/lib/components/ActionBar/style/ActionBar.css +44 -0
- package/lib/components/ActionBar/style/css.js +4 -0
- package/lib/components/ActionBar/style/index.d.ts +1 -0
- package/lib/components/ActionBar/style/index.js +4 -0
- package/lib/components/Alert/Alert.js +1 -1
- package/lib/components/Alert/index.js +1 -1
- 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 +1 -1
- package/lib/components/Button/constants.js +1 -1
- package/lib/components/Button/index.js +1 -1
- 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 +1 -1
- package/lib/components/Calendar/constants.js +1 -1
- package/lib/components/Calendar/index.js +1 -1
- 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 +1 -1
- package/lib/components/Carousel/index.js +1 -1
- 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 +1 -1
- package/lib/components/Cell/index.js +1 -1
- 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 +1 -1
- package/lib/components/Checkbox/Checkbox.js +1 -1
- package/lib/components/Checkbox/CheckboxGroup.js +1 -1
- package/lib/components/Checkbox/CheckboxGroupContext.js +1 -1
- package/lib/components/Checkbox/constants.js +1 -1
- package/lib/components/Checkbox/index.js +1 -1
- 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 +1 -1
- package/lib/components/CoachMark/index.js +1 -1
- 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 +1 -1
- package/lib/components/Copy/Copy.js +1 -1
- package/lib/components/Copy/index.js +1 -1
- 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 +8 -6
- 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 +1 -1
- package/lib/components/Dialog/interface.d.ts +7 -0
- package/lib/components/Dialog/interface.js +1 -1
- package/lib/components/Dialog/style/Dialog.css +4 -4
- package/lib/{business/Dialog/ResultDialog/style/ResultDialog.css → components/Dialog/style/DialogBare.css} +10 -5
- package/lib/components/Dialog/style/css.js +2 -1
- package/lib/components/Dialog/style/index.d.ts +1 -0
- package/lib/components/Dialog/style/index.js +2 -1
- package/lib/components/Dialog/types.js +1 -1
- package/lib/components/Divider/Divider.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/lib/components/Empty/index.js +1 -1
- 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 +1 -1
- 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.d.ts +25 -0
- package/lib/components/FormLayout/FormLayout.js +134 -0
- package/lib/components/FormLayout/config.d.ts +52 -0
- package/lib/components/FormLayout/config.js +66 -0
- package/lib/components/FormLayout/context.d.ts +9 -0
- package/lib/components/FormLayout/context.js +19 -0
- package/lib/components/FormLayout/index.d.ts +7 -0
- package/lib/components/FormLayout/index.js +81 -0
- package/lib/components/FormLayout/interface.d.ts +44 -0
- package/lib/components/FormLayout/interface.js +6 -0
- package/lib/components/FormLayout/style/FormLayout.css +110 -0
- package/lib/components/FormLayout/style/css.js +4 -0
- package/lib/components/FormLayout/style/index.d.ts +1 -0
- package/lib/components/FormLayout/style/index.js +4 -0
- package/lib/components/Grid/Col.d.ts +1 -0
- package/lib/components/Grid/Col.js +2 -1
- package/lib/components/Grid/Grid.js +1 -1
- package/lib/components/Grid/Row.d.ts +1 -0
- package/lib/components/Grid/Row.js +2 -1
- 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 +1 -1
- package/lib/components/Icons/Logo.js +1 -1
- package/lib/components/Icons/SVGs.js +1 -1
- package/lib/components/Icons/Wrapper.js +1 -1
- package/lib/components/Icons/constants.js +1 -1
- package/lib/components/Icons/index.js +1 -1
- 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 +1 -1
- package/lib/components/Input/Amount/helper.js +1 -1
- package/lib/components/Input/Amount/index.js +1 -1
- 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 +1 -1
- package/lib/components/Input/FieldShell/index.js +1 -1
- package/lib/components/Input/Input/Input.js +8 -3
- package/lib/components/Input/Input/index.js +1 -1
- package/lib/components/Input/Mask/Mask.js +1 -1
- package/lib/components/Input/Mask/index.js +1 -1
- package/lib/components/Input/OTP/OTP.js +1 -1
- package/lib/components/Input/OTP/index.js +1 -1
- package/lib/components/Input/Password/Password.js +1 -1
- package/lib/components/Input/Password/index.js +1 -1
- package/lib/components/Input/Search/Search.js +1 -1
- package/lib/components/Input/Search/index.js +1 -1
- package/lib/components/Input/TextArea/TextArea.js +1 -1
- package/lib/components/Input/TextArea/index.js +1 -1
- package/lib/components/Input/Trade/Trade.js +1 -1
- package/lib/components/Input/Trade/index.js +1 -1
- package/lib/components/Input/constants.js +1 -1
- package/lib/components/Input/index.js +1 -1
- 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 +1 -1
- package/lib/components/Link/constants.js +1 -1
- package/lib/components/Link/index.js +1 -1
- 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 +1 -1
- package/lib/components/Navigation/Navigation.js +1 -1
- package/lib/components/Navigation/NavigationLogo.js +1 -1
- package/lib/components/Navigation/NavigationStepper.js +1 -1
- package/lib/components/Navigation/index.js +1 -1
- 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 +1 -1
- package/lib/components/Notification/NotificationStatic.js +1 -1
- package/lib/components/Notification/constants.js +1 -1
- package/lib/components/Notification/index.js +1 -1
- 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 +1 -1
- package/lib/components/Pagination/constants.js +1 -1
- package/lib/components/Pagination/index.js +1 -1
- 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/Popconfirm/Popconfirm.js +1 -1
- package/lib/components/Popconfirm/constants.js +1 -1
- package/lib/components/Popconfirm/index.js +1 -1
- 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 +1 -1
- package/lib/components/Portal/interface.js +1 -1
- package/lib/components/ProForm/ProForm.js +1 -1
- package/lib/components/ProForm/ProFormDependency.js +1 -1
- package/lib/components/ProForm/ProFormGroup.js +1 -1
- package/lib/components/ProForm/ProFormItem.js +1 -1
- package/lib/components/ProForm/ProFormList.js +1 -1
- package/lib/components/ProForm/SchemaForm.js +1 -1
- package/lib/components/ProForm/Submitter.js +1 -1
- 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 +1 -1
- package/lib/components/ProForm/core/formStore.js +1 -1
- package/lib/components/ProForm/core/hooks/useForm.js +1 -1
- 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 +1 -1
- package/lib/components/ProForm/core/useFormItem.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/lib/components/ProForm/layouts/index.js +1 -1
- package/lib/components/ProForm/layouts/useOverlayForm.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/lib/components/Progress/Progress.js +1 -1
- package/lib/components/Progress/constants.js +1 -1
- package/lib/components/Progress/index.js +1 -1
- 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 +1 -1
- package/lib/components/Radio/RadioGroup.js +1 -1
- package/lib/components/Radio/RadioGroupContext.js +1 -1
- package/lib/components/Radio/constants.js +1 -1
- package/lib/components/Radio/index.js +1 -1
- 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 +1 -1
- package/lib/components/ResizeObserver/ResizeObserver.js +1 -1
- package/lib/components/ResizeObserver/SingleObserver/index.js +1 -1
- package/lib/components/ResizeObserver/index.js +1 -1
- package/lib/components/ResizeObserver/interface.js +1 -1
- package/lib/components/ResizeObserver/useResizeObserver.js +1 -1
- package/lib/components/ResizeObserver/utils/observerUtil.js +1 -1
- package/lib/components/ResizeObserver/utils/reactUtil.js +1 -1
- package/lib/components/Segment/Segment.js +1 -1
- package/lib/components/Segment/index.js +1 -1
- 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 +8 -3
- package/lib/components/Select/SelectCustom.js +1 -1
- package/lib/components/Select/SelectFieldShell.js +1 -1
- package/lib/components/Select/SelectOptionContent.js +1 -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.js +1 -1
- 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 +1 -1
- package/lib/components/Skeleton/index.js +1 -1
- 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 +1 -1
- package/lib/components/Slider/index.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/lib/components/Spinner/index.js +1 -1
- 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 +1 -1
- package/lib/components/Step/constants.js +1 -1
- package/lib/components/Step/index.js +1 -1
- 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 +1 -1
- package/lib/components/Switch/constants.js +1 -1
- package/lib/components/Switch/index.js +1 -1
- 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.js +1 -1
- 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 +1 -1
- package/lib/components/Table/internal/kernel/Body/BodyRow.js +1 -1
- package/lib/components/Table/internal/kernel/Body/ExpandedRow.js +1 -1
- package/lib/components/Table/internal/kernel/Body/MeasureCell.js +1 -1
- package/lib/components/Table/internal/kernel/Body/MeasureRow.js +1 -1
- package/lib/components/Table/internal/kernel/Body/index.js +1 -1
- package/lib/components/Table/internal/kernel/Cell/index.js +1 -1
- package/lib/components/Table/internal/kernel/Cell/useCellRender.js +1 -1
- package/lib/components/Table/internal/kernel/Cell/useHoverState.js +1 -1
- package/lib/components/Table/internal/kernel/ColGroup.js +1 -1
- package/lib/components/Table/internal/kernel/FixedHolder/index.js +1 -1
- package/lib/components/Table/internal/kernel/Footer/Cell.js +1 -1
- package/lib/components/Table/internal/kernel/Footer/Row.js +1 -1
- package/lib/components/Table/internal/kernel/Footer/Summary.js +1 -1
- package/lib/components/Table/internal/kernel/Footer/SummaryContext.js +1 -1
- package/lib/components/Table/internal/kernel/Footer/index.js +1 -1
- package/lib/components/Table/internal/kernel/Header/Header.js +1 -1
- package/lib/components/Table/internal/kernel/Header/HeaderRow.js +1 -1
- package/lib/components/Table/internal/kernel/Panel/index.js +1 -1
- package/lib/components/Table/internal/kernel/Table.js +1 -1
- package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -1
- package/lib/components/Table/internal/kernel/VirtualTable/BodyLine.js +1 -1
- package/lib/components/Table/internal/kernel/VirtualTable/VirtualCell.js +1 -1
- package/lib/components/Table/internal/kernel/VirtualTable/context.js +1 -1
- package/lib/components/Table/internal/kernel/VirtualTable/index.js +1 -1
- package/lib/components/Table/internal/kernel/constant.js +1 -1
- package/lib/components/Table/internal/kernel/context/PerfContext.js +1 -1
- package/lib/components/Table/internal/kernel/context/TableContext.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useColumns/index.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useColumns/useWidthColumns.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useExpand.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useFixedInfo.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useFlattenRecords.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useFrame.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useHover.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useRenderTimes.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useRowInfo.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useSticky.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useStickyOffsets.js +1 -1
- package/lib/components/Table/internal/kernel/index.js +1 -1
- 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 +1 -1
- package/lib/components/Table/internal/kernel/selector-context/context.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/lib/components/Tabs/index.js +1 -1
- 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 +1 -1
- package/lib/components/Tag/constants.js +1 -1
- package/lib/components/Tag/index.js +1 -1
- 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 +1 -1
- package/lib/components/Tooltip/index.js +1 -1
- 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 +1 -1
- package/lib/components/Tour/interface.js +1 -1
- package/lib/components/Trigger/Trigger.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/lib/components/Upload/Upload.js +1 -1
- package/lib/components/Upload/UploadFileBar.js +1 -1
- package/lib/components/Upload/index.js +1 -1
- 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 +1 -1
- package/lib/components/VirtualList/Item.js +1 -1
- package/lib/components/VirtualList/ScrollBar.js +1 -1
- package/lib/components/VirtualList/VirtualList.js +1 -1
- package/lib/components/VirtualList/constants.js +1 -1
- package/lib/components/VirtualList/hooks/useChildren.js +1 -1
- package/lib/components/VirtualList/hooks/useDiffItem.js +1 -1
- package/lib/components/VirtualList/hooks/useFrameWheel.js +1 -1
- package/lib/components/VirtualList/hooks/useGetSize.js +1 -1
- package/lib/components/VirtualList/hooks/useHeights.js +1 -1
- 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 +1 -1
- package/lib/components/VirtualList/hooks/useScrollTo.js +1 -1
- 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.d.ts +5 -1
- package/lib/index.js +33 -1
- package/lib/stories/docs/ComponentDocsPage.js +1 -1
- 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 +29 -9
- package/scripts/mcp-server/examples.generated.json +78 -0
- package/scripts/mcp-server/index.generated.json +675 -150
- package/es/business/Dialog/ResultDialog/ResultDialog.d.ts +0 -3
- package/es/business/Dialog/ResultDialog/ResultDialog.js +0 -126
- package/es/business/Dialog/ResultDialog/constants.d.ts +0 -27
- package/es/business/Dialog/ResultDialog/constants.js +0 -24
- package/es/business/Dialog/ResultDialog/index.d.ts +0 -3
- package/es/business/Dialog/ResultDialog/index.js +0 -4
- package/es/business/Dialog/ResultDialog/interface.d.ts +0 -95
- package/es/business/Dialog/ResultDialog/interface.js +0 -2
- package/es/business/Dialog/ResultDialog/presets.d.ts +0 -178
- package/es/business/Dialog/ResultDialog/presets.js +0 -139
- package/es/business/Dialog/ResultDialog/style/css.js +0 -2
- package/es/business/Dialog/ResultDialog/style/index.d.ts +0 -1
- package/es/business/Dialog/ResultDialog/style/index.js +0 -2
- package/es/business/Dialog/TransactionDialog/TransactionDialog.d.ts +0 -3
- package/es/business/Dialog/TransactionDialog/TransactionDialog.js +0 -174
- package/es/business/Dialog/TransactionDialog/constants.d.ts +0 -34
- package/es/business/Dialog/TransactionDialog/constants.js +0 -33
- package/es/business/Dialog/TransactionDialog/index.d.ts +0 -3
- package/es/business/Dialog/TransactionDialog/index.js +0 -4
- package/es/business/Dialog/TransactionDialog/interface.d.ts +0 -116
- package/es/business/Dialog/TransactionDialog/interface.js +0 -2
- package/es/business/Dialog/TransactionDialog/presets.d.ts +0 -89
- package/es/business/Dialog/TransactionDialog/presets.js +0 -62
- package/es/business/Dialog/TransactionDialog/style/css.js +0 -2
- package/es/business/Dialog/TransactionDialog/style/index.d.ts +0 -1
- package/es/business/Dialog/TransactionDialog/style/index.js +0 -2
- package/es/business/Dialog/VerificationDialog/ResendRow.d.ts +0 -14
- package/es/business/Dialog/VerificationDialog/ResendRow.js +0 -65
- package/es/business/Dialog/VerificationDialog/hooks/index.d.ts +0 -4
- package/es/business/Dialog/VerificationDialog/hooks/index.js +0 -3
- package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.d.ts +0 -50
- package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +0 -138
- package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.d.ts +0 -26
- package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +0 -103
- package/lib/business/Dialog/ResultDialog/ResultDialog.d.ts +0 -3
- package/lib/business/Dialog/ResultDialog/ResultDialog.js +0 -132
- package/lib/business/Dialog/ResultDialog/constants.d.ts +0 -27
- package/lib/business/Dialog/ResultDialog/constants.js +0 -30
- package/lib/business/Dialog/ResultDialog/index.d.ts +0 -3
- package/lib/business/Dialog/ResultDialog/index.js +0 -40
- package/lib/business/Dialog/ResultDialog/interface.d.ts +0 -95
- package/lib/business/Dialog/ResultDialog/interface.js +0 -6
- package/lib/business/Dialog/ResultDialog/presets.d.ts +0 -178
- package/lib/business/Dialog/ResultDialog/presets.js +0 -145
- package/lib/business/Dialog/ResultDialog/style/css.js +0 -4
- package/lib/business/Dialog/ResultDialog/style/index.d.ts +0 -1
- package/lib/business/Dialog/ResultDialog/style/index.js +0 -4
- package/lib/business/Dialog/TransactionDialog/TransactionDialog.d.ts +0 -3
- package/lib/business/Dialog/TransactionDialog/TransactionDialog.js +0 -180
- package/lib/business/Dialog/TransactionDialog/constants.d.ts +0 -34
- package/lib/business/Dialog/TransactionDialog/constants.js +0 -39
- package/lib/business/Dialog/TransactionDialog/index.d.ts +0 -3
- package/lib/business/Dialog/TransactionDialog/index.js +0 -40
- package/lib/business/Dialog/TransactionDialog/interface.d.ts +0 -116
- package/lib/business/Dialog/TransactionDialog/interface.js +0 -6
- package/lib/business/Dialog/TransactionDialog/presets.d.ts +0 -89
- package/lib/business/Dialog/TransactionDialog/presets.js +0 -68
- package/lib/business/Dialog/TransactionDialog/style/css.js +0 -4
- package/lib/business/Dialog/TransactionDialog/style/index.d.ts +0 -1
- package/lib/business/Dialog/TransactionDialog/style/index.js +0 -4
- package/lib/business/Dialog/VerificationDialog/ResendRow.d.ts +0 -14
- package/lib/business/Dialog/VerificationDialog/ResendRow.js +0 -71
- package/lib/business/Dialog/VerificationDialog/hooks/index.d.ts +0 -4
- package/lib/business/Dialog/VerificationDialog/hooks/index.js +0 -20
- package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.d.ts +0 -50
- package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +0 -145
- package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.d.ts +0 -26
- package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +0 -110
|
@@ -282,4 +282,4 @@ export function useTableColumns(config) {
|
|
|
282
282
|
return cols;
|
|
283
283
|
}, [prefixColumns, baseUserColumns, variant]);
|
|
284
284
|
}
|
|
285
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUNvbHVtbnMuanMiLCJjb21wb25lbnRzL1RhYmxlL3NyYy9jb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwidXNlTWVtbyIsIlNlbGVjdGlvbkNvbnRyb2wiLCJTZWxlY3Rpb25IZWFkZXJDb250cm9sIiwiRXhwYW5kVHJpZ2dlciIsIkhlYWRlckNlbGwiLCJCb2R5Q2VsbCIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwiaXNDb2x1bW5Hcm91cCIsIm1ha2VFeHBhbmRUcmFuc2Zvcm0iLCJjb25maWciLCJleHBhbmRhYmxlIiwibWVyZ2VkRXhwYW5kZWRSb3dLZXlzIiwidHJpZ2dlckV4cGFuZCIsImdldFJvd0tleSIsImN1c3RvbUV4cGFuZEljb24iLCJleHBhbmRJY29uIiwicm93RXhwYW5kYWJsZSIsImV4cGFuZGVkS2V5U2V0IiwiU2V0IiwiY29sdW1ucyIsIl9hIiwia2V5IiwiY2xhc3NOYW1lIiwiRVhQQU5EX0NPTFVNTl9DTFMiLCJ3aWR0aCIsImNvbHVtbldpZHRoIiwidGl0bGUiLCJjb2x1bW5UaXRsZSIsImZpeGVkIiwidW5kZWZpbmVkIiwicmVuZGVyIiwiXyIsInJlY29yZCIsImluZGV4IiwiY2FuRXhwYW5kIiwicmVjb3JkS2V5IiwiZXhwYW5kZWQiLCJoYXMiLCJwcmVmaXhDbHMiLCJvbkV4cGFuZCIsInJlYyIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJvblRvZ2dsZSIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsIm1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0iLCJyb3dTZWxlY3Rpb24iLCJtZXJnZWRTZWxlY3RlZFJvd0tleXMiLCJjaGVja2JveFByb3BzTWFwIiwiaXNBbGxTZWxlY3RlZCIsImlzSW5kZXRlcm1pbmF0ZSIsInRyaWdnZXJTZWxlY3Rpb24iLCJ0cmlnZ2VyU2VsZWN0QWxsIiwic2VsZWN0aW9uVHlwZSIsInR5cGUiLCJzZWxlY3RlZEtleVNldCIsIk9iamVjdCIsImFzc2lnbiIsIlNFTEVDVElPTl9DT0xVTU5fQ0xTIiwicmVuZGVySGVhZGVyIiwiY2hlY2tlZCIsImluZGV0ZXJtaW5hdGUiLCJvbkNoYW5nZSIsInJvd1Byb3BzIiwiZ2V0IiwiYXJpYVNvcnRGb3IiLCJvcmRlciIsIkVNUFRZX0ZJTFRFUl9WQUxVRSIsIm1ha2VIZWFkZXJUcmFuc2Zvcm0iLCJzb3J0ZXIiLCJzZXRTb3J0ZXIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsIm1hcCIsImNvbHVtbiIsIl9iIiwiaXNTb3J0YWJsZSIsIkJvb2xlYW4iLCJhY3RpdmVPcmRlciIsImNvbHVtbktleSIsIlN0cmluZyIsImZpbHRlclNlbGVjdGVkIiwidXNlck9uSGVhZGVyQ2VsbCIsIm9uSGVhZGVyQ2VsbCIsImNvbCIsInVzZXJBdHRycyIsIm9uRmlsdGVyQ2hhbmdlIiwibmV4dCIsImN1cnJlbnQiLCJfZGVmaW5lUHJvcGVydHkiLCJsZW5ndGgiLCJzb3J0T3JkZXIiLCJvblNvcnRDbGljayIsImN1cnJlbnRTb3J0ZXIiLCJTUEFDRVJfQ09MVU1OX0NMUyIsIm1ha2VTcGFjZXJUcmFuc2Zvcm0iLCJtYWtlUmVuZGVyVHJhbnNmb3JtIiwidmFsdWUiLCJ1c2VUYWJsZUNvbHVtbnMiLCJ2YXJpYW50IiwiYmFzZVVzZXJDb2x1bW5zIiwiY29scyIsInByZWZpeENvbHVtbnMiLCJzaG93RXhwYW5kQ29sdW1uIiwic2VsZWN0aW9uVHJhbnNmb3JtIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxRQUFRLG1CQUFtQjtBQ0EvQyxTQUFTQyxPQUFPLFFBQWtCLE9BQU87QUFDekMsU0FBU0MsZ0JBQWdCLEVBQUVDLHNCQUFzQixRQUFRLDZCQUE2QjtBQUN0RixTQUFTQyxhQUFhLFFBQVEsMkJBQTJCO0FBQ3pELFNBQVNDLFVBQVUsUUFBUSx5QkFBeUI7QUFDcEQsU0FBU0MsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxT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TyxLQUFLLFFBQVEsRUFBRTtNQUN4QkUsSUFBSSxHQUFHTixtQkFBbUIsQ0FBQSxDQUFLLENBQUNNLElBQUksQ0FBQztJQUN2QztJQUNBLE9BQU9BLElBQXlDO0VBQ2xELENBQUMsRUFBRSxDQUFDQyxhQUFhLEVBQUVGLGVBQWUsRUFBRUQsT0FBTyxDQUFDLENBQUM7QUFDL0MiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlQ29sdW1ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQ29udHJvbCwgU2VsZWN0aW9uSGVhZGVyQ29udHJvbCB9IGZyb20gJy4uL2ZlYXR1cmVzL1NlbGVjdGlvbkNvbHVtbic7XG5pbXBvcnQgeyBFeHBhbmRUcmlnZ2VyIH0gZnJvbSAnLi4vZmVhdHVyZXMvRXhwYW5kVHJpZ2dlcic7XG5pbXBvcnQgeyBIZWFkZXJDZWxsIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0hlYWRlckNlbGwnO1xuaW1wb3J0IHsgQm9keUNlbGwgfSBmcm9tICcuLi9yZW5kZXJlcnMvQm9keUNlbGwnO1xuaW1wb3J0IHsgVEFCTEVfREVGQVVMVF9QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgaXNDb2x1bW5Hcm91cCB9IGZyb20gJy4vY29sdW1uVXRpbCc7XG5mdW5jdGlvbiBtYWtlRXhwYW5kVHJhbnNmb3JtKGNvbmZpZykge1xuICAgIGNvbnN0IHsgZXhwYW5kYWJsZSwgbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCB0cmlnZ2VyRXhwYW5kLCBnZXRSb3dLZXkgfSA9IGNvbmZpZztcbiAgICBjb25zdCBjdXN0b21FeHBhbmRJY29uID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZEljb247XG4gICAgY29uc3Qgcm93RXhwYW5kYWJsZSA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlO1xuICAgIC8vIE8oMSkgcGVyLXJvdyBleHBhbnNpb24gbG9va3VwIOKAlCBgLmluY2x1ZGVzYCBoZXJlIHJhbiBvbmNlIHBlciByZW5kZXJlZCByb3cuXG4gICAgY29uc3QgZXhwYW5kZWRLZXlTZXQgPSBuZXcgU2V0KG1lcmdlZEV4cGFuZGVkUm93S2V5cyk7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6ICdfX2V4cGFuZF9fJyxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IEVYUEFORF9DT0xVTU5fQ0xTLFxuICAgICAgICAgICAgICAgIC8vIEhvbm9yIGBleHBhbmRhYmxlLmNvbHVtbldpZHRoYCAvIGBjb2x1bW5UaXRsZWAgLyBgZml4ZWRgO1xuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgdG8gYSBmaXhlZCAxNnB4IGNvbHVtbiAoY2hldnJvbi1vbmx5LCBwYWRkaW5nOiAwKS5cbiAgICAgICAgICAgICAgICB3aWR0aDogKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAxNixcbiAgICAgICAgICAgICAgICB0aXRsZTogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtblRpdGxlLFxuICAgICAgICAgICAgICAgIGZpeGVkOiAoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkKSA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICA/ICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICA6IChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZml4ZWQpID09PSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkLFxuICAgICAgICAgICAgICAgIHJlbmRlcjogKF8sIHJlY29yZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSG9ub3IgYHJvd0V4cGFuZGFibGVgOiB3aGVuIHRoZSBwcmVkaWNhdGUgZGVuaWVzIGEgcmVjb3JkLCByZW5kZXIgbm9cbiAgICAgICAgICAgICAgICAgICAgLy8gY2hldnJvbiBhdCBhbGwgKHRoZSByb3cgaXMgbm9uLWV4cGFuZGFibGUpLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5FeHBhbmQgPSByb3dFeHBhbmRhYmxlID8gcm93RXhwYW5kYWJsZShyZWNvcmQpIDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjYW5FeHBhbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleHBhbmRlZCA9IGV4cGFuZGVkS2V5U2V0LmhhcyhyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3VzdG9tRXhwYW5kSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1c3RvbUV4cGFuZEljb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeENsczogVEFCTEVfREVGQVVMVF9QUkVGSVgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FeHBhbmQ6IChyZWMsIGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckV4cGFuZChnZXRSb3dLZXkocmVjLCBpbmRleCksIHJlYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRUcmlnZ2VyLCB7IGV4cGFuZGVkOiBleHBhbmRlZCwgcmVjb3JkS2V5OiByZWNvcmRLZXksIHJlY29yZDogcmVjb3JkLCBvblRvZ2dsZTogdHJpZ2dlckV4cGFuZCB9KSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICBdO1xuICAgIH07XG59XG5mdW5jdGlvbiBtYWtlU2VsZWN0aW9uVHJhbnNmb3JtKGNvbmZpZykge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IHJvd1NlbGVjdGlvbiwgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCBjaGVja2JveFByb3BzTWFwLCBpc0FsbFNlbGVjdGVkLCBpc0luZGV0ZXJtaW5hdGUsIHRyaWdnZXJTZWxlY3Rpb24sIHRyaWdnZXJTZWxlY3RBbGwsIGdldFJvd0tleSwgfSA9IGNvbmZpZztcbiAgICBpZiAoIXJvd1NlbGVjdGlvbilcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgY29uc3Qgc2VsZWN0aW9uVHlwZSA9IChfYSA9IHJvd1NlbGVjdGlvbi50eXBlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnY2hlY2tib3gnO1xuICAgIC8vIE8oMSkgcGVyLXJvdyBzZWxlY3Rpb24gbG9va3VwIOKAlCBgLmluY2x1ZGVzYCBoZXJlIHJhbiBvbmNlIHBlciByZW5kZXJlZCByb3cuXG4gICAgY29uc3Qgc2VsZWN0ZWRLZXlTZXQgPSBuZXcgU2V0KG1lcmdlZFNlbGVjdGVkUm93S2V5cyk7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IGtleTogJ19fc2VsZWN0aW9uX18nLCBjbGFzc05hbWU6IFNFTEVDVElPTl9DT0xVTU5fQ0xTLCB3aWR0aDogKF9hID0gcm93U2VsZWN0aW9uLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAxNiwgZml4ZWQ6IHJvd1NlbGVjdGlvbi5maXhlZCA/ICdsZWZ0JyA6IHVuZGVmaW5lZCB9LCAoc2VsZWN0aW9uVHlwZSA9PT0gJ2NoZWNrYm94J1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJIZWFkZXI6ICgpID0+IChfanN4KFNlbGVjdGlvbkhlYWRlckNvbnRyb2wsIHsgY2hlY2tlZDogaXNBbGxTZWxlY3RlZCwgaW5kZXRlcm1pbmF0ZTogaXNJbmRldGVybWluYXRlLCBvbkNoYW5nZTogdHJpZ2dlclNlbGVjdEFsbCB9KSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDoge30pKSwgeyByZW5kZXI6IChfLCByZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEtleSA9IGdldFJvd0tleShyZWNvcmQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93UHJvcHMgPSBjaGVja2JveFByb3BzTWFwLmdldChyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goU2VsZWN0aW9uQ29udHJvbCwgeyB0eXBlOiBzZWxlY3Rpb25UeXBlLCBjaGVja2VkOiBzZWxlY3RlZEtleVNldC5oYXMocmVjb3JkS2V5KSwgcm93UHJvcHM6IHJvd1Byb3BzLCByZWNvcmRLZXk6IHJlY29yZEtleSwgb25DaGFuZ2U6IHRyaWdnZXJTZWxlY3Rpb24gfSkpO1xuICAgICAgICAgICAgICAgIH0gfSksXG4gICAgICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICBdO1xuICAgIH07XG59XG5mdW5jdGlvbiBhcmlhU29ydEZvcihvcmRlcikge1xuICAgIGlmIChvcmRlciA9PT0gJ2FzY2VuZCcpXG4gICAgICAgIHJldHVybiAnYXNjZW5kaW5nJztcbiAgICBpZiAob3JkZXIgPT09ICdkZXNjZW5kJylcbiAgICAgICAgcmV0dXJuICdkZXNjZW5kaW5nJztcbiAgICByZXR1cm4gJ25vbmUnO1xufVxuLy8gU3RhYmxlIGVtcHR5LWZpbHRlciByZWZlcmVuY2UuIFdpdGhvdXQgdGhpcywgYGZpbHRlcnNba2V5XSA/PyBbXWAgY3JlYXRlcyBhXG4vLyBmcmVzaCBgW11gIG9uIGV2ZXJ5IHJlbmRlciwgd2hpY2ggdGhyYXNoZXMgYEZpbHRlclRyaWdnZXJgJ3Ncbi8vIGB1c2VFZmZlY3QoW3NlbGVjdGVkS2V5c10pYCBhbmQgY2F1c2VzIGFuIGluZmluaXRlIHNldFN0YXRlIGxvb3AgYWZ0ZXJcbi8vIGNvbmZpcm0gLyByZXNldC5cbmNvbnN0IEVNUFRZX0ZJTFRFUl9WQUxVRSA9IFtdO1xuZnVuY3Rpb24gbWFrZUhlYWRlclRyYW5zZm9ybShjb25maWcpIHtcbiAgICBjb25zdCB7IHNvcnRlciwgc2V0U29ydGVyLCBmaWx0ZXJzLCBzZXRGaWx0ZXJzIH0gPSBjb25maWc7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICBjb25zdCBpc1NvcnRhYmxlID0gQm9vbGVhbihjb2x1bW4uc29ydGVyKTtcbiAgICAgICAgY29uc3QgYWN0aXZlT3JkZXIgPSBzb3J0ZXIuY29sdW1uS2V5ID09PSBjb2x1bW4ua2V5ID8gKF9hID0gc29ydGVyLm9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsIDogbnVsbDtcbiAgICAgICAgY29uc3QgY29sdW1uS2V5ID0gY29sdW1uLmtleSAhPSBudWxsID8gU3RyaW5nKGNvbHVtbi5rZXkpIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBmaWx0ZXJTZWxlY3RlZCA9IGNvbHVtbktleSAhPSBudWxsID8gKChfYiA9IGZpbHRlcnNbY29sdW1uS2V5XSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogRU1QVFlfRklMVEVSX1ZBTFVFKSA6IEVNUFRZX0ZJTFRFUl9WQUxVRTtcbiAgICAgICAgLy8gQ29tcG9zZSBvbkhlYWRlckNlbGwgc28gd2UgZG9uJ3QgY2xvYmJlciB1c2VyLXByb3ZpZGVkIGF0dHJpYnV0ZXMuXG4gICAgICAgIGNvbnN0IHVzZXJPbkhlYWRlckNlbGwgPSBjb2x1bW4ub25IZWFkZXJDZWxsO1xuICAgICAgICBjb25zdCBvbkhlYWRlckNlbGwgPSAoY29sLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgdXNlckF0dHJzID0gKF9hID0gdXNlck9uSGVhZGVyQ2VsbCA9PT0gbnVsbCB8fCB1c2VyT25IZWFkZXJDZWxsID09PSB2b2lkIDAgPyB2b2lkIDAgOiB1c2VyT25IZWFkZXJDZWxsKGNvbCwgaW5kZXgpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB7fTtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHVzZXJBdHRycyksIChpc1NvcnRhYmxlID8geyAnYXJpYS1zb3J0JzogYXJpYVNvcnRGb3IoYWN0aXZlT3JkZXIpIH0gOiBudWxsKSk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9uRmlsdGVyQ2hhbmdlID0gKG5leHQpID0+IHtcbiAgICAgICAgICAgIGlmIChjb2x1bW5LZXkgPT0gbnVsbClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBzZXRGaWx0ZXJzKChjdXJyZW50KSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjdXJyZW50KSwgeyBbY29sdW1uS2V5XTogbmV4dC5sZW5ndGggPyBuZXh0IDogbnVsbCB9KSkpO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IG9uSGVhZGVyQ2VsbCwgdGl0bGU6IGNvbHVtbi5yZW5kZXJIZWFkZXJcbiAgICAgICAgICAgICAgICA/IGNvbHVtbi5yZW5kZXJIZWFkZXIoeyBjb2x1bW4gfSlcbiAgICAgICAgICAgICAgICA6IChfanN4KEhlYWRlckNlbGwsIHsgY29sdW1uOiBjb2x1bW4sIHNvcnRPcmRlcjogYWN0aXZlT3JkZXIsIG9uU29ydENsaWNrOiAoKSA9PiBzZXRTb3J0ZXIoKGN1cnJlbnRTb3J0ZXIpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5LZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogY3VycmVudFNvcnRlci5jb2x1bW5LZXkgIT09IGNvbHVtbi5rZXkgfHwgY3VycmVudFNvcnRlci5vcmRlciA9PT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2FzY2VuZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGN1cnJlbnRTb3J0ZXIub3JkZXIgPT09ICdhc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2Rlc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgfSkpLCBmaWx0ZXJTZWxlY3RlZDogZmlsdGVyU2VsZWN0ZWQsIG9uRmlsdGVyQ2hhbmdlOiBvbkZpbHRlckNoYW5nZSB9KSkgfSk7XG4gICAgfSk7XG59XG5jb25zdCBTUEFDRVJfQ09MVU1OX0NMUyA9ICdvbS1jb21wb25lbnQtdWktdGFibGUtY2VsbC0tc3BhY2VyJztcbmNvbnN0IEVYUEFORF9DT0xVTU5fQ0xTID0gJ29tLWNvbXBvbmVudC11aS10YWJsZS1jZWxsLS1leHBhbmQnO1xuY29uc3QgU0VMRUNUSU9OX0NPTFVNTl9DTFMgPSAnb20tY29tcG9uZW50LXVpLXRhYmxlLWNlbGwtLXNlbGVjdGlvbic7XG5mdW5jdGlvbiBtYWtlU3BhY2VyVHJhbnNmb3JtKCkge1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gW1xuICAgICAgICB7IGtleTogJ19fc3BhY2VyX3N0YXJ0X18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIHsga2V5OiAnX19zcGFjZXJfZW5kX18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgXTtcbn1cbmZ1bmN0aW9uIG1ha2VSZW5kZXJUcmFuc2Zvcm0oKSB7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IFxuICAgICAgICAgICAgLy8gQm9keUNlbGwgaXMgaW50ZW50aW9uYWxseSBDQUxMRUQgYXMgYSBmdW5jdGlvbiwgbm90IHJlbmRlcmVkIGFzXG4gICAgICAgICAgICAvLyBgPEJvZHlDZWxsIC8+YC4gVGhlIGtlcm5lbCdzIGByZW5kZXJgIGNvbnRyYWN0IGFsbG93cyByZXR1cm5pbmcgZWl0aGVyXG4gICAgICAgICAgICAvLyBhIFJlYWN0Tm9kZSBvciBhIGB7IGNoaWxkcmVuLCBwcm9wcyB9YCBjZWxsLXNwYW5uaW5nIGRlc2NyaXB0b3IsIGFuZFxuICAgICAgICAgICAgLy8gQm9keUNlbGwgZm9yd2FyZHMgdGhhdCBkZXNjcmlwdG9yIHRocm91Z2ggZm9yIGNvbFNwYW4gLyByb3dTcGFuIHN1cHBvcnQuXG4gICAgICAgICAgICAvLyBXcmFwcGluZyBpdCBpbiBKU1ggd291bGQgY29sbGFwc2UgdGhlIGRlc2NyaXB0b3IgaW50byBhbiBlbGVtZW50IGFuZFxuICAgICAgICAgICAgLy8gYnJlYWsgY2VsbCBtZXJnaW5nIOKAlCBkbyBub3QgXCJmaXhcIiB0aGlzIGludG8gYW4gZWxlbWVudC5cbiAgICAgICAgICAgIHJlbmRlcjogKHZhbHVlLCByZWNvcmQsIGluZGV4KSA9PiBCb2R5Q2VsbCh7XG4gICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIH0pIH0pO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIGNvbHVtbnMgcmVhZHkgdG8gYmUgcGFzc2VkIHRvIHRoZSB0YWJsZSBrZXJuZWwuXG4gKlxuICogVGhlIHJldHVybmVkIHNoYXBlIElTIHN0cnVjdHVyYWxseSB0aGUga2VybmVsJ3MgYENvbHVtbnNUeXBlPFQ+YDpcbiAqICAgLSBFdmVyeSBsZWFmIGNvbHVtbidzIGByZW5kZXJgIGlzIHJlcGxhY2VkIGJ5IGBtYWtlUmVuZGVyVHJhbnNmb3JtYCwgd2hpY2hcbiAqICAgICBhbHdheXMgcmV0dXJucyBhIGBSZWFjdE5vZGVgIChCb2R5Q2VsbCBoYW5kbGVzIGBUYWJsZUNlbGxDb250ZW50VmFsdWVgIC9cbiAqICAgICBgVGFibGVSZW5kZXJlZENlbGxgIGV4dHJhcyBhbmQgZW1pdHMgUmVhY3ROb2RlL1JlbmRlcmVkQ2VsbCkuXG4gKiAgIC0gRXZlcnkgbGVhZiBjb2x1bW4ncyBgdGl0bGVgIGlzIGVpdGhlciBhIFJlYWN0Tm9kZSBvciByZXBsYWNlZCBieVxuICogICAgIGA8SGVhZGVyQ2VsbCAvPmAuXG4gKiBCZWNhdXNlIFRTIGNhbid0IHRyYWNrIHRoYXQgdGhvc2UgcmVwbGFjZW1lbnRzIGhhdmUgaGFwcGVuZWQgYWNyb3NzIHRoZVxuICogYHRyYW5zZm9ybXMucmVkdWNlYCBjaGFpbiwgYSBzaW5nbGUgaW50ZXJuYWwgY2FzdCBpcyByZXF1aXJlZCDigJQgY2FsbCBzaXRlcyBub1xuICogbG9uZ2VyIG5lZWQgdGhlaXIgb3duIGBhcyB1bmtub3duIGFzIEludGVybmFsQ29sdW1uc1R5cGU8VD5gIGNhc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VUYWJsZUNvbHVtbnMoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb2x1bW5zLCB2YXJpYW50LCBleHBhbmRhYmxlLCByb3dTZWxlY3Rpb24sIG1lcmdlZEV4cGFuZGVkUm93S2V5cywgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCBjaGVja2JveFByb3BzTWFwLCBpc0FsbFNlbGVjdGVkLCBpc0luZGV0ZXJtaW5hdGUsIHRyaWdnZXJFeHBhbmQsIHRyaWdnZXJTZWxlY3Rpb24sIHRyaWdnZXJTZWxlY3RBbGwsIHNvcnRlciwgc2V0U29ydGVyLCBmaWx0ZXJzLCBzZXRGaWx0ZXJzLCBnZXRSb3dLZXksIH0gPSBjb25maWc7XG4gICAgLy8gVGhlIHVzZXIncyBkYXRhIGNvbHVtbnMgb25seSBkZXBlbmQgb24gdGhlIGhlYWRlciAvIHJlbmRlciBpbnB1dHNcbiAgICAvLyAoc29ydCwgZmlsdGVyKSDigJQgTk9UIG9uIHNlbGVjdGlvbiBvciBleHBhbnNpb24gc3RhdGUuIE1lbW9pc2luZyB0aGVtXG4gICAgLy8gb24gdGhlaXIgb3duIG1lYW5zIHRvZ2dsaW5nIGEgY2hlY2tib3ggb3IgY2hldnJvbiBubyBsb25nZXIgcmVidWlsZHMgYW5kXG4gICAgLy8gcmUtd3JhcHMgdGhlIHJlbmRlciBjbG9zdXJlIG9mICpldmVyeSogZGF0YSBjb2x1bW47IG9ubHkgdGhlIHNtYWxsXG4gICAgLy8gc2VsZWN0aW9uL2V4cGFuZCBwcmVmaXggYmVsb3cgaXMgcmVidWlsdC4gYG1ha2VIZWFkZXJUcmFuc2Zvcm1gIGFuZFxuICAgIC8vIGBtYWtlUmVuZGVyVHJhbnNmb3JtYCBhcmUgcGVyLWNvbHVtbiBpbmRlcGVuZGVudCBtYXBzLCBzbyBhcHBseWluZyB0aGVtIHRvXG4gICAgLy8gdGhlIHVzZXIgY29sdW1ucyBhbmQgdGhlIHByZWZpeCBzZXBhcmF0ZWx5IGFuZCBjb25jYXRlbmF0aW5nIGlzIGVxdWl2YWxlbnRcbiAgICAvLyB0byB0aGUgb3JpZ2luYWwgc2luZ2xlIHJlZHVjZS1jaGFpbi5cbiAgICAvL1xuICAgIC8vIERlcC1saXN0IG5vdGU6IHRoZSB0cmFuc2Zvcm0gZmFjdG9yaWVzIGNhcHR1cmUgdGhlIHdob2xlIGBjb25maWdgLCBidXRcbiAgICAvLyBldmVyeSBjYWxsYmFjayBpbiBpdCAoYHNldFNvcnRlcmAsIGB0cmlnZ2VyRXhwYW5kYCwgYGdldFJvd0tleWAsIOKApikgaXMgYVxuICAgIC8vIHN0YWJsZSBgdXNlTWVtb2l6ZWRGbmAsIHNvIGxpc3RpbmcgdGhlIGdlbnVpbmUgdmFsdWUgaW5wdXRzIGlzIHN1ZmZpY2llbnRcbiAgICAvLyBhbmQgaW50ZW50aW9uYWwuIEtlZXAgdGhlIGxpc3RzIGluIHN5bmMgd2hlbiBhZGRpbmcgaW5wdXRzLlxuICAgIGNvbnN0IGJhc2VVc2VyQ29sdW1ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBsZXQgY29scyA9IG1ha2VIZWFkZXJUcmFuc2Zvcm0oY29uZmlnKShjb2x1bW5zKTtcbiAgICAgICAgY29scyA9IG1ha2VSZW5kZXJUcmFuc2Zvcm0oKShjb2xzKTtcbiAgICAgICAgcmV0dXJuIGNvbHM7XG4gICAgfSwgW2NvbHVtbnMsIHNvcnRlciwgZmlsdGVycywgc2V0U29ydGVyLCBzZXRGaWx0ZXJzXSk7XG4gICAgLy8gVGhlIHNlbGVjdGlvbiAvIGV4cGFuZCBwcmVmaXggY2FycmllcyBsaXZlIHNlbGVjdGVkL2V4cGFuZGVkIHN0YXRlIGluIGl0c1xuICAgIC8vIHJlbmRlciBvdXRwdXQsIHdoaWNoIGlzIHRoZSBzaWduYWwgdGhhdCByZS1yZW5kZXJzIHRoZSBhZmZlY3RlZCByb3dzIOKAlCBzbyBpdFxuICAgIC8vIG11c3QgcmVidWlsZCBvbiBldmVyeSB0b2dnbGUuIEl0IGlzIGF0IG1vc3QgdHdvIGNvbHVtbnMsIHNvIHRoaXMgaXMgY2hlYXAuXG4gICAgY29uc3QgcHJlZml4Q29sdW1ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBsZXQgY29scyA9IFtdO1xuICAgICAgICBpZiAoZXhwYW5kYWJsZSAmJiBleHBhbmRhYmxlLnNob3dFeHBhbmRDb2x1bW4gIT09IGZhbHNlKSB7XG4gICAgICAgICAgICBjb2xzID0gbWFrZUV4cGFuZFRyYW5zZm9ybShjb25maWcpKGNvbHMpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblRyYW5zZm9ybSA9IHJvd1NlbGVjdGlvbiA/IG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSA6IG51bGw7XG4gICAgICAgIGlmIChzZWxlY3Rpb25UcmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIGNvbHMgPSBzZWxlY3Rpb25UcmFuc2Zvcm0oY29scyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUnVuIHRoZSBwcmVmaXggdGhyb3VnaCB0aGUgc2FtZSBoZWFkZXIvcmVuZGVyIG1hcHMgdGhlIHVzZXIgY29sdW1ucyBnZXQgc29cbiAgICAgICAgLy8gdGhlIGZpbmFsIGFycmF5IGlzIGJ5dGUtZm9yLWJ5dGUgdGhlIG9yaWdpbmFsIHNpbmdsZS1waXBlbGluZSBvdXRwdXQuXG4gICAgICAgIGNvbHMgPSBtYWtlSGVhZGVyVHJhbnNmb3JtKGNvbmZpZykoY29scyk7XG4gICAgICAgIGNvbHMgPSBtYWtlUmVuZGVyVHJhbnNmb3JtKCkoY29scyk7XG4gICAgICAgIHJldHVybiBjb2xzO1xuICAgIH0sIFtcbiAgICAgICAgZXhwYW5kYWJsZSxcbiAgICAgICAgcm93U2VsZWN0aW9uLFxuICAgICAgICBtZXJnZWRFeHBhbmRlZFJvd0tleXMsXG4gICAgICAgIG1lcmdlZFNlbGVjdGVkUm93S2V5cyxcbiAgICAgICAgY2hlY2tib3hQcm9wc01hcCxcbiAgICAgICAgaXNBbGxTZWxlY3RlZCxcbiAgICAgICAgaXNJbmRldGVybWluYXRlLFxuICAgICAgICB0cmlnZ2VyRXhwYW5kLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0aW9uLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0QWxsLFxuICAgICAgICBzb3J0ZXIsXG4gICAgICAgIHNldFNvcnRlcixcbiAgICAgICAgZmlsdGVycyxcbiAgICAgICAgc2V0RmlsdGVycyxcbiAgICAgICAgZ2V0Um93S2V5LFxuICAgIF0pO1xuICAgIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgbGV0IGNvbHMgPSBbLi4ucHJlZml4Q29sdW1ucywgLi4uYmFzZVVzZXJDb2x1bW5zXTtcbiAgICAgICAgaWYgKHZhcmlhbnQgPT09ICdzdHJva2UnKSB7XG4gICAgICAgICAgICBjb2xzID0gbWFrZVNwYWNlclRyYW5zZm9ybSgpKGNvbHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb2xzO1xuICAgIH0sIFtwcmVmaXhDb2x1bW5zLCBiYXNlVXNlckNvbHVtbnMsIHZhcmlhbnRdKTtcbn0iLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
285
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUNvbHVtbnMuanMiLCJjb21wb25lbnRzL1RhYmxlL3NyYy9jb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwidXNlTWVtbyIsIlNlbGVjdGlvbkNvbnRyb2wiLCJTZWxlY3Rpb25IZWFkZXJDb250cm9sIiwiRXhwYW5kVHJpZ2dlciIsIkhlYWRlckNlbGwiLCJCb2R5Q2VsbCIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwiaXNDb2x1bW5Hcm91cCIsIm1ha2VFeHBhbmRUcmFuc2Zvcm0iLCJjb25maWciLCJleHBhbmRhYmxlIiwibWVyZ2VkRXhwYW5kZWRSb3dLZXlzIiwidHJpZ2dlckV4cGFuZCIsImdldFJvd0tleSIsImN1c3RvbUV4cGFuZEljb24iLCJleHBhbmRJY29uIiwicm93RXhwYW5kYWJsZSIsImV4cGFuZGVkS2V5U2V0IiwiU2V0IiwiY29sdW1ucyIsIl9hIiwia2V5IiwiY2xhc3NOYW1lIiwiRVhQQU5EX0NPTFVNTl9DTFMiLCJ3aWR0aCIsImNvbHVtbldpZHRoIiwidGl0bGUiLCJjb2x1bW5UaXRsZSIsImZpeGVkIiwidW5kZWZpbmVkIiwicmVuZGVyIiwiXyIsInJlY29yZCIsImluZGV4IiwiY2FuRXhwYW5kIiwicmVjb3JkS2V5IiwiZXhwYW5kZWQiLCJoYXMiLCJwcmVmaXhDbHMiLCJvbkV4cGFuZCIsInJlYyIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJvblRvZ2dsZSIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsIm1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0iLCJyb3dTZWxlY3Rpb24iLCJtZXJnZWRTZWxlY3RlZFJvd0tleXMiLCJjaGVja2JveFByb3BzTWFwIiwiaXNBbGxTZWxlY3RlZCIsImlzSW5kZXRlcm1pbmF0ZSIsInRyaWdnZXJTZWxlY3Rpb24iLCJ0cmlnZ2VyU2VsZWN0QWxsIiwic2VsZWN0aW9uVHlwZSIsInR5cGUiLCJzZWxlY3RlZEtleVNldCIsIk9iamVjdCIsImFzc2lnbiIsIlNFTEVDVElPTl9DT0xVTU5fQ0xTIiwicmVuZGVySGVhZGVyIiwiY2hlY2tlZCIsImluZGV0ZXJtaW5hdGUiLCJvbkNoYW5nZSIsInJvd1Byb3BzIiwiZ2V0IiwiYXJpYVNvcnRGb3IiLCJvcmRlciIsIkVNUFRZX0ZJTFRFUl9WQUxVRSIsIm1ha2VIZWFkZXJUcmFuc2Zvcm0iLCJzb3J0ZXIiLCJzZXRTb3J0ZXIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsIm1hcCIsImNvbHVtbiIsIl9iIiwiaXNTb3J0YWJsZSIsIkJvb2xlYW4iLCJhY3RpdmVPcmRlciIsImNvbHVtbktleSIsIlN0cmluZyIsImZpbHRlclNlbGVjdGVkIiwidXNlck9uSGVhZGVyQ2VsbCIsIm9uSGVhZGVyQ2VsbCIsImNvbCIsInVzZXJBdHRycyIsIm9uRmlsdGVyQ2hhbmdlIiwibmV4dCIsImN1cnJlbnQiLCJfZGVmaW5lUHJvcGVydHkiLCJsZW5ndGgiLCJzb3J0T3JkZXIiLCJvblNvcnRDbGljayIsImN1cnJlbnRTb3J0ZXIiLCJTUEFDRVJfQ09MVU1OX0NMUyIsIm1ha2VTcGFjZXJUcmFuc2Zvcm0iLCJtYWtlUmVuZGVyVHJhbnNmb3JtIiwidmFsdWUiLCJ1c2VUYWJsZUNvbHVtbnMiLCJ2YXJpYW50IiwiYmFzZVVzZXJDb2x1bW5zIiwiY29scyIsInByZWZpeENvbHVtbnMiLCJzaG93RXhwYW5kQ29sdW1uIiwic2VsZWN0aW9uVHJhbnNmb3JtIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxRQUFRLG1CQUFtQjtBQ0EvQyxTQUFTQyxPQUFPLFFBQWtCLE9BQU87QUFDekMsU0FBU0MsZ0JBQWdCLEVBQUVDLHNCQUFzQixRQUFRLDZCQUE2QjtBQUN0RixTQUFTQyxhQUFhLFFBQVEsMkJBQTJCO0FBQ3pELFNBQVNDLFVBQVUsUUFBUSx5QkFBeUI7QUFDcEQsU0FBU0MsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxT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TyxLQUFLLFFBQVEsRUFBRTtNQUN4QkUsSUFBSSxHQUFHTixtQkFBbUIsQ0FBQSxDQUFLLENBQUNNLElBQUksQ0FBQztJQUN2QztJQUNBLE9BQU9BLElBQXlDO0VBQ2xELENBQUMsRUFBRSxDQUFDQyxhQUFhLEVBQUVGLGVBQWUsRUFBRUQsT0FBTyxDQUFDLENBQUM7QUFDL0MiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlQ29sdW1ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQ29udHJvbCwgU2VsZWN0aW9uSGVhZGVyQ29udHJvbCB9IGZyb20gJy4uL2ZlYXR1cmVzL1NlbGVjdGlvbkNvbHVtbic7XG5pbXBvcnQgeyBFeHBhbmRUcmlnZ2VyIH0gZnJvbSAnLi4vZmVhdHVyZXMvRXhwYW5kVHJpZ2dlcic7XG5pbXBvcnQgeyBIZWFkZXJDZWxsIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0hlYWRlckNlbGwnO1xuaW1wb3J0IHsgQm9keUNlbGwgfSBmcm9tICcuLi9yZW5kZXJlcnMvQm9keUNlbGwnO1xuaW1wb3J0IHsgVEFCTEVfREVGQVVMVF9QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgaXNDb2x1bW5Hcm91cCB9IGZyb20gJy4vY29sdW1uVXRpbCc7XG5mdW5jdGlvbiBtYWtlRXhwYW5kVHJhbnNmb3JtKGNvbmZpZykge1xuICAgIGNvbnN0IHsgZXhwYW5kYWJsZSwgbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCB0cmlnZ2VyRXhwYW5kLCBnZXRSb3dLZXkgfSA9IGNvbmZpZztcbiAgICBjb25zdCBjdXN0b21FeHBhbmRJY29uID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZEljb247XG4gICAgY29uc3Qgcm93RXhwYW5kYWJsZSA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlO1xuICAgIC8vIE8oMSkgcGVyLXJvdyBleHBhbnNpb24gbG9va3VwIOKAlCBgLmluY2x1ZGVzYCBoZXJlIHJhbiBvbmNlIHBlciByZW5kZXJlZCByb3cuXG4gICAgY29uc3QgZXhwYW5kZWRLZXlTZXQgPSBuZXcgU2V0KG1lcmdlZEV4cGFuZGVkUm93S2V5cyk7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6ICdfX2V4cGFuZF9fJyxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IEVYUEFORF9DT0xVTU5fQ0xTLFxuICAgICAgICAgICAgICAgIC8vIEhvbm9yIGBleHBhbmRhYmxlLmNvbHVtbldpZHRoYCAvIGBjb2x1bW5UaXRsZWAgLyBgZml4ZWRgO1xuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgdG8gYSBmaXhlZCAxNnB4IGNvbHVtbiAoY2hldnJvbi1vbmx5LCBwYWRkaW5nOiAwKS5cbiAgICAgICAgICAgICAgICB3aWR0aDogKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAxNixcbiAgICAgICAgICAgICAgICB0aXRsZTogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtblRpdGxlLFxuICAgICAgICAgICAgICAgIGZpeGVkOiAoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkKSA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICA/ICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICA6IChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZml4ZWQpID09PSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkLFxuICAgICAgICAgICAgICAgIHJlbmRlcjogKF8sIHJlY29yZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSG9ub3IgYHJvd0V4cGFuZGFibGVgOiB3aGVuIHRoZSBwcmVkaWNhdGUgZGVuaWVzIGEgcmVjb3JkLCByZW5kZXIgbm9cbiAgICAgICAgICAgICAgICAgICAgLy8gY2hldnJvbiBhdCBhbGwgKHRoZSByb3cgaXMgbm9uLWV4cGFuZGFibGUpLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5FeHBhbmQgPSByb3dFeHBhbmRhYmxlID8gcm93RXhwYW5kYWJsZShyZWNvcmQpIDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjYW5FeHBhbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleHBhbmRlZCA9IGV4cGFuZGVkS2V5U2V0LmhhcyhyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3VzdG9tRXhwYW5kSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1c3RvbUV4cGFuZEljb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeENsczogVEFCTEVfREVGQVVMVF9QUkVGSVgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FeHBhbmQ6IChyZWMsIGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckV4cGFuZChnZXRSb3dLZXkocmVjLCBpbmRleCksIHJlYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRUcmlnZ2VyLCB7IGV4cGFuZGVkOiBleHBhbmRlZCwgcmVjb3JkS2V5OiByZWNvcmRLZXksIHJlY29yZDogcmVjb3JkLCBvblRvZ2dsZTogdHJpZ2dlckV4cGFuZCB9KSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICBdO1xuICAgIH07XG59XG5mdW5jdGlvbiBtYWtlU2VsZWN0aW9uVHJhbnNmb3JtKGNvbmZpZykge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IHJvd1NlbGVjdGlvbiwgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCBjaGVja2JveFByb3BzTWFwLCBpc0FsbFNlbGVjdGVkLCBpc0luZGV0ZXJtaW5hdGUsIHRyaWdnZXJTZWxlY3Rpb24sIHRyaWdnZXJTZWxlY3RBbGwsIGdldFJvd0tleSwgfSA9IGNvbmZpZztcbiAgICBpZiAoIXJvd1NlbGVjdGlvbilcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgY29uc3Qgc2VsZWN0aW9uVHlwZSA9IChfYSA9IHJvd1NlbGVjdGlvbi50eXBlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnY2hlY2tib3gnO1xuICAgIC8vIE8oMSkgcGVyLXJvdyBzZWxlY3Rpb24gbG9va3VwIOKAlCBgLmluY2x1ZGVzYCBoZXJlIHJhbiBvbmNlIHBlciByZW5kZXJlZCByb3cuXG4gICAgY29uc3Qgc2VsZWN0ZWRLZXlTZXQgPSBuZXcgU2V0KG1lcmdlZFNlbGVjdGVkUm93S2V5cyk7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IGtleTogJ19fc2VsZWN0aW9uX18nLCBjbGFzc05hbWU6IFNFTEVDVElPTl9DT0xVTU5fQ0xTLCB3aWR0aDogKF9hID0gcm93U2VsZWN0aW9uLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAxNiwgZml4ZWQ6IHJvd1NlbGVjdGlvbi5maXhlZCA/ICdsZWZ0JyA6IHVuZGVmaW5lZCB9LCAoc2VsZWN0aW9uVHlwZSA9PT0gJ2NoZWNrYm94J1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJIZWFkZXI6ICgpID0+IChfanN4KFNlbGVjdGlvbkhlYWRlckNvbnRyb2wsIHsgY2hlY2tlZDogaXNBbGxTZWxlY3RlZCwgaW5kZXRlcm1pbmF0ZTogaXNJbmRldGVybWluYXRlLCBvbkNoYW5nZTogdHJpZ2dlclNlbGVjdEFsbCB9KSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDoge30pKSwgeyByZW5kZXI6IChfLCByZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEtleSA9IGdldFJvd0tleShyZWNvcmQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93UHJvcHMgPSBjaGVja2JveFByb3BzTWFwLmdldChyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goU2VsZWN0aW9uQ29udHJvbCwgeyB0eXBlOiBzZWxlY3Rpb25UeXBlLCBjaGVja2VkOiBzZWxlY3RlZEtleVNldC5oYXMocmVjb3JkS2V5KSwgcm93UHJvcHM6IHJvd1Byb3BzLCByZWNvcmRLZXk6IHJlY29yZEtleSwgb25DaGFuZ2U6IHRyaWdnZXJTZWxlY3Rpb24gfSkpO1xuICAgICAgICAgICAgICAgIH0gfSksXG4gICAgICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICBdO1xuICAgIH07XG59XG5mdW5jdGlvbiBhcmlhU29ydEZvcihvcmRlcikge1xuICAgIGlmIChvcmRlciA9PT0gJ2FzY2VuZCcpXG4gICAgICAgIHJldHVybiAnYXNjZW5kaW5nJztcbiAgICBpZiAob3JkZXIgPT09ICdkZXNjZW5kJylcbiAgICAgICAgcmV0dXJuICdkZXNjZW5kaW5nJztcbiAgICByZXR1cm4gJ25vbmUnO1xufVxuLy8gU3RhYmxlIGVtcHR5LWZpbHRlciByZWZlcmVuY2UuIFdpdGhvdXQgdGhpcywgYGZpbHRlcnNba2V5XSA/PyBbXWAgY3JlYXRlcyBhXG4vLyBmcmVzaCBgW11gIG9uIGV2ZXJ5IHJlbmRlciwgd2hpY2ggdGhyYXNoZXMgYEZpbHRlclRyaWdnZXJgJ3Ncbi8vIGB1c2VFZmZlY3QoW3NlbGVjdGVkS2V5c10pYCBhbmQgY2F1c2VzIGFuIGluZmluaXRlIHNldFN0YXRlIGxvb3AgYWZ0ZXJcbi8vIGNvbmZpcm0gLyByZXNldC5cbmNvbnN0IEVNUFRZX0ZJTFRFUl9WQUxVRSA9IFtdO1xuZnVuY3Rpb24gbWFrZUhlYWRlclRyYW5zZm9ybShjb25maWcpIHtcbiAgICBjb25zdCB7IHNvcnRlciwgc2V0U29ydGVyLCBmaWx0ZXJzLCBzZXRGaWx0ZXJzIH0gPSBjb25maWc7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICBjb25zdCBpc1NvcnRhYmxlID0gQm9vbGVhbihjb2x1bW4uc29ydGVyKTtcbiAgICAgICAgY29uc3QgYWN0aXZlT3JkZXIgPSBzb3J0ZXIuY29sdW1uS2V5ID09PSBjb2x1bW4ua2V5ID8gKF9hID0gc29ydGVyLm9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsIDogbnVsbDtcbiAgICAgICAgY29uc3QgY29sdW1uS2V5ID0gY29sdW1uLmtleSAhPSBudWxsID8gU3RyaW5nKGNvbHVtbi5rZXkpIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBmaWx0ZXJTZWxlY3RlZCA9IGNvbHVtbktleSAhPSBudWxsID8gKChfYiA9IGZpbHRlcnNbY29sdW1uS2V5XSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogRU1QVFlfRklMVEVSX1ZBTFVFKSA6IEVNUFRZX0ZJTFRFUl9WQUxVRTtcbiAgICAgICAgLy8gQ29tcG9zZSBvbkhlYWRlckNlbGwgc28gd2UgZG9uJ3QgY2xvYmJlciB1c2VyLXByb3ZpZGVkIGF0dHJpYnV0ZXMuXG4gICAgICAgIGNvbnN0IHVzZXJPbkhlYWRlckNlbGwgPSBjb2x1bW4ub25IZWFkZXJDZWxsO1xuICAgICAgICBjb25zdCBvbkhlYWRlckNlbGwgPSAoY29sLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgdXNlckF0dHJzID0gKF9hID0gdXNlck9uSGVhZGVyQ2VsbCA9PT0gbnVsbCB8fCB1c2VyT25IZWFkZXJDZWxsID09PSB2b2lkIDAgPyB2b2lkIDAgOiB1c2VyT25IZWFkZXJDZWxsKGNvbCwgaW5kZXgpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB7fTtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHVzZXJBdHRycyksIChpc1NvcnRhYmxlID8geyAnYXJpYS1zb3J0JzogYXJpYVNvcnRGb3IoYWN0aXZlT3JkZXIpIH0gOiBudWxsKSk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9uRmlsdGVyQ2hhbmdlID0gKG5leHQpID0+IHtcbiAgICAgICAgICAgIGlmIChjb2x1bW5LZXkgPT0gbnVsbClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBzZXRGaWx0ZXJzKChjdXJyZW50KSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjdXJyZW50KSwgeyBbY29sdW1uS2V5XTogbmV4dC5sZW5ndGggPyBuZXh0IDogbnVsbCB9KSkpO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IG9uSGVhZGVyQ2VsbCwgdGl0bGU6IGNvbHVtbi5yZW5kZXJIZWFkZXJcbiAgICAgICAgICAgICAgICA/IGNvbHVtbi5yZW5kZXJIZWFkZXIoeyBjb2x1bW4gfSlcbiAgICAgICAgICAgICAgICA6IChfanN4KEhlYWRlckNlbGwsIHsgY29sdW1uOiBjb2x1bW4sIHNvcnRPcmRlcjogYWN0aXZlT3JkZXIsIG9uU29ydENsaWNrOiAoKSA9PiBzZXRTb3J0ZXIoKGN1cnJlbnRTb3J0ZXIpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5LZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogY3VycmVudFNvcnRlci5jb2x1bW5LZXkgIT09IGNvbHVtbi5rZXkgfHwgY3VycmVudFNvcnRlci5vcmRlciA9PT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2FzY2VuZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGN1cnJlbnRTb3J0ZXIub3JkZXIgPT09ICdhc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2Rlc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgfSkpLCBmaWx0ZXJTZWxlY3RlZDogZmlsdGVyU2VsZWN0ZWQsIG9uRmlsdGVyQ2hhbmdlOiBvbkZpbHRlckNoYW5nZSB9KSkgfSk7XG4gICAgfSk7XG59XG5jb25zdCBTUEFDRVJfQ09MVU1OX0NMUyA9ICdvbS1jb21wb25lbnQtdWktdGFibGUtY2VsbC0tc3BhY2VyJztcbmNvbnN0IEVYUEFORF9DT0xVTU5fQ0xTID0gJ29tLWNvbXBvbmVudC11aS10YWJsZS1jZWxsLS1leHBhbmQnO1xuY29uc3QgU0VMRUNUSU9OX0NPTFVNTl9DTFMgPSAnb20tY29tcG9uZW50LXVpLXRhYmxlLWNlbGwtLXNlbGVjdGlvbic7XG5mdW5jdGlvbiBtYWtlU3BhY2VyVHJhbnNmb3JtKCkge1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gW1xuICAgICAgICB7IGtleTogJ19fc3BhY2VyX3N0YXJ0X18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIHsga2V5OiAnX19zcGFjZXJfZW5kX18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgXTtcbn1cbmZ1bmN0aW9uIG1ha2VSZW5kZXJUcmFuc2Zvcm0oKSB7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IFxuICAgICAgICAgICAgLy8gQm9keUNlbGwgaXMgaW50ZW50aW9uYWxseSBDQUxMRUQgYXMgYSBmdW5jdGlvbiwgbm90IHJlbmRlcmVkIGFzXG4gICAgICAgICAgICAvLyBgPEJvZHlDZWxsIC8+YC4gVGhlIGtlcm5lbCdzIGByZW5kZXJgIGNvbnRyYWN0IGFsbG93cyByZXR1cm5pbmcgZWl0aGVyXG4gICAgICAgICAgICAvLyBhIFJlYWN0Tm9kZSBvciBhIGB7IGNoaWxkcmVuLCBwcm9wcyB9YCBjZWxsLXNwYW5uaW5nIGRlc2NyaXB0b3IsIGFuZFxuICAgICAgICAgICAgLy8gQm9keUNlbGwgZm9yd2FyZHMgdGhhdCBkZXNjcmlwdG9yIHRocm91Z2ggZm9yIGNvbFNwYW4gLyByb3dTcGFuIHN1cHBvcnQuXG4gICAgICAgICAgICAvLyBXcmFwcGluZyBpdCBpbiBKU1ggd291bGQgY29sbGFwc2UgdGhlIGRlc2NyaXB0b3IgaW50byBhbiBlbGVtZW50IGFuZFxuICAgICAgICAgICAgLy8gYnJlYWsgY2VsbCBtZXJnaW5nIOKAlCBkbyBub3QgXCJmaXhcIiB0aGlzIGludG8gYW4gZWxlbWVudC5cbiAgICAgICAgICAgIHJlbmRlcjogKHZhbHVlLCByZWNvcmQsIGluZGV4KSA9PiBCb2R5Q2VsbCh7XG4gICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIH0pIH0pO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIGNvbHVtbnMgcmVhZHkgdG8gYmUgcGFzc2VkIHRvIHRoZSB0YWJsZSBrZXJuZWwuXG4gKlxuICogVGhlIHJldHVybmVkIHNoYXBlIElTIHN0cnVjdHVyYWxseSB0aGUga2VybmVsJ3MgYENvbHVtbnNUeXBlPFQ+YDpcbiAqICAgLSBFdmVyeSBsZWFmIGNvbHVtbidzIGByZW5kZXJgIGlzIHJlcGxhY2VkIGJ5IGBtYWtlUmVuZGVyVHJhbnNmb3JtYCwgd2hpY2hcbiAqICAgICBhbHdheXMgcmV0dXJucyBhIGBSZWFjdE5vZGVgIChCb2R5Q2VsbCBoYW5kbGVzIGBUYWJsZUNlbGxDb250ZW50VmFsdWVgIC9cbiAqICAgICBgVGFibGVSZW5kZXJlZENlbGxgIGV4dHJhcyBhbmQgZW1pdHMgUmVhY3ROb2RlL1JlbmRlcmVkQ2VsbCkuXG4gKiAgIC0gRXZlcnkgbGVhZiBjb2x1bW4ncyBgdGl0bGVgIGlzIGVpdGhlciBhIFJlYWN0Tm9kZSBvciByZXBsYWNlZCBieVxuICogICAgIGA8SGVhZGVyQ2VsbCAvPmAuXG4gKiBCZWNhdXNlIFRTIGNhbid0IHRyYWNrIHRoYXQgdGhvc2UgcmVwbGFjZW1lbnRzIGhhdmUgaGFwcGVuZWQgYWNyb3NzIHRoZVxuICogYHRyYW5zZm9ybXMucmVkdWNlYCBjaGFpbiwgYSBzaW5nbGUgaW50ZXJuYWwgY2FzdCBpcyByZXF1aXJlZCDigJQgY2FsbCBzaXRlcyBub1xuICogbG9uZ2VyIG5lZWQgdGhlaXIgb3duIGBhcyB1bmtub3duIGFzIEludGVybmFsQ29sdW1uc1R5cGU8VD5gIGNhc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VUYWJsZUNvbHVtbnMoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb2x1bW5zLCB2YXJpYW50LCBleHBhbmRhYmxlLCByb3dTZWxlY3Rpb24sIG1lcmdlZEV4cGFuZGVkUm93S2V5cywgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCBjaGVja2JveFByb3BzTWFwLCBpc0FsbFNlbGVjdGVkLCBpc0luZGV0ZXJtaW5hdGUsIHRyaWdnZXJFeHBhbmQsIHRyaWdnZXJTZWxlY3Rpb24sIHRyaWdnZXJTZWxlY3RBbGwsIHNvcnRlciwgc2V0U29ydGVyLCBmaWx0ZXJzLCBzZXRGaWx0ZXJzLCBnZXRSb3dLZXksIH0gPSBjb25maWc7XG4gICAgLy8gVGhlIHVzZXIncyBkYXRhIGNvbHVtbnMgb25seSBkZXBlbmQgb24gdGhlIGhlYWRlciAvIHJlbmRlciBpbnB1dHNcbiAgICAvLyAoc29ydCwgZmlsdGVyKSDigJQgTk9UIG9uIHNlbGVjdGlvbiBvciBleHBhbnNpb24gc3RhdGUuIE1lbW9pc2luZyB0aGVtXG4gICAgLy8gb24gdGhlaXIgb3duIG1lYW5zIHRvZ2dsaW5nIGEgY2hlY2tib3ggb3IgY2hldnJvbiBubyBsb25nZXIgcmVidWlsZHMgYW5kXG4gICAgLy8gcmUtd3JhcHMgdGhlIHJlbmRlciBjbG9zdXJlIG9mICpldmVyeSogZGF0YSBjb2x1bW47IG9ubHkgdGhlIHNtYWxsXG4gICAgLy8gc2VsZWN0aW9uL2V4cGFuZCBwcmVmaXggYmVsb3cgaXMgcmVidWlsdC4gYG1ha2VIZWFkZXJUcmFuc2Zvcm1gIGFuZFxuICAgIC8vIGBtYWtlUmVuZGVyVHJhbnNmb3JtYCBhcmUgcGVyLWNvbHVtbiBpbmRlcGVuZGVudCBtYXBzLCBzbyBhcHBseWluZyB0aGVtIHRvXG4gICAgLy8gdGhlIHVzZXIgY29sdW1ucyBhbmQgdGhlIHByZWZpeCBzZXBhcmF0ZWx5IGFuZCBjb25jYXRlbmF0aW5nIGlzIGVxdWl2YWxlbnRcbiAgICAvLyB0byB0aGUgb3JpZ2luYWwgc2luZ2xlIHJlZHVjZS1jaGFpbi5cbiAgICAvL1xuICAgIC8vIERlcC1saXN0IG5vdGU6IHRoZSB0cmFuc2Zvcm0gZmFjdG9yaWVzIGNhcHR1cmUgdGhlIHdob2xlIGBjb25maWdgLCBidXRcbiAgICAvLyBldmVyeSBjYWxsYmFjayBpbiBpdCAoYHNldFNvcnRlcmAsIGB0cmlnZ2VyRXhwYW5kYCwgYGdldFJvd0tleWAsIOKApikgaXMgYVxuICAgIC8vIHN0YWJsZSBgdXNlTWVtb2l6ZWRGbmAsIHNvIGxpc3RpbmcgdGhlIGdlbnVpbmUgdmFsdWUgaW5wdXRzIGlzIHN1ZmZpY2llbnRcbiAgICAvLyBhbmQgaW50ZW50aW9uYWwuIEtlZXAgdGhlIGxpc3RzIGluIHN5bmMgd2hlbiBhZGRpbmcgaW5wdXRzLlxuICAgIGNvbnN0IGJhc2VVc2VyQ29sdW1ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBsZXQgY29scyA9IG1ha2VIZWFkZXJUcmFuc2Zvcm0oY29uZmlnKShjb2x1bW5zKTtcbiAgICAgICAgY29scyA9IG1ha2VSZW5kZXJUcmFuc2Zvcm0oKShjb2xzKTtcbiAgICAgICAgcmV0dXJuIGNvbHM7XG4gICAgfSwgW2NvbHVtbnMsIHNvcnRlciwgZmlsdGVycywgc2V0U29ydGVyLCBzZXRGaWx0ZXJzXSk7XG4gICAgLy8gVGhlIHNlbGVjdGlvbiAvIGV4cGFuZCBwcmVmaXggY2FycmllcyBsaXZlIHNlbGVjdGVkL2V4cGFuZGVkIHN0YXRlIGluIGl0c1xuICAgIC8vIHJlbmRlciBvdXRwdXQsIHdoaWNoIGlzIHRoZSBzaWduYWwgdGhhdCByZS1yZW5kZXJzIHRoZSBhZmZlY3RlZCByb3dzIOKAlCBzbyBpdFxuICAgIC8vIG11c3QgcmVidWlsZCBvbiBldmVyeSB0b2dnbGUuIEl0IGlzIGF0IG1vc3QgdHdvIGNvbHVtbnMsIHNvIHRoaXMgaXMgY2hlYXAuXG4gICAgY29uc3QgcHJlZml4Q29sdW1ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBsZXQgY29scyA9IFtdO1xuICAgICAgICBpZiAoZXhwYW5kYWJsZSAmJiBleHBhbmRhYmxlLnNob3dFeHBhbmRDb2x1bW4gIT09IGZhbHNlKSB7XG4gICAgICAgICAgICBjb2xzID0gbWFrZUV4cGFuZFRyYW5zZm9ybShjb25maWcpKGNvbHMpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblRyYW5zZm9ybSA9IHJvd1NlbGVjdGlvbiA/IG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSA6IG51bGw7XG4gICAgICAgIGlmIChzZWxlY3Rpb25UcmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIGNvbHMgPSBzZWxlY3Rpb25UcmFuc2Zvcm0oY29scyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUnVuIHRoZSBwcmVmaXggdGhyb3VnaCB0aGUgc2FtZSBoZWFkZXIvcmVuZGVyIG1hcHMgdGhlIHVzZXIgY29sdW1ucyBnZXQgc29cbiAgICAgICAgLy8gdGhlIGZpbmFsIGFycmF5IGlzIGJ5dGUtZm9yLWJ5dGUgdGhlIG9yaWdpbmFsIHNpbmdsZS1waXBlbGluZSBvdXRwdXQuXG4gICAgICAgIGNvbHMgPSBtYWtlSGVhZGVyVHJhbnNmb3JtKGNvbmZpZykoY29scyk7XG4gICAgICAgIGNvbHMgPSBtYWtlUmVuZGVyVHJhbnNmb3JtKCkoY29scyk7XG4gICAgICAgIHJldHVybiBjb2xzO1xuICAgIH0sIFtcbiAgICAgICAgZXhwYW5kYWJsZSxcbiAgICAgICAgcm93U2VsZWN0aW9uLFxuICAgICAgICBtZXJnZWRFeHBhbmRlZFJvd0tleXMsXG4gICAgICAgIG1lcmdlZFNlbGVjdGVkUm93S2V5cyxcbiAgICAgICAgY2hlY2tib3hQcm9wc01hcCxcbiAgICAgICAgaXNBbGxTZWxlY3RlZCxcbiAgICAgICAgaXNJbmRldGVybWluYXRlLFxuICAgICAgICB0cmlnZ2VyRXhwYW5kLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0aW9uLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0QWxsLFxuICAgICAgICBzb3J0ZXIsXG4gICAgICAgIHNldFNvcnRlcixcbiAgICAgICAgZmlsdGVycyxcbiAgICAgICAgc2V0RmlsdGVycyxcbiAgICAgICAgZ2V0Um93S2V5LFxuICAgIF0pO1xuICAgIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgbGV0IGNvbHMgPSBbLi4ucHJlZml4Q29sdW1ucywgLi4uYmFzZVVzZXJDb2x1bW5zXTtcbiAgICAgICAgaWYgKHZhcmlhbnQgPT09ICdzdHJva2UnKSB7XG4gICAgICAgICAgICBjb2xzID0gbWFrZVNwYWNlclRyYW5zZm9ybSgpKGNvbHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb2xzO1xuICAgIH0sIFtwcmVmaXhDb2x1bW5zLCBiYXNlVXNlckNvbHVtbnMsIHZhcmlhbnRdKTtcbn0iLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -418,4 +418,4 @@ export var useTableDataPipeline = function useTableDataPipeline(_ref3) {
|
|
|
418
418
|
setPagination: wrappedSetPagination
|
|
419
419
|
});
|
|
420
420
|
};
|
|
421
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZURhdGFQaXBlbGluZS50cyIsImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZURhdGFQaXBlbGluZS5qcyJdLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidXNlTWVtb2l6ZWRGbiIsImZsYXR0ZW5Db2x1bW5zIiwiZ2V0U29ydEZ1bmN0aW9uIiwic29ydGVyIiwiX3R5cGVvZiIsImNvbXBhcmUiLCJnZXRNdWx0aXBsZVByaW9yaXR5IiwiY29sdW1uIiwibXVsdGlwbGUiLCJhcHBseVNvcnRUb0RhdGEiLCJkYXRhIiwiY29sdW1ucyIsInNvcnRlclN0YXRlcyIsImxlbmd0aCIsInNvcnRlZCIsIl90b0NvbnN1bWFibGVBcnJheSIsInJ1bm5pbmdTb3J0ZXJzIiwibWFwIiwic3RhdGUiLCJmaW5kIiwiY29sIiwia2V5IiwiY29sdW1uS2V5IiwiY29tcGFyZUZuIiwicHJpb3JpdHkiLCJvcmRlciIsImZpbHRlciIsIkJvb2xlYW4iLCJzb3J0IiwiYSIsImIiLCJhcCIsImJwIiwicmVjb3JkMSIsInJlY29yZDIiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJ2YWx1ZSIsInJlc3VsdCIsImVyciIsImUiLCJmIiwiYXBwbHlGaWx0ZXJzVG9EYXRhIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlcnMiLCJzZWxlY3RlZCIsIlN0cmluZyIsIm9uRmlsdGVyIiwicmVjb3JkIiwiZXZlcnkiLCJfcmVmIiwic29tZSIsImFwcGx5VGFibGVQaXBlbGluZSIsIl9yZWYyIiwiZGF0YVNvdXJjZSIsIl9yZWYyJGZpbHRlcnMiLCJwYWdpbmF0aW9uIiwibGVhZkNvbHVtbnMiLCJmaWx0ZXJlZCIsImN1cnJlbnREYXRhU291cmNlIiwidG90YWwiLCJzdGFydCIsImN1cnJlbnQiLCJwYWdlU2l6ZSIsImVuZCIsInNsaWNlIiwiY29sbGVjdFNvcnRlclN0YXRlcyIsImxlYXZlcyIsIl9hIiwic3RhdGVzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInNvcnRPcmRlciIsImRlZmF1bHRTb3J0T3JkZXIiLCJwdXNoIiwiZ2V0SW5pdGlhbFNvcnRlciIsImdldENvbnRyb2xsZWRTb3J0ZXIiLCJjb250cm9sbGVkQ29sdW1uIiwidW5kZWZpbmVkIiwiZ2V0SW5pdGlhbEZpbHRlcnMiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiaW5pdGlhbCIsImRlZmF1bHRGaWx0ZXJlZFZhbHVlIiwiZmlsdGVyZWRWYWx1ZSIsImdldENvbnRyb2xsZWRGaWx0ZXJzIiwiaGFzQ29udHJvbGxlZCIsIl9pdGVyYXRvcjQiLCJfc3RlcDQiLCJ1c2VTdGFibGVSZWYiLCJlcXVhbCIsInJlZiIsInNvcnRlckVxdWFsIiwiZmlsdGVyVmFsdWVFcXVhbCIsImkiLCJmaWx0ZXJzRXF1YWwiLCJrZXlzQSIsIk9iamVjdCIsImtleXMiLCJrZXlzQiIsIl9pIiwiX2tleXNBIiwidXNlVGFibGVEYXRhUGlwZWxpbmUiLCJfcmVmMyIsIm9uQ2hhbmdlIiwiX2IiLCJfYyIsIl9kIiwiY29udHJvbGxlZFNvcnRlciIsImNvbnRyb2xsZWRGaWx0ZXJzIiwiaW5pdGlhbFNvcnRlciIsImluaXRpYWxGaWx0ZXJzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZXRTb3J0ZXIiLCJfdXNlQ29udHJvbGxlZFN0YXRlMyIsIl91c2VDb250cm9sbGVkU3RhdGU0Iiwic2V0RmlsdGVycyIsIl91c2VDb250cm9sbGVkU3RhdGU1IiwiZGVmYXVsdEN1cnJlbnQiLCJfdXNlQ29udHJvbGxlZFN0YXRlNiIsInNldEN1cnJlbnQiLCJfdXNlQ29udHJvbGxlZFN0YXRlNyIsImRlZmF1bHRQYWdlU2l6ZSIsIl91c2VDb250cm9sbGVkU3RhdGU4Iiwic2V0UGFnZVNpemUiLCJwYWdpbmF0aW9uRW5hYmxlZCIsIm1lcmdlZFBhZ2luYXRpb24iLCJwcmltYXJ5IiwiYWRkaXRpb25hbCIsImNvbmNhdCIsImVtaXRDaGFuZ2UiLCJuZXh0RGF0YVNvdXJjZSIsImFjdGlvbiIsIm5leHRTdGF0ZSIsIndyYXBwZWRTZXRTb3J0ZXIiLCJ1cGRhdGVyIiwibmV4dFNvcnRlciIsInJlc2V0UGFnaW5hdGlvbiIsIm5leHRSZXN1bHQiLCJ3cmFwcGVkU2V0RmlsdGVycyIsIm5leHRGaWx0ZXJzIiwid3JhcHBlZFNldFBhZ2luYXRpb24iLCJjdXJyZW50VmFsdWUiLCJuZXh0VmFsdWUiLCJhc3NpZ24iLCJzZXRQYWdpbmF0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxTQUFTQSxPQUFPLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3ZDLE9BQU9DLGtCQUFrQixNQUFNLGtDQUFrQztBQUNqRSxPQUFPQyxhQUFhLE1BQU0sNkJBQTZCO0FBRXZELFNBQVNDLGNBQWMsUUFBUSxjQUFjO0FBb0U3QyxTQUFTQyxlQUFlQSxDQUN0QkMsTUFBZ0MsRUFBQTtFQUVoQyxJQUFJLE9BQU9BLE1BQU0sS0FBSyxVQUFVLEVBQUUsT0FBT0EsTUFBTTtFQUMvQyxJQUFJQSxNQUFNLElBQUlDLE9BQUEsQ0FBT0QsTUFBTSxNQUFLLFFBQVEsSUFBSSxTQUFTLElBQUlBLE1BQU0sRUFBRSxPQUFPQSxNQUFNLENBQUNFLE9BQU87RUFDdEYsT0FBTyxLQUFLO0FBQ2Q7QUFFQSxTQUFTQyxtQkFBbUJBLENBQXdCQyxNQUFzQixFQUFBO0VBQ3hFLElBQUlBLE1BQU0sQ0FBQ0osTUFBTSxJQUFJQyxPQUFBLENBQU9HLE1BQU0sQ0FBQ0osTUFBTSxNQUFLLFFBQVEsSUFBSSxVQUFVLElBQUlJLE1BQU0sQ0FBQ0osTUFBTSxFQUFFO0lBQ3JGLE9BQVFJLE1BQU0sQ0FBQ0osTUFBcUMsQ0FBQ0ssUUFBUTtFQUMvRDtFQUNBLE9BQU8sS0FBSztBQUNkO0FBRUEsU0FBU0MsZUFBZUEsQ0FDdEJDLElBQVMsRUFDVEMsT0FBeUIsRUFDekJDLFlBQXFDLEVBQUE7RUFFckMsSUFBSUEsWUFBWSxDQUFDQyxNQUFNLEtBQUssQ0FBQyxFQUFFLE9BQU9ILElBQUk7RUFFMUMsSUFBTUksTUFBTSxHQUFBQyxrQkFBQSxDQUFPTCxJQUFJLENBQUM7RUFFeEIsSUFBTU0sY0FBYyxHQUFHSixZQUFZLENBQ2hDSyxHQUFHLENBQUMsVUFBQ0MsS0FBSyxFQUFJO0lBQ2IsSUFBTVgsTUFBTSxHQUFHSSxPQUFPLENBQUNRLElBQUksQ0FBQyxVQUFDQyxHQUFHO01BQUEsT0FBS0EsR0FBRyxDQUFDQyxHQUFHLEtBQUtILEtBQUssQ0FBQ0ksU0FBUztJQUFBLEVBQUM7SUFDakUsSUFBSSxDQUFDZixNQUFNLEVBQUUsT0FBTyxJQUFJO0lBQ3hCLElBQU1nQixTQUFTLEdBQUdyQixlQUFlLENBQUNLLE1BQU0sQ0FBQ0osTUFBTSxDQUFDO0lBQ2hELElBQUksQ0FBQ29CLFNBQVMsRUFBRSxPQUFPLElBQUk7SUFDM0IsSUFBTUMsUUFBUSxHQUFHbEIsbUJBQW1CLENBQUNDLE1BQU0sQ0FBQztJQUM1QyxPQUFPO01BQUVnQixTQUFTLEVBQVRBLFNBQVM7TUFBRUUsS0FBSyxFQUFFUCxLQUFLLENBQUNPLEtBQUs7TUFBRUQsUUFBUSxFQUFSQTtJQUFRLENBQUU7RUFDcEQsQ0FBQyxDQUFDLENBQ0RFLE1BQU0sQ0FBQ0MsT0FBTyxDQUFtRztFQUVwSCxJQUFJWCxjQUFjLENBQUNILE1BQU0sS0FBSyxDQUFDLEVBQUUsT0FBT0gsSUFBSTtFQUU1QztFQUNBTSxjQUFjLENBQUNZLElBQUksQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUMsRUFBSTtJQUMzQixJQUFNQyxFQUFFLEdBQUcsT0FBT0YsQ0FBQyxDQUFDTCxRQUFRLEtBQUssUUFBUSxHQUFHSyxDQUFDLENBQUNMLFFBQVEsR0FBRyxDQUFDO0lBQzFELElBQU1RLEVBQUUsR0FBRyxPQUFPRixDQUFDLENBQUNOLFFBQVEsS0FBSyxRQUFRLEdBQUdNLENBQUMsQ0FBQ04sUUFBUSxHQUFHLENBQUM7SUFDMUQsT0FBT1EsRUFBRSxHQUFHRCxFQUFFO0VBQ2hCLENBQUMsQ0FBQztFQUVGakIsTUFBTSxDQUFDYyxJQUFJLENBQUMsVUFBQ0ssT0FBTyxFQUFFQyxPQUFPLEVBQUk7SUFBQSxJQUFBQyxTQUFBLEdBQUFDLDBCQUFBLENBQ0lwQixjQUFjO01BQUFxQixLQUFBO0lBQUE7TUFBakQsS0FBQUYsU0FBQSxDQUFBRyxDQUFBLE1BQUFELEtBQUEsR0FBQUYsU0FBQSxDQUFBSSxDQUFBLElBQUFDLElBQUEsR0FBbUQ7UUFBQSxJQUFBQyxXQUFBLEdBQUFKLEtBQUEsQ0FBQUssS0FBQTtVQUF0Q25CLFNBQVMsR0FBQWtCLFdBQUEsQ0FBVGxCLFNBQVM7VUFBRUUsS0FBSyxHQUFBZ0IsV0FBQSxDQUFMaEIsS0FBSztRQUMzQixJQUFNa0IsTUFBTSxHQUFHcEIsU0FBUyxDQUFDVSxPQUFPLEVBQUVDLE9BQU8sQ0FBQztRQUMxQyxJQUFJUyxNQUFNLEtBQUssQ0FBQyxFQUFFO1VBQ2hCLE9BQU9sQixLQUFLLEtBQUssUUFBUSxHQUFHa0IsTUFBTSxHQUFHLENBQUNBLE1BQU07UUFDOUM7TUFDRjtJQUFDLFNBQUFDLEdBQUE7TUFBQVQsU0FBQSxDQUFBVSxDQUFBLENBQUFELEdBQUE7SUFBQTtNQUFBVCxTQUFBLENBQUFXLENBQUE7SUFBQTtJQUNELE9BQU8sQ0FBQztFQUNWLENBQUMsQ0FBQztFQUVGLE9BQU9oQyxNQUFNO0FBQ2Y7QUFFQSxTQUFTaUMsa0JBQWtCQSxDQUN6QnJDLElBQVMsRUFDVEMsT0FBeUIsRUFDekJxQyxPQUF5QixFQUFBO0VBRXpCO0VBQ0EsSUFBTUMsYUFBYSxHQUFHdEMsT0FBTyxDQUMxQk0sR0FBRyxDQUFDLFVBQUNHLEdBQUcsRUFBSTtJQUNYLElBQUlBLEdBQUcsQ0FBQ0MsR0FBRyxJQUFJLElBQUksRUFBRSxPQUFPLElBQUk7SUFDaEMsSUFBTTZCLFFBQVEsR0FBR0YsT0FBTyxDQUFDRyxNQUFNLENBQUMvQixHQUFHLENBQUNDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLElBQUksQ0FBQzZCLFFBQVEsSUFBSUEsUUFBUSxDQUFDckMsTUFBTSxLQUFLLENBQUMsRUFBRSxPQUFPLElBQUk7SUFDbkQsSUFBSSxDQUFDTyxHQUFHLENBQUNnQyxRQUFRLEVBQUUsT0FBTyxJQUFJO0lBQzlCLE9BQU87TUFBRUEsUUFBUSxFQUFFaEMsR0FBRyxDQUFDZ0MsUUFBUTtNQUFFRixRQUFRLEVBQVJBO0lBQVEsQ0FBRTtFQUM3QyxDQUFDLENBQUMsQ0FDRHhCLE1BQU0sQ0FBQ0MsT0FBTyxDQUF3RjtFQUV6RyxJQUFJc0IsYUFBYSxDQUFDcEMsTUFBTSxLQUFLLENBQUMsRUFBRSxPQUFPSCxJQUFJO0VBRTNDLE9BQU9BLElBQUksQ0FBQ2dCLE1BQU0sQ0FBQyxVQUFDMkIsTUFBTTtJQUFBO01BQ3hCO01BQ0FKLGFBQWEsQ0FBQ0ssS0FBSyxDQUFDLFVBQUFDLElBQUE7UUFBQSxJQUFHSCxRQUFRLEdBQUFHLElBQUEsQ0FBUkgsUUFBUTtVQUFFRixRQUFRLEdBQUFLLElBQUEsQ0FBUkwsUUFBUTtRQUFBLE9BQ3ZDQSxRQUFRLENBQUNNLElBQUksQ0FBQyxVQUFDZCxLQUFLO1VBQUEsT0FBS1UsUUFBUSxDQUFDVixLQUFLLEVBQUVXLE1BQU0sQ0FBQztRQUFBLEVBQUM7TUFBQTtJQUNsRDtFQUFBLEVBQ0Y7QUFDSDtBQUVBLE9BQU8sSUFBTUksa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQUMsS0FBQSxFQU1FO0VBQUEsSUFML0IvQyxPQUFPLEdBQUErQyxLQUFBLENBQVAvQyxPQUFPO0lBQ1BnRCxVQUFVLEdBQUFELEtBQUEsQ0FBVkMsVUFBVTtJQUNWeEQsTUFBTSxHQUFBdUQsS0FBQSxDQUFOdkQsTUFBTTtJQUFBeUQsYUFBQSxHQUFBRixLQUFBLENBQ05WLE9BQU87SUFBUEEsT0FBTyxHQUFBWSxhQUFBLGNBQUcsQ0FBQSxDQUFFLEdBQUFBLGFBQUE7SUFDWkMsVUFBVSxHQUFBSCxLQUFBLENBQVZHLFVBQVU7RUFFVixJQUFNakQsWUFBWSxHQUNoQlQsTUFBTSxDQUFDbUIsU0FBUyxJQUFJLElBQUksSUFBSW5CLE1BQU0sQ0FBQ3NCLEtBQUssR0FDcEMsQ0FBQztJQUFFSCxTQUFTLEVBQUVuQixNQUFNLENBQUNtQixTQUFTO0lBQUVHLEtBQUssRUFBRXRCLE1BQU0sQ0FBQ3NCO0VBQUssQ0FBRSxDQUFDLEdBQ3RELEVBQUU7RUFFUixJQUFNcUMsV0FBVyxHQUFHN0QsY0FBYyxDQUFDVSxPQUFPLENBQUM7RUFDM0MsSUFBTW9ELFFBQVEsR0FBR2hCLGtCQUFrQixDQUFDWSxVQUFVLEVBQUVHLFdBQVcsRUFBRWQsT0FBTyxDQUFDO0VBQ3JFLElBQU1sQyxNQUFNLEdBQUdMLGVBQWUsQ0FBQ3NELFFBQVEsRUFBRUQsV0FBVyxFQUFFbEQsWUFBWSxDQUFDO0VBRW5FLElBQUksQ0FBQ2lELFVBQVUsRUFBRTtJQUNmLE9BQU87TUFBRUcsaUJBQWlCLEVBQUVsRCxNQUFNO01BQUVtRCxLQUFLLEVBQUVuRCxNQUFNLENBQUNEO0lBQU0sQ0FBRTtFQUM1RDtFQUVBLElBQU1xRCxLQUFLLEdBQUcsQ0FBQ0wsVUFBVSxDQUFDTSxPQUFPLEdBQUcsQ0FBQyxJQUFJTixVQUFVLENBQUNPLFFBQVE7RUFDNUQsSUFBTUMsR0FBRyxHQUFHSCxLQUFLLEdBQUdMLFVBQVUsQ0FBQ08sUUFBUTtFQUV2QyxPQUFPO0lBQ0xKLGlCQUFpQixFQUFFbEQsTUFBTSxDQUFDd0QsS0FBSyxDQUFDSixLQUFLLEVBQUVHLEdBQUcsQ0FBQztJQUMzQ0osS0FBSyxFQUFFbkQsTUFBTSxDQUFDRDtFQzdGZCxDRDhGRDtBQUNILENBQUM7QUFFRCxTQUFTMEQsbUJBQW1CQSxDQUMxQkMsTUFBd0IsRUFBQTtFQy9GdEIsSUFBSUMsRUFBRTtFRGlHUixJQUFNQyxNQUFNLEdBQTRCLEVBQUU7RUFBQyxJQUFBQyxVQUFBLEdBQUF2QywwQkFBQSxDQUN6Qm9DLE1BQU07SUFBQUksTUFBQTtFQUFBO0lBQXhCLEtBQUFELFVBQUEsQ0FBQXJDLENBQUEsTUFBQXNDLE1BQUEsR0FBQUQsVUFBQSxDQUFBcEMsQ0FBQSxJQUFBQyxJQUFBLEdBQTBCO01BQUEsSUFBZnBCLEdBQUcsR0FBQXdELE1BQUEsQ0FBQWxDLEtBQUE7TUFDWixJQUFNakIsS0FBSyxHQUFHLENBQUFnRCxFQUFBLEdBQUFyRCxHQUFHLENBQUN5RCxTQUFTLE1BQUEsSUFBQSxJQUFBSixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSXJELEdBQUcsQ0FBQzBELGdCQUFnQjtNQUNuRCxJQUFJMUQsR0FBRyxDQUFDQyxHQUFHLElBQUksSUFBSSxJQUFJSSxLQUFLLEVBQUU7UUFDNUJpRCxNQUFNLENBQUNLLElBQUksQ0FBQztVQUFFekQsU0FBUyxFQUFFRixHQUFHLENBQUNDLEdBQUc7VUFBRUksS0FBSyxFQUFMQTtRQUFLLENBQUUsQ0FBQztNQUM1QztJQUNGO0VBQUMsU0FBQW1CLEdBQUE7SUFBQStCLFVBQUEsQ0FBQTlCLENBQUEsQ0FBQUQsR0FBQTtFQUFBO0lBQUErQixVQUFBLENBQUE3QixDQUFBO0VBQUE7RUFDRCxPQUFPNEIsTUFBTTtBQUNmO0FBRUEsSUFBTU0sZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FDcEJSLE1BQXdCLEVBQ0o7RUFDcEIsSUFBTUUsTUFBTSxHQUFHSCxtQkFBbUIsQ0FBQ0MsTUFBTSxDQUFDO0VBQzFDLElBQUlFLE1BQU0sQ0FBQzdELE1BQU0sS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFBLENBQUU7RUFDbEMsT0FBTztJQUFFUyxTQUFTLEVBQUVvRCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUNwRCxTQUFTO0lBQUVHLEtBQUssRUFBRWlELE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQ2pEO0VBQUssQ0FBRTtBQUNuRSxDQUFDO0FBRUQsSUFBTXdELG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQ3ZCVCxNQUF3QixFQUNRO0VDcEc5QixJQUFJQyxFQUFFO0VEcUdSLElBQU1TLGdCQUFnQixHQUFHVixNQUFNLENBQUNyRCxJQUFJLENBQUMsVUFBQ1osTUFBTTtJQUFBLE9BQUtBLE1BQU0sQ0FBQ3NFLFNBQVMsS0FBS00sU0FBUztFQUFBLEVBQUM7RUFFaEYsSUFBSSxDQUFDRCxnQkFBZ0IsRUFBRTtJQUNyQixPQUFPQyxTQUFTO0VBQ2xCO0VBRUEsT0FBTztJQUNMN0QsU0FBUyxFQUFFNEQsZ0JBQWdCLENBQUM3RCxHQUFHO0lBQy9CSSxLQUFLLEVBQUUsQ0FBQWdELEVBQUEsR0FBQVMsZ0JBQWdCLENBQUNMLFNBQVMsTUFBQSxJQUFBLElBQUFKLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJO0VDckdyQyxDRHNHRDtBQUNILENBQUM7QUFFRCxJQUFNVyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUNyQlosTUFBd0IsRUFDSjtFQ3hHbEIsSUFBSUMsRUFBRTtFRHlHUixJQUFNdkQsS0FBSyxHQUFxQixDQUFBLENBQUU7RUFBQyxJQUFBbUUsVUFBQSxHQUFBakQsMEJBQUEsQ0FDakJvQyxNQUFNO0lBQUFjLE1BQUE7RUFBQTtJQUF4QixLQUFBRCxVQUFBLENBQUEvQyxDQUFBLE1BQUFnRCxNQUFBLEdBQUFELFVBQUEsQ0FBQTlDLENBQUEsSUFBQUMsSUFBQSxHQUEwQjtNQUFBLElBQWZwQixHQUFHLEdBQUFrRSxNQUFBLENBQUE1QyxLQUFBO01BQ1osSUFBSXRCLEdBQUcsQ0FBQ0MsR0FBRyxJQUFJLElBQUksRUFBRTtNQUNyQixJQUFNa0UsT0FBTyxHQUFHLENBQUFkLEVBQUEsR0FBQXJELEdBQUcsQ0FBQ29FLG9CQUFvQixNQUFBLElBQUEsSUFBQWYsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlyRCxHQUFHLENBQUNxRSxhQUFhO01BQzdELElBQUlGLE9BQU8sS0FBS0osU0FBUyxFQUFFO1FBQ3pCakUsS0FBSyxDQUFDaUMsTUFBTSxDQUFDL0IsR0FBRyxDQUFDQyxHQUFHLENBQUMsQ0FBQyxHQUFHa0UsT0FBTyxLQUFBLElBQUEsSUFBUEEsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFQQSxPQUFPLEdBQUksSUFBSTtNQUMxQztJQUNGO0VBQUMsU0FBQTNDLEdBQUE7SUFBQXlDLFVBQUEsQ0FBQXhDLENBQUEsQ0FBQUQsR0FBQTtFQUFBO0lBQUF5QyxVQUFBLENBQUF2QyxDQUFBO0VBQUE7RUFDRCxPQUFPNUIsS0FBSztBQUNkLENBQUM7QUFFRCxJQUFNd0Usb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FDeEJsQixNQUF3QixFQUNRO0VBQ2hDLElBQUltQixhQUFhLEdBQUcsS0FBSztFQUN6QixJQUFNekUsS0FBSyxHQUFxQixDQUFBLENBQUU7RUFBQyxJQUFBMEUsVUFBQSxHQUFBeEQsMEJBQUEsQ0FDakJvQyxNQUFNO0lBQUFxQixNQUFBO0VBQUE7SUFBeEIsS0FBQUQsVUFBQSxDQUFBdEQsQ0FBQSxNQUFBdUQsTUFBQSxHQUFBRCxVQUFBLENBQUFyRCxDQUFBLElBQUFDLElBQUEsR0FBMEI7TUFBQSxJQUFmcEIsR0FBRyxHQUFBeUUsTUFBQSxDQUFBbkQsS0FBQTtNQUNaLElBQUl0QixHQUFHLENBQUNDLEdBQUcsSUFBSSxJQUFJLEVBQUU7TUFDckIsSUFBSUQsR0FBRyxDQUFDcUUsYUFBYSxLQUFLTixTQUFTLEVBQUU7UUFDbkNRLGFBQWEsR0FBRyxJQUFJO1FBQ3BCekUsS0FBSyxDQUFDaUMsTUFBTSxDQUFDL0IsR0FBRyxDQUFDQyxHQUFHLENBQUMsQ0FBQyxHQUFHRCxHQUFHLENBQUNxRSxhQUFhO01BQzVDO0lBQ0Y7RUFBQyxTQUFBN0MsR0FBQTtJQUFBZ0QsVUFBQSxDQUFBL0MsQ0FBQSxDQUFBRCxHQUFBO0VBQUE7SUFBQWdELFVBQUEsQ0FBQTlDLENBQUE7RUFBQTtFQUNELE9BQU82QyxhQUFhLEdBQUd6RSxLQUFLLEdBQUdpRSxTQUFTO0FBQzFDLENBQUM7QUFFRDtBQ3pHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEMkdBLFNBQVNXLFlBQVlBLENBQUlwRCxLQUFRLEVBQUVxRCxLQUE4QixFQUFBO0VBQy9ELElBQU1DLEdBQUcsR0FBR2xHLE1BQU0sQ0FBQzRDLEtBQUssQ0FBQztFQUN6QixJQUFJLENBQUNxRCxLQUFLLENBQUNDLEdBQUcsQ0FBQzdCLE9BQU8sRUFBRXpCLEtBQUssQ0FBQyxFQUFFO0lBQzlCc0QsR0FBRyxDQUFDN0IsT0FBTyxHQUFHekIsS0FBSztFQUNyQjtFQUNBLE9BQU9zRCxHQUFHLENBQUM3QixPQUFPO0FBQ3BCO0FBRUEsU0FBUzhCLFdBQVdBLENBQ2xCcEUsQ0FBK0IsRUFDL0JDLENBQStCLEVBQUE7RUFFL0IsSUFBSUQsQ0FBQyxLQUFLQyxDQUFDLEVBQUUsT0FBTyxJQUFJO0VBQ3hCLElBQUksQ0FBQ0QsQ0FBQyxJQUFJLENBQUNDLENBQUMsRUFBRSxPQUFPLEtBQUs7RUFDMUIsT0FBT0QsQ0FBQyxDQUFDUCxTQUFTLEtBQUtRLENBQUMsQ0FBQ1IsU0FBUyxJQUFJTyxDQUFDLENBQUNKLEtBQUssS0FBS0ssQ0FBQyxDQUFDTCxLQUFLO0FBQzNEO0FBRUEsU0FBU3lFLGdCQUFnQkEsQ0FDdkJyRSxDQUFzQyxFQUN0Q0MsQ0FBc0MsRUFBQTtFQUV0QyxJQUFJRCxDQUFDLEtBQUtDLENBQUMsRUFBRSxPQUFPLElBQUk7RUFDeEIsSUFBSSxDQUFDRCxDQUFDLElBQUksQ0FBQ0MsQ0FBQyxFQUFFLE9BQU8sS0FBSztFQUMxQixJQUFJRCxDQUFDLENBQUNoQixNQUFNLEtBQUtpQixDQUFDLENBQUNqQixNQUFNLEVBQUUsT0FBTyxLQUFLO0VBQ3ZDLEtBQUssSUFBSXNGLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR3RFLENBQUMsQ0FBQ2hCLE1BQU0sRUFBRXNGLENBQUMsRUFBRSxFQUFFO0lBQ2pDLElBQUl0RSxDQUFDLENBQUNzRSxDQUFDLENBQUMsS0FBS3JFLENBQUMsQ0FBQ3FFLENBQUMsQ0FBQyxFQUFFLE9BQU8sS0FBSztFQUNqQztFQUNBLE9BQU8sSUFBSTtBQUNiO0FBRUEsU0FBU0MsWUFBWUEsQ0FDbkJ2RSxDQUErQixFQUMvQkMsQ0FBK0IsRUFBQTtFQUUvQixJQUFJRCxDQUFDLEtBQUtDLENBQUMsRUFBRSxPQUFPLElBQUk7RUFDeEIsSUFBSSxDQUFDRCxDQUFDLElBQUksQ0FBQ0MsQ0FBQyxFQUFFLE9BQU8sS0FBSztFQUMxQixJQUFNdUUsS0FBSyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQzFFLENBQUMsQ0FBQztFQUM1QixJQUFNMkUsS0FBSyxHQUFHRixNQUFNLENBQUNDLElBQUksQ0FBQ3pFLENBQUMsQ0FBQztFQUM1QixJQUFJdUUsS0FBSyxDQUFDeEYsTUFBTSxLQUFLMkYsS0FBSyxDQUFDM0YsTUFBTSxFQUFFLE9BQU8sS0FBSztFQUMvQyxTQUFBNEYsRUFBQSxNQUFBQyxNQUFBLEdBQWtCTCxLQUFLLEVBQUFJLEVBQUEsR0FBQUMsTUFBQSxDQUFBN0YsTUFBQSxFQUFBNEYsRUFBQSxJQUFFO0lBQXBCLElBQU1wRixHQUFHLEdBQUFxRixNQUFBLENBQUFELEVBQUE7SUFDWixJQUFJLENBQUNQLGdCQUFnQixDQUFDckUsQ0FBQyxDQUFDUixHQUFHLENBQUMsRUFBRVMsQ0FBQyxDQUFDVCxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sS0FBSztFQUNyRDtFQUNBLE9BQU8sSUFBSTtBQUNiO0FBRUEsT0FBTyxJQUFNc0Ysb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FBQUMsS0FBQSxFQUtpQztFQUFBLElBSmhFakcsT0FBTyxHQUFBaUcsS0FBQSxDQUFQakcsT0FBTztJQUNQZ0QsVUFBVSxHQUFBaUQsS0FBQSxDQUFWakQsVUFBVTtJQUNWRSxVQUFVLEdBQUErQyxLQUFBLENBQVYvQyxVQUFVO0lBQ1ZnRCxRQUFRLEdBQUFELEtBQUEsQ0FBUkMsUUFBUTtFQ2hITixJQUFJcEMsRUFBRSxFQUFFcUMsRUFBRSxFQUFFQyxFQUFFLEVBQUVDLEVBQUU7RURrSHBCO0VBQ0E7RUFDQSxJQUFNeEMsTUFBTSxHQUFHM0UsT0FBTyxDQUFDO0lBQUEsT0FBTUksY0FBYyxDQUFDVSxPQUFPLENBQUM7RUFBQSxHQUFFLENBQUNBLE9BQU8sQ0FBQyxDQUFDO0VBRWhFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLElBQU1zRyxnQkFBZ0IsR0FBR25CLFlBQVksQ0FBQ2IsbUJBQW1CLENBQUNULE1BQU0sQ0FBQyxFQUFFeUIsV0FBVyxDQUFDO0VBQy9FLElBQU1pQixpQkFBaUIsR0FBR3BCLFlBQVksQ0FBQ0osb0JBQW9CLENBQUNsQixNQUFNLENBQUMsRUFBRTRCLFlBQVksQ0FBQztFQUVsRjtFQUNBO0VBQ0EsSUFBTWUsYUFBYSxHQUFHdEgsT0FBTyxDQUFDO0lBQUEsT0FBTW1GLGdCQUFnQixDQUFDUixNQUFNLENBQUM7RUFBQSxHQUFFLENBQUNBLE1BQU0sQ0FBQyxDQUFDO0VBQ3ZFLElBQU00QyxjQUFjLEdBQUd2SCxPQUFPLENBQUM7SUFBQSxPQUFNdUYsaUJBQWlCLENBQUNaLE1BQU0sQ0FBQztFQUFBLEdBQUUsQ0FBQ0EsTUFBTSxDQUFDLENBQUM7RUFFekUsSUFBQTZDLG1CQUFBLEdBQTRCdEgsa0JBQWtCLENBQzVDb0gsYUFBYSxFQUNiRixnQkFBZ0IsQ0FDakI7SUFBQUssb0JBQUEsR0FBQUMsY0FBQSxDQUFBRixtQkFBQTtJQUhNbEgsTUFBTSxHQUFBbUgsb0JBQUE7SUFBRUUsU0FBUyxHQUFBRixvQkFBQTtFQUl4QixJQUFBRyxvQkFBQSxHQUE4QjFILGtCQUFrQixDQUM5Q3FILGNBQWMsRUFDZEYsaUJBQWlCLENBQ2xCO0lBQUFRLG9CQUFBLEdBQUFILGNBQUEsQ0FBQUUsb0JBQUE7SUFITXpFLE9BQU8sR0FBQTBFLG9CQUFBO0lBQUVDLFVBQVUsR0FBQUQsb0JBQUE7RUFJMUIsSUFBQUUsb0JBQUEsR0FBOEI3SCxrQkFBa0IsQ0FDOUM4RCxVQUFVLEtBQUssS0FBSyxHQUFHLENBQUMsR0FBSSxDQUFBaUQsRUFBQSxHQUFBLENBQUFyQyxFQUFBLEdBQUFaLFVBQVUsS0FBQSxJQUFBLElBQVZBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxDQUFFZ0UsY0FBYyxNQUFBLElBQUEsSUFBQXBELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJWixVQUFVLEtBQUEsSUFBQSxJQUFWQSxVQUFVLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVZBLFVBQVUsQ0FBRU0sT0FBTyxNQUFBLElBQUEsSUFBQTJDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLENBQUUsRUFDbkZqRCxVQUFVLEtBQUssS0FBSyxHQUFHc0IsU0FBUyxHQUFHdEIsVUFBVSxLQUFBLElBQUEsSUFBVkEsVUFBVSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFWQSxVQUFVLENBQUVNLE9BQU8sQ0FDdkQ7SUFBQTJELG9CQUFBLEdBQUFQLGNBQUEsQ0FBQUssb0JBQUE7SUFITXpELE9BQU8sR0FBQTJELG9CQUFBO0lBQUVDLFVBQVUsR0FBQUQsb0JBQUE7RUFJMUIsSUFBQUUsb0JBQUEsR0FBZ0NqSSxrQkFBa0IsQ0FDaEQ4RCxVQUFVLEtBQUssS0FBSyxHQUFHLEVBQUUsR0FBSSxDQUFBbUQsRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQWxELFVBQVUsS0FBQSxJQUFBLElBQVZBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxDQUFFb0UsZUFBZSxNQUFBLElBQUEsSUFBQWxCLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJbEQsVUFBVSxLQUFBLElBQUEsSUFBVkEsVUFBVSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFWQSxVQUFVLENBQUVPLFFBQVEsTUFBQSxJQUFBLElBQUE0QyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxFQUFHLEVBQ3ZGbkQsVUFBVSxLQUFLLEtBQUssR0FBR3NCLFNBQVMsR0FBR3RCLFVBQVUsS0FBQSxJQUFBLElBQVZBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxDQUFFTyxRQUFRLENBQ3hEO0lBQUE4RCxvQkFBQSxHQUFBWCxjQUFBLENBQUFTLG9CQUFBO0lBSE01RCxRQUFRLEdBQUE4RCxvQkFBQTtJQUFFQyxXQUFXLEdBQUFELG9CQUFBO0VBSzVCO0VBQ0E7RUFDQTtFQUNBLElBQU1FLGlCQUFpQixHQUFHdkUsVUFBVSxLQUFLLEtBQUs7RUFDOUMsSUFBTXdFLGdCQUFnQixHQUFHeEksT0FBTyxDQUM5QjtJQUFBLE9BQU91SSxpQkFBaUIsR0FBRztNQUFFakUsT0FBTyxFQUFQQSxPQUFPO01BQUVDLFFBQVEsRUFBUkE7SUFBUSxDQUFFLEdBQUcsS0FBSztFQUFBLENBQUMsRUFDekQsQ0FBQ2dFLGlCQUFpQixFQUFFakUsT0FBTyxFQUFFQyxRQUFRLENBQUMsQ0FDdkM7RUFFRCxJQUFNeEQsWUFBWSxHQUE0QmYsT0FBTyxDQUFDLFlBQUs7SUFDekQ7SUFDQSxJQUFNeUksT0FBTyxHQUNYbkksTUFBTSxDQUFDbUIsU0FBUyxJQUFJLElBQUksSUFBSW5CLE1BQU0sQ0FBQ3NCLEtBQUssR0FDcEMsQ0FBQztNQUFFSCxTQUFTLEVBQUVuQixNQUFNLENBQUNtQixTQUFTO01BQUVHLEtBQUssRUFBRXRCLE1BQU0sQ0FBQ3NCO0lBQUssQ0FBRSxDQUFDLEdBQ3RELEVBQUU7SUFFUjtJQUNBLElBQU04RyxVQUFVLEdBQUcvRCxNQUFNLENBQ3RCOUMsTUFBTSxDQUFDLFVBQUNOLEdBQUc7TUFBQSxPQUFLQSxHQUFHLENBQUNDLEdBQUcsSUFBSSxJQUFJLElBQUlELEdBQUcsQ0FBQ3lELFNBQVMsSUFBSXpELEdBQUcsQ0FBQ0MsR0FBRyxLQUFLbEIsTUFBTSxDQUFDbUIsU0FBUztJQUFBLEVBQUMsQ0FDakZMLEdBQUcsQ0FBQyxVQUFDRyxHQUFHO01BQUEsT0FBTTtRQUFFRSxTQUFTLEVBQUVGLEdBQUcsQ0FBQ0MsR0FBSTtRQUFFSSxLQUFLLEVBQUVMLEdBQUcsQ0FBQ3lEO01BQTJDLENBQUU7SUFBQSxDQUFDLENBQUM7SUFFbEcsVUFBQTJELE1BQUEsQ0FBV0YsT0FBTyxFQUFBdkgsa0JBQUEsQ0FBS3dILFVBQVU7RUFDbkMsQ0FBQyxFQUFFLENBQUNwSSxNQUFNLEVBQUVxRSxNQUFNLENBQUMsQ0FBQztFQUVwQixJQUFNN0IsTUFBTSxHQUFHOUMsT0FBTyxDQUNwQjtJQUFBLE9BQU00RCxrQkFBa0IsQ0FBQztNQUN2QjlDLE9BQU8sRUFBUEEsT0FBTztNQUNQZ0QsVUFBVSxFQUFWQSxVQUFVO01BQ1Z4RCxNQUFNLEVBQU5BLE1BQU07TUFDTjZDLE9BQU8sRUFBUEEsT0FBTztNQUNQYSxVQUFVLEVBQUV3RTtJQ3pJZCxDRDBJQyxDQUFDO0VBQUEsR0FDRixDQUFDMUgsT0FBTyxFQUFFZ0QsVUFBVSxFQUFFeEQsTUFBTSxFQUFFNkMsT0FBTyxFQUFFcUYsZ0JBQWdCLENBQUMsQ0FDekQ7RUFFRCxJQUFNSSxVQUFVLEdBQUd6SSxhQUFhLENBQzlCLFVBQ0UwSSxjQUFtQixFQUNuQkMsTUFBbUIsRUFDbkJDLFNBSUMsRUFDQztJQUNGL0IsUUFBUSxLQUFBLElBQUEsSUFBUkEsUUFBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxRQUFRLENBQUc7TUFDVDdDLGlCQUFpQixFQUFFMEUsY0FBYztNQUNqQ0MsTUFBTSxFQUFOQSxNQUFNO01BQ054SSxNQUFNLEVBQUV5SSxTQUFTLENBQUN6SSxNQUFNO01BQ3hCNkMsT0FBTyxFQUFFNEYsU0FBUyxDQUFDNUYsT0FBTztNQUMxQmEsVUFBVSxFQUFFK0UsU0FBUyxDQUFDL0U7SUNySnRCLENEc0pELENBQUM7RUFDSixDQUFDLENBQ0Y7RUFFRDtFQUNBLElBQU1nRixnQkFBZ0IsR0FBRzdJLGFBQWEsQ0FDcEMsVUFBQzhJLE9BQWtDLEVBQUk7SUFDckMsSUFBTUMsVUFBVSxHQUFHLE9BQU9ELE9BQU8sS0FBSyxVQUFVLEdBQUdBLE9BQU8sQ0FBQzNJLE1BQU0sQ0FBQyxHQUFHMkksT0FBTztJQUM1RXRCLFNBQVMsQ0FBQ3VCLFVBQVUsQ0FBQztJQUVyQjtJQUNBLElBQUlWLGdCQUFnQixLQUFLLEtBQUssRUFBRTtNQUM5Qk4sVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNmO0lBRUEsSUFBSWxCLFFBQVEsRUFBRTtNQUNaLElBQU1tQyxlQUFlLEdBQUdYLGdCQUFnQixLQUFLLEtBQUssR0FDOUMsS0FBSyxHQUNMO1FBQUVsRSxPQUFPLEVBQUUsQ0FBQztRQUFFQyxRQUFRLEVBQVJBO01BQVEsQ0FBRTtNQUM1QixJQUFNNkUsVUFBVSxHQUFHeEYsa0JBQWtCLENBQUM7UUFDcEM5QyxPQUFPLEVBQVBBLE9BQU87UUFDUGdELFVBQVUsRUFBVkEsVUFBVTtRQUNWeEQsTUFBTSxFQUFFNEksVUFBVTtRQUNsQi9GLE9BQU8sRUFBUEEsT0FBTztRQUNQYSxVQUFVLEVBQUVtRjtNQzFKVixDRDJKSCxDQUFDO01BQ0ZQLFVBQVUsQ0FBQ1EsVUFBVSxDQUFDakYsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO1FBQy9DN0QsTUFBTSxFQUFFNEksVUFBVTtRQUNsQi9GLE9BQU8sRUFBUEEsT0FBTztRQUNQYSxVQUFVLEVBQUVtRjtNQzFKVixDRDJKSCxDQUFDO0lBQ0o7RUFDRixDQUFDLENBQ0Y7RUFFRCxJQUFNRSxpQkFBaUIsR0FBR2xKLGFBQWEsQ0FDckMsVUFBQzhJLE9BQWtDLEVBQUk7SUFDckMsSUFBTUssV0FBVyxHQUFHLE9BQU9MLE9BQU8sS0FBSyxVQUFVLEdBQUdBLE9BQU8sQ0FBQzlGLE9BQU8sQ0FBQyxHQUFHOEYsT0FBTztJQUM5RW5CLFVBQVUsQ0FBQ3dCLFdBQVcsQ0FBQztJQUV2QjtJQUNBLElBQUlkLGdCQUFnQixLQUFLLEtBQUssRUFBRTtNQUM5Qk4sVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNmO0lBRUEsSUFBSWxCLFFBQVEsRUFBRTtNQUNaLElBQU1tQyxlQUFlLEdBQUdYLGdCQUFnQixLQUFLLEtBQUssR0FDOUMsS0FBSyxHQUNMO1FBQUVsRSxPQUFPLEVBQUUsQ0FBQztRQUFFQyxRQUFRLEVBQVJBO01BQVEsQ0FBRTtNQUM1QixJQUFNNkUsVUFBVSxHQUFHeEYsa0JBQWtCLENBQUM7UUFDcEM5QyxPQUFPLEVBQVBBLE9BQU87UUFDUGdELFVBQVUsRUFBVkEsVUFBVTtRQUNWeEQsTUFBTSxFQUFOQSxNQUFNO1FBQ042QyxPQUFPLEVBQUVtRyxXQUFXO1FBQ3BCdEYsVUFBVSxFQUFFbUY7TUMvSlYsQ0RnS0gsQ0FBQztNQUNGUCxVQUFVLENBQUNRLFVBQVUsQ0FBQ2pGLGlCQUFpQixFQUFFLFFBQVEsRUFBRTtRQUNqRDdELE1BQU0sRUFBTkEsTUFBTTtRQUNONkMsT0FBTyxFQUFFbUcsV0FBVztRQUNwQnRGLFVBQVUsRUFBRW1GO01DL0pWLENEZ0tILENBQUM7SUFDSjtFQUNGLENBQUMsQ0FDRjtFQUVELElBQU1JLG9CQUFvQixHQUFHcEosYUFBYSxDQUN4QyxVQUFDOEksT0FBc0MsRUFBSTtJQUN6QyxJQUFJakYsVUFBVSxLQUFLLEtBQUssRUFBRTtJQUUxQixJQUFNd0YsWUFBWSxHQUFHO01BQUVsRixPQUFPLEVBQVBBLE9BQU87TUFBRUMsUUFBUSxFQUFSQTtJQUFRLENBQUU7SUFDMUMsSUFBTWtGLFNBQVMsR0FBRyxPQUFPUixPQUFPLEtBQUssVUFBVSxHQUFHQSxPQUFPLENBQUNPLFlBQVksQ0FBQyxHQUFHUCxPQUFPO0lBRWpGZixVQUFVLENBQUN1QixTQUFTLENBQUNuRixPQUFPLENBQUM7SUFDN0JnRSxXQUFXLENBQUNtQixTQUFTLENBQUNsRixRQUFRLENBQUM7SUFFL0IsSUFBSXlDLFFBQVEsRUFBRTtNQUNaLElBQU1vQyxVQUFVLEdBQUd4RixrQkFBa0IsQ0FBQztRQUNwQzlDLE9BQU8sRUFBUEEsT0FBTztRQUNQZ0QsVUFBVSxFQUFWQSxVQUFVO1FBQ1Z4RCxNQUFNLEVBQU5BLE1BQU07UUFDTjZDLE9BQU8sRUFBUEEsT0FBTztRQUNQYSxVQUFVLEVBQUV5RjtNQ3BLVixDRHFLSCxDQUFDO01BQ0ZiLFVBQVUsQ0FBQ1EsVUFBVSxDQUFDakYsaUJBQWlCLEVBQUUsVUFBVSxFQUFFO1FBQ25EN0QsTUFBTSxFQUFOQSxNQUFNO1FBQ042QyxPQUFPLEVBQVBBLE9BQU87UUFDUGEsVUFBVSxFQUFFeUY7TUNwS1YsQ0RxS0gsQ0FBQztJQUNKO0VBQ0YsQ0FBQyxDQUNGO0VBRUQsT0FBQWhELE1BQUEsQ0FBQWlELE1BQUEsQ0FBQWpELE1BQUEsQ0FBQWlELE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDSzVHLE1BQU0sQ0FBQSxFQUFBO0lBQ1R4QyxNQUFNLEVBQU5BLE1BQU07SUFDTlMsWUFBWSxFQUFaQSxZQUFZO0lBQ1pvQyxPQUFPLEVBQVBBLE9BQU87SUFDUGEsVUFBVSxFQUFFd0UsZ0JBQWdCO0lBQzVCYixTQUFTLEVBQUVxQixnQkFBZ0I7SUFDM0JsQixVQUFVLEVBQUV1QixpQkFBaUI7SUFDN0JNLGFBQWEsRUFBRUo7RUFBb0IsQ0FBQSxDQUFBO0FBRXZDLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlRGF0YVBpcGVsaW5lLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VNZW1vaXplZEZuIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlTWVtb2l6ZWRGbic7XG5pbXBvcnQgeyBmbGF0dGVuQ29sdW1ucyB9IGZyb20gJy4vY29sdW1uVXRpbCc7XG5mdW5jdGlvbiBnZXRTb3J0RnVuY3Rpb24oc29ydGVyKSB7XG4gICAgaWYgKHR5cGVvZiBzb3J0ZXIgPT09ICdmdW5jdGlvbicpXG4gICAgICAgIHJldHVybiBzb3J0ZXI7XG4gICAgaWYgKHNvcnRlciAmJiB0eXBlb2Ygc29ydGVyID09PSAnb2JqZWN0JyAmJiAnY29tcGFyZScgaW4gc29ydGVyKVxuICAgICAgICByZXR1cm4gc29ydGVyLmNvbXBhcmU7XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZ2V0TXVsdGlwbGVQcmlvcml0eShjb2x1bW4pIHtcbiAgICBpZiAoY29sdW1uLnNvcnRlciAmJiB0eXBlb2YgY29sdW1uLnNvcnRlciA9PT0gJ29iamVjdCcgJiYgJ211bHRpcGxlJyBpbiBjb2x1bW4uc29ydGVyKSB7XG4gICAgICAgIHJldHVybiBjb2x1bW4uc29ydGVyLm11bHRpcGxlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBhcHBseVNvcnRUb0RhdGEoZGF0YSwgY29sdW1ucywgc29ydGVyU3RhdGVzKSB7XG4gICAgaWYgKHNvcnRlclN0YXRlcy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIGNvbnN0IHNvcnRlZCA9IFsuLi5kYXRhXTtcbiAgICBjb25zdCBydW5uaW5nU29ydGVycyA9IHNvcnRlclN0YXRlc1xuICAgICAgICAubWFwKChzdGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGNvbCkgPT4gY29sLmtleSA9PT0gc3RhdGUuY29sdW1uS2V5KTtcbiAgICAgICAgaWYgKCFjb2x1bW4pXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgY29tcGFyZUZuID0gZ2V0U29ydEZ1bmN0aW9uKGNvbHVtbi5zb3J0ZXIpO1xuICAgICAgICBpZiAoIWNvbXBhcmVGbilcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICBjb25zdCBwcmlvcml0eSA9IGdldE11bHRpcGxlUHJpb3JpdHkoY29sdW1uKTtcbiAgICAgICAgcmV0dXJuIHsgY29tcGFyZUZuLCBvcmRlcjogc3RhdGUub3JkZXIsIHByaW9yaXR5IH07XG4gICAgfSlcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICBpZiAocnVubmluZ1NvcnRlcnMubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAvLyBIaWdoZXIgcHJpb3JpdHkgbnVtYmVyID0gY29tcGFyZWQgZmlyc3RcbiAgICBydW5uaW5nU29ydGVycy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGFwID0gdHlwZW9mIGEucHJpb3JpdHkgPT09ICdudW1iZXInID8gYS5wcmlvcml0eSA6IDA7XG4gICAgICAgIGNvbnN0IGJwID0gdHlwZW9mIGIucHJpb3JpdHkgPT09ICdudW1iZXInID8gYi5wcmlvcml0eSA6IDA7XG4gICAgICAgIHJldHVybiBicCAtIGFwO1xuICAgIH0pO1xuICAgIHNvcnRlZC5zb3J0KChyZWNvcmQxLCByZWNvcmQyKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgeyBjb21wYXJlRm4sIG9yZGVyIH0gb2YgcnVubmluZ1NvcnRlcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbXBhcmVGbihyZWNvcmQxLCByZWNvcmQyKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3JkZXIgPT09ICdhc2NlbmQnID8gcmVzdWx0IDogLXJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9KTtcbiAgICByZXR1cm4gc29ydGVkO1xufVxuZnVuY3Rpb24gYXBwbHlGaWx0ZXJzVG9EYXRhKGRhdGEsIGNvbHVtbnMsIGZpbHRlcnMpIHtcbiAgICAvLyBSZXNvbHZlIHdoaWNoIGNvbHVtbnMgaGF2ZSBhbiBhY3RpdmUgZmlsdGVyIHNlbGVjdGlvbiBBTkQgYSBwcmVkaWNhdGUuXG4gICAgY29uc3QgYWN0aXZlRmlsdGVycyA9IGNvbHVtbnNcbiAgICAgICAgLm1hcCgoY29sKSA9PiB7XG4gICAgICAgIGlmIChjb2wua2V5ID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBmaWx0ZXJzW1N0cmluZyhjb2wua2V5KV07XG4gICAgICAgIGlmICghc2VsZWN0ZWQgfHwgc2VsZWN0ZWQubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGlmICghY29sLm9uRmlsdGVyKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHJldHVybiB7IG9uRmlsdGVyOiBjb2wub25GaWx0ZXIsIHNlbGVjdGVkIH07XG4gICAgfSlcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICBpZiAoYWN0aXZlRmlsdGVycy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIHJldHVybiBkYXRhLmZpbHRlcigocmVjb3JkKSA9PiBcbiAgICAvLyBSb3cgcGFzc2VzIG9ubHkgaWYgRVZFUlkgYWN0aXZlIGNvbHVtbiBoYXMgYXQgbGVhc3Qgb25lIG1hdGNoaW5nIHNlbGVjdGVkIHZhbHVlLlxuICAgIGFjdGl2ZUZpbHRlcnMuZXZlcnkoKHsgb25GaWx0ZXIsIHNlbGVjdGVkIH0pID0+IHNlbGVjdGVkLnNvbWUoKHZhbHVlKSA9PiBvbkZpbHRlcih2YWx1ZSwgcmVjb3JkKSkpKTtcbn1cbmV4cG9ydCBjb25zdCBhcHBseVRhYmxlUGlwZWxpbmUgPSAoeyBjb2x1bW5zLCBkYXRhU291cmNlLCBzb3J0ZXIsIGZpbHRlcnMgPSB7fSwgcGFnaW5hdGlvbiwgfSkgPT4ge1xuICAgIGNvbnN0IHNvcnRlclN0YXRlcyA9IHNvcnRlci5jb2x1bW5LZXkgIT0gbnVsbCAmJiBzb3J0ZXIub3JkZXJcbiAgICAgICAgPyBbeyBjb2x1bW5LZXk6IHNvcnRlci5jb2x1bW5LZXksIG9yZGVyOiBzb3J0ZXIub3JkZXIgfV1cbiAgICAgICAgOiBbXTtcbiAgICBjb25zdCBsZWFmQ29sdW1ucyA9IGZsYXR0ZW5Db2x1bW5zKGNvbHVtbnMpO1xuICAgIGNvbnN0IGZpbHRlcmVkID0gYXBwbHlGaWx0ZXJzVG9EYXRhKGRhdGFTb3VyY2UsIGxlYWZDb2x1bW5zLCBmaWx0ZXJzKTtcbiAgICBjb25zdCBzb3J0ZWQgPSBhcHBseVNvcnRUb0RhdGEoZmlsdGVyZWQsIGxlYWZDb2x1bW5zLCBzb3J0ZXJTdGF0ZXMpO1xuICAgIGlmICghcGFnaW5hdGlvbikge1xuICAgICAgICByZXR1cm4geyBjdXJyZW50RGF0YVNvdXJjZTogc29ydGVkLCB0b3RhbDogc29ydGVkLmxlbmd0aCB9O1xuICAgIH1cbiAgICBjb25zdCBzdGFydCA9IChwYWdpbmF0aW9uLmN1cnJlbnQgLSAxKSAqIHBhZ2luYXRpb24ucGFnZVNpemU7XG4gICAgY29uc3QgZW5kID0gc3RhcnQgKyBwYWdpbmF0aW9uLnBhZ2VTaXplO1xuICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnREYXRhU291cmNlOiBzb3J0ZWQuc2xpY2Uoc3RhcnQsIGVuZCksXG4gICAgICAgIHRvdGFsOiBzb3J0ZWQubGVuZ3RoLFxuICAgIH07XG59O1xuZnVuY3Rpb24gY29sbGVjdFNvcnRlclN0YXRlcyhsZWF2ZXMpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3Qgc3RhdGVzID0gW107XG4gICAgZm9yIChjb25zdCBjb2wgb2YgbGVhdmVzKSB7XG4gICAgICAgIGNvbnN0IG9yZGVyID0gKF9hID0gY29sLnNvcnRPcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogY29sLmRlZmF1bHRTb3J0T3JkZXI7XG4gICAgICAgIGlmIChjb2wua2V5ICE9IG51bGwgJiYgb3JkZXIpIHtcbiAgICAgICAgICAgIHN0YXRlcy5wdXNoKHsgY29sdW1uS2V5OiBjb2wua2V5LCBvcmRlciB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3RhdGVzO1xufVxuY29uc3QgZ2V0SW5pdGlhbFNvcnRlciA9IChsZWF2ZXMpID0+IHtcbiAgICBjb25zdCBzdGF0ZXMgPSBjb2xsZWN0U29ydGVyU3RhdGVzKGxlYXZlcyk7XG4gICAgaWYgKHN0YXRlcy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiB7fTtcbiAgICByZXR1cm4geyBjb2x1bW5LZXk6IHN0YXRlc1swXS5jb2x1bW5LZXksIG9yZGVyOiBzdGF0ZXNbMF0ub3JkZXIgfTtcbn07XG5jb25zdCBnZXRDb250cm9sbGVkU29ydGVyID0gKGxlYXZlcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCBjb250cm9sbGVkQ29sdW1uID0gbGVhdmVzLmZpbmQoKGNvbHVtbikgPT4gY29sdW1uLnNvcnRPcmRlciAhPT0gdW5kZWZpbmVkKTtcbiAgICBpZiAoIWNvbnRyb2xsZWRDb2x1bW4pIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29sdW1uS2V5OiBjb250cm9sbGVkQ29sdW1uLmtleSxcbiAgICAgICAgb3JkZXI6IChfYSA9IGNvbnRyb2xsZWRDb2x1bW4uc29ydE9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsLFxuICAgIH07XG59O1xuY29uc3QgZ2V0SW5pdGlhbEZpbHRlcnMgPSAobGVhdmVzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHN0YXRlID0ge307XG4gICAgZm9yIChjb25zdCBjb2wgb2YgbGVhdmVzKSB7XG4gICAgICAgIGlmIChjb2wua2V5ID09IG51bGwpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IChfYSA9IGNvbC5kZWZhdWx0RmlsdGVyZWRWYWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogY29sLmZpbHRlcmVkVmFsdWU7XG4gICAgICAgIGlmIChpbml0aWFsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHN0YXRlW1N0cmluZyhjb2wua2V5KV0gPSBpbml0aWFsICE9PSBudWxsICYmIGluaXRpYWwgIT09IHZvaWQgMCA/IGluaXRpYWwgOiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdGF0ZTtcbn07XG5jb25zdCBnZXRDb250cm9sbGVkRmlsdGVycyA9IChsZWF2ZXMpID0+IHtcbiAgICBsZXQgaGFzQ29udHJvbGxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IHN0YXRlID0ge307XG4gICAgZm9yIChjb25zdCBjb2wgb2YgbGVhdmVzKSB7XG4gICAgICAgIGlmIChjb2wua2V5ID09IG51bGwpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKGNvbC5maWx0ZXJlZFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhhc0NvbnRyb2xsZWQgPSB0cnVlO1xuICAgICAgICAgICAgc3RhdGVbU3RyaW5nKGNvbC5rZXkpXSA9IGNvbC5maWx0ZXJlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoYXNDb250cm9sbGVkID8gc3RhdGUgOiB1bmRlZmluZWQ7XG59O1xuLyoqXG4gKiBSZXR1cm5zIGEgdmFsdWUgd2hvc2UgcmVmZXJlbmNlIGlzIHByZXNlcnZlZCBhY3Jvc3MgcmVuZGVycyBhcyBsb25nIGFzIHRoZVxuICogc2hhbGxvdyBjb250ZW50cyBhcmUgdW5jaGFuZ2VkIChwZXIgYGVxdWFsYCkuIFVzZWQgdG8gc3RhYmlsaXNlIHRoZSBkZXJpdmVkXG4gKiBjb250cm9sbGVkIGNhbmRpZGF0ZXMgZmVkIHRvIGB1c2VDb250cm9sbGVkU3RhdGVgIOKAlCB0aGV5IHdvdWxkIG90aGVyd2lzZSBiZVxuICogZnJlc2ggb2JqZWN0cyBldmVyeSByZW5kZXIgYW5kIHRocmFzaCB0aGUgaG9vaydzIGludGVybmFsIGB1c2VMYXlvdXRFZmZlY3RgLlxuICovXG5mdW5jdGlvbiB1c2VTdGFibGVSZWYodmFsdWUsIGVxdWFsKSB7XG4gICAgY29uc3QgcmVmID0gdXNlUmVmKHZhbHVlKTtcbiAgICBpZiAoIWVxdWFsKHJlZi5jdXJyZW50LCB2YWx1ZSkpIHtcbiAgICAgICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZi5jdXJyZW50O1xufVxuZnVuY3Rpb24gc29ydGVyRXF1YWwoYSwgYikge1xuICAgIGlmIChhID09PSBiKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoIWEgfHwgIWIpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gYS5jb2x1bW5LZXkgPT09IGIuY29sdW1uS2V5ICYmIGEub3JkZXIgPT09IGIub3JkZXI7XG59XG5mdW5jdGlvbiBmaWx0ZXJWYWx1ZUVxdWFsKGEsIGIpIHtcbiAgICBpZiAoYSA9PT0gYilcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKCFhIHx8ICFiKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYVtpXSAhPT0gYltpXSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBmaWx0ZXJzRXF1YWwoYSwgYikge1xuICAgIGlmIChhID09PSBiKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoIWEgfHwgIWIpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBrZXlzQSA9IE9iamVjdC5rZXlzKGEpO1xuICAgIGNvbnN0IGtleXNCID0gT2JqZWN0LmtleXMoYik7XG4gICAgaWYgKGtleXNBLmxlbmd0aCAhPT0ga2V5c0IubGVuZ3RoKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5c0EpIHtcbiAgICAgICAgaWYgKCFmaWx0ZXJWYWx1ZUVxdWFsKGFba2V5XSwgYltrZXldKSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5leHBvcnQgY29uc3QgdXNlVGFibGVEYXRhUGlwZWxpbmUgPSAoeyBjb2x1bW5zLCBkYXRhU291cmNlLCBwYWdpbmF0aW9uLCBvbkNoYW5nZSwgfSkgPT4ge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAvLyBGbGF0dGVuIG9uY2UgcGVyIGBjb2x1bW5zYCBjaGFuZ2UgYW5kIHNoYXJlIHRoZSBsZWFmIGxpc3QgYWNyb3NzIGV2ZXJ5XG4gICAgLy8gZGVyaXZlIHN0ZXAgYmVsb3cg4oCUIHRoZXkgdXNlZCB0byBlYWNoIHJlLWZsYXR0ZW4gb24gZXZlcnkgcmVuZGVyLlxuICAgIGNvbnN0IGxlYXZlcyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbkNvbHVtbnMoY29sdW1ucyksIFtjb2x1bW5zXSk7XG4gICAgLy8gU29ydGVyIC8gZmlsdGVycyBhcmUgXCJkZXJpdmVkIGNvbnRyb2xsZWRcIiDigJQgdGhlIGNvbnRyb2xsZWQgdmFsdWUgaXMgYnVpbHRcbiAgICAvLyBieSBzY2FubmluZyBjb2x1bW4gcHJvcHMgKGBzb3J0T3JkZXJgIC8gYGZpbHRlcmVkVmFsdWVgKSwgc28gYGdldENvbnRyb2xsZWQqYFxuICAgIC8vIHJldHVybnMgYSBmcmVzaCBvYmplY3QgZXZlcnkgcmVuZGVyIGV2ZW4gd2hlbiB0aGUgdW5kZXJseWluZyBpbnB1dHMgYXJlXG4gICAgLy8gdW5jaGFuZ2VkLiBXaXRob3V0IHN0YWJpbGlzYXRpb24sIGB1c2VDb250cm9sbGVkU3RhdGVgJ3MgaW50ZXJuYWxcbiAgICAvLyBgdXNlTGF5b3V0RWZmZWN0KFt2YWx1ZV0pYCB3b3VsZCByZS1zeW5jIG9uIGV2ZXJ5IHJlbmRlciDihpIgaW5maW5pdGUgbG9vcC5cbiAgICAvLyBQaW4gdGhlIHJlZmVyZW5jZSB2aWEgYSBzaGFsbG93LWVxdWFsIHJlZi5cbiAgICBjb25zdCBjb250cm9sbGVkU29ydGVyID0gdXNlU3RhYmxlUmVmKGdldENvbnRyb2xsZWRTb3J0ZXIobGVhdmVzKSwgc29ydGVyRXF1YWwpO1xuICAgIGNvbnN0IGNvbnRyb2xsZWRGaWx0ZXJzID0gdXNlU3RhYmxlUmVmKGdldENvbnRyb2xsZWRGaWx0ZXJzKGxlYXZlcyksIGZpbHRlcnNFcXVhbCk7XG4gICAgLy8gSW5pdGlhbCBzb3J0ZXIgLyBmaWx0ZXJzIG9ubHkgbWF0dGVyIG9uIG1vdW50LCBzbyBtZW1vaXNlIHRoZW0gb24gYGxlYXZlc2BcbiAgICAvLyBpbnN0ZWFkIG9mIHJlY29tcHV0aW5nIChhbmQgcmUtZmxhdHRlbmluZykgZXZlcnkgcmVuZGVyLlxuICAgIGNvbnN0IGluaXRpYWxTb3J0ZXIgPSB1c2VNZW1vKCgpID0+IGdldEluaXRpYWxTb3J0ZXIobGVhdmVzKSwgW2xlYXZlc10pO1xuICAgIGNvbnN0IGluaXRpYWxGaWx0ZXJzID0gdXNlTWVtbygoKSA9PiBnZXRJbml0aWFsRmlsdGVycyhsZWF2ZXMpLCBbbGVhdmVzXSk7XG4gICAgY29uc3QgW3NvcnRlciwgc2V0U29ydGVyXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShpbml0aWFsU29ydGVyLCBjb250cm9sbGVkU29ydGVyKTtcbiAgICBjb25zdCBbZmlsdGVycywgc2V0RmlsdGVyc10gPSB1c2VDb250cm9sbGVkU3RhdGUoaW5pdGlhbEZpbHRlcnMsIGNvbnRyb2xsZWRGaWx0ZXJzKTtcbiAgICBjb25zdCBbY3VycmVudCwgc2V0Q3VycmVudF0gPSB1c2VDb250cm9sbGVkU3RhdGUocGFnaW5hdGlvbiA9PT0gZmFsc2UgPyAxIDogKChfYiA9IChfYSA9IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5kZWZhdWx0Q3VycmVudCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogcGFnaW5hdGlvbiA9PT0gbnVsbCB8fCBwYWdpbmF0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYWdpbmF0aW9uLmN1cnJlbnQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDEpLCBwYWdpbmF0aW9uID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5jdXJyZW50KTtcbiAgICBjb25zdCBbcGFnZVNpemUsIHNldFBhZ2VTaXplXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShwYWdpbmF0aW9uID09PSBmYWxzZSA/IDEwIDogKChfZCA9IChfYyA9IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5kZWZhdWx0UGFnZVNpemUpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5wYWdlU2l6ZSkgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogMTApLCBwYWdpbmF0aW9uID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5wYWdlU2l6ZSk7XG4gICAgLy8gTWVtb2lzZSBvbiBwcmltaXRpdmVzIOKAlCBhIGZyZXNoIGB7IGN1cnJlbnQsIHBhZ2VTaXplIH1gIGxpdGVyYWwgZXZlcnkgcmVuZGVyXG4gICAgLy8gd291bGQgZGVmZWF0IHRoZSBgcmVzdWx0YCBtZW1vIGJlbG93IGFuZCByZS1ydW4gZmlsdGVyICsgc29ydCArIHNsaWNlIG9uXG4gICAgLy8gZXZlcnkgdW5yZWxhdGVkIHJlLXJlbmRlci5cbiAgICBjb25zdCBwYWdpbmF0aW9uRW5hYmxlZCA9IHBhZ2luYXRpb24gIT09IGZhbHNlO1xuICAgIGNvbnN0IG1lcmdlZFBhZ2luYXRpb24gPSB1c2VNZW1vKCgpID0+IChwYWdpbmF0aW9uRW5hYmxlZCA/IHsgY3VycmVudCwgcGFnZVNpemUgfSA6IGZhbHNlKSwgW3BhZ2luYXRpb25FbmFibGVkLCBjdXJyZW50LCBwYWdlU2l6ZV0pO1xuICAgIGNvbnN0IHNvcnRlclN0YXRlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICAvLyBTdGFydCB3aXRoIHRoZSBwcmltYXJ5IHVzZXItdG9nZ2xlZCBzb3J0ZXJcbiAgICAgICAgY29uc3QgcHJpbWFyeSA9IHNvcnRlci5jb2x1bW5LZXkgIT0gbnVsbCAmJiBzb3J0ZXIub3JkZXJcbiAgICAgICAgICAgID8gW3sgY29sdW1uS2V5OiBzb3J0ZXIuY29sdW1uS2V5LCBvcmRlcjogc29ydGVyLm9yZGVyIH1dXG4gICAgICAgICAgICA6IFtdO1xuICAgICAgICAvLyBDb2xsZWN0IGFueSBvdGhlciBjb2x1bW5zIHRoYXQgaGF2ZSBhIGNvbnRyb2xsZWQgc29ydE9yZGVyIChmb3IgbXVsdGktc29ydClcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbCA9IGxlYXZlc1xuICAgICAgICAgICAgLmZpbHRlcigoY29sKSA9PiBjb2wua2V5ICE9IG51bGwgJiYgY29sLnNvcnRPcmRlciAmJiBjb2wua2V5ICE9PSBzb3J0ZXIuY29sdW1uS2V5KVxuICAgICAgICAgICAgLm1hcCgoY29sKSA9PiAoeyBjb2x1bW5LZXk6IGNvbC5rZXksIG9yZGVyOiBjb2wuc29ydE9yZGVyIH0pKTtcbiAgICAgICAgcmV0dXJuIFsuLi5wcmltYXJ5LCAuLi5hZGRpdGlvbmFsXTtcbiAgICB9LCBbc29ydGVyLCBsZWF2ZXNdKTtcbiAgICBjb25zdCByZXN1bHQgPSB1c2VNZW1vKCgpID0+IGFwcGx5VGFibGVQaXBlbGluZSh7XG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGRhdGFTb3VyY2UsXG4gICAgICAgIHNvcnRlcixcbiAgICAgICAgZmlsdGVycyxcbiAgICAgICAgcGFnaW5hdGlvbjogbWVyZ2VkUGFnaW5hdGlvbixcbiAgICB9KSwgW2NvbHVtbnMsIGRhdGFTb3VyY2UsIHNvcnRlciwgZmlsdGVycywgbWVyZ2VkUGFnaW5hdGlvbl0pO1xuICAgIGNvbnN0IGVtaXRDaGFuZ2UgPSB1c2VNZW1vaXplZEZuKChuZXh0RGF0YVNvdXJjZSwgYWN0aW9uLCBuZXh0U3RhdGUpID0+IHtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKHtcbiAgICAgICAgICAgIGN1cnJlbnREYXRhU291cmNlOiBuZXh0RGF0YVNvdXJjZSxcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgIHNvcnRlcjogbmV4dFN0YXRlLnNvcnRlcixcbiAgICAgICAgICAgIGZpbHRlcnM6IG5leHRTdGF0ZS5maWx0ZXJzLFxuICAgICAgICAgICAgcGFnaW5hdGlvbjogbmV4dFN0YXRlLnBhZ2luYXRpb24sXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIC8vIHVzZU1lbW9pemVkRm46IHN0YWJsZSByZWYsIGFsd2F5cyBjYWxscyBsYXRlc3QgY2xvc3VyZSDigJQgbm8gc3RhbGUgZGVwcyByaXNrXG4gICAgY29uc3Qgd3JhcHBlZFNldFNvcnRlciA9IHVzZU1lbW9pemVkRm4oKHVwZGF0ZXIpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dFNvcnRlciA9IHR5cGVvZiB1cGRhdGVyID09PSAnZnVuY3Rpb24nID8gdXBkYXRlcihzb3J0ZXIpIDogdXBkYXRlcjtcbiAgICAgICAgc2V0U29ydGVyKG5leHRTb3J0ZXIpO1xuICAgICAgICAvLyBSZXNldCBwYWdpbmF0aW9uIHRvIHBhZ2UgMSB3aGVuIHNvcnRpbmcgY2hhbmdlc1xuICAgICAgICBpZiAobWVyZ2VkUGFnaW5hdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHNldEN1cnJlbnQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCByZXNldFBhZ2luYXRpb24gPSBtZXJnZWRQYWdpbmF0aW9uID09PSBmYWxzZVxuICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICA6IHsgY3VycmVudDogMSwgcGFnZVNpemUgfTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRSZXN1bHQgPSBhcHBseVRhYmxlUGlwZWxpbmUoe1xuICAgICAgICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgICAgICAgZGF0YVNvdXJjZSxcbiAgICAgICAgICAgICAgICBzb3J0ZXI6IG5leHRTb3J0ZXIsXG4gICAgICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uOiByZXNldFBhZ2luYXRpb24sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UobmV4dFJlc3VsdC5jdXJyZW50RGF0YVNvdXJjZSwgJ3NvcnQnLCB7XG4gICAgICAgICAgICAgICAgc29ydGVyOiBuZXh0U29ydGVyLFxuICAgICAgICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbjogcmVzZXRQYWdpbmF0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCB3cmFwcGVkU2V0RmlsdGVycyA9IHVzZU1lbW9pemVkRm4oKHVwZGF0ZXIpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dEZpbHRlcnMgPSB0eXBlb2YgdXBkYXRlciA9PT0gJ2Z1bmN0aW9uJyA/IHVwZGF0ZXIoZmlsdGVycykgOiB1cGRhdGVyO1xuICAgICAgICBzZXRGaWx0ZXJzKG5leHRGaWx0ZXJzKTtcbiAgICAgICAgLy8gUmVzZXQgcGFnaW5hdGlvbiB0byBwYWdlIDEgd2hlbiBmaWx0ZXJzIGNoYW5nZVxuICAgICAgICBpZiAobWVyZ2VkUGFnaW5hdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHNldEN1cnJlbnQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCByZXNldFBhZ2luYXRpb24gPSBtZXJnZWRQYWdpbmF0aW9uID09PSBmYWxzZVxuICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICA6IHsgY3VycmVudDogMSwgcGFnZVNpemUgfTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRSZXN1bHQgPSBhcHBseVRhYmxlUGlwZWxpbmUoe1xuICAgICAgICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgICAgICAgZGF0YVNvdXJjZSxcbiAgICAgICAgICAgICAgICBzb3J0ZXIsXG4gICAgICAgICAgICAgICAgZmlsdGVyczogbmV4dEZpbHRlcnMsXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbjogcmVzZXRQYWdpbmF0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbWl0Q2hhbmdlKG5leHRSZXN1bHQuY3VycmVudERhdGFTb3VyY2UsICdmaWx0ZXInLCB7XG4gICAgICAgICAgICAgICAgc29ydGVyLFxuICAgICAgICAgICAgICAgIGZpbHRlcnM6IG5leHRGaWx0ZXJzLFxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IHJlc2V0UGFnaW5hdGlvbixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3Qgd3JhcHBlZFNldFBhZ2luYXRpb24gPSB1c2VNZW1vaXplZEZuKCh1cGRhdGVyKSA9PiB7XG4gICAgICAgIGlmIChwYWdpbmF0aW9uID09PSBmYWxzZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0geyBjdXJyZW50LCBwYWdlU2l6ZSB9O1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0eXBlb2YgdXBkYXRlciA9PT0gJ2Z1bmN0aW9uJyA/IHVwZGF0ZXIoY3VycmVudFZhbHVlKSA6IHVwZGF0ZXI7XG4gICAgICAgIHNldEN1cnJlbnQobmV4dFZhbHVlLmN1cnJlbnQpO1xuICAgICAgICBzZXRQYWdlU2l6ZShuZXh0VmFsdWUucGFnZVNpemUpO1xuICAgICAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRSZXN1bHQgPSBhcHBseVRhYmxlUGlwZWxpbmUoe1xuICAgICAgICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgICAgICAgZGF0YVNvdXJjZSxcbiAgICAgICAgICAgICAgICBzb3J0ZXIsXG4gICAgICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uOiBuZXh0VmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UobmV4dFJlc3VsdC5jdXJyZW50RGF0YVNvdXJjZSwgJ3BhZ2luYXRlJywge1xuICAgICAgICAgICAgICAgIHNvcnRlcixcbiAgICAgICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IG5leHRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcmVzdWx0KSwgeyBzb3J0ZXIsXG4gICAgICAgIHNvcnRlclN0YXRlcyxcbiAgICAgICAgZmlsdGVycywgcGFnaW5hdGlvbjogbWVyZ2VkUGFnaW5hdGlvbiwgc2V0U29ydGVyOiB3cmFwcGVkU2V0U29ydGVyLCBzZXRGaWx0ZXJzOiB3cmFwcGVkU2V0RmlsdGVycywgc2V0UGFnaW5hdGlvbjogd3JhcHBlZFNldFBhZ2luYXRpb24gfSk7XG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
421
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZURhdGFQaXBlbGluZS50cyIsImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZURhdGFQaXBlbGluZS5qcyJdLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidXNlTWVtb2l6ZWRGbiIsImZsYXR0ZW5Db2x1bW5zIiwiZ2V0U29ydEZ1bmN0aW9uIiwic29ydGVyIiwiX3R5cGVvZiIsImNvbXBhcmUiLCJnZXRNdWx0aXBsZVByaW9yaXR5IiwiY29sdW1uIiwibXVsdGlwbGUiLCJhcHBseVNvcnRUb0RhdGEiLCJkYXRhIiwiY29sdW1ucyIsInNvcnRlclN0YXRlcyIsImxlbmd0aCIsInNvcnRlZCIsIl90b0NvbnN1bWFibGVBcnJheSIsInJ1bm5pbmdTb3J0ZXJzIiwibWFwIiwic3RhdGUiLCJmaW5kIiwiY29sIiwia2V5IiwiY29sdW1uS2V5IiwiY29tcGFyZUZuIiwicHJpb3JpdHkiLCJvcmRlciIsImZpbHRlciIsIkJvb2xlYW4iLCJzb3J0IiwiYSIsImIiLCJhcCIsImJwIiwicmVjb3JkMSIsInJlY29yZDIiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJ2YWx1ZSIsInJlc3VsdCIsImVyciIsImUiLCJmIiwiYXBwbHlGaWx0ZXJzVG9EYXRhIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlcnMiLCJzZWxlY3RlZCIsIlN0cmluZyIsIm9uRmlsdGVyIiwicmVjb3JkIiwiZXZlcnkiLCJfcmVmIiwic29tZSIsImFwcGx5VGFibGVQaXBlbGluZSIsIl9yZWYyIiwiZGF0YVNvdXJjZSIsIl9yZWYyJGZpbHRlcnMiLCJwYWdpbmF0aW9uIiwibGVhZkNvbHVtbnMiLCJmaWx0ZXJlZCIsImN1cnJlbnREYXRhU291cmNlIiwidG90YWwiLCJzdGFydCIsImN1cnJlbnQiLCJwYWdlU2l6ZSIsImVuZCIsInNsaWNlIiwiY29sbGVjdFNvcnRlclN0YXRlcyIsImxlYXZlcyIsIl9hIiwic3RhdGVzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInNvcnRPcmRlciIsImRlZmF1bHRTb3J0T3JkZXIiLCJwdXNoIiwiZ2V0SW5pdGlhbFNvcnRlciIsImdldENvbnRyb2xsZWRTb3J0ZXIiLCJjb250cm9sbGVkQ29sdW1uIiwidW5kZWZpbmVkIiwiZ2V0SW5pdGlhbEZpbHRlcnMiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiaW5pdGlhbCIsImRlZmF1bHRGaWx0ZXJlZFZhbHVlIiwiZmlsdGVyZWRWYWx1ZSIsImdldENvbnRyb2xsZWRGaWx0ZXJzIiwiaGFzQ29udHJvbGxlZCIsIl9pdGVyYXRvcjQiLCJfc3RlcDQiLCJ1c2VTdGFibGVSZWYiLCJlcXVhbCIsInJlZiIsInNvcnRlckVxdWFsIiwiZmlsdGVyVmFsdWVFcXVhbCIsImkiLCJmaWx0ZXJzRXF1YWwiLCJrZXlzQSIsIk9iamVjdCIsImtleXMiLCJrZXlzQiIsIl9pIiwiX2tleXNBIiwidXNlVGFibGVEYXRhUGlwZWxpbmUiLCJfcmVmMyIsIm9uQ2hhbmdlIiwiX2IiLCJfYyIsIl9kIiwiY29udHJvbGxlZFNvcnRlciIsImNvbnRyb2xsZWRGaWx0ZXJzIiwiaW5pdGlhbFNvcnRlciIsImluaXRpYWxGaWx0ZXJzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZXRTb3J0ZXIiLCJfdXNlQ29udHJvbGxlZFN0YXRlMyIsIl91c2VDb250cm9sbGVkU3RhdGU0Iiwic2V0RmlsdGVycyIsIl91c2VDb250cm9sbGVkU3RhdGU1IiwiZGVmYXVsdEN1cnJlbnQiLCJfdXNlQ29udHJvbGxlZFN0YXRlNiIsInNldEN1cnJlbnQiLCJfdXNlQ29udHJvbGxlZFN0YXRlNyIsImRlZmF1bHRQYWdlU2l6ZSIsIl91c2VDb250cm9sbGVkU3RhdGU4Iiwic2V0UGFnZVNpemUiLCJwYWdpbmF0aW9uRW5hYmxlZCIsIm1lcmdlZFBhZ2luYXRpb24iLCJwcmltYXJ5IiwiYWRkaXRpb25hbCIsImNvbmNhdCIsImVtaXRDaGFuZ2UiLCJuZXh0RGF0YVNvdXJjZSIsImFjdGlvbiIsIm5leHRTdGF0ZSIsIndyYXBwZWRTZXRTb3J0ZXIiLCJ1cGRhdGVyIiwibmV4dFNvcnRlciIsInJlc2V0UGFnaW5hdGlvbiIsIm5leHRSZXN1bHQiLCJ3cmFwcGVkU2V0RmlsdGVycyIsIm5leHRGaWx0ZXJzIiwid3JhcHBlZFNldFBhZ2luYXRpb24iLCJjdXJyZW50VmFsdWUiLCJuZXh0VmFsdWUiLCJhc3NpZ24iLCJzZXRQYWdpbmF0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxTQUFTQSxPQUFPLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3ZDLE9BQU9DLGtCQUFrQixNQUFNLGtDQUFrQztBQUNqRSxPQUFPQyxhQUFhLE1BQU0sNkJBQTZCO0FBRXZELFNBQVNDLGNBQWMsUUFBUSxjQUFjO0FBb0U3QyxTQUFTQyxlQUFlQSxDQUN0QkMsTUFBZ0MsRUFBQTtFQUVoQyxJQUFJLE9BQU9BLE1BQU0sS0FBSyxVQUFVLEVBQUUsT0FBT0EsTUFBTTtFQUMvQyxJQUFJQSxNQUFNLElBQUlDLE9BQUEsQ0FBT0QsTUFBTSxNQUFLLFFBQVEsSUFBSSxTQUFTLElBQUlBLE1BQU0sRUFBRSxPQUFPQSxNQUFNLENBQUNFLE9BQU87RUFDdEYsT0FBTyxLQUFLO0FBQ2Q7QUFFQSxTQUFTQyxtQkFBbUJBLENBQXdCQyxNQUFzQixFQUFBO0VBQ3hFLElBQUlBLE1BQU0sQ0FBQ0osTUFBTSxJQUFJQyxPQUFBLENBQU9HLE1BQU0sQ0FBQ0osTUFBTSxNQUFLLFFBQVEsSUFBSSxVQUFVLElBQUlJLE1BQU0sQ0FBQ0osTUFBTSxFQUFFO0lBQ3JGLE9BQVFJLE1BQU0sQ0FBQ0osTUFBcUMsQ0FBQ0ssUUFBUTtFQUMvRDtFQUNBLE9BQU8sS0FBSztBQUNkO0FBRUEsU0FBU0MsZUFBZUEsQ0FDdEJD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LE1BQU0sQ0FBQSxFQUFBO0lBQ1R4QyxNQUFNLEVBQU5BLE1BQU07SUFDTlMsWUFBWSxFQUFaQSxZQUFZO0lBQ1pvQyxPQUFPLEVBQVBBLE9BQU87SUFDUGEsVUFBVSxFQUFFd0UsZ0JBQWdCO0lBQzVCYixTQUFTLEVBQUVxQixnQkFBZ0I7SUFDM0JsQixVQUFVLEVBQUV1QixpQkFBaUI7SUFDN0JNLGFBQWEsRUFBRUo7RUFBb0IsQ0FBQSxDQUFBO0FBRXZDLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlRGF0YVBpcGVsaW5lLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VNZW1vaXplZEZuIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlTWVtb2l6ZWRGbic7XG5pbXBvcnQgeyBmbGF0dGVuQ29sdW1ucyB9IGZyb20gJy4vY29sdW1uVXRpbCc7XG5mdW5jdGlvbiBnZXRTb3J0RnVuY3Rpb24oc29ydGVyKSB7XG4gICAgaWYgKHR5cGVvZiBzb3J0ZXIgPT09ICdmdW5jdGlvbicpXG4gICAgICAgIHJldHVybiBzb3J0ZXI7XG4gICAgaWYgKHNvcnRlciAmJiB0eXBlb2Ygc29ydGVyID09PSAnb2JqZWN0JyAmJiAnY29tcGFyZScgaW4gc29ydGVyKVxuICAgICAgICByZXR1cm4gc29ydGVyLmNvbXBhcmU7XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZ2V0TXVsdGlwbGVQcmlvcml0eShjb2x1bW4pIHtcbiAgICBpZiAoY29sdW1uLnNvcnRlciAmJiB0eXBlb2YgY29sdW1uLnNvcnRlciA9PT0gJ29iamVjdCcgJiYgJ211bHRpcGxlJyBpbiBjb2x1bW4uc29ydGVyKSB7XG4gICAgICAgIHJldHVybiBjb2x1bW4uc29ydGVyLm11bHRpcGxlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBhcHBseVNvcnRUb0RhdGEoZGF0YSwgY29sdW1ucywgc29ydGVyU3RhdGVzKSB7XG4gICAgaWYgKHNvcnRlclN0YXRlcy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIGNvbnN0IHNvcnRlZCA9IFsuLi5kYXRhXTtcbiAgICBjb25zdCBydW5uaW5nU29ydGVycyA9IHNvcnRlclN0YXRlc1xuICAgICAgICAubWFwKChzdGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGNvbCkgPT4gY29sLmtleSA9PT0gc3RhdGUuY29sdW1uS2V5KTtcbiAgICAgICAgaWYgKCFjb2x1bW4pXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgY29tcGFyZUZuID0gZ2V0U29ydEZ1bmN0aW9uKGNvbHVtbi5zb3J0ZXIpO1xuICAgICAgICBpZiAoIWNvbXBhcmVGbilcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICBjb25zdCBwcmlvcml0eSA9IGdldE11bHRpcGxlUHJpb3JpdHkoY29sdW1uKTtcbiAgICAgICAgcmV0dXJuIHsgY29tcGFyZUZuLCBvcmRlcjogc3RhdGUub3JkZXIsIHByaW9yaXR5IH07XG4gICAgfSlcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICBpZiAocnVubmluZ1NvcnRlcnMubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAvLyBIaWdoZXIgcHJpb3JpdHkgbnVtYmVyID0gY29tcGFyZWQgZmlyc3RcbiAgICBydW5uaW5nU29ydGVycy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGFwID0gdHlwZW9mIGEucHJpb3JpdHkgPT09ICdudW1iZXInID8gYS5wcmlvcml0eSA6IDA7XG4gICAgICAgIGNvbnN0IGJwID0gdHlwZW9mIGIucHJpb3JpdHkgPT09ICdudW1iZXInID8gYi5wcmlvcml0eSA6IDA7XG4gICAgICAgIHJldHVybiBicCAtIGFwO1xuICAgIH0pO1xuICAgIHNvcnRlZC5zb3J0KChyZWNvcmQxLCByZWNvcmQyKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgeyBjb21wYXJlRm4sIG9yZGVyIH0gb2YgcnVubmluZ1NvcnRlcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbXBhcmVGbihyZWNvcmQxLCByZWNvcmQyKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3JkZXIgPT09ICdhc2NlbmQnID8gcmVzdWx0IDogLXJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9KTtcbiAgICByZXR1cm4gc29ydGVkO1xufVxuZnVuY3Rpb24gYXBwbHlGaWx0ZXJzVG9EYXRhKGRhdGEsIGNvbHVtbnMsIGZpbHRlcnMpIHtcbiAgICAvLyBSZXNvbHZlIHdoaWNoIGNvbHVtbnMgaGF2ZSBhbiBhY3RpdmUgZmlsdGVyIHNlbGVjdGlvbiBBTkQgYSBwcmVkaWNhdGUuXG4gICAgY29uc3QgYWN0aXZlRmlsdGVycyA9IGNvbHVtbnNcbiAgICAgICAgLm1hcCgoY29sKSA9PiB7XG4gICAgICAgIGlmIChjb2wua2V5ID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBmaWx0ZXJzW1N0cmluZyhjb2wua2V5KV07XG4gICAgICAgIGlmICghc2VsZWN0ZWQgfHwgc2VsZWN0ZWQubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGlmICghY29sLm9uRmlsdGVyKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHJldHVybiB7IG9uRmlsdGVyOiBjb2wub25GaWx0ZXIsIHNlbGVjdGVkIH07XG4gICAgfSlcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICBpZiAoYWN0aXZlRmlsdGVycy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIHJldHVybiBkYXRhLmZpbHRlcigocmVjb3JkKSA9PiBcbiAgICAvLyBSb3cgcGFzc2VzIG9ubHkgaWYgRVZFUlkgYWN0aXZlIGNvbHVtbiBoYXMgYXQgbGVhc3Qgb25lIG1hdGNoaW5nIHNlbGVjdGVkIHZhbHVlLlxuICAgIGFjdGl2ZUZpbHRlcnMuZXZlcnkoKHsgb25GaWx0ZXIsIHNlbGVjdGVkIH0pID0+IHNlbGVjdGVkLnNvbWUoKHZhbHVlKSA9PiBvbkZpbHRlcih2YWx1ZSwgcmVjb3JkKSkpKTtcbn1cbmV4cG9ydCBjb25zdCBhcHBseVRhYmxlUGlwZWxpbmUgPSAoeyBjb2x1bW5zLCBkYXRhU291cmNlLCBzb3J0ZXIsIGZpbHRlcnMgPSB7fSwgcGFnaW5hdGlvbiwgfSkgPT4ge1xuICAgIGNvbnN0IHNvcnRlclN0YXRlcyA9IHNvcnRlci5jb2x1bW5LZXkgIT0gbnVsbCAmJiBzb3J0ZXIub3JkZXJcbiAgICAgICAgPyBbeyBjb2x1bW5LZXk6IHNvcnRlci5jb2x1bW5LZXksIG9yZGVyOiBzb3J0ZXIub3JkZXIgfV1cbiAgICAgICAgOiBbXTtcbiAgICBjb25zdCBsZWFmQ29sdW1ucyA9IGZsYXR0ZW5Db2x1bW5zKGNvbHVtbnMpO1xuICAgIGNvbnN0IGZpbHRlcmVkID0gYXBwbHlGaWx0ZXJzVG9EYXRhKGRhdGFTb3VyY2UsIGxlYWZDb2x1bW5zLCBmaWx0ZXJzKTtcbiAgICBjb25zdCBzb3J0ZWQgPSBhcHBseVNvcnRUb0RhdGEoZmlsdGVyZWQsIGxlYWZDb2x1bW5zLCBzb3J0ZXJTdGF0ZXMpO1xuICAgIGlmICghcGFnaW5hdGlvbikge1xuICAgICAgICByZXR1cm4geyBjdXJyZW50RGF0YVNvdXJjZTogc29ydGVkLCB0b3RhbDogc29ydGVkLmxlbmd0aCB9O1xuICAgIH1cbiAgICBjb25zdCBzdGFydCA9IChwYWdpbmF0aW9uLmN1cnJlbnQgLSAxKSAqIHBhZ2luYXRpb24ucGFnZVNpemU7XG4gICAgY29uc3QgZW5kID0gc3RhcnQgKyBwYWdpbmF0aW9uLnBhZ2VTaXplO1xuICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnREYXRhU291cmNlOiBzb3J0ZWQuc2xpY2Uoc3RhcnQsIGVuZCksXG4gICAgICAgIHRvdGFsOiBzb3J0ZWQubGVuZ3RoLFxuICAgIH07XG59O1xuZnVuY3Rpb24gY29sbGVjdFNvcnRlclN0YXRlcyhsZWF2ZXMpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3Qgc3RhdGVzID0gW107XG4gICAgZm9yIChjb25zdCBjb2wgb2YgbGVhdmVzKSB7XG4gICAgICAgIGNvbnN0IG9yZGVyID0gKF9hID0gY29sLnNvcnRPcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogY29sLmRlZmF1bHRTb3J0T3JkZXI7XG4gICAgICAgIGlmIChjb2wua2V5ICE9IG51bGwgJiYgb3JkZXIpIHtcbiAgICAgICAgICAgIHN0YXRlcy5wdXNoKHsgY29sdW1uS2V5OiBjb2wua2V5LCBvcmRlciB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3RhdGVzO1xufVxuY29uc3QgZ2V0SW5pdGlhbFNvcnRlciA9IChsZWF2ZXMpID0+IHtcbiAgICBjb25zdCBzdGF0ZXMgPSBjb2xsZWN0U29ydGVyU3RhdGVzKGxlYXZlcyk7XG4gICAgaWYgKHN0YXRlcy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiB7fTtcbiAgICByZXR1cm4geyBjb2x1bW5LZXk6IHN0YXRlc1swXS5jb2x1bW5LZXksIG9yZGVyOiBzdGF0ZXNbMF0ub3JkZXIgfTtcbn07XG5jb25zdCBnZXRDb250cm9sbGVkU29ydGVyID0gKGxlYXZlcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCBjb250cm9sbGVkQ29sdW1uID0gbGVhdmVzLmZpbmQoKGNvbHVtbikgPT4gY29sdW1uLnNvcnRPcmRlciAhPT0gdW5kZWZpbmVkKTtcbiAgICBpZiAoIWNvbnRyb2xsZWRDb2x1bW4pIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29sdW1uS2V5OiBjb250cm9sbGVkQ29sdW1uLmtleSxcbiAgICAgICAgb3JkZXI6IChfYSA9IGNvbnRyb2xsZWRDb2x1bW4uc29ydE9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsLFxuICAgIH07XG59O1xuY29uc3QgZ2V0SW5pdGlhbEZpbHRlcnMgPSAobGVhdmVzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHN0YXRlID0ge307XG4gICAgZm9yIChjb25zdCBjb2wgb2YgbGVhdmVzKSB7XG4gICAgICAgIGlmIChjb2wua2V5ID09IG51bGwpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IChfYSA9IGNvbC5kZWZhdWx0RmlsdGVyZWRWYWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogY29sLmZpbHRlcmVkVmFsdWU7XG4gICAgICAgIGlmIChpbml0aWFsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHN0YXRlW1N0cmluZyhjb2wua2V5KV0gPSBpbml0aWFsICE9PSBudWxsICYmIGluaXRpYWwgIT09IHZvaWQgMCA/IGluaXRpYWwgOiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdGF0ZTtcbn07XG5jb25zdCBnZXRDb250cm9sbGVkRmlsdGVycyA9IChsZWF2ZXMpID0+IHtcbiAgICBsZXQgaGFzQ29udHJvbGxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IHN0YXRlID0ge307XG4gICAgZm9yIChjb25zdCBjb2wgb2YgbGVhdmVzKSB7XG4gICAgICAgIGlmIChjb2wua2V5ID09IG51bGwpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKGNvbC5maWx0ZXJlZFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhhc0NvbnRyb2xsZWQgPSB0cnVlO1xuICAgICAgICAgICAgc3RhdGVbU3RyaW5nKGNvbC5rZXkpXSA9IGNvbC5maWx0ZXJlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoYXNDb250cm9sbGVkID8gc3RhdGUgOiB1bmRlZmluZWQ7XG59O1xuLyoqXG4gKiBSZXR1cm5zIGEgdmFsdWUgd2hvc2UgcmVmZXJlbmNlIGlzIHByZXNlcnZlZCBhY3Jvc3MgcmVuZGVycyBhcyBsb25nIGFzIHRoZVxuICogc2hhbGxvdyBjb250ZW50cyBhcmUgdW5jaGFuZ2VkIChwZXIgYGVxdWFsYCkuIFVzZWQgdG8gc3RhYmlsaXNlIHRoZSBkZXJpdmVkXG4gKiBjb250cm9sbGVkIGNhbmRpZGF0ZXMgZmVkIHRvIGB1c2VDb250cm9sbGVkU3RhdGVgIOKAlCB0aGV5IHdvdWxkIG90aGVyd2lzZSBiZVxuICogZnJlc2ggb2JqZWN0cyBldmVyeSByZW5kZXIgYW5kIHRocmFzaCB0aGUgaG9vaydzIGludGVybmFsIGB1c2VMYXlvdXRFZmZlY3RgLlxuICovXG5mdW5jdGlvbiB1c2VTdGFibGVSZWYodmFsdWUsIGVxdWFsKSB7XG4gICAgY29uc3QgcmVmID0gdXNlUmVmKHZhbHVlKTtcbiAgICBpZiAoIWVxdWFsKHJlZi5jdXJyZW50LCB2YWx1ZSkpIHtcbiAgICAgICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZi5jdXJyZW50O1xufVxuZnVuY3Rpb24gc29ydGVyRXF1YWwoYSwgYikge1xuICAgIGlmIChhID09PSBiKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoIWEgfHwgIWIpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gYS5jb2x1bW5LZXkgPT09IGIuY29sdW1uS2V5ICYmIGEub3JkZXIgPT09IGIub3JkZXI7XG59XG5mdW5jdGlvbiBmaWx0ZXJWYWx1ZUVxdWFsKGEsIGIpIHtcbiAgICBpZiAoYSA9PT0gYilcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKCFhIHx8ICFiKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYVtpXSAhPT0gYltpXSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBmaWx0ZXJzRXF1YWwoYSwgYikge1xuICAgIGlmIChhID09PSBiKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoIWEgfHwgIWIpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBrZXlzQSA9IE9iamVjdC5rZXlzKGEpO1xuICAgIGNvbnN0IGtleXNCID0gT2JqZWN0LmtleXMoYik7XG4gICAgaWYgKGtleXNBLmxlbmd0aCAhPT0ga2V5c0IubGVuZ3RoKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5c0EpIHtcbiAgICAgICAgaWYgKCFmaWx0ZXJWYWx1ZUVxdWFsKGFba2V5XSwgYltrZXldKSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5leHBvcnQgY29uc3QgdXNlVGFibGVEYXRhUGlwZWxpbmUgPSAoeyBjb2x1bW5zLCBkYXRhU291cmNlLCBwYWdpbmF0aW9uLCBvbkNoYW5nZSwgfSkgPT4ge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAvLyBGbGF0dGVuIG9uY2UgcGVyIGBjb2x1bW5zYCBjaGFuZ2UgYW5kIHNoYXJlIHRoZSBsZWFmIGxpc3QgYWNyb3NzIGV2ZXJ5XG4gICAgLy8gZGVyaXZlIHN0ZXAgYmVsb3cg4oCUIHRoZXkgdXNlZCB0byBlYWNoIHJlLWZsYXR0ZW4gb24gZXZlcnkgcmVuZGVyLlxuICAgIGNvbnN0IGxlYXZlcyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbkNvbHVtbnMoY29sdW1ucyksIFtjb2x1bW5zXSk7XG4gICAgLy8gU29ydGVyIC8gZmlsdGVycyBhcmUgXCJkZXJpdmVkIGNvbnRyb2xsZWRcIiDigJQgdGhlIGNvbnRyb2xsZWQgdmFsdWUgaXMgYnVpbHRcbiAgICAvLyBieSBzY2FubmluZyBjb2x1bW4gcHJvcHMgKGBzb3J0T3JkZXJgIC8gYGZpbHRlcmVkVmFsdWVgKSwgc28gYGdldENvbnRyb2xsZWQqYFxuICAgIC8vIHJldHVybnMgYSBmcmVzaCBvYmplY3QgZXZlcnkgcmVuZGVyIGV2ZW4gd2hlbiB0aGUgdW5kZXJseWluZyBpbnB1dHMgYXJlXG4gICAgLy8gdW5jaGFuZ2VkLiBXaXRob3V0IHN0YWJpbGlzYXRpb24sIGB1c2VDb250cm9sbGVkU3RhdGVgJ3MgaW50ZXJuYWxcbiAgICAvLyBgdXNlTGF5b3V0RWZmZWN0KFt2YWx1ZV0pYCB3b3VsZCByZS1zeW5jIG9uIGV2ZXJ5IHJlbmRlciDihpIgaW5maW5pdGUgbG9vcC5cbiAgICAvLyBQaW4gdGhlIHJlZmVyZW5jZSB2aWEgYSBzaGFsbG93LWVxdWFsIHJlZi5cbiAgICBjb25zdCBjb250cm9sbGVkU29ydGVyID0gdXNlU3RhYmxlUmVmKGdldENvbnRyb2xsZWRTb3J0ZXIobGVhdmVzKSwgc29ydGVyRXF1YWwpO1xuICAgIGNvbnN0IGNvbnRyb2xsZWRGaWx0ZXJzID0gdXNlU3RhYmxlUmVmKGdldENvbnRyb2xsZWRGaWx0ZXJzKGxlYXZlcyksIGZpbHRlcnNFcXVhbCk7XG4gICAgLy8gSW5pdGlhbCBzb3J0ZXIgLyBmaWx0ZXJzIG9ubHkgbWF0dGVyIG9uIG1vdW50LCBzbyBtZW1vaXNlIHRoZW0gb24gYGxlYXZlc2BcbiAgICAvLyBpbnN0ZWFkIG9mIHJlY29tcHV0aW5nIChhbmQgcmUtZmxhdHRlbmluZykgZXZlcnkgcmVuZGVyLlxuICAgIGNvbnN0IGluaXRpYWxTb3J0ZXIgPSB1c2VNZW1vKCgpID0+IGdldEluaXRpYWxTb3J0ZXIobGVhdmVzKSwgW2xlYXZlc10pO1xuICAgIGNvbnN0IGluaXRpYWxGaWx0ZXJzID0gdXNlTWVtbygoKSA9PiBnZXRJbml0aWFsRmlsdGVycyhsZWF2ZXMpLCBbbGVhdmVzXSk7XG4gICAgY29uc3QgW3NvcnRlciwgc2V0U29ydGVyXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShpbml0aWFsU29ydGVyLCBjb250cm9sbGVkU29ydGVyKTtcbiAgICBjb25zdCBbZmlsdGVycywgc2V0RmlsdGVyc10gPSB1c2VDb250cm9sbGVkU3RhdGUoaW5pdGlhbEZpbHRlcnMsIGNvbnRyb2xsZWRGaWx0ZXJzKTtcbiAgICBjb25zdCBbY3VycmVudCwgc2V0Q3VycmVudF0gPSB1c2VDb250cm9sbGVkU3RhdGUocGFnaW5hdGlvbiA9PT0gZmFsc2UgPyAxIDogKChfYiA9IChfYSA9IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5kZWZhdWx0Q3VycmVudCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogcGFnaW5hdGlvbiA9PT0gbnVsbCB8fCBwYWdpbmF0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYWdpbmF0aW9uLmN1cnJlbnQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDEpLCBwYWdpbmF0aW9uID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5jdXJyZW50KTtcbiAgICBjb25zdCBbcGFnZVNpemUsIHNldFBhZ2VTaXplXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShwYWdpbmF0aW9uID09PSBmYWxzZSA/IDEwIDogKChfZCA9IChfYyA9IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5kZWZhdWx0UGFnZVNpemUpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5wYWdlU2l6ZSkgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogMTApLCBwYWdpbmF0aW9uID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHBhZ2luYXRpb24gPT09IG51bGwgfHwgcGFnaW5hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFnaW5hdGlvbi5wYWdlU2l6ZSk7XG4gICAgLy8gTWVtb2lzZSBvbiBwcmltaXRpdmVzIOKAlCBhIGZyZXNoIGB7IGN1cnJlbnQsIHBhZ2VTaXplIH1gIGxpdGVyYWwgZXZlcnkgcmVuZGVyXG4gICAgLy8gd291bGQgZGVmZWF0IHRoZSBgcmVzdWx0YCBtZW1vIGJlbG93IGFuZCByZS1ydW4gZmlsdGVyICsgc29ydCArIHNsaWNlIG9uXG4gICAgLy8gZXZlcnkgdW5yZWxhdGVkIHJlLXJlbmRlci5cbiAgICBjb25zdCBwYWdpbmF0aW9uRW5hYmxlZCA9IHBhZ2luYXRpb24gIT09IGZhbHNlO1xuICAgIGNvbnN0IG1lcmdlZFBhZ2luYXRpb24gPSB1c2VNZW1vKCgpID0+IChwYWdpbmF0aW9uRW5hYmxlZCA/IHsgY3VycmVudCwgcGFnZVNpemUgfSA6IGZhbHNlKSwgW3BhZ2luYXRpb25FbmFibGVkLCBjdXJyZW50LCBwYWdlU2l6ZV0pO1xuICAgIGNvbnN0IHNvcnRlclN0YXRlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICAvLyBTdGFydCB3aXRoIHRoZSBwcmltYXJ5IHVzZXItdG9nZ2xlZCBzb3J0ZXJcbiAgICAgICAgY29uc3QgcHJpbWFyeSA9IHNvcnRlci5jb2x1bW5LZXkgIT0gbnVsbCAmJiBzb3J0ZXIub3JkZXJcbiAgICAgICAgICAgID8gW3sgY29sdW1uS2V5OiBzb3J0ZXIuY29sdW1uS2V5LCBvcmRlcjogc29ydGVyLm9yZGVyIH1dXG4gICAgICAgICAgICA6IFtdO1xuICAgICAgICAvLyBDb2xsZWN0IGFueSBvdGhlciBjb2x1bW5zIHRoYXQgaGF2ZSBhIGNvbnRyb2xsZWQgc29ydE9yZGVyIChmb3IgbXVsdGktc29ydClcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbCA9IGxlYXZlc1xuICAgICAgICAgICAgLmZpbHRlcigoY29sKSA9PiBjb2wua2V5ICE9IG51bGwgJiYgY29sLnNvcnRPcmRlciAmJiBjb2wua2V5ICE9PSBzb3J0ZXIuY29sdW1uS2V5KVxuICAgICAgICAgICAgLm1hcCgoY29sKSA9PiAoeyBjb2x1bW5LZXk6IGNvbC5rZXksIG9yZGVyOiBjb2wuc29ydE9yZGVyIH0pKTtcbiAgICAgICAgcmV0dXJuIFsuLi5wcmltYXJ5LCAuLi5hZGRpdGlvbmFsXTtcbiAgICB9LCBbc29ydGVyLCBsZWF2ZXNdKTtcbiAgICBjb25zdCByZXN1bHQgPSB1c2VNZW1vKCgpID0+IGFwcGx5VGFibGVQaXBlbGluZSh7XG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGRhdGFTb3VyY2UsXG4gICAgICAgIHNvcnRlcixcbiAgICAgICAgZmlsdGVycyxcbiAgICAgICAgcGFnaW5hdGlvbjogbWVyZ2VkUGFnaW5hdGlvbixcbiAgICB9KSwgW2NvbHVtbnMsIGRhdGFTb3VyY2UsIHNvcnRlciwgZmlsdGVycywgbWVyZ2VkUGFnaW5hdGlvbl0pO1xuICAgIGNvbnN0IGVtaXRDaGFuZ2UgPSB1c2VNZW1vaXplZEZuKChuZXh0RGF0YVNvdXJjZSwgYWN0aW9uLCBuZXh0U3RhdGUpID0+IHtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKHtcbiAgICAgICAgICAgIGN1cnJlbnREYXRhU291cmNlOiBuZXh0RGF0YVNvdXJjZSxcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgIHNvcnRlcjogbmV4dFN0YXRlLnNvcnRlcixcbiAgICAgICAgICAgIGZpbHRlcnM6IG5leHRTdGF0ZS5maWx0ZXJzLFxuICAgICAgICAgICAgcGFnaW5hdGlvbjogbmV4dFN0YXRlLnBhZ2luYXRpb24sXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIC8vIHVzZU1lbW9pemVkRm46IHN0YWJsZSByZWYsIGFsd2F5cyBjYWxscyBsYXRlc3QgY2xvc3VyZSDigJQgbm8gc3RhbGUgZGVwcyByaXNrXG4gICAgY29uc3Qgd3JhcHBlZFNldFNvcnRlciA9IHVzZU1lbW9pemVkRm4oKHVwZGF0ZXIpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dFNvcnRlciA9IHR5cGVvZiB1cGRhdGVyID09PSAnZnVuY3Rpb24nID8gdXBkYXRlcihzb3J0ZXIpIDogdXBkYXRlcjtcbiAgICAgICAgc2V0U29ydGVyKG5leHRTb3J0ZXIpO1xuICAgICAgICAvLyBSZXNldCBwYWdpbmF0aW9uIHRvIHBhZ2UgMSB3aGVuIHNvcnRpbmcgY2hhbmdlc1xuICAgICAgICBpZiAobWVyZ2VkUGFnaW5hdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHNldEN1cnJlbnQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCByZXNldFBhZ2luYXRpb24gPSBtZXJnZWRQYWdpbmF0aW9uID09PSBmYWxzZVxuICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICA6IHsgY3VycmVudDogMSwgcGFnZVNpemUgfTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRSZXN1bHQgPSBhcHBseVRhYmxlUGlwZWxpbmUoe1xuICAgICAgICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgICAgICAgZGF0YVNvdXJjZSxcbiAgICAgICAgICAgICAgICBzb3J0ZXI6IG5leHRTb3J0ZXIsXG4gICAgICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uOiByZXNldFBhZ2luYXRpb24sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UobmV4dFJlc3VsdC5jdXJyZW50RGF0YVNvdXJjZSwgJ3NvcnQnLCB7XG4gICAgICAgICAgICAgICAgc29ydGVyOiBuZXh0U29ydGVyLFxuICAgICAgICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbjogcmVzZXRQYWdpbmF0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCB3cmFwcGVkU2V0RmlsdGVycyA9IHVzZU1lbW9pemVkRm4oKHVwZGF0ZXIpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dEZpbHRlcnMgPSB0eXBlb2YgdXBkYXRlciA9PT0gJ2Z1bmN0aW9uJyA/IHVwZGF0ZXIoZmlsdGVycykgOiB1cGRhdGVyO1xuICAgICAgICBzZXRGaWx0ZXJzKG5leHRGaWx0ZXJzKTtcbiAgICAgICAgLy8gUmVzZXQgcGFnaW5hdGlvbiB0byBwYWdlIDEgd2hlbiBmaWx0ZXJzIGNoYW5nZVxuICAgICAgICBpZiAobWVyZ2VkUGFnaW5hdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHNldEN1cnJlbnQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCByZXNldFBhZ2luYXRpb24gPSBtZXJnZWRQYWdpbmF0aW9uID09PSBmYWxzZVxuICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICA6IHsgY3VycmVudDogMSwgcGFnZVNpemUgfTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRSZXN1bHQgPSBhcHBseVRhYmxlUGlwZWxpbmUoe1xuICAgICAgICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgICAgICAgZGF0YVNvdXJjZSxcbiAgICAgICAgICAgICAgICBzb3J0ZXIsXG4gICAgICAgICAgICAgICAgZmlsdGVyczogbmV4dEZpbHRlcnMsXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbjogcmVzZXRQYWdpbmF0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbWl0Q2hhbmdlKG5leHRSZXN1bHQuY3VycmVudERhdGFTb3VyY2UsICdmaWx0ZXInLCB7XG4gICAgICAgICAgICAgICAgc29ydGVyLFxuICAgICAgICAgICAgICAgIGZpbHRlcnM6IG5leHRGaWx0ZXJzLFxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IHJlc2V0UGFnaW5hdGlvbixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3Qgd3JhcHBlZFNldFBhZ2luYXRpb24gPSB1c2VNZW1vaXplZEZuKCh1cGRhdGVyKSA9PiB7XG4gICAgICAgIGlmIChwYWdpbmF0aW9uID09PSBmYWxzZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0geyBjdXJyZW50LCBwYWdlU2l6ZSB9O1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0eXBlb2YgdXBkYXRlciA9PT0gJ2Z1bmN0aW9uJyA/IHVwZGF0ZXIoY3VycmVudFZhbHVlKSA6IHVwZGF0ZXI7XG4gICAgICAgIHNldEN1cnJlbnQobmV4dFZhbHVlLmN1cnJlbnQpO1xuICAgICAgICBzZXRQYWdlU2l6ZShuZXh0VmFsdWUucGFnZVNpemUpO1xuICAgICAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRSZXN1bHQgPSBhcHBseVRhYmxlUGlwZWxpbmUoe1xuICAgICAgICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgICAgICAgZGF0YVNvdXJjZSxcbiAgICAgICAgICAgICAgICBzb3J0ZXIsXG4gICAgICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uOiBuZXh0VmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UobmV4dFJlc3VsdC5jdXJyZW50RGF0YVNvdXJjZSwgJ3BhZ2luYXRlJywge1xuICAgICAgICAgICAgICAgIHNvcnRlcixcbiAgICAgICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IG5leHRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcmVzdWx0KSwgeyBzb3J0ZXIsXG4gICAgICAgIHNvcnRlclN0YXRlcyxcbiAgICAgICAgZmlsdGVycywgcGFnaW5hdGlvbjogbWVyZ2VkUGFnaW5hdGlvbiwgc2V0U29ydGVyOiB3cmFwcGVkU2V0U29ydGVyLCBzZXRGaWx0ZXJzOiB3cmFwcGVkU2V0RmlsdGVycywgc2V0UGFnaW5hdGlvbjogd3JhcHBlZFNldFBhZ2luYXRpb24gfSk7XG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -61,4 +61,4 @@ export var useTableExpand = function useTableExpand(_ref) {
|
|
|
61
61
|
onKernelExpand: onKernelExpand
|
|
62
62
|
};
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUV4cGFuZC50cyIsImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUV4cGFuZC5qcyJdLCJuYW1lcyI6WyJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VNZW1vaXplZEZuIiwidXNlVGFibGVFeHBhbmQiLCJfcmVmIiwiZXhwYW5kYWJsZSIsImRhdGFTb3VyY2UiLCJnZXRSb3dLZXkiLCJjb21wdXRlRGVmYXVsdEtleXMiLCJkZWZhdWx0RXhwYW5kZWRSb3dLZXlzIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZGVmYXVsdEV4cGFuZEFsbFJvd3MiLCJyb3dFeHBhbmRhYmxlIiwibWFwIiwicmVjb3JkIiwiaW5kZXgiLCJrZXkiLCJmaWx0ZXIiLCJfcmVmMiIsIl9yZWYzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsImV4cGFuZGVkUm93S2V5cyIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJzZXRNZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwicmVjb3JkS2V5IiwiX2EiLCJfYiIsImV4cGFuZGVkIiwiaW5jbHVkZXMiLCJuZXh0S2V5cyIsImNvbmNhdCIsIm9uRXhwYW5kIiwiY2FsbCIsIm9uRXhwYW5kZWRSb3dzQ2hhbmdlIiwib25LZXJuZWxFeHBhbmQiXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBT0Esa0JBQWtCLE1BQU0sa0NBQWtDO0FBQ2pFLE9BQU9DLGFBQWEsTUFBTSw2QkFBNkI7QUFHdkQsT0FBTyxJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUFDLElBQUEsRUFRdEI7RUFBQSxJQVBIQyxVQUFVLEdBQUFELElBQUEsQ0FBVkMsVUFBVTtJQUNWQyxVQUFVLEdBQUFGLElBQUEsQ0FBVkUsVUFBVTtJQUNWQyxTQUFTLEdBQUFILElBQUEsQ0FBVEcsU0FB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RStCLG9CQUFvQixNQUFBLElBQUEsSUFBQVAsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUFNLElBQUEsQ0FBQTlCLFVBQUEsRUFBRzJCLFFBQVEsQ0FBQztFQUM5QyxDQUFDLENBQUM7RUFFRixPQUFPO0lBQ0xSLHFCQUFxQixFQUFyQkEscUJBQXFCO0lBQ3JCRSxhQUFhLEVBQWJBLGFBQWE7SUFDYlcsY0FBYyxFQUFkQTtFQ2ZBLENEZ0JEO0FBQ0gsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVFeHBhbmQuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB1c2VDb250cm9sbGVkU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VDb250cm9sbGVkU3RhdGUnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmV4cG9ydCBjb25zdCB1c2VUYWJsZUV4cGFuZCA9ICh7IGV4cGFuZGFibGUsIGRhdGFTb3VyY2UsIGdldFJvd0tleSwgfSkgPT4ge1xuICAgIC8vIE1hdGNoIHRhYmxlOiBgZGVmYXVsdEV4cGFuZEFsbFJvd3NgIHNlZWRzIGluaXRpYWwgZXhwYW5zaW9uIHdpdGggZXZlcnlcbiAgICAvLyByb3cgd2hvc2Uga2V5IGlzIGV4cGFuZGFibGUuIGByb3dFeHBhbmRhYmxlYCAoaWYgcHJlc2VudCkgc3RpbGwgZ2F0ZXMgdGhpcy5cbiAgICBjb25zdCBjb21wdXRlRGVmYXVsdEtleXMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZGVmYXVsdEV4cGFuZGVkUm93S2V5cylcbiAgICAgICAgICAgIHJldHVybiBbLi4uZXhwYW5kYWJsZS5kZWZhdWx0RXhwYW5kZWRSb3dLZXlzXTtcbiAgICAgICAgaWYgKCEoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmRlZmF1bHRFeHBhbmRBbGxSb3dzKSB8fCAhZGF0YVNvdXJjZSB8fCAhZ2V0Um93S2V5KVxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBjb25zdCByb3dFeHBhbmRhYmxlID0gZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlO1xuICAgICAgICByZXR1cm4gZGF0YVNvdXJjZVxuICAgICAgICAgICAgLm1hcCgocmVjb3JkLCBpbmRleCkgPT4gKHsgcmVjb3JkLCBrZXk6IGdldFJvd0tleShyZWNvcmQsIGluZGV4KSB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgcmVjb3JkIH0pID0+IChyb3dFeHBhbmRhYmxlID8gcm93RXhwYW5kYWJsZShyZWNvcmQpIDogdHJ1ZSkpXG4gICAgICAgICAgICAubWFwKCh7IGtleSB9KSA9PiBrZXkpO1xuICAgIH07XG4gICAgY29uc3QgW21lcmdlZEV4cGFuZGVkUm93S2V5cywgc2V0TWVyZ2VkRXhwYW5kZWRSb3dLZXlzXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShjb21wdXRlRGVmYXVsdEtleXMoKSwgZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZGVkUm93S2V5cyk7XG4gICAgY29uc3QgdHJpZ2dlckV4cGFuZCA9IHVzZU1lbW9pemVkRm4oKHJlY29yZEtleSwgcmVjb3JkKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIC8vIEhvbm9yIGByb3dFeHBhbmRhYmxlYDogcm93cyB0aGUgcHJlZGljYXRlIGRlbmllcyBjYW5ub3QgYmUgdG9nZ2xlZC4gVGhpc1xuICAgICAgICAvLyBhbHNvIGJsb2NrcyBwcm9ncmFtbWF0aWMgY2FsbGVycyAoZS5nLiBleHBhbmRSb3dCeUNsaWNrIG9uIHRoZSBrZXJuZWwpXG4gICAgICAgIC8vIGZyb20gYnlwYXNzaW5nIHRoZSBwcmVkaWNhdGUuXG4gICAgICAgIGlmICgoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLnJvd0V4cGFuZGFibGUpICYmICFleHBhbmRhYmxlLnJvd0V4cGFuZGFibGUocmVjb3JkKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgZXhwYW5kZWQgPSBtZXJnZWRFeHBhbmRlZFJvd0tleXMuaW5jbHVkZXMocmVjb3JkS2V5KTtcbiAgICAgICAgY29uc3QgbmV4dEtleXMgPSBleHBhbmRlZFxuICAgICAgICAgICAgPyBtZXJnZWRFeHBhbmRlZFJvd0tleXMuZmlsdGVyKGtleSA9PiBrZXkgIT09IHJlY29yZEtleSlcbiAgICAgICAgICAgIDogWy4uLm1lcmdlZEV4cGFuZGVkUm93S2V5cywgcmVjb3JkS2V5XTtcbiAgICAgICAgc2V0TWVyZ2VkRXhwYW5kZWRSb3dLZXlzKG5leHRLZXlzKTtcbiAgICAgICAgKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLm9uRXhwYW5kKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChleHBhbmRhYmxlLCAhZXhwYW5kZWQsIHJlY29yZCk7XG4gICAgICAgIChfYiA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5vbkV4cGFuZGVkUm93c0NoYW5nZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoZXhwYW5kYWJsZSwgbmV4dEtleXMpO1xuICAgIH0pO1xuICAgIC8vIENhbGxlZCBieSB0aGUga2VybmVsJ3Mgb25FeHBhbmQgKGUuZy4gZXhwYW5kUm93QnlDbGljaykg4oCUIHVwZGF0ZXMgc3RhdGVcbiAgICAvLyBhbmQgZGVsZWdhdGVzIHRvIHVzZXIgY2FsbGJhY2tzXG4gICAgY29uc3Qgb25LZXJuZWxFeHBhbmQgPSB1c2VNZW1vaXplZEZuKChleHBhbmRlZCwgcmVjb3JkLCByZWNvcmRLZXkpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUucm93RXhwYW5kYWJsZSkgJiYgIWV4cGFuZGFibGUucm93RXhwYW5kYWJsZShyZWNvcmQpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXh0S2V5cyA9IGV4cGFuZGVkXG4gICAgICAgICAgICA/IFsuLi5tZXJnZWRFeHBhbmRlZFJvd0tleXMsIHJlY29yZEtleV1cbiAgICAgICAgICAgIDogbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLmZpbHRlcihrZXkgPT4ga2V5ICE9PSByZWNvcmRLZXkpO1xuICAgICAgICBzZXRNZXJnZWRFeHBhbmRlZFJvd0tleXMobmV4dEtleXMpO1xuICAgICAgICAoX2EgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUub25FeHBhbmQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGV4cGFuZGFibGUsIGV4cGFuZGVkLCByZWNvcmQpO1xuICAgICAgICAoX2IgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUV4cGFuZC50cyIsImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUV4cGFuZC5qcyJdLCJuYW1lcyI6WyJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VNZW1vaXplZEZuIiwidXNlVGFibGVFeHBhbmQiLCJfcmVmIiwiZXhwYW5kYWJsZSIsImRhdGFTb3VyY2UiLCJnZXRSb3dLZXkiLCJjb21wdXRlRGVmYXVsdEtleXMiLCJkZWZhdWx0RXhwYW5kZWRSb3dLZXlzIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZGVmYXVsdEV4cGFuZEFsbFJvd3MiLCJyb3dFeHBhbmRhYmxlIiwibWFwIiwicmVjb3JkIiwiaW5kZXgiLCJrZXkiLCJmaWx0ZXIiLCJfcmVmMiIsIl9yZWYzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsImV4cGFuZGVkUm93S2V5cyIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJzZXRNZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwicmVjb3JkS2V5IiwiX2EiLCJfYiIsImV4cGFuZGVkIiwiaW5jbHVkZXMiLCJuZXh0S2V5cyIsImNvbmNhdCIsIm9uRXhwYW5kIiwiY2FsbCIsIm9uRXhwYW5kZWRSb3dzQ2hhbmdlIiwib25LZXJuZWxFeHBhbmQiXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBT0Esa0JBQWtCLE1BQU0sa0NBQWtDO0FBQ2pFLE9BQU9DLGFBQWEsTUFBTSw2QkFBNkI7QUFHdkQsT0FBTyxJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUFDLElBQUEsRUFRdEI7RUFBQSxJQVBIQyxVQUFVLEdBQUFELElBQUEsQ0FBVkMsVUFBVTtJQUNWQyxVQUFVLEdBQUFGLElBQUEsQ0FBVkUsVUFBVTtJQUNWQyxTQUFTLEdBQUFILElBQUEsQ0FBVEcsU0FB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RStCLG9CQUFvQixNQUFBLElBQUEsSUFBQVAsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUFNLElBQUEsQ0FBQTlCLFVBQUEsRUFBRzJCLFFBQVEsQ0FBQztFQUM5QyxDQUFDLENBQUM7RUFFRixPQUFPO0lBQ0xSLHFCQUFxQixFQUFyQkEscUJBQXFCO0lBQ3JCRSxhQUFhLEVBQWJBLGFBQWE7SUFDYlcsY0FBYyxFQUFkQTtFQ2ZBLENEZ0JEO0FBQ0gsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVFeHBhbmQuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB1c2VDb250cm9sbGVkU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VDb250cm9sbGVkU3RhdGUnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmV4cG9ydCBjb25zdCB1c2VUYWJsZUV4cGFuZCA9ICh7IGV4cGFuZGFibGUsIGRhdGFTb3VyY2UsIGdldFJvd0tleSwgfSkgPT4ge1xuICAgIC8vIE1hdGNoIHRhYmxlOiBgZGVmYXVsdEV4cGFuZEFsbFJvd3NgIHNlZWRzIGluaXRpYWwgZXhwYW5zaW9uIHdpdGggZXZlcnlcbiAgICAvLyByb3cgd2hvc2Uga2V5IGlzIGV4cGFuZGFibGUuIGByb3dFeHBhbmRhYmxlYCAoaWYgcHJlc2VudCkgc3RpbGwgZ2F0ZXMgdGhpcy5cbiAgICBjb25zdCBjb21wdXRlRGVmYXVsdEtleXMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZGVmYXVsdEV4cGFuZGVkUm93S2V5cylcbiAgICAgICAgICAgIHJldHVybiBbLi4uZXhwYW5kYWJsZS5kZWZhdWx0RXhwYW5kZWRSb3dLZXlzXTtcbiAgICAgICAgaWYgKCEoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmRlZmF1bHRFeHBhbmRBbGxSb3dzKSB8fCAhZGF0YVNvdXJjZSB8fCAhZ2V0Um93S2V5KVxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBjb25zdCByb3dFeHBhbmRhYmxlID0gZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlO1xuICAgICAgICByZXR1cm4gZGF0YVNvdXJjZVxuICAgICAgICAgICAgLm1hcCgocmVjb3JkLCBpbmRleCkgPT4gKHsgcmVjb3JkLCBrZXk6IGdldFJvd0tleShyZWNvcmQsIGluZGV4KSB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgcmVjb3JkIH0pID0+IChyb3dFeHBhbmRhYmxlID8gcm93RXhwYW5kYWJsZShyZWNvcmQpIDogdHJ1ZSkpXG4gICAgICAgICAgICAubWFwKCh7IGtleSB9KSA9PiBrZXkpO1xuICAgIH07XG4gICAgY29uc3QgW21lcmdlZEV4cGFuZGVkUm93S2V5cywgc2V0TWVyZ2VkRXhwYW5kZWRSb3dLZXlzXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShjb21wdXRlRGVmYXVsdEtleXMoKSwgZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZGVkUm93S2V5cyk7XG4gICAgY29uc3QgdHJpZ2dlckV4cGFuZCA9IHVzZU1lbW9pemVkRm4oKHJlY29yZEtleSwgcmVjb3JkKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIC8vIEhvbm9yIGByb3dFeHBhbmRhYmxlYDogcm93cyB0aGUgcHJlZGljYXRlIGRlbmllcyBjYW5ub3QgYmUgdG9nZ2xlZC4gVGhpc1xuICAgICAgICAvLyBhbHNvIGJsb2NrcyBwcm9ncmFtbWF0aWMgY2FsbGVycyAoZS5nLiBleHBhbmRSb3dCeUNsaWNrIG9uIHRoZSBrZXJuZWwpXG4gICAgICAgIC8vIGZyb20gYnlwYXNzaW5nIHRoZSBwcmVkaWNhdGUuXG4gICAgICAgIGlmICgoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLnJvd0V4cGFuZGFibGUpICYmICFleHBhbmRhYmxlLnJvd0V4cGFuZGFibGUocmVjb3JkKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgZXhwYW5kZWQgPSBtZXJnZWRFeHBhbmRlZFJvd0tleXMuaW5jbHVkZXMocmVjb3JkS2V5KTtcbiAgICAgICAgY29uc3QgbmV4dEtleXMgPSBleHBhbmRlZFxuICAgICAgICAgICAgPyBtZXJnZWRFeHBhbmRlZFJvd0tleXMuZmlsdGVyKGtleSA9PiBrZXkgIT09IHJlY29yZEtleSlcbiAgICAgICAgICAgIDogWy4uLm1lcmdlZEV4cGFuZGVkUm93S2V5cywgcmVjb3JkS2V5XTtcbiAgICAgICAgc2V0TWVyZ2VkRXhwYW5kZWRSb3dLZXlzKG5leHRLZXlzKTtcbiAgICAgICAgKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLm9uRXhwYW5kKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChleHBhbmRhYmxlLCAhZXhwYW5kZWQsIHJlY29yZCk7XG4gICAgICAgIChfYiA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5vbkV4cGFuZGVkUm93c0NoYW5nZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoZXhwYW5kYWJsZSwgbmV4dEtleXMpO1xuICAgIH0pO1xuICAgIC8vIENhbGxlZCBieSB0aGUga2VybmVsJ3Mgb25FeHBhbmQgKGUuZy4gZXhwYW5kUm93QnlDbGljaykg4oCUIHVwZGF0ZXMgc3RhdGVcbiAgICAvLyBhbmQgZGVsZWdhdGVzIHRvIHVzZXIgY2FsbGJhY2tzXG4gICAgY29uc3Qgb25LZXJuZWxFeHBhbmQgPSB1c2VNZW1vaXplZEZuKChleHBhbmRlZCwgcmVjb3JkLCByZWNvcmRLZXkpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUucm93RXhwYW5kYWJsZSkgJiYgIWV4cGFuZGFibGUucm93RXhwYW5kYWJsZShyZWNvcmQpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXh0S2V5cyA9IGV4cGFuZGVkXG4gICAgICAgICAgICA/IFsuLi5tZXJnZWRFeHBhbmRlZFJvd0tleXMsIHJlY29yZEtleV1cbiAgICAgICAgICAgIDogbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLmZpbHRlcihrZXkgPT4ga2V5ICE9PSByZWNvcmRLZXkpO1xuICAgICAgICBzZXRNZXJnZWRFeHBhbmRlZFJvd0tleXMobmV4dEtleXMpO1xuICAgICAgICAoX2EgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUub25FeHBhbmQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGV4cGFuZGFibGUsIGV4cGFuZGVkLCByZWNvcmQpO1xuICAgICAgICAoX2IgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUub25FeHBhbmRlZFJvd3NDaGFuZ2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKGV4cGFuZGFibGUsIG5leHRLZXlzKTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBtZXJnZWRFeHBhbmRlZFJvd0tleXMsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQsXG4gICAgICAgIG9uS2VybmVsRXhwYW5kLFxuICAgIH07XG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -144,4 +144,4 @@ export var useTableSelection = function useTableSelection(_ref) {
|
|
|
144
144
|
triggerSelectAll: triggerSelectAll
|
|
145
145
|
};
|
|
146
146
|
};
|
|
147
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNlbGVjdGlvbi50cyIsImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNlbGVjdGlvbi5qcyJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidXNlTWVtb2l6ZWRGbiIsInVzZVRhYmxlU2VsZWN0aW9uIiwiX3JlZiIsInJvd1NlbGVjdGlvbiIsImRhdGFTb3VyY2UiLCJjdXJyZW50RGF0YVNvdXJjZSIsImdldFJvd0tleSIsIl9hIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsImRlZmF1bHRTZWxlY3RlZFJvd0tleXMiLCJzZWxlY3RlZFJvd0tleXMiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwic2V0TWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwia3ZNYXBSZWYiLCJkYXRhIiwibWFwIiwiTWFwIiwiZ2V0S3ZNYXAiLCJjdXJyZW50IiwiaSIsImxlbmd0aCIsInNldCIsInByZXNlcnZlUmVjb3Jkc1JlZiIsImdldFJlY29yZEJ5S2V5Iiwia2V5IiwiZ2V0IiwicHJlc2VydmVTZWxlY3RlZFJvd0tleXMiLCJuZXh0Q2FjaGUiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJyZWNvcmQiLCJ1bmRlZmluZWQiLCJoYXMiLCJlcnIiLCJlIiwiZiIsImNoZWNrYm94UHJvcHNNYXAiLCJnZXRDaGVja2JveFByb3BzIiwiZm9yRWFjaCIsImluZGV4Iiwic2VsZWN0YWJsZUtleXMiLCJmaWx0ZXIiLCJkaXNhYmxlZCIsInNlbGVjdGVkU2VsZWN0YWJsZUtleXMiLCJzZWxlY3RlZFNldCIsIlNldCIsImlzQWxsU2VsZWN0ZWQiLCJpc0luZGV0ZXJtaW5hdGUiLCJyZXNvbHZlUmVjb3JkcyIsImtleXMiLCJrZXlTZXQiLCJ0cmlnZ2VyU2VsZWN0aW9uIiwicmVjb3JkS2V5IiwiX2IiLCJzZWxlY3Rpb25UeXBlIiwidHlwZSIsIm5leHRLZXlzIiwiaW5jbHVkZXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJvbkNoYW5nZSIsImNhbGwiLCJ0cmlnZ2VyU2VsZWN0QWxsIiwibWV0aG9kIiwiZGlzYWJsZWRTZWxlY3RlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxRQUFrQixPQUFPO0FBQzVELE9BQU9DLGtCQUFrQixNQUFNLGtDQUFrQztBQUNqRSxPQUFPQyxhQUFhLE1BQU0sNkJBQTZCO0FBR3ZELE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQUMsSUFBQSxFQVV6QjtFQUFBLElBVEhDLFlBQVksR0FBQUQsSUFBQSxDQUFaQyxZQUFZO0lBQ1pDLFVBQVUsR0FBQUYsSUFBQSxDQUFWRSxVQUFVO0lBQ1ZDLGlCQUFpQixHQUFBSCxJQUFBLENBQWpCRyxpQkFBaUI7SUFDakJDLFNBQVMsR0FBQUosSUFBQSxDQUFUSSxTQUFTO0VDTFAsSUFBSUMsRUFBRTtFRFlSLElBQUFDLG1CQUFBLEdBQTBEVCxrQkFBa0IsQ0FDMUUsQ0FBQVEsRUFBQSxHQUFBSixZQUFZLEtBQUEsSUFBQSxJQUFaQSxZQUFZLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVpBLFlBQVksQ0FBRU0sc0JBQXNCLE1BQUEsSUFBQSxJQUFBRixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxFQUFFLEVBQzFDSixZQUFZLEtBQUEsSUFBQSxJQUFaQSxZQUFZLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVpBLFlBQVksQ0FBRU8sZUFBZSxDQUM5QjtJQUFBQyxvQkFBQSxHQUFBQyxjQUFBLENBQUFKLG1CQUFBO0lBSE1LLHFCQUFxQixHQUFBRixvQkFB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WSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLENBQUVnRSxRQUFRLE1BQUEsSUFBQSxJQUFBNUQsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUE2RCxJQUFBLENBQUFqRSxZQUFBLEVBQUc0RCxRQUFRLEVBQUVSLGNBQWMsQ0FBQ1EsUUFBUSxDQUFDLEVBQUU7TUFBRUQsSUFBSSxFQUFFUTtJQUFNLENBQUUsQ0FBQztFQUNoRixDQUFDLENBQUM7RUFFRixPQUFPO0lBQ0x6RCxxQkFBcUIsRUFBckJBLHFCQUFxQjtJQUNyQjhCLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCVSxhQUFhLEVBQWJBLGFBQWE7SUFDYkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZJLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCVyxnQkFBZ0IsRUFBaEJBO0VDN0JBLENEOEJEO0FBQ0gsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVTZWxlY3Rpb24uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuZXhwb3J0IGNvbnN0IHVzZVRhYmxlU2VsZWN0aW9uID0gKHsgcm93U2VsZWN0aW9uLCBkYXRhU291cmNlLCBjdXJyZW50RGF0YVNvdXJjZSwgZ2V0Um93S2V5LCB9KSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IFttZXJnZWRTZWxlY3RlZFJvd0tleXMsIHNldE1lcmdlZFNlbGVjdGVkUm93S2V5c10gPSB1c2VDb250cm9sbGVkU3RhdGUoKF9hID0gcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLmRlZmF1bHRTZWxlY3RlZFJvd0tleXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdLCByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24uc2VsZWN0ZWRSb3dLZXlzKTtcbiAgICAvLyBMYXp5IGtleeKGknJlY29yZCBtYXAsIHJlYnVpbHQgd2hlbiBkYXRhU291cmNlIHJlZmVyZW5jZSBjaGFuZ2VzXG4gICAgY29uc3Qga3ZNYXBSZWYgPSB1c2VSZWYoeyBkYXRhOiBbXSwgbWFwOiBuZXcgTWFwKCkgfSk7XG4gICAgY29uc3QgZ2V0S3ZNYXAgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgaWYgKGt2TWFwUmVmLmN1cnJlbnQuZGF0YSAhPT0gZGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhU291cmNlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFwLnNldChnZXRSb3dLZXkoZGF0YVNvdXJjZVtpXSwgaSksIGRhdGFTb3VyY2VbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga3ZNYXBSZWYuY3VycmVudCA9IHsgZGF0YTogZGF0YVNvdXJjZSwgbWFwIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGt2TWFwUmVmLmN1cnJlbnQubWFwO1xuICAgIH0pO1xuICAgIC8vIENhY2hlIGZvciBwcmVzZXJ2ZVNlbGVjdGVkUm93S2V5czogc3RvcmVzIGtleeKGknJlY29yZCBldmVuIGFjcm9zcyBwYWdpbmF0aW9uXG4gICAgY29uc3QgcHJlc2VydmVSZWNvcmRzUmVmID0gdXNlUmVmKG5ldyBNYXAoKSk7XG4gICAgY29uc3QgZ2V0UmVjb3JkQnlLZXkgPSB1c2VNZW1vaXplZEZuKChrZXkpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gKF9hID0gZ2V0S3ZNYXAoKS5nZXQoa2V5KSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogcHJlc2VydmVSZWNvcmRzUmVmLmN1cnJlbnQuZ2V0KGtleSk7XG4gICAgfSk7XG4gICAgLy8gVXBkYXRlIGNhY2hlIHdoZW4gc2VsZWN0ZWQga2V5cyBjaGFuZ2VcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIShyb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24ucHJlc2VydmVTZWxlY3RlZFJvd0tleXMpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXh0Q2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIG1lcmdlZFNlbGVjdGVkUm93S2V5cykge1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gZ2V0UmVjb3JkQnlLZXkoa2V5KTtcbiAgICAgICAgICAgIGlmIChyZWNvcmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIG5leHRDYWNoZS5zZXQoa2V5LCByZWNvcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocHJlc2VydmVSZWNvcmRzUmVmLmN1cnJlbnQuaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgICBuZXh0Q2FjaGUuc2V0KGtleSwgcHJlc2VydmVSZWNvcmRzUmVmLmN1cnJlbnQuZ2V0KGtleSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByZXNlcnZlUmVjb3Jkc1JlZi5jdXJyZW50ID0gbmV4dENhY2hlO1xuICAgIH0sIFttZXJnZWRTZWxlY3RlZFJvd0tleXMsIHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi5wcmVzZXJ2ZVNlbGVjdGVkUm93S2V5cywgZ2V0UmVjb3JkQnlLZXldKTtcbiAgICBjb25zdCBjaGVja2JveFByb3BzTWFwID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgaWYgKCEocm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLmdldENoZWNrYm94UHJvcHMpKVxuICAgICAgICAgICAgcmV0dXJuIG1hcDtcbiAgICAgICAgY3VycmVudERhdGFTb3VyY2UuZm9yRWFjaCgocmVjb3JkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpO1xuICAgICAgICAgICAgbWFwLnNldChrZXksIHJvd1NlbGVjdGlvbi5nZXRDaGVja2JveFByb3BzKHJlY29yZCkpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCBbY3VycmVudERhdGFTb3VyY2UsIGdldFJvd0tleSwgcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLmdldENoZWNrYm94UHJvcHNdKTtcbiAgICBjb25zdCBzZWxlY3RhYmxlS2V5cyA9IHVzZU1lbW8oKCkgPT4gY3VycmVudERhdGFTb3VyY2VcbiAgICAgICAgLm1hcCgocmVjb3JkLCBpbmRleCkgPT4gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpKVxuICAgICAgICAuZmlsdGVyKChrZXkpID0+IHsgdmFyIF9hOyByZXR1cm4gISgoX2EgPSBjaGVja2JveFByb3BzTWFwLmdldChrZXkpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpOyB9KSwgW2N1cnJlbnREYXRhU291cmNlLCBnZXRSb3dLZXksIGNoZWNrYm94UHJvcHNNYXBdKTtcbiAgICBjb25zdCBzZWxlY3RlZFNlbGVjdGFibGVLZXlzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2V0ID0gbmV3IFNldChtZXJnZWRTZWxlY3RlZFJvd0tleXMpO1xuICAgICAgICByZXR1cm4gc2VsZWN0YWJsZUtleXMuZmlsdGVyKChrZXkpID0+IHNlbGVjdGVkU2V0LmhhcyhrZXkpKTtcbiAgICB9LCBbc2VsZWN0YWJsZUtleXMsIG1lcmdlZFNlbGVjdGVkUm93S2V5c10pO1xuICAgIGNvbnN0IGlzQWxsU2VsZWN0ZWQgPSBzZWxlY3RhYmxlS2V5cy5sZW5ndGggPiAwICYmIHNlbGVjdGVkU2VsZWN0YWJsZUtleXMubGVuZ3RoID09PSBzZWxlY3RhYmxlS2V5cy5sZW5ndGg7XG4gICAgY29uc3QgaXNJbmRldGVybWluYXRlID0gc2VsZWN0ZWRTZWxlY3RhYmxlS2V5cy5sZW5ndGggPiAwICYmICFpc0FsbFNlbGVjdGVkO1xuICAgIGNvbnN0IHJlc29sdmVSZWNvcmRzID0gdXNlTWVtb2l6ZWRGbigoa2V5cykgPT4ge1xuICAgICAgICBpZiAocm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLnByZXNlcnZlU2VsZWN0ZWRSb3dLZXlzKSB7XG4gICAgICAgICAgICByZXR1cm4ga2V5c1xuICAgICAgICAgICAgICAgIC5tYXAoKGtleSkgPT4gZ2V0UmVjb3JkQnlLZXkoa2V5KSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChyZWNvcmQpID0+IHJlY29yZCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBrZXlTZXQgPSBuZXcgU2V0KGtleXMpO1xuICAgICAgICByZXR1cm4gY3VycmVudERhdGFTb3VyY2UuZmlsdGVyKChyZWNvcmQsIGluZGV4KSA9PiBrZXlTZXQuaGFzKGdldFJvd0tleShyZWNvcmQsIGluZGV4KSkpO1xuICAgIH0pO1xuICAgIGNvbnN0IHRyaWdnZXJTZWxlY3Rpb24gPSB1c2VNZW1vaXplZEZuKChyZWNvcmRLZXkpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uVHlwZSA9IChfYSA9IHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi50eXBlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnY2hlY2tib3gnO1xuICAgICAgICBjb25zdCBuZXh0S2V5cyA9IHNlbGVjdGlvblR5cGUgPT09ICdyYWRpbydcbiAgICAgICAgICAgID8gW3JlY29yZEtleV1cbiAgICAgICAgICAgIDogbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLmluY2x1ZGVzKHJlY29yZEtleSlcbiAgICAgICAgICAgICAgICA/IG1lcmdlZFNlbGVjdGVkUm93S2V5cy5maWx0ZXIoa2V5ID0+IGtleSAhPT0gcmVjb3JkS2V5KVxuICAgICAgICAgICAgICAgIDogWy4uLm1lcmdlZFNlbGVjdGVkUm93S2V5cywgcmVjb3JkS2V5XTtcbiAgICAgICAgc2V0TWVyZ2VkU2VsZWN0ZWRSb3dLZXlzKG5leHRLZXlzKTtcbiAgICAgICAgKF9iID0gcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLm9uQ2hhbmdlKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChyb3dTZWxlY3Rpb24sIG5leHRLZXlzLCByZXNvbHZlUmVjb3JkcyhuZXh0S2V5cyksIHsgdHlwZTogJ3NpbmdsZScgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgdHJpZ2dlclNlbGVjdEFsbCA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGxldCBuZXh0S2V5cztcbiAgICAgICAgbGV0IG1ldGhvZDtcbiAgICAgICAgaWYgKGlzQWxsU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIG5leHRLZXlzID0gbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLmZpbHRlcigoa2V5KSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGNoZWNrYm94UHJvcHNNYXAuZ2V0KGtleSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZDsgfSk7XG4gICAgICAgICAgICBtZXRob2QgPSAnbm9uZSc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlZFNlbGVjdGVkID0gbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLmZpbHRlcigoa2V5KSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGNoZWNrYm94UHJvcHNNYXAuZ2V0KGtleSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZDsgfSk7XG4gICAgICAgICAgICBuZXh0S2V5cyA9IFsuLi5kaXNhYmxlZFNlbGVjdGVkLCAuLi5zZWxlY3RhYmxlS2V5c107XG4gICAgICAgICAgICBtZXRob2QgPSAnYWxsJztcbiAgICAgICAgfVxuICAgICAgICBzZXRNZXJnZWRTZWxlY3RlZFJvd0tleXMobmV4dEtleXMpO1xuICAgICAgICAoX2EgPSByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24ub25DaGFuZ2UpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHJvd1NlbGVjdGlvbiwgbmV4dEtleXMsIHJlc29sdmVSZWNvcmRzKG5leHRLZXlzKSwgeyB0eXBlOiBtZXRob2QgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLFxuICAgICAgICBjaGVja2JveFByb3BzTWFwLFxuICAgICAgICBpc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb24sXG4gICAgICAgIHRyaWdnZXJTZWxlY3RBbGwsXG4gICAgfTtcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNlbGVjdGlvbi50cyIsImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNlbGVjdGlvbi5qcyJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidXNlTWVtb2l6ZWRGbiIsInVzZVRhYmxlU2VsZWN0aW9uIiwiX3JlZiIsInJvd1NlbGVjdGlvbiIsImRhdGFTb3VyY2UiLCJjdXJyZW50RGF0YVNvdXJjZSIsImdldFJvd0tleSIsIl9hIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsImRlZmF1bHRTZWxlY3RlZFJvd0tleXMiLCJzZWxlY3RlZFJvd0tleXMiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwic2V0TWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwia3ZNYXBSZWYiLCJkYXRhIiwibWFwIiwiTWFwIiwiZ2V0S3ZNYXAiLCJjdXJyZW50IiwiaSIsImxlbmd0aCIsInNldCIsInByZXNlcnZlUmVjb3Jkc1JlZiIsImdldFJlY29yZEJ5S2V5Iiwia2V5IiwiZ2V0IiwicHJlc2VydmVTZWxlY3RlZFJvd0tleXMiLCJuZXh0Q2FjaGUiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJyZWNvcmQiLCJ1bmRlZmluZWQiLCJoYXMiLCJlcnIiLCJlIiwiZiIsImNoZWNrYm94UHJvcHNNYXAiLCJnZXRDaGVja2JveFByb3BzIiwiZm9yRWFjaCIsImluZGV4Iiwic2VsZWN0YWJsZUtleXMiLCJmaWx0ZXIiLCJkaXNhYmxlZCIsInNlbGVjdGVkU2VsZWN0YWJsZUtleXMiLCJzZWxlY3RlZFNldCIsIlNldCIsImlzQWxsU2VsZWN0ZWQiLCJpc0luZGV0ZXJtaW5hdGUiLCJyZXNvbHZlUmVjb3JkcyIsImtleXMiLCJrZXlTZXQiLCJ0cmlnZ2VyU2VsZWN0aW9uIiwicmVjb3JkS2V5IiwiX2IiLCJzZWxlY3Rpb25UeXBlIiwidHlwZSIsIm5leHRLZXlzIiwiaW5jbHVkZXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJvbkNoYW5nZSIsImNhbGwiLCJ0cmlnZ2VyU2VsZWN0QWxsIiwibWV0aG9kIiwiZGlzYWJsZWRTZWxlY3RlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxRQUFrQixPQUFPO0FBQzVELE9BQU9DLGtCQUFrQixNQUFNLGtDQUFrQztBQUNqRSxPQUFPQyxhQUFhLE1BQU0sNkJBQTZCO0FBR3ZELE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQUMsSUFBQSxFQVV6QjtFQUFBLElBVEhDLFlBQVksR0FBQUQsSUFBQSxDQUFaQyxZQUFZO0lBQ1pDLFVBQVUsR0FBQUYsSUFBQSxDQUFWRSxVQUFVO0lBQ1ZDLGlCQUFpQixHQUFBSCxJQUFBLENBQWpCRyxpQkFBaUI7SUFDakJDLFNBQVMsR0FBQUosSUFBQSxDQUFUSSxTQUFTO0VDTFAsSUFBSUMsRUFBRTtFRFlSLElBQUFDLG1CQUFBLEdBQTBEVCxrQkFBa0IsQ0FDMUUsQ0FBQVEsRUFBQSxHQUFBSixZQUFZLEtBQUEsSUFBQSxJQUFaQSxZQUFZLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVpBLFlBQVksQ0FBRU0sc0JBQXNCLE1BQUEsSUFBQSxJQUFBRixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxFQUFFLEVBQzFDSixZQUFZLEtBQUEsSUFBQSxJQUFaQSxZQUFZLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVpBLFlBQVksQ0FBRU8sZUFBZSxDQUM5QjtJQUFBQyxvQkFBQSxHQUFBQyxjQUFBLENBQUFKLG1CQUFBO0lBSE1LLHFCQUFxQixHQUFBRixvQkFB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WSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLENBQUVnRSxRQUFRLE1BQUEsSUFBQSxJQUFBNUQsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUE2RCxJQUFBLENBQUFqRSxZQUFBLEVBQUc0RCxRQUFRLEVBQUVSLGNBQWMsQ0FBQ1EsUUFBUSxDQUFDLEVBQUU7TUFBRUQsSUFBSSxFQUFFUTtJQUFNLENBQUUsQ0FBQztFQUNoRixDQUFDLENBQUM7RUFFRixPQUFPO0lBQ0x6RCxxQkFBcUIsRUFBckJBLHFCQUFxQjtJQUNyQjhCLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCVSxhQUFhLEVBQWJBLGFBQWE7SUFDYkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZJLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCVyxnQkFBZ0IsRUFBaEJBO0VDN0JBLENEOEJEO0FBQ0gsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVTZWxlY3Rpb24uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuZXhwb3J0IGNvbnN0IHVzZVRhYmxlU2VsZWN0aW9uID0gKHsgcm93U2VsZWN0aW9uLCBkYXRhU291cmNlLCBjdXJyZW50RGF0YVNvdXJjZSwgZ2V0Um93S2V5LCB9KSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IFttZXJnZWRTZWxlY3RlZFJvd0tleXMsIHNldE1lcmdlZFNlbGVjdGVkUm93S2V5c10gPSB1c2VDb250cm9sbGVkU3RhdGUoKF9hID0gcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLmRlZmF1bHRTZWxlY3RlZFJvd0tleXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdLCByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24uc2VsZWN0ZWRSb3dLZXlzKTtcbiAgICAvLyBMYXp5IGtleeKGknJlY29yZCBtYXAsIHJlYnVpbHQgd2hlbiBkYXRhU291cmNlIHJlZmVyZW5jZSBjaGFuZ2VzXG4gICAgY29uc3Qga3ZNYXBSZWYgPSB1c2VSZWYoeyBkYXRhOiBbXSwgbWFwOiBuZXcgTWFwKCkgfSk7XG4gICAgY29uc3QgZ2V0S3ZNYXAgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgaWYgKGt2TWFwUmVmLmN1cnJlbnQuZGF0YSAhPT0gZGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhU291cmNlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFwLnNldChnZXRSb3dLZXkoZGF0YVNvdXJjZVtpXSwgaSksIGRhdGFTb3VyY2VbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga3ZNYXBSZWYuY3VycmVudCA9IHsgZGF0YTogZGF0YVNvdXJjZSwgbWFwIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGt2TWFwUmVmLmN1cnJlbnQubWFwO1xuICAgIH0pO1xuICAgIC8vIENhY2hlIGZvciBwcmVzZXJ2ZVNlbGVjdGVkUm93S2V5czogc3RvcmVzIGtleeKGknJlY29yZCBldmVuIGFjcm9zcyBwYWdpbmF0aW9uXG4gICAgY29uc3QgcHJlc2VydmVSZWNvcmRzUmVmID0gdXNlUmVmKG5ldyBNYXAoKSk7XG4gICAgY29uc3QgZ2V0UmVjb3JkQnlLZXkgPSB1c2VNZW1vaXplZEZuKChrZXkpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gKF9hID0gZ2V0S3ZNYXAoKS5nZXQoa2V5KSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogcHJlc2VydmVSZWNvcmRzUmVmLmN1cnJlbnQuZ2V0KGtleSk7XG4gICAgfSk7XG4gICAgLy8gVXBkYXRlIGNhY2hlIHdoZW4gc2VsZWN0ZWQga2V5cyBjaGFuZ2VcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIShyb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24ucHJlc2VydmVTZWxlY3RlZFJvd0tleXMpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXh0Q2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIG1lcmdlZFNlbGVjdGVkUm93S2V5cykge1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gZ2V0UmVjb3JkQnlLZXkoa2V5KTtcbiAgICAgICAgICAgIGlmIChyZWNvcmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIG5leHRDYWNoZS5zZXQoa2V5LCByZWNvcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocHJlc2VydmVSZWNvcmRzUmVmLmN1cnJlbnQuaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgICBuZXh0Q2FjaGUuc2V0KGtleSwgcHJlc2VydmVSZWNvcmRzUmVmLmN1cnJlbnQuZ2V0KGtleSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByZXNlcnZlUmVjb3Jkc1JlZi5jdXJyZW50ID0gbmV4dENhY2hlO1xuICAgIH0sIFttZXJnZWRTZWxlY3RlZFJvd0tleXMsIHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi5wcmVzZXJ2ZVNlbGVjdGVkUm93S2V5cywgZ2V0UmVjb3JkQnlLZXldKTtcbiAgICBjb25zdCBjaGVja2JveFByb3BzTWFwID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgaWYgKCEocm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLmdldENoZWNrYm94UHJvcHMpKVxuICAgICAgICAgICAgcmV0dXJuIG1hcDtcbiAgICAgICAgY3VycmVudERhdGFTb3VyY2UuZm9yRWFjaCgocmVjb3JkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpO1xuICAgICAgICAgICAgbWFwLnNldChrZXksIHJvd1NlbGVjdGlvbi5nZXRDaGVja2JveFByb3BzKHJlY29yZCkpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCBbY3VycmVudERhdGFTb3VyY2UsIGdldFJvd0tleSwgcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLmdldENoZWNrYm94UHJvcHNdKTtcbiAgICBjb25zdCBzZWxlY3RhYmxlS2V5cyA9IHVzZU1lbW8oKCkgPT4gY3VycmVudERhdGFTb3VyY2VcbiAgICAgICAgLm1hcCgocmVjb3JkLCBpbmRleCkgPT4gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpKVxuICAgICAgICAuZmlsdGVyKChrZXkpID0+IHsgdmFyIF9hOyByZXR1cm4gISgoX2EgPSBjaGVja2JveFByb3BzTWFwLmdldChrZXkpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpOyB9KSwgW2N1cnJlbnREYXRhU291cmNlLCBnZXRSb3dLZXksIGNoZWNrYm94UHJvcHNNYXBdKTtcbiAgICBjb25zdCBzZWxlY3RlZFNlbGVjdGFibGVLZXlzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2V0ID0gbmV3IFNldChtZXJnZWRTZWxlY3RlZFJvd0tleXMpO1xuICAgICAgICByZXR1cm4gc2VsZWN0YWJsZUtleXMuZmlsdGVyKChrZXkpID0+IHNlbGVjdGVkU2V0LmhhcyhrZXkpKTtcbiAgICB9LCBbc2VsZWN0YWJsZUtleXMsIG1lcmdlZFNlbGVjdGVkUm93S2V5c10pO1xuICAgIGNvbnN0IGlzQWxsU2VsZWN0ZWQgPSBzZWxlY3RhYmxlS2V5cy5sZW5ndGggPiAwICYmIHNlbGVjdGVkU2VsZWN0YWJsZUtleXMubGVuZ3RoID09PSBzZWxlY3RhYmxlS2V5cy5sZW5ndGg7XG4gICAgY29uc3QgaXNJbmRldGVybWluYXRlID0gc2VsZWN0ZWRTZWxlY3RhYmxlS2V5cy5sZW5ndGggPiAwICYmICFpc0FsbFNlbGVjdGVkO1xuICAgIGNvbnN0IHJlc29sdmVSZWNvcmRzID0gdXNlTWVtb2l6ZWRGbigoa2V5cykgPT4ge1xuICAgICAgICBpZiAocm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLnByZXNlcnZlU2VsZWN0ZWRSb3dLZXlzKSB7XG4gICAgICAgICAgICByZXR1cm4ga2V5c1xuICAgICAgICAgICAgICAgIC5tYXAoKGtleSkgPT4gZ2V0UmVjb3JkQnlLZXkoa2V5KSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChyZWNvcmQpID0+IHJlY29yZCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBrZXlTZXQgPSBuZXcgU2V0KGtleXMpO1xuICAgICAgICByZXR1cm4gY3VycmVudERhdGFTb3VyY2UuZmlsdGVyKChyZWNvcmQsIGluZGV4KSA9PiBrZXlTZXQuaGFzKGdldFJvd0tleShyZWNvcmQsIGluZGV4KSkpO1xuICAgIH0pO1xuICAgIGNvbnN0IHRyaWdnZXJTZWxlY3Rpb24gPSB1c2VNZW1vaXplZEZuKChyZWNvcmRLZXkpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uVHlwZSA9IChfYSA9IHJvd1NlbGVjdGlvbiA9PT0gbnVsbCB8fCByb3dTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvd1NlbGVjdGlvbi50eXBlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnY2hlY2tib3gnO1xuICAgICAgICBjb25zdCBuZXh0S2V5cyA9IHNlbGVjdGlvblR5cGUgPT09ICdyYWRpbydcbiAgICAgICAgICAgID8gW3JlY29yZEtleV1cbiAgICAgICAgICAgIDogbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLmluY2x1ZGVzKHJlY29yZEtleSlcbiAgICAgICAgICAgICAgICA/IG1lcmdlZFNlbGVjdGVkUm93S2V5cy5maWx0ZXIoa2V5ID0+IGtleSAhPT0gcmVjb3JkS2V5KVxuICAgICAgICAgICAgICAgIDogWy4uLm1lcmdlZFNlbGVjdGVkUm93S2V5cywgcmVjb3JkS2V5XTtcbiAgICAgICAgc2V0TWVyZ2VkU2VsZWN0ZWRSb3dLZXlzKG5leHRLZXlzKTtcbiAgICAgICAgKF9iID0gcm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLm9uQ2hhbmdlKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChyb3dTZWxlY3Rpb24sIG5leHRLZXlzLCByZXNvbHZlUmVjb3JkcyhuZXh0S2V5cyksIHsgdHlwZTogJ3NpbmdsZScgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgdHJpZ2dlclNlbGVjdEFsbCA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGxldCBuZXh0S2V5cztcbiAgICAgICAgbGV0IG1ldGhvZDtcbiAgICAgICAgaWYgKGlzQWxsU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIG5leHRLZXlzID0gbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLmZpbHRlcigoa2V5KSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGNoZWNrYm94UHJvcHNNYXAuZ2V0KGtleSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZDsgfSk7XG4gICAgICAgICAgICBtZXRob2QgPSAnbm9uZSc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlZFNlbGVjdGVkID0gbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLmZpbHRlcigoa2V5KSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGNoZWNrYm94UHJvcHNNYXAuZ2V0KGtleSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZDsgfSk7XG4gICAgICAgICAgICBuZXh0S2V5cyA9IFsuLi5kaXNhYmxlZFNlbGVjdGVkLCAuLi5zZWxlY3RhYmxlS2V5c107XG4gICAgICAgICAgICBtZXRob2QgPSAnYWxsJztcbiAgICAgICAgfVxuICAgICAgICBzZXRNZXJnZWRTZWxlY3RlZFJvd0tleXMobmV4dEtleXMpO1xuICAgICAgICAoX2EgPSByb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24ub25DaGFuZ2UpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHJvd1NlbGVjdGlvbiwgbmV4dEtleXMsIHJlc29sdmVSZWNvcmRzKG5leHRLZXlzKSwgeyB0eXBlOiBtZXRob2QgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLFxuICAgICAgICBjaGVja2JveFByb3BzTWFwLFxuICAgICAgICBpc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb24sXG4gICAgICAgIHRyaWdnZXJTZWxlY3RBbGwsXG4gICAgfTtcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|