@dextinity/cms-admin 2.0.0-canary-20260729062014
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/lib/blocks/AnchorBlock.d.ts +5 -0
- package/lib/blocks/AnchorBlock.d.ts.map +1 -0
- package/lib/blocks/AnchorBlock.js +65 -0
- package/lib/blocks/DamVideoBlock.d.ts +9 -0
- package/lib/blocks/DamVideoBlock.d.ts.map +1 -0
- package/lib/blocks/DamVideoBlock.generated.d.ts +25 -0
- package/lib/blocks/DamVideoBlock.generated.d.ts.map +1 -0
- package/lib/blocks/DamVideoBlock.generated.js +5 -0
- package/lib/blocks/DamVideoBlock.js +214 -0
- package/lib/blocks/EmailLinkBlock.d.ts +4 -0
- package/lib/blocks/EmailLinkBlock.d.ts.map +1 -0
- package/lib/blocks/EmailLinkBlock.js +66 -0
- package/lib/blocks/ExternalLinkBlock.d.ts +6 -0
- package/lib/blocks/ExternalLinkBlock.d.ts.map +1 -0
- package/lib/blocks/ExternalLinkBlock.js +125 -0
- package/lib/blocks/InternalLinkBlock.d.ts +6 -0
- package/lib/blocks/InternalLinkBlock.d.ts.map +1 -0
- package/lib/blocks/InternalLinkBlock.generated.d.ts +20 -0
- package/lib/blocks/InternalLinkBlock.generated.d.ts.map +1 -0
- package/lib/blocks/InternalLinkBlock.generated.js +5 -0
- package/lib/blocks/InternalLinkBlock.js +200 -0
- package/lib/blocks/PhoneLinkBlock.d.ts +4 -0
- package/lib/blocks/PhoneLinkBlock.d.ts.map +1 -0
- package/lib/blocks/PhoneLinkBlock.js +60 -0
- package/lib/blocks/PixelImageBlock.d.ts +5 -0
- package/lib/blocks/PixelImageBlock.d.ts.map +1 -0
- package/lib/blocks/PixelImageBlock.fragment.d.ts +2 -0
- package/lib/blocks/PixelImageBlock.fragment.d.ts.map +1 -0
- package/lib/blocks/PixelImageBlock.fragment.generated.d.ts +20 -0
- package/lib/blocks/PixelImageBlock.fragment.generated.d.ts.map +1 -0
- package/lib/blocks/PixelImageBlock.fragment.generated.js +5 -0
- package/lib/blocks/PixelImageBlock.fragment.js +4 -0
- package/lib/blocks/PixelImageBlock.generated.d.ts +38 -0
- package/lib/blocks/PixelImageBlock.generated.d.ts.map +1 -0
- package/lib/blocks/PixelImageBlock.generated.js +5 -0
- package/lib/blocks/PixelImageBlock.js +296 -0
- package/lib/blocks/SpaceBlock.d.ts +7 -0
- package/lib/blocks/SpaceBlock.d.ts.map +1 -0
- package/lib/blocks/SpaceBlock.js +87 -0
- package/lib/blocks/SvgImageBlock.d.ts +6 -0
- package/lib/blocks/SvgImageBlock.d.ts.map +1 -0
- package/lib/blocks/SvgImageBlock.generated.d.ts +25 -0
- package/lib/blocks/SvgImageBlock.generated.d.ts.map +1 -0
- package/lib/blocks/SvgImageBlock.generated.js +5 -0
- package/lib/blocks/SvgImageBlock.js +195 -0
- package/lib/blocks/VimeoVideoBlock.d.ts +9 -0
- package/lib/blocks/VimeoVideoBlock.d.ts.map +1 -0
- package/lib/blocks/VimeoVideoBlock.js +162 -0
- package/lib/blocks/YouTubeVideoBlock.d.ts +9 -0
- package/lib/blocks/YouTubeVideoBlock.d.ts.map +1 -0
- package/lib/blocks/YouTubeVideoBlock.js +161 -0
- package/lib/blocks/clipboard/CannotPasteBlockDialog.d.ts +9 -0
- package/lib/blocks/clipboard/CannotPasteBlockDialog.d.ts.map +1 -0
- package/lib/blocks/clipboard/CannotPasteBlockDialog.js +38 -0
- package/lib/blocks/clipboard/useBlockClipboard.d.ts +26 -0
- package/lib/blocks/clipboard/useBlockClipboard.d.ts.map +1 -0
- package/lib/blocks/clipboard/useBlockClipboard.js +180 -0
- package/lib/blocks/common/AddBlockDrawer.d.ts +10 -0
- package/lib/blocks/common/AddBlockDrawer.d.ts.map +1 -0
- package/lib/blocks/common/AddBlockDrawer.js +268 -0
- package/lib/blocks/common/AdminComponentStickyFooter.d.ts +2 -0
- package/lib/blocks/common/AdminComponentStickyFooter.d.ts.map +1 -0
- package/lib/blocks/common/AdminComponentStickyFooter.js +13 -0
- package/lib/blocks/common/AdminComponentStickyHeader.d.ts +2 -0
- package/lib/blocks/common/AdminComponentStickyHeader.d.ts.map +1 -0
- package/lib/blocks/common/AdminComponentStickyHeader.js +13 -0
- package/lib/blocks/common/AdminTabsTabContent.d.ts +7 -0
- package/lib/blocks/common/AdminTabsTabContent.d.ts.map +1 -0
- package/lib/blocks/common/AdminTabsTabContent.js +48 -0
- package/lib/blocks/common/BlockAdminComponentButton.d.ts +11 -0
- package/lib/blocks/common/BlockAdminComponentButton.d.ts.map +1 -0
- package/lib/blocks/common/BlockAdminComponentButton.js +31 -0
- package/lib/blocks/common/BlockAdminComponentNestedButton.d.ts +11 -0
- package/lib/blocks/common/BlockAdminComponentNestedButton.d.ts.map +1 -0
- package/lib/blocks/common/BlockAdminComponentNestedButton.js +56 -0
- package/lib/blocks/common/BlockAdminComponentPaper.d.ts +8 -0
- package/lib/blocks/common/BlockAdminComponentPaper.d.ts.map +1 -0
- package/lib/blocks/common/BlockAdminComponentPaper.js +29 -0
- package/lib/blocks/common/BlockAdminComponentRoot.d.ts +7 -0
- package/lib/blocks/common/BlockAdminComponentRoot.d.ts.map +1 -0
- package/lib/blocks/common/BlockAdminComponentRoot.js +46 -0
- package/lib/blocks/common/BlockAdminComponentSection.d.ts +9 -0
- package/lib/blocks/common/BlockAdminComponentSection.d.ts.map +1 -0
- package/lib/blocks/common/BlockAdminComponentSection.js +52 -0
- package/lib/blocks/common/BlockAdminComponentSectionGroup.d.ts +7 -0
- package/lib/blocks/common/BlockAdminComponentSectionGroup.d.ts.map +1 -0
- package/lib/blocks/common/BlockAdminComponentSectionGroup.js +26 -0
- package/lib/blocks/common/BlockAdminTabLabel.d.ts +7 -0
- package/lib/blocks/common/BlockAdminTabLabel.d.ts.map +1 -0
- package/lib/blocks/common/BlockAdminTabLabel.js +22 -0
- package/lib/blocks/common/BlockAdminTabs.d.ts +7 -0
- package/lib/blocks/common/BlockAdminTabs.d.ts.map +1 -0
- package/lib/blocks/common/BlockAdminTabs.js +93 -0
- package/lib/blocks/common/Collapsible.d.ts +9 -0
- package/lib/blocks/common/Collapsible.d.ts.map +1 -0
- package/lib/blocks/common/Collapsible.js +24 -0
- package/lib/blocks/common/CollapsibleSwitchButtonHeader.d.ts +8 -0
- package/lib/blocks/common/CollapsibleSwitchButtonHeader.d.ts.map +1 -0
- package/lib/blocks/common/CollapsibleSwitchButtonHeader.js +28 -0
- package/lib/blocks/common/HiddenInSubroute.d.ts +5 -0
- package/lib/blocks/common/HiddenInSubroute.d.ts.map +1 -0
- package/lib/blocks/common/HiddenInSubroute.js +11 -0
- package/lib/blocks/common/blockRow/BlockPreviewContent.d.ts +12 -0
- package/lib/blocks/common/blockRow/BlockPreviewContent.d.ts.map +1 -0
- package/lib/blocks/common/blockRow/BlockPreviewContent.js +47 -0
- package/lib/blocks/common/blockRow/BlockPreviewContent.sc.d.ts +6 -0
- package/lib/blocks/common/blockRow/BlockPreviewContent.sc.d.ts.map +1 -0
- package/lib/blocks/common/blockRow/BlockPreviewContent.sc.js +60 -0
- package/lib/blocks/common/blockRow/BlockRow.d.ts +23 -0
- package/lib/blocks/common/blockRow/BlockRow.d.ts.map +1 -0
- package/lib/blocks/common/blockRow/BlockRow.js +226 -0
- package/lib/blocks/common/blockRow/BlockRow.sc.d.ts +17 -0
- package/lib/blocks/common/blockRow/BlockRow.sc.d.ts.map +1 -0
- package/lib/blocks/common/blockRow/BlockRow.sc.js +151 -0
- package/lib/blocks/common/blockRow/image/StackedImages.d.ts +8 -0
- package/lib/blocks/common/blockRow/image/StackedImages.d.ts.map +1 -0
- package/lib/blocks/common/blockRow/image/StackedImages.js +42 -0
- package/lib/blocks/common/blockRow/image/StackedImages.sc.d.ts +9 -0
- package/lib/blocks/common/blockRow/image/StackedImages.sc.d.ts.map +1 -0
- package/lib/blocks/common/blockRow/image/StackedImages.sc.js +132 -0
- package/lib/blocks/common/usePromise.d.ts +8 -0
- package/lib/blocks/common/usePromise.d.ts.map +1 -0
- package/lib/blocks/common/usePromise.js +56 -0
- package/lib/blocks/common/useScrollRestoration.d.ts +8 -0
- package/lib/blocks/common/useScrollRestoration.d.ts.map +1 -0
- package/lib/blocks/common/useScrollRestoration.js +23 -0
- package/lib/blocks/config/BlocksConfigContext.d.ts +16 -0
- package/lib/blocks/config/BlocksConfigContext.d.ts.map +1 -0
- package/lib/blocks/config/BlocksConfigContext.js +17 -0
- package/lib/blocks/context/BlockContext.d.ts +10 -0
- package/lib/blocks/context/BlockContext.d.ts.map +1 -0
- package/lib/blocks/context/BlockContext.js +2 -0
- package/lib/blocks/context/BlockContextProvider.d.ts +8 -0
- package/lib/blocks/context/BlockContextProvider.d.ts.map +1 -0
- package/lib/blocks/context/BlockContextProvider.js +10 -0
- package/lib/blocks/context/useBlockContext.d.ts +3 -0
- package/lib/blocks/context/useBlockContext.d.ts.map +1 -0
- package/lib/blocks/context/useBlockContext.js +26 -0
- package/lib/blocks/createImageLinkBlock.d.ts +11 -0
- package/lib/blocks/createImageLinkBlock.d.ts.map +1 -0
- package/lib/blocks/createImageLinkBlock.js +38 -0
- package/lib/blocks/createLinkBlock.d.ts +11 -0
- package/lib/blocks/createLinkBlock.d.ts.map +1 -0
- package/lib/blocks/createLinkBlock.js +172 -0
- package/lib/blocks/createRichTextBlock.d.ts +19 -0
- package/lib/blocks/createRichTextBlock.d.ts.map +1 -0
- package/lib/blocks/createRichTextBlock.js +346 -0
- package/lib/blocks/createSeoBlock.d.ts +7 -0
- package/lib/blocks/createSeoBlock.d.ts.map +1 -0
- package/lib/blocks/createSeoBlock.js +455 -0
- package/lib/blocks/createTableBlock.d.ts +23 -0
- package/lib/blocks/createTableBlock.d.ts.map +1 -0
- package/lib/blocks/createTableBlock.js +243 -0
- package/lib/blocks/createTextImageBlock.d.ts +19 -0
- package/lib/blocks/createTextImageBlock.d.ts.map +1 -0
- package/lib/blocks/createTextImageBlock.js +132 -0
- package/lib/blocks/createTextLinkBlock.d.ts +12 -0
- package/lib/blocks/createTextLinkBlock.d.ts.map +1 -0
- package/lib/blocks/createTextLinkBlock.js +140 -0
- package/lib/blocks/factories/columnsBlock/ColumnsIcon.d.ts +8 -0
- package/lib/blocks/factories/columnsBlock/ColumnsIcon.d.ts.map +1 -0
- package/lib/blocks/factories/columnsBlock/ColumnsIcon.js +81 -0
- package/lib/blocks/factories/columnsBlock/ColumnsLayoutPreview.d.ts +13 -0
- package/lib/blocks/factories/columnsBlock/ColumnsLayoutPreview.d.ts.map +1 -0
- package/lib/blocks/factories/columnsBlock/ColumnsLayoutPreview.js +63 -0
- package/lib/blocks/factories/columnsBlock/FinalFormColumnsSelect.d.ts +7 -0
- package/lib/blocks/factories/columnsBlock/FinalFormColumnsSelect.d.ts.map +1 -0
- package/lib/blocks/factories/columnsBlock/FinalFormColumnsSelect.js +26 -0
- package/lib/blocks/factories/columnsBlock/FinalFormLayoutSelect.d.ts +8 -0
- package/lib/blocks/factories/columnsBlock/FinalFormLayoutSelect.d.ts.map +1 -0
- package/lib/blocks/factories/columnsBlock/FinalFormLayoutSelect.js +161 -0
- package/lib/blocks/factories/createBlocksBlock.d.ts +59 -0
- package/lib/blocks/factories/createBlocksBlock.d.ts.map +1 -0
- package/lib/blocks/factories/createBlocksBlock.js +1071 -0
- package/lib/blocks/factories/createColumnsBlock.d.ts +37 -0
- package/lib/blocks/factories/createColumnsBlock.d.ts.map +1 -0
- package/lib/blocks/factories/createColumnsBlock.js +672 -0
- package/lib/blocks/factories/createCompositeBlock.d.ts +94 -0
- package/lib/blocks/factories/createCompositeBlock.d.ts.map +1 -0
- package/lib/blocks/factories/createCompositeBlock.js +308 -0
- package/lib/blocks/factories/createListBlock.d.ts +59 -0
- package/lib/blocks/factories/createListBlock.d.ts.map +1 -0
- package/lib/blocks/factories/createListBlock.js +686 -0
- package/lib/blocks/factories/createOneOfBlock.d.ts +52 -0
- package/lib/blocks/factories/createOneOfBlock.d.ts.map +1 -0
- package/lib/blocks/factories/createOneOfBlock.js +644 -0
- package/lib/blocks/factories/createOptionalBlock.d.ts +21 -0
- package/lib/blocks/factories/createOptionalBlock.d.ts.map +1 -0
- package/lib/blocks/factories/createOptionalBlock.js +253 -0
- package/lib/blocks/factories/listBlock/createUseAdminComponent.d.ts +29 -0
- package/lib/blocks/factories/listBlock/createUseAdminComponent.d.ts.map +1 -0
- package/lib/blocks/factories/listBlock/createUseAdminComponent.js +297 -0
- package/lib/blocks/factories/spaceBlock/createSpaceBlock.d.ts +15 -0
- package/lib/blocks/factories/spaceBlock/createSpaceBlock.d.ts.map +1 -0
- package/lib/blocks/factories/spaceBlock/createSpaceBlock.js +72 -0
- package/lib/blocks/form/AutosaveFinalForm.d.ts +7 -0
- package/lib/blocks/form/AutosaveFinalForm.d.ts.map +1 -0
- package/lib/blocks/form/AutosaveFinalForm.js +39 -0
- package/lib/blocks/form/BlocksFinalForm.d.ts +4 -0
- package/lib/blocks/form/BlocksFinalForm.d.ts.map +1 -0
- package/lib/blocks/form/BlocksFinalForm.js +73 -0
- package/lib/blocks/form/createFinalFormBlock.d.ts +5 -0
- package/lib/blocks/form/createFinalFormBlock.d.ts.map +1 -0
- package/lib/blocks/form/createFinalFormBlock.js +19 -0
- package/lib/blocks/helpers/VideoOptionsFields.d.ts +2 -0
- package/lib/blocks/helpers/VideoOptionsFields.d.ts.map +1 -0
- package/lib/blocks/helpers/VideoOptionsFields.js +42 -0
- package/lib/blocks/helpers/composeBlocks/composeBlocks.d.ts +23 -0
- package/lib/blocks/helpers/composeBlocks/composeBlocks.d.ts.map +1 -0
- package/lib/blocks/helpers/composeBlocks/composeBlocks.js +364 -0
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.d.ts +13 -0
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.d.ts.map +1 -0
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.js +17 -0
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockFields.d.ts +12 -0
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockFields.d.ts.map +1 -0
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockFields.js +17 -0
- package/lib/blocks/helpers/composeBlocks/createSettingsBlock.d.ts +12 -0
- package/lib/blocks/helpers/composeBlocks/createSettingsBlock.d.ts.map +1 -0
- package/lib/blocks/helpers/composeBlocks/createSettingsBlock.js +78 -0
- package/lib/blocks/helpers/composeBlocks/types.d.ts +58 -0
- package/lib/blocks/helpers/composeBlocks/types.d.ts.map +1 -0
- package/lib/blocks/helpers/composeBlocks/types.js +1 -0
- package/lib/blocks/helpers/composeBlocks/utility-types.d.ts +7 -0
- package/lib/blocks/helpers/composeBlocks/utility-types.d.ts.map +1 -0
- package/lib/blocks/helpers/composeBlocks/utility-types.js +1 -0
- package/lib/blocks/helpers/composeBlocks/utils.d.ts +12 -0
- package/lib/blocks/helpers/composeBlocks/utils.d.ts.map +1 -0
- package/lib/blocks/helpers/composeBlocks/utils.js +136 -0
- package/lib/blocks/helpers/createBlockSkeleton.d.ts +8 -0
- package/lib/blocks/helpers/createBlockSkeleton.d.ts.map +1 -0
- package/lib/blocks/helpers/createBlockSkeleton.js +130 -0
- package/lib/blocks/helpers/createCompositeBlockSelectField.d.ts +17 -0
- package/lib/blocks/helpers/createCompositeBlockSelectField.d.ts.map +1 -0
- package/lib/blocks/helpers/createCompositeBlockSelectField.js +48 -0
- package/lib/blocks/helpers/createCompositeBlockSwitchField.d.ts +11 -0
- package/lib/blocks/helpers/createCompositeBlockSwitchField.d.ts.map +1 -0
- package/lib/blocks/helpers/createCompositeBlockSwitchField.js +45 -0
- package/lib/blocks/helpers/createCompositeBlockTextField.d.ts +16 -0
- package/lib/blocks/helpers/createCompositeBlockTextField.d.ts.map +1 -0
- package/lib/blocks/helpers/createCompositeBlockTextField.js +61 -0
- package/lib/blocks/helpers/decomposeUpdateStateAction.d.ts +13 -0
- package/lib/blocks/helpers/decomposeUpdateStateAction.d.ts.map +1 -0
- package/lib/blocks/helpers/decomposeUpdateStateAction.js +42 -0
- package/lib/blocks/helpers/deduplicateBlockDependencies.d.ts +3 -0
- package/lib/blocks/helpers/deduplicateBlockDependencies.d.ts.map +1 -0
- package/lib/blocks/helpers/deduplicateBlockDependencies.js +28 -0
- package/lib/blocks/helpers/isBlockInterface.d.ts +3 -0
- package/lib/blocks/helpers/isBlockInterface.d.ts.map +1 -0
- package/lib/blocks/helpers/isBlockInterface.js +7 -0
- package/lib/blocks/helpers/withAdditionalBlockAttributes.d.ts +7 -0
- package/lib/blocks/helpers/withAdditionalBlockAttributes.d.ts.map +1 -0
- package/lib/blocks/helpers/withAdditionalBlockAttributes.js +59 -0
- package/lib/blocks/iframebridge/HoverPreviewComponent.d.ts +7 -0
- package/lib/blocks/iframebridge/HoverPreviewComponent.d.ts.map +1 -0
- package/lib/blocks/iframebridge/HoverPreviewComponent.js +53 -0
- package/lib/blocks/iframebridge/HoverPreviewComponent.sc.d.ts +8 -0
- package/lib/blocks/iframebridge/HoverPreviewComponent.sc.d.ts.map +1 -0
- package/lib/blocks/iframebridge/HoverPreviewComponent.sc.js +47 -0
- package/lib/blocks/iframebridge/IFrameBridge.d.ts +20 -0
- package/lib/blocks/iframebridge/IFrameBridge.d.ts.map +1 -0
- package/lib/blocks/iframebridge/IFrameBridge.js +155 -0
- package/lib/blocks/iframebridge/IFrameMessage.d.ts +122 -0
- package/lib/blocks/iframebridge/IFrameMessage.d.ts.map +1 -0
- package/lib/blocks/iframebridge/IFrameMessage.js +75 -0
- package/lib/blocks/iframebridge/SelectPreviewComponent.d.ts +5 -0
- package/lib/blocks/iframebridge/SelectPreviewComponent.d.ts.map +1 -0
- package/lib/blocks/iframebridge/SelectPreviewComponent.js +17 -0
- package/lib/blocks/iframebridge/useIFrameBridge.d.ts +3 -0
- package/lib/blocks/iframebridge/useIFrameBridge.d.ts.map +1 -0
- package/lib/blocks/iframebridge/useIFrameBridge.js +5 -0
- package/lib/blocks/image/EditImageDialog.d.ts +31 -0
- package/lib/blocks/image/EditImageDialog.d.ts.map +1 -0
- package/lib/blocks/image/EditImageDialog.js +268 -0
- package/lib/blocks/rte/extension/CmsLink/Decorator.d.ts +4 -0
- package/lib/blocks/rte/extension/CmsLink/Decorator.d.ts.map +1 -0
- package/lib/blocks/rte/extension/CmsLink/Decorator.js +12 -0
- package/lib/blocks/rte/extension/CmsLink/EditorComponent.d.ts +9 -0
- package/lib/blocks/rte/extension/CmsLink/EditorComponent.d.ts.map +1 -0
- package/lib/blocks/rte/extension/CmsLink/EditorComponent.js +10 -0
- package/lib/blocks/rte/extension/CmsLink/createCmsLinkToolbarButton.d.ts +13 -0
- package/lib/blocks/rte/extension/CmsLink/createCmsLinkToolbarButton.d.ts.map +1 -0
- package/lib/blocks/rte/extension/CmsLink/createCmsLinkToolbarButton.js +164 -0
- package/lib/blocks/seo/useSeoTagGeneration.d.ts +3 -0
- package/lib/blocks/seo/useSeoTagGeneration.d.ts.map +1 -0
- package/lib/blocks/seo/useSeoTagGeneration.generated.d.ts +21 -0
- package/lib/blocks/seo/useSeoTagGeneration.generated.d.ts.map +1 -0
- package/lib/blocks/seo/useSeoTagGeneration.generated.js +5 -0
- package/lib/blocks/seo/useSeoTagGeneration.js +167 -0
- package/lib/blocks/seo/useSitemapChangeFrequencyFormOptions.d.ts +6 -0
- package/lib/blocks/seo/useSitemapChangeFrequencyFormOptions.d.ts.map +1 -0
- package/lib/blocks/seo/useSitemapChangeFrequencyFormOptions.js +48 -0
- package/lib/blocks/seo/useSitemapPagePriorityFormOptions.d.ts +6 -0
- package/lib/blocks/seo/useSitemapPagePriorityFormOptions.d.ts.map +1 -0
- package/lib/blocks/seo/useSitemapPagePriorityFormOptions.js +48 -0
- package/lib/blocks/table/CellValue.d.ts +9 -0
- package/lib/blocks/table/CellValue.d.ts.map +1 -0
- package/lib/blocks/table/CellValue.js +86 -0
- package/lib/blocks/table/ColumnHeader.d.ts +16 -0
- package/lib/blocks/table/ColumnHeader.d.ts.map +1 -0
- package/lib/blocks/table/ColumnHeader.js +296 -0
- package/lib/blocks/table/EditCell.d.ts +3 -0
- package/lib/blocks/table/EditCell.d.ts.map +1 -0
- package/lib/blocks/table/EditCell.js +119 -0
- package/lib/blocks/table/FailedToPasteSnackbar.d.ts +3 -0
- package/lib/blocks/table/FailedToPasteSnackbar.d.ts.map +1 -0
- package/lib/blocks/table/FailedToPasteSnackbar.js +23 -0
- package/lib/blocks/table/RowActionsCell.d.ts +13 -0
- package/lib/blocks/table/RowActionsCell.d.ts.map +1 -0
- package/lib/blocks/table/RowActionsCell.js +240 -0
- package/lib/blocks/table/TableBlockContext.d.ts +11 -0
- package/lib/blocks/table/TableBlockContext.d.ts.map +1 -0
- package/lib/blocks/table/TableBlockContext.js +20 -0
- package/lib/blocks/table/TableBlockGrid.d.ts +9 -0
- package/lib/blocks/table/TableBlockGrid.d.ts.map +1 -0
- package/lib/blocks/table/TableBlockGrid.js +244 -0
- package/lib/blocks/table/__mocks__/TableBlockData.mocks.js +203 -0
- package/lib/blocks/table/dataGridStyles.d.ts +3 -0
- package/lib/blocks/table/dataGridStyles.d.ts.map +1 -0
- package/lib/blocks/table/dataGridStyles.js +59 -0
- package/lib/blocks/table/utils/column.d.ts +43 -0
- package/lib/blocks/table/utils/column.d.ts.map +1 -0
- package/lib/blocks/table/utils/column.js +138 -0
- package/lib/blocks/table/utils/ensureMinimumTableState.d.ts +4 -0
- package/lib/blocks/table/utils/ensureMinimumTableState.d.ts.map +1 -0
- package/lib/blocks/table/utils/ensureMinimumTableState.js +49 -0
- package/lib/blocks/table/utils/getClipboardValueForSchema.d.ts +3 -0
- package/lib/blocks/table/utils/getClipboardValueForSchema.d.ts.map +1 -0
- package/lib/blocks/table/utils/getClipboardValueForSchema.js +45 -0
- package/lib/blocks/table/utils/row.d.ts +18 -0
- package/lib/blocks/table/utils/row.d.ts.map +1 -0
- package/lib/blocks/table/utils/row.js +124 -0
- package/lib/blocks/table/utils/rteSchema.d.ts +5 -0
- package/lib/blocks/table/utils/rteSchema.d.ts.map +1 -0
- package/lib/blocks/table/utils/rteSchema.js +4 -0
- package/lib/blocks/table/utils/useRecentlyPastedIds.d.ts +5 -0
- package/lib/blocks/table/utils/useRecentlyPastedIds.d.ts.map +1 -0
- package/lib/blocks/table/utils/useRecentlyPastedIds.js +45 -0
- package/lib/blocks/tipTap/ChildBlocksContext.d.ts +3 -0
- package/lib/blocks/tipTap/ChildBlocksContext.d.ts.map +1 -0
- package/lib/blocks/tipTap/ChildBlocksContext.js +2 -0
- package/lib/blocks/tipTap/InlineStyleContext.d.ts +3 -0
- package/lib/blocks/tipTap/InlineStyleContext.d.ts.map +1 -0
- package/lib/blocks/tipTap/InlineStyleContext.js +2 -0
- package/lib/blocks/tipTap/TextBlockStyleContext.d.ts +3 -0
- package/lib/blocks/tipTap/TextBlockStyleContext.d.ts.map +1 -0
- package/lib/blocks/tipTap/TextBlockStyleContext.js +2 -0
- package/lib/blocks/tipTap/TipTapBlockDialog.d.ts +12 -0
- package/lib/blocks/tipTap/TipTapBlockDialog.d.ts.map +1 -0
- package/lib/blocks/tipTap/TipTapBlockDialog.js +94 -0
- package/lib/blocks/tipTap/TipTapLinkDialog.d.ts +10 -0
- package/lib/blocks/tipTap/TipTapLinkDialog.d.ts.map +1 -0
- package/lib/blocks/tipTap/TipTapLinkDialog.js +105 -0
- package/lib/blocks/tipTap/TipTapToolbar.d.ts +14 -0
- package/lib/blocks/tipTap/TipTapToolbar.d.ts.map +1 -0
- package/lib/blocks/tipTap/TipTapToolbar.js +745 -0
- package/lib/blocks/tipTap/createTipTapRichTextBlock.d.ts +79 -0
- package/lib/blocks/tipTap/createTipTapRichTextBlock.d.ts.map +1 -0
- package/lib/blocks/tipTap/createTipTapRichTextBlock.js +763 -0
- package/lib/blocks/tipTap/extensions/CmsBlock.d.ts +20 -0
- package/lib/blocks/tipTap/extensions/CmsBlock.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/CmsBlock.js +204 -0
- package/lib/blocks/tipTap/extensions/CmsLink.d.ts +13 -0
- package/lib/blocks/tipTap/extensions/CmsLink.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/CmsLink.js +42 -0
- package/lib/blocks/tipTap/extensions/InlineStyleMark.d.ts +13 -0
- package/lib/blocks/tipTap/extensions/InlineStyleMark.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/InlineStyleMark.js +71 -0
- package/lib/blocks/tipTap/extensions/NonBreakingSpace.d.ts +10 -0
- package/lib/blocks/tipTap/extensions/NonBreakingSpace.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/NonBreakingSpace.js +57 -0
- package/lib/blocks/tipTap/extensions/Placeholder.d.ts +10 -0
- package/lib/blocks/tipTap/extensions/Placeholder.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/Placeholder.js +78 -0
- package/lib/blocks/tipTap/extensions/SoftHyphen.d.ts +10 -0
- package/lib/blocks/tipTap/extensions/SoftHyphen.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/SoftHyphen.js +51 -0
- package/lib/blocks/tipTap/extensions/TextBlockStyleHeading.d.ts +2 -0
- package/lib/blocks/tipTap/extensions/TextBlockStyleHeading.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/TextBlockStyleHeading.js +57 -0
- package/lib/blocks/tipTap/extensions/TextBlockStyleParagraph.d.ts +2 -0
- package/lib/blocks/tipTap/extensions/TextBlockStyleParagraph.d.ts.map +1 -0
- package/lib/blocks/tipTap/extensions/TextBlockStyleParagraph.js +56 -0
- package/lib/blocks/tipTap/listLevelMaxHelpers.d.ts +6 -0
- package/lib/blocks/tipTap/listLevelMaxHelpers.d.ts.map +1 -0
- package/lib/blocks/tipTap/listLevelMaxHelpers.js +108 -0
- package/lib/blocks/types.d.ts +137 -0
- package/lib/blocks/types.d.ts.map +1 -0
- package/lib/blocks/types.js +61 -0
- package/lib/blocks/utils/parallelAsyncEvery.d.ts +2 -0
- package/lib/blocks/utils/parallelAsyncEvery.d.ts.map +1 -0
- package/lib/blocks/utils/parallelAsyncEvery.js +9 -0
- package/lib/blocks/utils.d.ts +8 -0
- package/lib/blocks/utils.d.ts.map +1 -0
- package/lib/blocks/utils.js +13 -0
- package/lib/blocks/validators/isValidUrl.d.ts +2 -0
- package/lib/blocks/validators/isValidUrl.d.ts.map +1 -0
- package/lib/blocks/validators/isValidUrl.js +9 -0
- package/lib/blocks.generated.d.ts +314 -0
- package/lib/blocks.generated.d.ts.map +1 -0
- package/lib/blocks.generated.js +1 -0
- package/lib/builds/BuildEntry.d.ts +2 -0
- package/lib/builds/BuildEntry.d.ts.map +1 -0
- package/lib/builds/BuildEntry.generated.d.ts +29 -0
- package/lib/builds/BuildEntry.generated.d.ts.map +1 -0
- package/lib/builds/BuildEntry.generated.js +5 -0
- package/lib/builds/BuildEntry.js +165 -0
- package/lib/builds/PublishButton.d.ts +2 -0
- package/lib/builds/PublishButton.d.ts.map +1 -0
- package/lib/builds/PublishButton.js +46 -0
- package/lib/builds/PublisherPage.d.ts +2 -0
- package/lib/builds/PublisherPage.d.ts.map +1 -0
- package/lib/builds/PublisherPage.generated.d.ts +23 -0
- package/lib/builds/PublisherPage.generated.d.ts.map +1 -0
- package/lib/builds/PublisherPage.generated.js +5 -0
- package/lib/builds/PublisherPage.js +119 -0
- package/lib/builds/StartBuildsDialog.d.ts +7 -0
- package/lib/builds/StartBuildsDialog.d.ts.map +1 -0
- package/lib/builds/StartBuildsDialog.generated.d.ts +29 -0
- package/lib/builds/StartBuildsDialog.generated.d.ts.map +1 -0
- package/lib/builds/StartBuildsDialog.generated.js +8 -0
- package/lib/builds/StartBuildsDialog.js +126 -0
- package/lib/common/DropdownMenuItem.d.ts +13 -0
- package/lib/common/DropdownMenuItem.d.ts.map +1 -0
- package/lib/common/DropdownMenuItem.js +78 -0
- package/lib/common/DropdownMenuItem.sc.d.ts +12 -0
- package/lib/common/DropdownMenuItem.sc.d.ts.map +1 -0
- package/lib/common/DropdownMenuItem.sc.js +88 -0
- package/lib/common/InsertInBetweenAction.d.ts +9 -0
- package/lib/common/InsertInBetweenAction.d.ts.map +1 -0
- package/lib/common/InsertInBetweenAction.js +51 -0
- package/lib/common/InsertInBetweenActionButton.d.ts +3 -0
- package/lib/common/InsertInBetweenActionButton.d.ts.map +1 -0
- package/lib/common/InsertInBetweenActionButton.js +35 -0
- package/lib/common/MarkedMatches.d.ts +11 -0
- package/lib/common/MarkedMatches.d.ts.map +1 -0
- package/lib/common/MarkedMatches.js +78 -0
- package/lib/common/MasterMenu.d.ts +58 -0
- package/lib/common/MasterMenu.d.ts.map +1 -0
- package/lib/common/MasterMenu.js +133 -0
- package/lib/common/MasterMenuRoutes.d.ts +8 -0
- package/lib/common/MasterMenuRoutes.d.ts.map +1 -0
- package/lib/common/MasterMenuRoutes.js +87 -0
- package/lib/common/PageList.d.ts +18 -0
- package/lib/common/PageList.d.ts.map +1 -0
- package/lib/common/PageList.js +73 -0
- package/lib/common/PageName.d.ts +7 -0
- package/lib/common/PageName.d.ts.map +1 -0
- package/lib/common/PageName.generated.d.ts +28 -0
- package/lib/common/PageName.generated.d.ts.map +1 -0
- package/lib/common/PageName.generated.js +8 -0
- package/lib/common/PageName.js +42 -0
- package/lib/common/SearchInput.d.ts +12 -0
- package/lib/common/SearchInput.d.ts.map +1 -0
- package/lib/common/SearchInput.js +107 -0
- package/lib/common/apollo/links/includeInvisibleContentContext.d.ts +5 -0
- package/lib/common/apollo/links/includeInvisibleContentContext.d.ts.map +1 -0
- package/lib/common/apollo/links/includeInvisibleContentContext.js +27 -0
- package/lib/common/errors/errorMessages.d.ts +5 -0
- package/lib/common/errors/errorMessages.d.ts.map +1 -0
- package/lib/common/errors/errorMessages.js +28 -0
- package/lib/common/header/Header.d.ts +7 -0
- package/lib/common/header/Header.d.ts.map +1 -0
- package/lib/common/header/Header.js +27 -0
- package/lib/common/header/ImpersonationInlay.d.ts +2 -0
- package/lib/common/header/ImpersonationInlay.d.ts.map +1 -0
- package/lib/common/header/ImpersonationInlay.js +82 -0
- package/lib/common/header/UserHeaderItem.d.ts +9 -0
- package/lib/common/header/UserHeaderItem.d.ts.map +1 -0
- package/lib/common/header/UserHeaderItem.js +192 -0
- package/lib/common/header/about/AboutModal.d.ts +9 -0
- package/lib/common/header/about/AboutModal.d.ts.map +1 -0
- package/lib/common/header/about/AboutModal.js +162 -0
- package/lib/common/header/about/build-information/buildInformation.d.ts +6 -0
- package/lib/common/header/about/build-information/buildInformation.d.ts.map +1 -0
- package/lib/common/header/about/build-information/buildInformation.js +1 -0
- package/lib/common/header/about/build-information/useBuildInformation.d.ts +3 -0
- package/lib/common/header/about/build-information/useBuildInformation.d.ts.map +1 -0
- package/lib/common/header/about/build-information/useBuildInformation.js +4 -0
- package/lib/common/image/ChooseFocalPoint.d.ts +8 -0
- package/lib/common/image/ChooseFocalPoint.d.ts.map +1 -0
- package/lib/common/image/ChooseFocalPoint.js +42 -0
- package/lib/common/image/ImageCrop.d.ts +9 -0
- package/lib/common/image/ImageCrop.d.ts.map +1 -0
- package/lib/common/image/ImageCrop.js +75 -0
- package/lib/common/image/ImageCrop.sc.d.ts +9 -0
- package/lib/common/image/ImageCrop.sc.d.ts.map +1 -0
- package/lib/common/image/ImageCrop.sc.js +49 -0
- package/lib/common/impersonation/commonImpersonationMessages.d.ts +6 -0
- package/lib/common/impersonation/commonImpersonationMessages.d.ts.map +1 -0
- package/lib/common/impersonation/commonImpersonationMessages.js +16 -0
- package/lib/common/signOutButton/SignOutButton.d.ts +6 -0
- package/lib/common/signOutButton/SignOutButton.d.ts.map +1 -0
- package/lib/common/signOutButton/SignOutButton.gql.d.ts +2 -0
- package/lib/common/signOutButton/SignOutButton.gql.d.ts.map +1 -0
- package/lib/common/signOutButton/SignOutButton.gql.generated.d.ts +14 -0
- package/lib/common/signOutButton/SignOutButton.gql.generated.d.ts.map +1 -0
- package/lib/common/signOutButton/SignOutButton.gql.generated.js +5 -0
- package/lib/common/signOutButton/SignOutButton.gql.js +4 -0
- package/lib/common/signOutButton/SignOutButton.js +59 -0
- package/lib/common/useEditState.d.ts +27 -0
- package/lib/common/useEditState.d.ts.map +1 -0
- package/lib/common/useEditState.js +57 -0
- package/lib/common/useSaveState.d.ts +22 -0
- package/lib/common/useSaveState.d.ts.map +1 -0
- package/lib/common/useSaveState.js +136 -0
- package/lib/config/CometConfigContext.d.ts +37 -0
- package/lib/config/CometConfigContext.d.ts.map +1 -0
- package/lib/config/CometConfigContext.js +44 -0
- package/lib/contentLanguage/contentLanguageConfig.d.ts +6 -0
- package/lib/contentLanguage/contentLanguageConfig.d.ts.map +1 -0
- package/lib/contentLanguage/contentLanguageConfig.js +12 -0
- package/lib/contentLanguage/useContentLanguage.d.ts +7 -0
- package/lib/contentLanguage/useContentLanguage.d.ts.map +1 -0
- package/lib/contentLanguage/useContentLanguage.js +7 -0
- package/lib/contentScope/ContentScopeIndicator.d.ts +9 -0
- package/lib/contentScope/ContentScopeIndicator.d.ts.map +1 -0
- package/lib/contentScope/ContentScopeIndicator.js +134 -0
- package/lib/contentScope/ContentScopeSelect.d.ts +22 -0
- package/lib/contentScope/ContentScopeSelect.d.ts.map +1 -0
- package/lib/contentScope/ContentScopeSelect.js +354 -0
- package/lib/contentScope/Controls.d.ts +10 -0
- package/lib/contentScope/Controls.d.ts.map +1 -0
- package/lib/contentScope/Controls.js +27 -0
- package/lib/contentScope/Provider.d.ts +47 -0
- package/lib/contentScope/Provider.d.ts.map +1 -0
- package/lib/contentScope/Provider.js +160 -0
- package/lib/contentScope/noContentScopeFallback/NoContentScopeFallback.d.ts +3 -0
- package/lib/contentScope/noContentScopeFallback/NoContentScopeFallback.d.ts.map +1 -0
- package/lib/contentScope/noContentScopeFallback/NoContentScopeFallback.js +78 -0
- package/lib/contentScope/useContentScopeConfig.d.ts +5 -0
- package/lib/contentScope/useContentScopeConfig.d.ts.map +1 -0
- package/lib/contentScope/useContentScopeConfig.js +13 -0
- package/lib/contentScope/utils/createPathFromDimensionValues.d.ts +10 -0
- package/lib/contentScope/utils/createPathFromDimensionValues.d.ts.map +1 -0
- package/lib/contentScope/utils/createPathFromDimensionValues.js +13 -0
- package/lib/contentScope/utils/defaultCreatePath.d.ts +9 -0
- package/lib/contentScope/utils/defaultCreatePath.d.ts.map +1 -0
- package/lib/contentScope/utils/defaultCreatePath.js +26 -0
- package/lib/contentScope/utils/groupObjectsIntoArrays.d.ts +15 -0
- package/lib/contentScope/utils/groupObjectsIntoArrays.d.ts.map +1 -0
- package/lib/contentScope/utils/groupObjectsIntoArrays.js +24 -0
- package/lib/cronJobs/CronJobsGrid.d.ts +2 -0
- package/lib/cronJobs/CronJobsGrid.d.ts.map +1 -0
- package/lib/cronJobs/CronJobsGrid.generated.d.ts +44 -0
- package/lib/cronJobs/CronJobsGrid.generated.d.ts.map +1 -0
- package/lib/cronJobs/CronJobsGrid.generated.js +8 -0
- package/lib/cronJobs/CronJobsGrid.js +219 -0
- package/lib/cronJobs/CronJobsPage.d.ts +2 -0
- package/lib/cronJobs/CronJobsPage.d.ts.map +1 -0
- package/lib/cronJobs/CronJobsPage.js +57 -0
- package/lib/cronJobs/JobLogs.d.ts +4 -0
- package/lib/cronJobs/JobLogs.d.ts.map +1 -0
- package/lib/cronJobs/JobLogs.generated.d.ts +20 -0
- package/lib/cronJobs/JobLogs.generated.d.ts.map +1 -0
- package/lib/cronJobs/JobLogs.generated.js +5 -0
- package/lib/cronJobs/JobLogs.js +68 -0
- package/lib/cronJobs/JobRuntime.d.ts +7 -0
- package/lib/cronJobs/JobRuntime.d.ts.map +1 -0
- package/lib/cronJobs/JobRuntime.js +40 -0
- package/lib/cronJobs/JobStatus.d.ts +5 -0
- package/lib/cronJobs/JobStatus.d.ts.map +1 -0
- package/lib/cronJobs/JobStatus.js +16 -0
- package/lib/cronJobs/JobsGrid.d.ts +6 -0
- package/lib/cronJobs/JobsGrid.d.ts.map +1 -0
- package/lib/cronJobs/JobsGrid.generated.d.ts +34 -0
- package/lib/cronJobs/JobsGrid.generated.d.ts.map +1 -0
- package/lib/cronJobs/JobsGrid.generated.js +6 -0
- package/lib/cronJobs/JobsGrid.js +145 -0
- package/lib/dam/CurrentDamFolderProvider.d.ts +10 -0
- package/lib/dam/CurrentDamFolderProvider.d.ts.map +1 -0
- package/lib/dam/CurrentDamFolderProvider.js +22 -0
- package/lib/dam/DamPage.d.ts +12 -0
- package/lib/dam/DamPage.d.ts.map +1 -0
- package/lib/dam/DamPage.js +43 -0
- package/lib/dam/DamTable.d.ts +31 -0
- package/lib/dam/DamTable.d.ts.map +1 -0
- package/lib/dam/DamTable.js +127 -0
- package/lib/dam/DataGrid/DamContextMenu.d.ts +12 -0
- package/lib/dam/DataGrid/DamContextMenu.d.ts.map +1 -0
- package/lib/dam/DataGrid/DamContextMenu.generated.d.ts +14 -0
- package/lib/dam/DataGrid/DamContextMenu.generated.d.ts.map +1 -0
- package/lib/dam/DataGrid/DamContextMenu.generated.js +5 -0
- package/lib/dam/DataGrid/DamContextMenu.gql.d.ts +4 -0
- package/lib/dam/DataGrid/DamContextMenu.gql.d.ts.map +1 -0
- package/lib/dam/DataGrid/DamContextMenu.gql.generated.d.ts +38 -0
- package/lib/dam/DataGrid/DamContextMenu.gql.generated.d.ts.map +1 -0
- package/lib/dam/DataGrid/DamContextMenu.gql.generated.js +7 -0
- package/lib/dam/DataGrid/DamContextMenu.gql.js +6 -0
- package/lib/dam/DataGrid/DamContextMenu.js +294 -0
- package/lib/dam/DataGrid/FolderDataGrid.d.ts +14 -0
- package/lib/dam/DataGrid/FolderDataGrid.d.ts.map +1 -0
- package/lib/dam/DataGrid/FolderDataGrid.gql.d.ts +6 -0
- package/lib/dam/DataGrid/FolderDataGrid.gql.d.ts.map +1 -0
- package/lib/dam/DataGrid/FolderDataGrid.gql.generated.d.ts +207 -0
- package/lib/dam/DataGrid/FolderDataGrid.gql.generated.d.ts.map +1 -0
- package/lib/dam/DataGrid/FolderDataGrid.gql.generated.js +15 -0
- package/lib/dam/DataGrid/FolderDataGrid.gql.js +11 -0
- package/lib/dam/DataGrid/FolderDataGrid.js +737 -0
- package/lib/dam/DataGrid/FolderDataGrid.sc.d.ts +6 -0
- package/lib/dam/DataGrid/FolderDataGrid.sc.d.ts.map +1 -0
- package/lib/dam/DataGrid/FolderDataGrid.sc.js +27 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.d.ts +18 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.d.ts.map +1 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.d.ts +2 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.d.ts.map +1 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.generated.d.ts +20 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.generated.d.ts.map +1 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.generated.js +5 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.js +4 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.js +177 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManuallyHandleDuplicatedFilenamesDialog.d.ts +12 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManuallyHandleDuplicatedFilenamesDialog.d.ts.map +1 -0
- package/lib/dam/DataGrid/duplicatedFilenames/ManuallyHandleDuplicatedFilenamesDialog.js +175 -0
- package/lib/dam/DataGrid/fileUpload/FileUploadContext.d.ts +18 -0
- package/lib/dam/DataGrid/fileUpload/FileUploadContext.d.ts.map +1 -0
- package/lib/dam/DataGrid/fileUpload/FileUploadContext.js +71 -0
- package/lib/dam/DataGrid/fileUpload/FileUploadErrorDialog.d.ts +9 -0
- package/lib/dam/DataGrid/fileUpload/FileUploadErrorDialog.d.ts.map +1 -0
- package/lib/dam/DataGrid/fileUpload/FileUploadErrorDialog.js +126 -0
- package/lib/dam/DataGrid/fileUpload/ProgressDialog.d.ts +8 -0
- package/lib/dam/DataGrid/fileUpload/ProgressDialog.d.ts.map +1 -0
- package/lib/dam/DataGrid/fileUpload/ProgressDialog.js +80 -0
- package/lib/dam/DataGrid/fileUpload/UploadFilesButton.d.ts +9 -0
- package/lib/dam/DataGrid/fileUpload/UploadFilesButton.d.ts.map +1 -0
- package/lib/dam/DataGrid/fileUpload/UploadFilesButton.js +77 -0
- package/lib/dam/DataGrid/fileUpload/fileUpload.utils.d.ts +3 -0
- package/lib/dam/DataGrid/fileUpload/fileUpload.utils.d.ts.map +1 -0
- package/lib/dam/DataGrid/fileUpload/fileUpload.utils.js +21 -0
- package/lib/dam/DataGrid/fileUpload/fileUploadErrorMessages.d.ts +22 -0
- package/lib/dam/DataGrid/fileUpload/fileUploadErrorMessages.d.ts.map +1 -0
- package/lib/dam/DataGrid/fileUpload/fileUploadErrorMessages.js +80 -0
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.d.ts +61 -0
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.d.ts.map +1 -0
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.d.ts +3 -0
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.d.ts.map +1 -0
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.generated.d.ts +34 -0
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.generated.d.ts.map +1 -0
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.generated.js +8 -0
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.js +5 -0
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.js +774 -0
- package/lib/dam/DataGrid/filter/DamTableFilter.d.ts +9 -0
- package/lib/dam/DataGrid/filter/DamTableFilter.d.ts.map +1 -0
- package/lib/dam/DataGrid/filter/DamTableFilter.js +38 -0
- package/lib/dam/DataGrid/footer/DamFooter.d.ts +7 -0
- package/lib/dam/DataGrid/footer/DamFooter.d.ts.map +1 -0
- package/lib/dam/DataGrid/footer/DamFooter.js +31 -0
- package/lib/dam/DataGrid/footer/UploadFooter.d.ts +7 -0
- package/lib/dam/DataGrid/footer/UploadFooter.d.ts.map +1 -0
- package/lib/dam/DataGrid/footer/UploadFooter.js +57 -0
- package/lib/dam/DataGrid/label/DamItemLabel.d.ts +11 -0
- package/lib/dam/DataGrid/label/DamItemLabel.d.ts.map +1 -0
- package/lib/dam/DataGrid/label/DamItemLabel.js +91 -0
- package/lib/dam/DataGrid/label/DamItemLabelColumn.d.ts +35 -0
- package/lib/dam/DataGrid/label/DamItemLabelColumn.d.ts.map +1 -0
- package/lib/dam/DataGrid/label/DamItemLabelColumn.js +140 -0
- package/lib/dam/DataGrid/selection/DamMoreActions.d.ts +13 -0
- package/lib/dam/DataGrid/selection/DamMoreActions.d.ts.map +1 -0
- package/lib/dam/DataGrid/selection/DamMoreActions.js +191 -0
- package/lib/dam/DataGrid/selection/DamSelectionContext.d.ts +30 -0
- package/lib/dam/DataGrid/selection/DamSelectionContext.d.ts.map +1 -0
- package/lib/dam/DataGrid/selection/DamSelectionContext.generated.d.ts +55 -0
- package/lib/dam/DataGrid/selection/DamSelectionContext.generated.d.ts.map +1 -0
- package/lib/dam/DataGrid/selection/DamSelectionContext.generated.js +11 -0
- package/lib/dam/DataGrid/selection/DamSelectionContext.js +405 -0
- package/lib/dam/DataGrid/tags/ArchivedTag.d.ts +2 -0
- package/lib/dam/DataGrid/tags/ArchivedTag.d.ts.map +1 -0
- package/lib/dam/DataGrid/tags/ArchivedTag.js +27 -0
- package/lib/dam/DataGrid/tags/LicenseValidityTags.d.ts +9 -0
- package/lib/dam/DataGrid/tags/LicenseValidityTags.d.ts.map +1 -0
- package/lib/dam/DataGrid/tags/LicenseValidityTags.js +47 -0
- package/lib/dam/DataGrid/tags/Tag.d.ts +4 -0
- package/lib/dam/DataGrid/tags/Tag.d.ts.map +1 -0
- package/lib/dam/DataGrid/tags/Tag.js +29 -0
- package/lib/dam/DataGrid/thumbnail/AudioThumbnail.d.ts +2 -0
- package/lib/dam/DataGrid/thumbnail/AudioThumbnail.d.ts.map +1 -0
- package/lib/dam/DataGrid/thumbnail/AudioThumbnail.js +26 -0
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.d.ts +13 -0
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.d.ts.map +1 -0
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.d.ts +2 -0
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.d.ts.map +1 -0
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.generated.d.ts +10 -0
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.generated.d.ts.map +1 -0
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.generated.js +5 -0
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.js +4 -0
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.js +140 -0
- package/lib/dam/DataGrid/thumbnail/VideoThumbnail.d.ts +2 -0
- package/lib/dam/DataGrid/thumbnail/VideoThumbnail.d.ts.map +1 -0
- package/lib/dam/DataGrid/thumbnail/VideoThumbnail.js +26 -0
- package/lib/dam/DataGrid/useDamSearchHighlighting.d.ts +16 -0
- package/lib/dam/DataGrid/useDamSearchHighlighting.d.ts.map +1 -0
- package/lib/dam/DataGrid/useDamSearchHighlighting.js +34 -0
- package/lib/dam/FileActions/ConfirmDeleteDialog.d.ts +9 -0
- package/lib/dam/FileActions/ConfirmDeleteDialog.d.ts.map +1 -0
- package/lib/dam/FileActions/ConfirmDeleteDialog.js +82 -0
- package/lib/dam/FileActions/ConfirmDeleteDialog.sc.d.ts +8 -0
- package/lib/dam/FileActions/ConfirmDeleteDialog.sc.d.ts.map +1 -0
- package/lib/dam/FileActions/ConfirmDeleteDialog.sc.js +77 -0
- package/lib/dam/FileForm/CropSettingsFields.d.ts +7 -0
- package/lib/dam/FileForm/CropSettingsFields.d.ts.map +1 -0
- package/lib/dam/FileForm/CropSettingsFields.js +124 -0
- package/lib/dam/FileForm/Duplicates.d.ts +5 -0
- package/lib/dam/FileForm/Duplicates.d.ts.map +1 -0
- package/lib/dam/FileForm/Duplicates.generated.d.ts +31 -0
- package/lib/dam/FileForm/Duplicates.generated.d.ts.map +1 -0
- package/lib/dam/FileForm/Duplicates.generated.js +5 -0
- package/lib/dam/FileForm/Duplicates.js +160 -0
- package/lib/dam/FileForm/EditFile.d.ts +30 -0
- package/lib/dam/FileForm/EditFile.d.ts.map +1 -0
- package/lib/dam/FileForm/EditFile.gql.d.ts +4 -0
- package/lib/dam/FileForm/EditFile.gql.d.ts.map +1 -0
- package/lib/dam/FileForm/EditFile.gql.generated.d.ts +185 -0
- package/lib/dam/FileForm/EditFile.gql.generated.d.ts.map +1 -0
- package/lib/dam/FileForm/EditFile.gql.generated.js +12 -0
- package/lib/dam/FileForm/EditFile.gql.js +7 -0
- package/lib/dam/FileForm/EditFile.js +345 -0
- package/lib/dam/FileForm/FilePreview.d.ts +7 -0
- package/lib/dam/FileForm/FilePreview.d.ts.map +1 -0
- package/lib/dam/FileForm/FilePreview.gql.d.ts +4 -0
- package/lib/dam/FileForm/FilePreview.gql.d.ts.map +1 -0
- package/lib/dam/FileForm/FilePreview.gql.generated.d.ts +38 -0
- package/lib/dam/FileForm/FilePreview.gql.generated.d.ts.map +1 -0
- package/lib/dam/FileForm/FilePreview.gql.generated.js +7 -0
- package/lib/dam/FileForm/FilePreview.gql.js +6 -0
- package/lib/dam/FileForm/FilePreview.js +198 -0
- package/lib/dam/FileForm/FileSettingsFields.d.ts +7 -0
- package/lib/dam/FileForm/FileSettingsFields.d.ts.map +1 -0
- package/lib/dam/FileForm/FileSettingsFields.generated.d.ts +16 -0
- package/lib/dam/FileForm/FileSettingsFields.generated.d.ts.map +1 -0
- package/lib/dam/FileForm/FileSettingsFields.generated.js +5 -0
- package/lib/dam/FileForm/FileSettingsFields.gql.d.ts +3 -0
- package/lib/dam/FileForm/FileSettingsFields.gql.d.ts.map +1 -0
- package/lib/dam/FileForm/FileSettingsFields.gql.generated.d.ts +24 -0
- package/lib/dam/FileForm/FileSettingsFields.gql.generated.d.ts.map +1 -0
- package/lib/dam/FileForm/FileSettingsFields.gql.generated.js +6 -0
- package/lib/dam/FileForm/FileSettingsFields.gql.js +5 -0
- package/lib/dam/FileForm/FileSettingsFields.js +423 -0
- package/lib/dam/FileForm/ImageInfos.d.ts +15 -0
- package/lib/dam/FileForm/ImageInfos.d.ts.map +1 -0
- package/lib/dam/FileForm/ImageInfos.js +136 -0
- package/lib/dam/FileForm/ReplaceFileButton.d.ts +7 -0
- package/lib/dam/FileForm/ReplaceFileButton.d.ts.map +1 -0
- package/lib/dam/FileForm/ReplaceFileButton.js +141 -0
- package/lib/dam/FileForm/licenseType.d.ts +8 -0
- package/lib/dam/FileForm/licenseType.d.ts.map +1 -0
- package/lib/dam/FileForm/licenseType.js +14 -0
- package/lib/dam/FileForm/previews/AudioPreview.d.ts +7 -0
- package/lib/dam/FileForm/previews/AudioPreview.d.ts.map +1 -0
- package/lib/dam/FileForm/previews/AudioPreview.js +77 -0
- package/lib/dam/FileForm/previews/DefaultFilePreview.d.ts +7 -0
- package/lib/dam/FileForm/previews/DefaultFilePreview.d.ts.map +1 -0
- package/lib/dam/FileForm/previews/DefaultFilePreview.js +44 -0
- package/lib/dam/FileForm/previews/ImagePreview.d.ts +8 -0
- package/lib/dam/FileForm/previews/ImagePreview.d.ts.map +1 -0
- package/lib/dam/FileForm/previews/ImagePreview.js +13 -0
- package/lib/dam/FileForm/previews/PdfPreview.d.ts +7 -0
- package/lib/dam/FileForm/previews/PdfPreview.d.ts.map +1 -0
- package/lib/dam/FileForm/previews/PdfPreview.js +37 -0
- package/lib/dam/FileForm/previews/VideoPreview.d.ts +8 -0
- package/lib/dam/FileForm/previews/VideoPreview.d.ts.map +1 -0
- package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts +28 -0
- package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts.map +1 -0
- package/lib/dam/FileForm/previews/VideoPreview.generated.js +5 -0
- package/lib/dam/FileForm/previews/VideoPreview.js +59 -0
- package/lib/dam/FolderForm/AddFolder.d.ts +6 -0
- package/lib/dam/FolderForm/AddFolder.d.ts.map +1 -0
- package/lib/dam/FolderForm/AddFolder.gql.d.ts +2 -0
- package/lib/dam/FolderForm/AddFolder.gql.d.ts.map +1 -0
- package/lib/dam/FolderForm/AddFolder.gql.generated.d.ts +20 -0
- package/lib/dam/FolderForm/AddFolder.gql.generated.d.ts.map +1 -0
- package/lib/dam/FolderForm/AddFolder.gql.generated.js +5 -0
- package/lib/dam/FolderForm/AddFolder.gql.js +4 -0
- package/lib/dam/FolderForm/AddFolder.js +60 -0
- package/lib/dam/FolderForm/EditFolder.d.ts +6 -0
- package/lib/dam/FolderForm/EditFolder.d.ts.map +1 -0
- package/lib/dam/FolderForm/EditFolder.gql.d.ts +3 -0
- package/lib/dam/FolderForm/EditFolder.gql.d.ts.map +1 -0
- package/lib/dam/FolderForm/EditFolder.gql.generated.d.ts +34 -0
- package/lib/dam/FolderForm/EditFolder.gql.generated.d.ts.map +1 -0
- package/lib/dam/FolderForm/EditFolder.gql.generated.js +8 -0
- package/lib/dam/FolderForm/EditFolder.gql.js +5 -0
- package/lib/dam/FolderForm/EditFolder.js +62 -0
- package/lib/dam/FolderForm/FolderFormFields.d.ts +5 -0
- package/lib/dam/FolderForm/FolderFormFields.d.ts.map +1 -0
- package/lib/dam/FolderForm/FolderFormFields.js +17 -0
- package/lib/dam/MoveDamItemDialog/ChooseFolder.d.ts +15 -0
- package/lib/dam/MoveDamItemDialog/ChooseFolder.d.ts.map +1 -0
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.d.ts +2 -0
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.d.ts.map +1 -0
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.generated.d.ts +23 -0
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.generated.d.ts.map +1 -0
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.generated.js +5 -0
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.js +4 -0
- package/lib/dam/MoveDamItemDialog/ChooseFolder.js +156 -0
- package/lib/dam/MoveDamItemDialog/MoveDamItemDialog.d.ts +21 -0
- package/lib/dam/MoveDamItemDialog/MoveDamItemDialog.d.ts.map +1 -0
- package/lib/dam/MoveDamItemDialog/MoveDamItemDialog.js +256 -0
- package/lib/dam/MoveDamItemDialog/useFolderTree.d.ts +29 -0
- package/lib/dam/MoveDamItemDialog/useFolderTree.d.ts.map +1 -0
- package/lib/dam/MoveDamItemDialog/useFolderTree.js +100 -0
- package/lib/dam/MoveDamItemDialog/useFolderTreeSearch.d.ts +25 -0
- package/lib/dam/MoveDamItemDialog/useFolderTreeSearch.d.ts.map +1 -0
- package/lib/dam/MoveDamItemDialog/useFolderTreeSearch.js +138 -0
- package/lib/dam/VideoPerformanceWarningAlert.d.ts +5 -0
- package/lib/dam/VideoPerformanceWarningAlert.d.ts.map +1 -0
- package/lib/dam/VideoPerformanceWarningAlert.js +23 -0
- package/lib/dam/blocks/DamFileDownloadLinkBlock.d.ts +4 -0
- package/lib/dam/blocks/DamFileDownloadLinkBlock.d.ts.map +1 -0
- package/lib/dam/blocks/DamFileDownloadLinkBlock.generated.d.ts +21 -0
- package/lib/dam/blocks/DamFileDownloadLinkBlock.generated.d.ts.map +1 -0
- package/lib/dam/blocks/DamFileDownloadLinkBlock.generated.js +5 -0
- package/lib/dam/blocks/DamFileDownloadLinkBlock.js +178 -0
- package/lib/dam/blocks/DamImageBlock.d.ts +4 -0
- package/lib/dam/blocks/DamImageBlock.d.ts.map +1 -0
- package/lib/dam/blocks/DamImageBlock.js +106 -0
- package/lib/dam/config/DamScopeContext.d.ts +2 -0
- package/lib/dam/config/DamScopeContext.d.ts.map +1 -0
- package/lib/dam/config/DamScopeContext.js +2 -0
- package/lib/dam/config/DamScopeProvider.d.ts +5 -0
- package/lib/dam/config/DamScopeProvider.d.ts.map +1 -0
- package/lib/dam/config/DamScopeProvider.js +22 -0
- package/lib/dam/config/damConfig.d.ts +33 -0
- package/lib/dam/config/damConfig.d.ts.map +1 -0
- package/lib/dam/config/damConfig.js +29 -0
- package/lib/dam/config/damDefaultAcceptedMimeTypes.d.ts +2 -0
- package/lib/dam/config/damDefaultAcceptedMimeTypes.d.ts.map +1 -0
- package/lib/dam/config/damDefaultAcceptedMimeTypes.js +26 -0
- package/lib/dam/config/useDamAcceptedMimeTypes.d.ts +15 -0
- package/lib/dam/config/useDamAcceptedMimeTypes.d.ts.map +1 -0
- package/lib/dam/config/useDamAcceptedMimeTypes.js +40 -0
- package/lib/dam/config/useDamScope.d.ts +3 -0
- package/lib/dam/config/useDamScope.d.ts.map +1 -0
- package/lib/dam/config/useDamScope.js +6 -0
- package/lib/dam/dependencies/createDamFileDependency.d.ts +4 -0
- package/lib/dam/dependencies/createDamFileDependency.d.ts.map +1 -0
- package/lib/dam/dependencies/createDamFileDependency.generated.d.ts +25 -0
- package/lib/dam/dependencies/createDamFileDependency.generated.d.ts.map +1 -0
- package/lib/dam/dependencies/createDamFileDependency.generated.js +5 -0
- package/lib/dam/dependencies/createDamFileDependency.js +65 -0
- package/lib/dam/helpers/clearDamItemCache.d.ts +3 -0
- package/lib/dam/helpers/clearDamItemCache.d.ts.map +1 -0
- package/lib/dam/helpers/clearDamItemCache.js +6 -0
- package/lib/dam/helpers/isFile.d.ts +3 -0
- package/lib/dam/helpers/isFile.d.ts.map +1 -0
- package/lib/dam/helpers/isFile.js +3 -0
- package/lib/dam/helpers/isFolder.d.ts +3 -0
- package/lib/dam/helpers/isFolder.d.ts.map +1 -0
- package/lib/dam/helpers/isFolder.js +3 -0
- package/lib/dam/helpers/slugifyFilename.d.ts +2 -0
- package/lib/dam/helpers/slugifyFilename.d.ts.map +1 -0
- package/lib/dam/helpers/slugifyFilename.js +5 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts +14 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts +57 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.js +9 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.js +147 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts +14 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts +72 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.js +11 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.js +201 -0
- package/lib/dashboard/DashboardHeader.d.ts +11 -0
- package/lib/dashboard/DashboardHeader.d.ts.map +1 -0
- package/lib/dashboard/DashboardHeader.js +58 -0
- package/lib/dashboard/DateTime.d.ts +2 -0
- package/lib/dashboard/DateTime.d.ts.map +1 -0
- package/lib/dashboard/DateTime.js +74 -0
- package/lib/dashboard/DefaultGreeting.d.ts +2 -0
- package/lib/dashboard/DefaultGreeting.d.ts.map +1 -0
- package/lib/dashboard/DefaultGreeting.js +13 -0
- package/lib/dashboard/widgets/DashboardWidgetRoot.d.ts +7 -0
- package/lib/dashboard/widgets/DashboardWidgetRoot.d.ts.map +1 -0
- package/lib/dashboard/widgets/DashboardWidgetRoot.js +29 -0
- package/lib/dashboard/widgets/LatestBuildsDashboardWidget.d.ts +2 -0
- package/lib/dashboard/widgets/LatestBuildsDashboardWidget.d.ts.map +1 -0
- package/lib/dashboard/widgets/LatestBuildsDashboardWidget.generated.d.ts +22 -0
- package/lib/dashboard/widgets/LatestBuildsDashboardWidget.generated.d.ts.map +1 -0
- package/lib/dashboard/widgets/LatestBuildsDashboardWidget.generated.js +5 -0
- package/lib/dashboard/widgets/LatestBuildsDashboardWidget.js +76 -0
- package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.d.ts +14 -0
- package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.d.ts.map +1 -0
- package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.js +75 -0
- package/lib/dataGrid/DataGrid.d.ts +3 -0
- package/lib/dataGrid/DataGrid.d.ts.map +1 -0
- package/lib/dataGrid/DataGrid.js +19 -0
- package/lib/dependencies/DependenciesList.d.ts +30 -0
- package/lib/dependencies/DependenciesList.d.ts.map +1 -0
- package/lib/dependencies/DependenciesList.js +285 -0
- package/lib/dependencies/DependentsList.d.ts +30 -0
- package/lib/dependencies/DependentsList.d.ts.map +1 -0
- package/lib/dependencies/DependentsList.js +285 -0
- package/lib/dependencies/createDependencyMethods.d.ts +22 -0
- package/lib/dependencies/createDependencyMethods.d.ts.map +1 -0
- package/lib/dependencies/createDependencyMethods.js +67 -0
- package/lib/dependencies/createDocumentDependencyMethods.d.ts +19 -0
- package/lib/dependencies/createDocumentDependencyMethods.d.ts.map +1 -0
- package/lib/dependencies/createDocumentDependencyMethods.js +79 -0
- package/lib/dependencies/dependenciesConfig.d.ts +10 -0
- package/lib/dependencies/dependenciesConfig.d.ts.map +1 -0
- package/lib/dependencies/dependenciesConfig.js +10 -0
- package/lib/dependencies/getDisplayNameString.d.ts +4 -0
- package/lib/dependencies/getDisplayNameString.d.ts.map +1 -0
- package/lib/dependencies/getDisplayNameString.js +14 -0
- package/lib/dependencies/types.d.ts +12 -0
- package/lib/dependencies/types.d.ts.map +1 -0
- package/lib/dependencies/types.js +1 -0
- package/lib/documents/ContentGenerationConfigContext.d.ts +9 -0
- package/lib/documents/ContentGenerationConfigContext.d.ts.map +1 -0
- package/lib/documents/ContentGenerationConfigContext.js +17 -0
- package/lib/documents/createDocumentRootBlocksMethods.d.ts +4 -0
- package/lib/documents/createDocumentRootBlocksMethods.d.ts.map +1 -0
- package/lib/documents/createDocumentRootBlocksMethods.js +54 -0
- package/lib/documents/types.d.ts +53 -0
- package/lib/documents/types.d.ts.map +1 -0
- package/lib/documents/types.js +1 -0
- package/lib/form/SyncFields.d.ts +8 -0
- package/lib/form/SyncFields.d.ts.map +1 -0
- package/lib/form/SyncFields.js +24 -0
- package/lib/form/file/DamPathLazy.d.ts +6 -0
- package/lib/form/file/DamPathLazy.d.ts.map +1 -0
- package/lib/form/file/DamPathLazy.generated.d.ts +17 -0
- package/lib/form/file/DamPathLazy.generated.d.ts.map +1 -0
- package/lib/form/file/DamPathLazy.generated.js +5 -0
- package/lib/form/file/DamPathLazy.js +22 -0
- package/lib/form/file/FileField.d.ts +21 -0
- package/lib/form/file/FileField.d.ts.map +1 -0
- package/lib/form/file/FileField.gql.d.ts +4 -0
- package/lib/form/file/FileField.gql.d.ts.map +1 -0
- package/lib/form/file/FileField.gql.generated.d.ts +106 -0
- package/lib/form/file/FileField.gql.generated.d.ts.map +1 -0
- package/lib/form/file/FileField.gql.generated.js +9 -0
- package/lib/form/file/FileField.gql.js +8 -0
- package/lib/form/file/FileField.js +291 -0
- package/lib/form/file/FileFieldMenu.d.ts +17 -0
- package/lib/form/file/FileFieldMenu.d.ts.map +1 -0
- package/lib/form/file/FileFieldMenu.js +91 -0
- package/lib/form/file/FileFieldRow.d.ts +12 -0
- package/lib/form/file/FileFieldRow.d.ts.map +1 -0
- package/lib/form/file/FileFieldRow.js +96 -0
- package/lib/form/file/FileUploadField.d.ts +9 -0
- package/lib/form/file/FileUploadField.d.ts.map +1 -0
- package/lib/form/file/FileUploadField.js +20 -0
- package/lib/form/file/FinalFormFileUpload.d.ts +28 -0
- package/lib/form/file/FinalFormFileUpload.d.ts.map +1 -0
- package/lib/form/file/FinalFormFileUpload.generated.d.ts +21 -0
- package/lib/form/file/FinalFormFileUpload.generated.d.ts.map +1 -0
- package/lib/form/file/FinalFormFileUpload.generated.js +6 -0
- package/lib/form/file/FinalFormFileUpload.js +256 -0
- package/lib/form/file/chooseFile/BaseChooseDamFileDialog.d.ts +20 -0
- package/lib/form/file/chooseFile/BaseChooseDamFileDialog.d.ts.map +1 -0
- package/lib/form/file/chooseFile/BaseChooseDamFileDialog.js +106 -0
- package/lib/form/file/chooseFile/ChooseDamFileDialog.d.ts +10 -0
- package/lib/form/file/chooseFile/ChooseDamFileDialog.d.ts.map +1 -0
- package/lib/form/file/chooseFile/ChooseDamFileDialog.js +63 -0
- package/lib/form/file/chooseFile/ChooseDamFilesDialog.d.ts +9 -0
- package/lib/form/file/chooseFile/ChooseDamFilesDialog.d.ts.map +1 -0
- package/lib/form/file/chooseFile/ChooseDamFilesDialog.js +117 -0
- package/lib/form/file/chooseFile/RedirectToPersistedDamLocation.d.ts +6 -0
- package/lib/form/file/chooseFile/RedirectToPersistedDamLocation.d.ts.map +1 -0
- package/lib/form/file/chooseFile/RedirectToPersistedDamLocation.js +36 -0
- package/lib/form/file/upload.d.ts +44 -0
- package/lib/form/file/upload.d.ts.map +1 -0
- package/lib/form/file/upload.js +120 -0
- package/lib/form/queryUpdatedAt.d.ts +3 -0
- package/lib/form/queryUpdatedAt.d.ts.map +1 -0
- package/lib/form/queryUpdatedAt.js +41 -0
- package/lib/form/serializeInitialValues.d.ts +2 -0
- package/lib/form/serializeInitialValues.d.ts.map +1 -0
- package/lib/form/serializeInitialValues.js +4 -0
- package/lib/form/useFormSaveConflict.d.ts +10 -0
- package/lib/form/useFormSaveConflict.d.ts.map +1 -0
- package/lib/form/useFormSaveConflict.js +58 -0
- package/lib/fullTextSearch/SearchHeaderItem.d.ts +2 -0
- package/lib/fullTextSearch/SearchHeaderItem.d.ts.map +1 -0
- package/lib/fullTextSearch/SearchHeaderItem.generated.d.ts +25 -0
- package/lib/fullTextSearch/SearchHeaderItem.generated.d.ts.map +1 -0
- package/lib/fullTextSearch/SearchHeaderItem.generated.js +5 -0
- package/lib/fullTextSearch/SearchHeaderItem.js +175 -0
- package/lib/graphql.generated.d.ts +1166 -0
- package/lib/graphql.generated.d.ts.map +1 -0
- package/lib/graphql.generated.js +1 -0
- package/lib/index.d.ts +188 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +155 -0
- package/lib/pages/LocalPageTreeNodeDocumentAnchors.d.ts +9 -0
- package/lib/pages/LocalPageTreeNodeDocumentAnchors.d.ts.map +1 -0
- package/lib/pages/LocalPageTreeNodeDocumentAnchors.js +15 -0
- package/lib/pages/SaveConflictDialog.d.ts +8 -0
- package/lib/pages/SaveConflictDialog.d.ts.map +1 -0
- package/lib/pages/SaveConflictDialog.js +177 -0
- package/lib/pages/config/usePageTreeScope.d.ts +3 -0
- package/lib/pages/config/usePageTreeScope.d.ts.map +1 -0
- package/lib/pages/config/usePageTreeScope.js +18 -0
- package/lib/pages/createEditPageNode.d.ts +25 -0
- package/lib/pages/createEditPageNode.d.ts.map +1 -0
- package/lib/pages/createEditPageNode.generated.d.ts +96 -0
- package/lib/pages/createEditPageNode.generated.d.ts.map +1 -0
- package/lib/pages/createEditPageNode.generated.js +12 -0
- package/lib/pages/createEditPageNode.js +512 -0
- package/lib/pages/createUsePage.d.ts +82 -0
- package/lib/pages/createUsePage.d.ts.map +1 -0
- package/lib/pages/createUsePage.generated.d.ts +30 -0
- package/lib/pages/createUsePage.generated.d.ts.map +1 -0
- package/lib/pages/createUsePage.generated.js +8 -0
- package/lib/pages/createUsePage.js +545 -0
- package/lib/pages/pageSearch/PageSearch.d.ts +9 -0
- package/lib/pages/pageSearch/PageSearch.d.ts.map +1 -0
- package/lib/pages/pageSearch/PageSearch.js +15 -0
- package/lib/pages/pageSearch/usePageSearch.d.ts +31 -0
- package/lib/pages/pageSearch/usePageSearch.d.ts.map +1 -0
- package/lib/pages/pageSearch/usePageSearch.generated.d.ts +12 -0
- package/lib/pages/pageSearch/usePageSearch.generated.d.ts.map +1 -0
- package/lib/pages/pageSearch/usePageSearch.generated.js +5 -0
- package/lib/pages/pageSearch/usePageSearch.js +221 -0
- package/lib/pages/pageTree/CopyPasteMenuItem.d.ts +7 -0
- package/lib/pages/pageTree/CopyPasteMenuItem.d.ts.map +1 -0
- package/lib/pages/pageTree/CopyPasteMenuItem.js +77 -0
- package/lib/pages/pageTree/MovePageMenuItem.d.ts +7 -0
- package/lib/pages/pageTree/MovePageMenuItem.d.ts.map +1 -0
- package/lib/pages/pageTree/MovePageMenuItem.generated.d.ts +19 -0
- package/lib/pages/pageTree/MovePageMenuItem.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/MovePageMenuItem.generated.js +5 -0
- package/lib/pages/pageTree/MovePageMenuItem.js +105 -0
- package/lib/pages/pageTree/Page.d.ts +3 -0
- package/lib/pages/pageTree/Page.d.ts.map +1 -0
- package/lib/pages/pageTree/Page.generated.d.ts +14 -0
- package/lib/pages/pageTree/Page.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/Page.generated.js +5 -0
- package/lib/pages/pageTree/Page.js +4 -0
- package/lib/pages/pageTree/PageActions.d.ts +11 -0
- package/lib/pages/pageTree/PageActions.d.ts.map +1 -0
- package/lib/pages/pageTree/PageActions.js +192 -0
- package/lib/pages/pageTree/PageDeleteDialog.d.ts +10 -0
- package/lib/pages/pageTree/PageDeleteDialog.d.ts.map +1 -0
- package/lib/pages/pageTree/PageDeleteDialog.js +165 -0
- package/lib/pages/pageTree/PageDeleteDialog.sc.d.ts +6 -0
- package/lib/pages/pageTree/PageDeleteDialog.sc.d.ts.map +1 -0
- package/lib/pages/pageTree/PageDeleteDialog.sc.js +57 -0
- package/lib/pages/pageTree/PageInfo.d.ts +9 -0
- package/lib/pages/pageTree/PageInfo.d.ts.map +1 -0
- package/lib/pages/pageTree/PageInfo.js +65 -0
- package/lib/pages/pageTree/PageLabel.d.ts +10 -0
- package/lib/pages/pageTree/PageLabel.d.ts.map +1 -0
- package/lib/pages/pageTree/PageLabel.js +113 -0
- package/lib/pages/pageTree/PageTree.d.ts +17 -0
- package/lib/pages/pageTree/PageTree.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTree.generated.d.ts +76 -0
- package/lib/pages/pageTree/PageTree.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTree.generated.js +13 -0
- package/lib/pages/pageTree/PageTree.js +478 -0
- package/lib/pages/pageTree/PageTreeContext.d.ts +17 -0
- package/lib/pages/pageTree/PageTreeContext.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTreeContext.js +2 -0
- package/lib/pages/pageTree/PageTreeDragLayer.d.ts +6 -0
- package/lib/pages/pageTree/PageTreeDragLayer.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTreeDragLayer.js +56 -0
- package/lib/pages/pageTree/PageTreeDragLayer.sc.d.ts +3 -0
- package/lib/pages/pageTree/PageTreeDragLayer.sc.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTreeDragLayer.sc.js +28 -0
- package/lib/pages/pageTree/PageTreeRow.d.ts +26 -0
- package/lib/pages/pageTree/PageTreeRow.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTreeRow.js +275 -0
- package/lib/pages/pageTree/PageTreeRow.sc.d.ts +7 -0
- package/lib/pages/pageTree/PageTreeRow.sc.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTreeRow.sc.js +94 -0
- package/lib/pages/pageTree/PageTreeRowDivider.d.ts +8 -0
- package/lib/pages/pageTree/PageTreeRowDivider.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTreeRowDivider.js +70 -0
- package/lib/pages/pageTree/PageTreeService.d.ts +43 -0
- package/lib/pages/pageTree/PageTreeService.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTreeService.js +388 -0
- package/lib/pages/pageTree/PageTypeIcon.d.ts +9 -0
- package/lib/pages/pageTree/PageTypeIcon.d.ts.map +1 -0
- package/lib/pages/pageTree/PageTypeIcon.js +30 -0
- package/lib/pages/pageTree/PageVisibility.d.ts +8 -0
- package/lib/pages/pageTree/PageVisibility.d.ts.map +1 -0
- package/lib/pages/pageTree/PageVisibility.generated.d.ts +21 -0
- package/lib/pages/pageTree/PageVisibility.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/PageVisibility.generated.js +5 -0
- package/lib/pages/pageTree/PageVisibility.js +149 -0
- package/lib/pages/pageTree/PageVisibilityIcon.d.ts +9 -0
- package/lib/pages/pageTree/PageVisibilityIcon.d.ts.map +1 -0
- package/lib/pages/pageTree/PageVisibilityIcon.js +21 -0
- package/lib/pages/pageTree/common/PageTreeTableRow.d.ts +15 -0
- package/lib/pages/pageTree/common/PageTreeTableRow.d.ts.map +1 -0
- package/lib/pages/pageTree/common/PageTreeTableRow.js +94 -0
- package/lib/pages/pageTree/findAvailableSlug.d.ts +11 -0
- package/lib/pages/pageTree/findAvailableSlug.d.ts.map +1 -0
- package/lib/pages/pageTree/findAvailableSlug.generated.d.ts +16 -0
- package/lib/pages/pageTree/findAvailableSlug.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/findAvailableSlug.generated.js +5 -0
- package/lib/pages/pageTree/findAvailableSlug.js +62 -0
- package/lib/pages/pageTree/transformToSlug.d.ts +2 -0
- package/lib/pages/pageTree/transformToSlug.d.ts.map +1 -0
- package/lib/pages/pageTree/transformToSlug.js +12 -0
- package/lib/pages/pageTree/treemap/TreeMapUtils.d.ts +95 -0
- package/lib/pages/pageTree/treemap/TreeMapUtils.d.ts.map +1 -0
- package/lib/pages/pageTree/treemap/TreeMapUtils.js +236 -0
- package/lib/pages/pageTree/useButtonHoverStates.d.ts +11 -0
- package/lib/pages/pageTree/useButtonHoverStates.d.ts.map +1 -0
- package/lib/pages/pageTree/useButtonHoverStates.js +39 -0
- package/lib/pages/pageTree/useCopyPastePages/createInboxFolder.d.ts +10 -0
- package/lib/pages/pageTree/useCopyPastePages/createInboxFolder.d.ts.map +1 -0
- package/lib/pages/pageTree/useCopyPastePages/createInboxFolder.generated.d.ts +18 -0
- package/lib/pages/pageTree/useCopyPastePages/createInboxFolder.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/useCopyPastePages/createInboxFolder.generated.js +5 -0
- package/lib/pages/pageTree/useCopyPastePages/createInboxFolder.js +44 -0
- package/lib/pages/pageTree/useCopyPastePages/sendPages.d.ts +40 -0
- package/lib/pages/pageTree/useCopyPastePages/sendPages.d.ts.map +1 -0
- package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.d.ts +56 -0
- package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.js +9 -0
- package/lib/pages/pageTree/useCopyPastePages/sendPages.js +605 -0
- package/lib/pages/pageTree/useCopyPastePages.d.ts +52 -0
- package/lib/pages/pageTree/useCopyPastePages.d.ts.map +1 -0
- package/lib/pages/pageTree/useCopyPastePages.js +269 -0
- package/lib/pages/pageTree/useDndWindowScroll/ScrollManager.d.ts +13 -0
- package/lib/pages/pageTree/useDndWindowScroll/ScrollManager.d.ts.map +1 -0
- package/lib/pages/pageTree/useDndWindowScroll/ScrollManager.js +54 -0
- package/lib/pages/pageTree/useDndWindowScroll/useAnimationFrame.d.ts +2 -0
- package/lib/pages/pageTree/useDndWindowScroll/useAnimationFrame.d.ts.map +1 -0
- package/lib/pages/pageTree/useDndWindowScroll/useAnimationFrame.js +26 -0
- package/lib/pages/pageTree/useDndWindowScroll/useDndWindowScroll.d.ts +9 -0
- package/lib/pages/pageTree/useDndWindowScroll/useDndWindowScroll.d.ts.map +1 -0
- package/lib/pages/pageTree/useDndWindowScroll/useDndWindowScroll.js +51 -0
- package/lib/pages/pageTree/usePageTree.d.ts +34 -0
- package/lib/pages/pageTree/usePageTree.d.ts.map +1 -0
- package/lib/pages/pageTree/usePageTree.generated.d.ts +20 -0
- package/lib/pages/pageTree/usePageTree.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/usePageTree.generated.js +5 -0
- package/lib/pages/pageTree/usePageTree.js +177 -0
- package/lib/pages/pageTree/usePageTreeContext.d.ts +3 -0
- package/lib/pages/pageTree/usePageTreeContext.d.ts.map +1 -0
- package/lib/pages/pageTree/usePageTreeContext.js +9 -0
- package/lib/pages/pageTree/useProgressDialog.d.ts +11 -0
- package/lib/pages/pageTree/useProgressDialog.d.ts.map +1 -0
- package/lib/pages/pageTree/useProgressDialog.js +103 -0
- package/lib/pages/pageTree/useTranslatePagesAction.d.ts +16 -0
- package/lib/pages/pageTree/useTranslatePagesAction.d.ts.map +1 -0
- package/lib/pages/pageTree/useTranslatePagesAction.generated.d.ts +20 -0
- package/lib/pages/pageTree/useTranslatePagesAction.generated.d.ts.map +1 -0
- package/lib/pages/pageTree/useTranslatePagesAction.generated.js +5 -0
- package/lib/pages/pageTree/useTranslatePagesAction.js +339 -0
- package/lib/pages/pageTreeConfig.d.ts +19 -0
- package/lib/pages/pageTreeConfig.d.ts.map +1 -0
- package/lib/pages/pageTreeConfig.js +8 -0
- package/lib/pages/pageTreeSelect/FinalFormPageTreeSelect.d.ts +7 -0
- package/lib/pages/pageTreeSelect/FinalFormPageTreeSelect.d.ts.map +1 -0
- package/lib/pages/pageTreeSelect/FinalFormPageTreeSelect.js +9 -0
- package/lib/pages/pageTreeSelect/PageTreeSelect.d.ts +8 -0
- package/lib/pages/pageTreeSelect/PageTreeSelect.d.ts.map +1 -0
- package/lib/pages/pageTreeSelect/PageTreeSelect.generated.d.ts +17 -0
- package/lib/pages/pageTreeSelect/PageTreeSelect.generated.d.ts.map +1 -0
- package/lib/pages/pageTreeSelect/PageTreeSelect.generated.js +5 -0
- package/lib/pages/pageTreeSelect/PageTreeSelect.js +72 -0
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts +18 -0
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts.map +1 -0
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.generated.d.ts +13 -0
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.generated.d.ts.map +1 -0
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.generated.js +5 -0
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.js +389 -0
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.sc.d.ts +5 -0
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.sc.d.ts.map +1 -0
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.sc.js +55 -0
- package/lib/pages/pagesPage/ConfirmPageActionDialog.d.ts +10 -0
- package/lib/pages/pagesPage/ConfirmPageActionDialog.d.ts.map +1 -0
- package/lib/pages/pagesPage/ConfirmPageActionDialog.js +100 -0
- package/lib/pages/pagesPage/PageCanNotDeleteDialog.d.ts +7 -0
- package/lib/pages/pagesPage/PageCanNotDeleteDialog.d.ts.map +1 -0
- package/lib/pages/pagesPage/PageCanNotDeleteDialog.js +37 -0
- package/lib/pages/pagesPage/PagesPage.d.ts +14 -0
- package/lib/pages/pagesPage/PagesPage.d.ts.map +1 -0
- package/lib/pages/pagesPage/PagesPage.js +322 -0
- package/lib/pages/pagesPage/PagesPageActionToolbar.d.ts +13 -0
- package/lib/pages/pagesPage/PagesPageActionToolbar.d.ts.map +1 -0
- package/lib/pages/pagesPage/PagesPageActionToolbar.js +505 -0
- package/lib/pages/pagesPage/PagesPageActionToolbar.sc.d.ts +9 -0
- package/lib/pages/pagesPage/PagesPageActionToolbar.sc.d.ts.map +1 -0
- package/lib/pages/pagesPage/PagesPageActionToolbar.sc.js +50 -0
- package/lib/pages/pagesPage/PagesPageActionToolbarBatchUpdateHelper.d.ts +6 -0
- package/lib/pages/pagesPage/PagesPageActionToolbarBatchUpdateHelper.d.ts.map +1 -0
- package/lib/pages/pagesPage/PagesPageActionToolbarBatchUpdateHelper.js +83 -0
- package/lib/pages/pagesPage/areAllSubTreesFullSelected.d.ts +3 -0
- package/lib/pages/pagesPage/areAllSubTreesFullSelected.d.ts.map +1 -0
- package/lib/pages/pagesPage/areAllSubTreesFullSelected.js +16 -0
- package/lib/pages/pagesPage/createPagesQuery.d.ts +11 -0
- package/lib/pages/pagesPage/createPagesQuery.d.ts.map +1 -0
- package/lib/pages/pagesPage/createPagesQuery.generated.d.ts +27 -0
- package/lib/pages/pagesPage/createPagesQuery.generated.d.ts.map +1 -0
- package/lib/pages/pagesPage/createPagesQuery.generated.js +5 -0
- package/lib/pages/pagesPage/createPagesQuery.js +11 -0
- package/lib/pages/resolveHasSaveConflict.d.ts +2 -0
- package/lib/pages/resolveHasSaveConflict.d.ts.map +1 -0
- package/lib/pages/resolveHasSaveConflict.js +9 -0
- package/lib/pages/usePageTreeDocumentAnchors.d.ts +6 -0
- package/lib/pages/usePageTreeDocumentAnchors.d.ts.map +1 -0
- package/lib/pages/usePageTreeDocumentAnchors.generated.d.ts +17 -0
- package/lib/pages/usePageTreeDocumentAnchors.generated.d.ts.map +1 -0
- package/lib/pages/usePageTreeDocumentAnchors.generated.js +5 -0
- package/lib/pages/usePageTreeDocumentAnchors.js +41 -0
- package/lib/pages/useSaveConflict.d.ts +15 -0
- package/lib/pages/useSaveConflict.d.ts.map +1 -0
- package/lib/pages/useSaveConflict.js +149 -0
- package/lib/pages/useSaveConflictQuery.d.ts +14 -0
- package/lib/pages/useSaveConflictQuery.d.ts.map +1 -0
- package/lib/pages/useSaveConflictQuery.js +70 -0
- package/lib/preview/block/BlockPreview.d.ts +9 -0
- package/lib/preview/block/BlockPreview.d.ts.map +1 -0
- package/lib/preview/block/BlockPreview.generated.d.ts +16 -0
- package/lib/preview/block/BlockPreview.generated.d.ts.map +1 -0
- package/lib/preview/block/BlockPreview.generated.js +5 -0
- package/lib/preview/block/BlockPreview.js +119 -0
- package/lib/preview/block/BlockPreviewWithTabs.d.ts +11 -0
- package/lib/preview/block/BlockPreviewWithTabs.d.ts.map +1 -0
- package/lib/preview/block/BlockPreviewWithTabs.js +38 -0
- package/lib/preview/block/SplitPreview.d.ts +11 -0
- package/lib/preview/block/SplitPreview.d.ts.map +1 -0
- package/lib/preview/block/SplitPreview.js +77 -0
- package/lib/preview/block/SplitPreview.sc.d.ts +18 -0
- package/lib/preview/block/SplitPreview.sc.d.ts.map +1 -0
- package/lib/preview/block/SplitPreview.sc.js +89 -0
- package/lib/preview/block/useBlockPreview.d.ts +13 -0
- package/lib/preview/block/useBlockPreview.d.ts.map +1 -0
- package/lib/preview/block/useBlockPreview.js +31 -0
- package/lib/preview/common/Device.d.ts +8 -0
- package/lib/preview/common/Device.d.ts.map +1 -0
- package/lib/preview/common/Device.js +10 -0
- package/lib/preview/common/DeviceToggle.d.ts +8 -0
- package/lib/preview/common/DeviceToggle.d.ts.map +1 -0
- package/lib/preview/common/DeviceToggle.js +50 -0
- package/lib/preview/common/IFrameViewer.d.ts +8 -0
- package/lib/preview/common/IFrameViewer.d.ts.map +1 -0
- package/lib/preview/common/IFrameViewer.js +127 -0
- package/lib/preview/common/ToggleButton.d.ts +3 -0
- package/lib/preview/common/ToggleButton.d.ts.map +1 -0
- package/lib/preview/common/ToggleButton.js +18 -0
- package/lib/preview/common/VisibilityToggle.d.ts +7 -0
- package/lib/preview/common/VisibilityToggle.d.ts.map +1 -0
- package/lib/preview/common/VisibilityToggle.js +23 -0
- package/lib/preview/openSitePreviewWindow.d.ts +7 -0
- package/lib/preview/openSitePreviewWindow.d.ts.map +1 -0
- package/lib/preview/openSitePreviewWindow.js +13 -0
- package/lib/preview/site/OpenLinkDialog.d.ts +9 -0
- package/lib/preview/site/OpenLinkDialog.d.ts.map +1 -0
- package/lib/preview/site/OpenLinkDialog.js +86 -0
- package/lib/preview/site/SitePreview.d.ts +10 -0
- package/lib/preview/site/SitePreview.d.ts.map +1 -0
- package/lib/preview/site/SitePreview.generated.d.ts +16 -0
- package/lib/preview/site/SitePreview.generated.d.ts.map +1 -0
- package/lib/preview/site/SitePreview.generated.js +5 -0
- package/lib/preview/site/SitePreview.js +217 -0
- package/lib/preview/site/SitePreview.sc.d.ts +7 -0
- package/lib/preview/site/SitePreview.sc.d.ts.map +1 -0
- package/lib/preview/site/SitePreview.sc.js +69 -0
- package/lib/preview/site/iframebridge/SitePreviewIFrameMessage.d.ts +18 -0
- package/lib/preview/site/iframebridge/SitePreviewIFrameMessage.d.ts.map +1 -0
- package/lib/preview/site/iframebridge/SitePreviewIFrameMessage.js +9 -0
- package/lib/preview/site/iframebridge/useSitePreviewIFrameBridge.d.ts +3 -0
- package/lib/preview/site/iframebridge/useSitePreviewIFrameBridge.d.ts.map +1 -0
- package/lib/preview/site/iframebridge/useSitePreviewIFrameBridge.js +22 -0
- package/lib/redirects/RedirectActiveness.d.ts +9 -0
- package/lib/redirects/RedirectActiveness.d.ts.map +1 -0
- package/lib/redirects/RedirectActiveness.generated.d.ts +28 -0
- package/lib/redirects/RedirectActiveness.generated.d.ts.map +1 -0
- package/lib/redirects/RedirectActiveness.generated.js +8 -0
- package/lib/redirects/RedirectActiveness.js +100 -0
- package/lib/redirects/RedirectForm.d.ts +20 -0
- package/lib/redirects/RedirectForm.d.ts.map +1 -0
- package/lib/redirects/RedirectForm.generated.d.ts +15 -0
- package/lib/redirects/RedirectForm.generated.d.ts.map +1 -0
- package/lib/redirects/RedirectForm.generated.js +5 -0
- package/lib/redirects/RedirectForm.gql.d.ts +4 -0
- package/lib/redirects/RedirectForm.gql.d.ts.map +1 -0
- package/lib/redirects/RedirectForm.gql.generated.d.ts +75 -0
- package/lib/redirects/RedirectForm.gql.generated.d.ts.map +1 -0
- package/lib/redirects/RedirectForm.gql.generated.js +12 -0
- package/lib/redirects/RedirectForm.gql.js +7 -0
- package/lib/redirects/RedirectForm.js +313 -0
- package/lib/redirects/RedirectsGrid.d.ts +9 -0
- package/lib/redirects/RedirectsGrid.d.ts.map +1 -0
- package/lib/redirects/RedirectsGrid.gql.d.ts +4 -0
- package/lib/redirects/RedirectsGrid.gql.d.ts.map +1 -0
- package/lib/redirects/RedirectsGrid.gql.generated.d.ts +65 -0
- package/lib/redirects/RedirectsGrid.gql.generated.d.ts.map +1 -0
- package/lib/redirects/RedirectsGrid.gql.generated.js +12 -0
- package/lib/redirects/RedirectsGrid.gql.js +11 -0
- package/lib/redirects/RedirectsGrid.js +313 -0
- package/lib/redirects/createRedirectsPage.d.ts +12 -0
- package/lib/redirects/createRedirectsPage.d.ts.map +1 -0
- package/lib/redirects/createRedirectsPage.js +137 -0
- package/lib/redirects/redirectsConfig.d.ts +7 -0
- package/lib/redirects/redirectsConfig.d.ts.map +1 -0
- package/lib/redirects/redirectsConfig.js +20 -0
- package/lib/redirects/submitMutation.d.ts +9 -0
- package/lib/redirects/submitMutation.d.ts.map +1 -0
- package/lib/redirects/submitMutation.js +53 -0
- package/lib/siteConfigs/siteConfigsConfig.d.ts +12 -0
- package/lib/siteConfigs/siteConfigsConfig.d.ts.map +1 -0
- package/lib/siteConfigs/siteConfigsConfig.js +1 -0
- package/lib/siteConfigs/useSiteConfig.d.ts +6 -0
- package/lib/siteConfigs/useSiteConfig.d.ts.map +1 -0
- package/lib/siteConfigs/useSiteConfig.js +17 -0
- package/lib/siteConfigs/useSiteConfigs.d.ts +3 -0
- package/lib/siteConfigs/useSiteConfigs.d.ts.map +1 -0
- package/lib/siteConfigs/useSiteConfigs.js +8 -0
- package/lib/storybook.d.js +1 -0
- package/lib/testing/test-utils.d.ts +6 -0
- package/lib/testing/test-utils.d.ts.map +1 -0
- package/lib/testing/test-utils.js +34 -0
- package/lib/translation/AzureAiTranslatorProvider.d.ts +8 -0
- package/lib/translation/AzureAiTranslatorProvider.d.ts.map +1 -0
- package/lib/translation/AzureAiTranslatorProvider.generated.d.ts +22 -0
- package/lib/translation/AzureAiTranslatorProvider.generated.d.ts.map +1 -0
- package/lib/translation/AzureAiTranslatorProvider.generated.js +6 -0
- package/lib/translation/AzureAiTranslatorProvider.js +91 -0
- package/lib/translation/TranslatableInterface.d.ts +4 -0
- package/lib/translation/TranslatableInterface.d.ts.map +1 -0
- package/lib/translation/TranslatableInterface.js +1 -0
- package/lib/translation/TranslateContentMenuItem.d.ts +7 -0
- package/lib/translation/TranslateContentMenuItem.d.ts.map +1 -0
- package/lib/translation/TranslateContentMenuItem.js +99 -0
- package/lib/translation/createDocumentTranslationMethods.d.ts +4 -0
- package/lib/translation/createDocumentTranslationMethods.d.ts.map +1 -0
- package/lib/translation/createDocumentTranslationMethods.js +62 -0
- package/lib/userPermissions/ImpersonateMenuItem.d.ts +4 -0
- package/lib/userPermissions/ImpersonateMenuItem.d.ts.map +1 -0
- package/lib/userPermissions/ImpersonateMenuItem.generated.d.ts +18 -0
- package/lib/userPermissions/ImpersonateMenuItem.generated.d.ts.map +1 -0
- package/lib/userPermissions/ImpersonateMenuItem.generated.js +5 -0
- package/lib/userPermissions/ImpersonateMenuItem.js +63 -0
- package/lib/userPermissions/UserGrid.d.ts +11 -0
- package/lib/userPermissions/UserGrid.d.ts.map +1 -0
- package/lib/userPermissions/UserGrid.generated.d.ts +53 -0
- package/lib/userPermissions/UserGrid.generated.d.ts.map +1 -0
- package/lib/userPermissions/UserGrid.generated.js +9 -0
- package/lib/userPermissions/UserGrid.js +225 -0
- package/lib/userPermissions/UserPermissionsPage.d.ts +2 -0
- package/lib/userPermissions/UserPermissionsPage.d.ts.map +1 -0
- package/lib/userPermissions/UserPermissionsPage.js +89 -0
- package/lib/userPermissions/hooks/currentUser.d.ts +39 -0
- package/lib/userPermissions/hooks/currentUser.d.ts.map +1 -0
- package/lib/userPermissions/hooks/currentUser.generated.d.ts +36 -0
- package/lib/userPermissions/hooks/currentUser.generated.d.ts.map +1 -0
- package/lib/userPermissions/hooks/currentUser.generated.js +5 -0
- package/lib/userPermissions/hooks/currentUser.js +100 -0
- package/lib/userPermissions/user/ImpersonationButtons.d.ts +6 -0
- package/lib/userPermissions/user/ImpersonationButtons.d.ts.map +1 -0
- package/lib/userPermissions/user/ImpersonationButtons.js +76 -0
- package/lib/userPermissions/user/UserPageToolbar.d.ts +4 -0
- package/lib/userPermissions/user/UserPageToolbar.d.ts.map +1 -0
- package/lib/userPermissions/user/UserPageToolbar.generated.d.ts +19 -0
- package/lib/userPermissions/user/UserPageToolbar.generated.d.ts.map +1 -0
- package/lib/userPermissions/user/UserPageToolbar.generated.js +5 -0
- package/lib/userPermissions/user/UserPageToolbar.js +83 -0
- package/lib/userPermissions/user/basicData/UserBasicData.d.ts +4 -0
- package/lib/userPermissions/user/basicData/UserBasicData.d.ts.map +1 -0
- package/lib/userPermissions/user/basicData/UserBasicData.generated.d.ts +19 -0
- package/lib/userPermissions/user/basicData/UserBasicData.generated.d.ts.map +1 -0
- package/lib/userPermissions/user/basicData/UserBasicData.generated.js +5 -0
- package/lib/userPermissions/user/basicData/UserBasicData.js +71 -0
- package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts +7 -0
- package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.d.ts +20 -0
- package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.js +5 -0
- package/lib/userPermissions/user/permissions/ContentScopeGrid.js +146 -0
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.d.ts +8 -0
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.d.ts +38 -0
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.js +8 -0
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.js +169 -0
- package/lib/userPermissions/user/permissions/PermissionDialog.d.ts +8 -0
- package/lib/userPermissions/user/permissions/PermissionDialog.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/PermissionDialog.generated.d.ts +71 -0
- package/lib/userPermissions/user/permissions/PermissionDialog.generated.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/PermissionDialog.generated.js +13 -0
- package/lib/userPermissions/user/permissions/PermissionDialog.js +242 -0
- package/lib/userPermissions/user/permissions/PermissionGrid.d.ts +4 -0
- package/lib/userPermissions/user/permissions/PermissionGrid.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/PermissionGrid.generated.d.ts +50 -0
- package/lib/userPermissions/user/permissions/PermissionGrid.generated.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/PermissionGrid.generated.js +11 -0
- package/lib/userPermissions/user/permissions/PermissionGrid.js +216 -0
- package/lib/userPermissions/user/permissions/PermissionsPanel.d.ts +4 -0
- package/lib/userPermissions/user/permissions/PermissionsPanel.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/PermissionsPanel.js +18 -0
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.d.ts +10 -0
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.d.ts +29 -0
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.d.ts.map +1 -0
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.js +8 -0
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.js +129 -0
- package/lib/userPermissions/utils/camelCaseToHumanReadable.d.ts +2 -0
- package/lib/userPermissions/utils/camelCaseToHumanReadable.d.ts.map +1 -0
- package/lib/userPermissions/utils/camelCaseToHumanReadable.js +6 -0
- package/lib/userPermissions/utils/handleImpersonation.d.ts +3 -0
- package/lib/userPermissions/utils/handleImpersonation.d.ts.map +1 -0
- package/lib/userPermissions/utils/handleImpersonation.js +37 -0
- package/lib/validation/isLinkTarget.d.ts +2 -0
- package/lib/validation/isLinkTarget.d.ts.map +1 -0
- package/lib/validation/isLinkTarget.js +18 -0
- package/lib/validation/isPhoneNumber.d.ts +2 -0
- package/lib/validation/isPhoneNumber.d.ts.map +1 -0
- package/lib/validation/isPhoneNumber.js +4 -0
- package/lib/validation/validateJson.d.ts +2 -0
- package/lib/validation/validateJson.d.ts.map +1 -0
- package/lib/validation/validateJson.js +15 -0
- package/lib/validation/validateLinkTarget.d.ts +2 -0
- package/lib/validation/validateLinkTarget.d.ts.map +1 -0
- package/lib/validation/validateLinkTarget.js +11 -0
- package/lib/validation/validatePhoneNumber.d.ts +2 -0
- package/lib/validation/validatePhoneNumber.d.ts.map +1 -0
- package/lib/validation/validatePhoneNumber.js +11 -0
- package/lib/validation/validateUrl.d.ts +2 -0
- package/lib/validation/validateUrl.d.ts.map +1 -0
- package/lib/validation/validateUrl.js +11 -0
- package/lib/vendors.d.js +1 -0
- package/lib/warnings/LatestWarningsDashboardWidget.d.ts +2 -0
- package/lib/warnings/LatestWarningsDashboardWidget.d.ts.map +1 -0
- package/lib/warnings/LatestWarningsDashboardWidget.generated.d.ts +47 -0
- package/lib/warnings/LatestWarningsDashboardWidget.generated.d.ts.map +1 -0
- package/lib/warnings/LatestWarningsDashboardWidget.generated.js +8 -0
- package/lib/warnings/LatestWarningsDashboardWidget.js +105 -0
- package/lib/warnings/WarningActions.d.ts +13 -0
- package/lib/warnings/WarningActions.d.ts.map +1 -0
- package/lib/warnings/WarningActions.js +115 -0
- package/lib/warnings/WarningMessage.d.ts +8 -0
- package/lib/warnings/WarningMessage.d.ts.map +1 -0
- package/lib/warnings/WarningMessage.js +11 -0
- package/lib/warnings/WarningSeverity.d.ts +7 -0
- package/lib/warnings/WarningSeverity.d.ts.map +1 -0
- package/lib/warnings/WarningSeverity.js +37 -0
- package/lib/warnings/WarningsGrid.d.ts +2 -0
- package/lib/warnings/WarningsGrid.d.ts.map +1 -0
- package/lib/warnings/WarningsGrid.generated.d.ts +67 -0
- package/lib/warnings/WarningsGrid.generated.d.ts.map +1 -0
- package/lib/warnings/WarningsGrid.generated.js +8 -0
- package/lib/warnings/WarningsGrid.js +286 -0
- package/lib/warnings/WarningsPage.d.ts +2 -0
- package/lib/warnings/WarningsPage.d.ts.map +1 -0
- package/lib/warnings/WarningsPage.js +19 -0
- package/lib/warnings/warningMessages.d.ts +10 -0
- package/lib/warnings/warningMessages.d.ts.map +1 -0
- package/lib/warnings/warningMessages.js +32 -0
- package/lib/warnings/warningsConfig.d.ts +6 -0
- package/lib/warnings/warningsConfig.d.ts.map +1 -0
- package/lib/warnings/warningsConfig.js +15 -0
- package/package.json +185 -0
|
@@ -0,0 +1,672 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
3
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
7
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
8
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
9
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
12
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
17
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
18
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
19
|
+
import { Field, StackPage, StackPageTitle, StackSwitch, StackSwitchApiContext } from "@dextinity/admin";
|
|
20
|
+
import { Add, Copy, Delete, Invisible, Paste, Visible } from "@dextinity/admin-icons";
|
|
21
|
+
import { Checkbox, Divider, FormControlLabel, IconButton, Typography } from "@mui/material";
|
|
22
|
+
import { styled } from "@mui/material/styles";
|
|
23
|
+
import { FormattedMessage, useIntl } from "react-intl";
|
|
24
|
+
import { v4 as uuid } from "uuid";
|
|
25
|
+
import { AdminComponentStickyFooter } from "../common/AdminComponentStickyFooter";
|
|
26
|
+
import { BlockAdminComponentButton } from "../common/BlockAdminComponentButton";
|
|
27
|
+
import { BlockAdminComponentPaper } from "../common/BlockAdminComponentPaper";
|
|
28
|
+
import { BlockAdminComponentSection } from "../common/BlockAdminComponentSection";
|
|
29
|
+
import { BlockPreviewContent } from "../common/blockRow/BlockPreviewContent";
|
|
30
|
+
import { BlockRow } from "../common/blockRow/BlockRow";
|
|
31
|
+
import { BlocksFinalForm } from "../form/BlocksFinalForm";
|
|
32
|
+
import { createBlockSkeleton } from "../helpers/createBlockSkeleton";
|
|
33
|
+
import { deduplicateBlockDependencies } from "../helpers/deduplicateBlockDependencies";
|
|
34
|
+
import { HoverPreviewComponent } from "../iframebridge/HoverPreviewComponent";
|
|
35
|
+
import { SelectPreviewComponent } from "../iframebridge/SelectPreviewComponent";
|
|
36
|
+
import { BlockCategory } from "../types";
|
|
37
|
+
import { resolveNewState } from "../utils";
|
|
38
|
+
import { parallelAsyncEvery } from "../utils/parallelAsyncEvery";
|
|
39
|
+
import { FinalFormColumnsSelect } from "./columnsBlock/FinalFormColumnsSelect";
|
|
40
|
+
import { FinalFormLayoutSelect } from "./columnsBlock/FinalFormLayoutSelect";
|
|
41
|
+
import { createUseAdminComponent as createUseListBlockAdminComponent } from "./listBlock/createUseAdminComponent";
|
|
42
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
43
|
+
export function createColumnsBlock(_ref, override) {
|
|
44
|
+
var name = _ref.name,
|
|
45
|
+
displayName = _ref.displayName,
|
|
46
|
+
_ref$category = _ref.category,
|
|
47
|
+
category = _ref$category === void 0 ? BlockCategory.Layout : _ref$category,
|
|
48
|
+
contentBlock = _ref.contentBlock,
|
|
49
|
+
layouts = _ref.layouts,
|
|
50
|
+
tags = _ref.tags;
|
|
51
|
+
if (layouts.length === 0) {
|
|
52
|
+
throw new Error("Number of layouts must be greater than 0!");
|
|
53
|
+
}
|
|
54
|
+
var useListBlockAdminComponent = createUseListBlockAdminComponent({
|
|
55
|
+
block: contentBlock
|
|
56
|
+
});
|
|
57
|
+
function createEmptyColumns(number) {
|
|
58
|
+
return new Array(number).fill(undefined).map(function () {
|
|
59
|
+
return {
|
|
60
|
+
key: uuid(),
|
|
61
|
+
props: contentBlock.defaultValues(),
|
|
62
|
+
selected: false,
|
|
63
|
+
slideIn: false,
|
|
64
|
+
visible: true
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
var ColumnsBlock = _objectSpread(_objectSpread({}, createBlockSkeleton()), {}, {
|
|
69
|
+
name: name,
|
|
70
|
+
displayName: displayName,
|
|
71
|
+
tags: tags ? tags : contentBlock.tags,
|
|
72
|
+
category: category,
|
|
73
|
+
defaultValues: function defaultValues() {
|
|
74
|
+
var defaultLayout = layouts[0];
|
|
75
|
+
var state = {
|
|
76
|
+
layout: defaultLayout,
|
|
77
|
+
// Add empty columns so the list is not empty initially
|
|
78
|
+
columns: createEmptyColumns(defaultLayout.columns)
|
|
79
|
+
};
|
|
80
|
+
return state;
|
|
81
|
+
},
|
|
82
|
+
input2State: function input2State(input) {
|
|
83
|
+
var layout = layouts.find(function (layout) {
|
|
84
|
+
return layout.name === input.layout;
|
|
85
|
+
});
|
|
86
|
+
if (!layout) {
|
|
87
|
+
throw new Error("Unknown layout \"".concat(input.layout, "\"!"));
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
layout: layout,
|
|
91
|
+
columns: input.columns.map(function (column) {
|
|
92
|
+
return {
|
|
93
|
+
key: column.key,
|
|
94
|
+
props: contentBlock.input2State(column.props),
|
|
95
|
+
selected: false,
|
|
96
|
+
slideIn: false,
|
|
97
|
+
visible: column.visible
|
|
98
|
+
};
|
|
99
|
+
})
|
|
100
|
+
};
|
|
101
|
+
},
|
|
102
|
+
state2Output: function state2Output(output) {
|
|
103
|
+
return {
|
|
104
|
+
layout: output.layout.name,
|
|
105
|
+
columns: output.columns.map(function (column) {
|
|
106
|
+
return {
|
|
107
|
+
key: column.key,
|
|
108
|
+
visible: column.visible,
|
|
109
|
+
props: contentBlock.state2Output(column.props)
|
|
110
|
+
};
|
|
111
|
+
})
|
|
112
|
+
};
|
|
113
|
+
},
|
|
114
|
+
output2State: function () {
|
|
115
|
+
var _output2State = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(output, context) {
|
|
116
|
+
var layout, state, _iterator, _step, columns, _t, _t2, _t3, _t4, _t5, _t6;
|
|
117
|
+
return _regenerator().w(function (_context) {
|
|
118
|
+
while (1) switch (_context.p = _context.n) {
|
|
119
|
+
case 0:
|
|
120
|
+
layout = layouts.find(function (layout) {
|
|
121
|
+
return layout.name === output.layout;
|
|
122
|
+
});
|
|
123
|
+
if (layout) {
|
|
124
|
+
_context.n = 1;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
throw new Error("Unknown layout \"".concat(output.layout, "\"!"));
|
|
128
|
+
case 1:
|
|
129
|
+
state = {
|
|
130
|
+
layout: layout,
|
|
131
|
+
columns: []
|
|
132
|
+
};
|
|
133
|
+
_iterator = _createForOfIteratorHelper(output.columns);
|
|
134
|
+
_context.p = 2;
|
|
135
|
+
_iterator.s();
|
|
136
|
+
case 3:
|
|
137
|
+
if ((_step = _iterator.n()).done) {
|
|
138
|
+
_context.n = 6;
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
columns = _step.value;
|
|
142
|
+
_t = state.columns;
|
|
143
|
+
_t2 = _objectSpread;
|
|
144
|
+
_t3 = _objectSpread({}, columns);
|
|
145
|
+
_t4 = {};
|
|
146
|
+
_context.n = 4;
|
|
147
|
+
return contentBlock.output2State(columns.props, context);
|
|
148
|
+
case 4:
|
|
149
|
+
_t5 = _context.v;
|
|
150
|
+
_t.push.call(_t, _t2(_t3, _t4, {
|
|
151
|
+
props: _t5,
|
|
152
|
+
selected: false,
|
|
153
|
+
slideIn: false
|
|
154
|
+
}));
|
|
155
|
+
case 5:
|
|
156
|
+
_context.n = 3;
|
|
157
|
+
break;
|
|
158
|
+
case 6:
|
|
159
|
+
_context.n = 8;
|
|
160
|
+
break;
|
|
161
|
+
case 7:
|
|
162
|
+
_context.p = 7;
|
|
163
|
+
_t6 = _context.v;
|
|
164
|
+
_iterator.e(_t6);
|
|
165
|
+
case 8:
|
|
166
|
+
_context.p = 8;
|
|
167
|
+
_iterator.f();
|
|
168
|
+
return _context.f(8);
|
|
169
|
+
case 9:
|
|
170
|
+
return _context.a(2, state);
|
|
171
|
+
}
|
|
172
|
+
}, _callee, null, [[2, 7, 8, 9]]);
|
|
173
|
+
}));
|
|
174
|
+
function output2State(_x, _x2) {
|
|
175
|
+
return _output2State.apply(this, arguments);
|
|
176
|
+
}
|
|
177
|
+
return output2State;
|
|
178
|
+
}(),
|
|
179
|
+
createPreviewState: function createPreviewState(state, previewContext) {
|
|
180
|
+
return {
|
|
181
|
+
adminMeta: {
|
|
182
|
+
route: previewContext.parentUrl
|
|
183
|
+
},
|
|
184
|
+
layout: state.layout.name,
|
|
185
|
+
columns: state.columns.filter(function (c) {
|
|
186
|
+
return previewContext.showVisibleOnly ? c.visible : true;
|
|
187
|
+
}) // depending on context show all blocks or only visible blocks
|
|
188
|
+
.map(function (column) {
|
|
189
|
+
var _previewContext$paren;
|
|
190
|
+
var blockAdminRoute = "".concat((_previewContext$paren = previewContext.parentUrlSubRoute) !== null && _previewContext$paren !== void 0 ? _previewContext$paren : previewContext.parentUrl, "/").concat(column.key, "/edit");
|
|
191
|
+
return {
|
|
192
|
+
key: column.key,
|
|
193
|
+
visible: column.visible,
|
|
194
|
+
props: contentBlock.createPreviewState(column.props, _objectSpread(_objectSpread({}, previewContext), {}, {
|
|
195
|
+
parentUrlSubRoute: undefined,
|
|
196
|
+
parentUrl: blockAdminRoute
|
|
197
|
+
})),
|
|
198
|
+
adminRoute: blockAdminRoute,
|
|
199
|
+
adminMeta: {
|
|
200
|
+
route: blockAdminRoute
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
})
|
|
204
|
+
};
|
|
205
|
+
},
|
|
206
|
+
isValid: function isValid(state) {
|
|
207
|
+
return parallelAsyncEvery(state.columns, function (column) {
|
|
208
|
+
return contentBlock.isValid(column.props);
|
|
209
|
+
});
|
|
210
|
+
},
|
|
211
|
+
anchors: function anchors(state) {
|
|
212
|
+
return state.columns.reduce(function (anchors, column) {
|
|
213
|
+
var _contentBlock$anchors, _contentBlock$anchors2;
|
|
214
|
+
return [].concat(_toConsumableArray(anchors), _toConsumableArray((_contentBlock$anchors = (_contentBlock$anchors2 = contentBlock.anchors) === null || _contentBlock$anchors2 === void 0 ? void 0 : _contentBlock$anchors2.call(contentBlock, column.props)) !== null && _contentBlock$anchors !== void 0 ? _contentBlock$anchors : []));
|
|
215
|
+
}, []);
|
|
216
|
+
},
|
|
217
|
+
dependencies: function dependencies(state) {
|
|
218
|
+
var mergedDependencies = state.columns.reduce(function (dependencies, column) {
|
|
219
|
+
var _contentBlock$depende, _contentBlock$depende2;
|
|
220
|
+
return [].concat(_toConsumableArray(dependencies), _toConsumableArray((_contentBlock$depende = (_contentBlock$depende2 = contentBlock.dependencies) === null || _contentBlock$depende2 === void 0 ? void 0 : _contentBlock$depende2.call(contentBlock, column.props)) !== null && _contentBlock$depende !== void 0 ? _contentBlock$depende : []));
|
|
221
|
+
}, []);
|
|
222
|
+
return deduplicateBlockDependencies(mergedDependencies);
|
|
223
|
+
},
|
|
224
|
+
replaceDependenciesInOutput: function replaceDependenciesInOutput(output, replacements) {
|
|
225
|
+
var newOutput = _objectSpread(_objectSpread({}, output), {}, {
|
|
226
|
+
columns: []
|
|
227
|
+
});
|
|
228
|
+
var _iterator2 = _createForOfIteratorHelper(output.columns),
|
|
229
|
+
_step2;
|
|
230
|
+
try {
|
|
231
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
232
|
+
var column = _step2.value;
|
|
233
|
+
newOutput.columns.push(_objectSpread(_objectSpread({}, column), {}, {
|
|
234
|
+
props: contentBlock.replaceDependenciesInOutput(column.props, replacements)
|
|
235
|
+
}));
|
|
236
|
+
}
|
|
237
|
+
} catch (err) {
|
|
238
|
+
_iterator2.e(err);
|
|
239
|
+
} finally {
|
|
240
|
+
_iterator2.f();
|
|
241
|
+
}
|
|
242
|
+
return newOutput;
|
|
243
|
+
},
|
|
244
|
+
AdminComponent: function AdminComponent(_ref2) {
|
|
245
|
+
var state = _ref2.state,
|
|
246
|
+
updateState = _ref2.updateState;
|
|
247
|
+
var intl = useIntl();
|
|
248
|
+
var groupLayoutsByColumnsApi = createGroupLayoutsByColumnsApi(layouts);
|
|
249
|
+
var handleListBlockAdminChange = function handleListBlockAdminChange(listBlockSetStateAction) {
|
|
250
|
+
updateState(function (prevState) {
|
|
251
|
+
var listBlockState = resolveNewState({
|
|
252
|
+
prevState: {
|
|
253
|
+
blocks: prevState.columns
|
|
254
|
+
},
|
|
255
|
+
setStateAction: listBlockSetStateAction
|
|
256
|
+
});
|
|
257
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
258
|
+
columns: listBlockState.blocks
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
};
|
|
262
|
+
var _useListBlockAdminCom = useListBlockAdminComponent({
|
|
263
|
+
state: {
|
|
264
|
+
blocks: state.columns
|
|
265
|
+
},
|
|
266
|
+
updateState: handleListBlockAdminChange
|
|
267
|
+
}),
|
|
268
|
+
cannotPasteBlockErrorDialog = _useListBlockAdminCom.cannotPasteBlockErrorDialog,
|
|
269
|
+
createUpdateSubBlocksFn = _useListBlockAdminCom.createUpdateSubBlocksFn,
|
|
270
|
+
updateClipboardContent = _useListBlockAdminCom.updateClipboardContent,
|
|
271
|
+
addNewBlock = _useListBlockAdminCom.addNewBlock,
|
|
272
|
+
copySelectedBlocks = _useListBlockAdminCom.copySelectedBlocks,
|
|
273
|
+
deleteAllSelectedBlocks = _useListBlockAdminCom.deleteAllSelectedBlocks,
|
|
274
|
+
selectBlock = _useListBlockAdminCom.selectBlock,
|
|
275
|
+
handleToggleSelectAll = _useListBlockAdminCom.handleToggleSelectAll,
|
|
276
|
+
pasteBlock = _useListBlockAdminCom.pasteBlock,
|
|
277
|
+
selectedCount = _useListBlockAdminCom.selectedCount,
|
|
278
|
+
deleteBlocks = _useListBlockAdminCom.deleteBlocks,
|
|
279
|
+
toggleVisible = _useListBlockAdminCom.toggleVisible;
|
|
280
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
281
|
+
children: [/*#__PURE__*/_jsxs(StackSwitch, {
|
|
282
|
+
initialPage: "list",
|
|
283
|
+
disableForcePromptRoute: true,
|
|
284
|
+
children: [/*#__PURE__*/_jsxs(StackPage, {
|
|
285
|
+
name: "list",
|
|
286
|
+
children: [/*#__PURE__*/_jsxs(BlocksFinalForm, {
|
|
287
|
+
onSubmit: function onSubmit(_ref3) {
|
|
288
|
+
var layout = _ref3.layout,
|
|
289
|
+
columns = _ref3.columns;
|
|
290
|
+
updateState(function (prevState) {
|
|
291
|
+
var defaultLayoutForSelectedColumns = groupLayoutsByColumnsApi.getDefaultLayout(columns);
|
|
292
|
+
var newLayout = layout.columns !== columns && defaultLayoutForSelectedColumns ? defaultLayoutForSelectedColumns : layout;
|
|
293
|
+
var missingEmptyColumns = columns > prevState.columns.length ? createEmptyColumns(columns - prevState.columns.length) : [];
|
|
294
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
295
|
+
layout: newLayout,
|
|
296
|
+
columns: [].concat(_toConsumableArray(prevState.columns), _toConsumableArray(missingEmptyColumns))
|
|
297
|
+
});
|
|
298
|
+
});
|
|
299
|
+
},
|
|
300
|
+
initialValues: {
|
|
301
|
+
layout: state.layout,
|
|
302
|
+
columns: state.layout.columns
|
|
303
|
+
},
|
|
304
|
+
children: [/*#__PURE__*/_jsx(Field, {
|
|
305
|
+
name: "columns",
|
|
306
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
307
|
+
id: "comet.blocks.columns.columns",
|
|
308
|
+
defaultMessage: "Columns"
|
|
309
|
+
}),
|
|
310
|
+
component: FinalFormColumnsSelect,
|
|
311
|
+
columns: groupLayoutsByColumnsApi.columns,
|
|
312
|
+
fullWidth: true
|
|
313
|
+
}), /*#__PURE__*/_jsx(Field, {
|
|
314
|
+
name: "layout",
|
|
315
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
316
|
+
id: "comet.blocks.columns.layout",
|
|
317
|
+
defaultMessage: "Layout"
|
|
318
|
+
}),
|
|
319
|
+
component: FinalFormLayoutSelect,
|
|
320
|
+
layouts: groupLayoutsByColumnsApi.getLayouts(state.layout.columns),
|
|
321
|
+
fullWidth: true
|
|
322
|
+
})]
|
|
323
|
+
}), /*#__PURE__*/_jsx(BlockAdminComponentSection, {
|
|
324
|
+
title: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
325
|
+
id: "comet.blocks.columns.items",
|
|
326
|
+
defaultMessage: "Items"
|
|
327
|
+
}),
|
|
328
|
+
children: /*#__PURE__*/_jsx(BlockAdminComponentPaper, {
|
|
329
|
+
disablePadding: true,
|
|
330
|
+
children: /*#__PURE__*/_jsx(StackSwitchApiContext.Consumer, {
|
|
331
|
+
children: function children(stackApi) {
|
|
332
|
+
return /*#__PURE__*/_jsxs(SelectPreviewComponent, {
|
|
333
|
+
children: [/*#__PURE__*/_jsxs(BlockListHeader, {
|
|
334
|
+
children: [state.columns.length ? /*#__PURE__*/_jsx(SelectAllFromControlLabel, {
|
|
335
|
+
control: /*#__PURE__*/_jsx(Checkbox, {
|
|
336
|
+
checked: selectedCount === state.columns.length && selectedCount > 0,
|
|
337
|
+
indeterminate: selectedCount > 0 && selectedCount !== state.columns.length,
|
|
338
|
+
onChange: handleToggleSelectAll
|
|
339
|
+
}),
|
|
340
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
341
|
+
id: "comet.blocks.list.selectAll",
|
|
342
|
+
defaultMessage: "Select all"
|
|
343
|
+
})
|
|
344
|
+
}) : /*#__PURE__*/_jsx("div", {}), /*#__PURE__*/_jsxs(BlockListHeaderActionContainer, {
|
|
345
|
+
children: [selectedCount > 0 && /*#__PURE__*/_jsxs(_Fragment, {
|
|
346
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
347
|
+
onClick: deleteAllSelectedBlocks,
|
|
348
|
+
size: "large",
|
|
349
|
+
children: /*#__PURE__*/_jsx(Delete, {})
|
|
350
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
351
|
+
onClick: copySelectedBlocks,
|
|
352
|
+
size: "large",
|
|
353
|
+
children: /*#__PURE__*/_jsx(Copy, {})
|
|
354
|
+
})]
|
|
355
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
356
|
+
onClick: function onClick() {
|
|
357
|
+
return pasteBlock(0);
|
|
358
|
+
},
|
|
359
|
+
size: "large",
|
|
360
|
+
children: /*#__PURE__*/_jsx(Paste, {})
|
|
361
|
+
})]
|
|
362
|
+
})]
|
|
363
|
+
}), /*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsx("div", {
|
|
364
|
+
children: state.columns.map(function (column, columnIndex) {
|
|
365
|
+
return /*#__PURE__*/_jsx(HoverPreviewComponent, {
|
|
366
|
+
componentSlug: "".concat(column.key, "/content"),
|
|
367
|
+
children: /*#__PURE__*/_jsx(BlockRow, {
|
|
368
|
+
id: column.key,
|
|
369
|
+
renderPreviewContent: function renderPreviewContent() {
|
|
370
|
+
return /*#__PURE__*/_jsx(BlockPreviewContent, {
|
|
371
|
+
block: contentBlock,
|
|
372
|
+
state: column.props
|
|
373
|
+
});
|
|
374
|
+
},
|
|
375
|
+
index: columnIndex,
|
|
376
|
+
onContentClick: function onContentClick() {
|
|
377
|
+
stackApi.activatePage("edit", column.key);
|
|
378
|
+
},
|
|
379
|
+
onDeleteClick: function onDeleteClick() {
|
|
380
|
+
deleteBlocks([column.key]);
|
|
381
|
+
},
|
|
382
|
+
moveBlock: function moveBlock(from, to) {
|
|
383
|
+
updateState(function (prevState) {
|
|
384
|
+
var columns = _toConsumableArray(prevState.columns);
|
|
385
|
+
var columnToMove = columns.splice(from, 1)[0];
|
|
386
|
+
columns.splice(to, 0, columnToMove);
|
|
387
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
388
|
+
columns: columns
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
},
|
|
392
|
+
visibilityButton: /*#__PURE__*/_jsx(IconButton, {
|
|
393
|
+
onClick: function onClick() {
|
|
394
|
+
return toggleVisible(column.key);
|
|
395
|
+
},
|
|
396
|
+
size: "small",
|
|
397
|
+
children: column.visible ? /*#__PURE__*/_jsx(Visible, {
|
|
398
|
+
color: "success"
|
|
399
|
+
}) : /*#__PURE__*/_jsx(Invisible, {
|
|
400
|
+
color: "action"
|
|
401
|
+
})
|
|
402
|
+
}),
|
|
403
|
+
onAddNewBlock: function onAddNewBlock(beforeIndex) {
|
|
404
|
+
var key = addNewBlock(beforeIndex);
|
|
405
|
+
stackApi.activatePage("edit", key);
|
|
406
|
+
},
|
|
407
|
+
onCopyClick: function onCopyClick() {
|
|
408
|
+
updateClipboardContent([{
|
|
409
|
+
name: contentBlock.name,
|
|
410
|
+
visible: column.visible,
|
|
411
|
+
state: column.props
|
|
412
|
+
}]);
|
|
413
|
+
},
|
|
414
|
+
onPasteClick: function onPasteClick() {
|
|
415
|
+
pasteBlock(columnIndex + 1);
|
|
416
|
+
},
|
|
417
|
+
selected: column.selected,
|
|
418
|
+
onSelectedClick: function onSelectedClick(selected) {
|
|
419
|
+
selectBlock(column, selected);
|
|
420
|
+
},
|
|
421
|
+
isValidFn: function isValidFn() {
|
|
422
|
+
return contentBlock.isValid(column.props);
|
|
423
|
+
},
|
|
424
|
+
slideIn: column.slideIn,
|
|
425
|
+
hideBottomInsertBetweenButton: columnIndex >= state.columns.length - 1
|
|
426
|
+
})
|
|
427
|
+
}, column.key);
|
|
428
|
+
})
|
|
429
|
+
}), state.columns.length === 0 ? /*#__PURE__*/_jsx(BlockAdminComponentButton, {
|
|
430
|
+
variant: "primary",
|
|
431
|
+
onClick: function onClick() {
|
|
432
|
+
var key = addNewBlock();
|
|
433
|
+
stackApi.activatePage("edit", key);
|
|
434
|
+
},
|
|
435
|
+
size: "large",
|
|
436
|
+
children: /*#__PURE__*/_jsxs(LargeAddButtonContent, {
|
|
437
|
+
children: [/*#__PURE__*/_jsx(LargeAddButtonIcon, {}), /*#__PURE__*/_jsx(Typography, {
|
|
438
|
+
children: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
439
|
+
id: "comet.blocks.columns.addItem",
|
|
440
|
+
defaultMessage: "Add item"
|
|
441
|
+
})
|
|
442
|
+
})]
|
|
443
|
+
})
|
|
444
|
+
}) : /*#__PURE__*/_jsx(AdminComponentStickyFooter, {
|
|
445
|
+
children: /*#__PURE__*/_jsx(BlockAdminComponentButton, {
|
|
446
|
+
variant: "primary",
|
|
447
|
+
onClick: function onClick() {
|
|
448
|
+
var key = addNewBlock();
|
|
449
|
+
stackApi.activatePage("edit", key);
|
|
450
|
+
},
|
|
451
|
+
size: "large",
|
|
452
|
+
startIcon: /*#__PURE__*/_jsx(Add, {}),
|
|
453
|
+
children: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
454
|
+
id: "comet.blocks.columns.addItem",
|
|
455
|
+
defaultMessage: "Add item"
|
|
456
|
+
})
|
|
457
|
+
})
|
|
458
|
+
})]
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
})
|
|
462
|
+
})
|
|
463
|
+
})]
|
|
464
|
+
}), /*#__PURE__*/_jsx(StackPage, {
|
|
465
|
+
name: "edit",
|
|
466
|
+
title: intl.formatMessage({
|
|
467
|
+
id: "comet.blocks.columns.editColumn",
|
|
468
|
+
defaultMessage: "Edit column"
|
|
469
|
+
}),
|
|
470
|
+
children: function children(key) {
|
|
471
|
+
var matchIndex = state.columns.findIndex(function (column) {
|
|
472
|
+
return column.key === key;
|
|
473
|
+
});
|
|
474
|
+
if (matchIndex === -1) {
|
|
475
|
+
return /*#__PURE__*/_jsx(FormattedMessage, {
|
|
476
|
+
id: "comet.blocks.columns.unknownColumn",
|
|
477
|
+
defaultMessage: "Can't find column"
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
var match = state.columns[matchIndex];
|
|
481
|
+
return /*#__PURE__*/_jsx(StackPageTitle, {
|
|
482
|
+
title: columnCountLabel(intl, matchIndex + 1),
|
|
483
|
+
children: /*#__PURE__*/_jsx(contentBlock.AdminComponent, {
|
|
484
|
+
state: match.props,
|
|
485
|
+
updateState: createUpdateSubBlocksFn(key)
|
|
486
|
+
})
|
|
487
|
+
});
|
|
488
|
+
}
|
|
489
|
+
})]
|
|
490
|
+
}), cannotPasteBlockErrorDialog]
|
|
491
|
+
});
|
|
492
|
+
},
|
|
493
|
+
previewContent: function previewContent(state, context) {
|
|
494
|
+
if (state.columns.length === 0) {
|
|
495
|
+
return [{
|
|
496
|
+
type: "text",
|
|
497
|
+
content: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
498
|
+
id: "comet.blocks.columns.noColumns",
|
|
499
|
+
defaultMessage: "No columns"
|
|
500
|
+
})
|
|
501
|
+
}];
|
|
502
|
+
}
|
|
503
|
+
return state.columns.reduce(function (previewContent, currentColumn) {
|
|
504
|
+
return [].concat(_toConsumableArray(previewContent), _toConsumableArray(contentBlock.previewContent(currentColumn.props, context)));
|
|
505
|
+
}, []);
|
|
506
|
+
},
|
|
507
|
+
resolveDependencyPath: function resolveDependencyPath(state, jsonPath) {
|
|
508
|
+
if (!/^columns.\d+.props/.test(jsonPath)) {
|
|
509
|
+
throw new Error("ColumnsBlock: Invalid jsonPath");
|
|
510
|
+
}
|
|
511
|
+
var pathArr = jsonPath.split(".");
|
|
512
|
+
var num = Number(pathArr[1]);
|
|
513
|
+
var blockItem = state.columns[num];
|
|
514
|
+
var childPath = contentBlock.resolveDependencyPath(blockItem.props, pathArr.slice(3).join("."));
|
|
515
|
+
return "".concat(blockItem.key, "/edit/").concat(childPath);
|
|
516
|
+
},
|
|
517
|
+
extractTextContents: function extractTextContents(state, options) {
|
|
518
|
+
var _options$includeInvis;
|
|
519
|
+
var includeInvisibleContent = (_options$includeInvis = options === null || options === void 0 ? void 0 : options.includeInvisibleContent) !== null && _options$includeInvis !== void 0 ? _options$includeInvis : false;
|
|
520
|
+
return state.columns.reduce(function (content, column) {
|
|
521
|
+
var _contentBlock$extract, _contentBlock$extract2;
|
|
522
|
+
if (!column.visible && !includeInvisibleContent) {
|
|
523
|
+
return content;
|
|
524
|
+
}
|
|
525
|
+
return [].concat(_toConsumableArray(content), _toConsumableArray((_contentBlock$extract = (_contentBlock$extract2 = contentBlock.extractTextContents) === null || _contentBlock$extract2 === void 0 ? void 0 : _contentBlock$extract2.call(contentBlock, column.props, options)) !== null && _contentBlock$extract !== void 0 ? _contentBlock$extract : []));
|
|
526
|
+
}, []);
|
|
527
|
+
},
|
|
528
|
+
translateContent: function () {
|
|
529
|
+
var _translateContent = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(state, translate) {
|
|
530
|
+
var translatedColumns;
|
|
531
|
+
return _regenerator().w(function (_context3) {
|
|
532
|
+
while (1) switch (_context3.n) {
|
|
533
|
+
case 0:
|
|
534
|
+
_context3.n = 1;
|
|
535
|
+
return Promise.all(state.columns.map(/*#__PURE__*/function () {
|
|
536
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(column) {
|
|
537
|
+
var translatedProps, _t7;
|
|
538
|
+
return _regenerator().w(function (_context2) {
|
|
539
|
+
while (1) switch (_context2.n) {
|
|
540
|
+
case 0:
|
|
541
|
+
if (!contentBlock.translateContent) {
|
|
542
|
+
_context2.n = 2;
|
|
543
|
+
break;
|
|
544
|
+
}
|
|
545
|
+
_context2.n = 1;
|
|
546
|
+
return contentBlock.translateContent(column.props, translate);
|
|
547
|
+
case 1:
|
|
548
|
+
_t7 = _context2.v;
|
|
549
|
+
_context2.n = 3;
|
|
550
|
+
break;
|
|
551
|
+
case 2:
|
|
552
|
+
_t7 = column.props;
|
|
553
|
+
case 3:
|
|
554
|
+
translatedProps = _t7;
|
|
555
|
+
return _context2.a(2, _objectSpread(_objectSpread({}, column), {}, {
|
|
556
|
+
props: translatedProps
|
|
557
|
+
}));
|
|
558
|
+
}
|
|
559
|
+
}, _callee2);
|
|
560
|
+
}));
|
|
561
|
+
return function (_x5) {
|
|
562
|
+
return _ref4.apply(this, arguments);
|
|
563
|
+
};
|
|
564
|
+
}()));
|
|
565
|
+
case 1:
|
|
566
|
+
translatedColumns = _context3.v;
|
|
567
|
+
return _context3.a(2, _objectSpread(_objectSpread({}, state), {}, {
|
|
568
|
+
columns: translatedColumns
|
|
569
|
+
}));
|
|
570
|
+
}
|
|
571
|
+
}, _callee3);
|
|
572
|
+
}));
|
|
573
|
+
function translateContent(_x3, _x4) {
|
|
574
|
+
return _translateContent.apply(this, arguments);
|
|
575
|
+
}
|
|
576
|
+
return translateContent;
|
|
577
|
+
}()
|
|
578
|
+
});
|
|
579
|
+
if (override) {
|
|
580
|
+
return override(ColumnsBlock);
|
|
581
|
+
}
|
|
582
|
+
return ColumnsBlock;
|
|
583
|
+
}
|
|
584
|
+
var BlockListHeader = /*#__PURE__*/styled("div", process.env.NODE_ENV === "production" ? {
|
|
585
|
+
target: "ezc5hww4"
|
|
586
|
+
} : {
|
|
587
|
+
target: "ezc5hww4",
|
|
588
|
+
label: "BlockListHeader"
|
|
589
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
590
|
+
name: "1066lcq",
|
|
591
|
+
styles: "display:flex;justify-content:space-between;align-items:center"
|
|
592
|
+
} : {
|
|
593
|
+
name: "1066lcq",
|
|
594
|
+
styles: "display:flex;justify-content:space-between;align-items:center/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9ja3MvZmFjdG9yaWVzL2NyZWF0ZUNvbHVtbnNCbG9jay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMGZxQyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvYmxvY2tzL2ZhY3Rvcmllcy9jcmVhdGVDb2x1bW5zQmxvY2sudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGQsIFN0YWNrUGFnZSwgU3RhY2tQYWdlVGl0bGUsIFN0YWNrU3dpdGNoLCBTdGFja1N3aXRjaEFwaUNvbnRleHQgfSBmcm9tIFwiQGRleHRpbml0eS9hZG1pblwiO1xuaW1wb3J0IHsgQWRkLCBDb3B5LCBEZWxldGUsIEludmlzaWJsZSwgUGFzdGUsIFZpc2libGUgfSBmcm9tIFwiQGRleHRpbml0eS9hZG1pbi1pY29uc1wiO1xuaW1wb3J0IHsgQ2hlY2tib3gsIERpdmlkZXIsIEZvcm1Db250cm9sTGFiZWwsIEljb25CdXR0b24sIFR5cG9ncmFwaHkgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgdHlwZSB7IERpc3BhdGNoLCBSZWFjdE5vZGUsIFNldFN0YXRlQWN0aW9uIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlLCB0eXBlIEludGxTaGFwZSwgdHlwZSBNZXNzYWdlRGVzY3JpcHRvciwgdXNlSW50bCB9IGZyb20gXCJyZWFjdC1pbnRsXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSBcInV1aWRcIjtcblxuaW1wb3J0IHsgQWRtaW5Db21wb25lbnRTdGlja3lGb290ZXIgfSBmcm9tIFwiLi4vY29tbW9uL0FkbWluQ29tcG9uZW50U3RpY2t5Rm9vdGVyXCI7XG5pbXBvcnQgeyBCbG9ja0FkbWluQ29tcG9uZW50QnV0dG9uIH0gZnJvbSBcIi4uL2NvbW1vbi9CbG9ja0FkbWluQ29tcG9uZW50QnV0dG9uXCI7XG5pbXBvcnQgeyBCbG9ja0FkbWluQ29tcG9uZW50UGFwZXIgfSBmcm9tIFwiLi4vY29tbW9uL0Jsb2NrQWRtaW5Db21wb25lbnRQYXBlclwiO1xuaW1wb3J0IHsgQmxvY2tBZG1pbkNvbXBvbmVudFNlY3Rpb24gfSBmcm9tIFwiLi4vY29tbW9uL0Jsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uXCI7XG5pbXBvcnQgeyBCbG9ja1ByZXZpZXdDb250ZW50IH0gZnJvbSBcIi4uL2NvbW1vbi9ibG9ja1Jvdy9CbG9ja1ByZXZpZXdDb250ZW50XCI7XG5pbXBvcnQgeyBCbG9ja1JvdyB9IGZyb20gXCIuLi9jb21tb24vYmxvY2tSb3cvQmxvY2tSb3dcIjtcbmltcG9ydCB7IEJsb2Nrc0ZpbmFsRm9ybSB9IGZyb20gXCIuLi9mb3JtL0Jsb2Nrc0ZpbmFsRm9ybVwiO1xuaW1wb3J0IHsgY3JlYXRlQmxvY2tTa2VsZXRvbiB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZUJsb2NrU2tlbGV0b25cIjtcbmltcG9ydCB7IGRlZHVwbGljYXRlQmxvY2tEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi4vaGVscGVycy9kZWR1cGxpY2F0ZUJsb2NrRGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgeyBIb3ZlclByZXZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi4vaWZyYW1lYnJpZGdlL0hvdmVyUHJldmlld0NvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VsZWN0UHJldmlld0NvbXBvbmVudCB9IGZyb20gXCIuLi9pZnJhbWVicmlkZ2UvU2VsZWN0UHJldmlld0NvbXBvbmVudFwiO1xuaW1wb3J0IHtcbiAgICBCbG9ja0NhdGVnb3J5LFxuICAgIHR5cGUgQmxvY2tEZXBlbmRlbmN5LFxuICAgIHR5cGUgQmxvY2tJbnB1dEFwaSxcbiAgICB0eXBlIEJsb2NrSW50ZXJmYWNlLFxuICAgIHR5cGUgQ3VzdG9tQmxvY2tDYXRlZ29yeSxcbiAgICB0eXBlIFByZXZpZXdDb250ZW50LFxufSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IHJlc29sdmVOZXdTdGF0ZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgcGFyYWxsZWxBc3luY0V2ZXJ5IH0gZnJvbSBcIi4uL3V0aWxzL3BhcmFsbGVsQXN5bmNFdmVyeVwiO1xuaW1wb3J0IHsgRmluYWxGb3JtQ29sdW1uc1NlbGVjdCB9IGZyb20gXCIuL2NvbHVtbnNCbG9jay9GaW5hbEZvcm1Db2x1bW5zU2VsZWN0XCI7XG5pbXBvcnQgeyBGaW5hbEZvcm1MYXlvdXRTZWxlY3QgfSBmcm9tIFwiLi9jb2x1bW5zQmxvY2svRmluYWxGb3JtTGF5b3V0U2VsZWN0XCI7XG5pbXBvcnQgdHlwZSB7IExpc3RCbG9ja0l0ZW0sIExpc3RCbG9ja1N0YXRlIH0gZnJvbSBcIi4vY3JlYXRlTGlzdEJsb2NrXCI7XG5pbXBvcnQgeyBjcmVhdGVVc2VBZG1pbkNvbXBvbmVudCBhcyBjcmVhdGVVc2VMaXN0QmxvY2tBZG1pbkNvbXBvbmVudCB9IGZyb20gXCIuL2xpc3RCbG9jay9jcmVhdGVVc2VBZG1pbkNvbXBvbmVudFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbnNCbG9ja0xheW91dCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbHVtbnM6IG51bWJlcjtcbiAgICBsYWJlbDogUmVhY3ROb2RlO1xuICAgIHByZXZpZXc6IFJlYWN0Tm9kZTtcbiAgICBzZWN0aW9uPzpcbiAgICAgICAgfCBzdHJpbmdcbiAgICAgICAgfCB7XG4gICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgbGFiZWw/OiBSZWFjdE5vZGU7XG4gICAgICAgICAgfTtcbn1cblxuaW50ZXJmYWNlIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQgZXh0ZW5kcyBCbG9ja0ludGVyZmFjZT4ge1xuICAgIGxheW91dDogc3RyaW5nO1xuICAgIGNvbHVtbnM6IEFycmF5PHtcbiAgICAgICAga2V5OiBzdHJpbmc7XG4gICAgICAgIHZpc2libGU6IGJvb2xlYW47XG4gICAgICAgIHByb3BzOiBCbG9ja0lucHV0QXBpPFQ+O1xuICAgIH0+O1xufVxuXG5pbnRlcmZhY2UgQ29sdW1uc0Jsb2NrU3RhdGU8VCBleHRlbmRzIEJsb2NrSW50ZXJmYWNlPiB7XG4gICAgbGF5b3V0OiBDb2x1bW5zQmxvY2tMYXlvdXQ7XG4gICAgY29sdW1uczogTGlzdEJsb2NrSXRlbTxUPltdO1xufVxuXG5pbnRlcmZhY2UgQ3JlYXRlQ29sdW1uc0Jsb2NrT3B0aW9uczxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2U+IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IFJlYWN0Tm9kZTtcbiAgICBjYXRlZ29yeT86IEJsb2NrQ2F0ZWdvcnkgfCBDdXN0b21CbG9ja0NhdGVnb3J5O1xuICAgIGNvbnRlbnRCbG9jazogVDtcbiAgICBsYXlvdXRzOiBDb2x1bW5zQmxvY2tMYXlvdXRbXTtcbiAgICB0YWdzPzogQXJyYXk8TWVzc2FnZURlc2NyaXB0b3IgfCBzdHJpbmc+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29sdW1uc0Jsb2NrPFQgZXh0ZW5kcyBCbG9ja0ludGVyZmFjZT4oXG4gICAgeyBuYW1lLCBkaXNwbGF5TmFtZSwgY2F0ZWdvcnkgPSBCbG9ja0NhdGVnb3J5LkxheW91dCwgY29udGVudEJsb2NrLCBsYXlvdXRzLCB0YWdzIH06IENyZWF0ZUNvbHVtbnNCbG9ja09wdGlvbnM8VD4sXG4gICAgb3ZlcnJpZGU/OiAoXG4gICAgICAgIGJsb2NrOiBCbG9ja0ludGVyZmFjZTxDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiwgQ29sdW1uc0Jsb2NrU3RhdGU8VD4sIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+PixcbiAgICApID0+IEJsb2NrSW50ZXJmYWNlPENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+LCBDb2x1bW5zQmxvY2tTdGF0ZTxUPiwgQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4+LFxuKTogQmxvY2tJbnRlcmZhY2U8Q29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4sIENvbHVtbnNCbG9ja1N0YXRlPFQ+LCBDb2x1bW5zQmxvY2tGcmFnbWVudDxUPj4ge1xuICAgIGlmIChsYXlvdXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE51bWJlciBvZiBsYXlvdXRzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAhYCk7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlTGlzdEJsb2NrQWRtaW5Db21wb25lbnQgPSBjcmVhdGVVc2VMaXN0QmxvY2tBZG1pbkNvbXBvbmVudCh7IGJsb2NrOiBjb250ZW50QmxvY2sgfSk7XG5cbiAgICBmdW5jdGlvbiBjcmVhdGVFbXB0eUNvbHVtbnMobnVtYmVyOiBudW1iZXIpOiBMaXN0QmxvY2tJdGVtPFQ+W10ge1xuICAgICAgICByZXR1cm4gbmV3IEFycmF5KG51bWJlcikuZmlsbCh1bmRlZmluZWQpLm1hcCgoKSA9PiAoe1xuICAgICAgICAgICAga2V5OiB1dWlkKCksXG4gICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLmRlZmF1bHRWYWx1ZXMoKSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgIHNsaWRlSW46IGZhbHNlLFxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBjb25zdCBDb2x1bW5zQmxvY2s6IEJsb2NrSW50ZXJmYWNlPENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+LCBDb2x1bW5zQmxvY2tTdGF0ZTxUPiwgQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4+ID0ge1xuICAgICAgICAuLi5jcmVhdGVCbG9ja1NrZWxldG9uKCksXG5cbiAgICAgICAgbmFtZSxcblxuICAgICAgICBkaXNwbGF5TmFtZSxcblxuICAgICAgICB0YWdzOiB0YWdzID8gdGFncyA6IGNvbnRlbnRCbG9jay50YWdzLFxuXG4gICAgICAgIGNhdGVnb3J5LFxuXG4gICAgICAgIGRlZmF1bHRWYWx1ZXM6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRMYXlvdXQgPSBsYXlvdXRzWzBdO1xuXG4gICAgICAgICAgICBjb25zdCBzdGF0ZTogQ29sdW1uc0Jsb2NrU3RhdGU8VD4gPSB7XG4gICAgICAgICAgICAgICAgbGF5b3V0OiBkZWZhdWx0TGF5b3V0LFxuICAgICAgICAgICAgICAgIC8vIEFkZCBlbXB0eSBjb2x1bW5zIHNvIHRoZSBsaXN0IGlzIG5vdCBlbXB0eSBpbml0aWFsbHlcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiBjcmVhdGVFbXB0eUNvbHVtbnMoZGVmYXVsdExheW91dC5jb2x1bW5zKSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfSxcblxuICAgICAgICBpbnB1dDJTdGF0ZTogKGlucHV0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYXlvdXQgPSBsYXlvdXRzLmZpbmQoKGxheW91dCkgPT4gbGF5b3V0Lm5hbWUgPT09IGlucHV0LmxheW91dCk7XG5cbiAgICAgICAgICAgIGlmICghbGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGxheW91dCBcIiR7aW5wdXQubGF5b3V0fVwiIWApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiBpbnB1dC5jb2x1bW5zLm1hcCgoY29sdW1uKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiBjb250ZW50QmxvY2suaW5wdXQyU3RhdGUoY29sdW1uLnByb3BzKSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzbGlkZUluOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogY29sdW1uLnZpc2libGUsXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcblxuICAgICAgICBzdGF0ZTJPdXRwdXQ6IChvdXRwdXQpID0+ICh7XG4gICAgICAgICAgICBsYXlvdXQ6IG91dHB1dC5sYXlvdXQubmFtZSxcbiAgICAgICAgICAgIGNvbHVtbnM6IG91dHB1dC5jb2x1bW5zLm1hcCgoY29sdW1uKSA9PiAoe1xuICAgICAgICAgICAgICAgIGtleTogY29sdW1uLmtleSxcbiAgICAgICAgICAgICAgICB2aXNpYmxlOiBjb2x1bW4udmlzaWJsZSxcbiAgICAgICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLnN0YXRlMk91dHB1dChjb2x1bW4ucHJvcHMpLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICB9KSxcblxuICAgICAgICBvdXRwdXQyU3RhdGU6IGFzeW5jIChvdXRwdXQsIGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxheW91dCA9IGxheW91dHMuZmluZCgobGF5b3V0KSA9PiBsYXlvdXQubmFtZSA9PT0gb3V0cHV0LmxheW91dCk7XG5cbiAgICAgICAgICAgIGlmICghbGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGxheW91dCBcIiR7b3V0cHV0LmxheW91dH1cIiFgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgc3RhdGU6IENvbHVtbnNCbG9ja1N0YXRlPFQ+ID0ge1xuICAgICAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiBbXSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgY29sdW1ucyBvZiBvdXRwdXQuY29sdW1ucykge1xuICAgICAgICAgICAgICAgIHN0YXRlLmNvbHVtbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiBhd2FpdCBjb250ZW50QmxvY2sub3V0cHV0MlN0YXRlKGNvbHVtbnMucHJvcHMsIGNvbnRleHQpLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHNsaWRlSW46IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH0sXG5cbiAgICAgICAgY3JlYXRlUHJldmlld1N0YXRlOiAoc3RhdGUsIHByZXZpZXdDb250ZXh0KSA9PiAoe1xuICAgICAgICAgICAgYWRtaW5NZXRhOiB7IHJvdXRlOiBwcmV2aWV3Q29udGV4dC5wYXJlbnRVcmwgfSxcbiAgICAgICAgICAgIGxheW91dDogc3RhdGUubGF5b3V0Lm5hbWUsXG4gICAgICAgICAgICBjb2x1bW5zOiBzdGF0ZS5jb2x1bW5zXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gKHByZXZpZXdDb250ZXh0LnNob3dWaXNpYmxlT25seSA/IGMudmlzaWJsZSA6IHRydWUpKSAvLyBkZXBlbmRpbmcgb24gY29udGV4dCBzaG93IGFsbCBibG9ja3Mgb3Igb25seSB2aXNpYmxlIGJsb2Nrc1xuICAgICAgICAgICAgICAgIC5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9ja0FkbWluUm91dGUgPSBgJHtwcmV2aWV3Q29udGV4dC5wYXJlbnRVcmxTdWJSb3V0ZSA/PyBwcmV2aWV3Q29udGV4dC5wYXJlbnRVcmx9LyR7Y29sdW1uLmtleX0vZWRpdGA7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogY29sdW1uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGNvbHVtbi52aXNpYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IGNvbnRlbnRCbG9jay5jcmVhdGVQcmV2aWV3U3RhdGUoY29sdW1uLnByb3BzLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldmlld0NvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50VXJsU3ViUm91dGU6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRVcmw6IGJsb2NrQWRtaW5Sb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWRtaW5Sb3V0ZTogYmxvY2tBZG1pblJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWRtaW5NZXRhOiB7IHJvdXRlOiBibG9ja0FkbWluUm91dGUgfSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG5cbiAgICAgICAgaXNWYWxpZDogKHN0YXRlKSA9PiBwYXJhbGxlbEFzeW5jRXZlcnkoc3RhdGUuY29sdW1ucywgKGNvbHVtbikgPT4gY29udGVudEJsb2NrLmlzVmFsaWQoY29sdW1uLnByb3BzKSksXG5cbiAgICAgICAgYW5jaG9yczogKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gc3RhdGUuY29sdW1ucy5yZWR1Y2U8c3RyaW5nW10+KChhbmNob3JzLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmFuY2hvcnMsIC4uLihjb250ZW50QmxvY2suYW5jaG9ycz8uKGNvbHVtbi5wcm9wcykgPz8gW10pXTtcbiAgICAgICAgICAgIH0sIFtdKTtcbiAgICAgICAgfSxcblxuICAgICAgICBkZXBlbmRlbmNpZXM6IChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVyZ2VkRGVwZW5kZW5jaWVzID0gc3RhdGUuY29sdW1ucy5yZWR1Y2U8QmxvY2tEZXBlbmRlbmN5W10+KChkZXBlbmRlbmNpZXMsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBbLi4uZGVwZW5kZW5jaWVzLCAuLi4oY29udGVudEJsb2NrLmRlcGVuZGVuY2llcz8uKGNvbHVtbi5wcm9wcykgPz8gW10pXTtcbiAgICAgICAgICAgIH0sIFtdKTtcblxuICAgICAgICAgICAgcmV0dXJuIGRlZHVwbGljYXRlQmxvY2tEZXBlbmRlbmNpZXMobWVyZ2VkRGVwZW5kZW5jaWVzKTtcbiAgICAgICAgfSxcblxuICAgICAgICByZXBsYWNlRGVwZW5kZW5jaWVzSW5PdXRwdXQ6IChvdXRwdXQsIHJlcGxhY2VtZW50cykgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3T3V0cHV0OiBDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiA9IHsgLi4ub3V0cHV0LCBjb2x1bW5zOiBbXSB9O1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBvdXRwdXQuY29sdW1ucykge1xuICAgICAgICAgICAgICAgIG5ld091dHB1dC5jb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiBjb250ZW50QmxvY2sucmVwbGFjZURlcGVuZGVuY2llc0luT3V0cHV0KGNvbHVtbi5wcm9wcywgcmVwbGFjZW1lbnRzKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG5ld091dHB1dDtcbiAgICAgICAgfSxcblxuICAgICAgICBBZG1pbkNvbXBvbmVudDogKHsgc3RhdGUsIHVwZGF0ZVN0YXRlIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gICAgICAgICAgICBjb25zdCBncm91cExheW91dHNCeUNvbHVtbnNBcGkgPSBjcmVhdGVHcm91cExheW91dHNCeUNvbHVtbnNBcGkobGF5b3V0cyk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVMaXN0QmxvY2tBZG1pbkNoYW5nZTogRGlzcGF0Y2g8U2V0U3RhdGVBY3Rpb248TGlzdEJsb2NrU3RhdGU8VD4+PiA9IChsaXN0QmxvY2tTZXRTdGF0ZUFjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVN0YXRlKChwcmV2U3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlzdEJsb2NrU3RhdGUgPSByZXNvbHZlTmV3U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJldlN0YXRlOiB7IGJsb2NrczogcHJldlN0YXRlLmNvbHVtbnMgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXRlQWN0aW9uOiBsaXN0QmxvY2tTZXRTdGF0ZUFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiBsaXN0QmxvY2tTdGF0ZS5ibG9ja3MsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgICAgIGNhbm5vdFBhc3RlQmxvY2tFcnJvckRpYWxvZyxcbiAgICAgICAgICAgICAgICBjcmVhdGVVcGRhdGVTdWJCbG9ja3NGbixcbiAgICAgICAgICAgICAgICB1cGRhdGVDbGlwYm9hcmRDb250ZW50LFxuICAgICAgICAgICAgICAgIGFkZE5ld0Jsb2NrLFxuICAgICAgICAgICAgICAgIGNvcHlTZWxlY3RlZEJsb2NrcyxcbiAgICAgICAgICAgICAgICBkZWxldGVBbGxTZWxlY3RlZEJsb2NrcyxcbiAgICAgICAgICAgICAgICBzZWxlY3RCbG9jayxcbiAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVTZWxlY3RBbGwsXG4gICAgICAgICAgICAgICAgcGFzdGVCbG9jayxcbiAgICAgICAgICAgICAgICBzZWxlY3RlZENvdW50LFxuICAgICAgICAgICAgICAgIGRlbGV0ZUJsb2NrcyxcbiAgICAgICAgICAgICAgICB0b2dnbGVWaXNpYmxlLFxuICAgICAgICAgICAgfSA9IHVzZUxpc3RCbG9ja0FkbWluQ29tcG9uZW50KHsgc3RhdGU6IHsgYmxvY2tzOiBzdGF0ZS5jb2x1bW5zIH0sIHVwZGF0ZVN0YXRlOiBoYW5kbGVMaXN0QmxvY2tBZG1pbkNoYW5nZSB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8U3RhY2tTd2l0Y2ggaW5pdGlhbFBhZ2U9XCJsaXN0XCIgZGlzYWJsZUZvcmNlUHJvbXB0Um91dGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2tQYWdlIG5hbWU9XCJsaXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2Nrc0ZpbmFsRm9ybTx7IGxheW91dDogQ29sdW1uc0Jsb2NrTGF5b3V0OyBjb2x1bW5zOiBudW1iZXIgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TdWJtaXQ9eyh7IGxheW91dCwgY29sdW1ucyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdExheW91dEZvclNlbGVjdGVkQ29sdW1ucyA9IGdyb3VwTGF5b3V0c0J5Q29sdW1uc0FwaS5nZXREZWZhdWx0TGF5b3V0KGNvbHVtbnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0xheW91dCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dC5jb2x1bW5zICE9PSBjb2x1bW5zICYmIGRlZmF1bHRMYXlvdXRGb3JTZWxlY3RlZENvbHVtbnMgPyBkZWZhdWx0TGF5b3V0Rm9yU2VsZWN0ZWRDb2x1bW5zIDogbGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pc3NpbmdFbXB0eUNvbHVtbnMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zID4gcHJldlN0YXRlLmNvbHVtbnMubGVuZ3RoID8gY3JlYXRlRW1wdHlDb2x1bW5zKGNvbHVtbnMgLSBwcmV2U3RhdGUuY29sdW1ucy5sZW5ndGgpIDogW107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQ6IG5ld0xheW91dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uczogWy4uLnByZXZTdGF0ZS5jb2x1bW5zLCAuLi5taXNzaW5nRW1wdHlDb2x1bW5zXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZXM9e3sgbGF5b3V0OiBzdGF0ZS5sYXlvdXQsIGNvbHVtbnM6IHN0YXRlLmxheW91dC5jb2x1bW5zIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmNvbHVtbnNcIiBkZWZhdWx0TWVzc2FnZT1cIkNvbHVtbnNcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17RmluYWxGb3JtQ29sdW1uc1NlbGVjdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnM9e2dyb3VwTGF5b3V0c0J5Q29sdW1uc0FwaS5jb2x1bW5zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImxheW91dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5sYXlvdXRcIiBkZWZhdWx0TWVzc2FnZT1cIkxheW91dFwiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtGaW5hbEZvcm1MYXlvdXRTZWxlY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRzPXtncm91cExheW91dHNCeUNvbHVtbnNBcGkuZ2V0TGF5b3V0cyhzdGF0ZS5sYXlvdXQuY29sdW1ucyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2Nrc0ZpbmFsRm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tBZG1pbkNvbXBvbmVudFNlY3Rpb24gdGl0bGU9ezxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMuaXRlbXNcIiBkZWZhdWx0TWVzc2FnZT1cIkl0ZW1zXCIgLz59PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tBZG1pbkNvbXBvbmVudFBhcGVyIGRpc2FibGVQYWRkaW5nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrU3dpdGNoQXBpQ29udGV4dC5Db25zdW1lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHN0YWNrQXBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0UHJldmlld0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tMaXN0SGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3RhdGUuY29sdW1ucy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0QWxsRnJvbUNvbnRyb2xMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3NlbGVjdGVkQ291bnQgPT09IHN0YXRlLmNvbHVtbnMubGVuZ3RoICYmIHNlbGVjdGVkQ291bnQgPiAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXRlcm1pbmF0ZT17c2VsZWN0ZWRDb3VudCA+IDAgJiYgc2VsZWN0ZWRDb3VudCAhPT0gc3RhdGUuY29sdW1ucy5sZW5ndGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlVG9nZ2xlU2VsZWN0QWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmxpc3Quc2VsZWN0QWxsXCIgZGVmYXVsdE1lc3NhZ2U9XCJTZWxlY3QgYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tMaXN0SGVhZGVyQWN0aW9uQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3NlbGVjdGVkQ291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXtkZWxldGVBbGxTZWxlY3RlZEJsb2Nrc30gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGVsZXRlIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gb25DbGljaz17Y29weVNlbGVjdGVkQmxvY2tzfSBzaXplPVwibGFyZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb3B5IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBwYXN0ZUJsb2NrKDApfSBzaXplPVwibGFyZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UGFzdGUgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja0xpc3RIZWFkZXJBY3Rpb25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja0xpc3RIZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdGF0ZS5jb2x1bW5zLm1hcCgoY29sdW1uLCBjb2x1bW5JbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SG92ZXJQcmV2aWV3Q29tcG9uZW50IGtleT17Y29sdW1uLmtleX0gY29tcG9uZW50U2x1Zz17YCR7Y29sdW1uLmtleX0vY29udGVudGB9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tSb3dcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtjb2x1bW4ua2V5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyUHJldmlld0NvbnRlbnQ9eygpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tQcmV2aWV3Q29udGVudCBibG9jaz17Y29udGVudEJsb2NrfSBzdGF0ZT17Y29sdW1uLnByb3BzfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtjb2x1bW5JbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ29udGVudENsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tBcGkuYWN0aXZhdGVQYWdlKFwiZWRpdFwiLCBjb2x1bW4ua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkRlbGV0ZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlQmxvY2tzKFtjb2x1bW4ua2V5XSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZUJsb2NrPXsoZnJvbSwgdG8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbnMgPSBbLi4ucHJldlN0YXRlLmNvbHVtbnNdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5Ub01vdmUgPSBjb2x1bW5zLnNwbGljZShmcm9tLCAxKVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5zcGxpY2UodG8sIDAsIGNvbHVtblRvTW92ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLnByZXZTdGF0ZSwgY29sdW1ucyB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHlCdXR0b249e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uIG9uQ2xpY2s9eygpID0+IHRvZ2dsZVZpc2libGUoY29sdW1uLmtleSl9IHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29sdW1uLnZpc2libGUgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmlzaWJsZSBjb2xvcj1cInN1Y2Nlc3NcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEludmlzaWJsZSBjb2xvcj1cImFjdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25BZGROZXdCbG9jaz17KGJlZm9yZUluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gYWRkTmV3QmxvY2soYmVmb3JlSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNvcHlDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNsaXBib2FyZENvbnRlbnQoW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjb250ZW50QmxvY2submFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGNvbHVtbi52aXNpYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IGNvbHVtbi5wcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblBhc3RlQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXN0ZUJsb2NrKGNvbHVtbkluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e2NvbHVtbi5zZWxlY3RlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0ZWRDbGljaz17KHNlbGVjdGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0QmxvY2soY29sdW1uLCBzZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZEZuPXsoKSA9PiBjb250ZW50QmxvY2suaXNWYWxpZChjb2x1bW4ucHJvcHMpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVJbj17Y29sdW1uLnNsaWRlSW59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlQm90dG9tSW5zZXJ0QmV0d2VlbkJ1dHRvbj17Y29sdW1uSW5kZXggPj0gc3RhdGUuY29sdW1ucy5sZW5ndGggLSAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSG92ZXJQcmV2aWV3Q29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N0YXRlLmNvbHVtbnMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGFkZE5ld0Jsb2NrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tBcGkuYWN0aXZhdGVQYWdlKFwiZWRpdFwiLCBrZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYXJnZUFkZEJ1dHRvbkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhcmdlQWRkQnV0dG9uSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmFkZEl0ZW1cIiBkZWZhdWx0TWVzc2FnZT1cIkFkZCBpdGVtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhcmdlQWRkQnV0dG9uQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja0FkbWluQ29tcG9uZW50QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBZG1pbkNvbXBvbmVudFN0aWNreUZvb3Rlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCbG9ja0FkbWluQ29tcG9uZW50QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gYWRkTmV3QmxvY2soKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tBcGkuYWN0aXZhdGVQYWdlKFwiZWRpdFwiLCBrZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydEljb249ezxBZGQgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5hZGRJdGVtXCIgZGVmYXVsdE1lc3NhZ2U9XCJBZGQgaXRlbVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2NrQWRtaW5Db21wb25lbnRCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQWRtaW5Db21wb25lbnRTdGlja3lGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0UHJldmlld0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFja1N3aXRjaEFwaUNvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tBZG1pbkNvbXBvbmVudFBhcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tBZG1pbkNvbXBvbmVudFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrUGFnZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFja1BhZ2UgbmFtZT1cImVkaXRcIiB0aXRsZT17aW50bC5mb3JtYXRNZXNzYWdlKHsgaWQ6IFwiY29tZXQuYmxvY2tzLmNvbHVtbnMuZWRpdENvbHVtblwiLCBkZWZhdWx0TWVzc2FnZTogXCJFZGl0IGNvbHVtblwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaEluZGV4ID0gc3RhdGUuY29sdW1ucy5maW5kSW5kZXgoKGNvbHVtbikgPT4gY29sdW1uLmtleSA9PT0ga2V5KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLnVua25vd25Db2x1bW5cIiBkZWZhdWx0TWVzc2FnZT1cIkNhbid0IGZpbmQgY29sdW1uXCIgLz47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9IHN0YXRlLmNvbHVtbnNbbWF0Y2hJbmRleF07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFja1BhZ2VUaXRsZSB0aXRsZT17Y29sdW1uQ291bnRMYWJlbChpbnRsLCBtYXRjaEluZGV4ICsgMSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb250ZW50QmxvY2suQWRtaW5Db21wb25lbnQgc3RhdGU9e21hdGNoLnByb3BzfSB1cGRhdGVTdGF0ZT17Y3JlYXRlVXBkYXRlU3ViQmxvY2tzRm4oa2V5KX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2tQYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2tQYWdlPlxuICAgICAgICAgICAgICAgICAgICA8L1N0YWNrU3dpdGNoPlxuICAgICAgICAgICAgICAgICAgICB7Y2Fubm90UGFzdGVCbG9ja0Vycm9yRGlhbG9nfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcblxuICAgICAgICBwcmV2aWV3Q29udGVudDogKHN0YXRlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBpZiAoc3RhdGUuY29sdW1ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMubm9Db2x1bW5zXCIgZGVmYXVsdE1lc3NhZ2U9XCJObyBjb2x1bW5zXCIgLz4sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmNvbHVtbnMucmVkdWNlPFByZXZpZXdDb250ZW50W10+KFxuICAgICAgICAgICAgICAgIChwcmV2aWV3Q29udGVudCwgY3VycmVudENvbHVtbikgPT4gWy4uLnByZXZpZXdDb250ZW50LCAuLi5jb250ZW50QmxvY2sucHJldmlld0NvbnRlbnQoY3VycmVudENvbHVtbi5wcm9wcywgY29udGV4dCldLFxuICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcblxuICAgICAgICByZXNvbHZlRGVwZW5kZW5jeVBhdGg6IChzdGF0ZSwganNvblBhdGgpID0+IHtcbiAgICAgICAgICAgIGlmICghL15jb2x1bW5zLlxcZCsucHJvcHMvLnRlc3QoanNvblBhdGgpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ29sdW1uc0Jsb2NrOiBJbnZhbGlkIGpzb25QYXRoXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBwYXRoQXJyID0ganNvblBhdGguc3BsaXQoXCIuXCIpO1xuICAgICAgICAgICAgY29uc3QgbnVtID0gTnVtYmVyKHBhdGhBcnJbMV0pO1xuICAgICAgICAgICAgY29uc3QgYmxvY2tJdGVtID0gc3RhdGUuY29sdW1uc1tudW1dO1xuXG4gICAgICAgICAgICBjb25zdCBjaGlsZFBhdGggPSBjb250ZW50QmxvY2sucmVzb2x2ZURlcGVuZGVuY3lQYXRoKGJsb2NrSXRlbS5wcm9wcywgcGF0aEFyci5zbGljZSgzKS5qb2luKFwiLlwiKSk7XG4gICAgICAgICAgICByZXR1cm4gYCR7YmxvY2tJdGVtLmtleX0vZWRpdC8ke2NoaWxkUGF0aH1gO1xuICAgICAgICB9LFxuXG4gICAgICAgIGV4dHJhY3RUZXh0Q29udGVudHM6IChzdGF0ZSwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5jbHVkZUludmlzaWJsZUNvbnRlbnQgPSBvcHRpb25zPy5pbmNsdWRlSW52aXNpYmxlQ29udGVudCA/PyBmYWxzZTtcblxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmNvbHVtbnMucmVkdWNlPHN0cmluZ1tdPigoY29udGVudCwgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFjb2x1bW4udmlzaWJsZSAmJiAhaW5jbHVkZUludmlzaWJsZUNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5jb250ZW50LCAuLi4oY29udGVudEJsb2NrLmV4dHJhY3RUZXh0Q29udGVudHM/Lihjb2x1bW4ucHJvcHMsIG9wdGlvbnMpID8/IFtdKV07XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zbGF0ZUNvbnRlbnQ6IGFzeW5jIChzdGF0ZSwgdHJhbnNsYXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGVkQ29sdW1ucyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICAgIHN0YXRlLmNvbHVtbnMubWFwKGFzeW5jIChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZFByb3BzID0gY29udGVudEJsb2NrLnRyYW5zbGF0ZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gYXdhaXQgY29udGVudEJsb2NrLnRyYW5zbGF0ZUNvbnRlbnQoY29sdW1uLnByb3BzLCB0cmFuc2xhdGUpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbHVtbi5wcm9wcztcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uY29sdW1uLCBwcm9wczogdHJhbnNsYXRlZFByb3BzIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIGNvbHVtbnM6IHRyYW5zbGF0ZWRDb2x1bW5zIH07XG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIGlmIChvdmVycmlkZSkge1xuICAgICAgICByZXR1cm4gb3ZlcnJpZGUoQ29sdW1uc0Jsb2NrKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ29sdW1uc0Jsb2NrO1xufVxuXG5jb25zdCBCbG9ja0xpc3RIZWFkZXIgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IEJsb2NrTGlzdEhlYWRlckFjdGlvbkNvbnRhaW5lciA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG5gO1xuXG5jb25zdCBTZWxlY3RBbGxGcm9tQ29udHJvbExhYmVsID0gc3R5bGVkKEZvcm1Db250cm9sTGFiZWwpYFxuICAgIHBhZGRpbmc6IDE1cHggMTBweCAxNXB4IDdweDtcbmA7XG5cbmNvbnN0IExhcmdlQWRkQnV0dG9uQ29udGVudCA9IHN0eWxlZChcInNwYW5cIilgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNHB4IDA7XG5gO1xuXG5jb25zdCBMYXJnZUFkZEJ1dHRvbkljb24gPSBzdHlsZWQoQWRkKWBcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcblxudHlwZSBHcm91cGVkTGF5b3V0c0J5Q29sdW1uc0FwaSA9IHtcbiAgICBjb2x1bW5zOiBudW1iZXJbXTtcbiAgICBnZXRMYXlvdXRzOiAoY29sdW1uczogbnVtYmVyKSA9PiBDb2x1bW5zQmxvY2tMYXlvdXRbXTtcbiAgICBnZXREZWZhdWx0TGF5b3V0OiAoY29sdW1uczogbnVtYmVyKSA9PiBDb2x1bW5zQmxvY2tMYXlvdXQgfCB1bmRlZmluZWQ7XG59O1xuXG5mdW5jdGlvbiBjb2x1bW5Db3VudExhYmVsKGludGw6IEludGxTaGFwZSwgY291bnQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IFwiY29tZXQuYmxvY2tzLmNvbHVtbnMuY29sdW1uVGl0bGVcIixcbiAgICAgICAgICAgIGRlZmF1bHRNZXNzYWdlOiBcIkNvbHVtbiB7bnVtYmVyfVwiLFxuICAgICAgICB9LFxuICAgICAgICB7IG51bWJlcjogY291bnQgfSxcbiAgICApO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVHcm91cExheW91dHNCeUNvbHVtbnNBcGkobGF5b3V0czogQ29sdW1uc0Jsb2NrTGF5b3V0W10pOiBHcm91cGVkTGF5b3V0c0J5Q29sdW1uc0FwaSB7XG4gICAgY29uc3QgZ3JvdXBlZExheW91dHMgPSBsYXlvdXRzLnJlZHVjZSgoYWNjLCBjKSA9PiB7XG4gICAgICAgIGFjYy5zZXQoYy5jb2x1bW5zLCBbLi4uKGFjYy5nZXQoYy5jb2x1bW5zKSB8fCBbXSksIGNdKTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBuZXcgTWFwPG51bWJlciwgQ29sdW1uc0Jsb2NrTGF5b3V0W10+KCkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29sdW1uczogQXJyYXkuZnJvbShncm91cGVkTGF5b3V0cy5rZXlzKCkpLFxuICAgICAgICBnZXRMYXlvdXRzOiAoY29sdW1uczogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZ3JvdXBlZExheW91dHMuZ2V0KGNvbHVtbnMpIHx8IFtdO1xuICAgICAgICB9LFxuICAgICAgICBnZXREZWZhdWx0TGF5b3V0OiAoY29sdW1uczogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYXlvdXRzID0gZ3JvdXBlZExheW91dHMuZ2V0KGNvbHVtbnMpIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIGxheW91dHMubGVuZ3RoID8gbGF5b3V0c1swXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuIl19 */",
|
|
595
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
596
|
+
});
|
|
597
|
+
var BlockListHeaderActionContainer = /*#__PURE__*/styled("div", process.env.NODE_ENV === "production" ? {
|
|
598
|
+
target: "ezc5hww3"
|
|
599
|
+
} : {
|
|
600
|
+
target: "ezc5hww3",
|
|
601
|
+
label: "BlockListHeaderActionContainer"
|
|
602
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
603
|
+
name: "14o5m2r",
|
|
604
|
+
styles: "padding:12px 0"
|
|
605
|
+
} : {
|
|
606
|
+
name: "14o5m2r",
|
|
607
|
+
styles: "padding:12px 0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9ja3MvZmFjdG9yaWVzL2NyZWF0ZUNvbHVtbnNCbG9jay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ2dCb0QiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2Jsb2Nrcy9mYWN0b3JpZXMvY3JlYXRlQ29sdW1uc0Jsb2NrLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkLCBTdGFja1BhZ2UsIFN0YWNrUGFnZVRpdGxlLCBTdGFja1N3aXRjaCwgU3RhY2tTd2l0Y2hBcGlDb250ZXh0IH0gZnJvbSBcIkBkZXh0aW5pdHkvYWRtaW5cIjtcbmltcG9ydCB7IEFkZCwgQ29weSwgRGVsZXRlLCBJbnZpc2libGUsIFBhc3RlLCBWaXNpYmxlIH0gZnJvbSBcIkBkZXh0aW5pdHkvYWRtaW4taWNvbnNcIjtcbmltcG9ydCB7IENoZWNrYm94LCBEaXZpZGVyLCBGb3JtQ29udHJvbExhYmVsLCBJY29uQnV0dG9uLCBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHR5cGUgeyBEaXNwYXRjaCwgUmVhY3ROb2RlLCBTZXRTdGF0ZUFjdGlvbiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSwgdHlwZSBJbnRsU2hhcGUsIHR5cGUgTWVzc2FnZURlc2NyaXB0b3IsIHVzZUludGwgfSBmcm9tIFwicmVhY3QtaW50bFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gXCJ1dWlkXCI7XG5cbmltcG9ydCB7IEFkbWluQ29tcG9uZW50U3RpY2t5Rm9vdGVyIH0gZnJvbSBcIi4uL2NvbW1vbi9BZG1pbkNvbXBvbmVudFN0aWNreUZvb3RlclwiO1xuaW1wb3J0IHsgQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvbiB9IGZyb20gXCIuLi9jb21tb24vQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvblwiO1xuaW1wb3J0IHsgQmxvY2tBZG1pbkNvbXBvbmVudFBhcGVyIH0gZnJvbSBcIi4uL2NvbW1vbi9CbG9ja0FkbWluQ29tcG9uZW50UGFwZXJcIjtcbmltcG9ydCB7IEJsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uIH0gZnJvbSBcIi4uL2NvbW1vbi9CbG9ja0FkbWluQ29tcG9uZW50U2VjdGlvblwiO1xuaW1wb3J0IHsgQmxvY2tQcmV2aWV3Q29udGVudCB9IGZyb20gXCIuLi9jb21tb24vYmxvY2tSb3cvQmxvY2tQcmV2aWV3Q29udGVudFwiO1xuaW1wb3J0IHsgQmxvY2tSb3cgfSBmcm9tIFwiLi4vY29tbW9uL2Jsb2NrUm93L0Jsb2NrUm93XCI7XG5pbXBvcnQgeyBCbG9ja3NGaW5hbEZvcm0gfSBmcm9tIFwiLi4vZm9ybS9CbG9ja3NGaW5hbEZvcm1cIjtcbmltcG9ydCB7IGNyZWF0ZUJsb2NrU2tlbGV0b24gfSBmcm9tIFwiLi4vaGVscGVycy9jcmVhdGVCbG9ja1NrZWxldG9uXCI7XG5pbXBvcnQgeyBkZWR1cGxpY2F0ZUJsb2NrRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4uL2hlbHBlcnMvZGVkdXBsaWNhdGVCbG9ja0RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgSG92ZXJQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSBcIi4uL2lmcmFtZWJyaWRnZS9Ib3ZlclByZXZpZXdDb21wb25lbnRcIjtcbmltcG9ydCB7IFNlbGVjdFByZXZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi4vaWZyYW1lYnJpZGdlL1NlbGVjdFByZXZpZXdDb21wb25lbnRcIjtcbmltcG9ydCB7XG4gICAgQmxvY2tDYXRlZ29yeSxcbiAgICB0eXBlIEJsb2NrRGVwZW5kZW5jeSxcbiAgICB0eXBlIEJsb2NrSW5wdXRBcGksXG4gICAgdHlwZSBCbG9ja0ludGVyZmFjZSxcbiAgICB0eXBlIEN1c3RvbUJsb2NrQ2F0ZWdvcnksXG4gICAgdHlwZSBQcmV2aWV3Q29udGVudCxcbn0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyByZXNvbHZlTmV3U3RhdGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IHBhcmFsbGVsQXN5bmNFdmVyeSB9IGZyb20gXCIuLi91dGlscy9wYXJhbGxlbEFzeW5jRXZlcnlcIjtcbmltcG9ydCB7IEZpbmFsRm9ybUNvbHVtbnNTZWxlY3QgfSBmcm9tIFwiLi9jb2x1bW5zQmxvY2svRmluYWxGb3JtQ29sdW1uc1NlbGVjdFwiO1xuaW1wb3J0IHsgRmluYWxGb3JtTGF5b3V0U2VsZWN0IH0gZnJvbSBcIi4vY29sdW1uc0Jsb2NrL0ZpbmFsRm9ybUxheW91dFNlbGVjdFwiO1xuaW1wb3J0IHR5cGUgeyBMaXN0QmxvY2tJdGVtLCBMaXN0QmxvY2tTdGF0ZSB9IGZyb20gXCIuL2NyZWF0ZUxpc3RCbG9ja1wiO1xuaW1wb3J0IHsgY3JlYXRlVXNlQWRtaW5Db21wb25lbnQgYXMgY3JlYXRlVXNlTGlzdEJsb2NrQWRtaW5Db21wb25lbnQgfSBmcm9tIFwiLi9saXN0QmxvY2svY3JlYXRlVXNlQWRtaW5Db21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zQmxvY2tMYXlvdXQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBjb2x1bW5zOiBudW1iZXI7XG4gICAgbGFiZWw6IFJlYWN0Tm9kZTtcbiAgICBwcmV2aWV3OiBSZWFjdE5vZGU7XG4gICAgc2VjdGlvbj86XG4gICAgICAgIHwgc3RyaW5nXG4gICAgICAgIHwge1xuICAgICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICAgIGxhYmVsPzogUmVhY3ROb2RlO1xuICAgICAgICAgIH07XG59XG5cbmludGVyZmFjZSBDb2x1bW5zQmxvY2tGcmFnbWVudDxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2U+IHtcbiAgICBsYXlvdXQ6IHN0cmluZztcbiAgICBjb2x1bW5zOiBBcnJheTx7XG4gICAgICAgIGtleTogc3RyaW5nO1xuICAgICAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgICAgICBwcm9wczogQmxvY2tJbnB1dEFwaTxUPjtcbiAgICB9Pjtcbn1cblxuaW50ZXJmYWNlIENvbHVtbnNCbG9ja1N0YXRlPFQgZXh0ZW5kcyBCbG9ja0ludGVyZmFjZT4ge1xuICAgIGxheW91dDogQ29sdW1uc0Jsb2NrTGF5b3V0O1xuICAgIGNvbHVtbnM6IExpc3RCbG9ja0l0ZW08VD5bXTtcbn1cblxuaW50ZXJmYWNlIENyZWF0ZUNvbHVtbnNCbG9ja09wdGlvbnM8VCBleHRlbmRzIEJsb2NrSW50ZXJmYWNlPiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBSZWFjdE5vZGU7XG4gICAgY2F0ZWdvcnk/OiBCbG9ja0NhdGVnb3J5IHwgQ3VzdG9tQmxvY2tDYXRlZ29yeTtcbiAgICBjb250ZW50QmxvY2s6IFQ7XG4gICAgbGF5b3V0czogQ29sdW1uc0Jsb2NrTGF5b3V0W107XG4gICAgdGFncz86IEFycmF5PE1lc3NhZ2VEZXNjcmlwdG9yIHwgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbHVtbnNCbG9jazxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2U+KFxuICAgIHsgbmFtZSwgZGlzcGxheU5hbWUsIGNhdGVnb3J5ID0gQmxvY2tDYXRlZ29yeS5MYXlvdXQsIGNvbnRlbnRCbG9jaywgbGF5b3V0cywgdGFncyB9OiBDcmVhdGVDb2x1bW5zQmxvY2tPcHRpb25zPFQ+LFxuICAgIG92ZXJyaWRlPzogKFxuICAgICAgICBibG9jazogQmxvY2tJbnRlcmZhY2U8Q29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4sIENvbHVtbnNCbG9ja1N0YXRlPFQ+LCBDb2x1bW5zQmxvY2tGcmFnbWVudDxUPj4sXG4gICAgKSA9PiBCbG9ja0ludGVyZmFjZTxDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiwgQ29sdW1uc0Jsb2NrU3RhdGU8VD4sIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+Pixcbik6IEJsb2NrSW50ZXJmYWNlPENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+LCBDb2x1bW5zQmxvY2tTdGF0ZTxUPiwgQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4+IHtcbiAgICBpZiAobGF5b3V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOdW1iZXIgb2YgbGF5b3V0cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIWApO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZUxpc3RCbG9ja0FkbWluQ29tcG9uZW50ID0gY3JlYXRlVXNlTGlzdEJsb2NrQWRtaW5Db21wb25lbnQoeyBibG9jazogY29udGVudEJsb2NrIH0pO1xuXG4gICAgZnVuY3Rpb24gY3JlYXRlRW1wdHlDb2x1bW5zKG51bWJlcjogbnVtYmVyKTogTGlzdEJsb2NrSXRlbTxUPltdIHtcbiAgICAgICAgcmV0dXJuIG5ldyBBcnJheShudW1iZXIpLmZpbGwodW5kZWZpbmVkKS5tYXAoKCkgPT4gKHtcbiAgICAgICAgICAgIGtleTogdXVpZCgpLFxuICAgICAgICAgICAgcHJvcHM6IGNvbnRlbnRCbG9jay5kZWZhdWx0VmFsdWVzKCksXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICBzbGlkZUluOiBmYWxzZSxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgY29uc3QgQ29sdW1uc0Jsb2NrOiBCbG9ja0ludGVyZmFjZTxDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiwgQ29sdW1uc0Jsb2NrU3RhdGU8VD4sIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+PiA9IHtcbiAgICAgICAgLi4uY3JlYXRlQmxvY2tTa2VsZXRvbigpLFxuXG4gICAgICAgIG5hbWUsXG5cbiAgICAgICAgZGlzcGxheU5hbWUsXG5cbiAgICAgICAgdGFnczogdGFncyA/IHRhZ3MgOiBjb250ZW50QmxvY2sudGFncyxcblxuICAgICAgICBjYXRlZ29yeSxcblxuICAgICAgICBkZWZhdWx0VmFsdWVzOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0TGF5b3V0ID0gbGF5b3V0c1swXTtcblxuICAgICAgICAgICAgY29uc3Qgc3RhdGU6IENvbHVtbnNCbG9ja1N0YXRlPFQ+ID0ge1xuICAgICAgICAgICAgICAgIGxheW91dDogZGVmYXVsdExheW91dCxcbiAgICAgICAgICAgICAgICAvLyBBZGQgZW1wdHkgY29sdW1ucyBzbyB0aGUgbGlzdCBpcyBub3QgZW1wdHkgaW5pdGlhbGx5XG4gICAgICAgICAgICAgICAgY29sdW1uczogY3JlYXRlRW1wdHlDb2x1bW5zKGRlZmF1bHRMYXlvdXQuY29sdW1ucyksXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH0sXG5cbiAgICAgICAgaW5wdXQyU3RhdGU6IChpbnB1dCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0ID0gbGF5b3V0cy5maW5kKChsYXlvdXQpID0+IGxheW91dC5uYW1lID09PSBpbnB1dC5sYXlvdXQpO1xuXG4gICAgICAgICAgICBpZiAoIWxheW91dCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBsYXlvdXQgXCIke2lucHV0LmxheW91dH1cIiFgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICAgICAgY29sdW1uczogaW5wdXQuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLmlucHV0MlN0YXRlKGNvbHVtbi5wcm9wcyksXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVJbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGNvbHVtbi52aXNpYmxlLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG5cbiAgICAgICAgc3RhdGUyT3V0cHV0OiAob3V0cHV0KSA9PiAoe1xuICAgICAgICAgICAgbGF5b3V0OiBvdXRwdXQubGF5b3V0Lm5hbWUsXG4gICAgICAgICAgICBjb2x1bW5zOiBvdXRwdXQuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gKHtcbiAgICAgICAgICAgICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogY29sdW1uLnZpc2libGUsXG4gICAgICAgICAgICAgICAgcHJvcHM6IGNvbnRlbnRCbG9jay5zdGF0ZTJPdXRwdXQoY29sdW1uLnByb3BzKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgfSksXG5cbiAgICAgICAgb3V0cHV0MlN0YXRlOiBhc3luYyAob3V0cHV0LCBjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYXlvdXQgPSBsYXlvdXRzLmZpbmQoKGxheW91dCkgPT4gbGF5b3V0Lm5hbWUgPT09IG91dHB1dC5sYXlvdXQpO1xuXG4gICAgICAgICAgICBpZiAoIWxheW91dCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBsYXlvdXQgXCIke291dHB1dC5sYXlvdXR9XCIhYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHN0YXRlOiBDb2x1bW5zQmxvY2tTdGF0ZTxUPiA9IHtcbiAgICAgICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICAgICAgY29sdW1uczogW10sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbnMgb2Ygb3V0cHV0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5jb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogYXdhaXQgY29udGVudEJsb2NrLm91dHB1dDJTdGF0ZShjb2x1bW5zLnByb3BzLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzbGlkZUluOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9LFxuXG4gICAgICAgIGNyZWF0ZVByZXZpZXdTdGF0ZTogKHN0YXRlLCBwcmV2aWV3Q29udGV4dCkgPT4gKHtcbiAgICAgICAgICAgIGFkbWluTWV0YTogeyByb3V0ZTogcHJldmlld0NvbnRleHQucGFyZW50VXJsIH0sXG4gICAgICAgICAgICBsYXlvdXQ6IHN0YXRlLmxheW91dC5uYW1lLFxuICAgICAgICAgICAgY29sdW1uczogc3RhdGUuY29sdW1uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IChwcmV2aWV3Q29udGV4dC5zaG93VmlzaWJsZU9ubHkgPyBjLnZpc2libGUgOiB0cnVlKSkgLy8gZGVwZW5kaW5nIG9uIGNvbnRleHQgc2hvdyBhbGwgYmxvY2tzIG9yIG9ubHkgdmlzaWJsZSBibG9ja3NcbiAgICAgICAgICAgICAgICAubWFwKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tBZG1pblJvdXRlID0gYCR7cHJldmlld0NvbnRleHQucGFyZW50VXJsU3ViUm91dGUgPz8gcHJldmlld0NvbnRleHQucGFyZW50VXJsfS8ke2NvbHVtbi5rZXl9L2VkaXRgO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBjb2x1bW4udmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBjb250ZW50QmxvY2suY3JlYXRlUHJldmlld1N0YXRlKGNvbHVtbi5wcm9wcywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZpZXdDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFVybFN1YlJvdXRlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50VXJsOiBibG9ja0FkbWluUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkbWluUm91dGU6IGJsb2NrQWRtaW5Sb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkbWluTWV0YTogeyByb3V0ZTogYmxvY2tBZG1pblJvdXRlIH0sXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuXG4gICAgICAgIGlzVmFsaWQ6IChzdGF0ZSkgPT4gcGFyYWxsZWxBc3luY0V2ZXJ5KHN0YXRlLmNvbHVtbnMsIChjb2x1bW4pID0+IGNvbnRlbnRCbG9jay5pc1ZhbGlkKGNvbHVtbi5wcm9wcykpLFxuXG4gICAgICAgIGFuY2hvcnM6IChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmNvbHVtbnMucmVkdWNlPHN0cmluZ1tdPigoYW5jaG9ycywgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5hbmNob3JzLCAuLi4oY29udGVudEJsb2NrLmFuY2hvcnM/Lihjb2x1bW4ucHJvcHMpID8/IFtdKV07XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVwZW5kZW5jaWVzOiAoc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZERlcGVuZGVuY2llcyA9IHN0YXRlLmNvbHVtbnMucmVkdWNlPEJsb2NrRGVwZW5kZW5jeVtdPigoZGVwZW5kZW5jaWVzLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmRlcGVuZGVuY2llcywgLi4uKGNvbnRlbnRCbG9jay5kZXBlbmRlbmNpZXM/Lihjb2x1bW4ucHJvcHMpID8/IFtdKV07XG4gICAgICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgICAgIHJldHVybiBkZWR1cGxpY2F0ZUJsb2NrRGVwZW5kZW5jaWVzKG1lcmdlZERlcGVuZGVuY2llcyk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcmVwbGFjZURlcGVuZGVuY2llc0luT3V0cHV0OiAob3V0cHV0LCByZXBsYWNlbWVudHMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld091dHB1dDogQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4gPSB7IC4uLm91dHB1dCwgY29sdW1uczogW10gfTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2Ygb3V0cHV0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBuZXdPdXRwdXQuY29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLnJlcGxhY2VEZXBlbmRlbmNpZXNJbk91dHB1dChjb2x1bW4ucHJvcHMsIHJlcGxhY2VtZW50cyksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdPdXRwdXQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgQWRtaW5Db21wb25lbnQ6ICh7IHN0YXRlLCB1cGRhdGVTdGF0ZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpID0gY3JlYXRlR3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpKGxheW91dHMpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlTGlzdEJsb2NrQWRtaW5DaGFuZ2U6IERpc3BhdGNoPFNldFN0YXRlQWN0aW9uPExpc3RCbG9ja1N0YXRlPFQ+Pj4gPSAobGlzdEJsb2NrU2V0U3RhdGVBY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RCbG9ja1N0YXRlID0gcmVzb2x2ZU5ld1N0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZTdGF0ZTogeyBibG9ja3M6IHByZXZTdGF0ZS5jb2x1bW5zIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZUFjdGlvbjogbGlzdEJsb2NrU2V0U3RhdGVBY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uczogbGlzdEJsb2NrU3RhdGUuYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICBjYW5ub3RQYXN0ZUJsb2NrRXJyb3JEaWFsb2csXG4gICAgICAgICAgICAgICAgY3JlYXRlVXBkYXRlU3ViQmxvY2tzRm4sXG4gICAgICAgICAgICAgICAgdXBkYXRlQ2xpcGJvYXJkQ29udGVudCxcbiAgICAgICAgICAgICAgICBhZGROZXdCbG9jayxcbiAgICAgICAgICAgICAgICBjb3B5U2VsZWN0ZWRCbG9ja3MsXG4gICAgICAgICAgICAgICAgZGVsZXRlQWxsU2VsZWN0ZWRCbG9ja3MsXG4gICAgICAgICAgICAgICAgc2VsZWN0QmxvY2ssXG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlU2VsZWN0QWxsLFxuICAgICAgICAgICAgICAgIHBhc3RlQmxvY2ssXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRDb3VudCxcbiAgICAgICAgICAgICAgICBkZWxldGVCbG9ja3MsXG4gICAgICAgICAgICAgICAgdG9nZ2xlVmlzaWJsZSxcbiAgICAgICAgICAgIH0gPSB1c2VMaXN0QmxvY2tBZG1pbkNvbXBvbmVudCh7IHN0YXRlOiB7IGJsb2Nrczogc3RhdGUuY29sdW1ucyB9LCB1cGRhdGVTdGF0ZTogaGFuZGxlTGlzdEJsb2NrQWRtaW5DaGFuZ2UgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrU3dpdGNoIGluaXRpYWxQYWdlPVwibGlzdFwiIGRpc2FibGVGb3JjZVByb21wdFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrUGFnZSBuYW1lPVwibGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCbG9ja3NGaW5hbEZvcm08eyBsYXlvdXQ6IENvbHVtbnNCbG9ja0xheW91dDsgY29sdW1uczogbnVtYmVyIH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU3VibWl0PXsoeyBsYXlvdXQsIGNvbHVtbnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRMYXlvdXRGb3JTZWxlY3RlZENvbHVtbnMgPSBncm91cExheW91dHNCeUNvbHVtbnNBcGkuZ2V0RGVmYXVsdExheW91dChjb2x1bW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdMYXlvdXQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQuY29sdW1ucyAhPT0gY29sdW1ucyAmJiBkZWZhdWx0TGF5b3V0Rm9yU2VsZWN0ZWRDb2x1bW5zID8gZGVmYXVsdExheW91dEZvclNlbGVjdGVkQ29sdW1ucyA6IGxheW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtaXNzaW5nRW1wdHlDb2x1bW5zID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA+IHByZXZTdGF0ZS5jb2x1bW5zLmxlbmd0aCA/IGNyZWF0ZUVtcHR5Q29sdW1ucyhjb2x1bW5zIC0gcHJldlN0YXRlLmNvbHVtbnMubGVuZ3RoKSA6IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiBuZXdMYXlvdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IFsuLi5wcmV2U3RhdGUuY29sdW1ucywgLi4ubWlzc2luZ0VtcHR5Q29sdW1uc10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsVmFsdWVzPXt7IGxheW91dDogc3RhdGUubGF5b3V0LCBjb2x1bW5zOiBzdGF0ZS5sYXlvdXQuY29sdW1ucyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5jb2x1bW5zXCIgZGVmYXVsdE1lc3NhZ2U9XCJDb2x1bW5zXCIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ZpbmFsRm9ybUNvbHVtbnNTZWxlY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zPXtncm91cExheW91dHNCeUNvbHVtbnNBcGkuY29sdW1uc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJsYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9ezxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMubGF5b3V0XCIgZGVmYXVsdE1lc3NhZ2U9XCJMYXlvdXRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17RmluYWxGb3JtTGF5b3V0U2VsZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0cz17Z3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpLmdldExheW91dHMoc3RhdGUubGF5b3V0LmNvbHVtbnMpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja3NGaW5hbEZvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uIHRpdGxlPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLml0ZW1zXCIgZGVmYXVsdE1lc3NhZ2U9XCJJdGVtc1wiIC8+fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRQYXBlciBkaXNhYmxlUGFkZGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFja1N3aXRjaEFwaUNvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhzdGFja0FwaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrTGlzdEhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N0YXRlLmNvbHVtbnMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEFsbEZyb21Db250cm9sTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtzZWxlY3RlZENvdW50ID09PSBzdGF0ZS5jb2x1bW5zLmxlbmd0aCAmJiBzZWxlY3RlZENvdW50ID4gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV0ZXJtaW5hdGU9e3NlbGVjdGVkQ291bnQgPiAwICYmIHNlbGVjdGVkQ291bnQgIT09IHN0YXRlLmNvbHVtbnMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRvZ2dsZVNlbGVjdEFsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5saXN0LnNlbGVjdEFsbFwiIGRlZmF1bHRNZXNzYWdlPVwiU2VsZWN0IGFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrTGlzdEhlYWRlckFjdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZENvdW50ID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gb25DbGljaz17ZGVsZXRlQWxsU2VsZWN0ZWRCbG9ja3N9IHNpemU9XCJsYXJnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERlbGV0ZSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uIG9uQ2xpY2s9e2NvcHlTZWxlY3RlZEJsb2Nrc30gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29weSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gb25DbGljaz17KCkgPT4gcGFzdGVCbG9jaygwKX0gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhc3RlIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tMaXN0SGVhZGVyQWN0aW9uQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tMaXN0SGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3RhdGUuY29sdW1ucy5tYXAoKGNvbHVtbiwgY29sdW1uSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhvdmVyUHJldmlld0NvbXBvbmVudCBrZXk9e2NvbHVtbi5rZXl9IGNvbXBvbmVudFNsdWc9e2Ake2NvbHVtbi5rZXl9L2NvbnRlbnRgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y29sdW1uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclByZXZpZXdDb250ZW50PXsoKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrUHJldmlld0NvbnRlbnQgYmxvY2s9e2NvbnRlbnRCbG9ja30gc3RhdGU9e2NvbHVtbi5wcm9wc30gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17Y29sdW1uSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNvbnRlbnRDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwgY29sdW1uLmtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25EZWxldGVDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZUJsb2NrcyhbY29sdW1uLmtleV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVCbG9jaz17KGZyb20sIHRvKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gWy4uLnByZXZTdGF0ZS5jb2x1bW5zXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1uVG9Nb3ZlID0gY29sdW1ucy5zcGxpY2UoZnJvbSwgMSlbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMuc3BsaWNlKHRvLCAwLCBjb2x1bW5Ub01vdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5wcmV2U3RhdGUsIGNvbHVtbnMgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5QnV0dG9uPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXsoKSA9PiB0b2dnbGVWaXNpYmxlKGNvbHVtbi5rZXkpfSBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbHVtbi52aXNpYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpc2libGUgY29sb3I9XCJzdWNjZXNzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnZpc2libGUgY29sb3I9XCJhY3Rpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQWRkTmV3QmxvY2s9eyhiZWZvcmVJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGFkZE5ld0Jsb2NrKGJlZm9yZUluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja0FwaS5hY3RpdmF0ZVBhZ2UoXCJlZGl0XCIsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Db3B5Q2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVDbGlwYm9hcmRDb250ZW50KFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY29udGVudEJsb2NrLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBjb2x1bW4udmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBjb2x1bW4ucHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25QYXN0ZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzdGVCbG9jayhjb2x1bW5JbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtjb2x1bW4uc2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdGVkQ2xpY2s9eyhzZWxlY3RlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdEJsb2NrKGNvbHVtbiwgc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWRGbj17KCkgPT4gY29udGVudEJsb2NrLmlzVmFsaWQoY29sdW1uLnByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlSW49e2NvbHVtbi5zbGlkZUlufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUJvdHRvbUluc2VydEJldHdlZW5CdXR0b249e2NvbHVtbkluZGV4ID49IHN0YXRlLmNvbHVtbnMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hvdmVyUHJldmlld0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdGF0ZS5jb2x1bW5zLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhZGROZXdCbG9jaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFyZ2VBZGRCdXR0b25Db250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYXJnZUFkZEJ1dHRvbkljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5hZGRJdGVtXCIgZGVmYXVsdE1lc3NhZ2U9XCJBZGQgaXRlbVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYXJnZUFkZEJ1dHRvbkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWRtaW5Db21wb25lbnRTdGlja3lGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGFkZE5ld0Jsb2NrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRJY29uPXs8QWRkIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMuYWRkSXRlbVwiIGRlZmF1bHRNZXNzYWdlPVwiQWRkIGl0ZW1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja0FkbWluQ29tcG9uZW50QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FkbWluQ29tcG9uZW50U3RpY2t5Rm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2tTd2l0Y2hBcGlDb250ZXh0LkNvbnN1bWVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2NrQWRtaW5Db21wb25lbnRQYXBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFja1BhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2tQYWdlIG5hbWU9XCJlZGl0XCIgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7IGlkOiBcImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmVkaXRDb2x1bW5cIiwgZGVmYXVsdE1lc3NhZ2U6IFwiRWRpdCBjb2x1bW5cIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IHN0YXRlLmNvbHVtbnMuZmluZEluZGV4KChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGtleSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy51bmtub3duQ29sdW1uXCIgZGVmYXVsdE1lc3NhZ2U9XCJDYW4ndCBmaW5kIGNvbHVtblwiIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSBzdGF0ZS5jb2x1bW5zW21hdGNoSW5kZXhdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2tQYWdlVGl0bGUgdGl0bGU9e2NvbHVtbkNvdW50TGFiZWwoaW50bCwgbWF0Y2hJbmRleCArIDEpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29udGVudEJsb2NrLkFkbWluQ29tcG9uZW50IHN0YXRlPXttYXRjaC5wcm9wc30gdXBkYXRlU3RhdGU9e2NyZWF0ZVVwZGF0ZVN1YkJsb2Nrc0ZuKGtleSl9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrUGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrUGFnZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFja1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAge2Nhbm5vdFBhc3RlQmxvY2tFcnJvckRpYWxvZ31cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcHJldmlld0NvbnRlbnQ6IChzdGF0ZSwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgaWYgKHN0YXRlLmNvbHVtbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLm5vQ29sdW1uc1wiIGRlZmF1bHRNZXNzYWdlPVwiTm8gY29sdW1uc1wiIC8+LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5jb2x1bW5zLnJlZHVjZTxQcmV2aWV3Q29udGVudFtdPihcbiAgICAgICAgICAgICAgICAocHJldmlld0NvbnRlbnQsIGN1cnJlbnRDb2x1bW4pID0+IFsuLi5wcmV2aWV3Q29udGVudCwgLi4uY29udGVudEJsb2NrLnByZXZpZXdDb250ZW50KGN1cnJlbnRDb2x1bW4ucHJvcHMsIGNvbnRleHQpXSxcbiAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcmVzb2x2ZURlcGVuZGVuY3lQYXRoOiAoc3RhdGUsIGpzb25QYXRoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIS9eY29sdW1ucy5cXGQrLnByb3BzLy50ZXN0KGpzb25QYXRoKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvbHVtbnNCbG9jazogSW52YWxpZCBqc29uUGF0aFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcGF0aEFyciA9IGpzb25QYXRoLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IE51bWJlcihwYXRoQXJyWzFdKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrSXRlbSA9IHN0YXRlLmNvbHVtbnNbbnVtXTtcblxuICAgICAgICAgICAgY29uc3QgY2hpbGRQYXRoID0gY29udGVudEJsb2NrLnJlc29sdmVEZXBlbmRlbmN5UGF0aChibG9ja0l0ZW0ucHJvcHMsIHBhdGhBcnIuc2xpY2UoMykuam9pbihcIi5cIikpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2Jsb2NrSXRlbS5rZXl9L2VkaXQvJHtjaGlsZFBhdGh9YDtcbiAgICAgICAgfSxcblxuICAgICAgICBleHRyYWN0VGV4dENvbnRlbnRzOiAoc3RhdGUsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluY2x1ZGVJbnZpc2libGVDb250ZW50ID0gb3B0aW9ucz8uaW5jbHVkZUludmlzaWJsZUNvbnRlbnQgPz8gZmFsc2U7XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5jb2x1bW5zLnJlZHVjZTxzdHJpbmdbXT4oKGNvbnRlbnQsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY29sdW1uLnZpc2libGUgJiYgIWluY2x1ZGVJbnZpc2libGVDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBbLi4uY29udGVudCwgLi4uKGNvbnRlbnRCbG9jay5leHRyYWN0VGV4dENvbnRlbnRzPy4oY29sdW1uLnByb3BzLCBvcHRpb25zKSA/PyBbXSldO1xuICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICB9LFxuICAgICAgICB0cmFuc2xhdGVDb250ZW50OiBhc3luYyAoc3RhdGUsIHRyYW5zbGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZENvbHVtbnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICBzdGF0ZS5jb2x1bW5zLm1hcChhc3luYyAoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRQcm9wcyA9IGNvbnRlbnRCbG9jay50cmFuc2xhdGVDb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICA/IGF3YWl0IGNvbnRlbnRCbG9jay50cmFuc2xhdGVDb250ZW50KGNvbHVtbi5wcm9wcywgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4ucHJvcHM7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLmNvbHVtbiwgcHJvcHM6IHRyYW5zbGF0ZWRQcm9wcyB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBjb2x1bW5zOiB0cmFuc2xhdGVkQ29sdW1ucyB9O1xuICAgICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob3ZlcnJpZGUpIHtcbiAgICAgICAgcmV0dXJuIG92ZXJyaWRlKENvbHVtbnNCbG9jayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENvbHVtbnNCbG9jaztcbn1cblxuY29uc3QgQmxvY2tMaXN0SGVhZGVyID0gc3R5bGVkKFwiZGl2XCIpYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBCbG9ja0xpc3RIZWFkZXJBY3Rpb25Db250YWluZXIgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgcGFkZGluZzogMTJweCAwO1xuYDtcblxuY29uc3QgU2VsZWN0QWxsRnJvbUNvbnRyb2xMYWJlbCA9IHN0eWxlZChGb3JtQ29udHJvbExhYmVsKWBcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTVweCA3cHg7XG5gO1xuXG5jb25zdCBMYXJnZUFkZEJ1dHRvbkNvbnRlbnQgPSBzdHlsZWQoXCJzcGFuXCIpYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDRweCAwO1xuYDtcblxuY29uc3QgTGFyZ2VBZGRCdXR0b25JY29uID0gc3R5bGVkKEFkZClgXG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbnR5cGUgR3JvdXBlZExheW91dHNCeUNvbHVtbnNBcGkgPSB7XG4gICAgY29sdW1uczogbnVtYmVyW107XG4gICAgZ2V0TGF5b3V0czogKGNvbHVtbnM6IG51bWJlcikgPT4gQ29sdW1uc0Jsb2NrTGF5b3V0W107XG4gICAgZ2V0RGVmYXVsdExheW91dDogKGNvbHVtbnM6IG51bWJlcikgPT4gQ29sdW1uc0Jsb2NrTGF5b3V0IHwgdW5kZWZpbmVkO1xufTtcblxuZnVuY3Rpb24gY29sdW1uQ291bnRMYWJlbChpbnRsOiBJbnRsU2hhcGUsIGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiBcImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmNvbHVtblRpdGxlXCIsXG4gICAgICAgICAgICBkZWZhdWx0TWVzc2FnZTogXCJDb2x1bW4ge251bWJlcn1cIixcbiAgICAgICAgfSxcbiAgICAgICAgeyBudW1iZXI6IGNvdW50IH0sXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpKGxheW91dHM6IENvbHVtbnNCbG9ja0xheW91dFtdKTogR3JvdXBlZExheW91dHNCeUNvbHVtbnNBcGkge1xuICAgIGNvbnN0IGdyb3VwZWRMYXlvdXRzID0gbGF5b3V0cy5yZWR1Y2UoKGFjYywgYykgPT4ge1xuICAgICAgICBhY2Muc2V0KGMuY29sdW1ucywgWy4uLihhY2MuZ2V0KGMuY29sdW1ucykgfHwgW10pLCBjXSk7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgbmV3IE1hcDxudW1iZXIsIENvbHVtbnNCbG9ja0xheW91dFtdPigpKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGNvbHVtbnM6IEFycmF5LmZyb20oZ3JvdXBlZExheW91dHMua2V5cygpKSxcbiAgICAgICAgZ2V0TGF5b3V0czogKGNvbHVtbnM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGdyb3VwZWRMYXlvdXRzLmdldChjb2x1bW5zKSB8fCBbXTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0RGVmYXVsdExheW91dDogKGNvbHVtbnM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0cyA9IGdyb3VwZWRMYXlvdXRzLmdldChjb2x1bW5zKSB8fCBbXTtcbiAgICAgICAgICAgIHJldHVybiBsYXlvdXRzLmxlbmd0aCA/IGxheW91dHNbMF0gOiB1bmRlZmluZWQ7XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ== */",
|
|
608
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
609
|
+
});
|
|
610
|
+
var SelectAllFromControlLabel = /*#__PURE__*/styled(FormControlLabel, process.env.NODE_ENV === "production" ? {
|
|
611
|
+
target: "ezc5hww2"
|
|
612
|
+
} : {
|
|
613
|
+
target: "ezc5hww2",
|
|
614
|
+
label: "SelectAllFromControlLabel"
|
|
615
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
616
|
+
name: "gqnhuy",
|
|
617
|
+
styles: "padding:15px 10px 15px 7px"
|
|
618
|
+
} : {
|
|
619
|
+
name: "gqnhuy",
|
|
620
|
+
styles: "padding:15px 10px 15px 7px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9ja3MvZmFjdG9yaWVzL2NyZWF0ZUNvbHVtbnNCbG9jay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb2dCMEQiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2Jsb2Nrcy9mYWN0b3JpZXMvY3JlYXRlQ29sdW1uc0Jsb2NrLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkLCBTdGFja1BhZ2UsIFN0YWNrUGFnZVRpdGxlLCBTdGFja1N3aXRjaCwgU3RhY2tTd2l0Y2hBcGlDb250ZXh0IH0gZnJvbSBcIkBkZXh0aW5pdHkvYWRtaW5cIjtcbmltcG9ydCB7IEFkZCwgQ29weSwgRGVsZXRlLCBJbnZpc2libGUsIFBhc3RlLCBWaXNpYmxlIH0gZnJvbSBcIkBkZXh0aW5pdHkvYWRtaW4taWNvbnNcIjtcbmltcG9ydCB7IENoZWNrYm94LCBEaXZpZGVyLCBGb3JtQ29udHJvbExhYmVsLCBJY29uQnV0dG9uLCBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHR5cGUgeyBEaXNwYXRjaCwgUmVhY3ROb2RlLCBTZXRTdGF0ZUFjdGlvbiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSwgdHlwZSBJbnRsU2hhcGUsIHR5cGUgTWVzc2FnZURlc2NyaXB0b3IsIHVzZUludGwgfSBmcm9tIFwicmVhY3QtaW50bFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gXCJ1dWlkXCI7XG5cbmltcG9ydCB7IEFkbWluQ29tcG9uZW50U3RpY2t5Rm9vdGVyIH0gZnJvbSBcIi4uL2NvbW1vbi9BZG1pbkNvbXBvbmVudFN0aWNreUZvb3RlclwiO1xuaW1wb3J0IHsgQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvbiB9IGZyb20gXCIuLi9jb21tb24vQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvblwiO1xuaW1wb3J0IHsgQmxvY2tBZG1pbkNvbXBvbmVudFBhcGVyIH0gZnJvbSBcIi4uL2NvbW1vbi9CbG9ja0FkbWluQ29tcG9uZW50UGFwZXJcIjtcbmltcG9ydCB7IEJsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uIH0gZnJvbSBcIi4uL2NvbW1vbi9CbG9ja0FkbWluQ29tcG9uZW50U2VjdGlvblwiO1xuaW1wb3J0IHsgQmxvY2tQcmV2aWV3Q29udGVudCB9IGZyb20gXCIuLi9jb21tb24vYmxvY2tSb3cvQmxvY2tQcmV2aWV3Q29udGVudFwiO1xuaW1wb3J0IHsgQmxvY2tSb3cgfSBmcm9tIFwiLi4vY29tbW9uL2Jsb2NrUm93L0Jsb2NrUm93XCI7XG5pbXBvcnQgeyBCbG9ja3NGaW5hbEZvcm0gfSBmcm9tIFwiLi4vZm9ybS9CbG9ja3NGaW5hbEZvcm1cIjtcbmltcG9ydCB7IGNyZWF0ZUJsb2NrU2tlbGV0b24gfSBmcm9tIFwiLi4vaGVscGVycy9jcmVhdGVCbG9ja1NrZWxldG9uXCI7XG5pbXBvcnQgeyBkZWR1cGxpY2F0ZUJsb2NrRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4uL2hlbHBlcnMvZGVkdXBsaWNhdGVCbG9ja0RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgSG92ZXJQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSBcIi4uL2lmcmFtZWJyaWRnZS9Ib3ZlclByZXZpZXdDb21wb25lbnRcIjtcbmltcG9ydCB7IFNlbGVjdFByZXZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi4vaWZyYW1lYnJpZGdlL1NlbGVjdFByZXZpZXdDb21wb25lbnRcIjtcbmltcG9ydCB7XG4gICAgQmxvY2tDYXRlZ29yeSxcbiAgICB0eXBlIEJsb2NrRGVwZW5kZW5jeSxcbiAgICB0eXBlIEJsb2NrSW5wdXRBcGksXG4gICAgdHlwZSBCbG9ja0ludGVyZmFjZSxcbiAgICB0eXBlIEN1c3RvbUJsb2NrQ2F0ZWdvcnksXG4gICAgdHlwZSBQcmV2aWV3Q29udGVudCxcbn0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyByZXNvbHZlTmV3U3RhdGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IHBhcmFsbGVsQXN5bmNFdmVyeSB9IGZyb20gXCIuLi91dGlscy9wYXJhbGxlbEFzeW5jRXZlcnlcIjtcbmltcG9ydCB7IEZpbmFsRm9ybUNvbHVtbnNTZWxlY3QgfSBmcm9tIFwiLi9jb2x1bW5zQmxvY2svRmluYWxGb3JtQ29sdW1uc1NlbGVjdFwiO1xuaW1wb3J0IHsgRmluYWxGb3JtTGF5b3V0U2VsZWN0IH0gZnJvbSBcIi4vY29sdW1uc0Jsb2NrL0ZpbmFsRm9ybUxheW91dFNlbGVjdFwiO1xuaW1wb3J0IHR5cGUgeyBMaXN0QmxvY2tJdGVtLCBMaXN0QmxvY2tTdGF0ZSB9IGZyb20gXCIuL2NyZWF0ZUxpc3RCbG9ja1wiO1xuaW1wb3J0IHsgY3JlYXRlVXNlQWRtaW5Db21wb25lbnQgYXMgY3JlYXRlVXNlTGlzdEJsb2NrQWRtaW5Db21wb25lbnQgfSBmcm9tIFwiLi9saXN0QmxvY2svY3JlYXRlVXNlQWRtaW5Db21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zQmxvY2tMYXlvdXQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBjb2x1bW5zOiBudW1iZXI7XG4gICAgbGFiZWw6IFJlYWN0Tm9kZTtcbiAgICBwcmV2aWV3OiBSZWFjdE5vZGU7XG4gICAgc2VjdGlvbj86XG4gICAgICAgIHwgc3RyaW5nXG4gICAgICAgIHwge1xuICAgICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICAgIGxhYmVsPzogUmVhY3ROb2RlO1xuICAgICAgICAgIH07XG59XG5cbmludGVyZmFjZSBDb2x1bW5zQmxvY2tGcmFnbWVudDxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2U+IHtcbiAgICBsYXlvdXQ6IHN0cmluZztcbiAgICBjb2x1bW5zOiBBcnJheTx7XG4gICAgICAgIGtleTogc3RyaW5nO1xuICAgICAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgICAgICBwcm9wczogQmxvY2tJbnB1dEFwaTxUPjtcbiAgICB9Pjtcbn1cblxuaW50ZXJmYWNlIENvbHVtbnNCbG9ja1N0YXRlPFQgZXh0ZW5kcyBCbG9ja0ludGVyZmFjZT4ge1xuICAgIGxheW91dDogQ29sdW1uc0Jsb2NrTGF5b3V0O1xuICAgIGNvbHVtbnM6IExpc3RCbG9ja0l0ZW08VD5bXTtcbn1cblxuaW50ZXJmYWNlIENyZWF0ZUNvbHVtbnNCbG9ja09wdGlvbnM8VCBleHRlbmRzIEJsb2NrSW50ZXJmYWNlPiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBSZWFjdE5vZGU7XG4gICAgY2F0ZWdvcnk/OiBCbG9ja0NhdGVnb3J5IHwgQ3VzdG9tQmxvY2tDYXRlZ29yeTtcbiAgICBjb250ZW50QmxvY2s6IFQ7XG4gICAgbGF5b3V0czogQ29sdW1uc0Jsb2NrTGF5b3V0W107XG4gICAgdGFncz86IEFycmF5PE1lc3NhZ2VEZXNjcmlwdG9yIHwgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbHVtbnNCbG9jazxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2U+KFxuICAgIHsgbmFtZSwgZGlzcGxheU5hbWUsIGNhdGVnb3J5ID0gQmxvY2tDYXRlZ29yeS5MYXlvdXQsIGNvbnRlbnRCbG9jaywgbGF5b3V0cywgdGFncyB9OiBDcmVhdGVDb2x1bW5zQmxvY2tPcHRpb25zPFQ+LFxuICAgIG92ZXJyaWRlPzogKFxuICAgICAgICBibG9jazogQmxvY2tJbnRlcmZhY2U8Q29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4sIENvbHVtbnNCbG9ja1N0YXRlPFQ+LCBDb2x1bW5zQmxvY2tGcmFnbWVudDxUPj4sXG4gICAgKSA9PiBCbG9ja0ludGVyZmFjZTxDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiwgQ29sdW1uc0Jsb2NrU3RhdGU8VD4sIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+Pixcbik6IEJsb2NrSW50ZXJmYWNlPENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+LCBDb2x1bW5zQmxvY2tTdGF0ZTxUPiwgQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4+IHtcbiAgICBpZiAobGF5b3V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOdW1iZXIgb2YgbGF5b3V0cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIWApO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZUxpc3RCbG9ja0FkbWluQ29tcG9uZW50ID0gY3JlYXRlVXNlTGlzdEJsb2NrQWRtaW5Db21wb25lbnQoeyBibG9jazogY29udGVudEJsb2NrIH0pO1xuXG4gICAgZnVuY3Rpb24gY3JlYXRlRW1wdHlDb2x1bW5zKG51bWJlcjogbnVtYmVyKTogTGlzdEJsb2NrSXRlbTxUPltdIHtcbiAgICAgICAgcmV0dXJuIG5ldyBBcnJheShudW1iZXIpLmZpbGwodW5kZWZpbmVkKS5tYXAoKCkgPT4gKHtcbiAgICAgICAgICAgIGtleTogdXVpZCgpLFxuICAgICAgICAgICAgcHJvcHM6IGNvbnRlbnRCbG9jay5kZWZhdWx0VmFsdWVzKCksXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICBzbGlkZUluOiBmYWxzZSxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgY29uc3QgQ29sdW1uc0Jsb2NrOiBCbG9ja0ludGVyZmFjZTxDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiwgQ29sdW1uc0Jsb2NrU3RhdGU8VD4sIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+PiA9IHtcbiAgICAgICAgLi4uY3JlYXRlQmxvY2tTa2VsZXRvbigpLFxuXG4gICAgICAgIG5hbWUsXG5cbiAgICAgICAgZGlzcGxheU5hbWUsXG5cbiAgICAgICAgdGFnczogdGFncyA/IHRhZ3MgOiBjb250ZW50QmxvY2sudGFncyxcblxuICAgICAgICBjYXRlZ29yeSxcblxuICAgICAgICBkZWZhdWx0VmFsdWVzOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0TGF5b3V0ID0gbGF5b3V0c1swXTtcblxuICAgICAgICAgICAgY29uc3Qgc3RhdGU6IENvbHVtbnNCbG9ja1N0YXRlPFQ+ID0ge1xuICAgICAgICAgICAgICAgIGxheW91dDogZGVmYXVsdExheW91dCxcbiAgICAgICAgICAgICAgICAvLyBBZGQgZW1wdHkgY29sdW1ucyBzbyB0aGUgbGlzdCBpcyBub3QgZW1wdHkgaW5pdGlhbGx5XG4gICAgICAgICAgICAgICAgY29sdW1uczogY3JlYXRlRW1wdHlDb2x1bW5zKGRlZmF1bHRMYXlvdXQuY29sdW1ucyksXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH0sXG5cbiAgICAgICAgaW5wdXQyU3RhdGU6IChpbnB1dCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0ID0gbGF5b3V0cy5maW5kKChsYXlvdXQpID0+IGxheW91dC5uYW1lID09PSBpbnB1dC5sYXlvdXQpO1xuXG4gICAgICAgICAgICBpZiAoIWxheW91dCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBsYXlvdXQgXCIke2lucHV0LmxheW91dH1cIiFgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICAgICAgY29sdW1uczogaW5wdXQuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLmlucHV0MlN0YXRlKGNvbHVtbi5wcm9wcyksXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVJbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGNvbHVtbi52aXNpYmxlLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG5cbiAgICAgICAgc3RhdGUyT3V0cHV0OiAob3V0cHV0KSA9PiAoe1xuICAgICAgICAgICAgbGF5b3V0OiBvdXRwdXQubGF5b3V0Lm5hbWUsXG4gICAgICAgICAgICBjb2x1bW5zOiBvdXRwdXQuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gKHtcbiAgICAgICAgICAgICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogY29sdW1uLnZpc2libGUsXG4gICAgICAgICAgICAgICAgcHJvcHM6IGNvbnRlbnRCbG9jay5zdGF0ZTJPdXRwdXQoY29sdW1uLnByb3BzKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgfSksXG5cbiAgICAgICAgb3V0cHV0MlN0YXRlOiBhc3luYyAob3V0cHV0LCBjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYXlvdXQgPSBsYXlvdXRzLmZpbmQoKGxheW91dCkgPT4gbGF5b3V0Lm5hbWUgPT09IG91dHB1dC5sYXlvdXQpO1xuXG4gICAgICAgICAgICBpZiAoIWxheW91dCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBsYXlvdXQgXCIke291dHB1dC5sYXlvdXR9XCIhYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHN0YXRlOiBDb2x1bW5zQmxvY2tTdGF0ZTxUPiA9IHtcbiAgICAgICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICAgICAgY29sdW1uczogW10sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbnMgb2Ygb3V0cHV0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5jb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogYXdhaXQgY29udGVudEJsb2NrLm91dHB1dDJTdGF0ZShjb2x1bW5zLnByb3BzLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzbGlkZUluOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9LFxuXG4gICAgICAgIGNyZWF0ZVByZXZpZXdTdGF0ZTogKHN0YXRlLCBwcmV2aWV3Q29udGV4dCkgPT4gKHtcbiAgICAgICAgICAgIGFkbWluTWV0YTogeyByb3V0ZTogcHJldmlld0NvbnRleHQucGFyZW50VXJsIH0sXG4gICAgICAgICAgICBsYXlvdXQ6IHN0YXRlLmxheW91dC5uYW1lLFxuICAgICAgICAgICAgY29sdW1uczogc3RhdGUuY29sdW1uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IChwcmV2aWV3Q29udGV4dC5zaG93VmlzaWJsZU9ubHkgPyBjLnZpc2libGUgOiB0cnVlKSkgLy8gZGVwZW5kaW5nIG9uIGNvbnRleHQgc2hvdyBhbGwgYmxvY2tzIG9yIG9ubHkgdmlzaWJsZSBibG9ja3NcbiAgICAgICAgICAgICAgICAubWFwKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tBZG1pblJvdXRlID0gYCR7cHJldmlld0NvbnRleHQucGFyZW50VXJsU3ViUm91dGUgPz8gcHJldmlld0NvbnRleHQucGFyZW50VXJsfS8ke2NvbHVtbi5rZXl9L2VkaXRgO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBjb2x1bW4udmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBjb250ZW50QmxvY2suY3JlYXRlUHJldmlld1N0YXRlKGNvbHVtbi5wcm9wcywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZpZXdDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFVybFN1YlJvdXRlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50VXJsOiBibG9ja0FkbWluUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkbWluUm91dGU6IGJsb2NrQWRtaW5Sb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkbWluTWV0YTogeyByb3V0ZTogYmxvY2tBZG1pblJvdXRlIH0sXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuXG4gICAgICAgIGlzVmFsaWQ6IChzdGF0ZSkgPT4gcGFyYWxsZWxBc3luY0V2ZXJ5KHN0YXRlLmNvbHVtbnMsIChjb2x1bW4pID0+IGNvbnRlbnRCbG9jay5pc1ZhbGlkKGNvbHVtbi5wcm9wcykpLFxuXG4gICAgICAgIGFuY2hvcnM6IChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmNvbHVtbnMucmVkdWNlPHN0cmluZ1tdPigoYW5jaG9ycywgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5hbmNob3JzLCAuLi4oY29udGVudEJsb2NrLmFuY2hvcnM/Lihjb2x1bW4ucHJvcHMpID8/IFtdKV07XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVwZW5kZW5jaWVzOiAoc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZERlcGVuZGVuY2llcyA9IHN0YXRlLmNvbHVtbnMucmVkdWNlPEJsb2NrRGVwZW5kZW5jeVtdPigoZGVwZW5kZW5jaWVzLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmRlcGVuZGVuY2llcywgLi4uKGNvbnRlbnRCbG9jay5kZXBlbmRlbmNpZXM/Lihjb2x1bW4ucHJvcHMpID8/IFtdKV07XG4gICAgICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgICAgIHJldHVybiBkZWR1cGxpY2F0ZUJsb2NrRGVwZW5kZW5jaWVzKG1lcmdlZERlcGVuZGVuY2llcyk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcmVwbGFjZURlcGVuZGVuY2llc0luT3V0cHV0OiAob3V0cHV0LCByZXBsYWNlbWVudHMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld091dHB1dDogQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4gPSB7IC4uLm91dHB1dCwgY29sdW1uczogW10gfTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2Ygb3V0cHV0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBuZXdPdXRwdXQuY29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLnJlcGxhY2VEZXBlbmRlbmNpZXNJbk91dHB1dChjb2x1bW4ucHJvcHMsIHJlcGxhY2VtZW50cyksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdPdXRwdXQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgQWRtaW5Db21wb25lbnQ6ICh7IHN0YXRlLCB1cGRhdGVTdGF0ZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpID0gY3JlYXRlR3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpKGxheW91dHMpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlTGlzdEJsb2NrQWRtaW5DaGFuZ2U6IERpc3BhdGNoPFNldFN0YXRlQWN0aW9uPExpc3RCbG9ja1N0YXRlPFQ+Pj4gPSAobGlzdEJsb2NrU2V0U3RhdGVBY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RCbG9ja1N0YXRlID0gcmVzb2x2ZU5ld1N0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZTdGF0ZTogeyBibG9ja3M6IHByZXZTdGF0ZS5jb2x1bW5zIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZUFjdGlvbjogbGlzdEJsb2NrU2V0U3RhdGVBY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uczogbGlzdEJsb2NrU3RhdGUuYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICBjYW5ub3RQYXN0ZUJsb2NrRXJyb3JEaWFsb2csXG4gICAgICAgICAgICAgICAgY3JlYXRlVXBkYXRlU3ViQmxvY2tzRm4sXG4gICAgICAgICAgICAgICAgdXBkYXRlQ2xpcGJvYXJkQ29udGVudCxcbiAgICAgICAgICAgICAgICBhZGROZXdCbG9jayxcbiAgICAgICAgICAgICAgICBjb3B5U2VsZWN0ZWRCbG9ja3MsXG4gICAgICAgICAgICAgICAgZGVsZXRlQWxsU2VsZWN0ZWRCbG9ja3MsXG4gICAgICAgICAgICAgICAgc2VsZWN0QmxvY2ssXG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlU2VsZWN0QWxsLFxuICAgICAgICAgICAgICAgIHBhc3RlQmxvY2ssXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRDb3VudCxcbiAgICAgICAgICAgICAgICBkZWxldGVCbG9ja3MsXG4gICAgICAgICAgICAgICAgdG9nZ2xlVmlzaWJsZSxcbiAgICAgICAgICAgIH0gPSB1c2VMaXN0QmxvY2tBZG1pbkNvbXBvbmVudCh7IHN0YXRlOiB7IGJsb2Nrczogc3RhdGUuY29sdW1ucyB9LCB1cGRhdGVTdGF0ZTogaGFuZGxlTGlzdEJsb2NrQWRtaW5DaGFuZ2UgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrU3dpdGNoIGluaXRpYWxQYWdlPVwibGlzdFwiIGRpc2FibGVGb3JjZVByb21wdFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrUGFnZSBuYW1lPVwibGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCbG9ja3NGaW5hbEZvcm08eyBsYXlvdXQ6IENvbHVtbnNCbG9ja0xheW91dDsgY29sdW1uczogbnVtYmVyIH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU3VibWl0PXsoeyBsYXlvdXQsIGNvbHVtbnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRMYXlvdXRGb3JTZWxlY3RlZENvbHVtbnMgPSBncm91cExheW91dHNCeUNvbHVtbnNBcGkuZ2V0RGVmYXVsdExheW91dChjb2x1bW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdMYXlvdXQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQuY29sdW1ucyAhPT0gY29sdW1ucyAmJiBkZWZhdWx0TGF5b3V0Rm9yU2VsZWN0ZWRDb2x1bW5zID8gZGVmYXVsdExheW91dEZvclNlbGVjdGVkQ29sdW1ucyA6IGxheW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtaXNzaW5nRW1wdHlDb2x1bW5zID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA+IHByZXZTdGF0ZS5jb2x1bW5zLmxlbmd0aCA/IGNyZWF0ZUVtcHR5Q29sdW1ucyhjb2x1bW5zIC0gcHJldlN0YXRlLmNvbHVtbnMubGVuZ3RoKSA6IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiBuZXdMYXlvdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IFsuLi5wcmV2U3RhdGUuY29sdW1ucywgLi4ubWlzc2luZ0VtcHR5Q29sdW1uc10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsVmFsdWVzPXt7IGxheW91dDogc3RhdGUubGF5b3V0LCBjb2x1bW5zOiBzdGF0ZS5sYXlvdXQuY29sdW1ucyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5jb2x1bW5zXCIgZGVmYXVsdE1lc3NhZ2U9XCJDb2x1bW5zXCIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ZpbmFsRm9ybUNvbHVtbnNTZWxlY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zPXtncm91cExheW91dHNCeUNvbHVtbnNBcGkuY29sdW1uc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJsYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9ezxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMubGF5b3V0XCIgZGVmYXVsdE1lc3NhZ2U9XCJMYXlvdXRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17RmluYWxGb3JtTGF5b3V0U2VsZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0cz17Z3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpLmdldExheW91dHMoc3RhdGUubGF5b3V0LmNvbHVtbnMpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja3NGaW5hbEZvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uIHRpdGxlPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLml0ZW1zXCIgZGVmYXVsdE1lc3NhZ2U9XCJJdGVtc1wiIC8+fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRQYXBlciBkaXNhYmxlUGFkZGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFja1N3aXRjaEFwaUNvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhzdGFja0FwaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrTGlzdEhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N0YXRlLmNvbHVtbnMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEFsbEZyb21Db250cm9sTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtzZWxlY3RlZENvdW50ID09PSBzdGF0ZS5jb2x1bW5zLmxlbmd0aCAmJiBzZWxlY3RlZENvdW50ID4gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV0ZXJtaW5hdGU9e3NlbGVjdGVkQ291bnQgPiAwICYmIHNlbGVjdGVkQ291bnQgIT09IHN0YXRlLmNvbHVtbnMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRvZ2dsZVNlbGVjdEFsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5saXN0LnNlbGVjdEFsbFwiIGRlZmF1bHRNZXNzYWdlPVwiU2VsZWN0IGFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrTGlzdEhlYWRlckFjdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZENvdW50ID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gb25DbGljaz17ZGVsZXRlQWxsU2VsZWN0ZWRCbG9ja3N9IHNpemU9XCJsYXJnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERlbGV0ZSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uIG9uQ2xpY2s9e2NvcHlTZWxlY3RlZEJsb2Nrc30gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29weSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gb25DbGljaz17KCkgPT4gcGFzdGVCbG9jaygwKX0gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhc3RlIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tMaXN0SGVhZGVyQWN0aW9uQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tMaXN0SGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3RhdGUuY29sdW1ucy5tYXAoKGNvbHVtbiwgY29sdW1uSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhvdmVyUHJldmlld0NvbXBvbmVudCBrZXk9e2NvbHVtbi5rZXl9IGNvbXBvbmVudFNsdWc9e2Ake2NvbHVtbi5rZXl9L2NvbnRlbnRgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y29sdW1uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclByZXZpZXdDb250ZW50PXsoKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrUHJldmlld0NvbnRlbnQgYmxvY2s9e2NvbnRlbnRCbG9ja30gc3RhdGU9e2NvbHVtbi5wcm9wc30gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17Y29sdW1uSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNvbnRlbnRDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwgY29sdW1uLmtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25EZWxldGVDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZUJsb2NrcyhbY29sdW1uLmtleV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVCbG9jaz17KGZyb20sIHRvKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gWy4uLnByZXZTdGF0ZS5jb2x1bW5zXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1uVG9Nb3ZlID0gY29sdW1ucy5zcGxpY2UoZnJvbSwgMSlbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMuc3BsaWNlKHRvLCAwLCBjb2x1bW5Ub01vdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5wcmV2U3RhdGUsIGNvbHVtbnMgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5QnV0dG9uPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXsoKSA9PiB0b2dnbGVWaXNpYmxlKGNvbHVtbi5rZXkpfSBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbHVtbi52aXNpYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpc2libGUgY29sb3I9XCJzdWNjZXNzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnZpc2libGUgY29sb3I9XCJhY3Rpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQWRkTmV3QmxvY2s9eyhiZWZvcmVJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGFkZE5ld0Jsb2NrKGJlZm9yZUluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja0FwaS5hY3RpdmF0ZVBhZ2UoXCJlZGl0XCIsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Db3B5Q2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVDbGlwYm9hcmRDb250ZW50KFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY29udGVudEJsb2NrLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBjb2x1bW4udmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBjb2x1bW4ucHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25QYXN0ZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzdGVCbG9jayhjb2x1bW5JbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtjb2x1bW4uc2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdGVkQ2xpY2s9eyhzZWxlY3RlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdEJsb2NrKGNvbHVtbiwgc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWRGbj17KCkgPT4gY29udGVudEJsb2NrLmlzVmFsaWQoY29sdW1uLnByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlSW49e2NvbHVtbi5zbGlkZUlufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUJvdHRvbUluc2VydEJldHdlZW5CdXR0b249e2NvbHVtbkluZGV4ID49IHN0YXRlLmNvbHVtbnMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hvdmVyUHJldmlld0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdGF0ZS5jb2x1bW5zLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhZGROZXdCbG9jaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFyZ2VBZGRCdXR0b25Db250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYXJnZUFkZEJ1dHRvbkljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5hZGRJdGVtXCIgZGVmYXVsdE1lc3NhZ2U9XCJBZGQgaXRlbVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYXJnZUFkZEJ1dHRvbkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWRtaW5Db21wb25lbnRTdGlja3lGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGFkZE5ld0Jsb2NrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRJY29uPXs8QWRkIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMuYWRkSXRlbVwiIGRlZmF1bHRNZXNzYWdlPVwiQWRkIGl0ZW1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja0FkbWluQ29tcG9uZW50QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FkbWluQ29tcG9uZW50U3RpY2t5Rm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2tTd2l0Y2hBcGlDb250ZXh0LkNvbnN1bWVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2NrQWRtaW5Db21wb25lbnRQYXBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFja1BhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2tQYWdlIG5hbWU9XCJlZGl0XCIgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7IGlkOiBcImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmVkaXRDb2x1bW5cIiwgZGVmYXVsdE1lc3NhZ2U6IFwiRWRpdCBjb2x1bW5cIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IHN0YXRlLmNvbHVtbnMuZmluZEluZGV4KChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGtleSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy51bmtub3duQ29sdW1uXCIgZGVmYXVsdE1lc3NhZ2U9XCJDYW4ndCBmaW5kIGNvbHVtblwiIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSBzdGF0ZS5jb2x1bW5zW21hdGNoSW5kZXhdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2tQYWdlVGl0bGUgdGl0bGU9e2NvbHVtbkNvdW50TGFiZWwoaW50bCwgbWF0Y2hJbmRleCArIDEpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29udGVudEJsb2NrLkFkbWluQ29tcG9uZW50IHN0YXRlPXttYXRjaC5wcm9wc30gdXBkYXRlU3RhdGU9e2NyZWF0ZVVwZGF0ZVN1YkJsb2Nrc0ZuKGtleSl9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrUGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrUGFnZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFja1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAge2Nhbm5vdFBhc3RlQmxvY2tFcnJvckRpYWxvZ31cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcHJldmlld0NvbnRlbnQ6IChzdGF0ZSwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgaWYgKHN0YXRlLmNvbHVtbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLm5vQ29sdW1uc1wiIGRlZmF1bHRNZXNzYWdlPVwiTm8gY29sdW1uc1wiIC8+LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5jb2x1bW5zLnJlZHVjZTxQcmV2aWV3Q29udGVudFtdPihcbiAgICAgICAgICAgICAgICAocHJldmlld0NvbnRlbnQsIGN1cnJlbnRDb2x1bW4pID0+IFsuLi5wcmV2aWV3Q29udGVudCwgLi4uY29udGVudEJsb2NrLnByZXZpZXdDb250ZW50KGN1cnJlbnRDb2x1bW4ucHJvcHMsIGNvbnRleHQpXSxcbiAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcmVzb2x2ZURlcGVuZGVuY3lQYXRoOiAoc3RhdGUsIGpzb25QYXRoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIS9eY29sdW1ucy5cXGQrLnByb3BzLy50ZXN0KGpzb25QYXRoKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvbHVtbnNCbG9jazogSW52YWxpZCBqc29uUGF0aFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcGF0aEFyciA9IGpzb25QYXRoLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IE51bWJlcihwYXRoQXJyWzFdKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrSXRlbSA9IHN0YXRlLmNvbHVtbnNbbnVtXTtcblxuICAgICAgICAgICAgY29uc3QgY2hpbGRQYXRoID0gY29udGVudEJsb2NrLnJlc29sdmVEZXBlbmRlbmN5UGF0aChibG9ja0l0ZW0ucHJvcHMsIHBhdGhBcnIuc2xpY2UoMykuam9pbihcIi5cIikpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2Jsb2NrSXRlbS5rZXl9L2VkaXQvJHtjaGlsZFBhdGh9YDtcbiAgICAgICAgfSxcblxuICAgICAgICBleHRyYWN0VGV4dENvbnRlbnRzOiAoc3RhdGUsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluY2x1ZGVJbnZpc2libGVDb250ZW50ID0gb3B0aW9ucz8uaW5jbHVkZUludmlzaWJsZUNvbnRlbnQgPz8gZmFsc2U7XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5jb2x1bW5zLnJlZHVjZTxzdHJpbmdbXT4oKGNvbnRlbnQsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY29sdW1uLnZpc2libGUgJiYgIWluY2x1ZGVJbnZpc2libGVDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBbLi4uY29udGVudCwgLi4uKGNvbnRlbnRCbG9jay5leHRyYWN0VGV4dENvbnRlbnRzPy4oY29sdW1uLnByb3BzLCBvcHRpb25zKSA/PyBbXSldO1xuICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICB9LFxuICAgICAgICB0cmFuc2xhdGVDb250ZW50OiBhc3luYyAoc3RhdGUsIHRyYW5zbGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZENvbHVtbnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICBzdGF0ZS5jb2x1bW5zLm1hcChhc3luYyAoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRQcm9wcyA9IGNvbnRlbnRCbG9jay50cmFuc2xhdGVDb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICA/IGF3YWl0IGNvbnRlbnRCbG9jay50cmFuc2xhdGVDb250ZW50KGNvbHVtbi5wcm9wcywgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4ucHJvcHM7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLmNvbHVtbiwgcHJvcHM6IHRyYW5zbGF0ZWRQcm9wcyB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBjb2x1bW5zOiB0cmFuc2xhdGVkQ29sdW1ucyB9O1xuICAgICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob3ZlcnJpZGUpIHtcbiAgICAgICAgcmV0dXJuIG92ZXJyaWRlKENvbHVtbnNCbG9jayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENvbHVtbnNCbG9jaztcbn1cblxuY29uc3QgQmxvY2tMaXN0SGVhZGVyID0gc3R5bGVkKFwiZGl2XCIpYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBCbG9ja0xpc3RIZWFkZXJBY3Rpb25Db250YWluZXIgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgcGFkZGluZzogMTJweCAwO1xuYDtcblxuY29uc3QgU2VsZWN0QWxsRnJvbUNvbnRyb2xMYWJlbCA9IHN0eWxlZChGb3JtQ29udHJvbExhYmVsKWBcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTVweCA3cHg7XG5gO1xuXG5jb25zdCBMYXJnZUFkZEJ1dHRvbkNvbnRlbnQgPSBzdHlsZWQoXCJzcGFuXCIpYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDRweCAwO1xuYDtcblxuY29uc3QgTGFyZ2VBZGRCdXR0b25JY29uID0gc3R5bGVkKEFkZClgXG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbnR5cGUgR3JvdXBlZExheW91dHNCeUNvbHVtbnNBcGkgPSB7XG4gICAgY29sdW1uczogbnVtYmVyW107XG4gICAgZ2V0TGF5b3V0czogKGNvbHVtbnM6IG51bWJlcikgPT4gQ29sdW1uc0Jsb2NrTGF5b3V0W107XG4gICAgZ2V0RGVmYXVsdExheW91dDogKGNvbHVtbnM6IG51bWJlcikgPT4gQ29sdW1uc0Jsb2NrTGF5b3V0IHwgdW5kZWZpbmVkO1xufTtcblxuZnVuY3Rpb24gY29sdW1uQ291bnRMYWJlbChpbnRsOiBJbnRsU2hhcGUsIGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiBcImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmNvbHVtblRpdGxlXCIsXG4gICAgICAgICAgICBkZWZhdWx0TWVzc2FnZTogXCJDb2x1bW4ge251bWJlcn1cIixcbiAgICAgICAgfSxcbiAgICAgICAgeyBudW1iZXI6IGNvdW50IH0sXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpKGxheW91dHM6IENvbHVtbnNCbG9ja0xheW91dFtdKTogR3JvdXBlZExheW91dHNCeUNvbHVtbnNBcGkge1xuICAgIGNvbnN0IGdyb3VwZWRMYXlvdXRzID0gbGF5b3V0cy5yZWR1Y2UoKGFjYywgYykgPT4ge1xuICAgICAgICBhY2Muc2V0KGMuY29sdW1ucywgWy4uLihhY2MuZ2V0KGMuY29sdW1ucykgfHwgW10pLCBjXSk7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgbmV3IE1hcDxudW1iZXIsIENvbHVtbnNCbG9ja0xheW91dFtdPigpKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGNvbHVtbnM6IEFycmF5LmZyb20oZ3JvdXBlZExheW91dHMua2V5cygpKSxcbiAgICAgICAgZ2V0TGF5b3V0czogKGNvbHVtbnM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGdyb3VwZWRMYXlvdXRzLmdldChjb2x1bW5zKSB8fCBbXTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0RGVmYXVsdExheW91dDogKGNvbHVtbnM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0cyA9IGdyb3VwZWRMYXlvdXRzLmdldChjb2x1bW5zKSB8fCBbXTtcbiAgICAgICAgICAgIHJldHVybiBsYXlvdXRzLmxlbmd0aCA/IGxheW91dHNbMF0gOiB1bmRlZmluZWQ7XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ== */",
|
|
621
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
622
|
+
});
|
|
623
|
+
var LargeAddButtonContent = /*#__PURE__*/styled("span", process.env.NODE_ENV === "production" ? {
|
|
624
|
+
target: "ezc5hww1"
|
|
625
|
+
} : {
|
|
626
|
+
target: "ezc5hww1",
|
|
627
|
+
label: "LargeAddButtonContent"
|
|
628
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
629
|
+
name: "3g6o2",
|
|
630
|
+
styles: "display:flex;flex-direction:column;align-items:center;padding:4px 0"
|
|
631
|
+
} : {
|
|
632
|
+
name: "3g6o2",
|
|
633
|
+
styles: "display:flex;flex-direction:column;align-items:center;padding:4px 0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9ja3MvZmFjdG9yaWVzL2NyZWF0ZUNvbHVtbnNCbG9jay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd2dCNEMiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2Jsb2Nrcy9mYWN0b3JpZXMvY3JlYXRlQ29sdW1uc0Jsb2NrLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkLCBTdGFja1BhZ2UsIFN0YWNrUGFnZVRpdGxlLCBTdGFja1N3aXRjaCwgU3RhY2tTd2l0Y2hBcGlDb250ZXh0IH0gZnJvbSBcIkBkZXh0aW5pdHkvYWRtaW5cIjtcbmltcG9ydCB7IEFkZCwgQ29weSwgRGVsZXRlLCBJbnZpc2libGUsIFBhc3RlLCBWaXNpYmxlIH0gZnJvbSBcIkBkZXh0aW5pdHkvYWRtaW4taWNvbnNcIjtcbmltcG9ydCB7IENoZWNrYm94LCBEaXZpZGVyLCBGb3JtQ29udHJvbExhYmVsLCBJY29uQnV0dG9uLCBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHR5cGUgeyBEaXNwYXRjaCwgUmVhY3ROb2RlLCBTZXRTdGF0ZUFjdGlvbiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSwgdHlwZSBJbnRsU2hhcGUsIHR5cGUgTWVzc2FnZURlc2NyaXB0b3IsIHVzZUludGwgfSBmcm9tIFwicmVhY3QtaW50bFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gXCJ1dWlkXCI7XG5cbmltcG9ydCB7IEFkbWluQ29tcG9uZW50U3RpY2t5Rm9vdGVyIH0gZnJvbSBcIi4uL2NvbW1vbi9BZG1pbkNvbXBvbmVudFN0aWNreUZvb3RlclwiO1xuaW1wb3J0IHsgQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvbiB9IGZyb20gXCIuLi9jb21tb24vQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvblwiO1xuaW1wb3J0IHsgQmxvY2tBZG1pbkNvbXBvbmVudFBhcGVyIH0gZnJvbSBcIi4uL2NvbW1vbi9CbG9ja0FkbWluQ29tcG9uZW50UGFwZXJcIjtcbmltcG9ydCB7IEJsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uIH0gZnJvbSBcIi4uL2NvbW1vbi9CbG9ja0FkbWluQ29tcG9uZW50U2VjdGlvblwiO1xuaW1wb3J0IHsgQmxvY2tQcmV2aWV3Q29udGVudCB9IGZyb20gXCIuLi9jb21tb24vYmxvY2tSb3cvQmxvY2tQcmV2aWV3Q29udGVudFwiO1xuaW1wb3J0IHsgQmxvY2tSb3cgfSBmcm9tIFwiLi4vY29tbW9uL2Jsb2NrUm93L0Jsb2NrUm93XCI7XG5pbXBvcnQgeyBCbG9ja3NGaW5hbEZvcm0gfSBmcm9tIFwiLi4vZm9ybS9CbG9ja3NGaW5hbEZvcm1cIjtcbmltcG9ydCB7IGNyZWF0ZUJsb2NrU2tlbGV0b24gfSBmcm9tIFwiLi4vaGVscGVycy9jcmVhdGVCbG9ja1NrZWxldG9uXCI7XG5pbXBvcnQgeyBkZWR1cGxpY2F0ZUJsb2NrRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4uL2hlbHBlcnMvZGVkdXBsaWNhdGVCbG9ja0RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgSG92ZXJQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSBcIi4uL2lmcmFtZWJyaWRnZS9Ib3ZlclByZXZpZXdDb21wb25lbnRcIjtcbmltcG9ydCB7IFNlbGVjdFByZXZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi4vaWZyYW1lYnJpZGdlL1NlbGVjdFByZXZpZXdDb21wb25lbnRcIjtcbmltcG9ydCB7XG4gICAgQmxvY2tDYXRlZ29yeSxcbiAgICB0eXBlIEJsb2NrRGVwZW5kZW5jeSxcbiAgICB0eXBlIEJsb2NrSW5wdXRBcGksXG4gICAgdHlwZSBCbG9ja0ludGVyZmFjZSxcbiAgICB0eXBlIEN1c3RvbUJsb2NrQ2F0ZWdvcnksXG4gICAgdHlwZSBQcmV2aWV3Q29udGVudCxcbn0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyByZXNvbHZlTmV3U3RhdGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IHBhcmFsbGVsQXN5bmNFdmVyeSB9IGZyb20gXCIuLi91dGlscy9wYXJhbGxlbEFzeW5jRXZlcnlcIjtcbmltcG9ydCB7IEZpbmFsRm9ybUNvbHVtbnNTZWxlY3QgfSBmcm9tIFwiLi9jb2x1bW5zQmxvY2svRmluYWxGb3JtQ29sdW1uc1NlbGVjdFwiO1xuaW1wb3J0IHsgRmluYWxGb3JtTGF5b3V0U2VsZWN0IH0gZnJvbSBcIi4vY29sdW1uc0Jsb2NrL0ZpbmFsRm9ybUxheW91dFNlbGVjdFwiO1xuaW1wb3J0IHR5cGUgeyBMaXN0QmxvY2tJdGVtLCBMaXN0QmxvY2tTdGF0ZSB9IGZyb20gXCIuL2NyZWF0ZUxpc3RCbG9ja1wiO1xuaW1wb3J0IHsgY3JlYXRlVXNlQWRtaW5Db21wb25lbnQgYXMgY3JlYXRlVXNlTGlzdEJsb2NrQWRtaW5Db21wb25lbnQgfSBmcm9tIFwiLi9saXN0QmxvY2svY3JlYXRlVXNlQWRtaW5Db21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zQmxvY2tMYXlvdXQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBjb2x1bW5zOiBudW1iZXI7XG4gICAgbGFiZWw6IFJlYWN0Tm9kZTtcbiAgICBwcmV2aWV3OiBSZWFjdE5vZGU7XG4gICAgc2VjdGlvbj86XG4gICAgICAgIHwgc3RyaW5nXG4gICAgICAgIHwge1xuICAgICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICAgIGxhYmVsPzogUmVhY3ROb2RlO1xuICAgICAgICAgIH07XG59XG5cbmludGVyZmFjZSBDb2x1bW5zQmxvY2tGcmFnbWVudDxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2U+IHtcbiAgICBsYXlvdXQ6IHN0cmluZztcbiAgICBjb2x1bW5zOiBBcnJheTx7XG4gICAgICAgIGtleTogc3RyaW5nO1xuICAgICAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgICAgICBwcm9wczogQmxvY2tJbnB1dEFwaTxUPjtcbiAgICB9Pjtcbn1cblxuaW50ZXJmYWNlIENvbHVtbnNCbG9ja1N0YXRlPFQgZXh0ZW5kcyBCbG9ja0ludGVyZmFjZT4ge1xuICAgIGxheW91dDogQ29sdW1uc0Jsb2NrTGF5b3V0O1xuICAgIGNvbHVtbnM6IExpc3RCbG9ja0l0ZW08VD5bXTtcbn1cblxuaW50ZXJmYWNlIENyZWF0ZUNvbHVtbnNCbG9ja09wdGlvbnM8VCBleHRlbmRzIEJsb2NrSW50ZXJmYWNlPiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBSZWFjdE5vZGU7XG4gICAgY2F0ZWdvcnk/OiBCbG9ja0NhdGVnb3J5IHwgQ3VzdG9tQmxvY2tDYXRlZ29yeTtcbiAgICBjb250ZW50QmxvY2s6IFQ7XG4gICAgbGF5b3V0czogQ29sdW1uc0Jsb2NrTGF5b3V0W107XG4gICAgdGFncz86IEFycmF5PE1lc3NhZ2VEZXNjcmlwdG9yIHwgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbHVtbnNCbG9jazxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2U+KFxuICAgIHsgbmFtZSwgZGlzcGxheU5hbWUsIGNhdGVnb3J5ID0gQmxvY2tDYXRlZ29yeS5MYXlvdXQsIGNvbnRlbnRCbG9jaywgbGF5b3V0cywgdGFncyB9OiBDcmVhdGVDb2x1bW5zQmxvY2tPcHRpb25zPFQ+LFxuICAgIG92ZXJyaWRlPzogKFxuICAgICAgICBibG9jazogQmxvY2tJbnRlcmZhY2U8Q29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4sIENvbHVtbnNCbG9ja1N0YXRlPFQ+LCBDb2x1bW5zQmxvY2tGcmFnbWVudDxUPj4sXG4gICAgKSA9PiBCbG9ja0ludGVyZmFjZTxDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiwgQ29sdW1uc0Jsb2NrU3RhdGU8VD4sIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+Pixcbik6IEJsb2NrSW50ZXJmYWNlPENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+LCBDb2x1bW5zQmxvY2tTdGF0ZTxUPiwgQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4+IHtcbiAgICBpZiAobGF5b3V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOdW1iZXIgb2YgbGF5b3V0cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIWApO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZUxpc3RCbG9ja0FkbWluQ29tcG9uZW50ID0gY3JlYXRlVXNlTGlzdEJsb2NrQWRtaW5Db21wb25lbnQoeyBibG9jazogY29udGVudEJsb2NrIH0pO1xuXG4gICAgZnVuY3Rpb24gY3JlYXRlRW1wdHlDb2x1bW5zKG51bWJlcjogbnVtYmVyKTogTGlzdEJsb2NrSXRlbTxUPltdIHtcbiAgICAgICAgcmV0dXJuIG5ldyBBcnJheShudW1iZXIpLmZpbGwodW5kZWZpbmVkKS5tYXAoKCkgPT4gKHtcbiAgICAgICAgICAgIGtleTogdXVpZCgpLFxuICAgICAgICAgICAgcHJvcHM6IGNvbnRlbnRCbG9jay5kZWZhdWx0VmFsdWVzKCksXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICBzbGlkZUluOiBmYWxzZSxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgY29uc3QgQ29sdW1uc0Jsb2NrOiBCbG9ja0ludGVyZmFjZTxDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiwgQ29sdW1uc0Jsb2NrU3RhdGU8VD4sIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+PiA9IHtcbiAgICAgICAgLi4uY3JlYXRlQmxvY2tTa2VsZXRvbigpLFxuXG4gICAgICAgIG5hbWUsXG5cbiAgICAgICAgZGlzcGxheU5hbWUsXG5cbiAgICAgICAgdGFnczogdGFncyA/IHRhZ3MgOiBjb250ZW50QmxvY2sudGFncyxcblxuICAgICAgICBjYXRlZ29yeSxcblxuICAgICAgICBkZWZhdWx0VmFsdWVzOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0TGF5b3V0ID0gbGF5b3V0c1swXTtcblxuICAgICAgICAgICAgY29uc3Qgc3RhdGU6IENvbHVtbnNCbG9ja1N0YXRlPFQ+ID0ge1xuICAgICAgICAgICAgICAgIGxheW91dDogZGVmYXVsdExheW91dCxcbiAgICAgICAgICAgICAgICAvLyBBZGQgZW1wdHkgY29sdW1ucyBzbyB0aGUgbGlzdCBpcyBub3QgZW1wdHkgaW5pdGlhbGx5XG4gICAgICAgICAgICAgICAgY29sdW1uczogY3JlYXRlRW1wdHlDb2x1bW5zKGRlZmF1bHRMYXlvdXQuY29sdW1ucyksXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH0sXG5cbiAgICAgICAgaW5wdXQyU3RhdGU6IChpbnB1dCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0ID0gbGF5b3V0cy5maW5kKChsYXlvdXQpID0+IGxheW91dC5uYW1lID09PSBpbnB1dC5sYXlvdXQpO1xuXG4gICAgICAgICAgICBpZiAoIWxheW91dCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBsYXlvdXQgXCIke2lucHV0LmxheW91dH1cIiFgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICAgICAgY29sdW1uczogaW5wdXQuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLmlucHV0MlN0YXRlKGNvbHVtbi5wcm9wcyksXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVJbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGNvbHVtbi52aXNpYmxlLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG5cbiAgICAgICAgc3RhdGUyT3V0cHV0OiAob3V0cHV0KSA9PiAoe1xuICAgICAgICAgICAgbGF5b3V0OiBvdXRwdXQubGF5b3V0Lm5hbWUsXG4gICAgICAgICAgICBjb2x1bW5zOiBvdXRwdXQuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gKHtcbiAgICAgICAgICAgICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogY29sdW1uLnZpc2libGUsXG4gICAgICAgICAgICAgICAgcHJvcHM6IGNvbnRlbnRCbG9jay5zdGF0ZTJPdXRwdXQoY29sdW1uLnByb3BzKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgfSksXG5cbiAgICAgICAgb3V0cHV0MlN0YXRlOiBhc3luYyAob3V0cHV0LCBjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYXlvdXQgPSBsYXlvdXRzLmZpbmQoKGxheW91dCkgPT4gbGF5b3V0Lm5hbWUgPT09IG91dHB1dC5sYXlvdXQpO1xuXG4gICAgICAgICAgICBpZiAoIWxheW91dCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBsYXlvdXQgXCIke291dHB1dC5sYXlvdXR9XCIhYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHN0YXRlOiBDb2x1bW5zQmxvY2tTdGF0ZTxUPiA9IHtcbiAgICAgICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICAgICAgY29sdW1uczogW10sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbnMgb2Ygb3V0cHV0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5jb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogYXdhaXQgY29udGVudEJsb2NrLm91dHB1dDJTdGF0ZShjb2x1bW5zLnByb3BzLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzbGlkZUluOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9LFxuXG4gICAgICAgIGNyZWF0ZVByZXZpZXdTdGF0ZTogKHN0YXRlLCBwcmV2aWV3Q29udGV4dCkgPT4gKHtcbiAgICAgICAgICAgIGFkbWluTWV0YTogeyByb3V0ZTogcHJldmlld0NvbnRleHQucGFyZW50VXJsIH0sXG4gICAgICAgICAgICBsYXlvdXQ6IHN0YXRlLmxheW91dC5uYW1lLFxuICAgICAgICAgICAgY29sdW1uczogc3RhdGUuY29sdW1uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IChwcmV2aWV3Q29udGV4dC5zaG93VmlzaWJsZU9ubHkgPyBjLnZpc2libGUgOiB0cnVlKSkgLy8gZGVwZW5kaW5nIG9uIGNvbnRleHQgc2hvdyBhbGwgYmxvY2tzIG9yIG9ubHkgdmlzaWJsZSBibG9ja3NcbiAgICAgICAgICAgICAgICAubWFwKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tBZG1pblJvdXRlID0gYCR7cHJldmlld0NvbnRleHQucGFyZW50VXJsU3ViUm91dGUgPz8gcHJldmlld0NvbnRleHQucGFyZW50VXJsfS8ke2NvbHVtbi5rZXl9L2VkaXRgO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBjb2x1bW4udmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBjb250ZW50QmxvY2suY3JlYXRlUHJldmlld1N0YXRlKGNvbHVtbi5wcm9wcywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZpZXdDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFVybFN1YlJvdXRlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50VXJsOiBibG9ja0FkbWluUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkbWluUm91dGU6IGJsb2NrQWRtaW5Sb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkbWluTWV0YTogeyByb3V0ZTogYmxvY2tBZG1pblJvdXRlIH0sXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuXG4gICAgICAgIGlzVmFsaWQ6IChzdGF0ZSkgPT4gcGFyYWxsZWxBc3luY0V2ZXJ5KHN0YXRlLmNvbHVtbnMsIChjb2x1bW4pID0+IGNvbnRlbnRCbG9jay5pc1ZhbGlkKGNvbHVtbi5wcm9wcykpLFxuXG4gICAgICAgIGFuY2hvcnM6IChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmNvbHVtbnMucmVkdWNlPHN0cmluZ1tdPigoYW5jaG9ycywgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5hbmNob3JzLCAuLi4oY29udGVudEJsb2NrLmFuY2hvcnM/Lihjb2x1bW4ucHJvcHMpID8/IFtdKV07XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVwZW5kZW5jaWVzOiAoc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZERlcGVuZGVuY2llcyA9IHN0YXRlLmNvbHVtbnMucmVkdWNlPEJsb2NrRGVwZW5kZW5jeVtdPigoZGVwZW5kZW5jaWVzLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmRlcGVuZGVuY2llcywgLi4uKGNvbnRlbnRCbG9jay5kZXBlbmRlbmNpZXM/Lihjb2x1bW4ucHJvcHMpID8/IFtdKV07XG4gICAgICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgICAgIHJldHVybiBkZWR1cGxpY2F0ZUJsb2NrRGVwZW5kZW5jaWVzKG1lcmdlZERlcGVuZGVuY2llcyk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcmVwbGFjZURlcGVuZGVuY2llc0luT3V0cHV0OiAob3V0cHV0LCByZXBsYWNlbWVudHMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld091dHB1dDogQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4gPSB7IC4uLm91dHB1dCwgY29sdW1uczogW10gfTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2Ygb3V0cHV0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBuZXdPdXRwdXQuY29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLnJlcGxhY2VEZXBlbmRlbmNpZXNJbk91dHB1dChjb2x1bW4ucHJvcHMsIHJlcGxhY2VtZW50cyksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdPdXRwdXQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgQWRtaW5Db21wb25lbnQ6ICh7IHN0YXRlLCB1cGRhdGVTdGF0ZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpID0gY3JlYXRlR3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpKGxheW91dHMpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlTGlzdEJsb2NrQWRtaW5DaGFuZ2U6IERpc3BhdGNoPFNldFN0YXRlQWN0aW9uPExpc3RCbG9ja1N0YXRlPFQ+Pj4gPSAobGlzdEJsb2NrU2V0U3RhdGVBY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RCbG9ja1N0YXRlID0gcmVzb2x2ZU5ld1N0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZTdGF0ZTogeyBibG9ja3M6IHByZXZTdGF0ZS5jb2x1bW5zIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZUFjdGlvbjogbGlzdEJsb2NrU2V0U3RhdGVBY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uczogbGlzdEJsb2NrU3RhdGUuYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICBjYW5ub3RQYXN0ZUJsb2NrRXJyb3JEaWFsb2csXG4gICAgICAgICAgICAgICAgY3JlYXRlVXBkYXRlU3ViQmxvY2tzRm4sXG4gICAgICAgICAgICAgICAgdXBkYXRlQ2xpcGJvYXJkQ29udGVudCxcbiAgICAgICAgICAgICAgICBhZGROZXdCbG9jayxcbiAgICAgICAgICAgICAgICBjb3B5U2VsZWN0ZWRCbG9ja3MsXG4gICAgICAgICAgICAgICAgZGVsZXRlQWxsU2VsZWN0ZWRCbG9ja3MsXG4gICAgICAgICAgICAgICAgc2VsZWN0QmxvY2ssXG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlU2VsZWN0QWxsLFxuICAgICAgICAgICAgICAgIHBhc3RlQmxvY2ssXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRDb3VudCxcbiAgICAgICAgICAgICAgICBkZWxldGVCbG9ja3MsXG4gICAgICAgICAgICAgICAgdG9nZ2xlVmlzaWJsZSxcbiAgICAgICAgICAgIH0gPSB1c2VMaXN0QmxvY2tBZG1pbkNvbXBvbmVudCh7IHN0YXRlOiB7IGJsb2Nrczogc3RhdGUuY29sdW1ucyB9LCB1cGRhdGVTdGF0ZTogaGFuZGxlTGlzdEJsb2NrQWRtaW5DaGFuZ2UgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrU3dpdGNoIGluaXRpYWxQYWdlPVwibGlzdFwiIGRpc2FibGVGb3JjZVByb21wdFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrUGFnZSBuYW1lPVwibGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCbG9ja3NGaW5hbEZvcm08eyBsYXlvdXQ6IENvbHVtbnNCbG9ja0xheW91dDsgY29sdW1uczogbnVtYmVyIH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU3VibWl0PXsoeyBsYXlvdXQsIGNvbHVtbnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRMYXlvdXRGb3JTZWxlY3RlZENvbHVtbnMgPSBncm91cExheW91dHNCeUNvbHVtbnNBcGkuZ2V0RGVmYXVsdExheW91dChjb2x1bW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdMYXlvdXQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQuY29sdW1ucyAhPT0gY29sdW1ucyAmJiBkZWZhdWx0TGF5b3V0Rm9yU2VsZWN0ZWRDb2x1bW5zID8gZGVmYXVsdExheW91dEZvclNlbGVjdGVkQ29sdW1ucyA6IGxheW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtaXNzaW5nRW1wdHlDb2x1bW5zID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA+IHByZXZTdGF0ZS5jb2x1bW5zLmxlbmd0aCA/IGNyZWF0ZUVtcHR5Q29sdW1ucyhjb2x1bW5zIC0gcHJldlN0YXRlLmNvbHVtbnMubGVuZ3RoKSA6IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiBuZXdMYXlvdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IFsuLi5wcmV2U3RhdGUuY29sdW1ucywgLi4ubWlzc2luZ0VtcHR5Q29sdW1uc10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsVmFsdWVzPXt7IGxheW91dDogc3RhdGUubGF5b3V0LCBjb2x1bW5zOiBzdGF0ZS5sYXlvdXQuY29sdW1ucyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5jb2x1bW5zXCIgZGVmYXVsdE1lc3NhZ2U9XCJDb2x1bW5zXCIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ZpbmFsRm9ybUNvbHVtbnNTZWxlY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zPXtncm91cExheW91dHNCeUNvbHVtbnNBcGkuY29sdW1uc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJsYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9ezxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMubGF5b3V0XCIgZGVmYXVsdE1lc3NhZ2U9XCJMYXlvdXRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17RmluYWxGb3JtTGF5b3V0U2VsZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0cz17Z3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpLmdldExheW91dHMoc3RhdGUubGF5b3V0LmNvbHVtbnMpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja3NGaW5hbEZvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uIHRpdGxlPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLml0ZW1zXCIgZGVmYXVsdE1lc3NhZ2U9XCJJdGVtc1wiIC8+fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRQYXBlciBkaXNhYmxlUGFkZGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFja1N3aXRjaEFwaUNvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhzdGFja0FwaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrTGlzdEhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N0YXRlLmNvbHVtbnMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEFsbEZyb21Db250cm9sTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtzZWxlY3RlZENvdW50ID09PSBzdGF0ZS5jb2x1bW5zLmxlbmd0aCAmJiBzZWxlY3RlZENvdW50ID4gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV0ZXJtaW5hdGU9e3NlbGVjdGVkQ291bnQgPiAwICYmIHNlbGVjdGVkQ291bnQgIT09IHN0YXRlLmNvbHVtbnMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRvZ2dsZVNlbGVjdEFsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5saXN0LnNlbGVjdEFsbFwiIGRlZmF1bHRNZXNzYWdlPVwiU2VsZWN0IGFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrTGlzdEhlYWRlckFjdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZENvdW50ID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gb25DbGljaz17ZGVsZXRlQWxsU2VsZWN0ZWRCbG9ja3N9IHNpemU9XCJsYXJnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERlbGV0ZSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uIG9uQ2xpY2s9e2NvcHlTZWxlY3RlZEJsb2Nrc30gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29weSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gb25DbGljaz17KCkgPT4gcGFzdGVCbG9jaygwKX0gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhc3RlIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tMaXN0SGVhZGVyQWN0aW9uQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tMaXN0SGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3RhdGUuY29sdW1ucy5tYXAoKGNvbHVtbiwgY29sdW1uSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhvdmVyUHJldmlld0NvbXBvbmVudCBrZXk9e2NvbHVtbi5rZXl9IGNvbXBvbmVudFNsdWc9e2Ake2NvbHVtbi5rZXl9L2NvbnRlbnRgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y29sdW1uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclByZXZpZXdDb250ZW50PXsoKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrUHJldmlld0NvbnRlbnQgYmxvY2s9e2NvbnRlbnRCbG9ja30gc3RhdGU9e2NvbHVtbi5wcm9wc30gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17Y29sdW1uSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNvbnRlbnRDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwgY29sdW1uLmtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25EZWxldGVDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZUJsb2NrcyhbY29sdW1uLmtleV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVCbG9jaz17KGZyb20sIHRvKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gWy4uLnByZXZTdGF0ZS5jb2x1bW5zXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1uVG9Nb3ZlID0gY29sdW1ucy5zcGxpY2UoZnJvbSwgMSlbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMuc3BsaWNlKHRvLCAwLCBjb2x1bW5Ub01vdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5wcmV2U3RhdGUsIGNvbHVtbnMgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5QnV0dG9uPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXsoKSA9PiB0b2dnbGVWaXNpYmxlKGNvbHVtbi5rZXkpfSBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbHVtbi52aXNpYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpc2libGUgY29sb3I9XCJzdWNjZXNzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnZpc2libGUgY29sb3I9XCJhY3Rpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQWRkTmV3QmxvY2s9eyhiZWZvcmVJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGFkZE5ld0Jsb2NrKGJlZm9yZUluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja0FwaS5hY3RpdmF0ZVBhZ2UoXCJlZGl0XCIsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Db3B5Q2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVDbGlwYm9hcmRDb250ZW50KFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY29udGVudEJsb2NrLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBjb2x1bW4udmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBjb2x1bW4ucHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25QYXN0ZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzdGVCbG9jayhjb2x1bW5JbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtjb2x1bW4uc2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdGVkQ2xpY2s9eyhzZWxlY3RlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdEJsb2NrKGNvbHVtbiwgc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWRGbj17KCkgPT4gY29udGVudEJsb2NrLmlzVmFsaWQoY29sdW1uLnByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlSW49e2NvbHVtbi5zbGlkZUlufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUJvdHRvbUluc2VydEJldHdlZW5CdXR0b249e2NvbHVtbkluZGV4ID49IHN0YXRlLmNvbHVtbnMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hvdmVyUHJldmlld0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdGF0ZS5jb2x1bW5zLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhZGROZXdCbG9jaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFyZ2VBZGRCdXR0b25Db250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYXJnZUFkZEJ1dHRvbkljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5hZGRJdGVtXCIgZGVmYXVsdE1lc3NhZ2U9XCJBZGQgaXRlbVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYXJnZUFkZEJ1dHRvbkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWRtaW5Db21wb25lbnRTdGlja3lGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGFkZE5ld0Jsb2NrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRJY29uPXs8QWRkIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMuYWRkSXRlbVwiIGRlZmF1bHRNZXNzYWdlPVwiQWRkIGl0ZW1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja0FkbWluQ29tcG9uZW50QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FkbWluQ29tcG9uZW50U3RpY2t5Rm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2tTd2l0Y2hBcGlDb250ZXh0LkNvbnN1bWVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2NrQWRtaW5Db21wb25lbnRQYXBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFja1BhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2tQYWdlIG5hbWU9XCJlZGl0XCIgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7IGlkOiBcImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmVkaXRDb2x1bW5cIiwgZGVmYXVsdE1lc3NhZ2U6IFwiRWRpdCBjb2x1bW5cIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IHN0YXRlLmNvbHVtbnMuZmluZEluZGV4KChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGtleSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy51bmtub3duQ29sdW1uXCIgZGVmYXVsdE1lc3NhZ2U9XCJDYW4ndCBmaW5kIGNvbHVtblwiIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSBzdGF0ZS5jb2x1bW5zW21hdGNoSW5kZXhdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2tQYWdlVGl0bGUgdGl0bGU9e2NvbHVtbkNvdW50TGFiZWwoaW50bCwgbWF0Y2hJbmRleCArIDEpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29udGVudEJsb2NrLkFkbWluQ29tcG9uZW50IHN0YXRlPXttYXRjaC5wcm9wc30gdXBkYXRlU3RhdGU9e2NyZWF0ZVVwZGF0ZVN1YkJsb2Nrc0ZuKGtleSl9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrUGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrUGFnZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFja1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAge2Nhbm5vdFBhc3RlQmxvY2tFcnJvckRpYWxvZ31cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcHJldmlld0NvbnRlbnQ6IChzdGF0ZSwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgaWYgKHN0YXRlLmNvbHVtbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLm5vQ29sdW1uc1wiIGRlZmF1bHRNZXNzYWdlPVwiTm8gY29sdW1uc1wiIC8+LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5jb2x1bW5zLnJlZHVjZTxQcmV2aWV3Q29udGVudFtdPihcbiAgICAgICAgICAgICAgICAocHJldmlld0NvbnRlbnQsIGN1cnJlbnRDb2x1bW4pID0+IFsuLi5wcmV2aWV3Q29udGVudCwgLi4uY29udGVudEJsb2NrLnByZXZpZXdDb250ZW50KGN1cnJlbnRDb2x1bW4ucHJvcHMsIGNvbnRleHQpXSxcbiAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcmVzb2x2ZURlcGVuZGVuY3lQYXRoOiAoc3RhdGUsIGpzb25QYXRoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIS9eY29sdW1ucy5cXGQrLnByb3BzLy50ZXN0KGpzb25QYXRoKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvbHVtbnNCbG9jazogSW52YWxpZCBqc29uUGF0aFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcGF0aEFyciA9IGpzb25QYXRoLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IE51bWJlcihwYXRoQXJyWzFdKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrSXRlbSA9IHN0YXRlLmNvbHVtbnNbbnVtXTtcblxuICAgICAgICAgICAgY29uc3QgY2hpbGRQYXRoID0gY29udGVudEJsb2NrLnJlc29sdmVEZXBlbmRlbmN5UGF0aChibG9ja0l0ZW0ucHJvcHMsIHBhdGhBcnIuc2xpY2UoMykuam9pbihcIi5cIikpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2Jsb2NrSXRlbS5rZXl9L2VkaXQvJHtjaGlsZFBhdGh9YDtcbiAgICAgICAgfSxcblxuICAgICAgICBleHRyYWN0VGV4dENvbnRlbnRzOiAoc3RhdGUsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluY2x1ZGVJbnZpc2libGVDb250ZW50ID0gb3B0aW9ucz8uaW5jbHVkZUludmlzaWJsZUNvbnRlbnQgPz8gZmFsc2U7XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5jb2x1bW5zLnJlZHVjZTxzdHJpbmdbXT4oKGNvbnRlbnQsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY29sdW1uLnZpc2libGUgJiYgIWluY2x1ZGVJbnZpc2libGVDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBbLi4uY29udGVudCwgLi4uKGNvbnRlbnRCbG9jay5leHRyYWN0VGV4dENvbnRlbnRzPy4oY29sdW1uLnByb3BzLCBvcHRpb25zKSA/PyBbXSldO1xuICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICB9LFxuICAgICAgICB0cmFuc2xhdGVDb250ZW50OiBhc3luYyAoc3RhdGUsIHRyYW5zbGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZENvbHVtbnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICBzdGF0ZS5jb2x1bW5zLm1hcChhc3luYyAoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRQcm9wcyA9IGNvbnRlbnRCbG9jay50cmFuc2xhdGVDb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICA/IGF3YWl0IGNvbnRlbnRCbG9jay50cmFuc2xhdGVDb250ZW50KGNvbHVtbi5wcm9wcywgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4ucHJvcHM7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLmNvbHVtbiwgcHJvcHM6IHRyYW5zbGF0ZWRQcm9wcyB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBjb2x1bW5zOiB0cmFuc2xhdGVkQ29sdW1ucyB9O1xuICAgICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob3ZlcnJpZGUpIHtcbiAgICAgICAgcmV0dXJuIG92ZXJyaWRlKENvbHVtbnNCbG9jayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENvbHVtbnNCbG9jaztcbn1cblxuY29uc3QgQmxvY2tMaXN0SGVhZGVyID0gc3R5bGVkKFwiZGl2XCIpYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBCbG9ja0xpc3RIZWFkZXJBY3Rpb25Db250YWluZXIgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgcGFkZGluZzogMTJweCAwO1xuYDtcblxuY29uc3QgU2VsZWN0QWxsRnJvbUNvbnRyb2xMYWJlbCA9IHN0eWxlZChGb3JtQ29udHJvbExhYmVsKWBcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTVweCA3cHg7XG5gO1xuXG5jb25zdCBMYXJnZUFkZEJ1dHRvbkNvbnRlbnQgPSBzdHlsZWQoXCJzcGFuXCIpYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDRweCAwO1xuYDtcblxuY29uc3QgTGFyZ2VBZGRCdXR0b25JY29uID0gc3R5bGVkKEFkZClgXG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbnR5cGUgR3JvdXBlZExheW91dHNCeUNvbHVtbnNBcGkgPSB7XG4gICAgY29sdW1uczogbnVtYmVyW107XG4gICAgZ2V0TGF5b3V0czogKGNvbHVtbnM6IG51bWJlcikgPT4gQ29sdW1uc0Jsb2NrTGF5b3V0W107XG4gICAgZ2V0RGVmYXVsdExheW91dDogKGNvbHVtbnM6IG51bWJlcikgPT4gQ29sdW1uc0Jsb2NrTGF5b3V0IHwgdW5kZWZpbmVkO1xufTtcblxuZnVuY3Rpb24gY29sdW1uQ291bnRMYWJlbChpbnRsOiBJbnRsU2hhcGUsIGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiBcImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmNvbHVtblRpdGxlXCIsXG4gICAgICAgICAgICBkZWZhdWx0TWVzc2FnZTogXCJDb2x1bW4ge251bWJlcn1cIixcbiAgICAgICAgfSxcbiAgICAgICAgeyBudW1iZXI6IGNvdW50IH0sXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpKGxheW91dHM6IENvbHVtbnNCbG9ja0xheW91dFtdKTogR3JvdXBlZExheW91dHNCeUNvbHVtbnNBcGkge1xuICAgIGNvbnN0IGdyb3VwZWRMYXlvdXRzID0gbGF5b3V0cy5yZWR1Y2UoKGFjYywgYykgPT4ge1xuICAgICAgICBhY2Muc2V0KGMuY29sdW1ucywgWy4uLihhY2MuZ2V0KGMuY29sdW1ucykgfHwgW10pLCBjXSk7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgbmV3IE1hcDxudW1iZXIsIENvbHVtbnNCbG9ja0xheW91dFtdPigpKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGNvbHVtbnM6IEFycmF5LmZyb20oZ3JvdXBlZExheW91dHMua2V5cygpKSxcbiAgICAgICAgZ2V0TGF5b3V0czogKGNvbHVtbnM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGdyb3VwZWRMYXlvdXRzLmdldChjb2x1bW5zKSB8fCBbXTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0RGVmYXVsdExheW91dDogKGNvbHVtbnM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0cyA9IGdyb3VwZWRMYXlvdXRzLmdldChjb2x1bW5zKSB8fCBbXTtcbiAgICAgICAgICAgIHJldHVybiBsYXlvdXRzLmxlbmd0aCA/IGxheW91dHNbMF0gOiB1bmRlZmluZWQ7XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ== */",
|
|
634
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
635
|
+
});
|
|
636
|
+
var LargeAddButtonIcon = /*#__PURE__*/styled(Add, process.env.NODE_ENV === "production" ? {
|
|
637
|
+
target: "ezc5hww0"
|
|
638
|
+
} : {
|
|
639
|
+
target: "ezc5hww0",
|
|
640
|
+
label: "LargeAddButtonIcon"
|
|
641
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
642
|
+
name: "1yvy7h3",
|
|
643
|
+
styles: "font-size:24px;margin-bottom:8px"
|
|
644
|
+
} : {
|
|
645
|
+
name: "1yvy7h3",
|
|
646
|
+
styles: "font-size:24px;margin-bottom:8px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9ja3MvZmFjdG9yaWVzL2NyZWF0ZUNvbHVtbnNCbG9jay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK2dCc0MiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2Jsb2Nrcy9mYWN0b3JpZXMvY3JlYXRlQ29sdW1uc0Jsb2NrLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkLCBTdGFja1BhZ2UsIFN0YWNrUGFnZVRpdGxlLCBTdGFja1N3aXRjaCwgU3RhY2tTd2l0Y2hBcGlDb250ZXh0IH0gZnJvbSBcIkBkZXh0aW5pdHkvYWRtaW5cIjtcbmltcG9ydCB7IEFkZCwgQ29weSwgRGVsZXRlLCBJbnZpc2libGUsIFBhc3RlLCBWaXNpYmxlIH0gZnJvbSBcIkBkZXh0aW5pdHkvYWRtaW4taWNvbnNcIjtcbmltcG9ydCB7IENoZWNrYm94LCBEaXZpZGVyLCBGb3JtQ29udHJvbExhYmVsLCBJY29uQnV0dG9uLCBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHR5cGUgeyBEaXNwYXRjaCwgUmVhY3ROb2RlLCBTZXRTdGF0ZUFjdGlvbiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSwgdHlwZSBJbnRsU2hhcGUsIHR5cGUgTWVzc2FnZURlc2NyaXB0b3IsIHVzZUludGwgfSBmcm9tIFwicmVhY3QtaW50bFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gXCJ1dWlkXCI7XG5cbmltcG9ydCB7IEFkbWluQ29tcG9uZW50U3RpY2t5Rm9vdGVyIH0gZnJvbSBcIi4uL2NvbW1vbi9BZG1pbkNvbXBvbmVudFN0aWNreUZvb3RlclwiO1xuaW1wb3J0IHsgQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvbiB9IGZyb20gXCIuLi9jb21tb24vQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvblwiO1xuaW1wb3J0IHsgQmxvY2tBZG1pbkNvbXBvbmVudFBhcGVyIH0gZnJvbSBcIi4uL2NvbW1vbi9CbG9ja0FkbWluQ29tcG9uZW50UGFwZXJcIjtcbmltcG9ydCB7IEJsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uIH0gZnJvbSBcIi4uL2NvbW1vbi9CbG9ja0FkbWluQ29tcG9uZW50U2VjdGlvblwiO1xuaW1wb3J0IHsgQmxvY2tQcmV2aWV3Q29udGVudCB9IGZyb20gXCIuLi9jb21tb24vYmxvY2tSb3cvQmxvY2tQcmV2aWV3Q29udGVudFwiO1xuaW1wb3J0IHsgQmxvY2tSb3cgfSBmcm9tIFwiLi4vY29tbW9uL2Jsb2NrUm93L0Jsb2NrUm93XCI7XG5pbXBvcnQgeyBCbG9ja3NGaW5hbEZvcm0gfSBmcm9tIFwiLi4vZm9ybS9CbG9ja3NGaW5hbEZvcm1cIjtcbmltcG9ydCB7IGNyZWF0ZUJsb2NrU2tlbGV0b24gfSBmcm9tIFwiLi4vaGVscGVycy9jcmVhdGVCbG9ja1NrZWxldG9uXCI7XG5pbXBvcnQgeyBkZWR1cGxpY2F0ZUJsb2NrRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4uL2hlbHBlcnMvZGVkdXBsaWNhdGVCbG9ja0RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgSG92ZXJQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSBcIi4uL2lmcmFtZWJyaWRnZS9Ib3ZlclByZXZpZXdDb21wb25lbnRcIjtcbmltcG9ydCB7IFNlbGVjdFByZXZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi4vaWZyYW1lYnJpZGdlL1NlbGVjdFByZXZpZXdDb21wb25lbnRcIjtcbmltcG9ydCB7XG4gICAgQmxvY2tDYXRlZ29yeSxcbiAgICB0eXBlIEJsb2NrRGVwZW5kZW5jeSxcbiAgICB0eXBlIEJsb2NrSW5wdXRBcGksXG4gICAgdHlwZSBCbG9ja0ludGVyZmFjZSxcbiAgICB0eXBlIEN1c3RvbUJsb2NrQ2F0ZWdvcnksXG4gICAgdHlwZSBQcmV2aWV3Q29udGVudCxcbn0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyByZXNvbHZlTmV3U3RhdGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IHBhcmFsbGVsQXN5bmNFdmVyeSB9IGZyb20gXCIuLi91dGlscy9wYXJhbGxlbEFzeW5jRXZlcnlcIjtcbmltcG9ydCB7IEZpbmFsRm9ybUNvbHVtbnNTZWxlY3QgfSBmcm9tIFwiLi9jb2x1bW5zQmxvY2svRmluYWxGb3JtQ29sdW1uc1NlbGVjdFwiO1xuaW1wb3J0IHsgRmluYWxGb3JtTGF5b3V0U2VsZWN0IH0gZnJvbSBcIi4vY29sdW1uc0Jsb2NrL0ZpbmFsRm9ybUxheW91dFNlbGVjdFwiO1xuaW1wb3J0IHR5cGUgeyBMaXN0QmxvY2tJdGVtLCBMaXN0QmxvY2tTdGF0ZSB9IGZyb20gXCIuL2NyZWF0ZUxpc3RCbG9ja1wiO1xuaW1wb3J0IHsgY3JlYXRlVXNlQWRtaW5Db21wb25lbnQgYXMgY3JlYXRlVXNlTGlzdEJsb2NrQWRtaW5Db21wb25lbnQgfSBmcm9tIFwiLi9saXN0QmxvY2svY3JlYXRlVXNlQWRtaW5Db21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zQmxvY2tMYXlvdXQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBjb2x1bW5zOiBudW1iZXI7XG4gICAgbGFiZWw6IFJlYWN0Tm9kZTtcbiAgICBwcmV2aWV3OiBSZWFjdE5vZGU7XG4gICAgc2VjdGlvbj86XG4gICAgICAgIHwgc3RyaW5nXG4gICAgICAgIHwge1xuICAgICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICAgIGxhYmVsPzogUmVhY3ROb2RlO1xuICAgICAgICAgIH07XG59XG5cbmludGVyZmFjZSBDb2x1bW5zQmxvY2tGcmFnbWVudDxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2U+IHtcbiAgICBsYXlvdXQ6IHN0cmluZztcbiAgICBjb2x1bW5zOiBBcnJheTx7XG4gICAgICAgIGtleTogc3RyaW5nO1xuICAgICAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgICAgICBwcm9wczogQmxvY2tJbnB1dEFwaTxUPjtcbiAgICB9Pjtcbn1cblxuaW50ZXJmYWNlIENvbHVtbnNCbG9ja1N0YXRlPFQgZXh0ZW5kcyBCbG9ja0ludGVyZmFjZT4ge1xuICAgIGxheW91dDogQ29sdW1uc0Jsb2NrTGF5b3V0O1xuICAgIGNvbHVtbnM6IExpc3RCbG9ja0l0ZW08VD5bXTtcbn1cblxuaW50ZXJmYWNlIENyZWF0ZUNvbHVtbnNCbG9ja09wdGlvbnM8VCBleHRlbmRzIEJsb2NrSW50ZXJmYWNlPiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBSZWFjdE5vZGU7XG4gICAgY2F0ZWdvcnk/OiBCbG9ja0NhdGVnb3J5IHwgQ3VzdG9tQmxvY2tDYXRlZ29yeTtcbiAgICBjb250ZW50QmxvY2s6IFQ7XG4gICAgbGF5b3V0czogQ29sdW1uc0Jsb2NrTGF5b3V0W107XG4gICAgdGFncz86IEFycmF5PE1lc3NhZ2VEZXNjcmlwdG9yIHwgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbHVtbnNCbG9jazxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2U+KFxuICAgIHsgbmFtZSwgZGlzcGxheU5hbWUsIGNhdGVnb3J5ID0gQmxvY2tDYXRlZ29yeS5MYXlvdXQsIGNvbnRlbnRCbG9jaywgbGF5b3V0cywgdGFncyB9OiBDcmVhdGVDb2x1bW5zQmxvY2tPcHRpb25zPFQ+LFxuICAgIG92ZXJyaWRlPzogKFxuICAgICAgICBibG9jazogQmxvY2tJbnRlcmZhY2U8Q29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4sIENvbHVtbnNCbG9ja1N0YXRlPFQ+LCBDb2x1bW5zQmxvY2tGcmFnbWVudDxUPj4sXG4gICAgKSA9PiBCbG9ja0ludGVyZmFjZTxDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiwgQ29sdW1uc0Jsb2NrU3RhdGU8VD4sIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+Pixcbik6IEJsb2NrSW50ZXJmYWNlPENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+LCBDb2x1bW5zQmxvY2tTdGF0ZTxUPiwgQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4+IHtcbiAgICBpZiAobGF5b3V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOdW1iZXIgb2YgbGF5b3V0cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIWApO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZUxpc3RCbG9ja0FkbWluQ29tcG9uZW50ID0gY3JlYXRlVXNlTGlzdEJsb2NrQWRtaW5Db21wb25lbnQoeyBibG9jazogY29udGVudEJsb2NrIH0pO1xuXG4gICAgZnVuY3Rpb24gY3JlYXRlRW1wdHlDb2x1bW5zKG51bWJlcjogbnVtYmVyKTogTGlzdEJsb2NrSXRlbTxUPltdIHtcbiAgICAgICAgcmV0dXJuIG5ldyBBcnJheShudW1iZXIpLmZpbGwodW5kZWZpbmVkKS5tYXAoKCkgPT4gKHtcbiAgICAgICAgICAgIGtleTogdXVpZCgpLFxuICAgICAgICAgICAgcHJvcHM6IGNvbnRlbnRCbG9jay5kZWZhdWx0VmFsdWVzKCksXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICBzbGlkZUluOiBmYWxzZSxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgY29uc3QgQ29sdW1uc0Jsb2NrOiBCbG9ja0ludGVyZmFjZTxDb2x1bW5zQmxvY2tGcmFnbWVudDxUPiwgQ29sdW1uc0Jsb2NrU3RhdGU8VD4sIENvbHVtbnNCbG9ja0ZyYWdtZW50PFQ+PiA9IHtcbiAgICAgICAgLi4uY3JlYXRlQmxvY2tTa2VsZXRvbigpLFxuXG4gICAgICAgIG5hbWUsXG5cbiAgICAgICAgZGlzcGxheU5hbWUsXG5cbiAgICAgICAgdGFnczogdGFncyA/IHRhZ3MgOiBjb250ZW50QmxvY2sudGFncyxcblxuICAgICAgICBjYXRlZ29yeSxcblxuICAgICAgICBkZWZhdWx0VmFsdWVzOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0TGF5b3V0ID0gbGF5b3V0c1swXTtcblxuICAgICAgICAgICAgY29uc3Qgc3RhdGU6IENvbHVtbnNCbG9ja1N0YXRlPFQ+ID0ge1xuICAgICAgICAgICAgICAgIGxheW91dDogZGVmYXVsdExheW91dCxcbiAgICAgICAgICAgICAgICAvLyBBZGQgZW1wdHkgY29sdW1ucyBzbyB0aGUgbGlzdCBpcyBub3QgZW1wdHkgaW5pdGlhbGx5XG4gICAgICAgICAgICAgICAgY29sdW1uczogY3JlYXRlRW1wdHlDb2x1bW5zKGRlZmF1bHRMYXlvdXQuY29sdW1ucyksXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH0sXG5cbiAgICAgICAgaW5wdXQyU3RhdGU6IChpbnB1dCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0ID0gbGF5b3V0cy5maW5kKChsYXlvdXQpID0+IGxheW91dC5uYW1lID09PSBpbnB1dC5sYXlvdXQpO1xuXG4gICAgICAgICAgICBpZiAoIWxheW91dCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBsYXlvdXQgXCIke2lucHV0LmxheW91dH1cIiFgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICAgICAgY29sdW1uczogaW5wdXQuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLmlucHV0MlN0YXRlKGNvbHVtbi5wcm9wcyksXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVJbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGNvbHVtbi52aXNpYmxlLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG5cbiAgICAgICAgc3RhdGUyT3V0cHV0OiAob3V0cHV0KSA9PiAoe1xuICAgICAgICAgICAgbGF5b3V0OiBvdXRwdXQubGF5b3V0Lm5hbWUsXG4gICAgICAgICAgICBjb2x1bW5zOiBvdXRwdXQuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gKHtcbiAgICAgICAgICAgICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogY29sdW1uLnZpc2libGUsXG4gICAgICAgICAgICAgICAgcHJvcHM6IGNvbnRlbnRCbG9jay5zdGF0ZTJPdXRwdXQoY29sdW1uLnByb3BzKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgfSksXG5cbiAgICAgICAgb3V0cHV0MlN0YXRlOiBhc3luYyAob3V0cHV0LCBjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYXlvdXQgPSBsYXlvdXRzLmZpbmQoKGxheW91dCkgPT4gbGF5b3V0Lm5hbWUgPT09IG91dHB1dC5sYXlvdXQpO1xuXG4gICAgICAgICAgICBpZiAoIWxheW91dCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBsYXlvdXQgXCIke291dHB1dC5sYXlvdXR9XCIhYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHN0YXRlOiBDb2x1bW5zQmxvY2tTdGF0ZTxUPiA9IHtcbiAgICAgICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICAgICAgY29sdW1uczogW10sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbnMgb2Ygb3V0cHV0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5jb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogYXdhaXQgY29udGVudEJsb2NrLm91dHB1dDJTdGF0ZShjb2x1bW5zLnByb3BzLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzbGlkZUluOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9LFxuXG4gICAgICAgIGNyZWF0ZVByZXZpZXdTdGF0ZTogKHN0YXRlLCBwcmV2aWV3Q29udGV4dCkgPT4gKHtcbiAgICAgICAgICAgIGFkbWluTWV0YTogeyByb3V0ZTogcHJldmlld0NvbnRleHQucGFyZW50VXJsIH0sXG4gICAgICAgICAgICBsYXlvdXQ6IHN0YXRlLmxheW91dC5uYW1lLFxuICAgICAgICAgICAgY29sdW1uczogc3RhdGUuY29sdW1uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IChwcmV2aWV3Q29udGV4dC5zaG93VmlzaWJsZU9ubHkgPyBjLnZpc2libGUgOiB0cnVlKSkgLy8gZGVwZW5kaW5nIG9uIGNvbnRleHQgc2hvdyBhbGwgYmxvY2tzIG9yIG9ubHkgdmlzaWJsZSBibG9ja3NcbiAgICAgICAgICAgICAgICAubWFwKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tBZG1pblJvdXRlID0gYCR7cHJldmlld0NvbnRleHQucGFyZW50VXJsU3ViUm91dGUgPz8gcHJldmlld0NvbnRleHQucGFyZW50VXJsfS8ke2NvbHVtbi5rZXl9L2VkaXRgO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBjb2x1bW4udmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBjb250ZW50QmxvY2suY3JlYXRlUHJldmlld1N0YXRlKGNvbHVtbi5wcm9wcywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZpZXdDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFVybFN1YlJvdXRlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50VXJsOiBibG9ja0FkbWluUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkbWluUm91dGU6IGJsb2NrQWRtaW5Sb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkbWluTWV0YTogeyByb3V0ZTogYmxvY2tBZG1pblJvdXRlIH0sXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuXG4gICAgICAgIGlzVmFsaWQ6IChzdGF0ZSkgPT4gcGFyYWxsZWxBc3luY0V2ZXJ5KHN0YXRlLmNvbHVtbnMsIChjb2x1bW4pID0+IGNvbnRlbnRCbG9jay5pc1ZhbGlkKGNvbHVtbi5wcm9wcykpLFxuXG4gICAgICAgIGFuY2hvcnM6IChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmNvbHVtbnMucmVkdWNlPHN0cmluZ1tdPigoYW5jaG9ycywgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5hbmNob3JzLCAuLi4oY29udGVudEJsb2NrLmFuY2hvcnM/Lihjb2x1bW4ucHJvcHMpID8/IFtdKV07XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVwZW5kZW5jaWVzOiAoc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZERlcGVuZGVuY2llcyA9IHN0YXRlLmNvbHVtbnMucmVkdWNlPEJsb2NrRGVwZW5kZW5jeVtdPigoZGVwZW5kZW5jaWVzLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmRlcGVuZGVuY2llcywgLi4uKGNvbnRlbnRCbG9jay5kZXBlbmRlbmNpZXM/Lihjb2x1bW4ucHJvcHMpID8/IFtdKV07XG4gICAgICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgICAgIHJldHVybiBkZWR1cGxpY2F0ZUJsb2NrRGVwZW5kZW5jaWVzKG1lcmdlZERlcGVuZGVuY2llcyk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcmVwbGFjZURlcGVuZGVuY2llc0luT3V0cHV0OiAob3V0cHV0LCByZXBsYWNlbWVudHMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld091dHB1dDogQ29sdW1uc0Jsb2NrRnJhZ21lbnQ8VD4gPSB7IC4uLm91dHB1dCwgY29sdW1uczogW10gfTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2Ygb3V0cHV0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBuZXdPdXRwdXQuY29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogY29udGVudEJsb2NrLnJlcGxhY2VEZXBlbmRlbmNpZXNJbk91dHB1dChjb2x1bW4ucHJvcHMsIHJlcGxhY2VtZW50cyksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdPdXRwdXQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgQWRtaW5Db21wb25lbnQ6ICh7IHN0YXRlLCB1cGRhdGVTdGF0ZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpID0gY3JlYXRlR3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpKGxheW91dHMpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlTGlzdEJsb2NrQWRtaW5DaGFuZ2U6IERpc3BhdGNoPFNldFN0YXRlQWN0aW9uPExpc3RCbG9ja1N0YXRlPFQ+Pj4gPSAobGlzdEJsb2NrU2V0U3RhdGVBY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RCbG9ja1N0YXRlID0gcmVzb2x2ZU5ld1N0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZTdGF0ZTogeyBibG9ja3M6IHByZXZTdGF0ZS5jb2x1bW5zIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZUFjdGlvbjogbGlzdEJsb2NrU2V0U3RhdGVBY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uczogbGlzdEJsb2NrU3RhdGUuYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICBjYW5ub3RQYXN0ZUJsb2NrRXJyb3JEaWFsb2csXG4gICAgICAgICAgICAgICAgY3JlYXRlVXBkYXRlU3ViQmxvY2tzRm4sXG4gICAgICAgICAgICAgICAgdXBkYXRlQ2xpcGJvYXJkQ29udGVudCxcbiAgICAgICAgICAgICAgICBhZGROZXdCbG9jayxcbiAgICAgICAgICAgICAgICBjb3B5U2VsZWN0ZWRCbG9ja3MsXG4gICAgICAgICAgICAgICAgZGVsZXRlQWxsU2VsZWN0ZWRCbG9ja3MsXG4gICAgICAgICAgICAgICAgc2VsZWN0QmxvY2ssXG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlU2VsZWN0QWxsLFxuICAgICAgICAgICAgICAgIHBhc3RlQmxvY2ssXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRDb3VudCxcbiAgICAgICAgICAgICAgICBkZWxldGVCbG9ja3MsXG4gICAgICAgICAgICAgICAgdG9nZ2xlVmlzaWJsZSxcbiAgICAgICAgICAgIH0gPSB1c2VMaXN0QmxvY2tBZG1pbkNvbXBvbmVudCh7IHN0YXRlOiB7IGJsb2Nrczogc3RhdGUuY29sdW1ucyB9LCB1cGRhdGVTdGF0ZTogaGFuZGxlTGlzdEJsb2NrQWRtaW5DaGFuZ2UgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrU3dpdGNoIGluaXRpYWxQYWdlPVwibGlzdFwiIGRpc2FibGVGb3JjZVByb21wdFJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrUGFnZSBuYW1lPVwibGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCbG9ja3NGaW5hbEZvcm08eyBsYXlvdXQ6IENvbHVtbnNCbG9ja0xheW91dDsgY29sdW1uczogbnVtYmVyIH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU3VibWl0PXsoeyBsYXlvdXQsIGNvbHVtbnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRMYXlvdXRGb3JTZWxlY3RlZENvbHVtbnMgPSBncm91cExheW91dHNCeUNvbHVtbnNBcGkuZ2V0RGVmYXVsdExheW91dChjb2x1bW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdMYXlvdXQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQuY29sdW1ucyAhPT0gY29sdW1ucyAmJiBkZWZhdWx0TGF5b3V0Rm9yU2VsZWN0ZWRDb2x1bW5zID8gZGVmYXVsdExheW91dEZvclNlbGVjdGVkQ29sdW1ucyA6IGxheW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtaXNzaW5nRW1wdHlDb2x1bW5zID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA+IHByZXZTdGF0ZS5jb2x1bW5zLmxlbmd0aCA/IGNyZWF0ZUVtcHR5Q29sdW1ucyhjb2x1bW5zIC0gcHJldlN0YXRlLmNvbHVtbnMubGVuZ3RoKSA6IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiBuZXdMYXlvdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IFsuLi5wcmV2U3RhdGUuY29sdW1ucywgLi4ubWlzc2luZ0VtcHR5Q29sdW1uc10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsVmFsdWVzPXt7IGxheW91dDogc3RhdGUubGF5b3V0LCBjb2x1bW5zOiBzdGF0ZS5sYXlvdXQuY29sdW1ucyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5jb2x1bW5zXCIgZGVmYXVsdE1lc3NhZ2U9XCJDb2x1bW5zXCIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ZpbmFsRm9ybUNvbHVtbnNTZWxlY3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zPXtncm91cExheW91dHNCeUNvbHVtbnNBcGkuY29sdW1uc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJsYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9ezxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMubGF5b3V0XCIgZGVmYXVsdE1lc3NhZ2U9XCJMYXlvdXRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17RmluYWxGb3JtTGF5b3V0U2VsZWN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0cz17Z3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpLmdldExheW91dHMoc3RhdGUubGF5b3V0LmNvbHVtbnMpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja3NGaW5hbEZvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uIHRpdGxlPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLml0ZW1zXCIgZGVmYXVsdE1lc3NhZ2U9XCJJdGVtc1wiIC8+fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRQYXBlciBkaXNhYmxlUGFkZGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFja1N3aXRjaEFwaUNvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhzdGFja0FwaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrTGlzdEhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N0YXRlLmNvbHVtbnMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEFsbEZyb21Db250cm9sTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtzZWxlY3RlZENvdW50ID09PSBzdGF0ZS5jb2x1bW5zLmxlbmd0aCAmJiBzZWxlY3RlZENvdW50ID4gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV0ZXJtaW5hdGU9e3NlbGVjdGVkQ291bnQgPiAwICYmIHNlbGVjdGVkQ291bnQgIT09IHN0YXRlLmNvbHVtbnMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRvZ2dsZVNlbGVjdEFsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5saXN0LnNlbGVjdEFsbFwiIGRlZmF1bHRNZXNzYWdlPVwiU2VsZWN0IGFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrTGlzdEhlYWRlckFjdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZENvdW50ID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gb25DbGljaz17ZGVsZXRlQWxsU2VsZWN0ZWRCbG9ja3N9IHNpemU9XCJsYXJnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERlbGV0ZSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uIG9uQ2xpY2s9e2NvcHlTZWxlY3RlZEJsb2Nrc30gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29weSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b24gb25DbGljaz17KCkgPT4gcGFzdGVCbG9jaygwKX0gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhc3RlIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tMaXN0SGVhZGVyQWN0aW9uQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tMaXN0SGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3RhdGUuY29sdW1ucy5tYXAoKGNvbHVtbiwgY29sdW1uSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhvdmVyUHJldmlld0NvbXBvbmVudCBrZXk9e2NvbHVtbi5rZXl9IGNvbXBvbmVudFNsdWc9e2Ake2NvbHVtbi5rZXl9L2NvbnRlbnRgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y29sdW1uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclByZXZpZXdDb250ZW50PXsoKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrUHJldmlld0NvbnRlbnQgYmxvY2s9e2NvbnRlbnRCbG9ja30gc3RhdGU9e2NvbHVtbi5wcm9wc30gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17Y29sdW1uSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNvbnRlbnRDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwgY29sdW1uLmtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25EZWxldGVDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZUJsb2NrcyhbY29sdW1uLmtleV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVCbG9jaz17KGZyb20sIHRvKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gWy4uLnByZXZTdGF0ZS5jb2x1bW5zXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1uVG9Nb3ZlID0gY29sdW1ucy5zcGxpY2UoZnJvbSwgMSlbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMuc3BsaWNlKHRvLCAwLCBjb2x1bW5Ub01vdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5wcmV2U3RhdGUsIGNvbHVtbnMgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5QnV0dG9uPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXsoKSA9PiB0b2dnbGVWaXNpYmxlKGNvbHVtbi5rZXkpfSBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbHVtbi52aXNpYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpc2libGUgY29sb3I9XCJzdWNjZXNzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnZpc2libGUgY29sb3I9XCJhY3Rpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQWRkTmV3QmxvY2s9eyhiZWZvcmVJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGFkZE5ld0Jsb2NrKGJlZm9yZUluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja0FwaS5hY3RpdmF0ZVBhZ2UoXCJlZGl0XCIsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Db3B5Q2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVDbGlwYm9hcmRDb250ZW50KFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY29udGVudEJsb2NrLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBjb2x1bW4udmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBjb2x1bW4ucHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25QYXN0ZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzdGVCbG9jayhjb2x1bW5JbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtjb2x1bW4uc2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdGVkQ2xpY2s9eyhzZWxlY3RlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdEJsb2NrKGNvbHVtbiwgc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWRGbj17KCkgPT4gY29udGVudEJsb2NrLmlzVmFsaWQoY29sdW1uLnByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlSW49e2NvbHVtbi5zbGlkZUlufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUJvdHRvbUluc2VydEJldHdlZW5CdXR0b249e2NvbHVtbkluZGV4ID49IHN0YXRlLmNvbHVtbnMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hvdmVyUHJldmlld0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdGF0ZS5jb2x1bW5zLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2NrQWRtaW5Db21wb25lbnRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhZGROZXdCbG9jaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFyZ2VBZGRCdXR0b25Db250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYXJnZUFkZEJ1dHRvbkljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy5hZGRJdGVtXCIgZGVmYXVsdE1lc3NhZ2U9XCJBZGQgaXRlbVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYXJnZUFkZEJ1dHRvbkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWRtaW5Db21wb25lbnRTdGlja3lGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tBZG1pbkNvbXBvbmVudEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGFkZE5ld0Jsb2NrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrQXBpLmFjdGl2YXRlUGFnZShcImVkaXRcIiwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRJY29uPXs8QWRkIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQuYmxvY2tzLmNvbHVtbnMuYWRkSXRlbVwiIGRlZmF1bHRNZXNzYWdlPVwiQWRkIGl0ZW1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CbG9ja0FkbWluQ29tcG9uZW50QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FkbWluQ29tcG9uZW50U3RpY2t5Rm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2tTd2l0Y2hBcGlDb250ZXh0LkNvbnN1bWVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2NrQWRtaW5Db21wb25lbnRQYXBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2NrQWRtaW5Db21wb25lbnRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFja1BhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2tQYWdlIG5hbWU9XCJlZGl0XCIgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7IGlkOiBcImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmVkaXRDb2x1bW5cIiwgZGVmYXVsdE1lc3NhZ2U6IFwiRWRpdCBjb2x1bW5cIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IHN0YXRlLmNvbHVtbnMuZmluZEluZGV4KChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGtleSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuY29sdW1ucy51bmtub3duQ29sdW1uXCIgZGVmYXVsdE1lc3NhZ2U9XCJDYW4ndCBmaW5kIGNvbHVtblwiIC8+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSBzdGF0ZS5jb2x1bW5zW21hdGNoSW5kZXhdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2tQYWdlVGl0bGUgdGl0bGU9e2NvbHVtbkNvdW50TGFiZWwoaW50bCwgbWF0Y2hJbmRleCArIDEpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29udGVudEJsb2NrLkFkbWluQ29tcG9uZW50IHN0YXRlPXttYXRjaC5wcm9wc30gdXBkYXRlU3RhdGU9e2NyZWF0ZVVwZGF0ZVN1YkJsb2Nrc0ZuKGtleSl9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrUGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrUGFnZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFja1N3aXRjaD5cbiAgICAgICAgICAgICAgICAgICAge2Nhbm5vdFBhc3RlQmxvY2tFcnJvckRpYWxvZ31cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcHJldmlld0NvbnRlbnQ6IChzdGF0ZSwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgaWYgKHN0YXRlLmNvbHVtbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5jb2x1bW5zLm5vQ29sdW1uc1wiIGRlZmF1bHRNZXNzYWdlPVwiTm8gY29sdW1uc1wiIC8+LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5jb2x1bW5zLnJlZHVjZTxQcmV2aWV3Q29udGVudFtdPihcbiAgICAgICAgICAgICAgICAocHJldmlld0NvbnRlbnQsIGN1cnJlbnRDb2x1bW4pID0+IFsuLi5wcmV2aWV3Q29udGVudCwgLi4uY29udGVudEJsb2NrLnByZXZpZXdDb250ZW50KGN1cnJlbnRDb2x1bW4ucHJvcHMsIGNvbnRleHQpXSxcbiAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcmVzb2x2ZURlcGVuZGVuY3lQYXRoOiAoc3RhdGUsIGpzb25QYXRoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIS9eY29sdW1ucy5cXGQrLnByb3BzLy50ZXN0KGpzb25QYXRoKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvbHVtbnNCbG9jazogSW52YWxpZCBqc29uUGF0aFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcGF0aEFyciA9IGpzb25QYXRoLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IE51bWJlcihwYXRoQXJyWzFdKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrSXRlbSA9IHN0YXRlLmNvbHVtbnNbbnVtXTtcblxuICAgICAgICAgICAgY29uc3QgY2hpbGRQYXRoID0gY29udGVudEJsb2NrLnJlc29sdmVEZXBlbmRlbmN5UGF0aChibG9ja0l0ZW0ucHJvcHMsIHBhdGhBcnIuc2xpY2UoMykuam9pbihcIi5cIikpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2Jsb2NrSXRlbS5rZXl9L2VkaXQvJHtjaGlsZFBhdGh9YDtcbiAgICAgICAgfSxcblxuICAgICAgICBleHRyYWN0VGV4dENvbnRlbnRzOiAoc3RhdGUsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluY2x1ZGVJbnZpc2libGVDb250ZW50ID0gb3B0aW9ucz8uaW5jbHVkZUludmlzaWJsZUNvbnRlbnQgPz8gZmFsc2U7XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS5jb2x1bW5zLnJlZHVjZTxzdHJpbmdbXT4oKGNvbnRlbnQsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY29sdW1uLnZpc2libGUgJiYgIWluY2x1ZGVJbnZpc2libGVDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBbLi4uY29udGVudCwgLi4uKGNvbnRlbnRCbG9jay5leHRyYWN0VGV4dENvbnRlbnRzPy4oY29sdW1uLnByb3BzLCBvcHRpb25zKSA/PyBbXSldO1xuICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICB9LFxuICAgICAgICB0cmFuc2xhdGVDb250ZW50OiBhc3luYyAoc3RhdGUsIHRyYW5zbGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZENvbHVtbnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICBzdGF0ZS5jb2x1bW5zLm1hcChhc3luYyAoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRQcm9wcyA9IGNvbnRlbnRCbG9jay50cmFuc2xhdGVDb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICA/IGF3YWl0IGNvbnRlbnRCbG9jay50cmFuc2xhdGVDb250ZW50KGNvbHVtbi5wcm9wcywgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4ucHJvcHM7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLmNvbHVtbiwgcHJvcHM6IHRyYW5zbGF0ZWRQcm9wcyB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBjb2x1bW5zOiB0cmFuc2xhdGVkQ29sdW1ucyB9O1xuICAgICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob3ZlcnJpZGUpIHtcbiAgICAgICAgcmV0dXJuIG92ZXJyaWRlKENvbHVtbnNCbG9jayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENvbHVtbnNCbG9jaztcbn1cblxuY29uc3QgQmxvY2tMaXN0SGVhZGVyID0gc3R5bGVkKFwiZGl2XCIpYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBCbG9ja0xpc3RIZWFkZXJBY3Rpb25Db250YWluZXIgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgcGFkZGluZzogMTJweCAwO1xuYDtcblxuY29uc3QgU2VsZWN0QWxsRnJvbUNvbnRyb2xMYWJlbCA9IHN0eWxlZChGb3JtQ29udHJvbExhYmVsKWBcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTVweCA3cHg7XG5gO1xuXG5jb25zdCBMYXJnZUFkZEJ1dHRvbkNvbnRlbnQgPSBzdHlsZWQoXCJzcGFuXCIpYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDRweCAwO1xuYDtcblxuY29uc3QgTGFyZ2VBZGRCdXR0b25JY29uID0gc3R5bGVkKEFkZClgXG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbnR5cGUgR3JvdXBlZExheW91dHNCeUNvbHVtbnNBcGkgPSB7XG4gICAgY29sdW1uczogbnVtYmVyW107XG4gICAgZ2V0TGF5b3V0czogKGNvbHVtbnM6IG51bWJlcikgPT4gQ29sdW1uc0Jsb2NrTGF5b3V0W107XG4gICAgZ2V0RGVmYXVsdExheW91dDogKGNvbHVtbnM6IG51bWJlcikgPT4gQ29sdW1uc0Jsb2NrTGF5b3V0IHwgdW5kZWZpbmVkO1xufTtcblxuZnVuY3Rpb24gY29sdW1uQ291bnRMYWJlbChpbnRsOiBJbnRsU2hhcGUsIGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiBcImNvbWV0LmJsb2Nrcy5jb2x1bW5zLmNvbHVtblRpdGxlXCIsXG4gICAgICAgICAgICBkZWZhdWx0TWVzc2FnZTogXCJDb2x1bW4ge251bWJlcn1cIixcbiAgICAgICAgfSxcbiAgICAgICAgeyBudW1iZXI6IGNvdW50IH0sXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR3JvdXBMYXlvdXRzQnlDb2x1bW5zQXBpKGxheW91dHM6IENvbHVtbnNCbG9ja0xheW91dFtdKTogR3JvdXBlZExheW91dHNCeUNvbHVtbnNBcGkge1xuICAgIGNvbnN0IGdyb3VwZWRMYXlvdXRzID0gbGF5b3V0cy5yZWR1Y2UoKGFjYywgYykgPT4ge1xuICAgICAgICBhY2Muc2V0KGMuY29sdW1ucywgWy4uLihhY2MuZ2V0KGMuY29sdW1ucykgfHwgW10pLCBjXSk7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgbmV3IE1hcDxudW1iZXIsIENvbHVtbnNCbG9ja0xheW91dFtdPigpKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGNvbHVtbnM6IEFycmF5LmZyb20oZ3JvdXBlZExheW91dHMua2V5cygpKSxcbiAgICAgICAgZ2V0TGF5b3V0czogKGNvbHVtbnM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGdyb3VwZWRMYXlvdXRzLmdldChjb2x1bW5zKSB8fCBbXTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0RGVmYXVsdExheW91dDogKGNvbHVtbnM6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0cyA9IGdyb3VwZWRMYXlvdXRzLmdldChjb2x1bW5zKSB8fCBbXTtcbiAgICAgICAgICAgIHJldHVybiBsYXlvdXRzLmxlbmd0aCA/IGxheW91dHNbMF0gOiB1bmRlZmluZWQ7XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ== */",
|
|
647
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
648
|
+
});
|
|
649
|
+
function columnCountLabel(intl, count) {
|
|
650
|
+
return intl.formatMessage({
|
|
651
|
+
id: "comet.blocks.columns.columnTitle",
|
|
652
|
+
defaultMessage: "Column {number}"
|
|
653
|
+
}, {
|
|
654
|
+
number: count
|
|
655
|
+
});
|
|
656
|
+
}
|
|
657
|
+
function createGroupLayoutsByColumnsApi(layouts) {
|
|
658
|
+
var groupedLayouts = layouts.reduce(function (acc, c) {
|
|
659
|
+
acc.set(c.columns, [].concat(_toConsumableArray(acc.get(c.columns) || []), [c]));
|
|
660
|
+
return acc;
|
|
661
|
+
}, new Map());
|
|
662
|
+
return {
|
|
663
|
+
columns: Array.from(groupedLayouts.keys()),
|
|
664
|
+
getLayouts: function getLayouts(columns) {
|
|
665
|
+
return groupedLayouts.get(columns) || [];
|
|
666
|
+
},
|
|
667
|
+
getDefaultLayout: function getDefaultLayout(columns) {
|
|
668
|
+
var layouts = groupedLayouts.get(columns) || [];
|
|
669
|
+
return layouts.length ? layouts[0] : undefined;
|
|
670
|
+
}
|
|
671
|
+
};
|
|
672
|
+
}
|