@1money/component-ui 0.0.41 → 0.0.42-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/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/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/index.js +1 -1
- package/es/components/Calendar/interface.js +1 -1
- package/es/components/Calendar/style/css.js +1 -1
- package/es/components/Calendar/style/index.js +1 -1
- package/es/components/Carousel/Carousel.js +1 -1
- package/es/components/Carousel/index.js +1 -1
- package/es/components/Carousel/interface.js +1 -1
- package/es/components/Carousel/style/css.js +1 -1
- package/es/components/Carousel/style/index.js +1 -1
- package/es/components/Cell/Cell.js +1 -1
- package/es/components/Cell/index.js +1 -1
- package/es/components/Cell/interface.js +1 -1
- package/es/components/Cell/style/css.js +1 -1
- package/es/components/Cell/style/index.js +1 -1
- package/es/components/Checkbox/BaseCheckbox.js +1 -1
- package/es/components/Checkbox/Checkbox.js +1 -1
- package/es/components/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/Checkbox/CheckboxGroupContext.js +1 -1
- package/es/components/Checkbox/constants.js +1 -1
- package/es/components/Checkbox/index.js +1 -1
- package/es/components/Checkbox/interface.js +1 -1
- package/es/components/Checkbox/style/css.js +1 -1
- package/es/components/Checkbox/style/index.js +1 -1
- package/es/components/CoachMark/CoachMark.js +1 -1
- package/es/components/CoachMark/index.js +1 -1
- package/es/components/CoachMark/interface.js +1 -1
- package/es/components/CoachMark/style/css.js +1 -1
- package/es/components/CoachMark/style/index.js +1 -1
- package/es/components/Copy/Clipboard.js +1 -1
- package/es/components/Copy/Copy.js +1 -1
- package/es/components/Copy/index.js +1 -1
- package/es/components/Copy/interface.js +1 -1
- package/es/components/Copy/style/css.js +1 -1
- package/es/components/Copy/style/index.js +1 -1
- package/es/components/Dialog/Dialog.js +1 -1
- package/es/components/Dialog/constants.js +1 -1
- package/es/components/Dialog/index.js +1 -1
- package/es/components/Dialog/interface.js +1 -1
- package/es/components/Dialog/style/css.js +1 -1
- package/es/components/Dialog/style/index.js +1 -1
- package/es/components/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/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/Grid/Col.js +1 -1
- package/es/components/Grid/Grid.js +1 -1
- package/es/components/Grid/Row.js +1 -1
- package/es/components/Grid/constants.js +1 -1
- package/es/components/Grid/helper.js +1 -1
- package/es/components/Grid/index.js +1 -1
- package/es/components/Grid/interface.js +1 -1
- package/es/components/Grid/style/css.js +1 -1
- package/es/components/Grid/style/index.js +1 -1
- package/es/components/Icons/Icons.js +1 -1
- package/es/components/Icons/Illustrations.js +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/index.js +1 -1
- package/es/components/Icons/interface.js +1 -1
- package/es/components/Icons/style/css.js +1 -1
- package/es/components/Icons/style/index.js +1 -1
- package/es/components/Input/Amount/Amount.js +1 -1
- package/es/components/Input/Amount/helper.js +1 -1
- package/es/components/Input/Amount/index.js +1 -1
- package/es/components/Input/Amount/style/css.js +1 -1
- package/es/components/Input/Amount/style/index.js +1 -1
- package/es/components/Input/FieldShell/FieldShell.js +1 -1
- package/es/components/Input/FieldShell/index.js +1 -1
- package/es/components/Input/Input/Input.js +1 -1
- package/es/components/Input/Input/index.js +1 -1
- package/es/components/Input/Mask/Mask.js +1 -1
- package/es/components/Input/Mask/index.js +1 -1
- package/es/components/Input/OTP/OTP.js +1 -1
- package/es/components/Input/OTP/index.js +1 -1
- package/es/components/Input/Password/Password.js +1 -1
- package/es/components/Input/Password/index.js +1 -1
- package/es/components/Input/Search/Search.js +1 -1
- package/es/components/Input/Search/index.js +1 -1
- package/es/components/Input/TextArea/TextArea.js +1 -1
- package/es/components/Input/TextArea/index.js +1 -1
- package/es/components/Input/Trade/Trade.js +1 -1
- package/es/components/Input/Trade/index.js +1 -1
- package/es/components/Input/constants.js +1 -1
- package/es/components/Input/index.js +1 -1
- package/es/components/Input/interface.js +1 -1
- package/es/components/Input/style/css.js +1 -1
- package/es/components/Input/style/index.js +1 -1
- package/es/components/Input/useAmountInput.js +1 -1
- package/es/components/Input/useSyncRef.js +1 -1
- package/es/components/Link/Link.js +1 -1
- package/es/components/Link/constants.js +1 -1
- package/es/components/Link/index.js +1 -1
- package/es/components/Link/interface.js +1 -1
- package/es/components/Link/style/css.js +1 -1
- package/es/components/Link/style/index.js +1 -1
- package/es/components/Navigation/Nav.js +1 -1
- package/es/components/Navigation/Navigation.js +1 -1
- package/es/components/Navigation/NavigationLogo.js +1 -1
- package/es/components/Navigation/NavigationStepper.js +1 -1
- package/es/components/Navigation/index.js +1 -1
- package/es/components/Navigation/interface.js +1 -1
- package/es/components/Navigation/style/css.js +1 -1
- package/es/components/Navigation/style/index.js +1 -1
- package/es/components/Notification/Notification.js +1 -1
- package/es/components/Notification/NotificationStatic.js +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/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/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/useFormItem.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/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/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 +62 -11
- package/es/components/Select/SelectFieldShell.d.ts +1 -0
- package/es/components/Select/SelectFieldShell.js +9 -3
- 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.d.ts +6 -0
- package/es/components/Select/interface.js +1 -1
- package/es/components/Select/style/Select.css +1 -1
- package/es/components/Select/style/css.js +1 -1
- package/es/components/Select/style/index.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/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/features/ExpandTrigger.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/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 +15 -4
- package/es/components/Trigger/index.js +1 -1
- package/es/components/Trigger/interface.d.ts +2 -0
- 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/index.css +1 -1
- package/es/index.js +1 -1
- package/es/stories/docs/ComponentDocsPage.js +1 -1
- package/es/stories/docs/componentDocMeta.js +1 -1
- package/es/stories/docs/storybook-docs.css +323 -1
- package/es/utils/classnames.js +1 -1
- package/es/utils/clipboard.js +1 -1
- package/es/utils/ref.js +1 -1
- package/es/utils/uuid.js +1 -1
- 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/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/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 +1 -1
- package/lib/components/Dialog/constants.js +1 -1
- package/lib/components/Dialog/index.js +1 -1
- package/lib/components/Dialog/interface.js +1 -1
- package/lib/components/Dialog/style/css.js +1 -1
- package/lib/components/Dialog/style/index.js +1 -1
- package/lib/components/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/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/Grid/Col.js +1 -1
- package/lib/components/Grid/Grid.js +1 -1
- package/lib/components/Grid/Row.js +1 -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/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 +1 -1
- 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/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/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/useFormItem.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/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/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 +62 -11
- package/lib/components/Select/SelectFieldShell.d.ts +1 -0
- package/lib/components/Select/SelectFieldShell.js +9 -3
- 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.d.ts +6 -0
- package/lib/components/Select/interface.js +1 -1
- package/lib/components/Select/style/Select.css +1 -1
- package/lib/components/Select/style/css.js +1 -1
- package/lib/components/Select/style/index.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/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/features/ExpandTrigger.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/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 +14 -3
- package/lib/components/Trigger/index.js +1 -1
- package/lib/components/Trigger/interface.d.ts +2 -0
- 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/index.css +1 -1
- package/lib/index.js +1 -1
- package/lib/stories/docs/ComponentDocsPage.js +1 -1
- package/lib/stories/docs/componentDocMeta.js +1 -1
- package/lib/stories/docs/storybook-docs.css +323 -1
- package/lib/utils/classnames.js +1 -1
- package/lib/utils/clipboard.js +1 -1
- package/lib/utils/ref.js +1 -1
- package/lib/utils/uuid.js +1 -1
- package/package.json +1 -1
|
@@ -107,4 +107,4 @@ var Segment = exports.Segment = function Segment(props) {
|
|
|
107
107
|
}));
|
|
108
108
|
};
|
|
109
109
|
var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(Segment);
|
|
110
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VnbWVudC9TZWdtZW50LmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9TZWdtZW50L1NlZ21lbnQudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9ob29rcyIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIlNlZ21lbnQiLCJleHBvcnRzIiwicHJvcHMiLCJfYSIsIl9iIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsIml0ZW1zIiwiX3Byb3BzJGFuaW1hdGVkIiwiYW5pbWF0ZWQiLCJvbkNoYW5nZSIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImNvbnRhaW5lclJlZiIsInVzZVJlZiIsIml0ZW1SZWZzIiwiTWFwIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaW5kaWNhdG9yU3R5bGUiLCJzZXRJbmRpY2F0b3JTdHlsZSIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsImN1cnJlbnRWYWx1ZSIsInNldEN1cnJlbnRWYWx1ZSIsInVwZGF0ZUluZGljYXRvciIsInVzZUNhbGxiYWNrIiwiY29udGFpbmVyIiwiY3VycmVudCIsImFjdGl2ZUl0ZW0iLCJjb250YWluZXJSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiaXRlbVJlY3QiLCJ3aWR0aCIsInRyYW5zZm9ybSIsImNvbmNhdCIsImxlZnQiLCJzY3JvbGxMZWZ0IiwidXNlTGF5b3V0RWZmZWN0IiwiaGFuZGxlSXRlbUNsaWNrIiwidXNlRXZlbnRDYWxsYmFjayIsIml0ZW0iLCJkaXNhYmxlZCIsInNldEl0ZW1SZWYiLCJ2YWwiLCJlbCIsIl9qc3giLCJhc3NpZ24iLCJ1bmRlZmluZWQiLCJjaGlsZHJlbiIsIl9qc3hzIiwicmVmIiwicm9sZSIsInN0eWxlIiwidHJhbnNpdGlvbiIsIm1hcCIsInR5cGUiLCJ0YWJJbmRleCIsImpvaW5DbHMiLCJvbkNsaWNrIiwibGFiZWwiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUdBQSxPQUFBO0FBQWlCLFNBQUFLLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBRix3QkFBQUUsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxH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Q0NmLElBQUksQ0FBQ3hDLEtBQUssS0FBS3NCLFlBQVk7VUFBQSxlQUFBLEVBQzFCa0IsSUFBSSxDQUFDQyxRQUFRO1VBQzVCZSxRQUFRLEVBQUVoQixJQUFJLENBQUN4QyxLQUFLLEtBQUtzQixZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztVQUM5Q3pCLFNBQVMsRUFBRVUsT0FBTyxDQUNoQixNQUFNLEVBQ04sSUFBQWtELG1CQUFPLEVBQ0xqQixJQUFJLENBQUN4QyxLQUFLLEtBQUtzQixZQUFZLElBQUlmLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFDckRpQyxJQUFJLENBQUNDLFFBQVEsSUFBSWxDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FDMUMsQ0FDRjtVQUNEbUQsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7WUFBQSxPQUFRcEIsZUFBZSxDQUFDRSxJQUFJLENBQUM7VUFBQTtVQUFBUSxRQUFBLEVBRXBDLElBQUFILGVBQUEsRUFBQSxNQUFBLEVBQUE7WUFBTWhELFNBQVMsRUFBRVUsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUFBeUMsUUFBQSxFQUFHUixJQUFJLENBQUNtQjtVQUFLLENBQUE7UUFBUSxDQUFBLEVBaEJ0RG5CLElBQUksQ0FBQ3hDLEtBQUssQ0FpQlI7TUFBQSxDQUNWLENBQUM7SUFBQSxDQUFBO0VBQ0UsQ0FBQSxDQUFBLENBQ0Y7QUFFVixDQUFDO0FBQUMsSUFBQTRELFFBQUEsR0FBQXBFLE9BQUEsMkJBRWEsSUFBQXFFLFdBQUksRUFBQ3RFLE9BQU8sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NlZ21lbnQvU2VnbWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0IH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5leHBvcnQgY29uc3QgU2VnbWVudCA9IHByb3BzID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWdtZW50JywgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgaXRlbXMsIGFuaW1hdGVkID0gdHJ1ZSwgb25DaGFuZ2UgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIml0ZW1zXCIsIFwiYW5pbWF0ZWRcIiwgXCJvbkNoYW5nZVwiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaXRlbVJlZnMgPSB1c2VSZWYobmV3IE1hcCgpKTtcbiAgICBjb25zdCBbaW5kaWNhdG9yU3R5bGUsIHNldEluZGljYXRvclN0eWxlXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtjdXJyZW50VmFsdWUsIHNldEN1cnJlbnRWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoKF9iID0gZGVmYXVsdFZhbHVlICE9PSBudWxsICYmIGRlZmF1bHRWYWx1ZSAhPT0gdm9pZCAwID8gZGVmYXVsdFZhbHVlIDogKF9hID0gaXRlbXNbMF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS52YWx1ZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogJycsIHZhbHVlKTtcbiAgICBjb25zdCB1cGRhdGVJbmRpY2F0b3IgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgICBjb25zdCBhY3RpdmVJdGVtID0gaXRlbVJlZnMuY3VycmVudC5nZXQoY3VycmVudFZhbHVlKTtcbiAgICAgICAgaWYgKCFjb250YWluZXIgfHwgIWFjdGl2ZUl0ZW0pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGl0ZW1SZWN0ID0gYWN0aXZlSXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgc2V0SW5kaWNhdG9yU3R5bGUoe1xuICAgICAgICAgICAgd2lkdGg6IGl0ZW1SZWN0LndpZHRoLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgke2l0ZW1SZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQgKyBjb250YWluZXIuc2Nyb2xsTGVmdH1weClgLFxuICAgICAgICB9KTtcbiAgICB9LCBbY3VycmVudFZhbHVlXSk7XG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgICAgdXBkYXRlSW5kaWNhdG9yKCk7XG4gICAgfSwgW2N1cnJlbnRWYWx1ZSwgaXRlbXMsIHVwZGF0ZUluZGljYXRvcl0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uZGlzYWJsZWQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHNldEN1cnJlbnRWYWx1ZShpdGVtLnZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGl0ZW0udmFsdWUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHNldEl0ZW1SZWYgPSB1c2VDYWxsYmFjaygodmFsLCBlbCkgPT4ge1xuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgIGl0ZW1SZWZzLmN1cnJlbnQuc2V0KHZhbCwgZWwpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaXRlbVJlZnMuY3VycmVudC5kZWxldGUodmFsKTtcbiAgICAgICAgfVxuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gKF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBjbGFzc05hbWU6IGNsYXNzZXModW5kZWZpbmVkLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3RyYWNrJyksIHJlZjogY29udGFpbmVyUmVmLCByb2xlOiBcInJhZGlvZ3JvdXBcIiwgY2hpbGRyZW46IFtpbmRpY2F0b3JTdHlsZSAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2luZGljYXRvcicpLCBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBpbmRpY2F0b3JTdHlsZSksICghYW5pbWF0ZWQgJiYgeyB0cmFuc2l0aW9uOiAnbm9uZScgfSkpIH0pKSwgaXRlbXMubWFwKGl0ZW0gPT4gKF9qc3goXCJidXR0b25cIiwgeyByZWY6IGVsID0+IHNldEl0ZW1SZWYoaXRlbS52YWx1ZSwgZWwpLCByb2xlOiBcInJhZGlvXCIsIHR5cGU6IFwiYnV0dG9uXCIsIFwiYXJpYS1jaGVja2VkXCI6IGl0ZW0udmFsdWUgPT09IGN1cnJlbnRWYWx1ZSwgXCJhcmlhLWRpc2FibGVkXCI6IGl0ZW0uZGlzYWJsZWQsIHRhYkluZGV4OiBpdGVtLnZhbHVlID09PSBjdXJyZW50VmFsdWUgPyAwIDogLTEsIGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbScsIGpvaW5DbHMoaXRlbS52YWx1ZSA9PT0gY3VycmVudFZhbHVlICYmIGNsYXNzZXMoJ2l0ZW0tYWN0aXZlJyksIGl0ZW0uZGlzYWJsZWQgJiYgY2xhc3NlcygnaXRlbS1kaXNhYmxlZCcpKSksIG9uQ2xpY2s6ICgpID0+IGhhbmRsZUl0ZW1DbGljayhpdGVtKSwgY2hpbGRyZW46IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBpdGVtLmxhYmVsIH0pIH0sIGl0ZW0udmFsdWUpKSldIH0pIH0pKSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWdtZW50KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VnbWVudC9TZWdtZW50LmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9TZWdtZW50L1NlZ21lbnQudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9ob29rcyIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIlNlZ21lbnQiLCJleHBvcnRzIiwicHJvcHMiLCJfYSIsIl9iIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsIml0ZW1zIiwiX3Byb3BzJGFuaW1hdGVkIiwiYW5pbWF0ZWQiLCJvbkNoYW5nZSIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImNvbnRhaW5lclJlZiIsInVzZVJlZiIsIml0ZW1SZWZzIiwiTWFwIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaW5kaWNhdG9yU3R5bGUiLCJzZXRJbmRpY2F0b3JTdHlsZSIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsImN1cnJlbnRWYWx1ZSIsInNldEN1cnJlbnRWYWx1ZSIsInVwZGF0ZUluZGljYXRvciIsInVzZUNhbGxiYWNrIiwiY29udGFpbmVyIiwiY3VycmVudCIsImFjdGl2ZUl0ZW0iLCJjb250YWluZXJSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiaXRlbVJlY3QiLCJ3aWR0aCIsInRyYW5zZm9ybSIsImNvbmNhdCIsImxlZnQiLCJzY3JvbGxMZWZ0IiwidXNlTGF5b3V0RWZmZWN0IiwiaGFuZGxlSXRlbUNsaWNrIiwidXNlRXZlbnRDYWxsYmFjayIsIml0ZW0iLCJkaXNhYmxlZCIsInNldEl0ZW1SZWYiLCJ2YWwiLCJlbCIsIl9qc3giLCJhc3NpZ24iLCJ1bmRlZmluZWQiLCJjaGlsZHJlbiIsIl9qc3hzIiwicmVmIiwicm9sZSIsInN0eWxlIiwidHJhbnNpdGlvbiIsIm1hcCIsInR5cGUiLCJ0YWJJbmRleCIsImpvaW5DbHMiLCJvbkNsaWNrIiwibGFiZWwiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUdBQSxPQUFBO0FBQWlCLFNBQUFLLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBRix3QkFBQUUsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxH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Q0NmLElBQUksQ0FBQ3hDLEtBQUssS0FBS3NCLFlBQVk7VUFBQSxlQUFBLEVBQzFCa0IsSUFBSSxDQUFDQyxRQUFRO1VBQzVCZSxRQUFRLEVBQUVoQixJQUFJLENBQUN4QyxLQUFLLEtBQUtzQixZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztVQUM5Q3pCLFNBQVMsRUFBRVUsT0FBTyxDQUNoQixNQUFNLEVBQ04sSUFBQWtELG1CQUFPLEVBQ0xqQixJQUFJLENBQUN4QyxLQUFLLEtBQUtzQixZQUFZLElBQUlmLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFDckRpQyxJQUFJLENBQUNDLFFBQVEsSUFBSWxDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FDMUMsQ0FDRjtVQUNEbUQsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7WUFBQSxPQUFRcEIsZUFBZSxDQUFDRSxJQUFJLENBQUM7VUFBQTtVQUFBUSxRQUFBLEVBRXBDLElBQUFILGVBQUEsRUFBQSxNQUFBLEVBQUE7WUFBTWhELFNBQVMsRUFBRVUsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUFBeUMsUUFBQSxFQUFHUixJQUFJLENBQUNtQjtVQUFLLENBQUE7UUFBUSxDQUFBLEVBaEJ0RG5CLElBQUksQ0FBQ3hDLEtBQUssQ0FpQlI7TUFBQSxDQUNWLENBQUM7SUFBQSxDQUFBO0VBQ0UsQ0FBQSxDQUFBLENBQ0Y7QUFFVixDQUFDO0FBQUMsSUFBQTRELFFBQUEsR0FBQXBFLE9BQUEsMkJBRWEsSUFBQXFFLFdBQUksRUFBQ3RFLE9BQU8sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NlZ21lbnQvU2VnbWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0IH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5leHBvcnQgY29uc3QgU2VnbWVudCA9IHByb3BzID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWdtZW50JywgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgaXRlbXMsIGFuaW1hdGVkID0gdHJ1ZSwgb25DaGFuZ2UgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIml0ZW1zXCIsIFwiYW5pbWF0ZWRcIiwgXCJvbkNoYW5nZVwiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaXRlbVJlZnMgPSB1c2VSZWYobmV3IE1hcCgpKTtcbiAgICBjb25zdCBbaW5kaWNhdG9yU3R5bGUsIHNldEluZGljYXRvclN0eWxlXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtjdXJyZW50VmFsdWUsIHNldEN1cnJlbnRWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoKF9iID0gZGVmYXVsdFZhbHVlICE9PSBudWxsICYmIGRlZmF1bHRWYWx1ZSAhPT0gdm9pZCAwID8gZGVmYXVsdFZhbHVlIDogKF9hID0gaXRlbXNbMF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS52YWx1ZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogJycsIHZhbHVlKTtcbiAgICBjb25zdCB1cGRhdGVJbmRpY2F0b3IgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgICBjb25zdCBhY3RpdmVJdGVtID0gaXRlbVJlZnMuY3VycmVudC5nZXQoY3VycmVudFZhbHVlKTtcbiAgICAgICAgaWYgKCFjb250YWluZXIgfHwgIWFjdGl2ZUl0ZW0pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGl0ZW1SZWN0ID0gYWN0aXZlSXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgc2V0SW5kaWNhdG9yU3R5bGUoe1xuICAgICAgICAgICAgd2lkdGg6IGl0ZW1SZWN0LndpZHRoLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgke2l0ZW1SZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQgKyBjb250YWluZXIuc2Nyb2xsTGVmdH1weClgLFxuICAgICAgICB9KTtcbiAgICB9LCBbY3VycmVudFZhbHVlXSk7XG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgICAgdXBkYXRlSW5kaWNhdG9yKCk7XG4gICAgfSwgW2N1cnJlbnRWYWx1ZSwgaXRlbXMsIHVwZGF0ZUluZGljYXRvcl0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uZGlzYWJsZWQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHNldEN1cnJlbnRWYWx1ZShpdGVtLnZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGl0ZW0udmFsdWUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHNldEl0ZW1SZWYgPSB1c2VDYWxsYmFjaygodmFsLCBlbCkgPT4ge1xuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgIGl0ZW1SZWZzLmN1cnJlbnQuc2V0KHZhbCwgZWwpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaXRlbVJlZnMuY3VycmVudC5kZWxldGUodmFsKTtcbiAgICAgICAgfVxuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gKF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBjbGFzc05hbWU6IGNsYXNzZXModW5kZWZpbmVkLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3RyYWNrJyksIHJlZjogY29udGFpbmVyUmVmLCByb2xlOiBcInJhZGlvZ3JvdXBcIiwgY2hpbGRyZW46IFtpbmRpY2F0b3JTdHlsZSAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2luZGljYXRvcicpLCBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBpbmRpY2F0b3JTdHlsZSksICghYW5pbWF0ZWQgJiYgeyB0cmFuc2l0aW9uOiAnbm9uZScgfSkpIH0pKSwgaXRlbXMubWFwKGl0ZW0gPT4gKF9qc3goXCJidXR0b25cIiwgeyByZWY6IGVsID0+IHNldEl0ZW1SZWYoaXRlbS52YWx1ZSwgZWwpLCByb2xlOiBcInJhZGlvXCIsIHR5cGU6IFwiYnV0dG9uXCIsIFwiYXJpYS1jaGVja2VkXCI6IGl0ZW0udmFsdWUgPT09IGN1cnJlbnRWYWx1ZSwgXCJhcmlhLWRpc2FibGVkXCI6IGl0ZW0uZGlzYWJsZWQsIHRhYkluZGV4OiBpdGVtLnZhbHVlID09PSBjdXJyZW50VmFsdWUgPyAwIDogLTEsIGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbScsIGpvaW5DbHMoaXRlbS52YWx1ZSA9PT0gY3VycmVudFZhbHVlICYmIGNsYXNzZXMoJ2l0ZW0tYWN0aXZlJyksIGl0ZW0uZGlzYWJsZWQgJiYgY2xhc3NlcygnaXRlbS1kaXNhYmxlZCcpKSksIG9uQ2xpY2s6ICgpID0+IGhhbmRsZUl0ZW1DbGljayhpdGVtKSwgY2hpbGRyZW46IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBpdGVtLmxhYmVsIH0pIH0sIGl0ZW0udmFsdWUpKSldIH0pIH0pKSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWdtZW50KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -30,4 +30,4 @@ Object.keys(_interface).forEach(function (key) {
|
|
|
30
30
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
31
31
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
32
32
|
var _default = exports["default"] = _Segment["default"];
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VnbWVudC9pbmRleC50cyJdLCJuYW1lcyI6WyJfU2VnbWVudCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9pbnRlcmZhY2UiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsImV4cG9ydHMiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJuIiwiX19wcm90b19fIiwiYSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJpIiwic2V0IiwiX2RlZmF1bHQiLCJTZWdtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBTUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQUFFLE1BQUEsQ0FBQUMsSUFBQSxDQUFBRixVQUFBLEVBQUFHLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQUosVUFBQSxDQUFBSSxHQUFBO0VBQUFILE1BQUEsQ0FBQVMsY0FBQSxDQUFBRCxPQUFBLEVBQUFMLEdBQUE7SUFBQU8sVUFBQTtJQUFBQyxHQUFBLFdBQUFBLElBQUE7TUFBQSxPQUFBWixVQUFBLENBQUFJLEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFBNEIsU0FBQVMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFoQix3QkFBQWdCLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUwsR0FBQSxDQUFBRSxDQUFBLE9BQUFPLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUF0QixNQUFBLENBQUFTLGNBQUEsSUFBQVQsTUFBQSxDQUFBdUIsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBWCxDQUFBLG9CQUFBVyxDQUFBLE9BQUFuQixjQUFBLENBQUFDLElBQUEsQ0FBQU8sQ0FBQSxFQUFBVyxDQUFBLFNBQUFDLENBQUEsR0FBQUgsQ0FBQSxHQUFBdEIsTUFBQSxDQUFBdUIsd0JBQUEsQ0FBQVYsQ0FBQSxFQUFBVyxDQUFBLFVBQUFDLENBQUEsS0FBQUEsQ0FBQSxDQUFBZCxHQUFBLElBQUFjLENBQUEsQ0FBQUMsR0FBQSxJQUFBMUIsTUFBQSxDQUFBUyxjQUFBLENBQUFXLENBQUEsRUFBQUksQ0FBQSxFQUFBQyxDQUFBLElBQUFMLENBQUEsQ0FBQUksQ0FBQSxJQUFBWCxDQUFBLENBQUFXLENBQUEsWUFBQUosQ0FBQSxjQUFBUCxDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBVSxHQUFBLENBQUFiLENBQUEsRUFBQU8sQ0FBQSxHQUFBQSxDQUFBO0FBQUEsSUFBQU8sUUFBQSxHQUFBbkIsT0FBQSxjQUZib0IsbUJBQU8iLCJmaWxlIjoiY29tcG9uZW50cy9TZWdtZW50L2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9TZWdtZW50L2ludGVyZmFjZS5qcyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9TZWdtZW50L2ludGVyZmFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307Il0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("./Segment.css");
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VnbWVudC9zcmMvY29tcG9uZW50cy9TZWdtZW50L3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQUEiLCJmaWxlIjoiY29tcG9uZW50cy9TZWdtZW50L3N0eWxlL2Nzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("./Segment.css");
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VnbWVudC9zcmMvY29tcG9uZW50cy9TZWdtZW50L3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQUEiLCJmaWxlIjoiY29tcG9uZW50cy9TZWdtZW50L3N0eWxlL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -12,6 +12,7 @@ var _react = require("@floating-ui/react");
|
|
|
12
12
|
var _react2 = require("react");
|
|
13
13
|
var _hooks = require("@1money/hooks");
|
|
14
14
|
var _Icons = require("../Icons");
|
|
15
|
+
var _Spinner = require("../Spinner");
|
|
15
16
|
var _Typography = require("../Typography");
|
|
16
17
|
var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
|
|
17
18
|
var _SelectFieldShell = _interopRequireDefault(require("./SelectFieldShell"));
|
|
@@ -47,7 +48,9 @@ var Select = exports.Select = function Select(props) {
|
|
|
47
48
|
_props$variant = props.variant,
|
|
48
49
|
variant = _props$variant === void 0 ? 'fill' : _props$variant,
|
|
49
50
|
_props$disabled = props.disabled,
|
|
50
|
-
|
|
51
|
+
disabledProp = _props$disabled === void 0 ? false : _props$disabled,
|
|
52
|
+
_props$loading = props.loading,
|
|
53
|
+
loading = _props$loading === void 0 ? false : _props$loading,
|
|
51
54
|
_props$multiple = props.multiple,
|
|
52
55
|
multiple = _props$multiple === void 0 ? false : _props$multiple,
|
|
53
56
|
maxVisibleValues = props.maxVisibleValues,
|
|
@@ -71,6 +74,14 @@ var Select = exports.Select = function Select(props) {
|
|
|
71
74
|
open = props.open,
|
|
72
75
|
_props$defaultOpen = props.defaultOpen,
|
|
73
76
|
defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
|
|
77
|
+
_props$portal = props.portal,
|
|
78
|
+
portal = _props$portal === void 0 ? true : _props$portal,
|
|
79
|
+
_props$allowDeselect = props.allowDeselect,
|
|
80
|
+
allowDeselect = _props$allowDeselect === void 0 ? false : _props$allowDeselect,
|
|
81
|
+
_props$clearable = props.clearable,
|
|
82
|
+
clearable = _props$clearable === void 0 ? false : _props$clearable,
|
|
83
|
+
panelClassName = props.panelClassName,
|
|
84
|
+
optionClassName = props.optionClassName,
|
|
74
85
|
_props$listMaxHeight = props.listMaxHeight,
|
|
75
86
|
listMaxHeight = _props$listMaxHeight === void 0 ? DEFAULT_MAX_HEIGHT : _props$listMaxHeight,
|
|
76
87
|
onChange = props.onChange,
|
|
@@ -81,6 +92,7 @@ var Select = exports.Select = function Select(props) {
|
|
|
81
92
|
renderOption = props.renderOption,
|
|
82
93
|
renderValue = props.renderValue,
|
|
83
94
|
ref = props.ref;
|
|
95
|
+
var disabled = disabledProp || loading;
|
|
84
96
|
var classes = (0, _classnames["default"])(prefixCls);
|
|
85
97
|
var autoId = (0, _react2.useId)();
|
|
86
98
|
var triggerId = id !== null && id !== void 0 ? id : autoId;
|
|
@@ -276,7 +288,7 @@ var Select = exports.Select = function Select(props) {
|
|
|
276
288
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, nextOption);
|
|
277
289
|
});
|
|
278
290
|
var handleSelectOption = (0, _hooks.useEventCallback)(function (option) {
|
|
279
|
-
var _a;
|
|
291
|
+
var _a, _b;
|
|
280
292
|
if (option.disabled) {
|
|
281
293
|
return;
|
|
282
294
|
}
|
|
@@ -286,13 +298,31 @@ var Select = exports.Select = function Select(props) {
|
|
|
286
298
|
commitChange(nextValue, nextOptions);
|
|
287
299
|
return;
|
|
288
300
|
}
|
|
301
|
+
if (allowDeselect && innerValue === option.value) {
|
|
302
|
+
commitChange(undefined, undefined);
|
|
303
|
+
handleOpenChange(false);
|
|
304
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur();
|
|
305
|
+
(_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus({
|
|
306
|
+
preventScroll: true
|
|
307
|
+
});
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
289
310
|
commitChange(option.value, option);
|
|
290
311
|
handleOpenChange(false);
|
|
291
312
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur();
|
|
292
|
-
(
|
|
313
|
+
(_b = triggerRef.current) === null || _b === void 0 ? void 0 : _b.focus({
|
|
293
314
|
preventScroll: true
|
|
294
315
|
});
|
|
295
316
|
});
|
|
317
|
+
var handleClear = (0, _hooks.useEventCallback)(function (event) {
|
|
318
|
+
event.preventDefault();
|
|
319
|
+
event.stopPropagation();
|
|
320
|
+
if (multiple) {
|
|
321
|
+
commitChange([], []);
|
|
322
|
+
} else {
|
|
323
|
+
commitChange(undefined, undefined);
|
|
324
|
+
}
|
|
325
|
+
});
|
|
296
326
|
var handleRemoveSelectedValue = (0, _hooks.useEventCallback)(function (optionValue) {
|
|
297
327
|
if (!multiple) {
|
|
298
328
|
return;
|
|
@@ -388,6 +418,7 @@ var Select = exports.Select = function Select(props) {
|
|
|
388
418
|
variant: variant,
|
|
389
419
|
status: status,
|
|
390
420
|
disabled: disabled,
|
|
421
|
+
loading: loading,
|
|
391
422
|
label: label,
|
|
392
423
|
info: info,
|
|
393
424
|
description: description,
|
|
@@ -430,23 +461,40 @@ var Select = exports.Select = function Select(props) {
|
|
|
430
461
|
onRemoveMouseDown: handleTagRemoveMouseDown
|
|
431
462
|
})
|
|
432
463
|
})]
|
|
464
|
+
}), clearable && hasSelection && !disabled && !loading && (0, _jsxRuntime.jsx)("span", {
|
|
465
|
+
className: classes('clear'),
|
|
466
|
+
role: "button",
|
|
467
|
+
"aria-label": "Clear",
|
|
468
|
+
onMouseDown: function onMouseDown(event) {
|
|
469
|
+
event.preventDefault();
|
|
470
|
+
event.stopPropagation();
|
|
471
|
+
},
|
|
472
|
+
onClick: handleClear,
|
|
473
|
+
children: (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
474
|
+
name: "cross",
|
|
475
|
+
size: iconSize,
|
|
476
|
+
color: "currentColor"
|
|
477
|
+
})
|
|
433
478
|
}), (0, _jsxRuntime.jsx)("span", {
|
|
434
479
|
className: classes('icon'),
|
|
435
|
-
children: (0, _jsxRuntime.jsx)(
|
|
480
|
+
children: loading ? (0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
481
|
+
size: iconSize,
|
|
482
|
+
strokeWidth: 2
|
|
483
|
+
}) : (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
436
484
|
name: innerOpen ? 'chevronUp' : 'chevronDown',
|
|
437
485
|
size: iconSize,
|
|
438
486
|
color: "currentColor"
|
|
439
487
|
})
|
|
440
488
|
})]
|
|
441
|
-
})), innerOpen && !disabled && (
|
|
442
|
-
|
|
489
|
+
})), innerOpen && !disabled && function () {
|
|
490
|
+
var panelNode = (0, _jsxRuntime.jsx)(_react.FloatingFocusManager, {
|
|
443
491
|
context: context,
|
|
444
492
|
modal: false,
|
|
445
493
|
initialFocus: -1,
|
|
446
494
|
returnFocus: false,
|
|
447
495
|
children: (0, _jsxRuntime.jsxs)("div", Object.assign({}, getFloatingProps({
|
|
448
496
|
ref: setFloating,
|
|
449
|
-
className: classes('panel'),
|
|
497
|
+
className: (0, _classnames.joinCls)(classes('panel'), panelClassName),
|
|
450
498
|
style: floatingStyles
|
|
451
499
|
}), {
|
|
452
500
|
children: [searchable && (0, _jsxRuntime.jsx)(_SelectSearchControl["default"], {
|
|
@@ -498,7 +546,7 @@ var Select = exports.Select = function Select(props) {
|
|
|
498
546
|
},
|
|
499
547
|
type: 'button',
|
|
500
548
|
role: 'option',
|
|
501
|
-
className: classes('option', (0, _classnames.joinCls)(active && classes('option-active'), selected && classes('option-selected'), option.disabled && classes('option-disabled'))),
|
|
549
|
+
className: classes('option', (0, _classnames.joinCls)(active && classes('option-active'), selected && classes('option-selected'), option.disabled && classes('option-disabled'), optionClassName)),
|
|
502
550
|
disabled: option.disabled,
|
|
503
551
|
'aria-selected': selected,
|
|
504
552
|
onClick: function onClick(event) {
|
|
@@ -525,10 +573,13 @@ var Select = exports.Select = function Select(props) {
|
|
|
525
573
|
children: panelFooter
|
|
526
574
|
})]
|
|
527
575
|
}))
|
|
528
|
-
})
|
|
529
|
-
|
|
576
|
+
});
|
|
577
|
+
return portal ? (0, _jsxRuntime.jsx)(_react.FloatingPortal, {
|
|
578
|
+
children: panelNode
|
|
579
|
+
}) : panelNode;
|
|
580
|
+
}()]
|
|
530
581
|
});
|
|
531
582
|
};
|
|
532
583
|
Select.displayName = 'Select';
|
|
533
584
|
var _default = exports["default"] = /*#__PURE__*/(0, _react2.memo)(Select);
|
|
534
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl9ob29rcyIsIl9JY29ucyIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9TZWxlY3RGaWVsZFNoZWxsIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9TZWxlY3RPcHRpb25Db250ZW50IiwiX1NlbGVjdFNlYXJjaENvbnRyb2wiLCJfU2VsZWN0VmFsdWVDb250ZW50IiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkRFRkFVTFRfTUFYX0hFSUdIVCIsIlNlbGVjdCIsImV4cG9ydHMiLCJwcm9wcyIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwic3R5bGUiLCJpZCIsIm5hbWUiLCJhcmlhTGFiZWwiLCJhcmlhTGFiZWxsZWRCeSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJG9wdGlvbnMiLCJvcHRpb25zIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfcHJvcHMkbXVsdGlwbGUiLCJtdWx0aXBsZSIsIm1heFZpc2libGVWYWx1ZXMiLCJfcHJvcHMkc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfcHJvcHMkc2VhcmNoUGxhY2Vob2wiLCJzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFZhbHVlIiwiX3Byb3BzJGRlZmF1bHRTZWFyY2hWIiwiZGVmYXVsdFNlYXJjaFZhbHVlIiwibGFiZWwiLCJpbmZvIiwiZGVzY3JpcHRpb24iLCJmZWVkYmFjayIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwicHJlZml4IiwiX3Byb3BzJGVtcHR5Q29udGVudCIsImVtcHR5Q29udGVudCIsInBhbmVsRm9vdGVyIiwib3BlbiIsIl9wcm9wcyRkZWZhdWx0T3BlbiIsImRlZmF1bHRPcGVuIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0Iiwib25DaGFuZ2UiLCJvbk9wZW5DaGFuZ2UiLCJvblNlYXJjaENoYW5nZSIsIm9uQmx1ciIsImZpbHRlck9wdGlvbiIsInJlbmRlck9wdGlvbiIsInJlbmRlclZhbHVlIiwicmVmIiwiY2xhc3NlcyIsInJvb3RDbGFzc25hbWVzIiwiYXV0b0lkIiwidXNlSWQiLCJ0cmlnZ2VySWQiLCJsYWJlbElkIiwiZGVzY3JpcHRpb25JZCIsImZlZWRiYWNrSWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTQiLCJpbm5lck9wZW4iLCJzZXRJbm5lck9wZW4iLCJfdXNlQ29udHJvbGxlZFN0YXRlNSIsIl91c2VDb250cm9sbGVkU3RhdGU2IiwiaW5uZXJTZWFyY2hWYWx1ZSIsInNldElubmVyU2VhcmNoVmFsdWUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJhY3RpdmVJbmRleCIsInNldEFjdGl2ZUluZGV4Iiwibm9ybWFsaXplZFNpemUiLCJub3JtYWxpemVTaXplIiwiYWxsT3B0aW9uR3JvdXBzIiwidXNlTWVtbyIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsImFsbEZsYXRPcHRpb25zIiwiZmxhdHRlbk9wdGlvbkdyb3VwcyIsInZpc2libGVPcHRpb25Hcm91cHMiLCJmaWx0ZXJPcHRpb25Hcm91cHMiLCJ2aXNpYmxlRmxhdE9wdGlvbnMiLCJzZWxlY3RlZE9wdGlvbnMiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJzZWxlY3RlZEluZGV4IiwibGVuZ3RoIiwibWF0Y2hlZEluZGV4IiwiZmluZEluZGV4Iiwib3B0aW9uIiwiaGFzU2VsZWN0aW9uIiwibGlzdFJlZiIsInVzZVJlZiIsImxpc3RDb250ZW50UmVmIiwiZmxvYXRpbmdSZWYiLCJ0cmlnZ2VyUmVmIiwic2VhcmNoSW5wdXRSZWYiLCJoYW5kbGVUcmlnZ2VyUmVmIiwidXNlRXZlbnRDYWxsYmFjayIsIm5vZGUiLCJjdXJyZW50IiwiaGFuZGxlT3BlbkNoYW5nZSIsIm5leHRPcGVuIiwiX3VzZUZsb2F0aW5nIiwidXNlRmxvYXRpbmciLCJwbGFjZW1lbnQiLCJ3aGlsZUVsZW1lbnRzTW91bnRlZCIsImF1dG9VcGRhdGUiLCJtaWRkbGV3YXJlIiwib2Zmc2V0IiwiZmxpcCIsInBhZGRpbmciLCJzaGlmdCIsImZsb2F0aW5nU2l6ZSIsImFwcGx5IiwiX3JlZiIsInJlY3RzIiwiZWxlbWVudHMiLCJhdmFpbGFibGVIZWlnaHQiLCJuZXh0TWF4SGVpZ2h0IiwiTWF0aCIsIm1heCIsIm1pbiIsImFzc2lnbiIsImZsb2F0aW5nIiwid2lkdGgiLCJjb25jYXQiLCJyZWZlcmVuY2UiLCJtYXhIZWlnaHQiLCJyZWZzIiwiZmxvYXRpbmdTdHlsZXMiLCJjb250ZXh0Iiwic2V0UmVmZXJlbmNlIiwic2V0RmxvYXRpbmciLCJjbGljayIsInVzZUNsaWNrIiwiZW5hYmxlZCIsImRpc21pc3MiLCJ1c2VEaXNtaXNzIiwib3V0c2lkZVByZXNzRXZlbnQiLCJyb2xlIiwidXNlUm9sZSIsImxpc3ROYXZpZ2F0aW9uIiwidXNlTGlzdE5hdmlnYXRpb24iLCJvbk5hdmlnYXRlIiwibG9vcCIsInR5cGVhaGVhZCIsInVzZVR5cGVhaGVhZCIsIm9uTWF0Y2giLCJfdXNlSW50ZXJhY3Rpb25zIiwidXNlSW50ZXJhY3Rpb25zIiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwiZ2V0SXRlbVByb3BzIiwiZmlyc3RFbmFibGVkSW5kZXgiLCJsYXN0RW5hYmxlZEluZGV4IiwiX2EiLCJpbmRleCIsInVzZUVmZmVjdCIsInByZXYiLCJmb2N1cyIsInByZXZlbnRTY3JvbGwiLCJzbGljZSIsIm5vdGlmeUJsdXJJZk91dHNpZGUiLCJyZWxhdGVkVGFyZ2V0IiwiZXZlbnQiLCJfYiIsIm5leHRUYXJnZXQiLCJ3aXRoaW5UcmlnZ2VyIiwiY29udGFpbnMiLCJ3aXRoaW5GbG9hdGluZyIsImhhbmRsZVRyaWdnZXJCbHVyIiwiaGFuZGxlT3B0aW9uQmx1ciIsImNvbW1pdENoYW5nZSIsIm5leHRWYWx1ZSIsIm5leHRPcHRpb24iLCJoYW5kbGVTZWxlY3RPcHRpb24iLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwibmV4dE9wdGlvbnMiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlIiwib3B0aW9uVmFsdWUiLCJnZXRNdWx0aXBsZVZhbHVlIiwiaW5jbHVkZXMiLCJyZW1vdmVNdWx0aXBsZVZhbHVlIiwiaGFuZGxlVHJpZ2dlcktleURvd24iLCJrZXkiLCJLRVlCT0FSRCIsIkVOVEVSIiwiU1BBQ0UiLCJwcmV2ZW50RGVmYXVsdCIsIkFSUk9XX0RPV04iLCJBUlJPV19VUCIsImhhbmRsZUl0ZW1Nb3VzZUVudGVyIiwiaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIiwic3RvcFByb3BhZ2F0aW9uIiwiaGFuZGxlVGFnUmVtb3ZlQ2xpY2siLCJoYW5kbGVTZWFyY2hCbHVyIiwiaGFuZGxlU2VhcmNoQ2hhbmdlIiwiX2V2ZW50IiwiaGFuZGxlU2VhcmNoS2V5RG93biIsIl9jIiwiRVNDQVBFIiwicmVuZGVyVmFsdWVNZXRhIiwidmFsdWVMYWJlbENsYXNzIiwiaXNNdWx0aXBsZVZhbHVlRmlsbGVkIiwidHJpZ2dlckNsYXNzTmFtZSIsImpvaW5DbHMiLCJpY29uU2l6ZSIsImZsb2F0aW5nQXJpYUxhYmVsbGVkQnkiLCJkZXNjcmliZWRCeUlkcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiX2pzeHMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiY2hpbGRyZW4iLCJ0eXBlIiwib25LZXlEb3duIiwiX2pzeCIsIlNlbGVjdFZhbHVlQ29udGVudCIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwiSWNvbnMiLCJjb2xvciIsIkZsb2F0aW5nUG9ydGFsIiwiRmxvYXRpbmdGb2N1c01hbmFnZXIiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiU2VsZWN0U2VhcmNoQ29udHJvbCIsIlR5cG9ncmFwaHlCb2R5IiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJlbXB0eSIsImZsYXRJbmRleCIsIm1hcCIsImdyb3VwIiwiVHlwb2dyYXBoeUxhYmVsIiwiZ3JvdXBMYWJlbCIsInN0cm9uZyIsIm9wdGlvbkZsYXRJbmRleCIsInNlbGVjdGVkIiwiaXNPcHRpb25TZWxlY3RlZCIsImFjdGl2ZSIsIm9wdGlvbk1ldGEiLCJleHRyYWN0T3B0aW9uVGV4dCIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJTZWxlY3RPcHRpb25Db250ZW50IiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQWdCQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFD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QyxHQUVoQyxJQUFBMUIsZUFBQSxFQUFDOEIsK0JBQW1CLEVBQUE7d0JBQ2xCNU0sT0FBTyxFQUFFQSxPQUFPO3dCQUNoQjRDLE1BQU0sRUFBRUEsTUFBTTt3QkFDZHlKLFFBQVEsRUFBRUE7c0JBQVEsQ0FBQTtvQkFFckIsQ0FBQSxDQUFBLEtBQUFwSCxNQUFBLENBakNPK0csS0FBSyxDQUFDbkQsR0FBRyxPQUFBNUQsTUFBQSxDQUFJckMsTUFBTSxDQUFDdkYsS0FBSyxDQUFFLENBa0M1QjtrQkFFYixDQUFDLENBQUM7Z0JBQUEsQ0FBQSxFQTdETTJPLEtBQUssQ0FBQ25ELEdBQUcsQ0E4RGI7Y0FBQSxDQUNQLENBQUM7WUFDSixDQUFDLENBQUM7VUFDSCxDQUFBLENBQ0csRUFDTDNKLFdBQVcsSUFBSSxJQUFJLElBQ2xCLElBQUE0TCxlQUFBLEVBQUEsS0FBQSxFQUFBO1lBQUtyTyxTQUFTLEVBQUV1RCxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQUEySyxRQUFBLEVBQUd6TDtVQUFXLENBQUEsQ0FDdEQ7UUFBQSxDQUFBLENBQUE7TUFDRyxDQUFBO0lBQ2UsQ0FBQSxDQUUxQjtFQUFBLENBQUEsQ0FDZ0I7QUFFdkIsQ0FBQztBQUVEN0MsTUFBTSxDQUFDd1EsV0FBVyxHQUFHLFFBQVE7QUFBQyxJQUFBQyxRQUFBLEdBQUF4USxPQUFBLDJCQUVmLElBQUF5USxZQUFJLEVBQUMxUSxNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGF1dG9VcGRhdGUsIGZsaXAsIEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBGbG9hdGluZ1BvcnRhbCwgb2Zmc2V0LCBzaGlmdCwgc2l6ZSBhcyBmbG9hdGluZ1NpemUsIHVzZUNsaWNrLCB1c2VEaXNtaXNzLCB1c2VGbG9hdGluZywgdXNlSW50ZXJhY3Rpb25zLCB1c2VMaXN0TmF2aWdhdGlvbiwgdXNlUm9sZSwgdXNlVHlwZWFoZWFkLCB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMsIGRlZmF1bHQgYXMgcm9vdENsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBTZWxlY3RGaWVsZFNoZWxsIGZyb20gJy4vU2VsZWN0RmllbGRTaGVsbCc7XG5pbXBvcnQgU2VsZWN0T3B0aW9uQ29udGVudCBmcm9tICcuL1NlbGVjdE9wdGlvbkNvbnRlbnQnO1xuaW1wb3J0IFNlbGVjdFNlYXJjaENvbnRyb2wgZnJvbSAnLi9TZWxlY3RTZWFyY2hDb250cm9sJztcbmltcG9ydCBTZWxlY3RWYWx1ZUNvbnRlbnQgZnJvbSAnLi9TZWxlY3RWYWx1ZUNvbnRlbnQnO1xuaW1wb3J0IHsgS0VZQk9BUkQsIFNFTEVDVF9UWVBPR1JBUEhZIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZXh0cmFjdE9wdGlvblRleHQsIGZpbHRlck9wdGlvbkdyb3VwcywgZmxhdHRlbk9wdGlvbkdyb3VwcywgZ2V0TXVsdGlwbGVWYWx1ZSwgZ2V0T3B0aW9uc0J5VmFsdWVzLCBnZXRTZWxlY3RlZE9wdGlvbnMsIGlzT3B0aW9uU2VsZWN0ZWQsIG5vcm1hbGl6ZVNpemUsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcywgcmVtb3ZlTXVsdGlwbGVWYWx1ZSwgdG9nZ2xlTXVsdGlwbGVWYWx1ZSwgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBERUZBVUxUX01BWF9IRUlHSFQgPSAzMjA7XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHN0eWxlLCBpZCwgbmFtZSwgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRCeSwgcGxhY2Vob2xkZXIgPSAnVmFsdWUnLCBvcHRpb25zID0gW10sIHZhbHVlLCBkZWZhdWx0VmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIHZhcmlhbnQgPSAnZmlsbCcsIGRpc2FibGVkID0gZmFsc2UsIG11bHRpcGxlID0gZmFsc2UsIG1heFZpc2libGVWYWx1ZXMsIHNlYXJjaGFibGUgPSBmYWxzZSwgc2VhcmNoUGxhY2Vob2xkZXIgPSAnU2VhcmNoJywgc2VhcmNoVmFsdWUsIGRlZmF1bHRTZWFyY2hWYWx1ZSA9ICcnLCBsYWJlbCwgaW5mbywgZGVzY3JpcHRpb24sIGZlZWRiYWNrLCByZXF1aXJlZCA9IGZhbHNlLCBwcmVmaXgsIGVtcHR5Q29udGVudCA9ICdObyBvcHRpb25zJywgcGFuZWxGb290ZXIsIG9wZW4sIGRlZmF1bHRPcGVuID0gZmFsc2UsIGxpc3RNYXhIZWlnaHQgPSBERUZBVUxUX01BWF9IRUlHSFQsIG9uQ2hhbmdlLCBvbk9wZW5DaGFuZ2UsIG9uU2VhcmNoQ2hhbmdlLCBvbkJsdXIsIGZpbHRlck9wdGlvbiwgcmVuZGVyT3B0aW9uLCByZW5kZXJWYWx1ZSwgcmVmLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IHJvb3RDbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCB0cmlnZ2VySWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiBhdXRvSWQ7XG4gICAgY29uc3QgbGFiZWxJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb25JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZmVlZGJhY2tJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgW2lubmVyVmFsdWUsIHNldElubmVyVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT09IHZvaWQgMCA/IGRlZmF1bHRWYWx1ZSA6IChtdWx0aXBsZSA/IFtdIDogdW5kZWZpbmVkKSwgdmFsdWUpO1xuICAgIGNvbnN0IFtpbm5lck9wZW4sIHNldElubmVyT3Blbl0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdE9wZW4sIG9wZW4pO1xuICAgIGNvbnN0IFtpbm5lclNlYXJjaFZhbHVlLCBzZXRJbm5lclNlYXJjaFZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0U2VhcmNoVmFsdWUsIHNlYXJjaFZhbHVlKTtcbiAgICBjb25zdCBbYWN0aXZlSW5kZXgsIHNldEFjdGl2ZUluZGV4XSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRTaXplID0gbm9ybWFsaXplU2l6ZShzaXplKTtcbiAgICBjb25zdCBhbGxPcHRpb25Hcm91cHMgPSB1c2VNZW1vKCgpID0+IG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyhvcHRpb25zKSwgW29wdGlvbnNdKTtcbiAgICBjb25zdCBhbGxGbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3QgdmlzaWJsZU9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gKHNlYXJjaGFibGVcbiAgICAgICAgPyBmaWx0ZXJPcHRpb25Hcm91cHMoYWxsT3B0aW9uR3JvdXBzLCBpbm5lclNlYXJjaFZhbHVlLCBmaWx0ZXJPcHRpb24pXG4gICAgICAgIDogYWxsT3B0aW9uR3JvdXBzKSwgW2FsbE9wdGlvbkdyb3VwcywgZmlsdGVyT3B0aW9uLCBpbm5lclNlYXJjaFZhbHVlLCBzZWFyY2hhYmxlXSk7XG4gICAgY29uc3QgdmlzaWJsZUZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKHZpc2libGVPcHRpb25Hcm91cHMpLCBbdmlzaWJsZU9wdGlvbkdyb3Vwc10pO1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZ2V0U2VsZWN0ZWRPcHRpb25zKGFsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZSksIFthbGxGbGF0T3B0aW9ucywgaW5uZXJWYWx1ZSwgbXVsdGlwbGVdKTtcbiAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXRjaGVkSW5kZXggPSB2aXNpYmxlRmxhdE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWRPcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG1hdGNoZWRJbmRleCA+PSAwID8gbWF0Y2hlZEluZGV4IDogbnVsbDtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb25zLCB2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBoYXNTZWxlY3Rpb24gPSBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMDtcbiAgICBjb25zdCBsaXN0UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBsaXN0Q29udGVudFJlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgZmxvYXRpbmdSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWFyY2hJbnB1dFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyUmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICByZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dE9wZW4pID0+IHtcbiAgICAgICAgc2V0SW5uZXJPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgb25PcGVuQ2hhbmdlID09PSBudWxsIHx8IG9uT3BlbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PcGVuQ2hhbmdlKG5leHRPcGVuKTtcbiAgICB9KTtcbiAgICBjb25zdCB7IHJlZnMsIGZsb2F0aW5nU3R5bGVzLCBjb250ZXh0LCB9ID0gdXNlRmxvYXRpbmcoe1xuICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSxcbiAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tLXN0YXJ0JyxcbiAgICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICAgIG1pZGRsZXdhcmU6IFtcbiAgICAgICAgICAgIG9mZnNldCgwKSxcbiAgICAgICAgICAgIGZsaXAoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgc2hpZnQoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgZmxvYXRpbmdTaXplKHtcbiAgICAgICAgICAgICAgICBhcHBseSh7IHJlY3RzLCBlbGVtZW50cywgYXZhaWxhYmxlSGVpZ2h0IH0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dE1heEhlaWdodCA9IE1hdGgubWF4KDEyMCwgTWF0aC5taW4obGlzdE1heEhlaWdodCwgYXZhaWxhYmxlSGVpZ2h0KSk7XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudHMuZmxvYXRpbmcuc3R5bGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBgJHtyZWN0cy5yZWZlcmVuY2Uud2lkdGh9cHhgLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBgJHtuZXh0TWF4SGVpZ2h0fXB4YCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZmVyZW5jZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgICAgIGhhbmRsZVRyaWdnZXJSZWYobm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc2V0RmxvYXRpbmcgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0RmxvYXRpbmcobm9kZSk7XG4gICAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgIH0pO1xuICAgIGNvbnN0IGNsaWNrID0gdXNlQ2xpY2soY29udGV4dCwgeyBlbmFibGVkOiAhZGlzYWJsZWQgfSk7XG4gICAgY29uc3QgZGlzbWlzcyA9IHVzZURpc21pc3MoY29udGV4dCwgeyBlbmFibGVkOiAhZGlzYWJsZWQsIG91dHNpZGVQcmVzc0V2ZW50OiAnbW91c2Vkb3duJyB9KTtcbiAgICBjb25zdCByb2xlID0gdXNlUm9sZShjb250ZXh0LCB7IHJvbGU6ICdzZWxlY3QnIH0pO1xuICAgIGNvbnN0IGxpc3ROYXZpZ2F0aW9uID0gdXNlTGlzdE5hdmlnYXRpb24oY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgb25OYXZpZ2F0ZTogc2V0QWN0aXZlSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbixcbiAgICAgICAgbG9vcDogdHJ1ZSxcbiAgICB9KTtcbiAgICBjb25zdCB0eXBlYWhlYWQgPSB1c2VUeXBlYWhlYWQoY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmOiBsaXN0Q29udGVudFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbiAmJiAhc2VhcmNoYWJsZSxcbiAgICAgICAgb25NYXRjaDogc2V0QWN0aXZlSW5kZXgsXG4gICAgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcywgZ2V0SXRlbVByb3BzIH0gPSB1c2VJbnRlcmFjdGlvbnMoW1xuICAgICAgICBjbGljayxcbiAgICAgICAgZGlzbWlzcyxcbiAgICAgICAgcm9sZSxcbiAgICAgICAgbGlzdE5hdmlnYXRpb24sXG4gICAgICAgIHR5cGVhaGVhZCxcbiAgICBdKTtcbiAgICBjb25zdCBmaXJzdEVuYWJsZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiAhb3B0aW9uLmRpc2FibGVkKSwgW3Zpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIGNvbnN0IGxhc3RFbmFibGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleCAtPSAxKSB7XG4gICAgICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbaW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0sIFt2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0QWN0aXZlSW5kZXgoKHByZXYpID0+IHtcbiAgICAgICAgICAgIGlmIChwcmV2ICE9PSBudWxsICYmIHZpc2libGVGbGF0T3B0aW9uc1twcmV2XSAmJiAhdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmaXJzdEVuYWJsZWRJbmRleCA+PSAwID8gZmlyc3RFbmFibGVkSW5kZXggOiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9LCBbZmlyc3RFbmFibGVkSW5kZXgsIGlubmVyT3Blbiwgc2VsZWN0ZWRJbmRleCwgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIWlubmVyT3BlbiB8fCBhY3RpdmVJbmRleCA9PT0gbnVsbCB8fCBzZWFyY2hhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgKF9hID0gbGlzdFJlZi5jdXJyZW50W2FjdGl2ZUluZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGlubmVyT3Blbiwgc2VhcmNoYWJsZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGxpc3RSZWYuY3VycmVudCA9IGxpc3RSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudCA9IGxpc3RDb250ZW50UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgfSwgW3Zpc2libGVGbGF0T3B0aW9ucy5sZW5ndGhdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpbm5lck9wZW4gJiYgc2VhcmNoYWJsZSkge1xuICAgICAgICAgICAgKF9hID0gc2VhcmNoSW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtpbm5lck9wZW4sIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCBub3RpZnlCbHVySWZPdXRzaWRlID0gdXNlRXZlbnRDYWxsYmFjaygocmVsYXRlZFRhcmdldCwgZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgbmV4dFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IHdpdGhpblRyaWdnZXIgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBjb25zdCB3aXRoaW5GbG9hdGluZyA9ICEhKG5leHRUYXJnZXQgJiYgKChfYiA9IGZsb2F0aW5nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBpZiAoIXdpdGhpblRyaWdnZXIgJiYgIXdpdGhpbkZsb2F0aW5nKSB7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlckJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPcHRpb25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgY29tbWl0Q2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBuZXh0T3B0aW9uKSA9PiB7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbik7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VsZWN0T3B0aW9uID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKG9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gdG9nZ2xlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29tbWl0Q2hhbmdlKG9wdGlvbi52YWx1ZSwgb3B0aW9uKTtcbiAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvblZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdldE11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSkuaW5jbHVkZXMob3B0aW9uVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gcmVtb3ZlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb25WYWx1ZSk7XG4gICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlcktleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELlNQQUNFKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSghaW5uZXJPcGVuKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVJdGVtTW91c2VFbnRlciA9IHVzZUV2ZW50Q2FsbGJhY2soKGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2luZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlQ2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBfZXZlbnQpID0+IHtcbiAgICAgICAgc2V0SW5uZXJTZWFyY2hWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvblNlYXJjaENoYW5nZSA9PT0gbnVsbCB8fCBvblNlYXJjaENoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TZWFyY2hDaGFuZ2UobmV4dFZhbHVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX0RPV04gJiYgZmlyc3RFbmFibGVkSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGZpcnN0RW5hYmxlZEluZGV4KTtcbiAgICAgICAgICAgIChfYSA9IGxpc3RSZWYuY3VycmVudFtmaXJzdEVuYWJsZWRJbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVAgJiYgbGFzdEVuYWJsZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGxhc3RFbmFibGVkSW5kZXgpO1xuICAgICAgICAgICAgKF9iID0gbGlzdFJlZi5jdXJyZW50W2xhc3RFbmFibGVkSW5kZXhdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVTQ0FQRSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgKF9jID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgcmVuZGVyVmFsdWVNZXRhID0ge1xuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMsXG4gICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgcGxhY2Vob2xkZXI6ICFoYXNTZWxlY3Rpb24sXG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucyxcbiAgICB9O1xuICAgIGNvbnN0IHZhbHVlTGFiZWxDbGFzcyA9IGhhc1NlbGVjdGlvbiA/ICd2YWx1ZScgOiAncGxhY2Vob2xkZXInO1xuICAgIGNvbnN0IGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCA9IChtdWx0aXBsZSAmJlxuICAgICAgICBoYXNTZWxlY3Rpb24gJiZcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyA9PT0gdW5kZWZpbmVkKTtcbiAgICBjb25zdCB0cmlnZ2VyQ2xhc3NOYW1lID0gY2xhc3NlcygndHJpZ2dlcicsIGpvaW5DbHMoY2xhc3NlcyhgdHJpZ2dlci0ke25vcm1hbGl6ZWRTaXplfWApLCBjbGFzc2VzKGB0cmlnZ2VyLSR7dmFyaWFudH1gKSwgaW5uZXJPcGVuICYmIGNsYXNzZXMoJ3RyaWdnZXItb3BlbicpLCBpc011bHRpcGxlVmFsdWVGaWxsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1tdWx0aXBsZS1maWxsZWQnKSwgaGFzU2VsZWN0aW9uID8gY2xhc3NlcygndHJpZ2dlci1maWxsZWQnKSA6IGNsYXNzZXMoJ3RyaWdnZXItcGxhY2Vob2xkZXInKSwgc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhgdHJpZ2dlci0ke3N0YXR1c31gKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1kaXNhYmxlZCcpKSk7XG4gICAgY29uc3QgaWNvblNpemUgPSBub3JtYWxpemVkU2l6ZSA9PT0gJ3NtYWxsJyA/IDE2IDogMjA7XG4gICAgY29uc3QgZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSA9IGFyaWFMYWJlbGxlZEJ5ICE9PSBudWxsICYmIGFyaWFMYWJlbGxlZEJ5ICE9PSB2b2lkIDAgPyBhcmlhTGFiZWxsZWRCeSA6IChsYWJlbCA/IGxhYmVsSWQgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWRzID0gW1xuICAgICAgICBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uSWQgOiBudWxsLFxuICAgICAgICBmZWVkYmFjayA/IGZlZWRiYWNrSWQgOiBudWxsLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSB8fCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIChfanN4cyhTZWxlY3RGaWVsZFNoZWxsLCB7IGNsYXNzZXM6IGNsYXNzZXMsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCBzaXplOiBub3JtYWxpemVkU2l6ZSwgdmFyaWFudDogdmFyaWFudCwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBkaXNhYmxlZCwgbGFiZWw6IGxhYmVsLCBpbmZvOiBpbmZvLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIGZlZWRiYWNrOiBmZWVkYmFjaywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBsYWJlbElkOiBsYWJlbElkLCBkZXNjcmlwdGlvbklkOiBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkOiBmZWVkYmFja0lkLCBjaGlsZHJlbjogW19qc3hzKFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldFJlZmVyZW5jZVByb3BzKHtcbiAgICAgICAgICAgICAgICByZWY6IHNldFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBpZDogdHJpZ2dlcklkLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0cmlnZ2VyQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bjogaGFuZGxlVHJpZ2dlcktleURvd24sXG4gICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVUcmlnZ2VyQmx1cixcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlZEJ5SWRzLFxuICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQnKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh2YWx1ZUxhYmVsQ2xhc3MsIGpvaW5DbHMoY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LSR7bm9ybWFsaXplZFNpemV9YCksIGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tbXVsdGlwbGVgKSwgZGlzYWJsZWQgJiYgY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LWRpc2FibGVkYCkpKSwgY2hpbGRyZW46IF9qc3goU2VsZWN0VmFsdWVDb250ZW50LCB7IGNsYXNzZXM6IGNsYXNzZXMsIGhhc1NlbGVjdGlvbjogaGFzU2VsZWN0aW9uLCBtdWx0aXBsZTogbXVsdGlwbGUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCByZW5kZXJWYWx1ZU1ldGE6IHJlbmRlclZhbHVlTWV0YSwgc2VsZWN0ZWRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsIG1heFZpc2libGVWYWx1ZXM6IG1heFZpc2libGVWYWx1ZXMsIG9uUmVtb3ZlOiBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlLCBvblJlbW92ZUNsaWNrOiBoYW5kbGVUYWdSZW1vdmVDbGljaywgb25SZW1vdmVNb3VzZURvd246IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biB9KSB9KV0gfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpY29uJyksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGlubmVyT3BlbiA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJywgc2l6ZTogaWNvblNpemUsIGNvbG9yOiBcImN1cnJlbnRDb2xvclwiIH0pIH0pXSB9KSksIGlubmVyT3BlbiAmJiAhZGlzYWJsZWQgJiYgKF9qc3goRmxvYXRpbmdQb3J0YWwsIHsgY2hpbGRyZW46IF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogZmxvYXRpbmdTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbc2VhcmNoYWJsZSAmJiAoX2pzeChTZWxlY3RTZWFyY2hDb250cm9sLCB7IHJlZjogc2VhcmNoSW5wdXRSZWYsIGNsYXNzZXM6IGNsYXNzZXMsIHBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgdmFsdWU6IGlubmVyU2VhcmNoVmFsdWUsIG9uQmx1cjogaGFuZGxlU2VhcmNoQmx1ciwgb25DaGFuZ2U6IGhhbmRsZVNlYXJjaENoYW5nZSwgb25LZXlEb3duOiBoYW5kbGVTZWFyY2hLZXlEb3duIH0pKSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtYm9keScpLCBjaGlsZHJlbjogdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCA9PT0gMCA/IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdlbXB0eScpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5lbXB0eS5zaXplLCBjb2xvcjogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuY29sb3IsIGNoaWxkcmVuOiBlbXB0eUNvbnRlbnQgfSkgfSkpIDogKCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmxhdEluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlT3B0aW9uR3JvdXBzLm1hcCgoZ3JvdXApID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAnKSwgY2hpbGRyZW46IFtncm91cC5sYWJlbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtbGFiZWwnKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmdyb3VwTGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjaGlsZHJlbjogZ3JvdXAubGFiZWwgfSkgfSkpLCBncm91cC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25GbGF0SW5kZXggPSBmbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGF0SW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gaXNPcHRpb25TZWxlY3RlZChpbm5lclZhbHVlLCBtdWx0aXBsZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGFjdGl2ZUluZGV4ID09PSBvcHRpb25GbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25NZXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogISFvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IG9wdGlvbkZsYXRJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImJ1dHRvblwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRJdGVtUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZihub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uJywgam9pbkNscyhhY3RpdmUgJiYgY2xhc3Nlcygnb3B0aW9uLWFjdGl2ZScpLCBzZWxlY3RlZCAmJiBjbGFzc2VzKCdvcHRpb24tc2VsZWN0ZWQnKSwgb3B0aW9uLmRpc2FibGVkICYmIGNsYXNzZXMoJ29wdGlvbi1kaXNhYmxlZCcpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IG9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJpYS1zZWxlY3RlZCc6IHNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb24ob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gaGFuZGxlSXRlbU1vdXNlRW50ZXIob3B0aW9uRmxhdEluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZU9wdGlvbkJsdXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogcmVuZGVyT3B0aW9uID8gKHJlbmRlck9wdGlvbihvcHRpb24sIG9wdGlvbk1ldGEpKSA6IChfanN4KFNlbGVjdE9wdGlvbkNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3Nlcywgb3B0aW9uOiBvcHRpb24sIHNlbGVjdGVkOiBzZWxlY3RlZCB9KSkgfSksIGAke2dyb3VwLmtleX0tJHtvcHRpb24udmFsdWV9YCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KV0gfSwgZ3JvdXAua2V5KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpKSB9KSwgcGFuZWxGb290ZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtZm9vdGVyJyksIGNoaWxkcmVuOiBwYW5lbEZvb3RlciB9KSldIH0pKSB9KSB9KSldIH0pKTtcbn07XG5TZWxlY3QuZGlzcGxheU5hbWUgPSAnU2VsZWN0JztcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU2VsZWN0KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
585
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl9ob29rcyIsIl9JY29ucyIsIl9TcGlubmVyIiwiX1R5cG9ncmFwaHkiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX1NlbGVjdEZpZWxkU2hlbGwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1NlbGVjdE9wdGlvbkNvbnRlbnQiLCJfU2VsZWN0U2VhcmNoQ29udHJvbCIsIl9TZWxlY3RWYWx1ZUNvbnRlbnQiLCJfY29uc3RhbnRzIiwiX3V0aWxzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiREVGQVVMVF9NQVhfSEVJR0hUIiwiU2VsZWN0IiwiZXhwb3J0cyIsInByb3BzIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJzdHlsZSIsImlkIiwibmFtZSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5IiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfcHJvcHMkb3B0aW9ucyIsIm9wdGlvbnMiLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsIl9wcm9wcyRzdGF0dXMiLCJzdGF0dXMiLCJfcHJvcHMkdmFyaWFudCIsInZhcmlhbnQiLCJfcHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsImRpc2FibGVkUHJvcCIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsIl9wcm9wcyRtdWx0aXBsZSIsIm11bHRpcGxlIiwibWF4VmlzaWJsZVZhbHVlcyIsIl9wcm9wcyRzZWFyY2hhYmxlIiwic2VhcmNoYWJsZSIsIl9wcm9wcyRzZWFyY2hQbGFjZWhvbCIsInNlYXJjaFBsYWNlaG9sZGVyIiwic2VhcmNoVmFsdWUiLCJfcHJvcHMkZGVmYXVsdFNlYXJjaFYiLCJkZWZhdWx0U2VhcmNoVmFsdWUiLCJsYWJlbCIsImluZm8iLCJkZXNjcmlwdGlvbiIsImZlZWRiYWNrIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJwcmVmaXgiLCJfcHJvcHMkZW1wdHlDb250ZW50IiwiZW1wdHlDb250ZW50IiwicGFuZWxGb290ZXIiLCJvcGVuIiwiX3Byb3BzJGRlZmF1bHRPcGVuIiwiZGVmYXVsdE9wZW4iLCJfcHJvcHMkcG9ydGFsIiwicG9ydGFsIiwiX3Byb3BzJGFsbG93RGVzZWxlY3QiLCJhbGxvd0Rlc2VsZWN0IiwiX3Byb3BzJGNsZWFyYWJsZSIsImNsZWFyYWJsZSIsInBhbmVsQ2xhc3NOYW1lIiwib3B0aW9uQ2xhc3NOYW1lIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0Iiwib25DaGFuZ2UiLCJvbk9wZW5DaGFuZ2UiLCJvblNlYXJjaENoYW5nZSIsIm9uQmx1ciIsImZpbHRlck9wdGlvbiIsInJlbmRlck9wdGlvbiIsInJlbmRlclZhbHVlIiwicmVmIiwiY2xhc3NlcyIsInJvb3RDbGFzc25hbWVzIiwiYXV0b0lkIiwidXNlSWQiLCJ0cmlnZ2VySWQiLCJsYWJlbElkIiwiZGVzY3JpcHRpb25JZCIsImZlZWRiYWNrSWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTQiLCJpbm5lck9wZW4iLCJzZXRJbm5lck9wZW4iLCJfdXNlQ29udHJvbGxlZFN0YXRlNSIsIl91c2VDb250cm9sbGVkU3RhdGU2IiwiaW5uZXJTZWFyY2hWYWx1ZSIsInNldElubmVyU2VhcmNoVmFsdWUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJhY3RpdmVJbmRleCIsInNldEFjdGl2ZUluZGV4Iiwibm9ybWFsaXplZFNpemUiLCJub3JtYWxpemVTaXplIiwiYWxsT3B0aW9uR3JvdXBzIiwidXNlTWVtbyIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsImFsbEZsYXRPcHRpb25zIiwiZmxhdHRlbk9wdGlvbkdyb3VwcyIsInZpc2libGVPcHRpb25Hcm91cHMiLCJmaWx0ZXJPcHRpb25Hcm91cHMiLCJ2aXNpYmxlRmxhdE9wdGlvbnMiLCJzZWxlY3RlZE9wdGlvbnMiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJzZWxlY3RlZEluZGV4IiwibGVuZ3RoIiwibWF0Y2hlZEluZGV4IiwiZmluZEluZGV4Iiwib3B0aW9uIiwiaGFzU2VsZWN0aW9uIiwibGlzdFJlZiIsInVzZVJlZiIsImxpc3RDb250ZW50UmVmIiwiZmxvYXRpbmdSZWYiLCJ0cmlnZ2VyUmVmIiwic2VhcmNoSW5wdXRSZWYiLCJoYW5kbGVUcmlnZ2VyUmVmIiwidXNlRXZlbnRDYWxsYmFjayIsIm5vZGUiLCJjdXJyZW50IiwiaGFuZGxlT3BlbkNoYW5nZSIsIm5leHRPcGVuIiwiX3VzZUZsb2F0aW5nIiwidXNlRmxvYXRpbmciLCJwbGFjZW1lbnQiLCJ3aGlsZUVsZW1lbnRzTW91bnRlZCIsImF1dG9VcGRhdGUiLCJtaWRkbGV3YXJlIiwib2Zmc2V0IiwiZmxpcCIsInBhZGRpbmciLCJzaGlmdCIsImZsb2F0aW5nU2l6ZSIsImFwcGx5IiwiX3JlZiIsInJlY3RzIiwiZWxlbWVudHMiLCJhdmFpbGFibGVIZWlnaHQiLCJuZXh0TWF4SGVpZ2h0IiwiTWF0aCIsIm1heCIsIm1pbiIsImFzc2lnbiIsImZsb2F0aW5nIiwid2lkdGgiLCJjb25jYXQiLCJyZWZlcmVuY2UiLCJtYXhIZWlnaHQiLCJyZWZzIiwiZmxvYXRpbmdTdHlsZXMiLCJjb250ZXh0Iiwic2V0UmVmZXJlbmNlIiwic2V0RmxvYXRpbmciLCJjbGljayIsInVzZUNsaWNrIiwiZW5hYmxlZCIsImRpc21pc3MiLCJ1c2VEaXNtaXNzIiwib3V0c2lkZVByZXNzRXZlbnQiLCJyb2xlIiwidXNlUm9sZSIsImxpc3ROYXZpZ2F0aW9uIiwidXNlTGlzdE5hdmlnYXRpb24iLCJvbk5hdmlnYXRlIiwibG9vcCIsInR5cGVhaGVhZCIsInVzZVR5cGVhaGVhZCIsIm9uTWF0Y2giLCJfdXNlSW50ZXJhY3Rpb25zIiwidXNlSW50ZXJhY3Rpb25zIiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwiZ2V0SXRlbVByb3BzIiwiZmlyc3RFbmFibGVkSW5kZXgiLCJsYXN0RW5hYmxlZEluZGV4IiwiX2EiLCJpbmRleCIsInVzZUVmZmVjdCIsInByZXYiLCJmb2N1cyIsInByZXZlbnRTY3JvbGwiLCJzbGljZSIsIm5vdGlmeUJsdXJJZk91dHNpZGUiLCJyZWxhdGVkVGFyZ2V0IiwiZXZlbnQiLCJfYiIsIm5leHRUYXJnZXQiLCJ3aXRoaW5UcmlnZ2VyIiwiY29udGFpbnMiLCJ3aXRoaW5GbG9hdGluZyIsImhhbmRsZVRyaWdnZXJCbHVyIiwiaGFuZGxlT3B0aW9uQmx1ciIsImNvbW1pdENoYW5nZSIsIm5leHRWYWx1ZSIsIm5leHRPcHRpb24iLCJoYW5kbGVTZWxlY3RPcHRpb24iLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwibmV4dE9wdGlvbnMiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJoYW5kbGVDbGVhciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSIsIm9wdGlvblZhbHVlIiwiZ2V0TXVsdGlwbGVWYWx1ZSIsImluY2x1ZGVzIiwicmVtb3ZlTXVsdGlwbGVWYWx1ZSIsImhhbmRsZVRyaWdnZXJLZXlEb3duIiwia2V5IiwiS0VZQk9BUkQiLCJFTlRFUiIsIlNQQUNFIiwiQVJST1dfRE9XTiIsIkFSUk9XX1VQIiwiaGFuZGxlSXRlbU1vdXNlRW50ZXIiLCJoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24iLCJoYW5kbGVUYWdSZW1vdmVDbGljayIsImhhbmRsZVNlYXJjaEJsdXIiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJfZXZlbnQiLCJoYW5kbGVTZWFyY2hLZXlEb3duIiwiX2MiLCJFU0NBUEUiLCJyZW5kZXJWYWx1ZU1ldGEiLCJ2YWx1ZUxhYmVsQ2xhc3MiLCJpc011bHRpcGxlVmFsdWVGaWxsZWQiLCJ0cmlnZ2VyQ2xhc3NOYW1lIiwiam9pbkNscyIsImljb25TaXplIiwiZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSIsImRlc2NyaWJlZEJ5SWRzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJfanN4cyIsIlNlbGVjdEZpZWxkU2hlbGwiLCJjaGlsZHJlbiIsInR5cGUiLCJvbktleURvd24iLCJfanN4IiwiU2VsZWN0VmFsdWVDb250ZW50Iiwib25SZW1vdmUiLCJvblJlbW92ZUNsaWNrIiwib25SZW1vdmVNb3VzZURvd24iLCJvbk1vdXNlRG93biIsIm9uQ2xpY2siLCJJY29ucyIsImNvbG9yIiwiU3Bpbm5lciIsInN0cm9rZVdpZHRoIiwicGFuZWxOb2RlIiwiRmxvYXRpbmdGb2N1c01hbmFnZXIiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiU2VsZWN0U2VhcmNoQ29udHJvbCIsIlR5cG9ncmFwaHlCb2R5IiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJlbXB0eSIsImZsYXRJbmRleCIsIm1hcCIsImdyb3VwIiwiVHlwb2dyYXBoeUxhYmVsIiwiZ3JvdXBMYWJlbCIsInN0cm9uZyIsIm9wdGlvbkZsYXRJbmRleCIsInNlbGVjdGVkIiwiaXNPcHRpb25TZWxlY3RlZCIsImFjdGl2ZSIsIm9wdGlvbk1ldGEiLCJleHRyYWN0T3B0aW9uVGV4dCIsIm9uTW91c2VFbnRlciIsIlNlbGVjdE9wdGlvbkNvbnRlbnQiLCJGbG9hdGluZ1BvcnRhbCIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNBQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFnQkEsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBQyx1QkFBQSxDQUFBUixPQUFBO0FBZ0JBLElBQUFTLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFWLE9BQUE7QUFDQSxJQUFBVyxvQkFBQSxHQUFBRCxzQkFBQSxDQUFBVixPQUFBO0FBQ0EsSUFBQVksb0JBQUEsR0FBQUYsc0JBQUEsQ0FBQVYsT0FBQTtBQUNBLElBQUFhLG1CQUFBLEdBQUFILHNCQUFBLENBQUFWLE9BQUE7QUFDQSxJQUFBYyxVQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxNQUFBLEdBQUFmLE9BQUE7QUFhQUEsT0FBQTtBQUFpQixTQUFBZ0IseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFULHdCQUFBUyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBRWpCLElBQU1XLGtCQUFrQixHQUFHLEdBQUc7QUFFdkIsSUFBTUMsTUFBTSxHQUFBQyxPQUFBLENBQUFELE1BQUEsR0FBb0IsU0FBMUJBLE1BQU1BLENBQXFCRSxLQUFLLEVBQUk7RUFDL0MsSUFBQUMsZ0JBQUEsR0ErQ0lELEtBQUssQ0E5Q1BFLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFBQUUsZ0JBQUEsR0E4Q1pILEtBQUssQ0E3Q1BJLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLFFBQVEsR0FBQUEsZ0JBQUE7SUFDcEJFLEtBQUssR0E0Q0hMLEtBQUssQ0E1Q1BLLEtBQUs7SUFDTEMsRUFBRSxHQTJDQU4sS0FBSyxDQTNDUE0sRUFBRTtJQUNGQyxJQUFJLEdBMENGUCxLQUFLLENBMUNQTyxJQUFJO0lBQ1VDLFNBQVMsR0F5Q3JCUixLQUFLLENBekNQLFlBQVk7SUFDT1MsY0FBYyxHQXdDL0JULEtBQUssQ0F4Q1AsaUJBQWlCO0lBQUFVLGtCQUFBLEdBd0NmVixLQUFLLENBdkNQVyxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxPQUFPLEdBQUFBLGtCQUFBO0lBQUFFLGNBQUEsR0F1Q25CWixLQUFLLENBdENQYSxPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLEVBQUUsR0FBQUEsY0FBQTtJQUNaRSxLQUFLLEdBcUNIZCxLQUFLLENBckNQYyxLQUFLO0lBQ0xDLFlBQVksR0FvQ1ZmLEtBQUssQ0FwQ1BlLFlBQVk7SUFBQUMsV0FBQSxHQW9DVmhCLEtBQUssQ0FuQ1BpQixJQUFJO0lBQUpBLElBQUksR0FBQUQsV0FBQSxjQUFHLE9BQU8sR0FBQUEsV0FBQTtJQUFBRSxhQUFBLEdBbUNabEIsS0FBSyxDQWxDUG1CLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxhQUFBLGNBQUcsU0FBUyxHQUFBQSxhQUFBO0lBQUFFLGNBQUEsR0FrQ2hCcEIsS0FBSyxDQWpDUHFCLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsTUFBTSxHQUFBQSxjQUFBO0lBQUFFLGVBQUEsR0FpQ2R0QixLQUFLLENBaENQdUIsUUFBUTtJQUFFQyxZQUFZLEdBQUFGLGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFBQUcsY0FBQSxHQWdDNUJ6QixLQUFLLENBL0JQMEIsT0FBTztJQUFQQSxPQUFPLEdBQUFELGNBQUEsY0FBRyxLQUFLLEdBQUFBLGNBQUE7SUFBQUUsZUFBQSxHQStCYjNCLEtBQUssQ0E5QlA0QixRQUFRO0lBQVJBLFFBQVEsR0FBQUQsZUFBQSxjQUFHLEtBQUssR0FBQUEsZUFBQTtJQUNoQkUsZ0JBQWdCLEdBNkJkN0IsS0FBSyxDQTdCUDZCLGdCQUFnQjtJQUFBQyxpQkFBQSxHQTZCZDlCLEtBQUssQ0E1QlArQixVQUFVO0lBQVZBLFVBQVUsR0FBQUQsaUJBQUEsY0FBRyxLQUFLLEdBQUFBLGlCQUFBO0lBQUFFLHFCQUFBLEdBNEJoQmhDLEtBQUssQ0EzQlBpQyxpQkFBaUI7SUFBakJBLGlCQUFpQixHQUFBRCxxQkFBQSxjQUFHLFFBQVEsR0FBQUEscUJBQUE7SUFDNUJFLFdBQVcsR0EwQlRsQyxLQUFLLENBMUJQa0MsV0FBVztJQUFBQyxxQkFBQSxHQTBCVG5DLEtBQUssQ0F6QlBvQyxrQkFBa0I7SUFBbEJBLGtCQUFrQixHQUFBRCxxQkFBQSxjQUFHLEVBQUUsR0FBQUEscUJBQUE7SUFDdkJFLEtBQUssR0F3QkhyQyxLQUFLLENBeEJQcUMsS0FBSztJQUNMQyxJQUFJLEdBdUJGdEMsS0FBSyxDQXZCUHNDLElBQUk7SUFDSkMsV0FBVyxHQXNCVHZDLEtBQUssQ0F0QlB1QyxXQUFXO0lBQ1hDLFFBQVEsR0FxQk54QyxLQUFLLENBckJQd0MsUUFBUTtJQUFBQyxlQUFBLEdBcUJOekMsS0FBSyxDQXBCUDBDLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQ2hCRSxNQUFNLEdBbUJKM0MsS0FBSyxDQW5CUDJDLE1BQU07SUFBQUMsbUJBQUEsR0FtQko1QyxLQUFLLENBbEJQNkMsWUFBWTtJQUFaQSxZQUFZLEdBQUFELG1CQUFBLGNBQUcsWUFBWSxHQUFBQSxtQkFBQTtJQUMzQkUsV0FBVyxHQWlCVDlDLEtBQUssQ0FqQlA4QyxXQUFXO0lBQ1hDLElBQUksR0FnQkYvQyxLQUFLLENBaEJQK0MsSUFBSTtJQUFBQyxrQkFBQSxHQWdCRmhELEtBQUssQ0FmUGlELFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxrQkFBQSxjQUFHLEtBQUssR0FBQUEsa0JBQUE7SUFBQUUsYUFBQSxHQWVqQmxELEtBQUssQ0FkUG1ELE1BQU07SUFBTkEsTUFBTSxHQUFBRCxhQUFBLGNBQUcsSUFBSSxHQUFBQSxhQUFBO0lBQUFFLG9CQUFBLEdBY1hwRCxLQUFLLENBYlBxRCxhQUFhO0lBQWJBLGFBQWEsR0FBQUQsb0JBQUEsY0FBRyxLQUFLLEdBQUFBLG9CQUFBO0lBQUFFLGdCQUFBLEdBYW5CdEQsS0FBSyxDQVpQdUQsU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsS0FBSyxHQUFBQSxnQkFBQTtJQUNqQkUsY0FBYyxHQVdaeEQsS0FBSyxDQVhQd0QsY0FBYztJQUNkQyxlQUFlLEdBVWJ6RCxLQUFLLENBVlB5RCxlQUFlO0lBQUFDLG9CQUFBLEdBVWIxRCxLQUFLLENBVFAyRCxhQUFhO0lBQWJBLGFBQWEsR0FBQUQsb0JBQUEsY0FBRzdELGtCQUFrQixHQUFBNkQsb0JBQUE7SUFDbENFLFFBQVEsR0FRTjVELEtBQUssQ0FSUDRELFFBQVE7SUFDUkMsWUFBWSxHQU9WN0QsS0FBSyxDQVBQNkQsWUFBWTtJQUNaQyxjQUFjLEdBTVo5RCxLQUFLLENBTlA4RCxjQUFjO0lBQ2RDLE1BQU0sR0FLSi9ELEtBQUssQ0FMUCtELE1BQU07SUFDTkMsWUFBWSxHQUlWaEUsS0FBSyxDQUpQZ0UsWUFBWTtJQUNaQyxZQUFZLEdBR1ZqRSxLQUFLLENBSFBpRSxZQUFZO0lBQ1pDLFdBQVcsR0FFVGxFLEtBQUssQ0FGUGtFLFdBQVc7SUFDWEMsR0FBRyxHQUNEbkUsS0FBSyxDQURQbUUsR0FBRztFQUVMLElBQU01QyxRQUFRLEdBQUdDLFlBQVksSUFBSUUsT0FBTztFQUV4QyxJQUFNMEMsT0FBTyxHQUFHLElBQUFDLHNCQUFjLEVBQUNqRSxTQUFTLENBQUM7RUFDekMsSUFBTWtFLE1BQU0sR0FBRyxJQUFBQyxhQUFLLEVBQUEsQ0FBRTtFQUN0QixJQUFNQyxTQUFTLEdBQUdsRSxFQUFFLEtBQUEsSUFBQSxJQUFGQSxFQUFFLEtBQUEsS0FBQSxDQUFBLEdBQUZBLEVBQUUsR0FBSWdFLE1BQU07RUFDOUIsSUFBTUcsT0FBTyxHQUFHLElBQUFGLGFBQUssRUFBQSxDQUFFO0VBQ3ZCLElBQU1HLGFBQWEsR0FBRyxJQUFBSCxhQUFLLEVBQUEsQ0FBRTtFQUM3QixJQUFNSSxVQUFVLEdBQUcsSUFBQUosYUFBSyxFQUFBLENBQUU7RUFDMUIsSUFBQUssbUJBQUEsR0FBb0MsSUFBQUMseUJBQWtCLEVBQ3BEOUQsWUFBWSxLQUFBLElBQUEsSUFBWkEsWUFBWSxLQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLEdBQUthLFFBQVEsR0FBRyxFQUFFLEdBQUdrRCxTQUFVLEVBQzNDaEUsS0FBSyxDQUNOO0lBQUFpRSxvQkFBQSxPQUFBQyxlQUFBLGFBQUFKLG1CQUFBO0lBSE1LLFVBQVUsR0FBQUYsb0JBQUE7SUFBRUcsYUFBYSxHQUFBSCxvQkFBQTtFQUloQyxJQUFBSSxvQkFBQSxHQUFrQyxJQUFBTix5QkFBa0IsRUFBQzVCLFdBQVcsRUFBRUYsSUFBSSxDQUFDO0lBQUFxQyxvQkFBQSxPQUFBSixlQUFBLGFBQUFHLG9CQUFBO0lBQWhFRSxTQUFTLEdBQUFELG9CQUFBO0lBQUVFLFlBQVksR0FBQUYsb0JBQUE7RUFDOUIsSUFBQUcsb0JBQUEsR0FBZ0QsSUFBQVYseUJBQWtCLEVBQ2hFekMsa0JBQWtCLEVBQ2xCRixXQUFXLENBQ1o7SUFBQXNELG9CQUFBLE9BQUFSLGVBQUEsYUFBQU8sb0JBQUE7SUFITUUsZ0JBQWdCLEdBQUFELG9CQUFBO0lBQUVFLG1CQUFtQixHQUFBRixvQkFBQTtFQUk1QyxJQUFBRyxTQUFBLEdBQXNDLElBQUFDLGdCQUFRLEVBQWdCLElBQUksQ0FBQztJQUFBQyxVQUFBLE9BQUFiLGVBQUEsYUFBQVcsU0FBQTtJQUE1REcsV0FBVyxHQUFBRCxVQUFBO0lBQUVFLGNBQWMsR0FBQUYsVUFBQTtFQUVsQyxJQUFNRyxjQUFjLEdBQUcsSUFBQUMsb0JBQWEsRUFBQ2hGLElBQUksQ0FBQztFQUMxQyxJQUFNaUYsZUFBZSxHQUFHLElBQUFDLGVBQU8sRUFDN0I7SUFBQSxPQUFNLElBQUFDLDRCQUFxQixFQUFDdkYsT0FBTyxDQUFDO0VBQUEsR0FDcEMsQ0FBQ0EsT0FBTyxDQUFDLENBQ1Y7RUFDRCxJQUFNd0YsY0FBYyxHQUFHLElBQUFGLGVBQU8sRUFDNUI7SUFBQSxPQUFNLElBQUFHLDBCQUFtQixFQUFDSixlQUFlLENBQUM7RUFBQSxHQUMxQyxDQUFDQSxlQUFlLENBQUMsQ0FDbEI7RUFDRCxJQUFNSyxtQkFBbUIsR0FBRyxJQUFBSixlQUFPLEVBQ2pDO0lBQUEsT0FDRXBFLFVBQVUsR0FDTixJQUFBeUUseUJBQWtCLEVBQUNOLGVBQWUsRUFBRVQsZ0JBQWdCLEVBQUV6QixZQUFZLENBQUMsR0FDbkVrQyxlQUFlO0VBQUEsQ0FDcEIsRUFDRCxDQUFDQSxlQUFlLEVBQUVsQyxZQUFZLEVBQUV5QixnQkFBZ0IsRUFBRTFELFVBQVUsQ0FBQyxDQUM5RDtFQUNELElBQU0wRSxrQkFBa0IsR0FBRyxJQUFBTixlQUFPLEVBQ2hDO0lBQUEsT0FBTSxJQUFBRywwQkFBbUIsRUFBQ0MsbUJBQW1CLENBQUM7RUFBQSxHQUM5QyxDQUFDQSxtQkFBbUIsQ0FBQyxDQUN0QjtFQUNELElBQU1HLGVBQWUsR0FBRyxJQUFBUCxlQUFPLEVBQzdCO0lBQUEsT0FBTSxJQUFBUSx5QkFBa0IsRUFBQ04sY0FBYyxFQUFFcEIsVUFBVSxFQUFFckQsUUFBUSxDQUFDO0VBQUEsR0FDOUQsQ0FBQ3lFLGNBQWMsRUFBRXBCLFVBQVUsRUFBRXJELFFBQVEsQ0FBQyxDQUN2QztFQUNELElBQU1nRixhQUFhLEdBQUcsSUFBQVQsZUFBTyxFQUFDLFlBQUs7SUFDakMsSUFBSU8sZUFBZSxDQUFDRyxNQUFNLEtBQUssQ0FBQyxFQUFFO01BQ2hDLE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBTUMsWUFBWSxHQUFHTCxrQkFBa0IsQ0FBQ00sU0FBUyxDQUMvQyxVQUFDQyxNQUFNO01BQUEsT0FBS0EsTUFBTSxDQUFDbEcsS0FBSyxLQUFLNEYsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDNUYsS0FBSztJQUFBLEVBQ3REO0lBRUQsT0FBT2dHLFlBQVksSUFBSSxDQUFDLEdBQUdBLFlBQVksR0FBRyxJQUFJO0VBQ2hELENBQUMsRUFBRSxDQUFDSixlQUFlLEVBQUVELGtCQUFrQixDQUFDLENBQUM7RUFDekMsSUFBTVEsWUFBWSxHQUFHUCxlQUFlLENBQUNHLE1BQU0sR0FBRyxDQUFDO0VBQy9DLElBQU1LLE9BQU8sR0FBRyxJQUFBQyxjQUFNLEVBQWtDLEVBQUUsQ0FBQztFQUMzRCxJQUFNQyxjQUFjLEdBQUcsSUFBQUQsY0FBTSxFQUF1QixFQUFFLENBQUM7RUFDdkQsSUFBTUUsV0FBVyxHQUFHLElBQUFGLGNBQU0sRUFBd0IsSUFBSSxDQUFDO0VBQ3ZELElBQU1HLFVBQVUsR0FBRyxJQUFBSCxjQUFNLEVBQTJCLElBQUksQ0FBQztFQUN6RCxJQUFNSSxjQUFjLEdBQUcsSUFBQUosY0FBTSxFQUEwQixJQUFJLENBQUM7RUFFNUQsSUFBTUssZ0JBQWdCLEdBQUcsSUFBQUMsdUJBQWdCLEVBQUMsVUFBQ0MsSUFBOEIsRUFBSTtJQUMzRUosVUFBVSxDQUFDSyxPQUFPLEdBQUdELElBQUk7SUFDekIsSUFBSXZELEdBQUcsRUFBRTtNQUNOQSxHQUE2QyxDQUFDd0QsT0FBTyxHQUFHRCxJQUFJO0lBQy9EO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTUUsZ0JBQWdCLEdBQUcsSUFBQUgsdUJBQWdCLEVBQUMsVUFBQ0ksUUFBaUIsRUFBSTtJQUM5RHZDLFlBQVksQ0FBQ3VDLFFBQVEsQ0FBQztJQUN0QmhFLFlBQVksS0FBQSxJQUFBLElBQVpBLFlBQVksS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBWkEsWUFBWSxDQUFHZ0UsUUFBUSxDQUFDO0VBQzFCLENBQUMsQ0FBQztFQUVGLElBQUFDLFlBQUEsR0FJSSxJQUFBQyxrQkFBVyxFQUFvQjtNQUNqQ2hGLElBQUksRUFBRXNDLFNBQVM7TUFDZnhCLFlBQVksRUFBRStELGdCQUFnQjtNQUM5QkksU0FBUyxFQUFFLGNBQWM7TUFDekJDLG9CQUFvQixFQUFFQyxpQkFBVTtNQUNoQ0MsVUFBVSxFQUFFLENBQ1YsSUFBQUMsYUFBTSxFQUFDLENBQUMsQ0FBQyxFQUNULElBQUFDLFdBQUksRUFBQztRQUFFQyxPQUFPLEVBQUU7TUFBQyxDQUFFLENBQUMsRUFDcEIsSUFBQUMsWUFBSyxFQUFDO1FBQUVELE9BQU8sRUFBRTtNQUFDLENBQUUsQ0FBQyxFQUNyQixJQUFBRSxXQUFZLEVBQUM7UUFDWEMsS0FBSyxXQUFMQSxLQUFLQSxDQUFBQyxJQUFBLEVBQXFDO1VBQUEsSUFBbENDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO1lBQUVDLFFBQVEsR0FBQUYsSUFBQSxDQUFSRSxRQUFRO1lBQUVDLGVBQWUsR0FBQUgsSUFBQSxDQUFmRyxlQUFlO1VBQ3RDLElBQU1DLGFBQWEsR0FBR0MsSUFBSSxDQUFDQyxHQUFHLENBQUMsR0FBRyxFQUFFRCxJQUFJLENBQUNFLEdBQUcsQ0FBQ3RGLGFBQWEsRUFBRWtGLGVBQWUsQ0FBQyxDQUFDO1VBQzdFeEosTUFBTSxDQUFDNkosTUFBTSxDQUFDTixRQUFRLENBQUNPLFFBQVEsQ0FBQzlJLEtBQUssRUFBRTtZQUNyQytJLEtBQUssS0FBQUMsTUFBQSxDQUFLVixLQUFLLENBQUNXLFNBQVMsQ0FBQ0YsS0FBSyxPQUFJO1lBQ25DRyxTQUFTLEtBQUFGLE1BQUEsQ0FBS1AsYUFBYTtVRDdIbkIsQ0M4SFQsQ0FBQztRQUNKO01EN0hJLENDOEhMLENBQUM7SUQ1SEosQ0M4SEQsQ0FBQztJQXRCQVUsSUFBSSxHQUFBMUIsWUFBQSxDQUFKMEIsSUFBSTtJQUNKQyxjQUFjLEdBQUEzQixZQUFBLENBQWQyQixjQUFjO0lBQ2RDLE9BQU8sR0FBQTVCLFlBQUEsQ0FBUDRCLE9BQU87RUFzQlQsSUFBTUMsWUFBWSxHQUFHLElBQUFsQyx1QkFBZ0IsRUFBQyxVQUFDQyxJQUE4QixFQUFJO0lBQ3ZFOEIsSUFBSSxDQUFDRyxZQUFZLENBQUNqQyxJQUFJLENBQUM7SUFDdkJGLGdCQUFnQixDQUFDRSxJQUFJLENBQUM7RUFDeEIsQ0FBQyxDQUFDO0VBRUYsSUFBTWtDLFdBQVcsR0FBRyxJQUFBbkMsdUJBQWdCLEVBQUMsVUFBQ0MsSUFBMkIsRUFBSTtJQUNuRThCLElBQUksQ0FBQ0ksV0FBVyxDQUFDbEMsSUFBSSxDQUFDO0lBQ3RCTCxXQUFXLENBQUNNLE9BQU8sR0FBR0QsSUFBSTtFQUM1QixDQUFDLENBQUM7RUFFRixJQUFNbUMsS0FBSyxHQUFHLElBQUFDLGVBQVEsRUFBQ0osT0FBTyxFQUFFO0lBQUVLLE9BQU8sRUFBRSxDQUFDeEk7RUFBUSxDQUFFLENBQUM7RUFDdkQsSUFBTXlJLE9BQU8sR0FBRyxJQUFBQyxpQkFBVSxFQUFDUCxPQUFPLEVBQUU7SUFBRUssT0FBTyxFQUFFLENBQUN4SSxRQUFRO0lBQUUySSxpQkFBaUIsRUFBRTtFQUFXLENBQUUsQ0FBQztFQUMzRixJQUFNQyxJQUFJLEdBQUcsSUFBQUMsY0FBTyxFQUFDVixPQUFPLEVBQUU7SUFBRVMsSUFBSSxFQUFFO0VBQVEsQ0FBRSxDQUFDO0VBQ2pELElBQU1FLGNBQWMsR0FBRyxJQUFBQyx3QkFBaUIsRUFBQ1osT0FBTyxFQUFFO0lBQ2hEeEMsT0FBTyxFQUFQQSxPQUFPO0lBQ1BwQixXQUFXLEVBQVhBLFdBQVc7SUFDWGMsYUFBYSxFQUFiQSxhQUFhO0lBQ2IyRCxVQUFVLEVBQUV4RSxjQUFjO0lBQzFCZ0UsT0FBTyxFQUFFMUUsU0FBUztJQUNsQm1GLElBQUksRUFBRTtFRGhJTixDQ2lJRCxDQUFDO0VBQ0YsSUFBTUMsU0FBUyxHQUFHLElBQUFDLG1CQUFZLEVBQUNoQixPQUFPLEVBQUU7SUFDdEN4QyxPQUFPLEVBQUVFLGNBQWM7SUFDdkJ0QixXQUFXLEVBQVhBLFdBQVc7SUFDWGMsYUFBYSxFQUFiQSxhQUFhO0lBQ2JtRCxPQUFPLEVBQUUxRSxTQUFTLElBQUksQ0FBQ3RELFVBQVU7SUFDakM0SSxPQUFPLEVBQUU1RTtFRGhJVCxDQ2lJRCxDQUFDO0VBQ0YsSUFBQTZFLGdCQUFBLEdBQThELElBQUFDLHNCQUFlLEVBQUMsQ0FDNUVoQixLQUFLLEVBQ0xHLE9BQU8sRUFDUEcsSUFBSSxFQUNKRSxjQUFjLEVBQ2RJLFNBQVMsQ0FDVixDQUFDO0lBTk1LLGlCQUFpQixHQUFBRixnQkFBQSxDQUFqQkUsaUJBQWlCO0lBQUVDLGdCQUFnQixHQUFBSCxnQkFBQSxDQUFoQkcsZ0JBQWdCO0lBQUVDLFlBQVksR0FBQUosZ0JBQUEsQ0FBWkksWUFBWTtFQVF6RCxJQUFNQyxpQkFBaUIsR0FBRyxJQUFBOUUsZUFBTyxFQUMvQjtJQUFBLE9BQU1NLGtCQUFrQixDQUFDTSxTQUFTLENBQUMsVUFBQ0MsTUFBTTtNQUFBLE9BQUssQ0FBQ0EsTUFBTSxDQUFDekYsUUFBUTtJQUFBLEVBQUM7RUFBQSxHQUNoRSxDQUFDa0Ysa0JBQWtCLENBQUMsQ0FDckI7RUFDRCxJQUFNeUUsZ0JBQWdCLEdBQUcsSUFBQS9FLGVBQU8sRUFDOUIsWUFBSztJRHJJRCxJQUFJZ0YsRUFBRTtJQ3NJUixLQUFLLElBQUlDLEtBQUssR0FBRzNFLGtCQUFrQixDQUFDSSxNQUFNLEdBQUcsQ0FBQyxFQUFFdUUsS0FBSyxJQUFJLENBQUMsRUFBRUEsS0FBSyxJQUFJLENBQUMsRUFBRTtNQUN0RSxJQUFJLEVBQUMsQ0FBQUQsRUFBQSxHQUFBMUUsa0JBQWtCLENBQUMyRSxLQUFLLENBQUMsTUFBQSxJQUFBLElBQUFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFNUosUUFBUSxDQUFBLEVBQUU7UUFDeEMsT0FBTzZKLEtBQUs7TUFDZDtJQUNGO0lBRUEsT0FBTyxJQUFJO0VBQ2IsQ0FBQyxFQUNELENBQUMzRSxrQkFBa0IsQ0FBQyxDQUNyQjtFQUVELElBQUE0RSxpQkFBUyxFQUFDLFlBQUs7SUFDYixJQUFJLENBQUNoRyxTQUFTLEVBQUU7TUFDZFUsY0FBYyxDQUFDYSxhQUFhLENBQUM7TUFDN0I7SUFDRjtJQUVBYixjQUFjLENBQUMsVUFBQ3VGLElBQUksRUFBSTtNQUN0QixJQUFJQSxJQUFJLEtBQUssSUFBSSxJQUFJN0Usa0JBQWtCLENBQUM2RSxJQUFJLENBQUMsSUFBSSxDQUFDN0Usa0JBQWtCLENBQUM2RSxJQUFJLENBQUMsQ0FBQy9KLFFBQVEsRUFBRTtRQUNuRixPQUFPK0osSUFBSTtNQUNiO01BRUEsSUFDRTFFLGFBQWEsS0FBSyxJQUFJLElBQ3RCSCxrQkFBa0IsQ0FBQ0csYUFBYSxDQUFDLElBQ2pDLENBQUNILGtCQUFrQixDQUFDRyxhQUFhLENBQUMsQ0FBQ3JGLFFBQVEsRUFDM0M7UUFDQSxPQUFPcUYsYUFBYTtNQUN0QjtNQUVBLE9BQU9xRSxpQkFBaUIsSUFBSSxDQUFDLEdBQUdBLGlCQUFpQixHQUFHLElBQUk7SUFDMUQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxFQUFFLENBQUNBLGlCQUFpQixFQUFFNUYsU0FBUyxFQUFFdUIsYUFBYSxFQUFFSCxrQkFBa0IsQ0FBQyxDQUFDO0VBRXJFLElBQUE0RSxpQkFBUyxFQUFDLFlBQUs7SUQ5SVQsSUFBSUYsRUFBRTtJQytJVixJQUFJLENBQUM5RixTQUFTLElBQUlTLFdBQVcsS0FBSyxJQUFJLElBQUkvRCxVQUFVLEVBQUU7TUFDcEQ7SUFDRjtJQUVBLENBQUFvSixFQUFBLEdBQUFqRSxPQUFPLENBQUNTLE9BQU8sQ0FBQzdCLFdBQVcsQ0FBQyxNQUFBLElBQUEsSUFBQXFGLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFSSxLQUFLLENBQUM7TUFBRUMsYUFBYSxFQUFFO0lBQUksQ0FBRSxDQUFDO0VBQzlELENBQUMsRUFBRSxDQUFDMUYsV0FBVyxFQUFFVCxTQUFTLEVBQUV0RCxVQUFVLENBQUMsQ0FBQztFQUV4QyxJQUFBc0osaUJBQVMsRUFBQyxZQUFLO0lBQ2JuRSxPQUFPLENBQUNTLE9BQU8sR0FBR1QsT0FBTyxDQUFDUyxPQUFPLENBQUM4RCxLQUFLLENBQUMsQ0FBQyxFQUFFaEYsa0JBQWtCLENBQUNJLE1BQU0sQ0FBQztJQUNyRU8sY0FBYyxDQUFDTyxPQUFPLEdBQUdQLGNBQWMsQ0FBQ08sT0FBTyxDQUFDOEQsS0FBSyxDQUFDLENBQUMsRUFBRWhGLGtCQUFrQixDQUFDSSxNQUFNLENBQUM7RUFDckYsQ0FBQyxFQUFFLENBQUNKLGtCQUFrQixDQUFDSSxNQUFNLENBQUMsQ0FBQztFQUUvQixJQUFBd0UsaUJBQVMsRUFBQyxZQUFLO0lEaEpULElBQUlGLEVBQUU7SUNpSlYsSUFBSTlGLFNBQVMsSUFBSXRELFVBQVUsRUFBRTtNQUMzQixDQUFBb0osRUFBQSxHQUFBNUQsY0FBYyxDQUFDSSxPQUFPLE1BQUEsSUFBQSxJQUFBd0QsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVJLEtBQUssQ0FBQztRQUFFQyxhQUFhLEVBQUU7TUFBSSxDQUFFLENBQUM7SUFDeEQ7RUFDRixDQUFDLEVBQUUsQ0FBQ25HLFNBQVMsRUFBRXRELFVBQVUsQ0FBQyxDQUFDO0VBRTNCLElBQU0ySixtQkFBbUIsR0FBRyxJQUFBakUsdUJBQWdCLEVBQUMsVUFBQ2tFLGFBQWlDLEVBQUVDLEtBQStCLEVBQUk7SURoSjlHLElBQUlULEVBQUUsRUFBRVUsRUFBRTtJQ2lKZCxJQUFNQyxVQUFVLEdBQUdILGFBQTRCO0lBQy9DLElBQU1JLGFBQWEsR0FBRyxDQUFDLEVBQUVELFVBQVUsS0FBSSxDQUFBWCxFQUFBLEdBQUE3RCxVQUFVLENBQUNLLE9BQU8sTUFBQSxJQUFBLElBQUF3RCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRWEsUUFBUSxDQUFDRixVQUFVLENBQUMsQ0FBQSxDQUFDO0lBQ2hGLElBQU1HLGNBQWMsR0FBRyxDQUFDLEVBQUVILFVBQVUsS0FBSSxDQUFBRCxFQUFBLEdBQUF4RSxXQUFXLENBQUNNLE9BQU8sTUFBQSxJQUFBLElBQUFrRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUcsUUFBUSxDQUFDRixVQUFVLENBQUMsQ0FBQSxDQUFDO0lBRWxGLElBQUksQ0FBQ0MsYUFBYSxJQUFJLENBQUNFLGNBQWMsRUFBRTtNQUNyQ2xJLE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxDQUFHNkgsS0FBSyxDQUFDO0lBQ2pCO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTU0saUJBQWlCLEdBQUcsSUFBQXpFLHVCQUFnQixFQUFDLFVBQUNtRSxLQUFvQyxFQUFJO0lBQ2xGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTU8sZ0JBQWdCLEdBQUcsSUFBQTFFLHVCQUFnQixFQUFDLFVBQUNtRSxLQUFvQyxFQUFJO0lBQ2pGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTVEsWUFBWSxHQUFHLElBQUEzRSx1QkFBZ0IsRUFBQyxVQUFDNEUsU0FBc0IsRUFBRUMsVUFBMEMsRUFBSTtJQUMzR3BILGFBQWEsQ0FBQ21ILFNBQVMsQ0FBQztJQUN4QnpJLFFBQVEsS0FBQSxJQUFBLElBQVJBLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUkEsUUFBUSxDQUFHeUksU0FBUyxFQUFFQyxVQUFVLENBQUM7RUFDbkMsQ0FBQyxDQUFDO0VBRUYsSUFBTUMsa0JBQWtCLEdBQUcsSUFBQTlFLHVCQUFnQixFQUFDLFVBQUNULE1BQW9CLEVBQUk7SURwSi9ELElBQUltRSxFQUFFLEVBQUVVLEVBQUU7SUNxSmQsSUFBSTdFLE1BQU0sQ0FBQ3pGLFFBQVEsRUFBRTtNQUNuQjtJQUNGO0lBRUEsSUFBSUssUUFBUSxFQUFFO01BQ1osSUFBTXlLLFNBQVMsR0FBRyxJQUFBRywwQkFBbUIsRUFBQ3ZILFVBQVUsRUFBRStCLE1BQU0sQ0FBQ2xHLEtBQUssQ0FBQztNQUMvRCxJQUFNMkwsV0FBVyxHQUFHLElBQUFDLHlCQUFrQixFQUFDckcsY0FBYyxFQUFFZ0csU0FBUyxDQUFDO01BQ2pFRCxZQUFZLENBQUNDLFNBQVMsRUFBRUksV0FBVyxDQUFDO01BQ3BDO0lBQ0Y7SUFFQSxJQUFJcEosYUFBYSxJQUFJNEIsVUFBVSxLQUFLK0IsTUFBTSxDQUFDbEcsS0FBSyxFQUFFO01BQ2hEc0wsWUFBWSxDQUFDdEgsU0FBUyxFQUFFQSxTQUFTLENBQUM7TUFDbEM4QyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7TUFDdkI3RCxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBQSxDQUFJO01BQ1YsQ0FBQW9ILEVBQUEsR0FBQTdELFVBQVUsQ0FBQ0ssT0FBTyxNQUFBLElBQUEsSUFBQXdELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFSSxLQUFLLENBQUM7UUFBRUMsYUFBYSxFQUFFO01BQUksQ0FBRSxDQUFDO01BQ2xEO0lBQ0Y7SUFFQVksWUFBWSxDQUFDcEYsTUFBTSxDQUFDbEcsS0FBSyxFQUFFa0csTUFBTSxDQUFDO0lBQ2xDWSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDdkI3RCxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBQSxDQUFJO0lBQ1YsQ0FBQThILEVBQUEsR0FBQXZFLFVBQVUsQ0FBQ0ssT0FBTyxNQUFBLElBQUEsSUFBQWtFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFTixLQUFLLENBQUM7TUFBRUMsYUFBYSxFQUFFO0lBQUksQ0FBRSxDQUFDO0VBQ3BELENBQUMsQ0FBQztFQUVGLElBQU1tQixXQUFXLEdBQUcsSUFBQWxGLHVCQUFnQixFQUFDLFVBQUNtRSxLQUF1QyxFQUFJO0lBQy9FQSxLQUFLLENBQUNnQixjQUFjLENBQUEsQ0FBRTtJQUN0QmhCLEtBQUssQ0FBQ2lCLGVBQWUsQ0FBQSxDQUFFO0lBQ3ZCLElBQUlqTCxRQUFRLEVBQUU7TUFDWndLLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3RCLENBQUMsTUFBTTtNQUNMQSxZQUFZLENBQUN0SCxTQUFTLEVBQUVBLFNBQVMsQ0FBQztJQUNwQztFQUNGLENBQUMsQ0FBQztFQUVGLElBQU1nSSx5QkFBeUIsR0FBRyxJQUFBckYsdUJBQWdCLEVBQUMsVUFBQ3NGLFdBQThCLEVBQUk7SUFDcEYsSUFBSSxDQUFDbkwsUUFBUSxFQUFFO01BQ2I7SUFDRjtJQUVBLElBQUksQ0FBQyxJQUFBb0wsdUJBQWdCLEVBQUMvSCxVQUFVLENBQUMsQ0FBQ2dJLFFBQVEsQ0FBQ0YsV0FBVyxDQUFDLEVBQUU7TUFDdkQ7SUFDRjtJQUVBLElBQU1WLFNBQVMsR0FBRyxJQUFBYSwwQkFBbUIsRUFBQ2pJLFVBQVUsRUFBRThILFdBQVcsQ0FBQztJQUM5RCxJQUFNTixXQUFXLEdBQUcsSUFBQUMseUJBQWtCLEVBQUNyRyxjQUFjLEVBQUVnRyxTQUFTLENBQUM7SUFDakVELFlBQVksQ0FBQ0MsU0FBUyxFQUFFSSxXQUFXLENBQUM7RUFDdEMsQ0FBQyxDQUFDO0VBRUYsSUFBTVUsb0JBQW9CLEdBQUcsSUFBQTFGLHVCQUFnQixFQUFDLFVBQUNtRSxLQUE0QyxFQUFJO0lBQzdGLElBQUlySyxRQUFRLEVBQUU7TUFDWjtJQUNGO0lBRUEsSUFBSXFLLEtBQUssQ0FBQ3dCLEdBQUcsS0FBS0MsbUJBQVEsQ0FBQ0MsS0FBSyxJQUFJMUIsS0FBSyxDQUFDd0IsR0FBRyxLQUFLQyxtQkFBUSxDQUFDRSxLQUFLLEVBQUU7TUFDaEUzQixLQUFLLENBQUNnQixjQUFjLENBQUEsQ0FBRTtNQUN0QmhGLGdCQUFnQixDQUFDLENBQUN2QyxTQUFTLENBQUM7TUFDNUI7SUFDRjtJQUVBLElBQUl1RyxLQUFLLENBQUN3QixHQUFHLEtBQUtDLG1CQUFRLENBQUNHLFVBQVUsSUFBSTVCLEtBQUssQ0FBQ3dCLEdBQUcsS0FBS0MsbUJBQVEsQ0FBQ0ksUUFBUSxFQUFFO01BQ3hFN0IsS0FBSyxDQUFDZ0IsY0FBYyxDQUFBLENBQUU7TUFDdEIsSUFBSSxDQUFDdkgsU0FBUyxFQUFFO1FBQ2R1QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7TUFDeEI7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU04RixvQkFBb0IsR0FBRyxJQUFBakcsdUJBQWdCLEVBQUMsVUFBQzJELEtBQWEsRUFBSTtJRDdKMUQsSUFBSUQsRUFBRTtJQzhKVixJQUFJLEVBQUMsQ0FBQUEsRUFBQSxHQUFBMUUsa0JBQWtCLENBQUMyRSxLQUFLLENBQUMsTUFBQSxJQUFBLElBQUFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFNUosUUFBUSxDQUFBLEVBQUU7TUFDeEN3RSxjQUFjLENBQUNxRixLQUFLLENBQUM7SUFDdkI7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNdUMsd0JBQXdCLEdBQUcsSUFBQWxHLHVCQUFnQixFQUFDLFVBQUNtRSxLQUF1QyxFQUFJO0lBQzVGQSxLQUFLLENBQUNnQixjQUFjLENBQUEsQ0FBRTtJQUN0QmhCLEtBQUssQ0FBQ2lCLGVBQWUsQ0FBQSxDQUFFO0VBQ3pCLENBQUMsQ0FBQztFQUVGLElBQU1lLG9CQUFvQixHQUFHLElBQUFuRyx1QkFBZ0IsRUFBQyxVQUFDbUUsS0FBdUMsRUFBSTtJQUN4RkEsS0FBSyxDQUFDZ0IsY0FBYyxDQUFBLENBQUU7SUFDdEJoQixLQUFLLENBQUNpQixlQUFlLENBQUEsQ0FBRTtFQUN6QixDQUFDLENBQUM7RUFFRixJQUFNZ0IsZ0JBQWdCLEdBQUcsSUFBQXBHLHVCQUFnQixFQUFDLFVBQUNtRSxLQUFtQyxFQUFJO0lBQ2hGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTWtDLGtCQUFrQixHQUFHLElBQUFyRyx1QkFBZ0IsRUFBQyxVQUFDNEUsU0FBaUIsRUFBRTBCLE1BQXFDLEVBQUk7SUFDdkdySSxtQkFBbUIsQ0FBQzJHLFNBQVMsQ0FBQztJQUM5QnZJLGNBQWMsS0FBQSxJQUFBLElBQWRBLGNBQWMsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBZEEsY0FBYyxDQUFHdUksU0FBUyxDQUFDO0VBQzdCLENBQUMsQ0FBQztFQUVGLElBQU0yQixtQkFBbUIsR0FBRyxJQUFBdkcsdUJBQWdCLEVBQUMsVUFBQ21FLEtBQTJDLEVBQUk7SURqS3ZGLElBQUlULEVBQUUsRUFBRVUsRUFBRSxFQUFFb0MsRUFBRTtJQ2tLbEIsSUFBSXJDLEtBQUssQ0FBQ3dCLEdBQUcsS0FBS0MsbUJBQVEsQ0FBQ0csVUFBVSxJQUFJdkMsaUJBQWlCLElBQUksQ0FBQyxFQUFFO01BQy9EVyxLQUFLLENBQUNnQixjQUFjLENBQUEsQ0FBRTtNQUN0QjdHLGNBQWMsQ0FBQ2tGLGlCQUFpQixDQUFDO01BQ2pDLENBQUFFLEVBQUEsR0FBQWpFLE9BQU8sQ0FBQ1MsT0FBTyxDQUFDc0QsaUJBQWlCLENBQUMsTUFBQSxJQUFBLElBQUFFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFSSxLQUFLLENBQUM7UUFBRUMsYUFBYSxFQUFFO01BQUksQ0FBRSxDQUFDO01BQ2xFO0lBQ0Y7SUFFQSxJQUFJSSxLQUFLLENBQUN3QixHQUFHLEtBQUtDLG1CQUFRLENBQUNJLFFBQVEsSUFBSXZDLGdCQUFnQixLQUFLLElBQUksRUFBRTtNQUNoRVUsS0FBSyxDQUFDZ0IsY0FBYyxDQUFBLENBQUU7TUFDdEI3RyxjQUFjLENBQUNtRixnQkFBZ0IsQ0FBQztNQUNoQyxDQUFBVyxFQUFBLEdBQUEzRSxPQUFPLENBQUNTLE9BQU8sQ0FBQ3VELGdCQUFnQixDQUFDLE1BQUEsSUFBQSxJQUFBVyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRU4sS0FBSyxDQUFDO1FBQUVDLGFBQWEsRUFBRTtNQUFJLENBQUUsQ0FBQztNQUNqRTtJQUNGO0lBRUEsSUFBSUksS0FBSyxDQUFDd0IsR0FBRyxLQUFLQyxtQkFBUSxDQUFDYSxNQUFNLEVBQUU7TUFDakN0QyxLQUFLLENBQUNnQixjQUFjLENBQUEsQ0FBRTtNQUN0QmhGLGdCQUFnQixDQUFDLEtBQUssQ0FBQztNQUN2QixDQUFBcUcsRUFBQSxHQUFBM0csVUFBVSxDQUFDSyxPQUFPLE1BQUEsSUFBQSxJQUFBc0csRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUUxQyxLQUFLLENBQUM7UUFBRUMsYUFBYSxFQUFFO01BQUksQ0FBRSxDQUFDO0lBQ3BEO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTTJDLGVBQWUsR0FBMEI7SUFDN0M1TSxRQUFRLEVBQVJBLFFBQVE7SUFDUkssUUFBUSxFQUFSQSxRQUFRO0lBQ1JDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCa0IsSUFBSSxFQUFFc0MsU0FBUztJQUNmMUUsV0FBVyxFQUFFLENBQUNzRyxZQUFZO0lBQzFCUCxlQUFlLEVBQWZBO0VEbktBLENDb0tEO0VBQ0QsSUFBTTBILGVBQWUsR0FBR25ILFlBQVksR0FBRyxPQUFPLEdBQUcsYUFBYTtFQUM5RCxJQUFNb0gscUJBQXFCLEdBQ3pCek0sUUFBUSxJQUNScUYsWUFBWSxJQUNacEYsZ0JBQWdCLEtBQUtpRCxTQUN0QjtFQUNELElBQU13SixnQkFBZ0IsR0FBR2xLLE9BQU8sQ0FDOUIsU0FBUyxFQUNULElBQUFtSyxtQkFBTyxFQUNMbkssT0FBTyxZQUFBaUYsTUFBQSxDQUFZckQsY0FBYyxDQUFFLENBQUMsRUFDcEM1QixPQUFPLFlBQUFpRixNQUFBLENBQVloSSxPQUFPLENBQUUsQ0FBQyxFQUM3QmdFLFNBQVMsSUFBSWpCLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFDcENpSyxxQkFBcUIsSUFBSWpLLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxFQUMzRDZDLFlBQVksR0FBRzdDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHQSxPQUFPLENBQUMscUJBQXFCLENBQUMsRUFDekVqRCxNQUFNLEtBQUssU0FBUyxJQUFJaUQsT0FBTyxZQUFBaUYsTUFBQSxDQUFZbEksTUFBTSxDQUFFLENBQUMsRUFDcERJLFFBQVEsSUFBSTZDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUN4QyxDQUNGO0VBQ0QsSUFBTW9LLFFBQVEsR0FBR3hJLGNBQWMsS0FBSyxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDckQsSUFBTXlJLHNCQUFzQixHQUFHaE8sY0FBYyxLQUFBLElBQUEsSUFBZEEsY0FBYyxLQUFBLEtBQUEsQ0FBQSxHQUFkQSxjQUFjLEdBQUs0QixLQUFLLEdBQUdvQyxPQUFPLEdBQUdLLFNBQVU7RUFDOUUsSUFBTTRKLGNBQWMsR0FBRyxDQUNyQm5NLFdBQVcsR0FBR21DLGFBQWEsR0FBRyxJQUFJLEVBQ2xDbEMsUUFBUSxHQUFHbUMsVUFBVSxHQUFHLElBQUksQ0FDN0IsQ0FBQ2dLLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDLENBQUNDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSS9KLFNBQVM7RUFFeEMsT0FDRSxJQUFBZ0ssZ0JBQUEsRUFBQ0MsNEJBQWdCLEVBQUE7SUFDZjNLLE9BQU8sRUFBRUEsT0FBTztJQUNoQmxFLFNBQVMsRUFBRUEsU0FBUztJQUNwQmUsSUFBSSxFQUFFK0UsY0FBYztJQUNwQjNFLE9BQU8sRUFBRUEsT0FBTztJQUNoQkYsTUFBTSxFQUFFQSxNQUFNO0lBQ2RJLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkcsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCVyxLQUFLLEVBQUVBLEtBQUs7SUFDWkMsSUFBSSxFQUFFQSxJQUFJO0lBQ1ZDLFdBQVcsRUFBRUEsV0FBVztJQUN4QkMsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCRSxRQUFRLEVBQUVBLFFBQVE7SUFDbEIrQixPQUFPLEVBQUVBLE9BQU87SUFDaEJDLGFBQWEsRUFBRUEsYUFBYTtJQUM1QkMsVUFBVSxFQUFFQSxVQUFVO0lBQUFxSyxRQUFBLEVBQUEsQ0FFdEIsSUFBQUYsZ0JBQUEsRUFBQSxRQUFBLEVBQUF6UCxNQUFBLENBQUE2SixNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ000QixpQkFBaUIsQ0FBQztNQUNwQjNHLEdBQUcsRUFBRXdGLFlBQVk7TUFDakJySixFQUFFLEVBQUVrRSxTQUFTO01BQ2J5SyxJQUFJLEVBQUUsUUFBUTtNQUNkMU8sSUFBSSxFQUFKQSxJQUFJO01BQ0pnQixRQUFRLEVBQVJBLFFBQVE7TUFDUnJCLFNBQVMsRUFBRW9PLGdCQUFnQjtNQUMzQlksU0FBUyxFQUFFL0Isb0JBQW9CO01BQy9CcEosTUFBTSxFQUFFbUksaUJBQWlCO01BQ3pCLFlBQVksRUFBRTFMLFNBQVM7TUFDdkIsaUJBQWlCLEVBQUVpTyxzQkFBc0I7TUFDekMsa0JBQWtCLEVBQUVDO0lEcE1sQixDQ3FNSCxDQUFDLEVBQUE7TUFBQU0sUUFBQSxFQUFBLENBRUYsSUFBQUYsZ0JBQUEsRUFBQSxNQUFBLEVBQUE7UUFBTTVPLFNBQVMsRUFBRWtFLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFBQTRLLFFBQUEsRUFBQSxDQUNoQ3JNLE1BQU0sSUFBSSxJQUFBd00sZUFBQSxFQUFBLE1BQUEsRUFBQTtVQUFNalAsU0FBUyxFQUFFa0UsT0FBTyxDQUFDLFFBQVEsQ0FBQztVQUFBNEssUUFBQSxFQUFHck07UUFBTSxDQUFBLENBQVEsRUFDOUQsSUFBQXdNLGVBQUEsRUFBQSxNQUFBLEVBQUE7VUFDRWpQLFNBQVMsRUFBRWtFLE9BQU8sQ0FDaEJnSyxlQUFlLEVBQ2YsSUFBQUcsbUJBQU8sRUFDTG5LLE9BQU8sSUFBQWlGLE1BQUEsQ0FBSStFLGVBQWUsT0FBQS9FLE1BQUEsQ0FBSXJELGNBQWMsQ0FBRSxDQUFDLEVBQy9DcUkscUJBQXFCLElBQUlqSyxPQUFPLElBQUFpRixNQUFBLENBQUkrRSxlQUFlLGNBQVcsQ0FBQyxFQUMvRDdNLFFBQVEsSUFBSTZDLE9BQU8sSUFBQWlGLE1BQUEsQ0FBSStFLGVBQWUsY0FBVyxDQUFDLENBQ25ELENBQ0Y7VUFBQVksUUFBQSxFQUVELElBQUFHLGVBQUEsRUFBQ0MsOEJBQWtCLEVBQUE7WUFDakJoTCxPQUFPLEVBQUVBLE9BQU87WUFDaEI2QyxZQUFZLEVBQUVBLFlBQVk7WUFDMUJyRixRQUFRLEVBQUVBLFFBQVE7WUFDbEJqQixXQUFXLEVBQUVBLFdBQVc7WUFDeEJ1RCxXQUFXLEVBQUVBLFdBQVc7WUFDeEJpSyxlQUFlLEVBQUVBLGVBQWU7WUFDaEN6SCxlQUFlLEVBQUVBLGVBQWU7WUFDaEM3RSxnQkFBZ0IsRUFBRUEsZ0JBQWdCO1lBQ2xDd04sUUFBUSxFQUFFdkMseUJBQXlCO1lBQ25Dd0MsYUFBYSxFQUFFMUIsb0JBQW9CO1lBQ25DMkIsaUJBQWlCLEVBQUU1QjtVQUF3QixDQUFBO1FBQzNDLENBQUEsQ0FDRztNQUFBLENBQUEsQ0FDRixFQUNOcEssU0FBUyxJQUFJMEQsWUFBWSxJQUFJLENBQUMxRixRQUFRLElBQUksQ0FBQ0csT0FBTyxJQUNqRCxJQUFBeU4sZUFBQSxFQUFBLE1BQUEsRUFBQTtRQUNFalAsU0FBUyxFQUFFa0UsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMzQitGLElBQUksRUFBQyxRQUFRO1FBQUEsWUFBQSxFQUNGLE9BQU87UUFDbEJxRixXQUFXLEVBQUUsU0FBYkEsV0FBV0EsQ0FBRzVELEtBQUssRUFBSTtVQUNyQkEsS0FBSyxDQUFDZ0IsY0FBYyxDQUFBLENBQUU7VUFDdEJoQixLQUFLLENBQUNpQixlQUFlLENBQUEsQ0FBRTtRQUN6QixDQUFDO1FBQ0Q0QyxPQUFPLEVBQUU5QyxXQUFXO1FBQUFxQyxRQUFBLEVBRXBCLElBQUFHLGVBQUEsRUFBQ08sWUFBSyxFQUFBO1VBQUNuUCxJQUFJLEVBQUMsT0FBTztVQUFDVSxJQUFJLEVBQUV1TixRQUFRO1VBQUVtQixLQUFLLEVBQUM7UUFBYyxDQUFBO01BQUcsQ0FBQSxDQUU5RCxFQUNELElBQUFSLGVBQUEsRUFBQSxNQUFBLEVBQUE7UUFBTWpQLFNBQVMsRUFBRWtFLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFBQTRLLFFBQUEsRUFDN0J0TixPQUFPLEdBQ04sSUFBQXlOLGVBQUEsRUFBQ1MsZ0JBQU8sRUFBQTtVQUFDM08sSUFBSSxFQUFFdU4sUUFBUTtVQUFFcUIsV0FBVyxFQUFFO1FBQUMsQ0FBQSxDQUFJLEdBRTNDLElBQUFWLGVBQUEsRUFBQ08sWUFBSyxFQUFBO1VBQ0puUCxJQUFJLEVBQUU4RSxTQUFTLEdBQUcsV0FBVyxHQUFHLGFBQWE7VUFDN0NwRSxJQUFJLEVBQUV1TixRQUFRO1VBQ2RtQixLQUFLLEVBQUM7UUFBYyxDQUFBO01BRXZCLENBQUEsQ0FDSTtJQUFBLENBQUEsQ0FBQSxDQUNBLEVBRVJ0SyxTQUFTLElBQUksQ0FBQzlELFFBQVEsSUFBSyxZQUFLO01BQy9CLElBQU11TyxTQUFTLEdBQ2IsSUFBQVgsZUFBQSxFQUFDWSwyQkFBb0IsRUFBQTtRQUFDckcsT0FBTyxFQUFFQSxPQUFPO1FBQUVzRyxLQUFLLEVBQUUsS0FBSztRQUFFQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQUVDLFdBQVcsRUFBRSxLQUFLO1FBQUFsQixRQUFBLEVBQ3hGLElBQUFGLGdCQUFBLEVBQUEsS0FBQSxFQUFBelAsTUFBQSxDQUFBNkosTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNNNkIsZ0JBQWdCLENBQUM7VUFDbkI1RyxHQUFHLEVBQUV5RixXQUFXO1VBQ2hCMUosU0FBUyxFQUFFLElBQUFxTyxtQkFBTyxFQUFDbkssT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFWixjQUFjLENBQUM7VUFDcERuRCxLQUFLLEVBQUVvSjtRRDVQSCxDQzZQTCxDQUFDLEVBQUE7VUFBQXVGLFFBQUEsRUFBQSxDQUVEak4sVUFBVSxJQUNULElBQUFvTixlQUFBLEVBQUNnQiwrQkFBbUIsRUFBQTtZQUNsQmhNLEdBQUcsRUFBRW9ELGNBQWM7WUFDbkJuRCxPQUFPLEVBQUVBLE9BQU87WUFDaEJ6RCxXQUFXLEVBQUVzQixpQkFBaUI7WUFDOUJuQixLQUFLLEVBQUUyRSxnQkFBZ0I7WUFDdkIxQixNQUFNLEVBQUU4SixnQkFBZ0I7WUFDeEJqSyxRQUFRLEVBQUVrSyxrQkFBa0I7WUFDNUJvQixTQUFTLEVBQUVsQjtVQUFtQixDQUFBLENBRWpDLEVBQ0QsSUFBQW1CLGVBQUEsRUFBQSxLQUFBLEVBQUE7WUFBS2pQLFNBQVMsRUFBRWtFLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFBQTRLLFFBQUEsRUFDbEN2SSxrQkFBa0IsQ0FBQ0ksTUFBTSxLQUFLLENBQUMsR0FDOUIsSUFBQXNJLGVBQUEsRUFBQSxLQUFBLEVBQUE7Y0FBS2pQLFNBQVMsRUFBRWtFLE9BQU8sQ0FBQyxPQUFPLENBQUM7Y0FBQTRLLFFBQUEsRUFDOUIsSUFBQUcsZUFBQSxFQUFDaUIsMEJBQWMsRUFBQTtnQkFBQ25QLElBQUksRUFBRW9QLDRCQUFpQixDQUFDQyxLQUFLLENBQUNyUCxJQUFJO2dCQUFFME8sS0FBSyxFQUFFVSw0QkFBaUIsQ0FBQ0MsS0FBSyxDQUFDWCxLQUFLO2dCQUFBWCxRQUFBLEVBQUduTTtjQUFZLENBQUE7WUFBa0IsQ0FBQSxDQUNySCxHQUVMLFlBQUs7Y0FDSixJQUFJME4sU0FBUyxHQUFHLENBQUM7Y0FFakIsT0FBT2hLLG1CQUFtQixDQUFDaUssR0FBRyxDQUFDLFVBQUNDLEtBQUs7Z0JBQUEsT0FDbkMsSUFBQTNCLGdCQUFBLEVBQUEsS0FBQSxFQUFBO2tCQUFxQjVPLFNBQVMsRUFBRWtFLE9BQU8sQ0FBQyxPQUFPLENBQUM7a0JBQUE0SyxRQUFBLEVBQUEsQ0FDN0N5QixLQUFLLENBQUNwTyxLQUFLLElBQ1YsSUFBQThNLGVBQUEsRUFBQSxLQUFBLEVBQUE7b0JBQUtqUCxTQUFTLEVBQUVrRSxPQUFPLENBQUMsYUFBYSxDQUFDO29CQUFBNEssUUFBQSxFQUNwQyxJQUFBRyxlQUFBLEVBQUN1QiwyQkFBZSxFQUFBO3NCQUFDelAsSUFBSSxFQUFFb1AsNEJBQWlCLENBQUNNLFVBQVUsQ0FBQzFQLElBQUk7c0JBQUUyUCxNQUFNLEVBQUEsSUFBQTtzQkFBQTVCLFFBQUEsRUFBRXlCLEtBQUssQ0FBQ3BPO29CQUFLLENBQUE7a0JBQW1CLENBQUEsQ0FFbkcsRUFDQW9PLEtBQUssQ0FBQzVQLE9BQU8sQ0FBQzJQLEdBQUcsQ0FBQyxVQUFDeEosTUFBTSxFQUFJO29CQUM1QixJQUFNNkosZUFBZSxHQUFHTixTQUFTO29CQUNqQ0EsU0FBUyxJQUFJLENBQUM7b0JBRWQsSUFBTU8sUUFBUSxHQUFHLElBQUFDLHVCQUFnQixFQUFDOUwsVUFBVSxFQUFFckQsUUFBUSxFQUFFb0YsTUFBTSxDQUFDbEcsS0FBSyxDQUFDO29CQUNyRSxJQUFNa1EsTUFBTSxHQUFHbEwsV0FBVyxLQUFLK0ssZUFBZTtvQkFDOUMsSUFBTUksVUFBVSxHQUEyQjtzQkFDekNELE1BQU0sRUFBTkEsTUFBTTtzQkFDTnpQLFFBQVEsRUFBRSxDQUFDLENBQUN5RixNQUFNLENBQUN6RixRQUFRO3NCQUMzQjZKLEtBQUssRUFBRXlGLGVBQWU7c0JBQ3RCalAsUUFBUSxFQUFSQSxRQUFRO3NCQUNSbUIsSUFBSSxFQUFFc0MsU0FBUztzQkFDZnlMLFFBQVEsRUFBUkE7b0JEeFJvQixDQ3lSckI7b0JBRUQxSixjQUFjLENBQUNPLE9BQU8sQ0FBQ2tKLGVBQWUsQ0FBQyxHQUFHLElBQUFLLHdCQUFpQixFQUFDbEssTUFBTSxDQUFDO29CQUVuRSxPQUNFLElBQUFtSSxlQUFBLEVBQUEsUUFBQSxFQUFBOVAsTUFBQSxDQUFBNkosTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUVNOEIsWUFBWSxDQUFDO3NCQUNmN0csR0FBRyxXQUFIQSxHQUFHQSxDQUFDdUQsSUFBOEIsRUFBQTt3QkFDaENSLE9BQU8sQ0FBQ1MsT0FBTyxDQUFDa0osZUFBZSxDQUFDLEdBQUduSixJQUFJO3NCQUN6QyxDQUFDO3NCQUNEdUgsSUFBSSxFQUFFLFFBQVE7c0JBQ2Q5RSxJQUFJLEVBQUUsUUFBUTtzQkFDZGpLLFNBQVMsRUFBRWtFLE9BQU8sQ0FDaEIsUUFBUSxFQUNSLElBQUFtSyxtQkFBTyxFQUNMeUMsTUFBTSxJQUFJNU0sT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUNsQzBNLFFBQVEsSUFBSTFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUN0QzRDLE1BQU0sQ0FBQ3pGLFFBQVEsSUFBSTZDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUM3Q1gsZUFBZSxDQUNoQixDQUNGO3NCQUNEbEMsUUFBUSxFQUFFeUYsTUFBTSxDQUFDekYsUUFBUTtzQkFDekIsZUFBZSxFQUFFdVAsUUFBUTtzQkFDekJyQixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBRzdELEtBQXlDLEVBQUk7d0JBQ3JEQSxLQUFLLENBQUNnQixjQUFjLENBQUEsQ0FBRTt3QkFDdEJMLGtCQUFrQixDQUFDdkYsTUFBTSxDQUFDO3NCQUM1QixDQUFDO3NCQUNEbUssWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7d0JBQUEsT0FBUXpELG9CQUFvQixDQUFDbUQsZUFBZSxDQUFDO3NCQUFBO3NCQUN6RDlNLE1BQU0sRUFBRW9JO29CRHJTUSxDQ3NTakIsQ0FBQyxFQUFBO3NCQUFBNkMsUUFBQSxFQUVEL0ssWUFBWSxHQUNYQSxZQUFZLENBQUMrQyxNQUFNLEVBQUVpSyxVQUFVLENBQUMsR0FFaEMsSUFBQTlCLGVBQUEsRUFBQ2lDLCtCQUFtQixFQUFBO3dCQUNsQmhOLE9BQU8sRUFBRUEsT0FBTzt3QkFDaEI0QyxNQUFNLEVBQUVBLE1BQU07d0JBQ2Q4SixRQUFRLEVBQUVBO3NCQUFRLENBQUE7b0JBRXJCLENBQUEsQ0FBQSxLQUFBekgsTUFBQSxDQWxDT29ILEtBQUssQ0FBQ3JELEdBQUcsT0FBQS9ELE1BQUEsQ0FBSXJDLE1BQU0sQ0FBQ2xHLEtBQUssQ0FBRSxDQW1DNUI7a0JBRWIsQ0FBQyxDQUFDO2dCQUFBLENBQUEsRUE5RE0yUCxLQUFLLENBQUNyRCxHQUFHLENBK0RiO2NBQUEsQ0FDUCxDQUFDO1lBQ0osQ0FBQyxDQUFDO1VBQ0gsQ0FBQSxDQUNHLEVBQ0x0SyxXQUFXLElBQUksSUFBSSxJQUNsQixJQUFBcU0sZUFBQSxFQUFBLEtBQUEsRUFBQTtZQUFLalAsU0FBUyxFQUFFa0UsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUFBNEssUUFBQSxFQUFHbE07VUFBVyxDQUFBLENBQ3REO1FBQUEsQ0FBQSxDQUFBO01BQ0csQ0FBQSxDQUVUO01BRUQsT0FBT0ssTUFBTSxHQUFHLElBQUFnTSxlQUFBLEVBQUNrQyxxQkFBYyxFQUFBO1FBQUFyQyxRQUFBLEVBQUVjO01BQVMsQ0FBQSxDQUFrQixHQUFHQSxTQUFTO0lBQzFFLENBQUMsQ0FBQyxDQUFFO0VBQUEsQ0FBQSxDQUNhO0FBRXZCLENBQUM7QUFFRGhRLE1BQU0sQ0FBQ3dSLFdBQVcsR0FBRyxRQUFRO0FBQUMsSUFBQUMsUUFBQSxHQUFBeFIsT0FBQSwyQkFFZixJQUFBeVIsWUFBSSxFQUFDMVIsTUFBTSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBhdXRvVXBkYXRlLCBmbGlwLCBGbG9hdGluZ0ZvY3VzTWFuYWdlciwgRmxvYXRpbmdQb3J0YWwsIG9mZnNldCwgc2hpZnQsIHNpemUgYXMgZmxvYXRpbmdTaXplLCB1c2VDbGljaywgdXNlRGlzbWlzcywgdXNlRmxvYXRpbmcsIHVzZUludGVyYWN0aW9ucywgdXNlTGlzdE5hdmlnYXRpb24sIHVzZVJvbGUsIHVzZVR5cGVhaGVhZCwgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0LCB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzLCBkZWZhdWx0IGFzIHJvb3RDbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgU2VsZWN0RmllbGRTaGVsbCBmcm9tICcuL1NlbGVjdEZpZWxkU2hlbGwnO1xuaW1wb3J0IFNlbGVjdE9wdGlvbkNvbnRlbnQgZnJvbSAnLi9TZWxlY3RPcHRpb25Db250ZW50JztcbmltcG9ydCBTZWxlY3RTZWFyY2hDb250cm9sIGZyb20gJy4vU2VsZWN0U2VhcmNoQ29udHJvbCc7XG5pbXBvcnQgU2VsZWN0VmFsdWVDb250ZW50IGZyb20gJy4vU2VsZWN0VmFsdWVDb250ZW50JztcbmltcG9ydCB7IEtFWUJPQVJELCBTRUxFQ1RfVFlQT0dSQVBIWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGV4dHJhY3RPcHRpb25UZXh0LCBmaWx0ZXJPcHRpb25Hcm91cHMsIGZsYXR0ZW5PcHRpb25Hcm91cHMsIGdldE11bHRpcGxlVmFsdWUsIGdldE9wdGlvbnNCeVZhbHVlcywgZ2V0U2VsZWN0ZWRPcHRpb25zLCBpc09wdGlvblNlbGVjdGVkLCBub3JtYWxpemVTaXplLCBub3JtYWxpemVPcHRpb25Hcm91cHMsIHJlbW92ZU11bHRpcGxlVmFsdWUsIHRvZ2dsZU11bHRpcGxlVmFsdWUsIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgREVGQVVMVF9NQVhfSEVJR0hUID0gMzIwO1xuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWxlY3QnLCBzdHlsZSwgaWQsIG5hbWUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIHBsYWNlaG9sZGVyID0gJ1ZhbHVlJywgb3B0aW9ucyA9IFtdLCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBzaXplID0gJ2xhcmdlJywgc3RhdHVzID0gJ2RlZmF1bHQnLCB2YXJpYW50ID0gJ2ZpbGwnLCBkaXNhYmxlZDogZGlzYWJsZWRQcm9wID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbXVsdGlwbGUgPSBmYWxzZSwgbWF4VmlzaWJsZVZhbHVlcywgc2VhcmNoYWJsZSA9IGZhbHNlLCBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2gnLCBzZWFyY2hWYWx1ZSwgZGVmYXVsdFNlYXJjaFZhbHVlID0gJycsIGxhYmVsLCBpbmZvLCBkZXNjcmlwdGlvbiwgZmVlZGJhY2ssIHJlcXVpcmVkID0gZmFsc2UsIHByZWZpeCwgZW1wdHlDb250ZW50ID0gJ05vIG9wdGlvbnMnLCBwYW5lbEZvb3Rlciwgb3BlbiwgZGVmYXVsdE9wZW4gPSBmYWxzZSwgcG9ydGFsID0gdHJ1ZSwgYWxsb3dEZXNlbGVjdCA9IGZhbHNlLCBjbGVhcmFibGUgPSBmYWxzZSwgcGFuZWxDbGFzc05hbWUsIG9wdGlvbkNsYXNzTmFtZSwgbGlzdE1heEhlaWdodCA9IERFRkFVTFRfTUFYX0hFSUdIVCwgb25DaGFuZ2UsIG9uT3BlbkNoYW5nZSwgb25TZWFyY2hDaGFuZ2UsIG9uQmx1ciwgZmlsdGVyT3B0aW9uLCByZW5kZXJPcHRpb24sIHJlbmRlclZhbHVlLCByZWYsIH0gPSBwcm9wcztcbiAgICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkUHJvcCB8fCBsb2FkaW5nO1xuICAgIGNvbnN0IGNsYXNzZXMgPSByb290Q2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGF1dG9JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgdHJpZ2dlcklkID0gaWQgIT09IG51bGwgJiYgaWQgIT09IHZvaWQgMCA/IGlkIDogYXV0b0lkO1xuICAgIGNvbnN0IGxhYmVsSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGZlZWRiYWNrSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB2b2lkIDAgPyBkZWZhdWx0VmFsdWUgOiAobXVsdGlwbGUgPyBbXSA6IHVuZGVmaW5lZCksIHZhbHVlKTtcbiAgICBjb25zdCBbaW5uZXJPcGVuLCBzZXRJbm5lck9wZW5dID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRPcGVuLCBvcGVuKTtcbiAgICBjb25zdCBbaW5uZXJTZWFyY2hWYWx1ZSwgc2V0SW5uZXJTZWFyY2hWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFNlYXJjaFZhbHVlLCBzZWFyY2hWYWx1ZSk7XG4gICAgY29uc3QgW2FjdGl2ZUluZGV4LCBzZXRBY3RpdmVJbmRleF0gPSB1c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBub3JtYWxpemVkU2l6ZSA9IG5vcm1hbGl6ZVNpemUoc2l6ZSk7XG4gICAgY29uc3QgYWxsT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiBub3JtYWxpemVPcHRpb25Hcm91cHMob3B0aW9ucyksIFtvcHRpb25zXSk7XG4gICAgY29uc3QgYWxsRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHMoYWxsT3B0aW9uR3JvdXBzKSwgW2FsbE9wdGlvbkdyb3Vwc10pO1xuICAgIGNvbnN0IHZpc2libGVPcHRpb25Hcm91cHMgPSB1c2VNZW1vKCgpID0+IChzZWFyY2hhYmxlXG4gICAgICAgID8gZmlsdGVyT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcywgaW5uZXJTZWFyY2hWYWx1ZSwgZmlsdGVyT3B0aW9uKVxuICAgICAgICA6IGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHMsIGZpbHRlck9wdGlvbiwgaW5uZXJTZWFyY2hWYWx1ZSwgc2VhcmNoYWJsZV0pO1xuICAgIGNvbnN0IHZpc2libGVGbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbkdyb3Vwcyh2aXNpYmxlT3B0aW9uR3JvdXBzKSwgW3Zpc2libGVPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGdldFNlbGVjdGVkT3B0aW9ucyhhbGxGbGF0T3B0aW9ucywgaW5uZXJWYWx1ZSwgbXVsdGlwbGUpLCBbYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWF0Y2hlZEluZGV4ID0gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHNlbGVjdGVkT3B0aW9uc1swXS52YWx1ZSk7XG4gICAgICAgIHJldHVybiBtYXRjaGVkSW5kZXggPj0gMCA/IG1hdGNoZWRJbmRleCA6IG51bGw7XG4gICAgfSwgW3NlbGVjdGVkT3B0aW9ucywgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgY29uc3QgaGFzU2VsZWN0aW9uID0gc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDA7XG4gICAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgbGlzdENvbnRlbnRSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGZsb2F0aW5nUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHRyaWdnZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlclJlZiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgcmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRPcGVuKSA9PiB7XG4gICAgICAgIHNldElubmVyT3BlbihuZXh0T3Blbik7XG4gICAgICAgIG9uT3BlbkNoYW5nZSA9PT0gbnVsbCB8fCBvbk9wZW5DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uT3BlbkNoYW5nZShuZXh0T3Blbik7XG4gICAgfSk7XG4gICAgY29uc3QgeyByZWZzLCBmbG9hdGluZ1N0eWxlcywgY29udGV4dCwgfSA9IHVzZUZsb2F0aW5nKHtcbiAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICBvbk9wZW5DaGFuZ2U6IGhhbmRsZU9wZW5DaGFuZ2UsXG4gICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbS1zdGFydCcsXG4gICAgICAgIHdoaWxlRWxlbWVudHNNb3VudGVkOiBhdXRvVXBkYXRlLFxuICAgICAgICBtaWRkbGV3YXJlOiBbXG4gICAgICAgICAgICBvZmZzZXQoMCksXG4gICAgICAgICAgICBmbGlwKHsgcGFkZGluZzogOCB9KSxcbiAgICAgICAgICAgIHNoaWZ0KHsgcGFkZGluZzogOCB9KSxcbiAgICAgICAgICAgIGZsb2F0aW5nU2l6ZSh7XG4gICAgICAgICAgICAgICAgYXBwbHkoeyByZWN0cywgZWxlbWVudHMsIGF2YWlsYWJsZUhlaWdodCB9KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRNYXhIZWlnaHQgPSBNYXRoLm1heCgxMjAsIE1hdGgubWluKGxpc3RNYXhIZWlnaHQsIGF2YWlsYWJsZUhlaWdodCkpO1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGVsZW1lbnRzLmZsb2F0aW5nLnN0eWxlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYCR7cmVjdHMucmVmZXJlbmNlLndpZHRofXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogYCR7bmV4dE1heEhlaWdodH1weGAsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICB9KTtcbiAgICBjb25zdCBzZXRSZWZlcmVuY2UgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0UmVmZXJlbmNlKG5vZGUpO1xuICAgICAgICBoYW5kbGVUcmlnZ2VyUmVmKG5vZGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHNldEZsb2F0aW5nID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldEZsb2F0aW5nKG5vZGUpO1xuICAgICAgICBmbG9hdGluZ1JlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9KTtcbiAgICBjb25zdCBjbGljayA9IHVzZUNsaWNrKGNvbnRleHQsIHsgZW5hYmxlZDogIWRpc2FibGVkIH0pO1xuICAgIGNvbnN0IGRpc21pc3MgPSB1c2VEaXNtaXNzKGNvbnRleHQsIHsgZW5hYmxlZDogIWRpc2FibGVkLCBvdXRzaWRlUHJlc3NFdmVudDogJ21vdXNlZG93bicgfSk7XG4gICAgY29uc3Qgcm9sZSA9IHVzZVJvbGUoY29udGV4dCwgeyByb2xlOiAnc2VsZWN0JyB9KTtcbiAgICBjb25zdCBsaXN0TmF2aWdhdGlvbiA9IHVzZUxpc3ROYXZpZ2F0aW9uKGNvbnRleHQsIHtcbiAgICAgICAgbGlzdFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIG9uTmF2aWdhdGU6IHNldEFjdGl2ZUluZGV4LFxuICAgICAgICBlbmFibGVkOiBpbm5lck9wZW4sXG4gICAgICAgIGxvb3A6IHRydWUsXG4gICAgfSk7XG4gICAgY29uc3QgdHlwZWFoZWFkID0gdXNlVHlwZWFoZWFkKGNvbnRleHQsIHtcbiAgICAgICAgbGlzdFJlZjogbGlzdENvbnRlbnRSZWYsXG4gICAgICAgIGFjdGl2ZUluZGV4LFxuICAgICAgICBzZWxlY3RlZEluZGV4LFxuICAgICAgICBlbmFibGVkOiBpbm5lck9wZW4gJiYgIXNlYXJjaGFibGUsXG4gICAgICAgIG9uTWF0Y2g6IHNldEFjdGl2ZUluZGV4LFxuICAgIH0pO1xuICAgIGNvbnN0IHsgZ2V0UmVmZXJlbmNlUHJvcHMsIGdldEZsb2F0aW5nUHJvcHMsIGdldEl0ZW1Qcm9wcyB9ID0gdXNlSW50ZXJhY3Rpb25zKFtcbiAgICAgICAgY2xpY2ssXG4gICAgICAgIGRpc21pc3MsXG4gICAgICAgIHJvbGUsXG4gICAgICAgIGxpc3ROYXZpZ2F0aW9uLFxuICAgICAgICB0eXBlYWhlYWQsXG4gICAgXSk7XG4gICAgY29uc3QgZmlyc3RFbmFibGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHZpc2libGVGbGF0T3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gIW9wdGlvbi5kaXNhYmxlZCksIFt2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBsYXN0RW5hYmxlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXggLT0gMSkge1xuICAgICAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2luZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9LCBbdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFpbm5lck9wZW4pIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldEFjdGl2ZUluZGV4KChwcmV2KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJldiAhPT0gbnVsbCAmJiB2aXNpYmxlRmxhdE9wdGlvbnNbcHJldl0gJiYgIXZpc2libGVGbGF0T3B0aW9uc1twcmV2XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICB2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0gJiZcbiAgICAgICAgICAgICAgICAhdmlzaWJsZUZsYXRPcHRpb25zW3NlbGVjdGVkSW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkSW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmlyc3RFbmFibGVkSW5kZXggPj0gMCA/IGZpcnN0RW5hYmxlZEluZGV4IDogbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfSwgW2ZpcnN0RW5hYmxlZEluZGV4LCBpbm5lck9wZW4sIHNlbGVjdGVkSW5kZXgsIHZpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCFpbm5lck9wZW4gfHwgYWN0aXZlSW5kZXggPT09IG51bGwgfHwgc2VhcmNoYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIChfYSA9IGxpc3RSZWYuY3VycmVudFthY3RpdmVJbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSwgW2FjdGl2ZUluZGV4LCBpbm5lck9wZW4sIHNlYXJjaGFibGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsaXN0UmVmLmN1cnJlbnQgPSBsaXN0UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnQgPSBsaXN0Q29udGVudFJlZi5jdXJyZW50LnNsaWNlKDAsIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGgpO1xuICAgIH0sIFt2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaW5uZXJPcGVuICYmIHNlYXJjaGFibGUpIHtcbiAgICAgICAgICAgIChfYSA9IHNlYXJjaElucHV0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbaW5uZXJPcGVuLCBzZWFyY2hhYmxlXSk7XG4gICAgY29uc3Qgbm90aWZ5Qmx1cklmT3V0c2lkZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHJlbGF0ZWRUYXJnZXQsIGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IG5leHRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICBjb25zdCB3aXRoaW5UcmlnZ2VyID0gISEobmV4dFRhcmdldCAmJiAoKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgY29uc3Qgd2l0aGluRmxvYXRpbmcgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2IgPSBmbG9hdGluZ1JlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgaWYgKCF3aXRoaW5UcmlnZ2VyICYmICF3aXRoaW5GbG9hdGluZykge1xuICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlT3B0aW9uQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbW1pdENoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRWYWx1ZSwgbmV4dE9wdGlvbikgPT4ge1xuICAgICAgICBzZXRJbm5lclZhbHVlKG5leHRWYWx1ZSk7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb24pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdE9wdGlvbiA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAob3B0aW9uLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0b2dnbGVNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUsIG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjb25zdCBuZXh0T3B0aW9ucyA9IGdldE9wdGlvbnNCeVZhbHVlcyhhbGxGbGF0T3B0aW9ucywgbmV4dFZhbHVlKTtcbiAgICAgICAgICAgIGNvbW1pdENoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb25zKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWxsb3dEZXNlbGVjdCAmJiBpbm5lclZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgIGNvbW1pdENoYW5nZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAgICAgKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbW1pdENoYW5nZShvcHRpb24udmFsdWUsIG9wdGlvbik7XG4gICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgKF9iID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNsZWFyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgY29tbWl0Q2hhbmdlKFtdLCBbXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvblZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdldE11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSkuaW5jbHVkZXMob3B0aW9uVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gcmVtb3ZlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb25WYWx1ZSk7XG4gICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlcktleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELlNQQUNFKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSghaW5uZXJPcGVuKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVJdGVtTW91c2VFbnRlciA9IHVzZUV2ZW50Q2FsbGJhY2soKGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2luZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlQ2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBfZXZlbnQpID0+IHtcbiAgICAgICAgc2V0SW5uZXJTZWFyY2hWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvblNlYXJjaENoYW5nZSA9PT0gbnVsbCB8fCBvblNlYXJjaENoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TZWFyY2hDaGFuZ2UobmV4dFZhbHVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX0RPV04gJiYgZmlyc3RFbmFibGVkSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGZpcnN0RW5hYmxlZEluZGV4KTtcbiAgICAgICAgICAgIChfYSA9IGxpc3RSZWYuY3VycmVudFtmaXJzdEVuYWJsZWRJbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVAgJiYgbGFzdEVuYWJsZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGxhc3RFbmFibGVkSW5kZXgpO1xuICAgICAgICAgICAgKF9iID0gbGlzdFJlZi5jdXJyZW50W2xhc3RFbmFibGVkSW5kZXhdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVTQ0FQRSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgKF9jID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgcmVuZGVyVmFsdWVNZXRhID0ge1xuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMsXG4gICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgcGxhY2Vob2xkZXI6ICFoYXNTZWxlY3Rpb24sXG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucyxcbiAgICB9O1xuICAgIGNvbnN0IHZhbHVlTGFiZWxDbGFzcyA9IGhhc1NlbGVjdGlvbiA/ICd2YWx1ZScgOiAncGxhY2Vob2xkZXInO1xuICAgIGNvbnN0IGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCA9IChtdWx0aXBsZSAmJlxuICAgICAgICBoYXNTZWxlY3Rpb24gJiZcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyA9PT0gdW5kZWZpbmVkKTtcbiAgICBjb25zdCB0cmlnZ2VyQ2xhc3NOYW1lID0gY2xhc3NlcygndHJpZ2dlcicsIGpvaW5DbHMoY2xhc3NlcyhgdHJpZ2dlci0ke25vcm1hbGl6ZWRTaXplfWApLCBjbGFzc2VzKGB0cmlnZ2VyLSR7dmFyaWFudH1gKSwgaW5uZXJPcGVuICYmIGNsYXNzZXMoJ3RyaWdnZXItb3BlbicpLCBpc011bHRpcGxlVmFsdWVGaWxsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1tdWx0aXBsZS1maWxsZWQnKSwgaGFzU2VsZWN0aW9uID8gY2xhc3NlcygndHJpZ2dlci1maWxsZWQnKSA6IGNsYXNzZXMoJ3RyaWdnZXItcGxhY2Vob2xkZXInKSwgc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhgdHJpZ2dlci0ke3N0YXR1c31gKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1kaXNhYmxlZCcpKSk7XG4gICAgY29uc3QgaWNvblNpemUgPSBub3JtYWxpemVkU2l6ZSA9PT0gJ3NtYWxsJyA/IDE2IDogMjA7XG4gICAgY29uc3QgZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSA9IGFyaWFMYWJlbGxlZEJ5ICE9PSBudWxsICYmIGFyaWFMYWJlbGxlZEJ5ICE9PSB2b2lkIDAgPyBhcmlhTGFiZWxsZWRCeSA6IChsYWJlbCA/IGxhYmVsSWQgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWRzID0gW1xuICAgICAgICBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uSWQgOiBudWxsLFxuICAgICAgICBmZWVkYmFjayA/IGZlZWRiYWNrSWQgOiBudWxsLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSB8fCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIChfanN4cyhTZWxlY3RGaWVsZFNoZWxsLCB7IGNsYXNzZXM6IGNsYXNzZXMsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCBzaXplOiBub3JtYWxpemVkU2l6ZSwgdmFyaWFudDogdmFyaWFudCwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBkaXNhYmxlZCwgbG9hZGluZzogbG9hZGluZywgbGFiZWw6IGxhYmVsLCBpbmZvOiBpbmZvLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIGZlZWRiYWNrOiBmZWVkYmFjaywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBsYWJlbElkOiBsYWJlbElkLCBkZXNjcmlwdGlvbklkOiBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkOiBmZWVkYmFja0lkLCBjaGlsZHJlbjogW19qc3hzKFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldFJlZmVyZW5jZVByb3BzKHtcbiAgICAgICAgICAgICAgICByZWY6IHNldFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBpZDogdHJpZ2dlcklkLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0cmlnZ2VyQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bjogaGFuZGxlVHJpZ2dlcktleURvd24sXG4gICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVUcmlnZ2VyQmx1cixcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlZEJ5SWRzLFxuICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQnKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh2YWx1ZUxhYmVsQ2xhc3MsIGpvaW5DbHMoY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LSR7bm9ybWFsaXplZFNpemV9YCksIGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tbXVsdGlwbGVgKSwgZGlzYWJsZWQgJiYgY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LWRpc2FibGVkYCkpKSwgY2hpbGRyZW46IF9qc3goU2VsZWN0VmFsdWVDb250ZW50LCB7IGNsYXNzZXM6IGNsYXNzZXMsIGhhc1NlbGVjdGlvbjogaGFzU2VsZWN0aW9uLCBtdWx0aXBsZTogbXVsdGlwbGUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCByZW5kZXJWYWx1ZU1ldGE6IHJlbmRlclZhbHVlTWV0YSwgc2VsZWN0ZWRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsIG1heFZpc2libGVWYWx1ZXM6IG1heFZpc2libGVWYWx1ZXMsIG9uUmVtb3ZlOiBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlLCBvblJlbW92ZUNsaWNrOiBoYW5kbGVUYWdSZW1vdmVDbGljaywgb25SZW1vdmVNb3VzZURvd246IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biB9KSB9KV0gfSksIGNsZWFyYWJsZSAmJiBoYXNTZWxlY3Rpb24gJiYgIWRpc2FibGVkICYmICFsb2FkaW5nICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY2xlYXInKSwgcm9sZTogXCJidXR0b25cIiwgXCJhcmlhLWxhYmVsXCI6IFwiQ2xlYXJcIiwgb25Nb3VzZURvd246IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBvbkNsaWNrOiBoYW5kbGVDbGVhciwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjcm9zc1wiLCBzaXplOiBpY29uU2l6ZSwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkgfSkpLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaWNvbicpLCBjaGlsZHJlbjogbG9hZGluZyA/IChfanN4KFNwaW5uZXIsIHsgc2l6ZTogaWNvblNpemUsIHN0cm9rZVdpZHRoOiAyIH0pKSA6IChfanN4KEljb25zLCB7IG5hbWU6IGlubmVyT3BlbiA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJywgc2l6ZTogaWNvblNpemUsIGNvbG9yOiBcImN1cnJlbnRDb2xvclwiIH0pKSB9KV0gfSkpLCBpbm5lck9wZW4gJiYgIWRpc2FibGVkICYmICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWxOb2RlID0gKF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygncGFuZWwnKSwgcGFuZWxDbGFzc05hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IGZsb2F0aW5nU3R5bGVzLFxuICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW3NlYXJjaGFibGUgJiYgKF9qc3goU2VsZWN0U2VhcmNoQ29udHJvbCwgeyByZWY6IHNlYXJjaElucHV0UmVmLCBjbGFzc2VzOiBjbGFzc2VzLCBwbGFjZWhvbGRlcjogc2VhcmNoUGxhY2Vob2xkZXIsIHZhbHVlOiBpbm5lclNlYXJjaFZhbHVlLCBvbkJsdXI6IGhhbmRsZVNlYXJjaEJsdXIsIG9uQ2hhbmdlOiBoYW5kbGVTZWFyY2hDaGFuZ2UsIG9uS2V5RG93bjogaGFuZGxlU2VhcmNoS2V5RG93biB9KSksIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWJvZHknKSwgY2hpbGRyZW46IHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGggPT09IDAgPyAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZW1wdHknKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuc2l6ZSwgY29sb3I6IFNFTEVDVF9UWVBPR1JBUEhZLmVtcHR5LmNvbG9yLCBjaGlsZHJlbjogZW1wdHlDb250ZW50IH0pIH0pKSA6ICgoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZsYXRJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmlzaWJsZU9wdGlvbkdyb3Vwcy5tYXAoKGdyb3VwKSA9PiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2dyb3VwJyksIGNoaWxkcmVuOiBbZ3JvdXAubGFiZWwgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2dyb3VwLWxhYmVsJyksIGNoaWxkcmVuOiBfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5ncm91cExhYmVsLnNpemUsIHN0cm9uZzogdHJ1ZSwgY2hpbGRyZW46IGdyb3VwLmxhYmVsIH0pIH0pKSwgZ3JvdXAub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uRmxhdEluZGV4ID0gZmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhdEluZGV4ICs9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IGlzT3B0aW9uU2VsZWN0ZWQoaW5uZXJWYWx1ZSwgbXVsdGlwbGUsIG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBhY3RpdmVJbmRleCA9PT0gb3B0aW9uRmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uTWV0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICEhb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBvcHRpb25GbGF0SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IGV4dHJhY3RPcHRpb25UZXh0KG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0SXRlbVByb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWYobm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlOiAnb3B0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzZXMoJ29wdGlvbicsIGpvaW5DbHMoYWN0aXZlICYmIGNsYXNzZXMoJ29wdGlvbi1hY3RpdmUnKSwgc2VsZWN0ZWQgJiYgY2xhc3Nlcygnb3B0aW9uLXNlbGVjdGVkJyksIG9wdGlvbi5kaXNhYmxlZCAmJiBjbGFzc2VzKCdvcHRpb24tZGlzYWJsZWQnKSwgb3B0aW9uQ2xhc3NOYW1lKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IG9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJpYS1zZWxlY3RlZCc6IHNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb24ob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gaGFuZGxlSXRlbU1vdXNlRW50ZXIob3B0aW9uRmxhdEluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZU9wdGlvbkJsdXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogcmVuZGVyT3B0aW9uID8gKHJlbmRlck9wdGlvbihvcHRpb24sIG9wdGlvbk1ldGEpKSA6IChfanN4KFNlbGVjdE9wdGlvbkNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3Nlcywgb3B0aW9uOiBvcHRpb24sIHNlbGVjdGVkOiBzZWxlY3RlZCB9KSkgfSksIGAke2dyb3VwLmtleX0tJHtvcHRpb24udmFsdWV9YCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KV0gfSwgZ3JvdXAua2V5KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpKSB9KSwgcGFuZWxGb290ZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtZm9vdGVyJyksIGNoaWxkcmVuOiBwYW5lbEZvb3RlciB9KSldIH0pKSB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBvcnRhbCA/IF9qc3goRmxvYXRpbmdQb3J0YWwsIHsgY2hpbGRyZW46IHBhbmVsTm9kZSB9KSA6IHBhbmVsTm9kZTtcbiAgICAgICAgICAgIH0pKCldIH0pKTtcbn07XG5TZWxlY3QuZGlzcGxheU5hbWUgPSAnU2VsZWN0JztcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU2VsZWN0KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|