{"version":3,"file":"static/js/bundles/text-editor.js","mappings":"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","sources":["webpack://kundo/./node_modules/@kundo/ui/dist/helpers/index.js","webpack://kundo/./static/images/icons/question-circle.svg","webpack://kundo/./static/images/icons/search.svg","webpack://kundo/./node_modules/aria-hidden/dist/es2015/index.js","webpack://kundo/./static/js/src/editors/components/Snackbar.tsx","webpack://kundo/./static/js/src/editors/hooks/useApi.ts","webpack://kundo/./static/js/src/text-editor/attachmentslist.ts","webpack://kundo/./static/js/src/text-editor/get-filetype-from-name.ts","webpack://kundo/./static/js/src/text-editor/formatting.ts","webpack://kundo/./static/js/src/text-editor/index.ts","webpack://kundo/./static/js/src/text-editor/froala-4.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiAutoReplies/AutoRepliesAlerts.tsx","webpack://kundo/./static/js/src/text-editor/helpers/index.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiAutoReplies/index.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiPrompts/useApi.tsx","webpack://kundo/./static/js/src/text-editor/utils.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiPrompts/EditorAiPromptWidget.tsx","webpack://kundo/./static/js/src/text-editor/plugins/aiPrompts/index.ts","webpack://kundo/./static/js/src/text-editor/helpers/insertSnippet.ts","webpack://kundo/./static/js/src/text-editor/plugins/snippetSuggestions/SnippetSuggestionsWidget.tsx","webpack://kundo/./static/js/src/text-editor/plugins/snippetSuggestions/useApi.tsx","webpack://kundo/./static/js/src/text-editor/plugins/snippetSuggestions/index.ts","webpack://kundo/./static/js/src/text-editor/plugins/textWrapper/index.ts","webpack://kundo/./static/js/src/text-editor/commands.ts","webpack://kundo/./static/js/src/text-editor/video.ts","webpack://kundo/./static/js/src/text-editor/froala.ts","webpack://kundo/./static/js/src/text-editor/plugins/fix-paste-bug.ts","webpack://kundo/./static/js/src/text-editor/plugins/mail-history.ts","webpack://kundo/./static/js/src/text-editor/plugins/emoji.ts","webpack://kundo/./static/js/src/text-editor/plugins/deleteEmptyContainers/index.ts","webpack://kundo/./static/js/src/text-editor/fine-uploader.ts","webpack://kundo/./static/js/src/text-editor/internal-link-widget.ts","webpack://kundo/./static/js/src/text-editor/snippet-widget.ts","webpack://kundo/./static/images/icons/arrow-right-up.svg","webpack://kundo/./static/images/icons/twinkle.svg","webpack://kundo/./static/js/src/editors/self-service-widget/SuggestionCard.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/SuggestionCardList.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/DebouncedTextInput.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/KeywordSearch.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/SmartSuggestions.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/SelfServiceWidget.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/skeletonLoadingBoxes.ts","webpack://kundo/./static/js/src/editors/self-service-widget/index.tsx","webpack://kundo/./static/js/src/text-editor/self-service-widget.ts","webpack://kundo/./static/js/src/text-editor/kundo-froala-editor.ts","webpack://kundo/./static/js/src/text-editor/mentions.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiSources.tsx","webpack://kundo/./static/js/src/text-editor/toolbar.ts","webpack://kundo/./node_modules/fine-uploader/fine-uploader/fine-uploader.core.js","webpack://kundo/./node_modules/fine-uploader/lib/core/index.js","webpack://kundo/./node_modules/froala-editor/js/froala_editor.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/colors.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/draggable.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/image.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/link.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/lists.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/paragraph_format.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/paragraph_style.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/quote.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/save.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/table.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/url.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/video.min.js","webpack://kundo/./node_modules/get-nonce/dist/es2015/index.js","webpack://kundo/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://kundo/./node_modules/react-dom/client.js","webpack://kundo/./node_modules/react-dom/index.js","webpack://kundo/./node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack://kundo/./node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack://kundo/./node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/UI.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/medium.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack://kundo/./node_modules/react-style-singleton/dist/es2015/component.js","webpack://kundo/./node_modules/react-style-singleton/dist/es2015/hook.js","webpack://kundo/./node_modules/react-style-singleton/dist/es2015/singleton.js","webpack://kundo/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://kundo/./node_modules/react/jsx-runtime.js","webpack://kundo/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://kundo/./node_modules/scheduler/index.js","webpack://kundo/./node_modules/tributejs/dist/tribute.min.js","webpack://kundo/./node_modules/ts-pattern/lib/guards.js","webpack://kundo/./node_modules/ts-pattern/lib/index.js","webpack://kundo/./node_modules/ts-pattern/lib/symbols.js","webpack://kundo/./node_modules/ts-pattern/lib/wildcards.js","webpack://kundo/./node_modules/tslib/tslib.es6.js","webpack://kundo/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://kundo/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://kundo/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://kundo/./node_modules/use-sidecar/dist/es2015/exports.js","webpack://kundo/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://kundo/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://kundo/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://kundo/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://kundo/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://kundo/./node_modules/@kundo/ui/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-id/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-id/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/number/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-controllable-state/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-escape-keydown/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-previous/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-size/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-size/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/date-fns/_lib/defaultOptions.mjs","webpack://kundo/./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.mjs","webpack://kundo/./node_modules/date-fns/constants.mjs","webpack://kundo/./node_modules/date-fns/constructFrom.mjs","webpack://kundo/./node_modules/date-fns/constructNow.mjs","webpack://kundo/./node_modules/date-fns/differenceInCalendarDays.mjs","webpack://kundo/./node_modules/date-fns/getDayOfYear.mjs","webpack://kundo/./node_modules/date-fns/startOfYear.mjs","webpack://kundo/./node_modules/date-fns/startOfISOWeek.mjs","webpack://kundo/./node_modules/date-fns/getISOWeekYear.mjs","webpack://kundo/./node_modules/date-fns/getISOWeek.mjs","webpack://kundo/./node_modules/date-fns/startOfISOWeekYear.mjs","webpack://kundo/./node_modules/date-fns/getWeekYear.mjs","webpack://kundo/./node_modules/date-fns/getWeek.mjs","webpack://kundo/./node_modules/date-fns/startOfWeekYear.mjs","webpack://kundo/./node_modules/date-fns/_lib/addLeadingZeros.mjs","webpack://kundo/./node_modules/date-fns/_lib/format/lightFormatters.mjs","webpack://kundo/./node_modules/date-fns/_lib/format/formatters.mjs","webpack://kundo/./node_modules/date-fns/_lib/format/longFormatters.mjs","webpack://kundo/./node_modules/date-fns/_lib/protectedTokens.mjs","webpack://kundo/./node_modules/date-fns/isValid.mjs","webpack://kundo/./node_modules/date-fns/isDate.mjs","webpack://kundo/./node_modules/date-fns/format.mjs","webpack://kundo/./node_modules/date-fns/compareAsc.mjs","webpack://kundo/./node_modules/date-fns/isLastDayOfMonth.mjs","webpack://kundo/./node_modules/date-fns/endOfDay.mjs","webpack://kundo/./node_modules/date-fns/endOfMonth.mjs","webpack://kundo/./node_modules/date-fns/differenceInMonths.mjs","webpack://kundo/./node_modules/date-fns/differenceInCalendarMonths.mjs","webpack://kundo/./node_modules/date-fns/differenceInSeconds.mjs","webpack://kundo/./node_modules/date-fns/differenceInMilliseconds.mjs","webpack://kundo/./node_modules/date-fns/_lib/getRoundingMethod.mjs","webpack://kundo/./node_modules/date-fns/formatDistanceToNow.mjs","webpack://kundo/./node_modules/date-fns/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/isThisYear.mjs","webpack://kundo/./node_modules/date-fns/isSameYear.mjs","webpack://kundo/./node_modules/date-fns/isToday.mjs","webpack://kundo/./node_modules/date-fns/isSameDay.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildFormatLongFn.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildMatchFn.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildMatchPatternFn.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/da.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/de.mjs","webpack://kundo/./node_modules/date-fns/locale/en-GB/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/en-GB.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/es.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/fi.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/nb.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/nl.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/isSameWeek.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/pl.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/sv.mjs","webpack://kundo/./node_modules/date-fns/startOfDay.mjs","webpack://kundo/./node_modules/date-fns/startOfWeek.mjs","webpack://kundo/./node_modules/date-fns/toDate.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/use-composed-ref.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/utils.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/LazyContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/PresenceContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/events/add-pointer-event.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/events/event-info.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/drag/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/focus.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/hover.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/pan/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/press.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/animation/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/animations.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/definitions.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/drag.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/gestures.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/layout.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/load-features.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/components/create-proxy.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/use-render.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/html/use-props.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/use-props.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/distance.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/get-context-window.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/is-browser.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/use-constant.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/JSAnimation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/animate/single-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/drivers/frame.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/inertia.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/spring.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/events/add-dom-event.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/batcher.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/frame.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/microtask.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/order.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/render-step.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/sync-time.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/hover.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/utils/setup.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/copy.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/models.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/utils.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/shared/stack.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/measure.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/Feature.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/VisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/style-set.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/render.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/store.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/path.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/render.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/animation-state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/keys-position.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/motion-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/setters.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/variant-props.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/resize/handle-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/resize/handle-window.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/resize/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/stats/animation-count.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/stats/buffer.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/delay.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/interpolate.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/is-html-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/is-svg-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/color.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/complex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/immediate.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/number.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/visibility.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/resolve-elements.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/flags.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/memo.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/auto.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/hex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/hsla.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/rgba.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/utils.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/complex/filter.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/complex/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/complex/mask.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/dimensions.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/int.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/maps/number.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/maps/transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/numbers/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/numbers/units.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/test.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/find.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/will-change/is.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/array.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/clamp.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/anticipate.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/back.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/circ.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/ease.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/utils/map.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/errors.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/global-config.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/is-numerical-string.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/is-object.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/is-zero-value-string.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/memo.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/noop.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/pipe.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/progress.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/subscription-manager.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/time-conversion.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/velocity-per-second.mjs"],"sourcesContent":["\"use strict\";var L=Object.defineProperty,fe=Object.defineProperties,me=Object.getOwnPropertyDescriptor,he=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertyNames,ee=Object.getOwnPropertySymbols;var te=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var re=(e,r,t)=>r in e?L(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,_=(e,r)=>{for(var t in r||(r={}))te.call(r,t)&&re(e,t,r[t]);if(ee)for(var t of ee(r))xe.call(r,t)&&re(e,t,r[t]);return e},oe=(e,r)=>fe(e,he(r));var we=(e,r)=>{for(var t in r)L(e,t,{get:r[t],enumerable:!0})},ve=(e,r,t,o)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let i of ye(r))!te.call(e,i)&&i!==t&&L(e,i,{get:()=>r[i],enumerable:!(o=me(r,i))||o.enumerable});return e};var ke=e=>ve(L({},\"__esModule\",{value:!0}),e);var tr={};we(tr,{formatFileSize:()=>ne,twMerge:()=>ge});module.exports=ke(tr);var ne=(e,r=2)=>{if(!+e)return\"0 Bytes\";let t=1024,o=r<0?0:r,i=[\"Bytes\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],n=Math.floor(Math.log(e)/Math.log(t));return`${parseFloat((e/Math.pow(t,n)).toFixed(o))} ${i[n]}`};var K=\"-\",Ce=e=>{let r=Me(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{let s=l.split(K);return s[0]===\"\"&&s.length!==1&&s.shift(),ae(s,r)||ze(l)},getConflictingClassGroupIds:(l,s)=>{let u=t[l]||[];return s&&o[l]?[...u,...o[l]]:u}}},ae=(e,r)=>{var l;if(e.length===0)return r.classGroupId;let t=e[0],o=r.nextPart.get(t),i=o?ae(e.slice(1),o):void 0;if(i)return i;if(r.validators.length===0)return;let n=e.join(K);return(l=r.validators.find(({validator:s})=>s(n)))==null?void 0:l.classGroupId},se=/^\\[(.+)\\]$/,ze=e=>{if(se.test(e)){let r=se.exec(e)[1],t=r==null?void 0:r.substring(0,r.indexOf(\":\"));if(t)return\"arbitrary..\"+t}},Me=e=>{let{theme:r,prefix:t}=e,o={nextPart:new Map,validators:[]};return Ae(Object.entries(e.classGroups),t).forEach(([n,l])=>{q(l,o,n,r)}),o},q=(e,r,t,o)=>{e.forEach(i=>{if(typeof i==\"string\"){let n=i===\"\"?r:ie(r,i);n.classGroupId=t;return}if(typeof i==\"function\"){if(Se(i)){q(i(o),r,t,o);return}r.validators.push({validator:i,classGroupId:t});return}Object.entries(i).forEach(([n,l])=>{q(l,ie(r,n),t,o)})})},ie=(e,r)=>{let t=e;return r.split(K).forEach(o=>{t.nextPart.has(o)||t.nextPart.set(o,{nextPart:new Map,validators:[]}),t=t.nextPart.get(o)}),t},Se=e=>e.isThemeGetter,Ae=(e,r)=>r?e.map(([t,o])=>{let i=o.map(n=>typeof n==\"string\"?r+n:typeof n==\"object\"?Object.fromEntries(Object.entries(n).map(([l,s])=>[r+l,s])):n);return[t,i]}):e,Ge=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,t=new Map,o=new Map,i=(n,l)=>{t.set(n,l),r++,r>e&&(r=0,o=t,t=new Map)};return{get(n){let l=t.get(n);if(l!==void 0)return l;if((l=o.get(n))!==void 0)return i(n,l),l},set(n,l){t.has(n)?t.set(n,l):i(n,l)}}},ce=\"!\",Pe=e=>{let{separator:r,experimentalParseClassName:t}=e,o=r.length===1,i=r[0],n=r.length,l=s=>{let u=[],g=0,m=0,y;for(let p=0;p<s.length;p++){let f=s[p];if(g===0){if(f===i&&(o||s.slice(p,p+n)===r)){u.push(s.slice(m,p)),m=p+n;continue}if(f===\"/\"){y=p;continue}}f===\"[\"?g++:f===\"]\"&&g--}let x=u.length===0?s:s.substring(m),v=x.startsWith(ce),w=v?x.substring(1):x,b=y&&y>m?y-m:void 0;return{modifiers:u,hasImportantModifier:v,baseClassName:w,maybePostfixModifierPosition:b}};return t?s=>t({className:s,parseClassName:l}):l},Re=e=>{if(e.length<=1)return e;let r=[],t=[];return e.forEach(o=>{o[0]===\"[\"?(r.push(...t.sort(),o),t=[]):t.push(o)}),r.push(...t.sort()),r},Ie=e=>_({cache:Ge(e.cacheSize),parseClassName:Pe(e)},Ce(e)),Te=/\\s+/,Ne=(e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:i}=r,n=[],l=e.trim().split(Te),s=\"\";for(let u=l.length-1;u>=0;u-=1){let g=l[u],{modifiers:m,hasImportantModifier:y,baseClassName:x,maybePostfixModifierPosition:v}=t(g),w=!!v,b=o(w?x.substring(0,v):x);if(!b){if(!w){s=g+(s.length>0?\" \"+s:s);continue}if(b=o(x),!b){s=g+(s.length>0?\" \"+s:s);continue}w=!1}let p=Re(m).join(\":\"),f=y?p+ce:p,h=f+b;if(n.includes(h))continue;n.push(h);let P=i(b,w);for(let S=0;S<P.length;++S){let B=P[S];n.push(f+B)}s=g+(s.length>0?\" \"+s:s)}return s};function Be(){let e=0,r,t,o=\"\";for(;e<arguments.length;)(r=arguments[e++])&&(t=de(r))&&(o&&(o+=\" \"),o+=t);return o}var de=e=>{if(typeof e==\"string\")return e;let r,t=\"\";for(let o=0;o<e.length;o++)e[o]&&(r=de(e[o]))&&(t&&(t+=\" \"),t+=r);return t};function le(e,...r){let t,o,i,n=l;function l(u){let g=r.reduce((m,y)=>y(m),e());return t=Ie(g),o=t.cache.get,i=t.cache.set,n=s,s(u)}function s(u){let g=o(u);if(g)return g;let m=Ne(u,t);return i(u,m),m}return function(){return n(Be.apply(null,arguments))}}var c=e=>{let r=t=>t[e]||[];return r.isThemeGetter=!0,r},pe=/^\\[(?:([a-z-]+):)?(.+)\\]$/i,Ee=/^\\d+\\/\\d+$/,je=new Set([\"px\",\"full\",\"screen\"]),Le=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,_e=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,We=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/,$e=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,Fe=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,C=e=>A(e)||je.has(e)||Ee.test(e),z=e=>G(e,\"length\",Xe),A=e=>!!e&&!Number.isNaN(Number(e)),O=e=>G(e,\"number\",A),I=e=>!!e&&Number.isInteger(Number(e)),Ve=e=>e.endsWith(\"%\")&&A(e.slice(0,-1)),a=e=>pe.test(e),M=e=>Le.test(e),Ue=new Set([\"length\",\"size\",\"percentage\"]),Oe=e=>G(e,Ue,ue),qe=e=>G(e,\"position\",ue),Ke=new Set([\"image\",\"url\"]),Ze=e=>G(e,Ke,He),Je=e=>G(e,\"\",Ye),T=()=>!0,G=(e,r,t)=>{let o=pe.exec(e);return o?o[1]?typeof r==\"string\"?o[1]===r:r.has(o[1]):t(o[2]):!1},Xe=e=>_e.test(e)&&!We.test(e),ue=()=>!1,Ye=e=>$e.test(e),He=e=>Fe.test(e);var W=()=>{let e=c(\"colors\"),r=c(\"spacing\"),t=c(\"blur\"),o=c(\"brightness\"),i=c(\"borderColor\"),n=c(\"borderRadius\"),l=c(\"borderSpacing\"),s=c(\"borderWidth\"),u=c(\"contrast\"),g=c(\"grayscale\"),m=c(\"hueRotate\"),y=c(\"invert\"),x=c(\"gap\"),v=c(\"gradientColorStops\"),w=c(\"gradientColorStopPositions\"),b=c(\"inset\"),p=c(\"margin\"),f=c(\"opacity\"),h=c(\"padding\"),P=c(\"saturate\"),S=c(\"scale\"),B=c(\"sepia\"),Z=c(\"skew\"),J=c(\"space\"),X=c(\"translate\"),$=()=>[\"auto\",\"contain\",\"none\"],F=()=>[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"],V=()=>[\"auto\",a,r],d=()=>[a,r],Y=()=>[\"\",C,z],E=()=>[\"auto\",A,a],H=()=>[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\"],j=()=>[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"],Q=()=>[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],U=()=>[\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\"],R=()=>[\"\",\"0\",a],D=()=>[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"],k=()=>[A,a];return{cacheSize:500,separator:\":\",theme:{colors:[T],spacing:[C,z],blur:[\"none\",\"\",M,a],brightness:k(),borderColor:[e],borderRadius:[\"none\",\"\",\"full\",M,a],borderSpacing:d(),borderWidth:Y(),contrast:k(),grayscale:R(),hueRotate:k(),invert:R(),gap:d(),gradientColorStops:[e],gradientColorStopPositions:[Ve,z],inset:V(),margin:V(),opacity:k(),padding:d(),saturate:k(),scale:k(),sepia:R(),skew:k(),space:d(),translate:d()},classGroups:{aspect:[{aspect:[\"auto\",\"square\",\"video\",a]}],container:[\"container\"],columns:[{columns:[M]}],\"break-after\":[{\"break-after\":D()}],\"break-before\":[{\"break-before\":D()}],\"break-inside\":[{\"break-inside\":[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"]}],\"box-decoration\":[{\"box-decoration\":[\"slice\",\"clone\"]}],box:[{box:[\"border\",\"content\"]}],display:[\"block\",\"inline-block\",\"inline\",\"flex\",\"inline-flex\",\"table\",\"inline-table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row-group\",\"table-row\",\"flow-root\",\"grid\",\"inline-grid\",\"contents\",\"list-item\",\"hidden\"],float:[{float:[\"right\",\"left\",\"none\",\"start\",\"end\"]}],clear:[{clear:[\"left\",\"right\",\"both\",\"none\",\"start\",\"end\"]}],isolation:[\"isolate\",\"isolation-auto\"],\"object-fit\":[{object:[\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\"]}],\"object-position\":[{object:[...H(),a]}],overflow:[{overflow:F()}],\"overflow-x\":[{\"overflow-x\":F()}],\"overflow-y\":[{\"overflow-y\":F()}],overscroll:[{overscroll:$()}],\"overscroll-x\":[{\"overscroll-x\":$()}],\"overscroll-y\":[{\"overscroll-y\":$()}],position:[\"static\",\"fixed\",\"absolute\",\"relative\",\"sticky\"],inset:[{inset:[b]}],\"inset-x\":[{\"inset-x\":[b]}],\"inset-y\":[{\"inset-y\":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:[\"visible\",\"invisible\",\"collapse\"],z:[{z:[\"auto\",I,a]}],basis:[{basis:V()}],\"flex-direction\":[{flex:[\"row\",\"row-reverse\",\"col\",\"col-reverse\"]}],\"flex-wrap\":[{flex:[\"wrap\",\"wrap-reverse\",\"nowrap\"]}],flex:[{flex:[\"1\",\"auto\",\"initial\",\"none\",a]}],grow:[{grow:R()}],shrink:[{shrink:R()}],order:[{order:[\"first\",\"last\",\"none\",I,a]}],\"grid-cols\":[{\"grid-cols\":[T]}],\"col-start-end\":[{col:[\"auto\",{span:[\"full\",I,a]},a]}],\"col-start\":[{\"col-start\":E()}],\"col-end\":[{\"col-end\":E()}],\"grid-rows\":[{\"grid-rows\":[T]}],\"row-start-end\":[{row:[\"auto\",{span:[I,a]},a]}],\"row-start\":[{\"row-start\":E()}],\"row-end\":[{\"row-end\":E()}],\"grid-flow\":[{\"grid-flow\":[\"row\",\"col\",\"dense\",\"row-dense\",\"col-dense\"]}],\"auto-cols\":[{\"auto-cols\":[\"auto\",\"min\",\"max\",\"fr\",a]}],\"auto-rows\":[{\"auto-rows\":[\"auto\",\"min\",\"max\",\"fr\",a]}],gap:[{gap:[x]}],\"gap-x\":[{\"gap-x\":[x]}],\"gap-y\":[{\"gap-y\":[x]}],\"justify-content\":[{justify:[\"normal\",...U()]}],\"justify-items\":[{\"justify-items\":[\"start\",\"end\",\"center\",\"stretch\"]}],\"justify-self\":[{\"justify-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],\"align-content\":[{content:[\"normal\",...U(),\"baseline\"]}],\"align-items\":[{items:[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"align-self\":[{self:[\"auto\",\"start\",\"end\",\"center\",\"stretch\",\"baseline\"]}],\"place-content\":[{\"place-content\":[...U(),\"baseline\"]}],\"place-items\":[{\"place-items\":[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"place-self\":[{\"place-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],p:[{p:[h]}],px:[{px:[h]}],py:[{py:[h]}],ps:[{ps:[h]}],pe:[{pe:[h]}],pt:[{pt:[h]}],pr:[{pr:[h]}],pb:[{pb:[h]}],pl:[{pl:[h]}],m:[{m:[p]}],mx:[{mx:[p]}],my:[{my:[p]}],ms:[{ms:[p]}],me:[{me:[p]}],mt:[{mt:[p]}],mr:[{mr:[p]}],mb:[{mb:[p]}],ml:[{ml:[p]}],\"space-x\":[{\"space-x\":[J]}],\"space-x-reverse\":[\"space-x-reverse\"],\"space-y\":[{\"space-y\":[J]}],\"space-y-reverse\":[\"space-y-reverse\"],w:[{w:[\"auto\",\"min\",\"max\",\"fit\",\"svw\",\"lvw\",\"dvw\",a,r]}],\"min-w\":[{\"min-w\":[a,r,\"min\",\"max\",\"fit\"]}],\"max-w\":[{\"max-w\":[a,r,\"none\",\"full\",\"min\",\"max\",\"fit\",\"prose\",{screen:[M]},M]}],h:[{h:[a,r,\"auto\",\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"min-h\":[{\"min-h\":[a,r,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"max-h\":[{\"max-h\":[a,r,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],size:[{size:[a,r,\"auto\",\"min\",\"max\",\"fit\"]}],\"font-size\":[{text:[\"base\",M,z]}],\"font-smoothing\":[\"antialiased\",\"subpixel-antialiased\"],\"font-style\":[\"italic\",\"not-italic\"],\"font-weight\":[{font:[\"thin\",\"extralight\",\"light\",\"normal\",\"medium\",\"semibold\",\"bold\",\"extrabold\",\"black\",O]}],\"font-family\":[{font:[T]}],\"fvn-normal\":[\"normal-nums\"],\"fvn-ordinal\":[\"ordinal\"],\"fvn-slashed-zero\":[\"slashed-zero\"],\"fvn-figure\":[\"lining-nums\",\"oldstyle-nums\"],\"fvn-spacing\":[\"proportional-nums\",\"tabular-nums\"],\"fvn-fraction\":[\"diagonal-fractions\",\"stacked-fractions\"],tracking:[{tracking:[\"tighter\",\"tight\",\"normal\",\"wide\",\"wider\",\"widest\",a]}],\"line-clamp\":[{\"line-clamp\":[\"none\",A,O]}],leading:[{leading:[\"none\",\"tight\",\"snug\",\"normal\",\"relaxed\",\"loose\",C,a]}],\"list-image\":[{\"list-image\":[\"none\",a]}],\"list-style-type\":[{list:[\"none\",\"disc\",\"decimal\",a]}],\"list-style-position\":[{list:[\"inside\",\"outside\"]}],\"placeholder-color\":[{placeholder:[e]}],\"placeholder-opacity\":[{\"placeholder-opacity\":[f]}],\"text-alignment\":[{text:[\"left\",\"center\",\"right\",\"justify\",\"start\",\"end\"]}],\"text-color\":[{text:[e]}],\"text-opacity\":[{\"text-opacity\":[f]}],\"text-decoration\":[\"underline\",\"overline\",\"line-through\",\"no-underline\"],\"text-decoration-style\":[{decoration:[...j(),\"wavy\"]}],\"text-decoration-thickness\":[{decoration:[\"auto\",\"from-font\",C,z]}],\"underline-offset\":[{\"underline-offset\":[\"auto\",C,a]}],\"text-decoration-color\":[{decoration:[e]}],\"text-transform\":[\"uppercase\",\"lowercase\",\"capitalize\",\"normal-case\"],\"text-overflow\":[\"truncate\",\"text-ellipsis\",\"text-clip\"],\"text-wrap\":[{text:[\"wrap\",\"nowrap\",\"balance\",\"pretty\"]}],indent:[{indent:d()}],\"vertical-align\":[{align:[\"baseline\",\"top\",\"middle\",\"bottom\",\"text-top\",\"text-bottom\",\"sub\",\"super\",a]}],whitespace:[{whitespace:[\"normal\",\"nowrap\",\"pre\",\"pre-line\",\"pre-wrap\",\"break-spaces\"]}],break:[{break:[\"normal\",\"words\",\"all\",\"keep\"]}],hyphens:[{hyphens:[\"none\",\"manual\",\"auto\"]}],content:[{content:[\"none\",a]}],\"bg-attachment\":[{bg:[\"fixed\",\"local\",\"scroll\"]}],\"bg-clip\":[{\"bg-clip\":[\"border\",\"padding\",\"content\",\"text\"]}],\"bg-opacity\":[{\"bg-opacity\":[f]}],\"bg-origin\":[{\"bg-origin\":[\"border\",\"padding\",\"content\"]}],\"bg-position\":[{bg:[...H(),qe]}],\"bg-repeat\":[{bg:[\"no-repeat\",{repeat:[\"\",\"x\",\"y\",\"round\",\"space\"]}]}],\"bg-size\":[{bg:[\"auto\",\"cover\",\"contain\",Oe]}],\"bg-image\":[{bg:[\"none\",{\"gradient-to\":[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},Ze]}],\"bg-color\":[{bg:[e]}],\"gradient-from-pos\":[{from:[w]}],\"gradient-via-pos\":[{via:[w]}],\"gradient-to-pos\":[{to:[w]}],\"gradient-from\":[{from:[v]}],\"gradient-via\":[{via:[v]}],\"gradient-to\":[{to:[v]}],rounded:[{rounded:[n]}],\"rounded-s\":[{\"rounded-s\":[n]}],\"rounded-e\":[{\"rounded-e\":[n]}],\"rounded-t\":[{\"rounded-t\":[n]}],\"rounded-r\":[{\"rounded-r\":[n]}],\"rounded-b\":[{\"rounded-b\":[n]}],\"rounded-l\":[{\"rounded-l\":[n]}],\"rounded-ss\":[{\"rounded-ss\":[n]}],\"rounded-se\":[{\"rounded-se\":[n]}],\"rounded-ee\":[{\"rounded-ee\":[n]}],\"rounded-es\":[{\"rounded-es\":[n]}],\"rounded-tl\":[{\"rounded-tl\":[n]}],\"rounded-tr\":[{\"rounded-tr\":[n]}],\"rounded-br\":[{\"rounded-br\":[n]}],\"rounded-bl\":[{\"rounded-bl\":[n]}],\"border-w\":[{border:[s]}],\"border-w-x\":[{\"border-x\":[s]}],\"border-w-y\":[{\"border-y\":[s]}],\"border-w-s\":[{\"border-s\":[s]}],\"border-w-e\":[{\"border-e\":[s]}],\"border-w-t\":[{\"border-t\":[s]}],\"border-w-r\":[{\"border-r\":[s]}],\"border-w-b\":[{\"border-b\":[s]}],\"border-w-l\":[{\"border-l\":[s]}],\"border-opacity\":[{\"border-opacity\":[f]}],\"border-style\":[{border:[...j(),\"hidden\"]}],\"divide-x\":[{\"divide-x\":[s]}],\"divide-x-reverse\":[\"divide-x-reverse\"],\"divide-y\":[{\"divide-y\":[s]}],\"divide-y-reverse\":[\"divide-y-reverse\"],\"divide-opacity\":[{\"divide-opacity\":[f]}],\"divide-style\":[{divide:j()}],\"border-color\":[{border:[i]}],\"border-color-x\":[{\"border-x\":[i]}],\"border-color-y\":[{\"border-y\":[i]}],\"border-color-s\":[{\"border-s\":[i]}],\"border-color-e\":[{\"border-e\":[i]}],\"border-color-t\":[{\"border-t\":[i]}],\"border-color-r\":[{\"border-r\":[i]}],\"border-color-b\":[{\"border-b\":[i]}],\"border-color-l\":[{\"border-l\":[i]}],\"divide-color\":[{divide:[i]}],\"outline-style\":[{outline:[\"\",...j()]}],\"outline-offset\":[{\"outline-offset\":[C,a]}],\"outline-w\":[{outline:[C,z]}],\"outline-color\":[{outline:[e]}],\"ring-w\":[{ring:Y()}],\"ring-w-inset\":[\"ring-inset\"],\"ring-color\":[{ring:[e]}],\"ring-opacity\":[{\"ring-opacity\":[f]}],\"ring-offset-w\":[{\"ring-offset\":[C,z]}],\"ring-offset-color\":[{\"ring-offset\":[e]}],shadow:[{shadow:[\"\",\"inner\",\"none\",M,Je]}],\"shadow-color\":[{shadow:[T]}],opacity:[{opacity:[f]}],\"mix-blend\":[{\"mix-blend\":[...Q(),\"plus-lighter\",\"plus-darker\"]}],\"bg-blend\":[{\"bg-blend\":Q()}],filter:[{filter:[\"\",\"none\"]}],blur:[{blur:[t]}],brightness:[{brightness:[o]}],contrast:[{contrast:[u]}],\"drop-shadow\":[{\"drop-shadow\":[\"\",\"none\",M,a]}],grayscale:[{grayscale:[g]}],\"hue-rotate\":[{\"hue-rotate\":[m]}],invert:[{invert:[y]}],saturate:[{saturate:[P]}],sepia:[{sepia:[B]}],\"backdrop-filter\":[{\"backdrop-filter\":[\"\",\"none\"]}],\"backdrop-blur\":[{\"backdrop-blur\":[t]}],\"backdrop-brightness\":[{\"backdrop-brightness\":[o]}],\"backdrop-contrast\":[{\"backdrop-contrast\":[u]}],\"backdrop-grayscale\":[{\"backdrop-grayscale\":[g]}],\"backdrop-hue-rotate\":[{\"backdrop-hue-rotate\":[m]}],\"backdrop-invert\":[{\"backdrop-invert\":[y]}],\"backdrop-opacity\":[{\"backdrop-opacity\":[f]}],\"backdrop-saturate\":[{\"backdrop-saturate\":[P]}],\"backdrop-sepia\":[{\"backdrop-sepia\":[B]}],\"border-collapse\":[{border:[\"collapse\",\"separate\"]}],\"border-spacing\":[{\"border-spacing\":[l]}],\"border-spacing-x\":[{\"border-spacing-x\":[l]}],\"border-spacing-y\":[{\"border-spacing-y\":[l]}],\"table-layout\":[{table:[\"auto\",\"fixed\"]}],caption:[{caption:[\"top\",\"bottom\"]}],transition:[{transition:[\"none\",\"all\",\"\",\"colors\",\"opacity\",\"shadow\",\"transform\",a]}],duration:[{duration:k()}],ease:[{ease:[\"linear\",\"in\",\"out\",\"in-out\",a]}],delay:[{delay:k()}],animate:[{animate:[\"none\",\"spin\",\"ping\",\"pulse\",\"bounce\",a]}],transform:[{transform:[\"\",\"gpu\",\"none\"]}],scale:[{scale:[S]}],\"scale-x\":[{\"scale-x\":[S]}],\"scale-y\":[{\"scale-y\":[S]}],rotate:[{rotate:[I,a]}],\"translate-x\":[{\"translate-x\":[X]}],\"translate-y\":[{\"translate-y\":[X]}],\"skew-x\":[{\"skew-x\":[Z]}],\"skew-y\":[{\"skew-y\":[Z]}],\"transform-origin\":[{origin:[\"center\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",a]}],accent:[{accent:[\"auto\",e]}],appearance:[{appearance:[\"none\",\"auto\"]}],cursor:[{cursor:[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\",a]}],\"caret-color\":[{caret:[e]}],\"pointer-events\":[{\"pointer-events\":[\"none\",\"auto\"]}],resize:[{resize:[\"none\",\"y\",\"x\",\"\"]}],\"scroll-behavior\":[{scroll:[\"auto\",\"smooth\"]}],\"scroll-m\":[{\"scroll-m\":d()}],\"scroll-mx\":[{\"scroll-mx\":d()}],\"scroll-my\":[{\"scroll-my\":d()}],\"scroll-ms\":[{\"scroll-ms\":d()}],\"scroll-me\":[{\"scroll-me\":d()}],\"scroll-mt\":[{\"scroll-mt\":d()}],\"scroll-mr\":[{\"scroll-mr\":d()}],\"scroll-mb\":[{\"scroll-mb\":d()}],\"scroll-ml\":[{\"scroll-ml\":d()}],\"scroll-p\":[{\"scroll-p\":d()}],\"scroll-px\":[{\"scroll-px\":d()}],\"scroll-py\":[{\"scroll-py\":d()}],\"scroll-ps\":[{\"scroll-ps\":d()}],\"scroll-pe\":[{\"scroll-pe\":d()}],\"scroll-pt\":[{\"scroll-pt\":d()}],\"scroll-pr\":[{\"scroll-pr\":d()}],\"scroll-pb\":[{\"scroll-pb\":d()}],\"scroll-pl\":[{\"scroll-pl\":d()}],\"snap-align\":[{snap:[\"start\",\"end\",\"center\",\"align-none\"]}],\"snap-stop\":[{snap:[\"normal\",\"always\"]}],\"snap-type\":[{snap:[\"none\",\"x\",\"y\",\"both\"]}],\"snap-strictness\":[{snap:[\"mandatory\",\"proximity\"]}],touch:[{touch:[\"auto\",\"none\",\"manipulation\"]}],\"touch-x\":[{\"touch-pan\":[\"x\",\"left\",\"right\"]}],\"touch-y\":[{\"touch-pan\":[\"y\",\"up\",\"down\"]}],\"touch-pz\":[\"touch-pinch-zoom\"],select:[{select:[\"none\",\"text\",\"all\",\"auto\"]}],\"will-change\":[{\"will-change\":[\"auto\",\"scroll\",\"contents\",\"transform\",a]}],fill:[{fill:[e,\"none\"]}],\"stroke-w\":[{stroke:[C,z,O]}],stroke:[{stroke:[e,\"none\"]}],sr:[\"sr-only\",\"not-sr-only\"],\"forced-color-adjust\":[{\"forced-color-adjust\":[\"auto\",\"none\"]}]},conflictingClassGroups:{overflow:[\"overflow-x\",\"overflow-y\"],overscroll:[\"overscroll-x\",\"overscroll-y\"],inset:[\"inset-x\",\"inset-y\",\"start\",\"end\",\"top\",\"right\",\"bottom\",\"left\"],\"inset-x\":[\"right\",\"left\"],\"inset-y\":[\"top\",\"bottom\"],flex:[\"basis\",\"grow\",\"shrink\"],gap:[\"gap-x\",\"gap-y\"],p:[\"px\",\"py\",\"ps\",\"pe\",\"pt\",\"pr\",\"pb\",\"pl\"],px:[\"pr\",\"pl\"],py:[\"pt\",\"pb\"],m:[\"mx\",\"my\",\"ms\",\"me\",\"mt\",\"mr\",\"mb\",\"ml\"],mx:[\"mr\",\"ml\"],my:[\"mt\",\"mb\"],size:[\"w\",\"h\"],\"font-size\":[\"leading\"],\"fvn-normal\":[\"fvn-ordinal\",\"fvn-slashed-zero\",\"fvn-figure\",\"fvn-spacing\",\"fvn-fraction\"],\"fvn-ordinal\":[\"fvn-normal\"],\"fvn-slashed-zero\":[\"fvn-normal\"],\"fvn-figure\":[\"fvn-normal\"],\"fvn-spacing\":[\"fvn-normal\"],\"fvn-fraction\":[\"fvn-normal\"],\"line-clamp\":[\"display\",\"overflow\"],rounded:[\"rounded-s\",\"rounded-e\",\"rounded-t\",\"rounded-r\",\"rounded-b\",\"rounded-l\",\"rounded-ss\",\"rounded-se\",\"rounded-ee\",\"rounded-es\",\"rounded-tl\",\"rounded-tr\",\"rounded-br\",\"rounded-bl\"],\"rounded-s\":[\"rounded-ss\",\"rounded-es\"],\"rounded-e\":[\"rounded-se\",\"rounded-ee\"],\"rounded-t\":[\"rounded-tl\",\"rounded-tr\"],\"rounded-r\":[\"rounded-tr\",\"rounded-br\"],\"rounded-b\":[\"rounded-br\",\"rounded-bl\"],\"rounded-l\":[\"rounded-tl\",\"rounded-bl\"],\"border-spacing\":[\"border-spacing-x\",\"border-spacing-y\"],\"border-w\":[\"border-w-s\",\"border-w-e\",\"border-w-t\",\"border-w-r\",\"border-w-b\",\"border-w-l\"],\"border-w-x\":[\"border-w-r\",\"border-w-l\"],\"border-w-y\":[\"border-w-t\",\"border-w-b\"],\"border-color\":[\"border-color-s\",\"border-color-e\",\"border-color-t\",\"border-color-r\",\"border-color-b\",\"border-color-l\"],\"border-color-x\":[\"border-color-r\",\"border-color-l\"],\"border-color-y\":[\"border-color-t\",\"border-color-b\"],\"scroll-m\":[\"scroll-mx\",\"scroll-my\",\"scroll-ms\",\"scroll-me\",\"scroll-mt\",\"scroll-mr\",\"scroll-mb\",\"scroll-ml\"],\"scroll-mx\":[\"scroll-mr\",\"scroll-ml\"],\"scroll-my\":[\"scroll-mt\",\"scroll-mb\"],\"scroll-p\":[\"scroll-px\",\"scroll-py\",\"scroll-ps\",\"scroll-pe\",\"scroll-pt\",\"scroll-pr\",\"scroll-pb\",\"scroll-pl\"],\"scroll-px\":[\"scroll-pr\",\"scroll-pl\"],\"scroll-py\":[\"scroll-pt\",\"scroll-pb\"],touch:[\"touch-x\",\"touch-y\",\"touch-pz\"],\"touch-x\":[\"touch\"],\"touch-y\":[\"touch\"],\"touch-pz\":[\"touch\"]},conflictingClassGroupModifiers:{\"font-size\":[\"leading\"]}}},Qe=(e,{cacheSize:r,prefix:t,separator:o,experimentalParseClassName:i,extend:n={},override:l={}})=>{N(e,\"cacheSize\",r),N(e,\"prefix\",t),N(e,\"separator\",o),N(e,\"experimentalParseClassName\",i);for(let s in l)De(e[s],l[s]);for(let s in n)er(e[s],n[s]);return e},N=(e,r,t)=>{t!==void 0&&(e[r]=t)},De=(e,r)=>{if(r)for(let t in r)N(e,t,r[t])},er=(e,r)=>{if(r)for(let t in r){let o=r[t];o!==void 0&&(e[t]=(e[t]||[]).concat(o))}},be=(e,...r)=>typeof e==\"function\"?le(W,e,...r):le(()=>Qe(W(),e),...r);var rr=W(),ge=be(()=>oe(_({},rr),{prefix:\"tw-\"}));0&&(module.exports={formatFileSize,twMerge});\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgQuestionCircle = function SvgQuestionCircle(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    viewBox: \"0 0 24 24\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM11.952 7C10.9879 7 10.1911 7.64781 9.96747 8.50299C9.82774 9.03731 9.28132 9.35719 8.74701 9.21747C8.21269 9.07774 7.89281 8.53132 8.03253 7.99701C8.48562 6.26435 10.0755 5 11.952 5C14.1726 5 16 6.77595 16 9C16 10.2955 15.3762 11.4431 14.4204 12.1705C13.9892 12.4987 13.6041 12.8196 13.3276 13.1575C13.0552 13.4901 12.952 13.7614 12.952 14V15C12.952 15.5523 12.5043 16 11.952 16C11.3997 16 10.952 15.5523 10.952 15V14C10.952 13.134 11.3407 12.4272 11.78 11.8905C12.2151 11.3591 12.7615 10.9197 13.2092 10.5789C13.6954 10.2089 14 9.63723 14 9C14 7.91034 13.0981 7 11.952 7ZM13 18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18C11 17.4477 11.4477 17 12 17C12.5523 17 13 17.4477 13 18Z\",\n    fill: \"currentColor\"\n  })));\n};\nexport { SvgQuestionCircle as ReactComponent };\nexport default \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM11.952 7C10.9879 7 10.1911 7.64781 9.96747 8.50299C9.82774 9.03731 9.28132 9.35719 8.74701 9.21747C8.21269 9.07774 7.89281 8.53132 8.03253 7.99701C8.48562 6.26435 10.0755 5 11.952 5C14.1726 5 16 6.77595 16 9C16 10.2955 15.3762 11.4431 14.4204 12.1705C13.9892 12.4987 13.6041 12.8196 13.3276 13.1575C13.0552 13.4901 12.952 13.7614 12.952 14V15C12.952 15.5523 12.5043 16 11.952 16C11.3997 16 10.952 15.5523 10.952 15V14C10.952 13.134 11.3407 12.4272 11.78 11.8905C12.2151 11.3591 12.7615 10.9197 13.2092 10.5789C13.6954 10.2089 14 9.63723 14 9C14 7.91034 13.0981 7 11.952 7ZM13 18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18C11 17.4477 11.4477 17 12 17C12.5523 17 13 17.4477 13 18Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\";","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSearch = function SvgSearch(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    viewBox: \"0 0 24 24\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M4 11C4 7.13401 7.13401 4 11 4C14.866 4 18 7.13401 18 11C18 14.866 14.866 18 11 18C7.13401 18 4 14.866 4 11ZM11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C13.125 20 15.078 19.2635 16.6177 18.0319L20.2929 21.7071C20.6834 22.0976 21.3166 22.0976 21.7071 21.7071C22.0976 21.3166 22.0976 20.6834 21.7071 20.2929L18.0319 16.6177C19.2635 15.078 20 13.125 20 11C20 6.02944 15.9706 2 11 2Z\",\n    fill: \"currentColor\"\n  })));\n};\nexport { SvgSearch as ReactComponent };\nexport default \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M4 11C4 7.13401 7.13401 4 11 4C14.866 4 18 7.13401 18 11C18 14.866 14.866 18 11 18C7.13401 18 4 14.866 4 11ZM11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C13.125 20 15.078 19.2635 16.6177 18.0319L20.2929 21.7071C20.6834 22.0976 21.3166 22.0976 21.7071 21.7071C22.0976 21.3166 22.0976 20.6834 21.7071 20.2929L18.0319 16.6177C19.2635 15.078 20 13.125 20 11C20 6.02944 15.9706 2 11 2Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\";","var getDefaultParent = function (originalTarget) {\n    if (typeof document === 'undefined') {\n        return null;\n    }\n    var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n    return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n    return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n    return targets\n        .map(function (target) {\n        if (parent.contains(target)) {\n            return target;\n        }\n        var correctedTarget = unwrapHost(target);\n        if (correctedTarget && parent.contains(correctedTarget)) {\n            return correctedTarget;\n        }\n        console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n        return null;\n    })\n        .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n    var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    if (!markerMap[markerName]) {\n        markerMap[markerName] = new WeakMap();\n    }\n    var markerCounter = markerMap[markerName];\n    var hiddenNodes = [];\n    var elementsToKeep = new Set();\n    var elementsToStop = new Set(targets);\n    var keep = function (el) {\n        if (!el || elementsToKeep.has(el)) {\n            return;\n        }\n        elementsToKeep.add(el);\n        keep(el.parentNode);\n    };\n    targets.forEach(keep);\n    var deep = function (parent) {\n        if (!parent || elementsToStop.has(parent)) {\n            return;\n        }\n        Array.prototype.forEach.call(parent.children, function (node) {\n            if (elementsToKeep.has(node)) {\n                deep(node);\n            }\n            else {\n                try {\n                    var attr = node.getAttribute(controlAttribute);\n                    var alreadyHidden = attr !== null && attr !== 'false';\n                    var counterValue = (counterMap.get(node) || 0) + 1;\n                    var markerValue = (markerCounter.get(node) || 0) + 1;\n                    counterMap.set(node, counterValue);\n                    markerCounter.set(node, markerValue);\n                    hiddenNodes.push(node);\n                    if (counterValue === 1 && alreadyHidden) {\n                        uncontrolledNodes.set(node, true);\n                    }\n                    if (markerValue === 1) {\n                        node.setAttribute(markerName, 'true');\n                    }\n                    if (!alreadyHidden) {\n                        node.setAttribute(controlAttribute, 'true');\n                    }\n                }\n                catch (e) {\n                    console.error('aria-hidden: cannot operate on ', node, e);\n                }\n            }\n        });\n    };\n    deep(parentNode);\n    elementsToKeep.clear();\n    lockCount++;\n    return function () {\n        hiddenNodes.forEach(function (node) {\n            var counterValue = counterMap.get(node) - 1;\n            var markerValue = markerCounter.get(node) - 1;\n            counterMap.set(node, counterValue);\n            markerCounter.set(node, markerValue);\n            if (!counterValue) {\n                if (!uncontrolledNodes.has(node)) {\n                    node.removeAttribute(controlAttribute);\n                }\n                uncontrolledNodes.delete(node);\n            }\n            if (!markerValue) {\n                node.removeAttribute(markerName);\n            }\n        });\n        lockCount--;\n        if (!lockCount) {\n            // clear\n            counterMap = new WeakMap();\n            counterMap = new WeakMap();\n            uncontrolledNodes = new WeakMap();\n            markerMap = {};\n        }\n    };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n    var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n    targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n    return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-inert-ed'; }\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n    return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-suppressed'; }\n    return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","import React, { useEffect, useState, useRef } from 'react'\nimport { createRoot } from 'react-dom/client'\n\ntype SnackbarMessage = { message: string; link?: { url: string; text: string } }\n\nconst showEvent = 'kundo--snackbar:show'\n\nexport const triggerSnackbar = (\n  message: SnackbarMessage['message'],\n  link?: SnackbarMessage['link'],\n): void => {\n  document.dispatchEvent(\n    new CustomEvent(showEvent, {\n      detail: { message, link },\n    }),\n  )\n}\n\nexport default function Snackbar() {\n  const snackRef = useRef<HTMLDivElement | null>(null)\n  const [activeMessage, setActiveMessage] = useState<SnackbarMessage | null>(null)\n  const queue = useRef<SnackbarMessage[]>([])\n\n  useEffect(() => {\n    const listener = ({ detail }: CustomEvent<SnackbarMessage>) => {\n      if (activeMessage) {\n        queue.current.push(detail)\n      } else {\n        setActiveMessage(detail)\n      }\n    }\n    document.addEventListener(showEvent, listener)\n\n    return () => document.removeEventListener(showEvent, listener)\n  }, [activeMessage])\n\n  useEffect(() => {\n    const timer = setTimeout(() => {\n      if (queue.current.length) {\n        const first = queue.current[0]\n        queue.current = queue.current.slice(1)\n        setActiveMessage(first)\n      } else {\n        setActiveMessage(null)\n      }\n    }, 8000)\n    return () => clearTimeout(timer)\n  }, [activeMessage])\n\n  const calculatePosition = (scrollHeight: number) => {\n    if (snackRef.current) {\n      if (scrollHeight >= 64) {\n        snackRef.current.style.position = 'fixed'\n        snackRef.current.style.top = '8px'\n      } else {\n        snackRef.current.style.position = 'absolute'\n        snackRef.current.style.top = '66px'\n      }\n    }\n  }\n\n  useEffect(() => {\n    const listener = (e: any) => calculatePosition(e.target?.scrollingElement.scrollTop)\n\n    document.addEventListener('scroll', listener)\n\n    return () => {\n      document.removeEventListener('scroll', listener)\n    }\n  }, [])\n\n  const initSnackRef = (el: HTMLDivElement) => {\n    snackRef.current = el\n    calculatePosition(window.scrollY)\n  }\n\n  return (\n    activeMessage && (\n      <div\n        ref={initSnackRef}\n        className=\"snackbar\"\n        aria-live=\"polite\"\n      >\n        <div className=\"snackbar-message\">{activeMessage.message}</div>\n        {activeMessage.link && (\n          <div className=\"snackbar-button btn-wrapper btn-wrapper--justify-right\">\n            <a\n              href={activeMessage.link.url}\n              className=\"btn btn--small btn--tertiary btn--tertiary-small\"\n            >\n              {activeMessage.link.text}\n            </a>\n          </div>\n        )}\n      </div>\n    )\n  )\n}\n\nexport const initSnackbar = () => {\n  const container = $('<div id=\"snackbar-container\"></div>')\n  container.appendTo(document.body)\n  const root = createRoot(container[0])\n  root.render(<Snackbar />)\n\n  const flashMessages = Array.from(document.querySelectorAll('[data-fn-snackbar-message]'))\n  setTimeout(() => {\n    flashMessages.forEach((el) => {\n      const message = el.getAttribute('data-message-content')\n      const message_type = el.getAttribute('data-message-type')\n      if (message && message_type === 'info') triggerSnackbar(message)\n    })\n  }, 0)\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { match } from 'ts-pattern'\n\nexport enum StateType {\n  Idle,\n  Loading,\n  Done,\n  Error,\n}\n\nexport type NetworkState<T> =\n  | { type: StateType.Idle }\n  | { type: StateType.Loading }\n  | { type: StateType.Done; payload: T }\n  | { type: StateType.Error; payload: any }\n\ntype Endpoint = string\n\ntype Endpoints = {\n  editortools: {\n    assign: (id: string) => Endpoint\n    handled: (id: string) => Endpoint\n    archived: (id: string) => Endpoint\n    locked: (id: string) => Endpoint\n    priority: (id: string) => Endpoint\n    tags: (id: string) => Endpoint\n    status: (id: string) => Endpoint\n    relateTicket: (id: string) => Endpoint\n  }\n  comments: {\n    get: (id: string) => Endpoint\n    create: (id: string) => Endpoint\n    update: (id: string, comment: number) => Endpoint\n    delete: (id: string, comment: number) => Endpoint\n  }\n  activity: {\n    create: (slug: string, id: string) => Endpoint\n    changeChannel: (org: number, id: string) => Endpoint\n    channels: (org: number) => Endpoint\n    dashboardItem: (org: number, id: string) => Endpoint\n    delete: (slug: string, id: string) => Endpoint\n    drafts: (org: number) => Endpoint\n    user: (org: number, id: string) => Endpoint\n  }\n  user: {\n    profile: (id: string) => Endpoint\n    search: (org: number) => Endpoint\n  }\n  externalConversations: {\n    conversations: (itemId: string) => Endpoint\n    entries: (itemId: string, conversationId: string) => Endpoint\n  }\n  ai: {\n    smartSuggestions: (\n      inboxSlug: string,\n      dialogSlug: string,\n      mailCommentId: number | null,\n    ) => Endpoint\n    keywordSearch: (\n      inboxSlug: string,\n      dialogSlug: string,\n      searchTerm: string,\n      mailCommentId: number | null,\n    ) => Endpoint\n  }\n  ticket: {\n    cancelCsatSurvey: (publicId: string) => Endpoint\n    csatSurveyStatus: (publicId: string) => Endpoint\n  }\n}\n\nexport const endpoints: Endpoints = {\n  editortools: {\n    assign: (id) => `/dashboard/di/${id}/tools/assign_to/`,\n    handled: (id) => `/dashboard/di/${id}/tools/no_reply_required/?field=no_reply_required`,\n    archived: (id: string) => `/dashboard/di/${id}/tools/archived/?field=archived`,\n    locked: (id: string) => `/dashboard/di/${id}/tools/locked/?field=locked`,\n    priority: (id: string) => `/dashboard/di/${id}/tools/set_priority/`,\n    tags: (id: string) => `/dashboard/di/${id}/tags/`,\n    status: (id: string) => `/dashboard/di/${id}/tools/status/`,\n    relateTicket: (id: string) => `/dashboard/di/${id}/tools/relate_ticket/`,\n  },\n  comments: {\n    get: (id: string) => `/dashboard/di/${id}/comments/`,\n    create: (id: string) => `/dashboard/di/${id}/comments/create/`,\n    update: (id: string, comment: number) => `/dashboard/di/${id}/comments/${comment}/`,\n    delete: (id: string, comment: number) => `/dashboard/di/${id}/comments/${comment}/delete/`,\n  },\n  activity: {\n    create: (slug, id) => `/activity/${slug}/a/${id}/draft/`,\n    changeChannel: (org, id) => `/dashboard/${org}/activity/a/${id}/channel/`,\n    channels: (org) => `/dashboard/${org}/activity/channels/`,\n    dashboardItem: (org, id) => `/dashboard/${org}/activity/a/${id}/dashboard-item/`,\n    delete: (slug, id) => `/activity/${slug}/a/${id}/delete/`,\n    drafts: (org) => `/dashboard/${org}/activity/drafts/`,\n    user: (org, id) => `/dashboard/${org}/activity/a/${id}/user/`,\n  },\n  user: {\n    profile: (id) => `/profile/show/${id}/`,\n    search: (org) => `/profile/search/${org}/`,\n  },\n  externalConversations: {\n    conversations: (itemId) => `/dashboard/external-conversations/${itemId}/`,\n    entries: (itemId, conversationId) =>\n      `/dashboard/external-conversations/${itemId}/${conversationId}/`,\n  },\n  ai: {\n    smartSuggestions: (inboxSlug, dialogSlug, mailCommentId) =>\n      `/smart-replies/inbox/${inboxSlug}/relevant-suggestions/${dialogSlug}?mailCommentId=${mailCommentId}`,\n    keywordSearch: (inboxSlug, dialogSlug, searchTerm, mailCommentId) =>\n      `/smart-replies/inbox/${inboxSlug}/search-suggestions/${dialogSlug}/${searchTerm}?mailCommentId=${mailCommentId}`,\n  },\n  ticket: {\n    cancelCsatSurvey: (publicId: string) => `/bff/tickets/${publicId}/cancel-csat-survey`,\n    csatSurveyStatus: (publicId: string) => `/bff/tickets/${publicId}/csat-survey-status`,\n  },\n}\n\nexport enum HTTP {\n  GET,\n  PUT,\n  POST,\n  DELETE,\n  PATCH,\n}\n\nexport type RequestFn<T, U> = (data?: U) => Promise<T>\n\nexport default function useApi<T, U = {}>(\n  verb: HTTP,\n  endpoint: Endpoint,\n): [NetworkState<T>, RequestFn<T, U>] {\n  const isUnmounted = useRef(false)\n  const dataType = 'json'\n\n  useEffect(() => {\n    isUnmounted.current = false\n\n    return () => {\n      isUnmounted.current = true\n    }\n  }, [])\n\n  const [networkState, setNetworkState] = useState<NetworkState<T>>({\n    type: StateType.Idle,\n  })\n\n  const handleResponse = (promise: Promise<T>) => {\n    if (isUnmounted.current) return promise\n    setNetworkState({ type: StateType.Loading })\n\n    return promise\n      .then((payload: T) => {\n        if (isUnmounted.current) return\n        setNetworkState({ type: StateType.Done, payload })\n        return payload\n      })\n      .catch((x) => {\n        if (isUnmounted.current) return\n        setNetworkState({ type: StateType.Error, payload: x })\n        return x\n      })\n  }\n\n  const request = match<HTTP, RequestFn<T, U>>(verb)\n    .with(\n      HTTP.GET,\n      () => (): Promise<T> =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.get({ url: endpoint, dataType }).then(resolve).catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.POST,\n      () => (data: U) =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.post({ url: endpoint, data, dataType }).then(resolve).catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.PUT,\n      () => (data: U) =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.ajax({ url: endpoint, type: 'PUT', data: JSON.stringify(data) })\n              .then(resolve)\n              .catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.DELETE,\n      () => () =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.ajax({ url: endpoint, type: 'DELETE' }).then(resolve).catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.PATCH,\n      () => (data: U) =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.ajax({\n              url: endpoint,\n              type: 'PATCH',\n              data: JSON.stringify(data),\n              contentType: 'application/json',\n            })\n              .then(resolve)\n              .catch(reject),\n          ),\n        ),\n    )\n    .run()\n\n  return [networkState, request]\n}\n\nexport const request = <T, U = {}>({\n  url,\n  type,\n  data,\n}: {\n  url: string\n  type: 'GET' | 'POST' | 'PUT' | 'DELETE'\n  data?: U\n}): Promise<T> => {\n  return new Promise((resolve, reject) => $.ajax({ url, type, data }).then(resolve).catch(reject))\n}\n","import IconX from '@icons/x.svg'\nimport getFiletypeFromName from './get-filetype-from-name'\n\nexport type File = {\n  filename: string\n  path: string\n  upload_puri?: string\n  url: string\n}\n\nexport class NullAttachmentsList {\n  show_progress_error() {}\n\n  show_error_msg(msg) {\n    alert(msg)\n  }\n\n  show_progress(progress) {}\n\n  hide_progress(progress) {}\n\n  refresh_attachments() {}\n\n  get_files() {\n    throw Error('Should be unused!')\n  }\n\n  add_file(file) {}\n\n  has_file() {}\n\n  remove_file(file_id) {}\n\n  remove_file_by_url(url) {}\n}\n\nexport class LargeAttachmentsList {\n  attachments: JQuery<HTMLElement>\n  json_field: JQuery<HTMLElement>\n  attachment_list: JQuery<HTMLUListElement>\n  label: JQuery<HTMLElement>\n  onChange?: (files: File[]) => void\n\n  constructor(elm: JQuery<HTMLElement>, onChange?: (files: File[]) => void) {\n    this.attachments = elm\n    this.json_field = elm.find('.fn-attachment-list')\n    this.attachment_list = elm.find('ul')\n    this.label = elm.parent().find(`label[for=\"${this.json_field.attr('id')}\"]`)\n    this.onChange = onChange\n\n    const self = this\n    this.attachments.on('click', 'button.fn-large-attachment-list__remove-button', function (e) {\n      e.preventDefault()\n      self.remove_file($(this).data('id'))\n\n      const frame = $('#mail-iframe', window.parent.document)\n      frame.length > 0 && frame.height(document.body.scrollHeight)\n    })\n  }\n\n  refresh_attachments() {\n    this.attachments.find('.fn-errors').remove()\n    this.attachments.find('li').remove()\n\n    const elms = this.get_files().map(this._file_to_element)\n    this.attachment_list.append(elms)\n\n    if (this.attachments.find('li').length) {\n      this.label.show()\n    } else {\n      this.label.hide()\n    }\n  }\n\n  _file_to_element(file) {\n    const fileName = file.filename || file.path.replace(/^.*[\\\\/]/, '')\n    const fileType = getFiletypeFromName(fileName)\n    const button = $(\n      '<button class=\"btn btn--small btn--secondary btn--only-icon fn-large-attachment-list__remove-button\">',\n    )\n      .append(IconX)\n      .append($('<span class=\"visuallyhidden\">').text(TRANSLATIONS.remove))\n    button.data('id', file.url || file.path)\n    const nameLink = $(\n      '<a target=\"_blank\" rel=\"noopener noreferrer\" class=\"large-attachment-list__filename\">',\n    )\n    nameLink.text(fileName)\n    nameLink.attr('href', file.url)\n    const li = $('<li class=\"large-attachment-list__item\">')\n\n    let iconClass = 'large-attachment-list__icon'\n    if (fileType) {\n      iconClass += ` large-attachment-list__icon--${fileType}`\n    }\n    const icon = $(`<span class=\"${iconClass}\">`)\n    if (fileType === 'image') {\n      const img = $('<img>')\n      img.attr('src', file.url)\n      icon.append(img)\n    }\n    li.append(icon)\n    li.append(nameLink)\n    li.append(button)\n    return li\n  }\n\n  show_error_msg(msg) {\n    this.show_progress_error()\n    this.attachments.find('.fn-errors').remove()\n    this.attachments\n      .find('.fn-progress-bar')\n      .before($(`<div class=\"fn-errors field-error-msg error-msg\" aria-live=\"polite\">${msg}</div>`))\n  }\n\n  add_progress_bar(disposition = 'attachment') {\n    this.attachments.find('.fn-progress-bar').parent('li').remove()\n    this.attachment_list.append(\n      '<li><div class=\"fn-progress-bar progress-bar\"><div class=\"progress-bar__progress\" role=\"progressbar\" aria-valuenow=\"0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 0%;\"></div></div><li>',\n    )\n\n    if (disposition === 'attachment') {\n      const attachmentsListElement = this.attachments.get(0)\n      const bounding = attachmentsListElement.getBoundingClientRect()\n      if (!(bounding.top >= 0 && bounding.bottom <= window.innerHeight)) {\n        attachmentsListElement.scrollIntoView({ behavior: 'smooth' })\n      }\n    }\n  }\n\n  show_progress_error() {\n    this.add_progress_bar()\n    const progressBar = this.attachments.find('.fn-progress-bar')\n    progressBar.find('.progress-bar__progress').css('width', '100%')\n    progressBar.addClass('progress-bar--error')\n    progressBar.show()\n    this.attachments.show()\n  }\n\n  show_progress(progress, disposition = 'attachment') {\n    this.attachments.show()\n    this.attachments.find('.fn-errors').remove()\n    let progressBar = this.attachments.find('.fn-progress-bar')\n\n    if (!progressBar.length) {\n      this.add_progress_bar(disposition)\n      progressBar = this.attachments.find('.fn-progress-bar')\n    }\n\n    progressBar\n      .find('.progress-bar__progress')\n      .css('width', `${progress}%`)\n      .attr('aria-valuenow', `${Math.round(progress)}`)\n    progressBar.removeClass('progress-bar--error')\n    progressBar.show()\n  }\n\n  hide_progress(progress) {\n    this.attachments.find('.fn-progress-bar').parent('li').remove()\n  }\n\n  add_file(file) {\n    // path is expected by knowledge\n    // url and filename is expected by new style attachment verification server side\n    const files = this.get_files()\n    files.push({\n      filename: file.filename,\n      path: file.path,\n      url: file.url || file.temporary_url,\n    })\n    this.set_files(files)\n  }\n\n  has_file(file: File) {\n    return this.get_files().filter((f) => f.url === file.url).length > 0\n  }\n\n  remove_file(url: string) {\n    const json = this.get_files().filter((file) => file.url !== url)\n    this.set_files(json)\n  }\n\n  remove_file_by_url(url: string) {\n    const json = this.get_files().filter((file) => file.url !== url)\n    this.set_files(json)\n  }\n\n  get_files(): File[] {\n    return JSON.parse((this.json_field.val() as string) || '[]') || []\n  }\n\n  set_files(files?: File[]) {\n    files = files || []\n    this.json_field.val(JSON.stringify(files)).trigger('change')\n    this.refresh_attachments()\n    if (this.onChange) {\n      this.onChange(files)\n    }\n  }\n}\n","function getFiletypeFromName(filenameIncludingExtension = '') {\n  const extension = filenameIncludingExtension.split('.').pop()!.toLowerCase()\n  const definedFiletypes = {\n    pdf: 'pdf',\n    word: 'word',\n    excel: 'excel',\n    image: 'image',\n  }\n  const mappings = {\n    pdf: definedFiletypes.pdf,\n    doc: definedFiletypes.word,\n    docx: definedFiletypes.word,\n    xls: definedFiletypes.excel,\n    xlsx: definedFiletypes.excel,\n    jpeg: definedFiletypes.image,\n    jpg: definedFiletypes.image,\n    jpe: definedFiletypes.image,\n    png: definedFiletypes.image,\n    gif: definedFiletypes.image,\n    tif: definedFiletypes.image,\n    tiff: definedFiletypes.image,\n  }\n  return mappings[extension]\n}\n\nexport default getFiletypeFromName\n","import { retryFunction } from 'platform/utils'\nimport { LargeAttachmentsList } from './attachmentslist'\nimport KundoFroalaEditor, { getKundoFroalaInstance } from './kundo-froala-editor'\n\nexport const Formatting = {\n  init() {\n    setupTextEditors()\n    setupShortcuts()\n  },\n\n  isTextEditorReady(elm: HTMLElement | JQuery): boolean {\n    return !!getKundoFroalaInstance(elm)?.isInitialized\n  },\n\n  waitForTextEditorReady(elm: HTMLElement | JQuery): Promise<void> {\n    return new Promise((resolve) => {\n      retryFunction(() => {\n        const editor = getKundoFroalaInstance(elm)\n        if (editor) {\n          if (editor.isInitialized) {\n            resolve()\n          } else {\n            editor.on('kundoFroalaInitialized', resolve)\n          }\n        } else {\n          throw new Error('Found no editor')\n        }\n      })\n    })\n  },\n\n  getTextEditorHTML(elm: HTMLElement | JQuery): string {\n    return getKundoFroalaInstance(elm)?.getHTML() || ''\n  },\n\n  setTextEditorHTML(elm: HTMLElement | JQuery, html: null | string) {\n    getKundoFroalaInstance(elm)?.setHTML(html)\n  },\n\n  getTextEditorCaretPosition(elm: HTMLElement | JQuery) {\n    return getKundoFroalaInstance(elm)?.froala.position.getBoundingRect()\n  },\n\n  focusTextEditor(elm: HTMLElement | JQuery) {\n    getKundoFroalaInstance(elm)?.focus()\n  },\n\n  forceTextEditorAutosave(elm: HTMLElement | JQuery) {\n    getKundoFroalaInstance(elm)?.setDirty()\n  },\n}\n\nwindow.KUNDO.formatting = Formatting\n\nfunction handleKeyDown(event: JQuery.KeyDownEvent) {\n  if ((event.metaKey || event.ctrlKey) && event.key === 'Enter' && !event.shiftKey) {\n    event.preventDefault()\n    event.stopPropagation()\n    $(event.target).parents('form').submit()\n    return false\n  }\n}\n\nfunction setupShortcuts() {\n  $('.fn-submit-shortcut').on('keydown', handleKeyDown)\n  $('.fn-text-editor textarea').each((_, elm) => {\n    getKundoFroalaInstance(elm)?.on('keydown', handleKeyDown, true)\n  })\n}\n\nfunction setupTextEditors() {\n  // If no text editor exists, we don't need to do anything ...\n  if ($('.fn-text-editor').length === 0) {\n    return\n  }\n\n  // ... but it's not enough to just find the textareas, since we need to connect\n  // the attachment ids with the toolbar\n  $('form').each((_i, form) => setupTextEditorForm($(form)))\n}\n\nfunction setupTextEditorForm(form: JQuery) {\n  form.find('.fn-text-editor').each((_, elem) => {\n    if (getKundoFroalaInstance(elem)) {\n      return\n    }\n    const attachmentsElm = form.find('.fn-attachments-large')\n\n    const parentObj = (form.find('#id_cmt-parent_object_slug').val() || '') as string\n    const isMailContext = parentObj.startsWith('mail') || form.find('#id_inbox').length > 0\n    const allowLargeUploads = elem.dataset.hasOwnProperty('fnAllowLargeUploads')\n\n    let attachmentsList: undefined | LargeAttachmentsList = undefined\n    if (attachmentsElm.length) {\n      attachmentsList = new LargeAttachmentsList(attachmentsElm)\n      attachmentsList.refresh_attachments()\n    }\n\n    new KundoFroalaEditor($(elem), attachmentsList, isMailContext, allowLargeUploads)\n  })\n}\n","import './formatting'\n\nKUNDO.dependencies.add([KUNDO.formatting])\n","import FroalaEditor from 'froala-editor'\n\nimport 'froala-editor/js/plugins/colors.min.js'\nimport 'froala-editor/js/plugins/draggable.min.js'\nimport 'froala-editor/js/plugins/image.min.js'\nimport 'froala-editor/js/plugins/link.min.js'\nimport 'froala-editor/js/plugins/lists.min.js'\nimport 'froala-editor/js/plugins/paragraph_format.min.js'\nimport 'froala-editor/js/plugins/paragraph_style.min.js'\nimport 'froala-editor/js/plugins/quote.min.js'\nimport 'froala-editor/js/plugins/save.min.js'\nimport 'froala-editor/js/plugins/table.min.js'\nimport 'froala-editor/js/plugins/url.min.js'\nimport 'froala-editor/js/plugins/video.min.js'\n\nexport const FroalaEditorV4: any = FroalaEditor\n","import React, { ReactElement, useMemo, useState, useEffect } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { createPortal } from 'react-dom'\nimport { Toast } from '@kundo/ui'\n\nexport const AutoRepliesAlerts = ({\n  isOpen,\n  title,\n  message,\n  ctaButtonText,\n  onAction,\n}: {\n  isOpen: boolean\n  title?: string\n  message?: string\n  ctaButtonText?: string\n  onAction?: () => void\n}): ReactElement => {\n  const toastContainer = useMemo(() => {\n    let element = document.getElementById('editor-toast')\n\n    if (!element) {\n      element = document.createElement('div')\n      element.id = 'editor-toast'\n      document.body.appendChild(element)\n    }\n\n    return element\n  }, [])\n\n  useEffect(() => {\n    window.addEventListener('pagehide', () => {\n      // delete toast container when page changes\n      if (toastContainer) {\n        toastContainer.innerHTML = ''\n        toastContainer.remove()\n      }\n    })\n  }, [toastContainer])\n\n  const [open, setOpen] = useState<boolean>(isOpen)\n\n  return (\n    <>\n      {toastContainer &&\n        createPortal(\n          <Toast\n            swipeDirection=\"up\"\n            open={open}\n            title={title}\n            description={message}\n            onOpenChange={(open) => {\n              setOpen(open)\n\n              !open &&\n                setTimeout(() => {\n                  document.querySelector('[data-fn-editor-alerts]')?.remove()\n\n                  if (toastContainer) {\n                    toastContainer.remove()\n                  }\n                }, 1000)\n            }}\n            duration={6000}\n            closeButtonText={gettext('Stäng')}\n            buttonText={ctaButtonText}\n            onAction={onAction}\n            className=\"tw-w-auto md:tw-max-w-full\"\n          />,\n          toastContainer,\n        )}\n    </>\n  )\n}\n\nexport const initAutoRepliesAlerts = ({\n  container,\n  isOpen,\n  title,\n  message,\n  ctaButtonText,\n  onAction,\n}: {\n  container: HTMLElement\n  isOpen: boolean\n  title?: string\n  message?: string\n  ctaButtonText?: string\n  onAction?: () => void\n}) => {\n  const root = createRoot(container)\n\n  root?.render(\n    <AutoRepliesAlerts\n      isOpen={isOpen}\n      title={title}\n      message={message}\n      ctaButtonText={ctaButtonText}\n      onAction={onAction}\n    />,\n  )\n}\n","export function skeleton(): string {\n  const html: string = `<div class=\"tw-animate-pulse tw-space-y-2.5\" data-froala-role=\"skeleton\">\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-1/5\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-4/6\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-1/2\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-4/6\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-5/6\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-1/3\"></div>\n      <div><br/></div>\n    </div>`\n\n  return html.replace(/\\s+/g, ' ').replace(/>\\s+</g, '><').trim()\n}\n\nexport function editorSetHtml(editor: any, html: string) {\n  editor.html.set(html)\n}\n\nexport function parseDOM(content: string): Document {\n  const parser = new DOMParser()\n  return parser.parseFromString(content, 'text/html')\n}\n\nexport function trimContent(content: string): string {\n  return content\n    .replace(/[\\n\\r]+/g, '')\n    .replace(/>\\s+</g, '><')\n    .trim()\n}\n\nexport function editableContent({\n  editor,\n  removePreviosAutoreply = true,\n}: {\n  editor: any\n  removePreviosAutoreply?: boolean\n}) {\n  const editorContent: string = editor.html.get() // Get the current content\n\n  const parsedEditorContent = parseDOM(editorContent)\n\n  // Remove previous AI auto reply elements\n  removePreviosAutoreply &&\n    parsedEditorContent\n      .querySelectorAll('[data-froala-role=\"ai-autoreply\"]')\n      .forEach((el) => el.remove())\n\n  const currentContent = parsedEditorContent.body.innerHTML\n\n  const doc = parseDOM(currentContent)\n\n  // Remove signature elements\n  doc.querySelectorAll('[data-froala-role=\"signature\"]').forEach((el) => el.remove())\n\n  // Remove history elements\n  doc.querySelectorAll('[data-froala-role=\"history-wrapper\"]').forEach((el) => el.remove())\n\n  // Remove skeleton elements\n  deleteSkeleton(currentContent, doc)\n\n  return {\n    currentContent: trimContent(currentContent),\n    cleanedHtml: trimContent(doc.body.innerHTML),\n  }\n}\n\nexport function showSkeleton({\n  editor,\n  removePreviousContent = false,\n  removePreviosAutoreply = true,\n}: {\n  removePreviousContent?: boolean\n  editor: any\n  removePreviosAutoreply?: boolean\n}) {\n  const { currentContent, cleanedHtml } = editableContent({\n    editor,\n    removePreviosAutoreply,\n  })\n\n  let updatedHtml: string = currentContent\n\n  const stringIsEmpty = checkIfEmptyString(cleanedHtml)\n\n  if (removePreviousContent || stringIsEmpty) {\n    const replacementHtml = `${skeleton()}`\n\n    updatedHtml = currentContent.replace(cleanedHtml, replacementHtml)\n  } else {\n    const replacementHtml = `${cleanedHtml}${skeleton()}`\n\n    updatedHtml = currentContent.replace(cleanedHtml, replacementHtml)\n  }\n\n  editorSetHtml(editor, updatedHtml)\n}\n\nexport function deleteSkeleton(content: string, document?: Document): string {\n  const doc = document ? document : parseDOM(content)\n\n  doc.querySelectorAll('[data-froala-role=\"skeleton\"]').forEach((el) => el.remove())\n\n  return doc.body.innerHTML\n}\n\nexport function checkIfEmptyString(str: string): boolean {\n  const container = document.createElement('div')\n  container.innerHTML = str\n\n  // Remove all <br> elements from the container\n  container.querySelectorAll('br').forEach((br) => br.remove())\n\n  // Trim the remaining text content\n  const text = container.textContent?.trim() ?? ''\n\n  return text === ''\n}\n\nexport async function insertResult({\n  content,\n  removePreviousContent = false,\n  editor,\n}: {\n  content: string\n  removePreviousContent?: boolean\n  editor: any\n}) {\n  const { currentContent, cleanedHtml } = editableContent({ editor, removePreviosAutoreply: false })\n\n  let updatedHtml: string = currentContent\n\n  if (removePreviousContent) {\n    updatedHtml = deleteSkeleton(currentContent).replace(cleanedHtml, `${content}`)\n  } else {\n    updatedHtml = deleteSkeleton(currentContent).replace(cleanedHtml, `${cleanedHtml}${content}`)\n  }\n\n  await editorSetHtml(editor, updatedHtml) // Set the new content\n\n  await editor.undo.saveStep() // Save the undo step\n  await editor.el.blur() // Remove focus from the editor\n\n  setTimeout(() => {\n    editor.events.focus() // Focus back on the editor\n  }, 100)\n}\n","import { initAutoRepliesAlerts } from './AutoRepliesAlerts'\nimport { BTN_AI_AUTO_REPLIES } from '../../toolbar'\nimport { renderSources, deleteSources, initAiSources } from '../aiSources'\n\nimport {\n  deleteSkeleton,\n  editableContent,\n  editorSetHtml,\n  insertResult,\n  showSkeleton,\n} from '../../helpers'\n\nimport { AutoGeneratedResponseData, IReferences } from './types'\n\nexport function aiAutoReplies(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    aiAutoReplies: false,\n  })\n\n  FroalaEditor.PLUGINS.aiAutoReplies = function (editor: any) {\n    const toolbar = editor.$tb[0]\n    const editorBox = editor.$box[0]\n    const aiAutoResponseBtn = toolbar.querySelector('[data-cmd=\"aiAutoReplies\"]')\n    const parentForm = editor.$oel.closest('form')[0]\n\n    function editorOn() {\n      editor.edit.on()\n      toolbar.classList.remove('fr-preloader')\n    }\n\n    function editorOff() {\n      editor.edit.off()\n\n      toolbar.classList.remove('fr-disabled')\n      toolbar.classList.add('fr-preloader')\n    }\n\n    async function generateResponse({\n      onSuccess,\n      onError,\n    }: {\n      onSuccess: (data: AutoGeneratedResponseData) => void\n      onError?: () => void\n    }) {\n      const parentForm = editor.$oel.closest('form')[0]\n      if (!parentForm) return\n\n      const messagePuri = parentForm.getAttribute('data-message-puri')\n      const channelType = parentForm.getAttribute('data-channel-type')\n\n      if (!messagePuri) return\n\n      try {\n        const url = `/bff/${channelType}/${messagePuri}/draft-response`\n\n        const response = await fetch(url.toString(), {\n          method: 'GET',\n          headers: {\n            Accept: 'application/json',\n          },\n        })\n\n        if (response.ok) {\n          const data: AutoGeneratedResponseData = await response.json()\n\n          if (data.error) {\n            renderAlert({ errorCode: data.error.code })\n\n            onError && onError()\n          } else {\n            onSuccess(data)\n          }\n\n          editorOn()\n          // Reinitialize the mail history plugin only for mail channel\n          if (channelType === 'mail' && editor.MailHistoryPlugin) {\n            editor.MailHistoryPlugin._init(true)\n          }\n        }\n      } catch (error) {\n        console.error('Error fetching response:', error)\n\n        onError && onError()\n        editorOn()\n      }\n    }\n\n    function buttonStatus({ isLoading = false }: { isLoading: boolean }) {\n      const textContainer = aiAutoResponseBtn.querySelector('[data-cmd-title]')\n\n      const defaultTitle = textContainer.dataset.cmdTitle\n      const loadingTitle = TRANSLATIONS.froalaAiAutoReply.buttonPreloader\n\n      if (!textContainer) return\n\n      textContainer.innerHTML = isLoading ? loadingTitle : defaultTitle\n    }\n\n    function autoResponse() {\n      if (!editor.opts.aiAutoReplies) {\n        return\n      }\n\n      buttonStatus({ isLoading: true })\n\n      editorOff()\n      deleteSources(toolbar)\n\n      setTimeout(() => {\n        // we need to wait for the editor to be off before showing the skeleton, otherwise skeleton will be shown if editor use undo button\n        showSkeleton({ editor: editor, removePreviousContent: false, removePreviosAutoreply: true })\n      }, 100)\n\n      generateResponse({\n        onSuccess: function (data) {\n          const references = data.references || []\n\n          buttonStatus({ isLoading: false })\n\n          insertResult({\n            content: `<div data-froala-role=\"ai-autoreply\">${data.response}<div><br/></div></div>`,\n            editor: editor,\n          })\n\n          renderSources(aiAutoResponseBtn, references, {\n            editor,\n            initAiSources: initAiSources,\n          })\n\n          window.addEventListener('resize', () => {\n            deleteSources(toolbar)\n            renderSources(aiAutoResponseBtn, references, {\n              editor,\n              initAiSources: initAiSources,\n            })\n          })\n        },\n        onError: function () {\n          setTimeout(() => {\n            buttonStatus({ isLoading: false })\n          }, 500)\n        },\n      })\n\n      editor.undo.saveStep()\n    }\n\n    async function renderAlert({\n      title,\n      errorCode,\n      ctaButtonText,\n      onAction,\n    }: {\n      title?: string\n      errorCode?: number\n      ctaButtonText?: string\n      onAction?: () => void\n    }) {\n      const { froalaAiAutoReply } = TRANSLATIONS\n      const { errorAiTechError, outgoingThreadMessageNotice, errorAiTimeout, errorNoReplies } =\n        froalaAiAutoReply\n\n      if (!editor.opts.aiAutoReplies) {\n        return\n      }\n\n      let errorMessage: string = ''\n\n      const container = document.createElement('div')\n      container.dataset.fnEditorAlerts = ''\n      editorBox.insertAdjacentElement('afterend', container)\n\n      const { currentContent, cleanedHtml } = editableContent({ editor })\n\n      const updatedHtml = await deleteSkeleton(currentContent).replace(\n        cleanedHtml,\n        `${cleanedHtml === '' ? '<div></div>' : cleanedHtml}`,\n      )\n\n      switch (errorCode) {\n        case 1:\n          errorMessage = errorAiTechError\n          break\n        case 2:\n          errorMessage = outgoingThreadMessageNotice\n          break\n        case 3:\n          errorMessage = errorAiTimeout\n          break\n        case 4:\n          errorMessage = errorNoReplies\n          break\n      }\n\n      setTimeout(() => {\n        editorSetHtml(editor, updatedHtml)\n\n        initAutoRepliesAlerts({\n          container: container,\n          isOpen: true,\n          title: errorCode ? errorMessage : title,\n          ctaButtonText,\n          onAction,\n        })\n      }, 500)\n    }\n\n    function initPlugin() {\n      const { froalaAiAutoReply } = TRANSLATIONS\n      const { connectInboxMessage, connectInboxCTA } = froalaAiAutoReply\n\n      if (!parentForm) {\n        return\n      }\n\n      const isConnectedToSmartReplyChannel =\n        parentForm.getAttribute('data-connected-to-smart-reply-channel') === 'true'\n      const hasSmartReplyChannels =\n        parentForm.getAttribute('data-has-smart-reply-channels') === 'true'\n\n      if (hasSmartReplyChannels && isConnectedToSmartReplyChannel) {\n        autoResponse()\n      } else if (hasSmartReplyChannels && !isConnectedToSmartReplyChannel) {\n        const inboxSlug = parentForm.getAttribute('data-inbox-slug')\n\n        inboxSlug &&\n          renderAlert({\n            title: connectInboxMessage,\n            ctaButtonText: connectInboxCTA,\n            onAction: () =>\n              window.open(\n                `${window.location.origin}/inbox/${inboxSlug}/settings/smart-suggestions/`,\n                '_blank',\n              ),\n          })\n      } else {\n        return null\n      }\n    }\n\n    return {\n      initPlugin,\n    }\n  }\n\n  FroalaEditor.RegisterCommand(BTN_AI_AUTO_REPLIES, {\n    callback: function () {\n      this.aiAutoReplies.initPlugin()\n    },\n    focus: true,\n    plugin: 'aiAutoReplies',\n    popup: true,\n    title: TRANSLATIONS.froalaAiAutoReply.buttonText,\n    undo: true,\n  })\n}\n","import { IReferences } from '../aiAutoReplies/types'\n\nexport interface IPromptResponse {\n  response: string\n  task_successful: boolean\n  error?: {\n    code: number\n    message: string\n  }\n  references: IReferences[]\n}\n\nexport enum ApiPromptTypes {\n  FREE_TEXT = 'free_text',\n  FIX_SPELLING = 'fix_spelling',\n  TRANSLATE_TO = 'translate_to',\n  MAKE_LONGER = 'make_longer',\n  MAKE_SHORTER = 'make_shorter',\n  CHANGE_TONE = 'change_tone',\n}\n\nexport enum ApiPromptLangCode {\n  SV = 'sv',\n  EN = 'en',\n  NB = 'nb',\n  DA = 'da',\n  FI = 'fi',\n  DE = 'de',\n  PL = 'pl',\n  ES = 'es',\n  NL = 'nl',\n  IT = 'it',\n  FR = 'fr',\n}\n\nexport enum ApiPromptTonality {\n  ACADEMIC = 'academic',\n  CASUAL = 'casual',\n  PROFESSIONAL = 'professional',\n}\n\nexport const useApiPrompt = async ({\n  promptType,\n  prompt = '',\n  language,\n  tonality,\n  content,\n  channelPuri,\n  messagePuri,\n  onSuccess,\n  onError,\n}: {\n  promptType: ApiPromptTypes\n  prompt?: string\n  language?: ApiPromptLangCode\n  tonality?: ApiPromptTonality\n  content: string\n  channelPuri: string\n  messagePuri?: string\n  onSuccess: (data: IPromptResponse) => void\n  onError?: (error: Error) => void\n}) => {\n  try {\n    const { CURRENT_ORGANIZATION_ID } = window\n    var organizationPuri = `kundo:organization:${CURRENT_ORGANIZATION_ID}`\n    let url: string | URL | null = null\n\n    let body = {\n      text: content,\n      channel_puri: channelPuri,\n      ...(messagePuri !== undefined ? { message_puri: messagePuri } : {}),\n    }\n\n    switch (promptType) {\n      case ApiPromptTypes.FREE_TEXT:\n        url = `/bff/smart-replies/channel/${channelPuri}/free-text`\n        body['prompt'] = prompt.trim()\n        break\n\n      case ApiPromptTypes.FIX_SPELLING:\n        url = `/bff/smart-replies/org/${organizationPuri}/correct`\n        break\n\n      case ApiPromptTypes.TRANSLATE_TO:\n        url = `/bff/smart-replies/org/${organizationPuri}/translate`\n        body['language'] = language\n        break\n\n      case ApiPromptTypes.MAKE_LONGER:\n        url = `/bff/smart-replies/org/${organizationPuri}/expand`\n        break\n\n      case ApiPromptTypes.MAKE_SHORTER:\n        url = `/bff/smart-replies/org/${organizationPuri}/shorten`\n        break\n\n      case ApiPromptTypes.CHANGE_TONE:\n        body['tonality'] = tonality\n        url = `/bff/smart-replies/org/${organizationPuri}/tonality`\n        break\n\n      default:\n        return null\n    }\n\n    if (!url) return null\n\n    const response = await fetch(url as string, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        Accept: 'application/json',\n      },\n      body: JSON.stringify(body),\n    })\n\n    if (!response.ok) {\n      throw new Error(`Request failed with status ${response.status}`)\n    }\n\n    const data: IPromptResponse = await response.json()\n    onSuccess && onSuccess(data)\n  } catch (error) {\n    onError && onError(error)\n\n    console.error('Failed to fetch:', error)\n  }\n}\n","export const ALLOWED_IMAGE_EXTENSIONS = ['png', 'jpeg', 'jpg', 'gif']\nexport const isAllowedImageMime = (type: string) => {\n  const exts = ALLOWED_IMAGE_EXTENSIONS\n  for (let i = 0, len = exts.length; i < len; i++) {\n    if (type === 'image/' + exts[i]) return true\n  }\n  return false\n}\n\n/*\n * Try to find any images in the event data, and\n * normalize data access between \"paste\" and \"drop\" events.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items\n **/\nexport function getFilesFromEvent(event: any) {\n  event = event.originalEvent || event\n  const data: DataTransfer = event.dataTransfer || event.clipboardData\n  if (!data) {\n    return []\n  }\n  if (data.types?.includes('text/html')) {\n    return []\n  }\n  // Using .files since .items is not supported in IE11\n  if (data?.files?.length) {\n    return data.files\n  }\n  if (data?.items?.length) {\n    const items: DataTransferItemList = data.items\n    return Array.from(items)\n      .map((item) => item.getAsFile())\n      .filter((item) => item)\n  }\n  return []\n}\n\n/**\n * Trims trailing empty lines from HTML content by removing empty divs and br tags at the end.\n */\nexport function trimTrailingEmptyLines(html: string): string {\n  let trimmed = html.trim()\n\n  if (!trimmed) {\n    return trimmed\n  }\n\n  const DIV_TAG_START = '<div(?:\\\\s[^>]*)?>' // <div> with optional attributes\n  const DIV_TAG_END = '</div>'\n  const BR_TAG = '<br\\\\s*\\\\/?>' // <br> or <br/> with optional whitespace\n  const TRAILING_WHITESPACE_END_OF_STRING = '\\\\s*$' // Optional whitespace at end of string\n  const OPTIONAL_WHITESPACE = '\\\\s*' // Optional whitespace anywhere\n\n  let previousTrimmed = ''\n  let iterations = 0\n  const maxIterations = 50 // Safety limit to prevent infinite loops\n\n  while (trimmed !== previousTrimmed && iterations < maxIterations) {\n    previousTrimmed = trimmed\n    iterations++\n\n    // Pattern 1: Remove trailing empty divs\n    trimmed = trimmed.replace(\n      new RegExp(\n        `${OPTIONAL_WHITESPACE}${DIV_TAG_START}${OPTIONAL_WHITESPACE}${DIV_TAG_END}${TRAILING_WHITESPACE_END_OF_STRING}`,\n        'gi',\n      ),\n      '',\n    )\n\n    // Pattern 2: Remove trailing divs containing only br tags\n    trimmed = trimmed.replace(\n      new RegExp(\n        `${OPTIONAL_WHITESPACE}${DIV_TAG_START}${OPTIONAL_WHITESPACE}(?:${BR_TAG}${OPTIONAL_WHITESPACE})+${DIV_TAG_END}${TRAILING_WHITESPACE_END_OF_STRING}`,\n        'gi',\n      ),\n      '',\n    )\n\n    // Pattern 3: Remove trailing standalone br tags\n    trimmed = trimmed.replace(\n      new RegExp(`${OPTIONAL_WHITESPACE}${BR_TAG}${TRAILING_WHITESPACE_END_OF_STRING}`, 'gi'),\n      '',\n    )\n\n    // Pattern 4: Remove trailing br tags inside divs (at the end of content)\n    trimmed = trimmed.replace(\n      new RegExp(\n        `(${DIV_TAG_START}[^<]+?)${OPTIONAL_WHITESPACE}(?:${BR_TAG}${OPTIONAL_WHITESPACE})+${DIV_TAG_END}${TRAILING_WHITESPACE_END_OF_STRING}`,\n        'gi',\n      ),\n      '$1</div>',\n    )\n  }\n\n  return trimmed.trim()\n}\n","import React, {\n  ReactElement,\n  useState,\n  useMemo,\n  PropsWithChildren,\n  useEffect,\n  forwardRef,\n  Fragment,\n  HTMLAttributes,\n} from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { createPortal } from 'react-dom'\nimport { twMerge } from '@kundo/ui/dist/helpers'\nimport { renderSources, deleteSources, initAiSources } from '../aiSources'\n\nimport {\n  ArrowUpIcon,\n  Tooltip,\n  WinkleIcon,\n  Toast,\n  GlobeIcon,\n  SpellCheckIcon,\n  PlusIcon,\n  TextLongIcon,\n  TextShortIcon,\n  MegaphoneIcon,\n  MenuDropdown,\n  MenuDropdownSubMenu,\n  MenuDropdownSeparator,\n  MenuDropdownItem,\n  MenuDropdownItemContainer,\n} from '@kundo/ui'\n\nimport { editableContent, checkIfEmptyString, showSkeleton, insertResult } from '../../helpers'\nimport { useApiPrompt, ApiPromptTypes, ApiPromptLangCode, ApiPromptTonality } from './useApi'\nimport { trimTrailingEmptyLines } from '../../utils'\n\ninterface IPromtAlert {\n  open: boolean\n  title: string\n  ctaButtonText?: string\n}\n\nenum PromptLanguages {\n  SV = 'Svenska',\n  EN = 'English',\n  NB = 'Norsk',\n  DA = 'Dansk',\n  FI = 'Suomi',\n  DE = 'Deutsch',\n  PL = 'Polskie',\n  ES = 'Español',\n  NL = 'Nederlands',\n  IT = 'Italiano',\n  FR = 'Français',\n}\n\nconst tonalityTitle = (tonality: ApiPromptTonality) => {\n  switch (tonality) {\n    case ApiPromptTonality.ACADEMIC:\n      return gettext('Akademisk')\n\n    case ApiPromptTonality.CASUAL:\n      return gettext('Avslappnad')\n\n    case ApiPromptTonality.PROFESSIONAL:\n      return gettext('Professionell')\n\n    default:\n      return null\n  }\n}\n\ninterface IPromptMenu {\n  title?: string\n  icon?: ReactElement\n  action?: ApiPromptTypes\n  langCode?: ApiPromptLangCode\n  tonality?: ApiPromptTonality\n  submenu?: IPromptMenu[]\n  role?: 'separator'\n}\n\nconst menu = (): IPromptMenu[] => {\n  return [\n    {\n      title: gettext('Åtgärda stavning'),\n      icon: <SpellCheckIcon />,\n      action: ApiPromptTypes.FIX_SPELLING,\n    },\n    { role: 'separator' },\n    {\n      title: gettext('Översätt till'),\n      icon: <GlobeIcon />,\n      submenu: Object.entries(PromptLanguages).map(([key, value]) => ({\n        title: value,\n        action: ApiPromptTypes.TRANSLATE_TO,\n        langCode: ApiPromptLangCode[key as keyof typeof ApiPromptLangCode],\n      })),\n    },\n    { role: 'separator' },\n    { title: gettext('Gör längre'), icon: <TextLongIcon />, action: ApiPromptTypes.MAKE_LONGER },\n    { title: gettext('Gör kortare'), icon: <TextShortIcon />, action: ApiPromptTypes.MAKE_SHORTER },\n    { role: 'separator' },\n    {\n      title: gettext('Ändra ton'),\n      icon: <MegaphoneIcon />,\n      submenu: Object.entries(ApiPromptTonality).map(([_key, value]) => ({\n        title: tonalityTitle(value),\n        action: ApiPromptTypes.CHANGE_TONE,\n        tonality: value,\n      })),\n    },\n  ]\n}\n\nconst AiWidgetButton = forwardRef<\n  HTMLDivElement,\n  HTMLAttributes<HTMLDivElement> &\n    PropsWithChildren<{ asButton?: boolean; label?: string; className?: string }>\n>((props, ref) => {\n  const { label, children, className, onClick, asButton = true, ...rest } = props\n\n  return (\n    <div\n      ref={ref}\n      role={asButton ? 'button' : undefined}\n      tabIndex={asButton ? 0 : undefined}\n      aria-label={asButton && label ? label : undefined}\n      className={twMerge(\n        'tw-flex tw-shrink-0 tw-justify-center tw-items-center tw-box-border tw-flex-none',\n        'tw-w-9 tw-h-9 tw-rounded-full',\n        'tw-cursor-pointer tw-duration-200',\n        className,\n      )}\n      onClick={onClick}\n      {...rest}\n    >\n      {children}\n    </div>\n  )\n})\n\nconst EditorAiPromptWidget = ({ editor }: { editor: any }): ReactElement => {\n  const toolbar = editor.$tb[0]\n  // Note that aiAutoResponseBtn can be null if the aiAutoReplies plugin is not enabled\n  const aiAutoResponseBtn = toolbar.querySelector('[data-cmd=\"aiAutoReplies\"]')\n\n  const [prompt, setPrompt] = useState<string>('')\n  const [focus, setFocus] = useState<boolean>(false)\n  const [isLoading, setIsLoading] = useState<boolean>(false)\n\n  const [alert, setAlert] = useState<IPromtAlert>({\n    open: false,\n    title: '',\n    ctaButtonText: '',\n  })\n\n  const isEmptyPromt = useMemo(() => prompt.trim() === '', [prompt])\n\n  const ctaText = gettext('Skicka prompt')\n\n  const toastContainer = useMemo(() => {\n    let element = document.getElementById('editor-toast')\n\n    if (!element) {\n      element = document.createElement('div')\n      element.id = 'editor-toast'\n      document.body.appendChild(element)\n    }\n\n    return element\n  }, [])\n\n  const setAlertState = ({ open, title, ctaButtonText }: IPromtAlert) => {\n    setAlert((alert) => ({\n      ...alert,\n      open,\n      title,\n      ctaButtonText,\n    }))\n  }\n\n  const getPreviousAiPromptResult = (content: string): string => {\n    const temp = document.createElement('div')\n    temp.innerHTML = content\n\n    const target = temp.querySelector('[data-froala-role=\"ai-prompt-result\"]')\n\n    if (target) {\n      // delete last <div><br/></div> in the result if exists\n      const last = target.lastElementChild\n      if (\n        last &&\n        last.tagName.toLowerCase() === 'div' &&\n        last.childNodes.length === 1 &&\n        last.firstChild &&\n        (last.firstChild as Element).tagName?.toLowerCase() === 'br'\n      ) {\n        target.removeChild(last)\n      }\n\n      return target.innerHTML\n    } else {\n      return content\n    }\n  }\n\n  const defineCurrentContent = () => {\n    const { currentContent, cleanedHtml } = editableContent({\n      editor: editor,\n      removePreviosAutoreply: false,\n    })\n\n    const isEmptyContent = checkIfEmptyString(cleanedHtml)\n\n    if (isEmptyContent) {\n      return null\n    }\n\n    const previousResult = getPreviousAiPromptResult(cleanedHtml)\n    return trimTrailingEmptyLines(previousResult)\n  }\n\n  const errorStatus = (errorCode: number): string => {\n    let errorMessage = ''\n\n    switch (errorCode) {\n      case 1:\n      case 2:\n        errorMessage = gettext('Tekniskt fel, försök igen senare')\n        break\n      case 3:\n        errorMessage = gettext('Det tog för lång tid att generera ett AI-svar. Försök igen senare.')\n        break\n      case 4:\n        errorMessage = gettext('Tyvärr kunde vi inte bearbeta din förfrågan.')\n        break\n    }\n\n    return errorMessage\n  }\n\n  const initPrompt = async ({\n    action,\n    prompt,\n    langCode,\n    tonality,\n  }: {\n    action: ApiPromptTypes\n    prompt?: string\n    langCode?: ApiPromptLangCode\n    tonality?: ApiPromptTonality\n  }) => {\n    const content = defineCurrentContent() || ''\n\n    setIsLoading(true)\n    showSkeleton({ editor: editor, removePreviousContent: true, removePreviosAutoreply: false })\n    const parentForm = editor.$oel.closest('form')[0]\n    const messagePuri = parentForm.getAttribute('data-message-puri')\n    const channelPuri = parentForm.getAttribute('data-channel-puri')\n\n    useApiPrompt({\n      promptType: action,\n      prompt,\n      language: langCode,\n      tonality,\n      channelPuri,\n      messagePuri,\n      content,\n      onSuccess: (data) => {\n        if (data.error || data.task_successful === false) {\n          setAlertState({\n            open: true,\n            title: data.error ? errorStatus(data.error.code) : errorStatus(4),\n          })\n\n          insertResult({\n            content: content,\n            editor: editor,\n          })\n        } else {\n          insertResult({\n            content: `<div data-froala-role=\"ai-prompt-result\">${data.response}<div><br/></div></div>`,\n            editor: editor,\n          })\n        }\n\n        setPrompt('')\n        setIsLoading(false)\n\n        const references = data.references || []\n        // In the reply flow, sources are anchored next to the aiAutoReplies\n        // toolbar button. In create-mail that button doesn't exist, so fall\n        // back to the fr-btn-grp so sources still appear in the toolbar.\n        const anchor =\n          aiAutoResponseBtn ?? (toolbar as HTMLElement).querySelector('.fr-btn-grp') ?? null\n        if (anchor) {\n          deleteSources(toolbar)\n          renderSources(anchor, references, {\n            editor,\n            initAiSources: initAiSources,\n          })\n        }\n\n        if (anchor) {\n          window.addEventListener('resize', () => {\n            deleteSources(toolbar)\n            renderSources(anchor, references, {\n              editor,\n              initAiSources: initAiSources,\n            })\n          })\n        }\n\n        editor.MailHistoryPlugin._init(true) // Reinitialize the mail history plugin\n      },\n      onError: () => {\n        setAlertState({\n          open: true,\n          title: errorStatus(4),\n        })\n\n        setIsLoading(false)\n      },\n    })\n  }\n\n  const initCustomPrompt = () => {\n    initPrompt({ action: ApiPromptTypes.FREE_TEXT, prompt: prompt })\n  }\n\n  useEffect(() => {\n    window.addEventListener('pagehide', () => {\n      // delete toast container when page changes\n      if (toastContainer) {\n        toastContainer.innerHTML = ''\n        toastContainer.remove()\n      }\n    })\n  }, [toastContainer])\n\n  return (\n    <>\n      <div\n        role=\"region\"\n        aria-label={gettext('AI Prompt Widget')}\n        className={twMerge(\n          'tw-flex tw-items-center',\n          'tw-py-2 tw-px-4',\n          'tw-bg-gray-10',\n          'tw-border tw-border-solid tw-border-gray-30 tw-border-t-0',\n          'tw-rounded-br-md tw-rounded-bl-md',\n        )}\n      >\n        <div\n          className={twMerge(\n            'tw-flex tw-items-center tw-grow',\n            'tw-border tw-border-solid',\n            'tw-bg-white',\n            focus\n              ? 'tw-border-primary-500 tw-outline tw-outline-1 tw-outline-primary-500 tw-outline-offset-0'\n              : 'tw-border-gray-30 hover:tw-border-primary-500',\n            'tw-rounded-full tw-overflow-hidden tw-duration-200',\n          )}\n        >\n          <MenuDropdown\n            modal={false}\n            className=\"tw-min-w-[204px]\"\n            trigger={\n              <AiWidgetButton\n                label={ctaText}\n                className={twMerge(\n                  'tw-text-gray-100 tw-fill-gray-100',\n                  'tw-bg-btransparent hover:tw-bg-gray-10 active:tw-bg-gray-20',\n                  'tw-ml-1',\n                  'data-[state=open]:tw-bg-gray-20',\n                  'userflow-ai-assistant-prompt-menu-btn',\n                )}\n              >\n                <PlusIcon className=\"tw-w-6 tw-h-6 tw-fill-gray-100\" />\n              </AiWidgetButton>\n            }\n          >\n            {menu().map((item, index) => (\n              <Fragment key={index}>\n                {item.submenu ? (\n                  <>\n                    {item.role === 'separator' ? (\n                      <MenuDropdownSeparator />\n                    ) : (\n                      <MenuDropdownSubMenu\n                        className=\"tw-min-w-[100px]\"\n                        trigger={\n                          <MenuDropdownItemContainer\n                            label={item.title || ''}\n                            iconBefore={item.icon}\n                            spacingBefore={!item.icon}\n                            hasSubMenu\n                          />\n                        }\n                      >\n                        {item.submenu.map((subItem, subIndex) => (\n                          <MenuDropdownItem\n                            key={subIndex}\n                            onSelect={() => {\n                              initPrompt({\n                                action: subItem.action!,\n                                langCode: subItem.langCode,\n                                tonality: subItem.tonality,\n                              })\n                            }}\n                          >\n                            <MenuDropdownItemContainer label={subItem.title || ''} />\n                          </MenuDropdownItem>\n                        ))}\n                      </MenuDropdownSubMenu>\n                    )}\n                  </>\n                ) : (\n                  <Fragment>\n                    {item.role === 'separator' ? (\n                      <MenuDropdownSeparator />\n                    ) : (\n                      <MenuDropdownItem\n                        onSelect={() => {\n                          if (item.action) {\n                            initPrompt({ action: item.action })\n                          }\n                        }}\n                      >\n                        <MenuDropdownItemContainer\n                          label={item.title || ''}\n                          iconBefore={item.icon}\n                          spacingBefore={!item.icon}\n                        />\n                      </MenuDropdownItem>\n                    )}\n                  </Fragment>\n                )}\n              </Fragment>\n            ))}\n          </MenuDropdown>\n\n          <AiWidgetButton\n            asButton={false}\n            className={twMerge(\n              'tw-text-gray-100 tw-fill-gray-100',\n              'tw-bg-btransparent tw-cursor-default',\n              '-tw-ml-1',\n              // 'tw-ml-2',\n            )}\n          >\n            <WinkleIcon className=\"tw-w-5 tw-h-5 tw-fill-gray-70\" />\n          </AiWidgetButton>\n\n          <div className=\"tw-grow\">\n            <input\n              type=\"text\"\n              id=\"fr-ai-prompt\"\n              name=\"fr-ai-prompt\"\n              autoComplete=\"off\"\n              data-1p-ignore\n              className={twMerge(\n                'tw-flex tw-w-full tw-items-center',\n                'tw-h-[44px] tw-box-border',\n                'tw-border-0 tw-border-none hover:tw-border-0 hover:tw-border-none focus:tw-border-0 focus:tw-border-none',\n                'tw-border-transparent focus:tw-border-transparent',\n                'tw-outline-0 tw-outline-none hover:tw-outline-0 hower:tw-outline-none focus:tw-outline-0 focus:tw-outline-none',\n                'tw-shadow-none hover:tw-shadow-none focus:tw-shadow-none',\n                'tw-ring-0 focus:tw-outline-0 focus:tw-outline-none focus:tw-outline-transparent focus:tw-outline-offset-0 focus:tw-ring-transparent focus:tw-ring-0',\n                'placeholder:tw-text-gray-70 placeholder:tw-text-base placeholder:tw-font-normal placeholder:tw-truncate',\n                'tw-text-gray-100 tw-text-base tw-font-normal',\n                'tw-py-0 tw-pl-0 tw-pr-2 tw-m-0 tw-bg-transparent',\n                'tw-truncate focus:tw-truncate',\n                'disabled:tw-text-gray-60',\n              )}\n              placeholder={gettext(\n                'Anpassa svar med en egen prompt, till exempel för att förfina, korta ner, utveckla eller översätta innehåll.',\n              )}\n              value={prompt}\n              onChange={(e) => setPrompt(e.target.value)}\n              onFocus={() => setFocus(true)}\n              onBlur={() => setFocus(false)}\n              onKeyDown={(e) => {\n                if (e.key === 'Enter') {\n                  e.preventDefault()\n\n                  !isEmptyPromt && initCustomPrompt()\n                }\n              }}\n              disabled={isLoading}\n            />\n          </div>\n\n          {!isEmptyPromt && (\n            <Tooltip content={ctaText}>\n              <AiWidgetButton\n                label={ctaText}\n                className={twMerge(\n                  'tw-text-white tw-fill-white',\n                  'tw-bg-primary-700 hover:tw-bg-primary-900 active:tw-bg-primary-900',\n                  'tw-mr-1',\n                )}\n                onClick={() => {\n                  !isLoading && initCustomPrompt()\n                }}\n              >\n                <ArrowUpIcon className=\"tw-w-6 tw-h-6 tw-fill-white\" />\n              </AiWidgetButton>\n            </Tooltip>\n          )}\n        </div>\n      </div>\n\n      {toastContainer &&\n        createPortal(\n          <Toast\n            swipeDirection=\"up\"\n            open={alert.open}\n            title={alert.title}\n            onOpenChange={(open) => {\n              setAlert((alert) => ({ ...alert, open }))\n\n              !open && setTimeout(() => toastContainer.remove(), 1000)\n            }}\n            duration={6000}\n            closeButtonText={gettext('Stäng')}\n            className=\"tw-w-auto md:tw-max-w-full\"\n          />,\n          toastContainer,\n        )}\n    </>\n  )\n}\n\nexport const initEditorAiPromptWidget = ({\n  container,\n  editor,\n}: {\n  container: HTMLElement\n  editor: any\n}) => {\n  const root = createRoot(container)\n\n  root?.render(<EditorAiPromptWidget editor={editor} />)\n}\n","import { initEditorAiPromptWidget } from './EditorAiPromptWidget'\n\nexport function aiPrompts(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    aiPrompts: false,\n  })\n\n  FroalaEditor.PLUGINS.aiPrompts = function (editor: any) {\n    function renderWidget() {\n      if (!editor.opts.aiPrompts) {\n        return\n      }\n\n      const editorBox = editor.$box[0]\n\n      const wrapperElmnt = editorBox.querySelector('.fr-wrapper')\n\n      const container = document.createElement('div')\n      container.classList.add('fn-editor-ai-widget')\n\n      // Inserting after the wrapper element to position it at the bottom\n      wrapperElmnt.insertAdjacentElement('afterend', container)\n\n      // Adjusting border radius to integrate the widget seamlessly\n      wrapperElmnt.style.borderBottomLeftRadius = '0'\n      wrapperElmnt.style.borderBottomRightRadius = '0'\n\n      initEditorAiPromptWidget({\n        container: container,\n        editor: editor,\n      })\n    }\n\n    return {\n      _init() {\n        renderWidget()\n      },\n    }\n  }\n}\n","/**\n * Insert snippet text and attachments into a Froala editor at the\n * saved cursor position. Restores the selection so the content goes\n * where the user's cursor was, even if focus moved (e.g. to a button).\n * The caller must save the selection before calling this function.\n */\nexport function insertSnippet(\n  editor: any,\n  text: string,\n  attachments?: any[],\n  attachmentsList?: { has_file: (f: any) => any; add_file: (f: any) => void },\n) {\n  if (attachments?.length && attachmentsList) {\n    attachments\n      .filter((file) => !attachmentsList.has_file(file))\n      .forEach((file) => attachmentsList.add_file(file))\n  }\n\n  editor.selection.restore()\n  editor.html.insert(text)\n  editor.events.trigger('contentChanged', [], true)\n}\n","import React, { ReactElement, useState } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { twMerge } from '@kundo/ui/dist/helpers'\nimport {\n  Tooltip,\n  ArrowDownIcon,\n  ChevronRightIcon,\n  XIcon,\n  IconButton,\n  Button,\n  Title,\n} from '@kundo/ui'\n\nimport { insertSnippet } from '../../helpers/insertSnippet'\nimport { Snippet, useSnippetSuggestions, postSnippetUsage } from './useApi'\n\nconst SnippetCard = ({\n  snippet,\n  onInsert,\n  isSingle,\n  expanded,\n  onToggleExpand,\n}: {\n  snippet: Snippet\n  onInsert: (snippet: Snippet) => void\n  isSingle: boolean\n  expanded: boolean\n  onToggleExpand: () => void\n}) => {\n  const insertTooltip = gettext('Infoga färdigt svar')\n\n  return (\n    <div\n      className={twMerge(\n        'tw-flex tw-flex-col tw-flex-1 tw-min-w-0',\n        'tw-border tw-border-solid tw-border-gray-30',\n        'tw-rounded-lg',\n        'tw-bg-white',\n      )}\n    >\n      <div className=\"tw-flex tw-items-center tw-gap-3 tw-px-4 tw-py-3\">\n        <button\n          type=\"button\"\n          className=\"tw-flex tw-flex-col tw-flex-1 tw-min-w-0 tw-bg-transparent tw-border-0 tw-p-0 tw-cursor-pointer tw-text-left\"\n          onClick={onToggleExpand}\n          aria-expanded={expanded}\n        >\n          <div className=\"tw-flex tw-items-center tw-gap-1\">\n            <ChevronRightIcon\n              className={twMerge(\n                'tw-w-5 tw-h-5 tw-fill-gray-100 tw-shrink-0 tw-transition-transform tw-duration-200',\n                expanded && 'tw-rotate-90',\n              )}\n            />\n            <span className=\"tw-font-semibold tw-text-sm tw-text-gray-100 tw-truncate\">\n              {snippet.name}\n            </span>\n          </div>\n          {!expanded && (\n            <p className=\"tw-text-xs tw-text-gray-70 tw-truncate tw-m-0 tw-mt-0.5\">\n              {snippet.excerpt}\n            </p>\n          )}\n        </button>\n        {expanded && (\n          <IconButton\n            variant=\"tertiary\"\n            size=\"small\"\n            icon={<XIcon className=\"tw-w-6 tw-h-6\" />}\n            onClick={onToggleExpand}\n            label={gettext('Stäng')}\n            className=\"tw-shrink-0\"\n          />\n        )}\n        {!expanded && isSingle && (\n          <Button\n            variant=\"secondary\"\n            size=\"small\"\n            label={gettext('Infoga svar')}\n            icon={<ArrowDownIcon className=\"tw-w-4 tw-h-4\" />}\n            onClick={() => onInsert(snippet)}\n            className=\"tw-shrink-0\"\n          />\n        )}\n        {!expanded && !isSingle && (\n          <Tooltip content={insertTooltip}>\n            <IconButton\n              variant=\"tertiary\"\n              size=\"small\"\n              icon={<ArrowDownIcon className=\"tw-w-4 tw-h-4\" />}\n              onClick={() => onInsert(snippet)}\n              label={insertTooltip}\n              className=\"tw-shrink-0\"\n            />\n          </Tooltip>\n        )}\n      </div>\n      {expanded && (\n        <>\n          <div\n            className=\"tw-px-4 tw-pb-3 tw-text-sm tw-text-gray-100\"\n            dangerouslySetInnerHTML={{ __html: snippet.text }}\n          />\n          <div className=\"tw-px-4 tw-pb-3\">\n            <Button\n              variant=\"secondary\"\n              size=\"small\"\n              label={gettext('Infoga svar')}\n              icon={<ArrowDownIcon className=\"tw-w-4 tw-h-4\" />}\n              onClick={() => onInsert(snippet)}\n            />\n          </div>\n        </>\n      )}\n    </div>\n  )\n}\n\nconst SnippetSuggestionsWidget = ({\n  editor,\n  messagePuri,\n  orgId,\n}: {\n  editor: any\n  messagePuri: string\n  orgId: number\n}): ReactElement | null => {\n  const { suggestions, loaded } = useSnippetSuggestions(orgId, messagePuri)\n  const [expandedId, setExpandedId] = useState<number | null>(null)\n\n  const handleInsert = (snippet: Snippet) => {\n    const kundoFroala = editor.kundoFroala\n    if (!kundoFroala) return\n\n    editor.events.focus()\n    editor.undo.saveStep()\n    kundoFroala.saveSelection()\n\n    const highlightId = `snippet-highlight-${Date.now()}`\n    const wrappedText = `<div id=\"${highlightId}\" class=\"tw-bg-warning-100/50\" style=\"transition: background-color 1.5s ease-out;\">${snippet.text}</div>`\n\n    insertSnippet(editor, wrappedText, snippet.attachments, kundoFroala.attachmentsList)\n    postSnippetUsage(snippet.usage_url, 'ai_suggestion')\n\n    // Fade out highlight, then unwrap the div to leave clean HTML\n    setTimeout(() => {\n      const el = editor.el?.querySelector(`#${highlightId}`)\n      if (el) {\n        el.classList.remove('tw-bg-warning-100/50')\n        el.style.backgroundColor = 'transparent'\n        setTimeout(() => {\n          el.replaceWith(...el.childNodes)\n          // Save an undo step after cleanup so that the temp highlight is not part of the undo history\n          editor.undo.saveStep()\n        }, 1500)\n      }\n    }, 50)\n  }\n\n  if (!loaded || suggestions.length === 0) {\n    return null\n  }\n\n  const heading =\n    suggestions.length === 1\n      ? gettext('Förslag på färdigt svar')\n      : gettext('Förslag på färdiga svar')\n\n  const isSingle = suggestions.length === 1\n\n  return (\n    <div className=\"tw-mb-3\">\n      <Title\n        as=\"h3\"\n        styledAs=\"h4\"\n        className=\"tw-mb-2 tw-mt-0\"\n      >\n        {heading}\n      </Title>\n      <div className=\"tw-flex tw-flex-col md:tw-flex-row tw-gap-2\">\n        {suggestions.map((snippet) => {\n          const isExpanded = expandedId === snippet.id\n          if (expandedId !== null && !isExpanded) return null\n          return (\n            <SnippetCard\n              key={snippet.id}\n              snippet={snippet}\n              onInsert={handleInsert}\n              isSingle={isSingle}\n              expanded={isExpanded}\n              onToggleExpand={() => setExpandedId(isExpanded ? null : snippet.id)}\n            />\n          )\n        })}\n      </div>\n    </div>\n  )\n}\n\nexport const initSnippetSuggestions = ({\n  container,\n  editor,\n  messagePuri,\n  orgId,\n}: {\n  container: HTMLElement\n  editor: any\n  messagePuri: string\n  orgId: number\n}) => {\n  const root = createRoot(container)\n  root.render(\n    <SnippetSuggestionsWidget\n      editor={editor}\n      messagePuri={messagePuri}\n      orgId={orgId}\n    />,\n  )\n}\n","import { useState, useEffect } from 'react'\n\nexport interface Snippet {\n  id: number\n  puri: string\n  name: string\n  text: string\n  excerpt: string\n  updated_at: string\n  usage_url: string\n  attachments: { filename: string; url: string }[]\n  rating: number\n}\n\ninterface SuggestionsResponse {\n  count: number\n  data: Snippet[]\n}\n\nexport function useSnippetSuggestions(orgId: number, messagePuri: string) {\n  const [suggestions, setSuggestions] = useState<Snippet[]>([])\n  const [loaded, setLoaded] = useState(false)\n\n  useEffect(() => {\n    const url = `/bff/reply-snippets/org/${orgId}/reply-snippet-suggestions/${encodeURIComponent(messagePuri)}`\n\n    fetch(url, { credentials: 'same-origin' })\n      .then((res) => {\n        if (!res.ok) throw new Error(`HTTP ${res.status}`)\n        return res.json()\n      })\n      .then((data: SuggestionsResponse) => {\n        setSuggestions(data.data || [])\n        setLoaded(true)\n      })\n      .catch(() => {\n        setLoaded(true)\n      })\n  }, [messagePuri, orgId])\n\n  return { suggestions, loaded }\n}\n\nexport function postSnippetUsage(usageUrl: string, type: 'ai_suggestion' | 'manual' = 'manual') {\n  const csrfToken = document.body.getAttribute('data-csrftoken')\n  fetch(usageUrl, {\n    method: 'POST',\n    credentials: 'same-origin',\n    headers: {\n      ...(csrfToken ? { 'x-csrftoken': csrfToken } : {}),\n      'Content-Type': 'application/x-www-form-urlencoded',\n    },\n    body: `type=${type}`,\n  })\n}\n","import { initSnippetSuggestions } from './SnippetSuggestionsWidget'\n\nexport function snippetSuggestions(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    snippetSuggestions: false,\n  })\n\n  FroalaEditor.PLUGINS.snippetSuggestions = function (editor: any) {\n    function renderWidget() {\n      if (!editor.opts.snippetSuggestions) {\n        return\n      }\n\n      const form = editor.$oel.closest('form')[0]\n      const messagePuri = form?.getAttribute('data-message-puri')\n      const orgId = window.CURRENT_ORGANIZATION_ID\n\n      const editorBox = editor.$box[0]\n      const texteditorDiv = editorBox?.parentNode\n\n      if (!messagePuri || !orgId || !texteditorDiv?.parentNode) {\n        return\n      }\n\n      const container = document.createElement('div')\n      container.classList.add('fn-snippet-suggestions')\n\n      // Insert before the text editor div to position above the entire editor\n      texteditorDiv.parentNode.insertBefore(container, texteditorDiv)\n\n      initSnippetSuggestions({\n        container,\n        editor,\n        messagePuri,\n        orgId,\n      })\n    }\n\n    return {\n      _init() {\n        renderWidget()\n      },\n    }\n  }\n}\n","export function froalaTextWrapper(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    wrapPlainText: false,\n  })\n\n  FroalaEditor.PLUGINS.TextWrapperPlugin = function (editor: any) {\n    let isWrapped: boolean = false\n\n    function wrapPlainText() {\n      editor.html.wrap(true, true, false)\n\n      const editorArea = editor.el\n      const elements = editorArea.querySelectorAll('[data-empty=\"true\"]')\n\n      elements.forEach(function (el) {\n        el.removeAttribute('data-empty')\n      })\n\n      if (editor.MailHistoryPlugin && typeof editor.MailHistoryPlugin._init === 'function') {\n        editor.MailHistoryPlugin._init(true)\n      } else {\n        console.log(\n          'Froala MailHistoryPlugin is not available. Make sure it is loaded before Froala TextWrapperPlugin.',\n        )\n      }\n    }\n\n    function initWrapPlainText() {\n      if (!isWrapped) {\n        wrapPlainText()\n        isWrapped = true\n      }\n    }\n\n    function _init() {\n      if (!editor.opts.wrapPlainText) {\n        return\n      }\n\n      let isInit = false\n\n      editor.events.on('edit.on', async function () {\n        initWrapPlainText()\n      })\n\n      editor.el.addEventListener('mouseover', () => {\n        !isInit && initWrapPlainText()\n        isInit = true\n      })\n    }\n\n    return {\n      _init: _init,\n    }\n  }\n}\n","import {\n  BTN_CLEAR,\n  BTN_CONTACTS,\n  BTN_FILES,\n  BTN_IMAGES,\n  BTN_INTERNAL_LINKS,\n  BTN_SELF_SERVICE,\n  BTN_SNIPPETS,\n} from './toolbar'\nimport { ALLOWED_IMAGE_EXTENSIONS } from './utils'\n\nexport function registerCustomCommands(FroalaEditor: any) {\n  FroalaEditor.RegisterCommand(BTN_IMAGES, {\n    callback() {\n      chooseFile((files) => this.kundoFroala.insertImage(files), ALLOWED_IMAGE_EXTENSIONS)\n    },\n    icon: BTN_IMAGES,\n    title: TRANSLATIONS.insert_image,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_FILES, {\n    callback() {\n      chooseFile((files) => this.kundoFroala.attachFile(files))\n    },\n    icon: BTN_FILES,\n    title: TRANSLATIONS.attach_files,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_SNIPPETS, {\n    callback() {\n      this.kundoFroala.toggleSnippetWidget()\n    },\n    icon: BTN_SNIPPETS,\n    title: TRANSLATIONS.reply_snippet,\n  })\n  FroalaEditor.RegisterShortcut('E'.charCodeAt(0), BTN_SNIPPETS, null, 'E')\n\n  FroalaEditor.RegisterCommand(BTN_CLEAR, {\n    callback() {\n      const thisText = this.selection.text()\n      this.selection.remove()\n      this.html.insert(thisText)\n    },\n    icon: BTN_CLEAR,\n    title: TRANSLATIONS.clear_formatting,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_CONTACTS, {\n    callback() {\n      this.link.insert('#contactModal', TRANSLATIONS.kundo_contact_modal_linktext)\n    },\n    title: TRANSLATIONS.kundo_contact_modal_title,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_SELF_SERVICE, {\n    callback() {\n      this.kundoFroala.toggleSelfServiceWidget()\n    },\n    icon: BTN_SELF_SERVICE,\n  })\n  FroalaEditor.RegisterShortcut('E'.charCodeAt(0), BTN_SNIPPETS, null, 'E')\n}\n\nexport function registerInternalLinkCommand(FroalaEditor: any, title: string) {\n  // This is wrapped in a callback since we want a dynamic toolbar button tooltip title\n  FroalaEditor.RegisterCommand(BTN_INTERNAL_LINKS, {\n    callback() {\n      const $tb = this.$tb\n      const $btn = $tb.find(`.fr-command[data-cmd=\"${BTN_INTERNAL_LINKS}\"]`)\n      const btnOffset = $btn.offset()\n      const tbOffset = $tb.offset()\n      const left = btnOffset.left - tbOffset.left\n      const top = btnOffset.top - tbOffset.top + $tb.outerHeight() + 10\n      const kundoFroala = this.kundoFroala\n      if (kundoFroala.internalLinkWidget) {\n        kundoFroala.internalLinkWidget.box.css('top', top).css('left', left)\n        kundoFroala.toggleInternalLinkWidget()\n      }\n    },\n    icon: BTN_INTERNAL_LINKS,\n    title,\n  })\n}\n\nfunction chooseFile(\n  callback: (files: FileList | null) => void,\n  acceptExtensions?: string[],\n  multiple = true,\n) {\n  const input = $('<input type=\"file\">')\n  if (acceptExtensions) {\n    input.attr('accept', acceptExtensions.map((s) => '.' + s).join(','))\n  }\n  if (multiple) {\n    input.prop('multiple', true)\n  }\n  const elm = input[0] as HTMLInputElement\n  // The input field need to be attached the DOM to allow uploads in iOS Safari\n  // Reference: https://stackoverflow.com/a/47665517/461559\n  $(document.body).append(input)\n  input.on('change', () => {\n    callback(elm.files)\n    input.remove()\n  })\n  input.trigger('click')\n  input.hide()\n}\n","export type Provider = {\n  html: string\n  provider: string\n  test_regex: RegExp\n  url_regex: RegExp\n  url_text: string\n}\n\nexport const VIDEO_PROVIDERS: Provider[] = [\n  {\n    html: '<iframe src=\"{url}?modestbranding=1&amp;rel=0\" allowfullscreen></iframe>',\n    provider: 'YouTube',\n    test_regex:\n      /^.*((youtu.be)|(youtube.com))\\/((v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))?\\??v?=?([^#&?]*).*/,\n    url_regex:\n      /(?:https?:\\/\\/)?(?:www\\.)?(?:m\\.)?(?:youtube\\.com|youtu\\.be)\\/(?:watch\\?v=|embed\\/)?([0-9a-zA-Z_-]+)(.+)?/g,\n    url_text: 'https://www.youtube-nocookie.com/embed/$1',\n  },\n  // Vimeo id-only regex, e.g. https://vimeo.com/123456/abcdef\n  {\n    html: '<iframe src=\"{url}\" allowfullscreen></iframe>',\n    provider: 'Vimeo',\n    test_regex: /^.*(vimeo.com)\\/(\\w+)\\/(\\w+)(?:|\\/\\?)/,\n    url_regex: /(?:http|https)?:\\/\\/(?:www\\.)?vimeo.com\\/(\\w+)\\/(\\w+)(?:|\\/\\?)(?:|\\/\\?)/i,\n    url_text: 'https://player.vimeo.com/video/$1?h=$2',\n  },\n  {\n    html: '<iframe src=\"{url}?title=0&amp;byline=0&amp;portrait=0&amp;badge=0\" allowfullscreen></iframe>',\n    provider: 'Vimeo',\n    test_regex:\n      /^.*(vimeo.com)\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^/]*)\\/videos\\/|)(\\d+)(?:|\\/\\?)/,\n    url_regex:\n      /(?:http|https)?:\\/\\/(?:www\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^/]*)\\/videos\\/|)(\\d+)(?:|\\/\\?)/i,\n    url_text: 'https://player.vimeo.com/video/$1',\n  },\n  {\n    html: '<iframe src=\"{url}\" allowfullscreen></iframe>',\n    provider: 'SVT',\n    test_regex: /^.*((svtplay\\.se)|(svt\\.se))\\/(klipp\\/|videoplayer-embed\\/(?:(?:nojs\\/)?))(\\d+)/, //(?:|\\/\\?)/,\n    url_regex:\n      /(?:http|https)?:\\/\\/(?:(?:www\\.)|(?:api\\.))?(?:(?:svtplay\\.se)|(?:svt\\.se))\\/(?:klipp\\/|videoplayer-embed\\/(?:(?:nojs\\/)?))(\\d+)(?:.+)?/i,\n    url_text: 'https://svt.se/videoplayer-embed/$1',\n  },\n  {\n    html: '<iframe src=\"{url}\" allowfullscreen></iframe>',\n    provider: 'DreamBroker',\n    test_regex: /dreambroker.com/,\n    url_regex: /(?:https?:\\/\\/)?(?:www\\.)?dreambroker.com\\/channel\\/(\\w+)\\/(\\w+)/i,\n    url_text: 'https://www.dreambroker.com/channel/$1/iframe/$2',\n  },\n]\n","import { FroalaEditorV4 as FroalaEditorStatic } from './froala-4'\n\nimport {\n  froalaEmoji,\n  froalaFixPasteBug,\n  froalaMailHistory,\n  aiAutoReplies,\n  aiPrompts,\n  deleteEmptyContainers,\n  snippetSuggestions,\n  froalaTextWrapper,\n} from './plugins'\n\nimport { registerCustomCommands } from './commands'\nimport { defineCustomIcons } from './toolbar'\nimport { Provider, VIDEO_PROVIDERS } from './video'\n\nlet FroalaEditor: Froala | null = null\n\nexport type Froala = {\n  ENTER_BR: number\n  ENTER_DIV: number\n  ENTER_P: number\n  ICON_DEFAULT_TEMPLATE: string\n  LANGUAGE: Record<string, any>\n  VERSION: string\n  VIDEO_PROVIDERS: Provider[]\n  DefineIconTemplate: (name: string, template: string) => void\n\n  $el: any\n  $box: any\n  browser: any\n  edit: any\n  events: any\n  html: any\n  image: any\n  kundoFroala: any\n  link: any\n  opts: any\n  position: any\n  save: any\n  selection: any\n  (...args: any): any\n}\n\nexport function loadFroala(callback: (froala: Froala) => void) {\n  if (FroalaEditor) {\n    callback(FroalaEditor)\n    return\n  }\n\n  FroalaEditor = FroalaEditorStatic\n  setupFroala()\n  assertFroalaLoaded(FroalaEditor)\n  callback(FroalaEditor)\n}\n\nfunction setupFroala() {\n  assertFroalaLoaded(FroalaEditor)\n  FroalaEditor.LANGUAGE['kundo-lang'] = { translation: TRANSLATIONS.froala }\n  FroalaEditor.VIDEO_PROVIDERS = VIDEO_PROVIDERS\n  FroalaEditor.ICON_DEFAULT_TEMPLATE = 'kundo-fa'\n  FroalaEditor.DefineIconTemplate('kundo-fa', '<i class=\"f-icon-[NAME]\"></i>')\n  FroalaEditor.DefineIconTemplate(\n    'kundo-custom-icon',\n    '<div class=\"tw-flex tw-justify-center tw-items-center tw-gap-1 tw-grow tw-px-1.5\"><div class=\"*:tw-block *:tw-h-auto *:tw-p-0 *:tw-m-0 *:tw-fill-current *:tw-text-current\">[ICON]</div><div class=\"tw-font-semibold tw-text-sm\" data-cmd-title=\"[TEXT]\">[TEXT]</div></div>',\n  )\n\n  registerCustomCommands(FroalaEditor)\n  defineCustomIcons(FroalaEditor)\n  froalaFixPasteBug(FroalaEditor)\n  froalaMailHistory(FroalaEditor)\n  froalaTextWrapper(FroalaEditor)\n  froalaEmoji(FroalaEditor)\n  aiAutoReplies(FroalaEditor)\n  aiPrompts(FroalaEditor)\n  snippetSuggestions(FroalaEditor)\n  deleteEmptyContainers(FroalaEditor)\n}\n\nexport function initFroalaEditor(kundoFroala: any, options: any) {\n  assertFroalaLoaded(FroalaEditor)\n  kundoFroala.froala = FroalaEditor(kundoFroala.editor[0], options)\n}\n\nfunction assertFroalaLoaded(value: unknown): asserts value is Froala {\n  if (value == null) {\n    throw new Error('FroalaEditor library is not loaded')\n  }\n}\n","export function froalaFixPasteBug(FroalaEditor: any) {\n  /*\n   * Fix froala adding `id=\"isPasted\"` to pasted content, potentially causing accessibility issues\n   * See: https://github.com/froala/wysiwyg-editor/issues/4328\n   */\n  if (!FroalaEditor.PLUGINS) {\n    return\n  }\n  FroalaEditor.PLUGINS['fixPasteBug'] = function (editor: any) {\n    return {\n      _init() {\n        editor.events.on('paste.after', () => {\n          const t = document.createElement('template')\n          t.innerHTML = editor.html.get()\n          const offender = t.content.querySelector('#isPasted')\n          if (offender) {\n            editor.selection.save()\n            offender.removeAttribute('id')\n            editor.html.set(t.innerHTML)\n            editor.selection.restore()\n          }\n        })\n      },\n    }\n  }\n}\n","import { v4 as uuidv4 } from 'uuid'\n\n/*\n * Handles the toggling of mail conversation history within the text editor\n * The textfield is prefilled with correct markup from django forms\n **/\nexport function froalaMailHistory(FroalaEditor: any) {\n  FroalaEditor.PLUGINS.MailHistoryPlugin = function (editor: any) {\n    function toggleHistoryVisibility(isInit: boolean) {\n      editor.el.querySelectorAll('[data-froala-role=history-wrapper]').forEach((el) => {\n        const label = 'History'\n        const contentId = `content-${uuidv4()}`\n\n        const historyContent = el.querySelector('[data-froala-role=history-content]')\n\n        const toggleBtn = el.querySelector('[data-froala-role=history-toggle-btn]')\n\n        if (historyContent) {\n          historyContent.classList.add('hidden')\n          historyContent.classList.remove('visible')\n          historyContent.setAttribute('id', contentId)\n          historyContent.setAttribute('role', 'region')\n          historyContent.setAttribute('aria-label', label)\n          historyContent.removeAttribute('style')\n        }\n\n        if (toggleBtn) {\n          toggleBtn.setAttribute('role', 'button')\n          toggleBtn.setAttribute('aria-label', label)\n          toggleBtn.setAttribute('tabindex', '0')\n          toggleBtn.setAttribute('aria-expanded', 'false')\n          toggleBtn.setAttribute('aria-controls', contentId)\n        }\n\n        historyContent &&\n          toggleBtn &&\n          toggleBtn.addEventListener('click', () => {\n            if (!isInit) {\n              return\n            }\n\n            if (historyContent.classList.contains('hidden')) {\n              historyContent.classList.add('visible')\n              historyContent.classList.remove('hidden')\n              toggleBtn.setAttribute('aria-expanded', 'true')\n            } else {\n              historyContent.classList.add('hidden')\n              historyContent.classList.remove('visible')\n              toggleBtn.setAttribute('aria-expanded', 'false')\n            }\n\n            editor.events.trigger('focus', [], true)\n          })\n      })\n    }\n\n    function _init(isInit: boolean = false) {\n      // Check if wrapPlainText option is enabled in editor config\n      if (editor.opts.wrapPlainText) {\n        toggleHistoryVisibility(isInit)\n      } else {\n        toggleHistoryVisibility(true)\n      }\n    }\n\n    return {\n      _init: _init,\n    }\n  }\n}\n","import { BTN_EMOJIS } from '../toolbar'\n\nexport function froalaEmoji(FroalaEditor: any) {\n  // Emojis\n  FroalaEditor.RegisterCommand(BTN_EMOJIS, {\n    callback: function () {\n      if (this.popups.isVisible(BTN_EMOJIS)) {\n        if (this.$el.find('.fr-marker')) {\n          this.events.disableBlur()\n          this.selection.restore()\n        }\n        this.emojis.hidePopup()\n      } else {\n        this.emojis.showPopup()\n      }\n    },\n    focus: true,\n    plugin: BTN_EMOJIS,\n    popup: true,\n    title: 'Emojis',\n    undo: true,\n  })\n  FroalaEditor.POPUP_TEMPLATES[BTN_EMOJIS] = '[_CUSTOM_LAYER_]'\n  FroalaEditor.PLUGINS[BTN_EMOJIS] = function (froala: any) {\n    const { popups } = froala\n\n    function initPopup() {\n      const { EmojiPicker } = window.KUNDO\n      if (!EmojiPicker) {\n        console.error('EmojiPicker not loaded, aborting.')\n        return\n      }\n      // Add an container with the correct width as a placeholder for correct positioning\n      const popupHTML = '<div class=\"emojis-root\" style=\"width: 338px\"></div>'\n      const popup = popups.create(BTN_EMOJIS, { custom_layer: popupHTML })\n\n      // NOTE: Due to limitations in Froalas accessibility plugin,\n      // tab navigation doesn't work inside the EmojiPicker.\n      EmojiPicker(popup.find('.emojis-root')[0], {\n        onSelect: (emoji) => {\n          froala.html.insert(emoji)\n          hidePopup()\n        },\n      })\n    }\n\n    function showPopup() {\n      if (!popups.get(BTN_EMOJIS)) {\n        initPopup()\n      }\n      popups.setContainer(BTN_EMOJIS, froala.$tb)\n\n      // Position the toolbar next to the button\n      const $btn = froala.$tb.find(`.fr-command[data-cmd=\"${BTN_EMOJIS}\"]`)\n      const left = $btn.offset().left + $btn.outerWidth() / 2\n      const top = $btn.offset().top + (froala.opts.toolbarBottom ? 10 : $btn.outerHeight() - 10)\n      popups.show(BTN_EMOJIS, left, top, $btn.outerHeight())\n    }\n\n    function hidePopup() {\n      popups.hide(BTN_EMOJIS)\n    }\n\n    return { hidePopup, showPopup }\n  }\n}\n","/**\n * Cleans up specific Froala-generated containers inside the editor.\n *\n * This function:\n * 1. Selects and processes elements with `data-froala-role` values:\n *    - \"ai-autoreply\"\n *    - \"ai-prompt-result\"\n *    - \"skeleton\"\n * 2. Removes <br> tags and empty <p> or <div> tags from these elements.\n * 3. If the element becomes visually empty, it is cleared and reset with a single <br>,\n *    while retaining the container itself (to preserve editor structure).\n * 4. After cleanup, if the editor contains only allowed elements:\n *    - <div data-froala-role=\"signature\">\n *    - <div data-froala-role=\"history-wrapper\">\n *    Then a new empty <div><br/></div> is inserted at the beginning of the editor,\n *    ensuring there's always a visible, editable line for the user.\n */\n\nexport function deleteEmptyContainers(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    deleteEmptyContainers: true,\n  })\n\n  FroalaEditor.PLUGINS.deleteEmptyContainers = function (editor: any) {\n    function deleteContainers() {\n      const editorEl = editor.el // Native editable DOM element\n\n      // Query both types of elements\n      const containers = editorEl.querySelectorAll(\n        'div[data-froala-role=\"ai-autoreply\"], div[data-froala-role=\"ai-prompt-result\"], div[data-froala-role=\"skeleton\"]',\n      )\n\n      containers.forEach((div) => {\n        const clone = div.cloneNode(true)\n\n        // Remove <br> tags\n        clone.querySelectorAll('br').forEach((br) => br.remove())\n\n        // Remove empty <p> and <div> tags\n        clone.querySelectorAll('p, div').forEach((child) => {\n          if (!child.textContent.trim() && child.children.length === 0) {\n            child.remove()\n          }\n        })\n\n        // If nothing meaningful remains, clean up the original element\n        const isVisiblyEmpty = !clone.textContent.trim() && clone.children.length === 0\n        if (isVisiblyEmpty) {\n          // div.remove() // Remove the original element\n          div.removeAttribute('data-froala-role')\n          div.innerHTML = ''\n          div.appendChild(document.createElement('br'))\n        }\n      })\n\n      // Define the allowed Froala roles that are okay to be the only remaining elements\n      const allowed = ['signature', 'history-wrapper']\n\n      // Get all top-level child elements of the editor\n      const children = Array.from(editorEl.children)\n\n      // Check if all children are <div> elements with allowed data-froala-role attributes\n      const onlyAllowed = children.every((child) => {\n        const el = child as Element\n        if (el.tagName !== 'DIV') return false\n        const role = el.getAttribute('data-froala-role')\n        return role !== null && allowed.includes(role)\n      })\n\n      // Check if editor contains at least one allowed role\n      const containsAllowed = children.some((child) => {\n        const el = child as Element\n        const role = el.getAttribute('data-froala-role')\n        return role !== null && allowed.includes(role)\n      })\n\n      // If only allowed elements are present AND at least one is present, insert <div><br/></div>\n      if (onlyAllowed && containsAllowed) {\n        const emptyDiv = document.createElement('div')\n        emptyDiv.appendChild(document.createElement('br'))\n        editorEl.insertBefore(emptyDiv, editorEl.firstChild)\n      }\n    }\n\n    return {\n      _init() {\n        editor.events.on('contentChanged', function () {\n          deleteContainers()\n        })\n      },\n    }\n  }\n}\n","import qq from 'fine-uploader/lib/core'\n\nconst { UPLOADS_MAX_SIZE, UPLOADS_MAX_SIZE_MAIL } = window\n\nfunction scrollContentToBottom() {\n  $('html, body').animate(\n    {\n      scrollTop: $('html, body').get(0).scrollHeight,\n    },\n    300,\n  )\n}\n\nexport function uploadImageAsUpload(\n  kundoFroala,\n  files,\n  allowedExtensions,\n  isMailContext,\n  allowLargeUploads,\n  useScrollToBottom,\n) {\n  // Calls the upload_file view to create a Upload image\n  const { attachmentsList, uploadsUrl } = kundoFroala\n  const onSuccess = (file) => {\n    kundoFroala.froala.image.insert(file.temporaryUrl)\n  }\n  const disposition = 'inline'\n  const uploader = uploadsServiceUploaderFactory(\n    uploadsUrl,\n    attachmentsList,\n    allowedExtensions,\n    onSuccess,\n    isMailContext,\n    allowLargeUploads,\n    disposition,\n    useScrollToBottom,\n  )\n  uploader.addFiles(files)\n}\n\nexport function uploaderFactory(\n  url,\n  attachmentsList,\n  isMailContext,\n  allowLargeUploads,\n  allowedExtensions = [],\n) {\n  // Sample \"attachments\" response\n  // { \"success\": true, \"id\": 12, \"disposition\": \"inline\", \"file_url\": \"/site_media_p/attachment/context_1/file name.ext\" }\n  const onComplete = async (id, name, responseJSON, xhr) => {\n    attachmentsList.hide_progress()\n    if (responseJSON.success) {\n      await attachmentsList.add_file(responseJSON)\n    } else {\n      await attachmentsList.show_error_msg(responseJSON.error)\n    }\n\n    const frame = $('#mail-iframe', window.parent.document)\n    frame.length > 0 && frame.height(document.body.scrollHeight)\n\n    scrollContentToBottom()\n  }\n  return baseUploaderFactory(\n    url,\n    attachmentsList,\n    allowedExtensions,\n    onComplete,\n    isMailContext,\n    allowLargeUploads,\n  )\n}\n\nfunction uploadsServiceUploaderFactory(\n  url,\n  attachmentsList,\n  allowedExtensions,\n  onSuccess,\n  isMailContext = false,\n  allowLargeUploads = false,\n  disposition = 'attachment',\n  useScrollToBottom = false,\n) {\n  // Sample \"uploads\" response\n  // {\"success\": true, \"type\": \"jpeg\", \"temporary_url\": \"https://something\"}\n  const onComplete = (id, name, responseJSON, xhr) => {\n    attachmentsList.hide_progress()\n    if (!responseJSON.error) {\n      const file = {\n        id: responseJSON.path,\n        puri: responseJSON.puri,\n        url: responseJSON.temporary_url,\n        temporaryUrl: responseJSON.temporary_url,\n        disposition: 'inline',\n      }\n      attachmentsList.refresh_attachments()\n      onSuccess(file)\n    } else {\n      attachmentsList.show_error_msg(responseJSON.error)\n    }\n  }\n  return baseUploaderFactory(\n    url,\n    attachmentsList,\n    allowedExtensions,\n    onComplete,\n    isMailContext,\n    allowLargeUploads,\n    disposition,\n    useScrollToBottom,\n  )\n}\n\nfunction baseUploaderFactory(\n  url,\n  attachmentsList,\n  allowedExtensions,\n  onComplete,\n  isMailContext = false,\n  allowLargeUploads = false,\n  disposition = 'attachment',\n  useScrollToBottom = false,\n) {\n  return new qq.FineUploaderBasic({\n    request: {\n      endpoint: url,\n      inputName: 'file',\n      customHeaders: {\n        'X-Is-Mail-Context': isMailContext ? '1' : '0',\n        'X-Allow-Large-Uploads': allowLargeUploads ? '1' : '0',\n      },\n    },\n    retry: {\n      enableAuto: true,\n      autoAttemptDelay: 1,\n      maxAutoAttempts: 1,\n    },\n    validation: {\n      sizeLimit: isMailContext ? UPLOADS_MAX_SIZE_MAIL : UPLOADS_MAX_SIZE,\n      allowedExtensions,\n    },\n    messages: {\n      typeError: TRANSLATIONS.file_upload_invalid_extension,\n      emptyError: TRANSLATIONS.file_upload_empty,\n      noFilesError: TRANSLATIONS.file_upload_no_files,\n      sizeError: TRANSLATIONS.file_upload_size_error,\n    },\n    callbacks: {\n      onComplete,\n      onSubmit() {\n        attachmentsList.show_progress(0, disposition)\n      },\n      onProgress(id, name, uploadedBytes, totalBytes) {\n        const percent = (uploadedBytes / totalBytes) * 100\n        attachmentsList.show_progress(percent, disposition)\n\n        useScrollToBottom && scrollContentToBottom()\n      },\n      onAutoRetry(id, name) {\n        const msg = TRANSLATIONS.file_upload_retrying\n        attachmentsList.show_error_msg(msg)\n      },\n      onError(id, name, errorReason, xhr) {\n        if (xhr && xhr.status === 413) {\n          // this.cancel(id) // TODO: FineUploader throws an error if we cancel this, see: https://github.com/FineUploader/fine-uploader/issues/1758\n          const msg = TRANSLATIONS.file_upload_size_error\n            .replace('{file}', name)\n            .replace(\n              '{sizeLimit}',\n              this._formatSize(isMailContext ? UPLOADS_MAX_SIZE_MAIL : UPLOADS_MAX_SIZE),\n            )\n          attachmentsList.hide_progress()\n          attachmentsList.show_error_msg(msg)\n          return\n        }\n        attachmentsList.show_error_msg(errorReason)\n      },\n    },\n  })\n}\n","export default class InternalLinkWidget {\n  box: JQuery\n  selected: JQuery | null\n  searchBox: JQuery\n  resultList: JQuery\n  url: string\n  onselect: Function\n  onclose: Function\n\n  constructor(options: { box: JQuery; onselect?: Function; onclose?: Function }) {\n    this.selected = null\n    this.box = options.box\n    this.searchBox = this.box.find('.fn-searchbox')\n    this.resultList = this.box.find('.result-list ul')\n    this.searchBox.on('keyup', this.doSearch.bind(this))\n    this.box.on('keypress', (e: JQuery.KeyPressEvent) => {\n      if (e.key !== 'Enter') {\n        return\n      }\n      e.preventDefault()\n      this.selected && this.selectItem()\n    })\n    this.onselect = options.onselect || function () {}\n    this.onclose = options.onclose || function () {}\n\n    $('body').on('click', () => this.close(false))\n    this.box.on('click', (e) => e.stopPropagation())\n\n    this.box.find('.fn-cancel').on('click', (e) => this.close(false))\n    this.box.find('.fn-add-link').on('click', this.selectItem.bind(this))\n    this.resultList.on('click', 'li', this.onLinkClick.bind(this))\n    this.url = this.box.data('ajax-url')\n  }\n\n  onLinkClick(e) {\n    let target = e.target\n    if (e.target.tagName === 'SPAN') {\n      target = e.target.parentElement\n    }\n    this.selected = $(target)\n    // @ts-expect-error\n    for (let child of this.resultList.children()) {\n      $(child).removeClass('selected')\n    }\n    this.selected.addClass('selected')\n  }\n\n  selectItem() {\n    if (this.selected) {\n      const link = this.selected.data('url')\n      const label = this.selected.find('.fn-forum-link')[0].innerText\n      this.onselect(this, label, link)\n    }\n    this.close()\n  }\n\n  doSearch() {\n    this.search(<string>this.searchBox.val())\n  }\n\n  search(query: string) {\n    $.ajax({\n      url: this.url,\n      data: { q: query },\n      success: this.handleSearchResponse.bind(this),\n    })\n  }\n\n  handleSearchResponse(data) {\n    const result: JQuery<HTMLElement>[] = []\n    data.forEach((hit) => {\n      const $item = $('<li>', { 'data-url': hit.url })\n      const $link = $('<a>', { href: hit.url, target: '_blank' })\n      $link.append($('<span>', { text: hit.url, class: 'visuallyhidden' }))\n      $item.append($link)\n      $item.append($('<span>', { html: hit.title, class: 'fn-forum-link forum-link' }))\n      result.push($item)\n    })\n\n    this.resultList.empty().append(result)\n  }\n\n  open() {\n    this.box.removeClass('hidden')\n    this.searchBox.trigger('focus')\n    return this\n  }\n\n  close(focus = true) {\n    this.box.addClass('hidden')\n    this.onclose(this, focus)\n    return this\n  }\n\n  toggle() {\n    if (this.box.is('.hidden')) {\n      this.doSearch()\n      return this.open()\n    } else {\n      return this.close()\n    }\n  }\n}\n","import IconSearch from '@icons/search.svg'\n\ntype OnSelectHandler = (data: { text: string; attachments: any[] }) => void\n\nexport type Snippet = {\n  id: number\n  text: string\n  name: string\n  updated_at: string\n  usage_url: string\n  attachments: {}[]\n  excerpt: string\n}\nexport default class SnippetWidget {\n  box: JQuery<HTMLElement>\n  firstSnippet: JQuery<HTMLLIElement>\n  search: JQuery<HTMLElement>\n  snippet_box: JQuery<HTMLElement>\n  snippets: JQuery<HTMLLIElement>\n\n  prev_search_term: string\n\n  onclose: (focus: boolean) => void\n  onselect: OnSelectHandler\n\n  constructor(options: {\n    url: string\n    parent: HTMLElement\n    onselect: OnSelectHandler\n    onclose?: (focus: boolean) => void\n    positionAbove?: boolean\n  }) {\n    this.renderInitial(options.positionAbove)\n    this.box.appendTo(options.parent)\n\n    this.onselect = options.onselect || function () {}\n    this.onclose = options.onclose || function () {}\n    this.snippets = this.snippet_box.find('li')\n    this.firstSnippet = this.snippets.filter('.selected')\n    this.prev_search_term = ''\n\n    $('body').on('click', () => this.close(false))\n    this.box.on('click', (e) => {\n      e.stopPropagation()\n      this.search.trigger('focus')\n    })\n\n    // Setup events for everything...\n    this.search.on('keypress', (e) => this.selectEnter(e))\n    this.search.on('keydown', (e) => this.keyboardNavigation(e))\n    this.search.on('keyup input', () => this.filterSnippet())\n\n    this.fetchSnippets(options.url)\n  }\n\n  renderInitial(positionAbove?: boolean) {\n    let inputId = 'snippet-search'\n    let labelText = TRANSLATIONS.snippet_label_msg\n    let label = $(`<label class=\"visuallyhidden\" for=\"snippet-search\">`)\n      .attr('for', inputId)\n      .text(labelText)\n    this.search = $(`<input type=\"search\" autocomplete=\"off\" class=\"ml-2 w-full\">`)\n      .attr('placeholder', labelText)\n      .attr('name', inputId)\n      .attr('id', inputId)\n\n    this.box = $(`<div class=\"hidden snippet-box\">`)\n      .addClass(positionAbove ? 'snippet-box--above' : 'snippet-box--below')\n      .append(\n        $(`<h2>`).text(TRANSLATIONS.snippet_heading),\n        $(`<div class=\"search-wrapper flex items-center\">`).append(IconSearch, this.search, label),\n      )\n\n    this.snippet_box = $(`<ul class=\"list-unstyled snippet-box-options\">`).appendTo(this.box)\n  }\n\n  async fetchSnippets(url: string) {\n    const messagePuri = this.box[0]?.closest('form')?.getAttribute('data-message-puri')\n    if (messagePuri) {\n      const separator = url.includes('?') ? '&' : '?'\n      url += `${separator}message_puri=${encodeURIComponent(messagePuri)}`\n    }\n    const data: { snippets: Snippet[] } = await $.ajax(url)\n    data.snippets.forEach((snippet, i) => {\n      $(`<li class=\"snippet-box__item fn-tooltip-veryslow\">`)\n        .attr('title', snippet.name + ' - ' + snippet.excerpt)\n        .toggleClass('selected', i === 0)\n        .data('id', snippet.id)\n        .data('text', snippet.text)\n        .data('attachments', snippet.attachments)\n        .data('usage-url', snippet.usage_url)\n        .append($(`<span class=\"snippet-box__name\">`).text(snippet.name))\n        .append($(`<span class=\"subtle\">`).text(snippet.updated_at))\n        .appendTo(this.snippet_box)\n    })\n\n    this.snippets = this.snippet_box.find('li')\n    this.snippets.on('mouseover', (e) => this.hoverSnippet(e))\n    this.snippets.on('click', (e) => this.selectClick(e))\n    this.firstSnippet = this.snippets.filter('.selected')\n    KUNDO.tooltip?.update()\n  }\n\n  hoverSnippet(e: JQuery.MouseOverEvent) {\n    const selected = this.snippets.filter('.selected')\n\n    const new_selected = $(e.currentTarget)\n    this.moveSelected(selected, new_selected, false)\n  }\n\n  selectClick(e: JQuery.ClickEvent) {\n    const selected = $(e.currentTarget)\n    this.select(selected)\n    this.close()\n  }\n\n  select(selected: JQuery) {\n    this.search.val('')\n    selected.removeClass('selected')\n    this.firstSnippet.addClass('selected')\n    this.filterSnippet()\n    if (!selected.length) {\n      return\n    }\n    this.onselect({\n      text: selected.data('text'),\n      attachments: selected.data('attachments'),\n    })\n    $.post(selected.data('usage-url'))\n  }\n\n  selectEnter(e: JQuery.KeyPressEvent) {\n    if (e.which === 13) {\n      // Enter\n      e.preventDefault()\n      const selected = this.snippets.filter('.selected')\n      this.select(selected)\n      this.close()\n    }\n  }\n\n  keyboardNavigation(e: JQuery.KeyDownEvent) {\n    let new_selected: JQuery\n    const selected = this.snippets.filter('.selected')\n\n    if (e.which === 27) {\n      // Escape\n      e.stopPropagation()\n      return this.close()\n    } else if (e.which === 40) {\n      // Down\n      new_selected = selected.nextAll().filter(':visible:first')\n      if (new_selected.length) {\n        this.moveSelected(selected, new_selected)\n        return e.preventDefault()\n      }\n    } else if (e.which === 38) {\n      // Up\n      new_selected = selected.prevAll().filter(':visible:first')\n      if (new_selected.length) {\n        this.moveSelected(selected, new_selected)\n        return e.preventDefault()\n      }\n    }\n  }\n\n  filterSnippet() {\n    const search_term = this.search.val() as string\n    if (search_term === this.prev_search_term) {\n      return\n    }\n\n    this.prev_search_term = search_term\n    this.snippets.each((_, el) => {\n      const snippet = $(el)\n      if (fuzzyMatches(search_term, snippet.text())) {\n        snippet.removeClass('hidden')\n      } else {\n        snippet.addClass('hidden')\n      }\n    })\n\n    const selected = this.snippets.filter('.selected')\n    const new_selected = this.snippets.filter(':visible:first')\n    this.moveSelectedScrollTop(selected, new_selected)\n  }\n\n  moveSelected(from: JQuery, to: JQuery, focus = true) {\n    from.removeClass('selected')\n    to.addClass('selected')\n    if (focus) {\n      this.scrollToElement(from, to)\n    }\n  }\n\n  moveSelectedScrollTop(from: JQuery, to: JQuery) {\n    from.removeClass('selected')\n    to.addClass('selected')\n    this.snippet_box.scrollTop(0)\n  }\n\n  getScrollToDirection(from: JQuery, to: JQuery) {\n    const amountOfElementsAboveFromElement = from.prevAll().filter(':visible').length\n    const amountOfElementsAboveToElement = to.prevAll().filter(':visible').length\n\n    const shouldScrollDownwards = amountOfElementsAboveToElement > amountOfElementsAboveFromElement\n    const shouldScrollUpwards = amountOfElementsAboveToElement < amountOfElementsAboveFromElement\n    return { shouldScrollDownwards, shouldScrollUpwards }\n  }\n\n  scrollToElement(from: JQuery, to: JQuery) {\n    const currentScrollPosition = this.snippet_box.scrollTop()\n\n    if (currentScrollPosition === undefined) {\n      return\n    }\n\n    const { shouldScrollDownwards, shouldScrollUpwards } = this.getScrollToDirection(from, to)\n\n    if (shouldScrollDownwards) {\n      const scrollAmount = from.outerHeight()\n      if (scrollAmount) {\n        this.snippet_box.scrollTop(currentScrollPosition + scrollAmount)\n      }\n    } else if (shouldScrollUpwards) {\n      const scrollAmount = to.outerHeight()\n      if (scrollAmount) {\n        this.snippet_box.scrollTop(currentScrollPosition - scrollAmount)\n      }\n    }\n  }\n\n  open() {\n    this.box.removeClass('hidden')\n    this.search.trigger('focus')\n    return this\n  }\n\n  close(focus = true) {\n    this.box.addClass('hidden')\n    this.onclose(focus)\n    return this\n  }\n\n  toggle() {\n    if (this.box.is('.hidden')) {\n      return this.open()\n    } else {\n      return this.close()\n    }\n  }\n\n  destroy() {\n    this.box.remove()\n  }\n}\n\nfunction fuzzyMatches(search_term: string, string: string) {\n  search_term = search_term.toLowerCase()\n  string = string.toLowerCase()\n  let string_index = 0\n  for (let search_index = 0, end = search_term.length; search_index < end; search_index++) {\n    while (string[string_index] !== search_term[search_index]) {\n      string_index++\n      if (string_index > string.length) {\n        return false\n      }\n    }\n  }\n  return true\n}\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowRightUp = function SvgArrowRightUp(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    viewBox: \"0 0 24 24\",\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M17.9241 6.61722C17.8757 6.50014 17.804 6.3904 17.7092 6.29502C17.7078 6.2936 17.7064 6.29219 17.705 6.29078C17.5242 6.11106 17.2751 6 17 6H16.9998H7C6.44772 6 6 6.44772 6 7C6 7.55228 6.44772 8 7 8H14.5858L6.29289 16.2929C5.90237 16.6834 5.90237 17.3166 6.29289 17.7071C6.68342 18.0976 7.31658 18.0976 7.70711 17.7071L16 9.41421V17C16 17.5523 16.4477 18 17 18C17.5523 18 18 17.5523 18 17V7.00069V7C18 6.999 18 6.998 18 6.997C17.9996 6.8625 17.9727 6.73425 17.9241 6.61722Z\",\n    fill: \"currentColor\"\n  })));\n};\nexport { SvgArrowRightUp as ReactComponent };\nexport default \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M17.9241 6.61722C17.8757 6.50014 17.804 6.3904 17.7092 6.29502C17.7078 6.2936 17.7064 6.29219 17.705 6.29078C17.5242 6.11106 17.2751 6 17 6H16.9998H7C6.44772 6 6 6.44772 6 7C6 7.55228 6.44772 8 7 8H14.5858L6.29289 16.2929C5.90237 16.6834 5.90237 17.3166 6.29289 17.7071C6.68342 18.0976 7.31658 18.0976 7.70711 17.7071L16 9.41421V17C16 17.5523 16.4477 18 17 18C17.5523 18 18 17.5523 18 17V7.00069V7C18 6.999 18 6.998 18 6.997C17.9996 6.8625 17.9727 6.73425 17.9241 6.61722Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\";","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTwinkle = function SvgTwinkle(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: 20,\n    height: 20,\n    fill: \"none\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"currentColor\",\n    fillRule: \"evenodd\",\n    d: \"M7.859 2.799c-.278-.704-1.273-.704-1.55 0l-.86 2.18a.833.833 0 0 1-.47.47l-2.18.86c-.704.277-.704 1.272 0 1.55l2.18.86a.833.833 0 0 1 .47.469l.86 2.18c.277.703 1.272.703 1.55 0l.86-2.18a.833.833 0 0 1 .469-.47l2.18-.86c.703-.277.703-1.272 0-1.55l-2.18-.86a.833.833 0 0 1-.47-.47l-.86-2.18Zm7.083 8.333c-.278-.703-1.273-.703-1.55 0l-.507 1.284a.833.833 0 0 1-.47.47l-1.283.505c-.703.278-.703 1.273 0 1.55l1.284.507a.833.833 0 0 1 .47.47l.505 1.283c.278.703 1.273.703 1.55 0l.507-1.283a.833.833 0 0 1 .47-.47l1.283-.506c.703-.278.703-1.273 0-1.55l-1.283-.507a.833.833 0 0 1-.47-.47l-.506-1.283Z\",\n    clipRule: \"evenodd\"\n  })));\n};\nexport { SvgTwinkle as ReactComponent };\nexport default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"none\\\" aria-hidden=\\\"true\\\">\\n  <path fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" d=\\\"M7.859 2.799c-.278-.704-1.273-.704-1.55 0l-.86 2.18a.833.833 0 0 1-.47.47l-2.18.86c-.704.277-.704 1.272 0 1.55l2.18.86a.833.833 0 0 1 .47.469l.86 2.18c.277.703 1.272.703 1.55 0l.86-2.18a.833.833 0 0 1 .469-.47l2.18-.86c.703-.277.703-1.272 0-1.55l-2.18-.86a.833.833 0 0 1-.47-.47l-.86-2.18Zm7.083 8.333c-.278-.703-1.273-.703-1.55 0l-.507 1.284a.833.833 0 0 1-.47.47l-1.283.505c-.703.278-.703 1.273 0 1.55l1.284.507a.833.833 0 0 1 .47.47l.505 1.283c.278.703 1.273.703 1.55 0l.507-1.283a.833.833 0 0 1 .47-.47l1.283-.506c.703-.278.703-1.273 0-1.55l-1.283-.507a.833.833 0 0 1-.47-.47l-.506-1.283Z\\\" clip-rule=\\\"evenodd\\\"/>\\n</svg>\\n\";","import React from 'react'\n\nimport { ReactComponent as ArrowRightUp } from '@icons/arrow-right-up.svg'\nimport { ReactComponent as IconTwinkle } from '@icons/twinkle.svg'\n\nexport type SuggestionCardProps = {\n  channelColorClass: string\n  channelIconStyling: string\n  channelName: string\n  distance: number | null\n  excerpt: string\n  onRequestInsertLink: (title: string, url: string) => void\n  onRequestSmartReply: (url: string) => void\n  publicUrl: string\n  smartReplyPath: string\n  title: string\n}\n\nexport default function SuggestionCard(props: SuggestionCardProps) {\n  const {\n    channelColorClass,\n    channelIconStyling,\n    channelName,\n    distance,\n    excerpt,\n    onRequestInsertLink,\n    onRequestSmartReply,\n    publicUrl,\n    smartReplyPath,\n    title,\n  } = props\n\n  const requestInsertLink = (event: React.MouseEvent<HTMLElement>) => {\n    event.preventDefault()\n    onRequestInsertLink(title, publicUrl)\n  }\n\n  const requestSmartReply = (event: React.MouseEvent<HTMLElement>) => {\n    event.preventDefault()\n    onRequestSmartReply(smartReplyPath)\n  }\n\n  return (\n    <div className=\"suggestion-card\">\n      <div className=\"suggestion-card__header\">\n        <a\n          href={publicUrl}\n          target=\"_blank\"\n          rel=\"nofollow noopener\"\n        >\n          <h3\n            className=\"suggestion-card__title\"\n            data-distance={distance}\n          >\n            <i\n              className={'channel-icon ' + channelColorClass}\n              dangerouslySetInnerHTML={{ __html: channelIconStyling }}\n              title={channelName}\n            />\n            <span className=\"suggestion-title\">{title}</span>\n            <ArrowRightUp className=\"external-link-icon\"></ArrowRightUp>\n          </h3>\n        </a>\n      </div>\n      <div className=\"suggestion-card__body\">\n        <p>{excerpt}</p>\n      </div>\n      <div className=\"suggestion-card__footer\">\n        <button\n          id=\"smart-reply\"\n          title=\"Smart Reply\"\n          className=\"btn btn--editor btn--secondary btn--small\"\n          onClick={requestSmartReply}\n        >\n          <IconTwinkle></IconTwinkle> Smart Reply\n        </button>\n        <button\n          id=\"link-to-guide\"\n          title={gettext('Infoga länk')}\n          className=\"btn btn--editor btn--tertiary btn--small align-left\"\n          onClick={requestInsertLink}\n        >\n          {gettext('Infoga länk')}\n        </button>\n      </div>\n    </div>\n  )\n}\n","import React, { useEffect, useState } from 'react'\nimport SuggestionCard, { SuggestionCardProps } from './SuggestionCard'\n\ntype SuggestionCardListProps = {\n  suggestions: SuggestionCardProps[]\n  onRequestInsertLink: (title: string, link: string) => void\n  onRequestSmartReply: (url: string) => void\n}\n\nexport default function SuggestionCardList(props: SuggestionCardListProps) {\n  const { suggestions, onRequestSmartReply, onRequestInsertLink } = props\n\n  return (\n    <>\n      <ul className=\"suggestion-card-list\">\n        {suggestions.map((suggestion, index) => (\n          <li\n            key={index}\n            className=\"suggestion-card-list--item\"\n          >\n            <SuggestionCard\n              channelColorClass={suggestion.channelColorClass}\n              channelIconStyling={suggestion.channelIconStyling}\n              channelName={suggestion.channelName}\n              distance={suggestion.distance}\n              excerpt={suggestion.excerpt}\n              onRequestInsertLink={onRequestInsertLink}\n              onRequestSmartReply={onRequestSmartReply}\n              publicUrl={suggestion.publicUrl}\n              smartReplyPath={suggestion.smartReplyPath}\n              title={suggestion.title}\n            />\n          </li>\n        ))}\n      </ul>\n    </>\n  )\n}\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { ReactComponent as IconX } from '@icons/x.svg'\nimport debounce from 'lodash/debounce'\n\ntype DebouncedTextInputProps = {\n  debounceWaitTime: number\n  onNewValue: (value: string) => void\n  placeholder?: string\n  resetButtonLabel?: string\n}\n\nexport default function DebouncedTextInput(props: DebouncedTextInputProps) {\n  const { debounceWaitTime, onNewValue: onNewValue, placeholder, resetButtonLabel } = props\n  const [value, setValue] = useState<string>('')\n\n  const debouncedResults = useMemo(() => {\n    return debounce((value: string) => {\n      onNewValue(value)\n    }, debounceWaitTime)\n  }, [])\n\n  useEffect(() => {\n    return () => {\n      debouncedResults.cancel()\n    }\n  })\n\n  useEffect(() => {\n    debouncedResults(value)\n  }, [value])\n\n  const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    setValue(e.target.value)\n  }\n\n  const onResetButtonClick = (e: React.MouseEvent) => {\n    setValue('')\n  }\n\n  return (\n    <>\n      <input\n        type=\"text\"\n        placeholder={placeholder}\n        value={value}\n        onChange={onInputChange}\n      />\n      {value.length > 0 && (\n        <button\n          type=\"reset\"\n          onClick={onResetButtonClick}\n        >\n          <IconX />\n          <span className=\"visuallyhidden\">{resetButtonLabel}</span>\n        </button>\n      )}\n    </>\n  )\n}\n","import React, { useState, useEffect } from 'react'\nimport SuggestionCardList from './SuggestionCardList'\nimport { SuggestionCardProps } from './SuggestionCard'\nimport DebouncedTextInput from './DebouncedTextInput'\nimport useApi, { HTTP, StateType, endpoints } from '../hooks/useApi'\n\ntype KeywordSearchProps = {\n  dialogSlug: string\n  inboxSlug: string\n  mailCommentId: number | null\n  onRequestInsertLink: (title: string, url: string) => void\n  onRequestSmartReply: (url: string) => void\n  searchHits: SuggestionCardProps[] | null\n  setSearchHits: (searchHits: SuggestionCardProps[] | null) => void\n}\n\nenum SearchStatus {\n  Idle,\n  Loading,\n  Loaded,\n  Error,\n}\n\nenum ErrorCode {\n  ServerError = 1,\n  LastMessageIsOutgoing = 2,\n  ContentLengthExceeded = 3,\n}\n\ntype Error = {\n  code: ErrorCode\n}\n\nexport default function KeywordSearch(props: KeywordSearchProps) {\n  const {\n    dialogSlug,\n    inboxSlug,\n    mailCommentId,\n    onRequestInsertLink,\n    onRequestSmartReply,\n    searchHits,\n    setSearchHits,\n  } = props\n  const [searchTerm, setSearchTerm] = useState<string>('')\n  const [status, setStatus] = useState<SearchStatus>(SearchStatus.Idle)\n  const [error, setError] = useState<Error>()\n\n  const string_length_search_threshold = 2\n\n  const [GETTextSearchStatus, GETTextSearch] = useApi<{\n    searchTerm: string\n    suggestions: SuggestionCardProps[]\n    error: Error | null\n  }>(HTTP.GET, endpoints.ai.keywordSearch(inboxSlug, dialogSlug, searchTerm, mailCommentId))\n\n  useEffect(() => {\n    if (GETTextSearchStatus.type === StateType.Done) {\n      if (GETTextSearchStatus.payload.error) {\n        setStatus(SearchStatus.Error)\n        setError(GETTextSearchStatus.payload.error)\n      } else {\n        setStatus(SearchStatus.Loaded)\n        setSearchHits(GETTextSearchStatus.payload.suggestions)\n      }\n    } else if (GETTextSearchStatus.type === StateType.Loading) {\n      setStatus(SearchStatus.Loading)\n    } else if (GETTextSearchStatus.type === StateType.Error) {\n      setStatus(SearchStatus.Error)\n      setError({ code: ErrorCode.ServerError })\n    }\n  }, [GETTextSearchStatus])\n\n  useEffect(() => {\n    if (searchTerm.length == 0) {\n      setSearchHits(null)\n    } else if (searchTerm.length > string_length_search_threshold) {\n      GETTextSearch()\n    }\n  }, [searchTerm])\n\n  const submitSearchForm = (event: React.FormEvent<HTMLFormElement>) => {\n    event.preventDefault()\n    setSearchTerm(event.target[0].value)\n  }\n\n  return (\n    <div className=\"text-search\">\n      <div className=\"text-search--container\">\n        <form\n          role=\"search\"\n          className=\"text-search--search-bar\"\n          onSubmit={submitSearchForm}\n        >\n          <DebouncedTextInput\n            onNewValue={setSearchTerm}\n            placeholder={gettext('Sök')}\n            resetButtonLabel={gettext('Rensa sökfält')}\n            debounceWaitTime={300}\n          />\n        </form>\n\n        {status == SearchStatus.Loaded &&\n          searchTerm.length > 0 &&\n          searchHits &&\n          searchHits.length < 1 && <p>{gettext('Inga träffar matchar din sökning')}</p>}\n\n        {searchHits && searchHits.length > 0 && (\n          <SuggestionCardList\n            suggestions={searchHits}\n            onRequestSmartReply={onRequestSmartReply}\n            onRequestInsertLink={onRequestInsertLink}\n          />\n        )}\n      </div>\n    </div>\n  )\n}\n","import React, { useEffect, useState } from 'react'\nimport useApi, { HTTP, StateType, endpoints } from '../hooks/useApi'\nimport { ReactComponent as IconTwinkle } from '@icons/twinkle.svg'\nimport { ReactComponent as IconQuestionCircle } from '@icons/question-circle.svg'\nimport SuggestionCardList from './SuggestionCardList'\nimport { SuggestionCardProps } from './SuggestionCard'\n\ntype SmartSuggestionProps = {\n  dialogSlug: string\n  hasInboxEditPermissions: boolean\n  hasSmartReplyChannels: boolean\n  inboxSlug: string\n  isConnectedToSmartReplyChannel: boolean\n  mailCommentId: number | null\n  onRequestInsertLink: (title: string, url: string) => void\n  onRequestSmartReply: (url: string) => void\n  setSuggestions: (suggestions: SuggestionCardProps[]) => void\n  suggestions: SuggestionCardProps[] | null\n  suggestionsLoadedCallback: (suggestionsCount: number) => void\n}\n\nenum SmartSuggestionsStatus {\n  Loading,\n  Loaded,\n  Error,\n}\n\nenum ErrorCode {\n  ServerError = 1,\n  LastMessageIsOutgoing = 2,\n  ContentLengthExceeded = 3,\n}\n\ntype Error = {\n  code: ErrorCode\n}\n\nexport default function SmartSuggestions(props: SmartSuggestionProps) {\n  const {\n    dialogSlug,\n    hasInboxEditPermissions,\n    hasSmartReplyChannels,\n    inboxSlug,\n    isConnectedToSmartReplyChannel,\n    mailCommentId,\n    onRequestInsertLink,\n    onRequestSmartReply,\n    setSuggestions,\n    suggestions,\n    suggestionsLoadedCallback,\n  } = props\n  const [searchTerm, setSearchTerm] = useState<string>()\n  const [status, setStatus] = useState<SmartSuggestionsStatus>(SmartSuggestionsStatus.Loaded)\n  const [error, setError] = useState<Error>()\n  const [GETSmartSuggestionsStatus, GETSmartSuggestions] = useApi<{\n    searchTerm: string\n    suggestions: SuggestionCardProps[]\n    error: Error | null\n  }>(HTTP.GET, endpoints.ai.smartSuggestions(inboxSlug, dialogSlug, mailCommentId))\n\n  useEffect(() => {\n    if (!hasSmartReplyChannels || !isConnectedToSmartReplyChannel) {\n      return\n    }\n\n    if (suggestions === null) {\n      GETSmartSuggestions()\n    }\n  }, [])\n\n  useEffect(() => {\n    if (GETSmartSuggestionsStatus.type === StateType.Done) {\n      if (GETSmartSuggestionsStatus.payload.error) {\n        setStatus(SmartSuggestionsStatus.Error)\n        setError(GETSmartSuggestionsStatus.payload.error)\n      } else {\n        setStatus(SmartSuggestionsStatus.Loaded)\n        setSuggestions(GETSmartSuggestionsStatus.payload.suggestions)\n        setSearchTerm(GETSmartSuggestionsStatus.payload.searchTerm)\n        suggestionsLoadedCallback(GETSmartSuggestionsStatus.payload.suggestions.length)\n      }\n    } else if (GETSmartSuggestionsStatus.type === StateType.Error) {\n      setStatus(SmartSuggestionsStatus.Error)\n      setError({ code: ErrorCode.ServerError })\n    }\n  }, [GETSmartSuggestionsStatus])\n\n  const getAiContactFormUrl = (lang: string | null) => {\n    switch (lang) {\n      case 'sv':\n        return 'https://www.kundo.se/kontaktformular'\n      case 'fi':\n        return 'https://www.kundo.fi/ota-yhteytta-kundoon'\n      case 'no':\n        return 'https://www.kundo.no/kontakt-ai'\n      case 'en':\n        return 'https://www.kundo.se/en/contact-ai'\n      default:\n        return 'https://www.kundo.se/en/contact-ai'\n    }\n  }\n\n  const smartSuggestionsHelpURL =\n    window.CURRENT_LANGUAGE == 'sv'\n      ? 'https://www.kundo.se/hjalp-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n      : 'https://www.kundo.se/en/help-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n\n  return (\n    <>\n      <div\n        className=\"smart-suggestions\"\n        data-search-term={searchTerm}\n      >\n        <div className=\"smart-suggestions--header\">\n          <h2>\n            <span className=\"icon\">\n              <IconTwinkle></IconTwinkle>\n            </span>\n            <span className=\"text\">Smart Suggestions</span>\n          </h2>\n          <a\n            className=\"smart-suggestions--help-link\"\n            href={smartSuggestionsHelpURL}\n            target=\"_blank\"\n            rel=\"nofollow noopener\"\n          >\n            <IconQuestionCircle></IconQuestionCircle>\n          </a>\n        </div>\n        <div className=\"smart-suggestions--container\">\n          {status === SmartSuggestionsStatus.Loading && (\n            <span\n              className=\"skeleton-box\"\n              style={{ width: '100%' }}\n            ></span>\n          )}\n\n          {error && error.code == ErrorCode.LastMessageIsOutgoing && (\n            <p>{gettext('Senaste konversationen är utgående.')}</p>\n          )}\n          {error && error.code == ErrorCode.ServerError && (\n            <p>{gettext('Tekniskt fel, försök igen senare.')}</p>\n          )}\n\n          {hasSmartReplyChannels && !isConnectedToSmartReplyChannel && (\n            <>\n              <p>\n                {gettext(\n                  'För att kunna generera ett svarsförslag behöver du koppla inkorgen till en kunskapskälla.',\n                )}\n              </p>\n              {hasInboxEditPermissions && (\n                <a\n                  className=\"btn btn--editor btn--secondary btn--small\"\n                  href={`${window.location.origin}/inbox/${inboxSlug}/settings/smart-suggestions/`}\n                >\n                  {gettext('Koppla din inkorg')}\n                </a>\n              )}\n            </>\n          )}\n\n          {!hasSmartReplyChannels && (\n            <>\n              <p>\n                {gettext(\n                  'Effektivisera ditt arbete genom att låta vår AI skriva ett svar på mailet. Vill du veta mer?',\n                )}\n              </p>\n              <a\n                href={getAiContactFormUrl(window.CURRENT_LANGUAGE)}\n                target=\"_blank\"\n                className=\"btn btn--editor btn--secondary btn--small\"\n              >\n                {gettext('Anmäl intresse')}\n              </a>\n            </>\n          )}\n\n          {suggestions && suggestions.length === 0 && isConnectedToSmartReplyChannel && (\n            <p>{gettext('Det finns inga relevanta förslag. Prova att använda sökfunktionen.')}</p>\n          )}\n\n          {suggestions && suggestions.length > 0 && (\n            <SuggestionCardList\n              suggestions={suggestions}\n              onRequestSmartReply={onRequestSmartReply}\n              onRequestInsertLink={onRequestInsertLink}\n            />\n          )}\n        </div>\n      </div>\n    </>\n  )\n}\n","import React, { useState } from 'react'\nimport skeletonLoadingBoxes from './skeletonLoadingBoxes'\nimport { triggerSnackbar } from '../components/Snackbar'\nimport KeywordSearch from './KeywordSearch'\nimport SmartSuggestions from './SmartSuggestions'\nimport { SuggestionCardProps } from './SuggestionCard'\n\ntype SelfServiceWidgetProps = {\n  inboxSlug: string\n  dialogSlug: string\n  mailCommentId: number | null\n  suggestionsLoadedCallback: (suggestionsCount: number) => void\n  actionTakenCallback: () => void\n  insertLinkFunction: (url: string, title: string) => void\n  insertHTMLFunction: (html: string) => void\n  setEditableFunction: (state: boolean) => void\n  isConnectedToSmartReplyChannel: boolean\n  hasSmartReplyChannels: boolean\n  hasInboxEditPermissions: boolean\n}\n\nenum ErrorCode {\n  ServerError = 1,\n  LastMessageIsOutgoing = 2,\n  ContentLengthExceeded = 3,\n}\n\nexport default function SelfServiceWidget(props: SelfServiceWidgetProps) {\n  const {\n    inboxSlug,\n    dialogSlug,\n    mailCommentId,\n    actionTakenCallback,\n    suggestionsLoadedCallback,\n    insertLinkFunction,\n    insertHTMLFunction,\n    setEditableFunction,\n    isConnectedToSmartReplyChannel,\n    hasSmartReplyChannels,\n    hasInboxEditPermissions,\n  } = props\n\n  const [keywordSearchHits, setKeywordSearchHits] = useState<SuggestionCardProps[] | null>(null)\n  const [smartSuggestions, setSmartSuggestions] = useState<SuggestionCardProps[] | null>(null)\n\n  const requestSmartReply = (url: string) => {\n    actionTakenCallback()\n    displaySkeletonLoadingBoxes()\n    setEditableFunction(false)\n    removeExistingReply()\n\n    $.get(url, function () {})\n      .done(function (data) {\n        if (data.error) {\n          console.debug(data.error)\n          if (ErrorCode.ContentLengthExceeded === data.error.code) {\n            triggerSnackbar(gettext('Ett fel uppstod - guide eller mail är för långt.'))\n          } else {\n            triggerSnackbar(gettext('Tekniskt fel, försök igen senare.'))\n          }\n          return\n        }\n\n        const wrappedReply =\n          '<div class=\"smart-replies-froala-content--reply\">' + data.smartReply + '</div>'\n\n        insertHTMLFunction(wrappedReply)\n      })\n      .fail(function () {\n        triggerSnackbar(gettext('Tekniskt fel, försök igen senare.'))\n      })\n      .always(function () {\n        setEditableFunction(true)\n        hideSkeletonLoadingBoxes()\n      })\n  }\n\n  const insertLink = (title: string, url: string) => {\n    actionTakenCallback()\n    insertLinkFunction(url, title)\n  }\n\n  const keywordSearchPerformed = keywordSearchHits != null\n\n  return (\n    <>\n      {isConnectedToSmartReplyChannel && (\n        <KeywordSearch\n          inboxSlug={inboxSlug}\n          dialogSlug={dialogSlug}\n          mailCommentId={mailCommentId}\n          onRequestSmartReply={requestSmartReply}\n          onRequestInsertLink={insertLink}\n          setSearchHits={setKeywordSearchHits}\n          searchHits={keywordSearchHits}\n        />\n      )}\n\n      {!keywordSearchPerformed && (\n        <SmartSuggestions\n          inboxSlug={inboxSlug}\n          dialogSlug={dialogSlug}\n          mailCommentId={mailCommentId}\n          suggestionsLoadedCallback={suggestionsLoadedCallback}\n          isConnectedToSmartReplyChannel={isConnectedToSmartReplyChannel}\n          hasSmartReplyChannels={hasSmartReplyChannels}\n          hasInboxEditPermissions={hasInboxEditPermissions}\n          onRequestSmartReply={requestSmartReply}\n          onRequestInsertLink={insertLink}\n          setSuggestions={setSmartSuggestions}\n          suggestions={smartSuggestions}\n        />\n      )}\n    </>\n  )\n}\n\nconst hideSkeletonLoadingBoxes = () => {\n  document.querySelector('.smart-replies-froala-content--loader')?.remove()\n}\n\nconst insertHTMLInFroalaEditor = (html: string) => {\n  const froalaEditor = document.querySelector('div.fr-element')\n  froalaEditor?.insertAdjacentHTML('afterbegin', html)\n}\n\nconst displaySkeletonLoadingBoxes = () => {\n  const froalaEditor = document.querySelector('div.fr-element')\n  if (froalaEditor?.querySelector('.smart-replies-froala-content--loader')) {\n    return\n  }\n  insertHTMLInFroalaEditor(skeletonLoadingBoxes())\n}\n\nconst removeExistingReply = () => {\n  document.querySelectorAll('.smart-replies-froala-content--reply').forEach((elem) => elem.remove())\n}\n","export default function skeletonLoadingBoxes() {\n  return `\n    <div class=\"smart-replies-froala-content--loader\">\n      <span class=\"skeleton-box\" style=\"width: 20%; max-width: 80px;\"></span>\n      <div class=\"fill-row\"></div>\n      <span class=\"skeleton-box\" style=\"width: 40%; max-width: 160px;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 100%; max-width: 400px;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 100%; max-width: 400px;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 90%; max-width: 360px;\"></span>\n      <div class=\"fill-row\"></div>\n      <span class=\"skeleton-box\" style=\"width: 70%; max-width: 280px; display: block; margin-bottom: 0.25em;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 70%; max-width: 280px; display: block; margin-bottom: 0.25em;\"></span>\n      <div style=\"width: 100%; height: 1em;\"></div>\n      <div style=\"width: 100%; height: 1em;\"></div>\n      <span class=\"skeleton-box\" style=\"width: 35%; max-width: 140px;\"></span>\n    </div>`\n}\n","import React from 'react'\n\nimport { createRoot } from 'react-dom/client'\nimport SelfServiceWidget from './SelfServiceWidget'\n\nexport default function initSelfServiceWidget(\n  elem,\n  inboxSlug,\n  dialogSlug,\n  mailCommentId,\n  suggestionsLoadedCallback,\n  actionTakenCallback,\n  insertLinkFunction,\n  insertHTMLFunction,\n  setEditableFunction,\n  isConnectedToSmartReplyChannel,\n  hasSmartReplyChannels,\n  hasInboxEditPermissions,\n) {\n  if (elem && dialogSlug) {\n    const root = createRoot(elem)\n    root.render(\n      <SelfServiceWidget\n        inboxSlug={inboxSlug}\n        dialogSlug={dialogSlug}\n        mailCommentId={mailCommentId}\n        suggestionsLoadedCallback={suggestionsLoadedCallback}\n        actionTakenCallback={actionTakenCallback}\n        insertLinkFunction={insertLinkFunction}\n        insertHTMLFunction={insertHTMLFunction}\n        setEditableFunction={setEditableFunction}\n        isConnectedToSmartReplyChannel={isConnectedToSmartReplyChannel}\n        hasSmartReplyChannels={hasSmartReplyChannels}\n        hasInboxEditPermissions={hasInboxEditPermissions}\n      />,\n    )\n  }\n}\n","import initSelfServiceWidget from '../editors/self-service-widget'\n\ntype OnSelectHandler = () => void\n\ntype insertLinkFunction = (url: string, text: string) => void\ntype insertHTMLFunction = (html: string) => void\ntype froalaEditOnFunction = () => void\ntype froalaEditOffFunction = () => void\ntype setEditableFunction = (state: boolean) => void\n\nexport default class SelfServiceWidget {\n  aiToolbarButton: HTMLElement\n  box: JQuery<HTMLElement>\n  badge: JQuery<HTMLElement>\n\n  onclose: (focus: boolean) => void\n  onselect: OnSelectHandler\n  froalaEditOnFunction: () => void\n  froalaEditOffFunction: () => void\n\n  constructor(options: {\n    parent: HTMLElement\n    insertLinkFunction: insertLinkFunction\n    insertHTMLFunction: insertHTMLFunction\n    froalaEditOnFunction: froalaEditOnFunction\n    froalaEditOffFunction: froalaEditOffFunction\n    onselect: OnSelectHandler\n    onclose?: (focus: boolean) => void\n    positionAbove?: boolean\n    aiToolbarButton: HTMLElement\n    isConnectedToSmartReplyChannel: boolean\n    hasSmartReplyChannels: boolean\n    hasInboxEditPermissions: boolean\n  }) {\n    this.renderInitial(\n      options.positionAbove,\n      options.insertLinkFunction,\n      options.insertHTMLFunction,\n      this.setEditableFunction,\n      options.isConnectedToSmartReplyChannel,\n      options.hasSmartReplyChannels,\n      options.hasInboxEditPermissions,\n    )\n    this.box.appendTo(options.parent)\n    this.aiToolbarButton = options.aiToolbarButton\n    this.badge = $('<div class=\"badge badge--emerald badge--found-guides hidden\"></div>')\n    this.badge.appendTo($(options.aiToolbarButton).find('.ai-fr-toolbar-btn-content'))\n\n    this.onselect = options.onselect || function () {}\n    this.onclose = options.onclose || function () {}\n    this.froalaEditOnFunction = options.froalaEditOnFunction\n    this.froalaEditOffFunction = options.froalaEditOffFunction\n\n    $('body').on('click', () => this.close(false))\n    this.box.on('click', (e) => {\n      e.stopPropagation()\n    })\n  }\n\n  renderInitial(\n    positionAbove?: boolean,\n    insertLinkFunction?: insertLinkFunction,\n    insertHTMLFunction?: insertHTMLFunction,\n    setEditableFunction?: setEditableFunction,\n    isConnectedToSmartReplyChannel: boolean = false,\n    hasSmartReplyChannels: boolean = false,\n    hasInboxEditPermissions: boolean = false,\n  ) {\n    this.box = $(`<div class=\"hidden self-service-widget-box\">`).addClass(\n      positionAbove ? 'self-service-widget-box--above' : 'self-service-widget-box--below',\n    )\n    initSelfServiceWidget(\n      this.box.get(0),\n      $('#comment-form').data('inbox-slug'),\n      $('#comment-form').data('dialog-slug'),\n      $('#comment-form').data('mail-comment-id'),\n      this.suggestionsLoadedCallback,\n      this.close.bind(this),\n      insertLinkFunction,\n      insertHTMLFunction,\n      setEditableFunction,\n      isConnectedToSmartReplyChannel,\n      hasSmartReplyChannels,\n      hasInboxEditPermissions,\n    )\n  }\n\n  open() {\n    let boxLeftOffset = this.aiToolbarButton.offsetLeft - (this.box.width() || 0) / 2\n    if (boxLeftOffset < 0) {\n      boxLeftOffset = 0\n    }\n    this.box.css({ left: boxLeftOffset })\n    this.box.removeClass('hidden')\n    return this\n  }\n\n  close(focus = true) {\n    this.box.addClass('hidden')\n    this.onclose(focus)\n    return this\n  }\n\n  toggle() {\n    if (this.box.is('.hidden')) {\n      return this.open()\n    } else {\n      return this.close()\n    }\n  }\n\n  destroy() {\n    this.box.remove()\n  }\n\n  suggestionsLoadedCallback = (suggestionsCount: number) => {\n    if (suggestionsCount === 0) return\n    // TODO: translation is missing '%s' so we have to create the string manually for now\n    const badgeText =\n      String(suggestionsCount) + ' ' + ngettext('förslag', 'förslag', suggestionsCount)\n    this.badge.text(badgeText)\n    this.badge.removeClass('hidden')\n    this.aiToolbarButton.classList.add('ai-colored')\n  }\n\n  setEditableFunction = (state: boolean) => {\n    if (state) {\n      this.froalaEditOnFunction()\n    } else {\n      this.froalaEditOffFunction()\n    }\n  }\n}\n","import { calculateBreakpoints, waitForTime } from 'platform/utils'\n\nimport { Froala, initFroalaEditor, loadFroala } from './froala'\n\nimport { LargeAttachmentsList, NullAttachmentsList } from './attachmentslist'\nimport { registerInternalLinkCommand } from './commands'\nimport { uploadImageAsUpload, uploaderFactory } from './fine-uploader'\nimport InternalLinkWidget from './internal-link-widget'\nimport { setupMentions } from './mentions'\nimport SnippetWidget from './snippet-widget'\nimport SelfServiceWidget from './self-service-widget'\nimport { getToolbar } from './toolbar'\nimport { insertSnippet } from './helpers/insertSnippet'\nimport { ALLOWED_IMAGE_EXTENSIONS, getFilesFromEvent, isAllowedImageMime } from './utils'\n\nconst FROALA_4_KEY = 'jUA1yD4A3C2C1F2C2G2qYFa1UQRFQIVc2MSMd1IWPNb1IFd1yD2I2D1B1C7D2B1C5G1B1=='\n\nexport interface FroalaConfig {\n  allowMentions?: boolean\n  allowedAttributes?: any[]\n  allowedTags?: any[]\n  enterType?: string\n  saveUrl?: string\n  slimToolbarType?: string\n  snippetsUrl?: string\n  toolbarType?: string\n  uploadsUrl?: string\n}\n\nexport default class KundoFroalaEditor {\n  attachmentsList: LargeAttachmentsList | NullAttachmentsList\n  editor: JQuery<HTMLTextAreaElement>\n  froala: Froala\n\n  isInitialized: boolean = false\n  isMailContext: boolean\n  isAIEnabled: boolean = false // TODO: Remove when replaced entirely by isAIAssistantEnabled / isAIDraftsEnabled\n  isAIAssistantEnabled: boolean = false\n  isAIDraftsEnabled: boolean = false\n  isSnippetSuggestionsEnabled: boolean = false\n  isConnectedToSmartReplyChannel: boolean = false\n  hasSmartReplyChannels: boolean = false\n  hasInboxEditPermissions: boolean = false\n  allowLargeUploads: boolean\n  isMobile: boolean\n  uploadsUrl?: string\n  toolbar: ReturnType<typeof getToolbar>\n  slimToolbar: ReturnType<typeof getToolbar>\n\n  autosaveStatus: JQuery<HTMLElement>\n  texteditorDiv: JQuery<HTMLElement>\n\n  internalLinkWidget: InternalLinkWidget\n  snippetWidget: SnippetWidget\n  selfServiceWidget: SelfServiceWidget\n\n  config: FroalaConfig\n\n  editorVersion: string | null\n\n  // List of pending\n  private __pendingEventHandlers?: { event: string; callback: Function; opts?: any }[]\n\n  constructor(\n    texteditorDiv: JQuery<HTMLElement>,\n    attachmentsList?: undefined | LargeAttachmentsList,\n    isMailContext: boolean = false,\n    allowLargeUploads: boolean = false,\n  ) {\n    if (texteditorDiv.length !== 1) {\n      throw new Error('too many divs or too few')\n    }\n    if ($('html').hasClass('lt-ie10')) {\n      return\n    }\n\n    this.texteditorDiv = texteditorDiv\n    // Save a reference to our *own* class on the HTML element itself, for later access\n    // @ts-expect-error\n    this.texteditorDiv[0].kundoFroala = this\n\n    this.attachmentsList = attachmentsList || new NullAttachmentsList()\n    this.editor = this.texteditorDiv.find('textarea')\n    this.autosaveStatus = this.texteditorDiv.find('.fn-autosave-status')\n    this.isMailContext = isMailContext\n    this.allowLargeUploads = allowLargeUploads\n    this.isMobile = calculateBreakpoints().mobile\n\n    this.config = JSON.parse(this.texteditorDiv.find('[data-fn-texteditor-config]').text() || '{}')\n\n    this.uploadsUrl = this.config.uploadsUrl\n\n    const { saveUrl } = this.config\n\n    const internalLinkElm = this.texteditorDiv.find('.fn-internal-link-box')\n\n    this.isAIEnabled = this.editor.parents('form:first').data('smart-replies-enabled') == true\n    this.isAIAssistantEnabled =\n      this.editor.parents('form:first').data('ai-assistant-enabled') == true\n    this.isAIDraftsEnabled = this.editor.parents('form:first').data('ai-drafts-enabled') == true\n    this.isSnippetSuggestionsEnabled =\n      this.editor.parents('form:first').data('snippet-suggestions-enabled') == true\n    this.isConnectedToSmartReplyChannel =\n      this.editor.parents('form:first').data('connected-to-smart-reply-channel') == true\n    this.hasSmartReplyChannels =\n      this.editor.parents('form:first').data('has-smart-reply-channels') == true\n    this.hasInboxEditPermissions =\n      this.editor.parents('form:first').data('has-inbox-edit-permissions') == true\n\n    const toolbar = getToolbar(this.config.toolbarType!, {\n      // Only show the InternalLinkWidget button when the widget is provided\n      includeInternalLinks: !!internalLinkElm.length,\n      includeAI: !!this.isAIEnabled && !this.isAIDraftsEnabled,\n      includeAIDrafts: !!this.isAIDraftsEnabled,\n    })\n\n    this.toolbar = toolbar\n\n    let editorClass = ''\n    if (this.toolbar.buttons.length === 0) {\n      editorClass = 'fr-hide-toolbar'\n    }\n\n    const htmlAllowedAttrs = (this.config.allowedAttributes || []).concat(['data-froala-role'])\n    const htmlAllowedTags = this.config.allowedTags || ['div', 'br']\n    let pasteDeniedAttrs = ['class', 'id', 'style']\n    let pasteDeniedTags = ['span']\n    if (toolbar.hasColor) {\n      pasteDeniedAttrs = ['class', 'id']\n      pasteDeniedTags = []\n    }\n    if (this.config.allowMentions) {\n      pasteDeniedAttrs = ['id']\n      pasteDeniedTags = []\n    }\n\n    const options = {\n      dragInline: true,\n      editorClass,\n      attribution: false, // Remove \"Powered by Froala\" link\n      events: {\n        initialized: () => this.onInitialized(),\n      },\n      heightMax: this.editor.data('maxHeight'),\n      htmlAllowedAttrs,\n      htmlAllowedTags,\n      imageAllowedTypes: ALLOWED_IMAGE_EXTENSIONS,\n      imageDefaultWidth: 0,\n      // prettier-ignore\n      imageEditButtons: ['imageAlt', 'imageLink', 'linkOpen', 'linkEdit', 'linkRemove', '|', 'imageRemove'],\n      imageInsertButtons: ['imageRemove'],\n      imagePaste: true,\n      imageResize: true,\n      imageUploadURL: '_/froala_shouldnt_upload', // Make sure froala doesn't send anything to it's own servers,\n      key: FROALA_4_KEY,\n      language: 'kundo-lang',\n      linkAutoPrefix: 'http://',\n      linkEditButtons: ['linkOpen', 'linkEdit', 'linkRemove'],\n      linkInsertButtons: ['linkBack'],\n      listAdvancedTypes: false,\n      paragraphFormat: {\n        H2: TRANSLATIONS.paragraphFormat.h2,\n        H3: TRANSLATIONS.paragraphFormat.h3,\n        N: TRANSLATIONS.paragraphFormat.n,\n      },\n      paragraphFormatSelection: true,\n      paragraphStyles: {\n        'direction-rtl': TRANSLATIONS.paragraphStyles.directionRtl,\n        lead: TRANSLATIONS.paragraphStyles.lead,\n      },\n      pasteAllowedStyleProps: toolbar.hasColor ? ['color', 'background-color'] : [],\n      pasteDeniedAttrs: pasteDeniedAttrs,\n      pasteDeniedTags: pasteDeniedTags,\n      // @ts-expect-error\n      placeholderText: this.editor.placeholder || '',\n      requestHeaders: {\n        'x-csrftoken': this.getCSRFToken(),\n      },\n      requestWithCORS: false,\n      saveInterval: saveUrl ? 500 : 0,\n      saveURL: saveUrl,\n      shortcutsEnabled: ['bold', 'italic', 'undo', 'redo', 'insertLink', 'snippets'],\n      spellcheck: true,\n      tableEditButtons: ['tableHeader', '|', 'tableRows', 'tableColumns', '|', 'tableRemove'],\n      tableResizer: true,\n      tableDefaultAlign: 'left',\n      tableDefaultWidth: '75%',\n      theme: 'froala2-kundo',\n      toolbarBottom: toolbar.bottom,\n      toolbarButtons: toolbar.buttons,\n      toolbarButtonsMD: toolbar.buttons,\n      toolbarButtonsSM: toolbar.buttons,\n      toolbarButtonsXS: toolbar.buttons,\n      toolbarSticky: !this.isMobile,\n      toolbarStickyOffset: $('.modal-heading').length > 0 ? $('.modal-heading').outerHeight() : 0,\n      scrollableContainer: $('.popup-page').length > 0 ? 'body' : '.tw-app-scroll',\n      videoAllowedTypes: [],\n      videoEditButtons: ['videoRemove'],\n      videoInsertButtons: ['videoByURL'],\n      videoMove: false,\n      videoResize: false,\n      videoUploadURL: '',\n      colorsButtons: ['colorsBack', '|', '-'],\n      aiAutoReplies: this.isAIDraftsEnabled,\n      aiPrompts: this.isAIAssistantEnabled,\n      snippetSuggestions: this.isSnippetSuggestionsEnabled,\n    }\n\n    loadFroala((FroalaEditor) => {\n      registerInternalLinkCommand(FroalaEditor, internalLinkElm.find('h3').text())\n\n      const enterOptions = {\n        br: FroalaEditor.ENTER_BR,\n        div: FroalaEditor.ENTER_DIV,\n        p: FroalaEditor.ENTER_P,\n      }\n      const enter = enterOptions[this.config.enterType || 'br']\n\n      initFroalaEditor(this, {\n        ...options,\n        enter,\n        htmlUntouched: true,\n        imageSplitHTML: false,\n        wrapPlainText:\n          enter === FroalaEditor.ENTER_DIV || enter === FroalaEditor.ENTER_P ? true : false,\n      })\n    })\n\n    this.texteditorDiv.removeClass('text-editor--pre-init')\n  }\n\n  getCSRFToken(): string | null {\n    const bodyElement = document.querySelector('body')\n    const csrfToken = bodyElement?.getAttribute('data-csrftoken')\n    return csrfToken || null\n  }\n\n  on(event: string, callback: Function, opts?: any) {\n    if (this.isInitialized) {\n      this.froala.events.on(event, callback, opts)\n    } else {\n      // Keep the callback registration in memory until the Froala is initialized,\n      // so we can call froala.events.on when it is.\n      this.__pendingEventHandlers = this.__pendingEventHandlers || []\n      this.__pendingEventHandlers.push({ callback, event, opts })\n    }\n  }\n\n  onInitialized() {\n    this.isInitialized = true\n\n    // Make sure the froala instance has a reference to this object,\n    // since it is needed for file uploads, reply snippets etc\n    this.froala.kundoFroala = this\n\n    this.setUpToolbar()\n    this.setUpAutoSave()\n    this.setUpSnippets()\n    this.setUpImageUploads()\n    this.setUpVideo()\n    this.setUpPaste()\n    this.setUpInternalLinks(this.texteditorDiv.find('.fn-internal-link-box'))\n    this.setUpSelfService()\n    this.setUpLinkInsertion()\n    this.setUpTableInsertion()\n    this.setUpFocus()\n    this.setUpScrollOnEnter()\n    this.setUpMentions()\n    this.setUpEvents()\n    this.removeToolbarButtonsTabindex()\n    this.editorPlaceholder()\n    // this.deleteLogo()\n    this.setUpdateContent(this)\n    this.imgDefaultAlign()\n\n    this.froala.events.trigger('kundoFroalaInitialized')\n  }\n\n  setUpEvents() {\n    const callbacks = this.__pendingEventHandlers || []\n    for (const { callback, event, opts } of callbacks) {\n      this.froala.events.on(event, callback, opts)\n    }\n    delete this.__pendingEventHandlers\n  }\n\n  imgDefaultAlign() {\n    this.on('image.inserted', ($img) => {\n      $($img).css('margin-left', '0')\n      $($img).css('margin-right', '0')\n    })\n  }\n\n  deleteLogo() {\n    const editorBox = this.froala?.$box[0]\n    const secondToolbar = editorBox.querySelector('.fr-second-toolbar')\n\n    if (!secondToolbar) {\n      return\n    } else {\n      secondToolbar.remove()\n    }\n  }\n\n  setUpLinkInsertion() {\n    // Create link without showing popup if a link is marked\n    this.on('commands.before', (cmd: string) => {\n      if (cmd !== 'insertLink') {\n        return\n      }\n      const selection = this.froala.selection.text()\n      if (KUNDO.utils.isUrl(selection.trim())) {\n        this.froala.link.insert(selection)\n        return false\n      }\n    })\n\n    this.on('commands.after', async (cmd: string) => {\n      if (cmd === 'insertLink') {\n        await waitForTime(20)\n        this.texteditorDiv.find('.fr-popup input:first').trigger('focus')\n      }\n    })\n  }\n\n  setUpTableInsertion() {\n    this.on('table.inserted', (table: Element) => {\n      if (this.texteditorDiv.data('context-type') === 'inbox') {\n        table.removeAttribute('style')\n        ;(table as HTMLElement).style.width = '100%'\n        table.setAttribute('border', '1')\n        table.setAttribute('data-kundo-style', 'table')\n      }\n    })\n  }\n\n  /**\n   * Prevents unwanted scroll jumps when typing in the editor.\n   *\n   * Froala uses scrollableContainer to scroll the cursor into view after DOM\n   * changes (e.g. Enter). When the editor has its own scrollbar (overflow-y:\n   * auto with max-height), Froala still scrolls the page container instead.\n   * This blocks large upward jumps on both the editor and the page container.\n   */\n  setUpScrollOnEnter() {\n    const editorEl = this.froala.$el[0] as HTMLElement\n    const scrollContainer = document.querySelector(\n      this.froala.opts.scrollableContainer,\n    ) as HTMLElement | null\n\n    let lastEditorScroll = editorEl.scrollTop\n    let lastContainerScroll = scrollContainer ? scrollContainer.scrollTop : 0\n\n    // Block large upward jumps on the editor element\n    editorEl.addEventListener('scroll', () => {\n      if (editorEl.scrollTop < lastEditorScroll - 5) {\n        editorEl.scrollTop = lastEditorScroll\n      } else {\n        lastEditorScroll = editorEl.scrollTop\n      }\n    })\n\n    // Block large upward jumps on the page container\n    if (scrollContainer) {\n      scrollContainer.addEventListener('scroll', () => {\n        lastContainerScroll = scrollContainer.scrollTop\n      })\n\n      this.on('keydown', (e: KeyboardEvent) => {\n        if (e.key !== 'Enter') return\n        const saved = lastContainerScroll\n\n        const guard = () => {\n          if (scrollContainer.scrollTop < saved - 5) {\n            scrollContainer.scrollTop = saved\n          }\n          scrollContainer.removeEventListener('scroll', guard)\n        }\n        scrollContainer.addEventListener('scroll', guard)\n\n        // Clean up if no scroll event fires\n        requestAnimationFrame(() => {\n          requestAnimationFrame(() => {\n            scrollContainer.removeEventListener('scroll', guard)\n          })\n        })\n      })\n    }\n  }\n\n  setUpFocus() {\n    const { texteditorDiv } = this\n    const cls = 'text-editor--has-focus'\n    this.on('focus', () => texteditorDiv.addClass(cls))\n    this.on('blur', () => texteditorDiv.removeClass(cls))\n  }\n\n  setUpToolbar() {\n    if (this.toolbar.inserted) {\n      const elm = this.texteditorDiv\n      elm.find('div.fr-wrapper').append(elm.find('div.fr-toolbar'))\n    }\n\n    const isIOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent)\n\n    // Froala editor doesn't support toolbarBottom https://github.com/froala/wysiwyg-editor/issues/1281\n    // Fix to support toolbarBottom on ios, change classes\n    if (isIOS && this.toolbar.bottom) {\n      this.texteditorDiv.find('.fr-top').each((_, item) => {\n        item.classList.remove('fr-top')\n        item.classList.add('fr-bottom')\n      })\n    }\n\n    // Make sure the builtin icons get our close icon\n    $('.fa-times').addClass('f-icon-cross')\n  }\n\n  removeToolbarButtonsTabindex() {\n    this.toolbar.buttons.forEach((button) => {\n      const $button = this.texteditorDiv.find(`[data-cmd=\"${button}\"]`)\n      $button.removeAttr('tabindex')\n    })\n  }\n\n  editorPlaceholder() {\n    this.texteditorDiv.each((_, item) => {\n      const $placeholder = this.texteditorDiv.find('.fr-placeholder').text()\n      const $editor = this.texteditorDiv.find('.fr-element')\n      $editor.attr('aria-placeholder', $placeholder)\n      $editor.attr('aria-label', $placeholder)\n      $editor.attr('role', 'textbox')\n    })\n  }\n\n  setUpSnippets() {\n    const url = this.config.snippetsUrl\n    if (!url) {\n      return\n    }\n\n    this.snippetWidget = new SnippetWidget({\n      url,\n      parent: this.texteditorDiv[0],\n      onselect: async ({ text, attachments }) => {\n        let textArea = this.editor[0]\n\n        insertSnippet(this.froala, text, attachments, this.attachmentsList)\n\n        const updatedValue = await this.froala.html.get(true)\n        this.setTextAreaValue(textArea, updatedValue)\n      },\n      onclose: (focus: boolean) => {\n        if (focus) {\n          this.froala.events.focus()\n        }\n      },\n    })\n  }\n\n  setUpInternalLinks(elm: JQuery<HTMLElement>) {\n    if (!elm.length) {\n      return\n    }\n    this.internalLinkWidget = new InternalLinkWidget({\n      box: elm,\n      onselect: async (_, text, link) => {\n        let textArea = this.editor[0]\n\n        await this.froala.link.insert(link, text)\n        this.froala.selection.restore()\n\n        await this.froala.events.trigger('contentChanged', [], true)\n\n        const updatedValue = await this.froala.html.get(true)\n\n        this.setTextAreaValue(textArea, updatedValue)\n      },\n      onclose: (_, focus) => {\n        if (focus) {\n          this.froala.events.focus()\n        }\n      },\n    })\n  }\n\n  setUpSelfService() {\n    if (!this.isAIEnabled) {\n      return\n    }\n    const aiToolbarButton = document.getElementById('selfService-1')\n    if (!aiToolbarButton) {\n      return\n    }\n    this.selfServiceWidget = new SelfServiceWidget({\n      parent: this.texteditorDiv[0],\n      insertLinkFunction: this.froala.link.insert,\n      insertHTMLFunction: (html) => {\n        this.froala.events.focus()\n        this.froala.selection.restore()\n        this.froala.html.insert(html)\n      },\n      froalaEditOnFunction: this.froala.edit.on,\n      froalaEditOffFunction: this.froala.edit.off,\n      onselect: () => {\n        this.froala.selection.restore()\n      },\n      onclose: (focus: boolean) => {\n        if (focus) {\n          this.froala.events.focus()\n        }\n      },\n      aiToolbarButton: aiToolbarButton,\n      isConnectedToSmartReplyChannel: this.isConnectedToSmartReplyChannel,\n      hasSmartReplyChannels: this.hasSmartReplyChannels,\n      hasInboxEditPermissions: this.hasInboxEditPermissions,\n    })\n  }\n\n  setUpPaste() {\n    /*\n     * Add br tag at the end of removed block elements\n     **/\n    this.on('paste.beforeCleanup', (content: string) => {\n      if (!content) {\n        return content\n      }\n      const addLineBreaksBeforeCloseTag = (htmlString, tagNamesArray) => {\n        tagNamesArray.forEach((tagName) => {\n          const re = RegExp('</' + tagName + '>', 'gi')\n          htmlString = htmlString.replace(re, '<br></' + tagName + '>')\n        })\n        return htmlString\n      }\n      const allowedEditorTags = this.config.allowedTags || []\n      const enterType = this.config.enterType\n\n      // prettier-ignore\n      const defaultBlockTagsInNeedOfLineBreakOnPaste = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'pre', 'th', 'td', 'dt', 'dd']\n      // prettier-ignore\n      const tags = defaultBlockTagsInNeedOfLineBreakOnPaste\n        .filter((element) => allowedEditorTags.indexOf(element) < 0)\n\n      // even if p elements are allowed (data-allowed-tags),\n      // those might be converted based on Froala's enter propery\n      if (enterType !== 'p' && tags.indexOf('p') === -1) {\n        tags.push('p')\n      }\n\n      return addLineBreaksBeforeCloseTag(content, tags)\n    })\n\n    this.on('paste.afterCleanup', (content: string) => {\n      return content.replace(/&nbsp;/g, ' ')\n    })\n  }\n\n  setUpVideo() {\n    const getVideoInput = (editor) => editor.popups.get('video.insert').find('input')\n    const removeErrorMsg = (elm) => elm.parent().find('.input__error-feedback').remove()\n    this.on('video.linkError', function (e, editor, link) {\n      const $input = getVideoInput(editor)\n      if ($input) {\n        removeErrorMsg($input)\n        const errorFeedbackId = $input.attr('id') + '-error'\n        const $errorMsg = $('<div>', { id: errorFeedbackId, class: 'input__error-feedback' })\n          .attr('aria-live', 'polite')\n          .html(\n            'Adressen pekar inte till en videotjänst vi stödjer. De tjänster som stöds är: SVT, Vimeo och YouTube.<br>Kontakta <a href=\"mailto:support@kundo.se\">support@kundo.se</a> om du saknar en tjänst.',\n          )\n        $input.parent().append($errorMsg)\n        $input.attr({ 'aria-invalid': 'true', 'aria-labelledby': errorFeedbackId })\n      }\n    })\n\n    this.on('video.inserted', function (e, editor, $video) {\n      const $input = getVideoInput(editor)\n      if ($input) {\n        $input.removeAttr('aria-invalid aria-labelledby')\n        removeErrorMsg($input)\n      }\n    })\n  }\n\n  setTextAreaValue(textArea: HTMLTextAreaElement | null, currentValue: string) {\n    if (textArea && textArea.getAttribute('data-texteditor-init') === 'true') {\n      textArea.value = currentValue\n    }\n  }\n\n  setUpdateContent(editorInstance: any) {\n    // Update the underlying textarea when content changes in the editor\n    // This is needed to make sure that when the form is submitted,\n    // the latest content from the editor area is sent to the server\n\n    let textArea = editorInstance.editor[0]\n\n    function setTextAreaValue(textArea: HTMLTextAreaElement | null, currentValue: string) {\n      if (textArea && textArea.getAttribute('data-texteditor-init') === 'true') {\n        textArea.value = currentValue\n      }\n    }\n\n    this.on('input', function () {\n      setTextAreaValue(textArea, this.html.get(true))\n    })\n\n    this.on('keyup', function () {\n      setTextAreaValue(textArea, this.html.get(true))\n    })\n\n    this.on('contentChanged', function () {\n      setTextAreaValue(textArea, this.html.get(true))\n    })\n  }\n\n  setUpAutoSave() {\n    if (!this.config.saveUrl) {\n      return\n    }\n\n    const IGNORED_FIELD_NAMES = [\n      'csrfmiddlewaretoken', // Is sent via a Cookie instead\n      'cmt-text', // Same contents as the \"body\" parameter that Froala sends\n    ]\n\n    const fieldIgnored = (field) => IGNORED_FIELD_NAMES.indexOf(field.name) !== -1\n\n    // Trigger autosave when non-froala fields change.\n    const editor_fields = this.editor.parents('form:first').find('input, select, textarea')\n    editor_fields\n      .filter((_, field) => !fieldIgnored(field))\n      .each((_, field) => {\n        $(field).on('input change', () => this.setDirty())\n      })\n\n    this.on('save.before', () => {\n      // If there's a loader in the editor cancel the save\n      if (this.froala.html.get().search(/smart-replies-froala-content--loader/g, '') != -1) {\n        return false\n      }\n\n      this.setAutosaveStatus(TRANSLATIONS.editor_before_save_msg)\n\n      const form = this.editor.parents('form:first')\n      const formFields = form\n        .serializeArray()\n        .filter((field) => field.value) // Remove empty fields\n        .filter((field) => !fieldIgnored(field)) // Remove ignored fields\n\n      this.froala.opts.saveParams = {\n        meta: JSON.stringify(formFields),\n      }\n    })\n\n    this.on('save.error', () => {\n      this.setAutosaveStatus(TRANSLATIONS.editor_save_error_msg)\n    })\n\n    this.on('save.after', () => {\n      this.setAutosaveStatus(TRANSLATIONS.editor_after_save_msg, { delay: 1000, autoHide: true })\n    })\n\n    this.setDirty = this.setDirty.bind(this)\n  }\n\n  setUpImageUploads() {\n    const onBeforePaste = (e: Event) => {\n      let file: null | File = null\n      const files = getFilesFromEvent(e)\n      for (let i = 0, len = files.length; i < len; i++) {\n        file = files[i]\n        if (file && isAllowedImageMime(file.type)) {\n          this.insertImage(file)\n        } else {\n          this.attachFile(file)\n        }\n      }\n      // Cancel event if any file was added, else fall through to Froalas drag handling\n      if (file) {\n        e.preventDefault()\n        e.stopPropagation()\n        return false\n      }\n    }\n\n    this.on('drop paste.before', onBeforePaste, { capture: true })\n\n    this.on('image.loaded', (img) => {\n      this.froala.image.setSize(`${img.width()}px`, 'auto')\n    })\n\n    // If `onBeforePaste` doesn't find any images, Froalas default event will be used\n    this.on('image.beforePasteUpload', (img) => {\n      // Remove pasted image from the editor, and instead insert\n      // the one from the insertImage function\n      this.froala.selection.setBefore(img)\n      $(img).remove()\n    })\n\n    this.on('image.beforeUpload', (images) => {\n      if (images) {\n        images.forEach((imageBlob) => {\n          this.insertImage(imageBlob)\n        })\n      }\n\n      return false\n    })\n\n    this.on('image.removed', (img) => {\n      this.attachmentsList.remove_file_by_url(img.attr('src'))\n    })\n  }\n\n  setUpMentions() {\n    if (!this.config.allowMentions) return\n    if (!window.EDITORSEARCHURL) return\n\n    const tribute = setupMentions(this.froala, this.texteditorDiv[0])\n\n    fetch(window.EDITORSEARCHURL)\n      .then((resp) => resp.json())\n      .then((data) => {\n        tribute.append(0, data['users'])\n      })\n  }\n\n  setAutosaveStatus(message: string, opts?: { delay: number; autoHide?: boolean }) {\n    const delay = opts?.delay || 1000\n    setTimeout(() => this.autosaveStatus.html(message).show(), delay)\n    if (opts?.autoHide) {\n      setTimeout(() => this.autosaveStatus.html('').hide(), delay + 1000)\n    }\n  }\n\n  /**\n   * Returns the underlying [contenteditable] element of the editor, for low-level access.\n   */\n  getContentEditable(): HTMLElement {\n    return this.froala.$el[0]\n  }\n\n  insertImage(files) {\n    if (!this.uploadsUrl) {\n      return\n    }\n    uploadImageAsUpload(\n      this,\n      files,\n      ALLOWED_IMAGE_EXTENSIONS,\n      this.isMailContext,\n      this.allowLargeUploads,\n      false,\n    )\n  }\n\n  attachFile(files) {\n    if (!this.uploadsUrl) {\n      return\n    }\n    uploaderFactory(\n      this.uploadsUrl,\n      this.attachmentsList,\n      this.isMailContext,\n      this.allowLargeUploads,\n    ).addFiles(files)\n  }\n\n  focus() {\n    this.froala.events.focus()\n  }\n\n  getHTML(): string {\n    return this.froala.html.get()\n  }\n\n  setHTML(html: string | null) {\n    this.froala.html.set(html)\n  }\n\n  setDirty() {\n    this.froala.save.reset()\n    this.froala.save.force()\n  }\n\n  saveSelection() {\n    this.froala.selection.save()\n  }\n\n  openSnippetWidget() {\n    this.saveSelection()\n    this.snippetWidget.open()\n  }\n\n  toggleSnippetWidget() {\n    this.saveSelection()\n    this.snippetWidget.toggle()\n  }\n\n  toggleInternalLinkWidget() {\n    this.saveSelection()\n    this.internalLinkWidget.toggle()\n  }\n\n  toggleSelfServiceWidget() {\n    this.saveSelection()\n    this.selfServiceWidget.toggle()\n  }\n}\n\nexport function getKundoFroalaInstance(elm: HTMLElement | JQuery): KundoFroalaEditor | null {\n  let $elm = $(elm)\n  let obj = $elm[0] as any\n\n  if (obj && obj['kundoFroala']) {\n    return obj['kundoFroala']\n  }\n\n  obj = $elm.parent('.fn-text-editor')[0]\n\n  if (obj && obj['kundoFroala']) {\n    return obj['kundoFroala']\n  }\n\n  obj = $elm.parent('[data-fn-text-editor]')[0]\n\n  if (obj && obj['kundoFroala']) {\n    return obj['kundoFroala']\n  }\n\n  return null\n}\n","import Tribute from 'tributejs'\n\ninterface MentionedUser {\n  avatar_background_color: string\n  avatar_url: string\n  email: string\n  id: number\n  name: string\n}\n\nexport function setupMentions(froala: any, container: HTMLElement): Tribute<MentionedUser> {\n  const tribute = new Tribute<MentionedUser>({\n    allowSpaces: true,\n    fillAttr: 'name',\n    lookup(user, _text: string) {\n      return user.name + user.email\n    },\n    menuContainer: container,\n    menuItemTemplate({ original }) {\n      const { avatar_background_color, avatar_url, name } = original\n      const avatar = $('<img>')\n        .attr({\n          height: 24,\n          src: avatar_url,\n          style: 'background-color:' + avatar_background_color,\n          width: 24,\n        })\n        .prop('outerHTML')\n      const displayName = $('<span class=\"\">').text(name).prop('outerHTML')\n\n      return avatar + displayName\n    },\n    noMatchTemplate() {\n      return $('<li class=\"no-match\"><span>')\n        .text(gettext('Hittar inga användare'))\n        .prop('outerHTML')\n    },\n    positionMenu: false,\n    selectTemplate({ original }) {\n      const { id, name } = original\n      return $('<span class=\"fr-deletable fr-tribute mention\" contenteditable=\"false\">')\n        .attr('data-editor-id', id)\n        .text('@' + name)\n        .prop('outerHTML')\n    },\n    values: [],\n  })\n\n  froala.events.on(\n    'keydown',\n    function (e: any) {\n      const enterKeyCode = 13\n      if (e.which === enterKeyCode && tribute.isActive) {\n        return false\n      }\n    },\n    true,\n  )\n\n  tribute.attach(froala.el)\n\n  return tribute\n}\n","import React, { ReactElement, useId, useState } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport * as Popover from '@radix-ui/react-popover'\nimport {\n  WinkleIcon,\n  XIcon,\n  QuestionCircleIcon,\n  ArrowRightUpIcon,\n  IconButton,\n  ChannelIcon,\n} from '@kundo/ui'\nimport { twMerge } from '@kundo/ui/dist/helpers'\nimport { IReferences } from './aiAutoReplies/types'\n\nexport const AiSourcesItem = ({\n  title,\n  url,\n  channelType,\n  channelColor,\n  channelName,\n}: {\n  title: string\n  url: string\n  channelType: any\n  channelColor: string\n  channelName: string\n}): ReactElement => {\n  const hasLink = !!url\n  const containerDivAttributes = hasLink\n    ? {\n        role: 'link',\n        tabIndex: 0,\n        'data-href': url ? url : undefined,\n        'aria-label': title ? title : undefined,\n        'aria-description': channelName ? channelName : undefined,\n        onClick: () => {\n          window.open(url, '_blank')\n        },\n      }\n    : {}\n  return (\n    <div role=\"listitem\">\n      <div\n        className={twMerge(\n          'tw-flex tw-flex-nowrap tw-items-center tw-box-border tw-gap-3',\n          'tw-border tw-border-solid tw-border-gray-30',\n          'tw-rounded-[26px] tw-min-h-[52px] tw-p-4',\n          'tw-cursor-pointer',\n          hasLink && 'hover:tw-bg-gray-10/60 active:tw-bg-gray-10',\n          'tw-duration-200',\n        )}\n        {...containerDivAttributes}\n      >\n        <ChannelIcon\n          channelType={channelType}\n          channelColor={channelColor}\n          size=\"medium\"\n          isWrapped={true}\n        />\n        <div className={twMerge('tw-flex-1')}>\n          {channelName && (\n            <div className=\"tw-text-sm tw-font-normal tw-text-gray-70 tw-mb-0.5\">{channelName}</div>\n          )}\n          <div className=\"tw-text-base tw-font-semibold\">{title}</div>\n        </div>\n        {hasLink && (\n          <ArrowRightUpIcon\n            className=\"tw-w-6 tw-h-auto tw-shrink-0 tw-text-gray-60 tw-fill-gray-60\"\n            aria-hidden=\"true\"\n          />\n        )}\n      </div>\n    </div>\n  )\n}\n\nexport const AiRepliesSources = ({\n  editor,\n  references,\n}: {\n  editor: any\n  references: IReferences[]\n}): ReactElement => {\n  const [isOpen, setIsOpen] = useState<boolean>(false)\n  const titleId = useId()\n  const referencesCount = references.length\n  const badgeText = String(referencesCount) + ' ' + ngettext('källa', 'källor', referencesCount)\n  const autoRepliesHelpURL =\n    window.CURRENT_LANGUAGE == 'sv'\n      ? 'https://www.kundo.se/hjalp-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n      : 'https://www.kundo.se/en/help-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n  return (\n    <Popover.Root\n      onOpenChange={(open) => setIsOpen(open)}\n      open={isOpen}\n    >\n      <Popover.Trigger asChild>\n        <div\n          role=\"button\"\n          tabIndex={0}\n          aria-label={badgeText}\n          className={twMerge(\n            'tw-text-sm tw-font-semibold tw-box-border',\n            'tw-px-2 tw-py-1 tw-rounded-sm',\n            'tw-text-[#238B68] tw-bg-[#ADEBD6]',\n            'data-[state=open]:tw-bg-[#D4F7EE]',\n            'tw-cursor-pointer',\n            'tw-duration-100',\n          )}\n        >\n          {badgeText}\n        </div>\n      </Popover.Trigger>\n      <Popover.Content\n        sideOffset={12}\n        className={twMerge(\n          'tw-flex tw-flex-col',\n          'tw-bg-white tw-text-gray-100 tw-rounded-xs tw-shadow-[0_0_6px_rgba(0,0,0,0.3)] tw-box-border',\n          'data-[state=open]:tw-animate-open',\n          'tw-z-[1000]',\n          'tw-max-w-[392px]',\n          'tw-max-h-[calc(var(--radix-popper-available-height)-16px)]',\n        )}\n      >\n        <div\n          className={twMerge(\n            'tw-flex tw-items-center tw-w-full tw-shrink-0 tw-grow-0 tw-box-border tw-gap-2',\n            'tw-p-4',\n          )}\n        >\n          <WinkleIcon\n            className={twMerge(\n              'tw-flex-initial tw-w-5 tw-h-5',\n              'tw-fill-[#238B68] tw-text-[#238B68]',\n            )}\n          />\n          <div\n            id={titleId}\n            className={twMerge('tw-flex-1 tw-text-base tw-font-semibold', 'tw-text-[#238B68]')}\n          >\n            {TRANSLATIONS.froalaAiAutoReply.popupTitle}\n          </div>\n          <div className=\"tw-flex tw-items-center tw-gap-1.5\">\n            {/* <IconButton\n              variant=\"tertiary\"\n              size=\"small\"\n              icon={<QuestionCircleIcon />}\n              onClick={(e) => {\n                e.preventDefault()\n                window.open(autoRepliesHelpURL, '_blank')\n              }}\n              className=\"tw-text-gray-60 tw-fill-gray-60\"\n            /> */}\n            <IconButton\n              variant=\"tertiary\"\n              size=\"small\"\n              icon={<XIcon />}\n              onClick={(e) => {\n                e.preventDefault()\n                setIsOpen(false)\n              }}\n              label={gettext('Stäng')}\n              className=\"tw-text-gray-60 tw-fill-gray-60\"\n            />\n          </div>\n        </div>\n        <div\n          className={twMerge(\n            'tw-flex tw-flex-col tw-flex-auto',\n            'tw-overflow-y-auto tw-overflow-x-hidden',\n            'tw-px-4 tw-pb-4',\n          )}\n        >\n          {references.length > 0 && (\n            <div\n              className={twMerge('tw-flex tw-flex-col tw-gap-4')}\n              role=\"list\"\n              aria-labelledby={titleId}\n            >\n              {references.map((item, index) => (\n                <AiSourcesItem\n                  key={index}\n                  title={item.title}\n                  channelName={item.channel_name}\n                  url={item.public_url}\n                  channelType={item.channel_public_type}\n                  channelColor={`${item.channel_color_number}`}\n                />\n              ))}\n            </div>\n          )}\n        </div>\n      </Popover.Content>\n    </Popover.Root>\n  )\n}\n\nexport function renderSources(\n  element: HTMLElement,\n  references: IReferences[] = [],\n  options?: { editor?: any; initAiSources?: Function },\n) {\n  if (references.length > 0) {\n    const newElement = document.createElement('div')\n    newElement.id = 'ai-sources'\n    newElement.classList.add('tw-inline-flex', 'tw-h-[40px]', 'tw-items-center', 'tw-px-2')\n\n    if (element?.parentNode) {\n      const container = element.parentNode.insertBefore(newElement, element.nextSibling)\n      if (options?.initAiSources && options?.editor) {\n        options.initAiSources({\n          container: container,\n          editor: options.editor,\n          references: references,\n        })\n      }\n    }\n  }\n}\n\nexport function deleteSources(toolbarOrRoot?: HTMLElement) {\n  const element = toolbarOrRoot?.querySelector('#ai-sources')\n  if (element) {\n    element.remove()\n  }\n}\n\nexport const initAiSources = ({\n  container,\n  editor,\n  references,\n}: {\n  container: HTMLElement\n  editor: any\n  references: IReferences[]\n}) => {\n  const root = createRoot(container)\n  root?.render(\n    <AiRepliesSources\n      editor={editor}\n      references={references}\n    />,\n  )\n}\n","// Default Froala buttons and commands\nexport const BTN_BOLD = 'bold'\nexport const BTN_COLOR = 'color'\nexport const BTN_COLOR_BACKGROUND = 'backgroundColor'\nexport const BTN_COLOR_TEXT = 'textColor'\nexport const BTN_FORMAT_OL = 'formatOL'\nexport const BTN_FORMAT_UL = 'formatUL'\nexport const BTN_ITALIC = 'italic'\nexport const BTN_LINK = 'insertLink'\nexport const BTN_PARAGRAPH_FORMAT = 'paragraphFormat'\nexport const BTN_PARAGRAPH_STYLE = 'paragraphStyle'\nexport const BTN_QUOTE = 'quote'\nexport const BTN_SEPARATOR = '|'\nexport const BTN_TABLE = 'insertTable'\nexport const BTN_VIDEO = 'insertVideo'\nexport const BTN_UNDO = 'undo'\nexport const BTN_REDO = 'redo'\n\n// Custom Froala buttons and commands\nexport const BTN_CLEAR = 'kundoClearFormatting'\nexport const BTN_CONTACTS = 'kundoContactModal'\nexport const BTN_EMOJIS = 'emojis'\nexport const BTN_FILES = 'kundoFileUpload'\nexport const BTN_IMAGES = 'kundoImageUpload'\nexport const BTN_INTERNAL_LINKS = 'internalLink'\nexport const BTN_SNIPPETS = 'snippets'\nexport const BTN_SELF_SERVICE = 'selfService'\nexport const BTN_AI_AUTO_REPLIES = 'aiAutoReplies'\n\nconst _BUTTONS_ORDER = [\n  BTN_PARAGRAPH_FORMAT,\n  BTN_PARAGRAPH_STYLE,\n  BTN_SEPARATOR,\n  BTN_UNDO,\n  BTN_REDO,\n  BTN_BOLD,\n  BTN_ITALIC,\n  BTN_QUOTE,\n  BTN_CLEAR,\n  BTN_COLOR,\n  BTN_COLOR_BACKGROUND,\n  BTN_COLOR_TEXT,\n  BTN_FORMAT_UL,\n  BTN_FORMAT_OL,\n  BTN_LINK,\n  BTN_INTERNAL_LINKS,\n  BTN_EMOJIS,\n  BTN_TABLE,\n  BTN_SNIPPETS,\n  BTN_IMAGES,\n  BTN_VIDEO,\n  BTN_FILES,\n  BTN_SELF_SERVICE,\n  BTN_AI_AUTO_REPLIES,\n  BTN_SEPARATOR,\n  BTN_CONTACTS,\n]\n\nexport function sortedToolbarButtons(btns: string[]) {\n  const result: string[] = []\n  for (let i = 0, len = _BUTTONS_ORDER.length; i < len; i++) {\n    let btn = _BUTTONS_ORDER[i]\n    if (btns.includes(btn)) {\n      result.push(btn)\n    }\n    if (btn === BTN_SEPARATOR && result.length && result[result.length - 1] !== BTN_SEPARATOR) {\n      result.push(btn)\n    }\n  }\n  if (result.length && result[result.length - 1] === BTN_SEPARATOR) {\n    result.pop()\n  }\n  return result\n}\n\nexport enum ToolbarType {\n  NONE = 'toolbar-none',\n  CHAT = 'toolbar-chat',\n  EXTERNAL_CONVERSATIONS = 'toolbar-external-conversations',\n  FORUM = 'toolbar-forum',\n  FORUM_EDITOR = 'toolbar-forum-editor',\n  FORUM_TEXTS = 'toolbar-forum-texts',\n  KNOWLEDGE = 'toolbar-knowledge',\n  KNOWLEDGE_SETTINGS = 'toolbar-knowledge-settings',\n  MAIL = 'toolbar-mail',\n  MAIL_BASIC = 'toolbar-mail-basic',\n  MAIL_REPLY_SNIPPET = 'toolbar-mail-reply-snippet',\n  POLICY = 'toolbar-policy',\n  SIMPLE = 'toolbar-simple',\n  SIMPLE_CONTACT_MODAL = 'toolbar-simple-contact-modal',\n}\n\n// prettier-ignore\nconst _FROALA_BUTTONS_BASIC = [\n  BTN_BOLD,\n  BTN_ITALIC,\n  BTN_QUOTE,\n  BTN_CLEAR,\n  BTN_FORMAT_UL,\n  BTN_FORMAT_OL,\n  BTN_LINK,\n]\n// prettier-ignore\nconst _FROALA_BUTTONS_WITH_COLOR = [\n  BTN_BOLD,\n  BTN_ITALIC,\n  BTN_CLEAR,\n  BTN_COLOR,\n  BTN_COLOR_BACKGROUND,\n  BTN_COLOR_TEXT,\n  BTN_FORMAT_UL,\n  BTN_FORMAT_OL,\n  BTN_LINK,\n]\n\n// prettier-ignore\nconst FROALA_TOOLBAR = {\n  [ToolbarType.CHAT]: _FROALA_BUTTONS_WITH_COLOR.concat([\n    BTN_EMOJIS,\n    BTN_TABLE,\n    BTN_PARAGRAPH_FORMAT,\n  ]),\n  [ToolbarType.EXTERNAL_CONVERSATIONS]: [\n    BTN_BOLD,\n    BTN_ITALIC,\n    BTN_CLEAR,\n    BTN_FORMAT_UL,\n    BTN_FORMAT_OL,\n    BTN_IMAGES,\n    BTN_FILES,\n  ],\n  [ToolbarType.FORUM]: [BTN_IMAGES, BTN_FILES],\n  [ToolbarType.FORUM_EDITOR]: _FROALA_BUTTONS_BASIC.concat([\n    BTN_INTERNAL_LINKS,\n    BTN_EMOJIS,\n    BTN_SNIPPETS,\n    BTN_IMAGES,\n    BTN_VIDEO,\n    BTN_FILES,\n    BTN_AI_AUTO_REPLIES,\n  ]),\n  [ToolbarType.FORUM_TEXTS]: _FROALA_BUTTONS_BASIC,\n  [ToolbarType.KNOWLEDGE]: _FROALA_BUTTONS_BASIC.concat([\n    BTN_EMOJIS,\n    BTN_TABLE,\n    BTN_IMAGES,\n    BTN_VIDEO,\n    BTN_FILES,\n    BTN_PARAGRAPH_FORMAT,\n    BTN_PARAGRAPH_STYLE,\n  ]),\n  [ToolbarType.KNOWLEDGE_SETTINGS]: _FROALA_BUTTONS_WITH_COLOR,\n  [ToolbarType.MAIL]: _FROALA_BUTTONS_WITH_COLOR.concat([\n    BTN_UNDO,\n    BTN_REDO,\n    BTN_INTERNAL_LINKS,\n    BTN_EMOJIS,\n    BTN_TABLE,\n    BTN_SNIPPETS,\n    BTN_IMAGES,\n    BTN_FILES,\n    BTN_SELF_SERVICE,\n    BTN_AI_AUTO_REPLIES\n  ]),\n  [ToolbarType.MAIL_BASIC]: _FROALA_BUTTONS_WITH_COLOR.concat([BTN_EMOJIS, BTN_IMAGES]),\n  [ToolbarType.MAIL_REPLY_SNIPPET]: _FROALA_BUTTONS_WITH_COLOR.concat([\n    BTN_EMOJIS,\n    BTN_IMAGES,\n    BTN_FILES,\n  ]),\n  [ToolbarType.NONE]: [],\n  [ToolbarType.POLICY]: [BTN_PARAGRAPH_FORMAT].concat(_FROALA_BUTTONS_BASIC),\n  [ToolbarType.SIMPLE]: [BTN_BOLD, BTN_ITALIC, BTN_LINK],\n  [ToolbarType.SIMPLE_CONTACT_MODAL]: [BTN_BOLD, BTN_ITALIC, BTN_LINK, BTN_CONTACTS],\n}\n\nconst SMALL_TOOLBAR = {\n  [ToolbarType.EXTERNAL_CONVERSATIONS]: [BTN_BOLD, BTN_CLEAR],\n}\n\nconst TOOLBAR_BOTTOM = {\n  [ToolbarType.FORUM]: true,\n}\n\nconst TOOLBAR_INSERTED = {\n  [ToolbarType.FORUM]: true,\n}\n\nexport function getToolbar(\n  toolbarChoice: string,\n  options: {\n    includeInternalLinks: boolean\n    includeAI: boolean\n    includeAIDrafts: boolean\n  },\n) {\n  let buttons = sortedToolbarButtons(FROALA_TOOLBAR[toolbarChoice] || [])\n  let lessButtons = sortedToolbarButtons(SMALL_TOOLBAR[toolbarChoice] || [])\n  const toolbarBottom = TOOLBAR_BOTTOM[toolbarChoice]\n  const toolbarInserted = TOOLBAR_INSERTED[toolbarChoice]\n\n  if (!options.includeInternalLinks) {\n    buttons = buttons.filter((e) => e !== BTN_INTERNAL_LINKS)\n  }\n  if (!options.includeAI) {\n    buttons = buttons.filter((e) => e !== BTN_SELF_SERVICE)\n  }\n  if (!options.includeAIDrafts) {\n    buttons = buttons.filter((e) => e !== BTN_AI_AUTO_REPLIES && e !== BTN_UNDO && e !== BTN_REDO)\n  }\n  return {\n    bottom: !!toolbarBottom,\n    buttons: buttons,\n    hasColor: buttons.indexOf('color') > -1,\n    inserted: !!toolbarInserted,\n    lessButtons: lessButtons.length ? lessButtons : buttons,\n  }\n}\n\nexport function defineCustomIcons(FroalaEditor: any) {\n  const addIcon = (name, data) => FroalaEditor.DefineIcon(name, { ...data })\n  addIcon(BTN_CLEAR, { NAME: 'eraser' })\n  addIcon(BTN_CONTACTS, { NAME: 'list-alt' })\n  addIcon(BTN_EMOJIS, { FA5NAME: 'smile', NAME: 'smile-o' })\n  addIcon(BTN_FILES, { NAME: 'clip2' })\n  addIcon(BTN_IMAGES, { NAME: 'image' })\n  addIcon(BTN_SNIPPETS, { NAME: 'book' })\n  addIcon(BTN_INTERNAL_LINKS, { NAME: 'sitemap' })\n  addIcon(BTN_PARAGRAPH_STYLE, { NAME: 'paragraph' })\n  addIcon(BTN_COLOR_BACKGROUND, {\n    PATH: 'M18.999932 12.75s-1.75 2.533398-1.75 3.5.783671 1.75 1.75 1.75c.966327 0 1.75-.783398 1.75-1.75s-1.75-3.5-1.75-3.5zm-.256211-2.814765-5.679023-5.6790241C12.893799 4.0853125 12.669854 4 12.445908 4c-.223945 0-.44789.085312-.618515.2562109L9.5966897 6.4869141 7.2402051 4.1301562c-.1708984-.1708983-.4478908-.1708983-.6185157 0l-.6185156.6185156c-.1706251.1708985-.1706251.4478907 0 .6185157l2.3567579 2.3564843-2.5910939 2.5910932c-1.0251171 1.024844-1.0251171 2.686797 0 3.711915l3.2044139 3.204414C9.4856737 17.743515 10.15751 18 10.829073 18c.671835 0 1.343399-.256211 1.85582-.768906l6.058554-6.058555c.341797-.341797.341797-.895507.000274-1.237304zM15.56583 11.87582H6.8027051c.037188-.105.097617-.218203.203164-.323476l.3595702-.359571L9.5969627 8.96125l1.6023443 1.602344c.341524.341523.895508.341523 1.237031 0 .341523-.341524.341523-.895508 0-1.237032l-1.602344-1.6023432 1.611914-1.6119141 4.441719 4.4417183z',\n    template: 'svg',\n  })\n  addIcon(BTN_COLOR_TEXT, {\n    PATH: 'M9.5670901 12.458516c-1.0970313.07055-2.0926172.488359-2.6575391 1.976953-.064258.169804-.21875.27289-.3989453.27289-.3037891 0-1.2430469-.756601-1.5107422-.939257C5.0001369 16.020859 6.0372854 18 8.5001369 18c2.0742971 0 3.5000001-1.196836 3.5000001-3.286445 0-.08504-.01777-.16625-.02652-.249649zM17.520566 4c-.414531 0-.803086.1834766-1.099492.4498047-5.589335 4.9929683-6.170937 5.1102733-6.170937 6.5800003 0 .374609.08887.731718.238711 1.058203l1.745078 1.45414c.197148.04922.400312.08285.612227.08285 1.69832 0 2.682694-1.24332 5.773905-7.0125777.201797-.3923828.380078-.816211.380078-1.2575391C19.000136 4.564375 18.2892 4 17.520566 4Z',\n    template: 'svg',\n  })\n\n  const twinkleAIIcon =\n    '<svg xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"2 2 40 20\" fill=\"none\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M9.43 3.359c-.333-.844-1.527-.844-1.86 0L6.538 5.975a1 1 0 0 1-.563.563L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.032a1 1 0 0 1 .563.563l1.032 2.616c.333.844 1.527.844 1.86 0l1.032-2.616a1 1 0 0 1 .563-.563l2.616-1.032c.844-.333.844-1.527 0-1.86l-2.616-1.032a1 1 0 0 1-.563-.563L9.43 3.359Zm8.5 10c-.333-.844-1.527-.845-1.86 0l-.608 1.54a1 1 0 0 1-.563.563l-1.54.608c-.844.333-.845 1.527 0 1.86l1.54.608a1 1 0 0 1 .563.563l.608 1.54c.333.844 1.527.844 1.86 0l.608-1.54a1 1 0 0 1 .563-.563l1.54-.608c.844-.333.844-1.527 0-1.86l-1.54-.608a1 1 0 0 1-.563-.563l-.608-1.54Z\" clip-rule=\"evenodd\"/><path fill=\"currentColor\" d=\"M30.384 6h2.128l4.4 11.424h-2.144L33.696 14.4h-4.56l-1.072 3.024H26L30.384 6Zm-.704 6.88h3.488l-1.712-4.912h-.048L29.68 12.88ZM38 6h2v11.424h-2V6Z\"/></svg>'\n\n  FroalaEditor.DefineIcon(BTN_SELF_SERVICE, {\n    NAME: '<span class=\"ai-fr-toolbar-btn-content\"><i>' + twinkleAIIcon + '</i></span>',\n    template: 'text',\n  })\n\n  FroalaEditor.DefineIcon(BTN_AI_AUTO_REPLIES, {\n    ICON: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"tw-fill-current tw-w-[18px]\"><path class=\"tw-fill-current tw-w-[18px]\" d=\"M8.5 2.727a.98.98 0 0 0-.93.632L6.537 5.975a1 1 0 0 1-.562.562L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.033c.257.101.46.305.562.562l1.033 2.616c.333.844 1.527.844 1.86 0l1.033-2.616a1 1 0 0 1 .562-.562l2.616-1.033c.844-.333.844-1.527 0-1.86l-2.616-1.033a1 1 0 0 1-.562-.562L9.43 3.359a.98.98 0 0 0-.93-.632m8.5 10a.98.98 0 0 0-.93.632l-.607 1.54a1 1 0 0 1-.565.564l-1.539.607c-.844.333-.844 1.527 0 1.86l1.54.607c.257.102.462.307.564.565l.607 1.539c.333.844 1.527.844 1.86 0l.607-1.54c.102-.257.307-.462.565-.564l1.539-.607c.844-.333.844-1.527 0-1.86l-1.54-.607a1 1 0 0 1-.564-.565l-.607-1.539a.98.98 0 0 0-.93-.632\"></path></svg>',\n    TEXT: TRANSLATIONS.froalaAiAutoReply.buttonText,\n    template: 'kundo-custom-icon',\n  })\n}\n","// Fine Uploader 5.15.0 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com\n(function(global) {\n    var qq = function(element) {\n        \"use strict\";\n        return {\n            hide: function() {\n                element.style.display = \"none\";\n                return this;\n            },\n            attach: function(type, fn) {\n                if (element.addEventListener) {\n                    element.addEventListener(type, fn, false);\n                } else if (element.attachEvent) {\n                    element.attachEvent(\"on\" + type, fn);\n                }\n                return function() {\n                    qq(element).detach(type, fn);\n                };\n            },\n            detach: function(type, fn) {\n                if (element.removeEventListener) {\n                    element.removeEventListener(type, fn, false);\n                } else if (element.attachEvent) {\n                    element.detachEvent(\"on\" + type, fn);\n                }\n                return this;\n            },\n            contains: function(descendant) {\n                if (!descendant) {\n                    return false;\n                }\n                if (element === descendant) {\n                    return true;\n                }\n                if (element.contains) {\n                    return element.contains(descendant);\n                } else {\n                    return !!(descendant.compareDocumentPosition(element) & 8);\n                }\n            },\n            insertBefore: function(elementB) {\n                elementB.parentNode.insertBefore(element, elementB);\n                return this;\n            },\n            remove: function() {\n                element.parentNode.removeChild(element);\n                return this;\n            },\n            css: function(styles) {\n                if (element.style == null) {\n                    throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n                }\n                if (styles.opacity != null) {\n                    if (typeof element.style.opacity !== \"string\" && typeof element.filters !== \"undefined\") {\n                        styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                    }\n                }\n                qq.extend(element.style, styles);\n                return this;\n            },\n            hasClass: function(name, considerParent) {\n                var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n                return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n            },\n            addClass: function(name) {\n                if (!qq(element).hasClass(name)) {\n                    element.className += \" \" + name;\n                }\n                return this;\n            },\n            removeClass: function(name) {\n                var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n                element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n                return this;\n            },\n            getByClass: function(className, first) {\n                var candidates, result = [];\n                if (first && element.querySelector) {\n                    return element.querySelector(\".\" + className);\n                } else if (element.querySelectorAll) {\n                    return element.querySelectorAll(\".\" + className);\n                }\n                candidates = element.getElementsByTagName(\"*\");\n                qq.each(candidates, function(idx, val) {\n                    if (qq(val).hasClass(className)) {\n                        result.push(val);\n                    }\n                });\n                return first ? result[0] : result;\n            },\n            getFirstByClass: function(className) {\n                return qq(element).getByClass(className, true);\n            },\n            children: function() {\n                var children = [], child = element.firstChild;\n                while (child) {\n                    if (child.nodeType === 1) {\n                        children.push(child);\n                    }\n                    child = child.nextSibling;\n                }\n                return children;\n            },\n            setText: function(text) {\n                element.innerText = text;\n                element.textContent = text;\n                return this;\n            },\n            clearText: function() {\n                return qq(element).setText(\"\");\n            },\n            hasAttribute: function(attrName) {\n                var attrVal;\n                if (element.hasAttribute) {\n                    if (!element.hasAttribute(attrName)) {\n                        return false;\n                    }\n                    return /^false$/i.exec(element.getAttribute(attrName)) == null;\n                } else {\n                    attrVal = element[attrName];\n                    if (attrVal === undefined) {\n                        return false;\n                    }\n                    return /^false$/i.exec(attrVal) == null;\n                }\n            }\n        };\n    };\n    (function() {\n        \"use strict\";\n        qq.canvasToBlob = function(canvas, mime, quality) {\n            return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n        };\n        qq.dataUriToBlob = function(dataUri) {\n            var arrayBuffer, byteString, createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                } else {\n                    return new Blob([ data ], {\n                        type: mime\n                    });\n                }\n            }, intArray, mimeString;\n            if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n                byteString = atob(dataUri.split(\",\")[1]);\n            } else {\n                byteString = decodeURI(dataUri.split(\",\")[1]);\n            }\n            mimeString = dataUri.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n            arrayBuffer = new ArrayBuffer(byteString.length);\n            intArray = new Uint8Array(arrayBuffer);\n            qq.each(byteString, function(idx, character) {\n                intArray[idx] = character.charCodeAt(0);\n            });\n            return createBlob(arrayBuffer, mimeString);\n        };\n        qq.log = function(message, level) {\n            if (window.console) {\n                if (!level || level === \"info\") {\n                    window.console.log(message);\n                } else {\n                    if (window.console[level]) {\n                        window.console[level](message);\n                    } else {\n                        window.console.log(\"<\" + level + \"> \" + message);\n                    }\n                }\n            }\n        };\n        qq.isObject = function(variable) {\n            return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n        };\n        qq.isFunction = function(variable) {\n            return typeof variable === \"function\";\n        };\n        qq.isArray = function(value) {\n            return Object.prototype.toString.call(value) === \"[object Array]\" || value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer;\n        };\n        qq.isItemList = function(maybeItemList) {\n            return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n        };\n        qq.isNodeList = function(maybeNodeList) {\n            return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" || maybeNodeList.item && maybeNodeList.namedItem;\n        };\n        qq.isString = function(maybeString) {\n            return Object.prototype.toString.call(maybeString) === \"[object String]\";\n        };\n        qq.trimStr = function(string) {\n            if (String.prototype.trim) {\n                return string.trim();\n            }\n            return string.replace(/^\\s+|\\s+$/g, \"\");\n        };\n        qq.format = function(str) {\n            var args = Array.prototype.slice.call(arguments, 1), newStr = str, nextIdxToReplace = newStr.indexOf(\"{}\");\n            qq.each(args, function(idx, val) {\n                var strBefore = newStr.substring(0, nextIdxToReplace), strAfter = newStr.substring(nextIdxToReplace + 2);\n                newStr = strBefore + val + strAfter;\n                nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n                if (nextIdxToReplace < 0) {\n                    return false;\n                }\n            });\n            return newStr;\n        };\n        qq.isFile = function(maybeFile) {\n            return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n        };\n        qq.isFileList = function(maybeFileList) {\n            return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n        };\n        qq.isFileOrInput = function(maybeFileOrInput) {\n            return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n        };\n        qq.isInput = function(maybeInput, notFile) {\n            var evaluateType = function(type) {\n                var normalizedType = type.toLowerCase();\n                if (notFile) {\n                    return normalizedType !== \"file\";\n                }\n                return normalizedType === \"file\";\n            };\n            if (window.HTMLInputElement) {\n                if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                    if (maybeInput.type && evaluateType(maybeInput.type)) {\n                        return true;\n                    }\n                }\n            }\n            if (maybeInput.tagName) {\n                if (maybeInput.tagName.toLowerCase() === \"input\") {\n                    if (maybeInput.type && evaluateType(maybeInput.type)) {\n                        return true;\n                    }\n                }\n            }\n            return false;\n        };\n        qq.isBlob = function(maybeBlob) {\n            if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n                return true;\n            }\n        };\n        qq.isXhrUploadSupported = function() {\n            var input = document.createElement(\"input\");\n            input.type = \"file\";\n            return input.multiple !== undefined && typeof File !== \"undefined\" && typeof FormData !== \"undefined\" && typeof qq.createXhrInstance().upload !== \"undefined\";\n        };\n        qq.createXhrInstance = function() {\n            if (window.XMLHttpRequest) {\n                return new XMLHttpRequest();\n            }\n            try {\n                return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n            } catch (error) {\n                qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n                return null;\n            }\n        };\n        qq.isFolderDropSupported = function(dataTransfer) {\n            return dataTransfer.items && dataTransfer.items.length > 0 && dataTransfer.items[0].webkitGetAsEntry;\n        };\n        qq.isFileChunkingSupported = function() {\n            return !qq.androidStock() && qq.isXhrUploadSupported() && (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n        };\n        qq.sliceBlob = function(fileOrBlob, start, end) {\n            var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n            return slicer.call(fileOrBlob, start, end);\n        };\n        qq.arrayBufferToHex = function(buffer) {\n            var bytesAsHex = \"\", bytes = new Uint8Array(buffer);\n            qq.each(bytes, function(idx, byt) {\n                var byteAsHexStr = byt.toString(16);\n                if (byteAsHexStr.length < 2) {\n                    byteAsHexStr = \"0\" + byteAsHexStr;\n                }\n                bytesAsHex += byteAsHexStr;\n            });\n            return bytesAsHex;\n        };\n        qq.readBlobToHex = function(blob, startOffset, length) {\n            var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length), fileReader = new FileReader(), promise = new qq.Promise();\n            fileReader.onload = function() {\n                promise.success(qq.arrayBufferToHex(fileReader.result));\n            };\n            fileReader.onerror = promise.failure;\n            fileReader.readAsArrayBuffer(initialBlob);\n            return promise;\n        };\n        qq.extend = function(first, second, extendNested) {\n            qq.each(second, function(prop, val) {\n                if (extendNested && qq.isObject(val)) {\n                    if (first[prop] === undefined) {\n                        first[prop] = {};\n                    }\n                    qq.extend(first[prop], val, true);\n                } else {\n                    first[prop] = val;\n                }\n            });\n            return first;\n        };\n        qq.override = function(target, sourceFn) {\n            var super_ = {}, source = sourceFn(super_);\n            qq.each(source, function(srcPropName, srcPropVal) {\n                if (target[srcPropName] !== undefined) {\n                    super_[srcPropName] = target[srcPropName];\n                }\n                target[srcPropName] = srcPropVal;\n            });\n            return target;\n        };\n        qq.indexOf = function(arr, elt, from) {\n            if (arr.indexOf) {\n                return arr.indexOf(elt, from);\n            }\n            from = from || 0;\n            var len = arr.length;\n            if (from < 0) {\n                from += len;\n            }\n            for (;from < len; from += 1) {\n                if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                    return from;\n                }\n            }\n            return -1;\n        };\n        qq.getUniqueId = function() {\n            return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n                var r = Math.random() * 16 | 0, v = c == \"x\" ? r : r & 3 | 8;\n                return v.toString(16);\n            });\n        };\n        qq.ie = function() {\n            return navigator.userAgent.indexOf(\"MSIE\") !== -1 || navigator.userAgent.indexOf(\"Trident\") !== -1;\n        };\n        qq.ie7 = function() {\n            return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n        };\n        qq.ie8 = function() {\n            return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n        };\n        qq.ie10 = function() {\n            return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n        };\n        qq.ie11 = function() {\n            return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n        };\n        qq.edge = function() {\n            return navigator.userAgent.indexOf(\"Edge\") >= 0;\n        };\n        qq.safari = function() {\n            return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n        };\n        qq.chrome = function() {\n            return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n        };\n        qq.opera = function() {\n            return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n        };\n        qq.firefox = function() {\n            return !qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\";\n        };\n        qq.windows = function() {\n            return navigator.platform === \"Win32\";\n        };\n        qq.android = function() {\n            return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n        };\n        qq.androidStock = function() {\n            return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n        };\n        qq.ios6 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n        };\n        qq.ios7 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n        };\n        qq.ios8 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n        };\n        qq.ios800 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n        };\n        qq.ios = function() {\n            return navigator.userAgent.indexOf(\"iPad\") !== -1 || navigator.userAgent.indexOf(\"iPod\") !== -1 || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n        };\n        qq.iosChrome = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n        };\n        qq.iosSafari = function() {\n            return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n        };\n        qq.iosSafariWebView = function() {\n            return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n        };\n        qq.preventDefault = function(e) {\n            if (e.preventDefault) {\n                e.preventDefault();\n            } else {\n                e.returnValue = false;\n            }\n        };\n        qq.toElement = function() {\n            var div = document.createElement(\"div\");\n            return function(html) {\n                div.innerHTML = html;\n                var element = div.firstChild;\n                div.removeChild(element);\n                return element;\n            };\n        }();\n        qq.each = function(iterableItem, callback) {\n            var keyOrIndex, retVal;\n            if (iterableItem) {\n                if (window.Storage && iterableItem.constructor === window.Storage) {\n                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                        retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                } else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                } else if (qq.isString(iterableItem)) {\n                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                        retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                } else {\n                    for (keyOrIndex in iterableItem) {\n                        if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                            retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                            if (retVal === false) {\n                                break;\n                            }\n                        }\n                    }\n                }\n            }\n        };\n        qq.bind = function(oldFunc, context) {\n            if (qq.isFunction(oldFunc)) {\n                var args = Array.prototype.slice.call(arguments, 2);\n                return function() {\n                    var newArgs = qq.extend([], args);\n                    if (arguments.length) {\n                        newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                    }\n                    return oldFunc.apply(context, newArgs);\n                };\n            }\n            throw new Error(\"first parameter must be a function!\");\n        };\n        qq.obj2url = function(obj, temp, prefixDone) {\n            var uristrings = [], prefix = \"&\", add = function(nextObj, i) {\n                var nextTemp = temp ? /\\[\\]$/.test(temp) ? temp : temp + \"[\" + i + \"]\" : i;\n                if (nextTemp !== \"undefined\" && i !== \"undefined\") {\n                    uristrings.push(typeof nextObj === \"object\" ? qq.obj2url(nextObj, nextTemp, true) : Object.prototype.toString.call(nextObj) === \"[object Function]\" ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj()) : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj));\n                }\n            };\n            if (!prefixDone && temp) {\n                prefix = /\\?/.test(temp) ? /\\?$/.test(temp) ? \"\" : \"&\" : \"?\";\n                uristrings.push(temp);\n                uristrings.push(qq.obj2url(obj));\n            } else if (Object.prototype.toString.call(obj) === \"[object Array]\" && typeof obj !== \"undefined\") {\n                qq.each(obj, function(idx, val) {\n                    add(val, idx);\n                });\n            } else if (typeof obj !== \"undefined\" && obj !== null && typeof obj === \"object\") {\n                qq.each(obj, function(prop, val) {\n                    add(val, prop);\n                });\n            } else {\n                uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n            }\n            if (temp) {\n                return uristrings.join(prefix);\n            } else {\n                return uristrings.join(prefix).replace(/^&/, \"\").replace(/%20/g, \"+\");\n            }\n        };\n        qq.obj2FormData = function(obj, formData, arrayKeyName) {\n            if (!formData) {\n                formData = new FormData();\n            }\n            qq.each(obj, function(key, val) {\n                key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n                if (qq.isObject(val)) {\n                    qq.obj2FormData(val, formData, key);\n                } else if (qq.isFunction(val)) {\n                    formData.append(key, val());\n                } else {\n                    formData.append(key, val);\n                }\n            });\n            return formData;\n        };\n        qq.obj2Inputs = function(obj, form) {\n            var input;\n            if (!form) {\n                form = document.createElement(\"form\");\n            }\n            qq.obj2FormData(obj, {\n                append: function(key, val) {\n                    input = document.createElement(\"input\");\n                    input.setAttribute(\"name\", key);\n                    input.setAttribute(\"value\", val);\n                    form.appendChild(input);\n                }\n            });\n            return form;\n        };\n        qq.parseJson = function(json) {\n            if (window.JSON && qq.isFunction(JSON.parse)) {\n                return JSON.parse(json);\n            } else {\n                return eval(\"(\" + json + \")\");\n            }\n        };\n        qq.getExtension = function(filename) {\n            var extIdx = filename.lastIndexOf(\".\") + 1;\n            if (extIdx > 0) {\n                return filename.substr(extIdx, filename.length - extIdx);\n            }\n        };\n        qq.getFilename = function(blobOrFileInput) {\n            if (qq.isInput(blobOrFileInput)) {\n                return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n            } else if (qq.isFile(blobOrFileInput)) {\n                if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                    return blobOrFileInput.fileName;\n                }\n            }\n            return blobOrFileInput.name;\n        };\n        qq.DisposeSupport = function() {\n            var disposers = [];\n            return {\n                dispose: function() {\n                    var disposer;\n                    do {\n                        disposer = disposers.shift();\n                        if (disposer) {\n                            disposer();\n                        }\n                    } while (disposer);\n                },\n                attach: function() {\n                    var args = arguments;\n                    this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n                },\n                addDisposer: function(disposeFunction) {\n                    disposers.push(disposeFunction);\n                }\n            };\n        };\n    })();\n    (function() {\n        \"use strict\";\n        if (typeof define === \"function\" && define.amd) {\n            define(function() {\n                return qq;\n            });\n        } else if (typeof module !== \"undefined\" && module.exports) {\n            module.exports = qq;\n        } else {\n            global.qq = qq;\n        }\n    })();\n    (function() {\n        \"use strict\";\n        qq.Error = function(message) {\n            this.message = \"[Fine Uploader \" + qq.version + \"] \" + message;\n        };\n        qq.Error.prototype = new Error();\n    })();\n    qq.version = \"5.15.0\";\n    qq.supportedFeatures = function() {\n        \"use strict\";\n        var supportsUploading, supportsUploadingBlobs, supportsFileDrop, supportsAjaxFileUploading, supportsFolderDrop, supportsChunking, supportsResume, supportsUploadViaPaste, supportsUploadCors, supportsDeleteFileXdr, supportsDeleteFileCorsXhr, supportsDeleteFileCors, supportsFolderSelection, supportsImagePreviews, supportsUploadProgress;\n        function testSupportsFileInputElement() {\n            var supported = true, tempInput;\n            try {\n                tempInput = document.createElement(\"input\");\n                tempInput.type = \"file\";\n                qq(tempInput).hide();\n                if (tempInput.disabled) {\n                    supported = false;\n                }\n            } catch (ex) {\n                supported = false;\n            }\n            return supported;\n        }\n        function isChrome21OrHigher() {\n            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n        }\n        function isChrome14OrHigher() {\n            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n        }\n        function isCrossOriginXhrSupported() {\n            if (window.XMLHttpRequest) {\n                var xhr = qq.createXhrInstance();\n                return xhr.withCredentials !== undefined;\n            }\n            return false;\n        }\n        function isXdrSupported() {\n            return window.XDomainRequest !== undefined;\n        }\n        function isCrossOriginAjaxSupported() {\n            if (isCrossOriginXhrSupported()) {\n                return true;\n            }\n            return isXdrSupported();\n        }\n        function isFolderSelectionSupported() {\n            return document.createElement(\"input\").webkitdirectory !== undefined;\n        }\n        function isLocalStorageSupported() {\n            try {\n                return !!window.localStorage && qq.isFunction(window.localStorage.setItem);\n            } catch (error) {\n                return false;\n            }\n        }\n        function isDragAndDropSupported() {\n            var span = document.createElement(\"span\");\n            return (\"draggable\" in span || \"ondragstart\" in span && \"ondrop\" in span) && !qq.android() && !qq.ios();\n        }\n        supportsUploading = testSupportsFileInputElement();\n        supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n        supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n        supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n        supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n        supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n        supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n        supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n        supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n        supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n        supportsDeleteFileXdr = isXdrSupported();\n        supportsDeleteFileCors = isCrossOriginAjaxSupported();\n        supportsFolderSelection = isFolderSelectionSupported();\n        supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n        supportsUploadProgress = function() {\n            if (supportsAjaxFileUploading) {\n                return !qq.androidStock() && !qq.iosChrome();\n            }\n            return false;\n        }();\n        return {\n            ajaxUploading: supportsAjaxFileUploading,\n            blobUploading: supportsUploadingBlobs,\n            canDetermineSize: supportsAjaxFileUploading,\n            chunking: supportsChunking,\n            deleteFileCors: supportsDeleteFileCors,\n            deleteFileCorsXdr: supportsDeleteFileXdr,\n            deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n            dialogElement: !!window.HTMLDialogElement,\n            fileDrop: supportsFileDrop,\n            folderDrop: supportsFolderDrop,\n            folderSelection: supportsFolderSelection,\n            imagePreviews: supportsImagePreviews,\n            imageValidation: supportsImagePreviews,\n            itemSizeValidation: supportsAjaxFileUploading,\n            pause: supportsChunking,\n            progressBar: supportsUploadProgress,\n            resume: supportsResume,\n            scaling: supportsImagePreviews && supportsUploadingBlobs,\n            tiffPreviews: qq.safari(),\n            unlimitedScaledImageSize: !qq.ios(),\n            uploading: supportsUploading,\n            uploadCors: supportsUploadCors,\n            uploadCustomHeaders: supportsAjaxFileUploading,\n            uploadNonMultipart: supportsAjaxFileUploading,\n            uploadViaPaste: supportsUploadViaPaste\n        };\n    }();\n    qq.isGenericPromise = function(maybePromise) {\n        \"use strict\";\n        return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n    };\n    qq.Promise = function() {\n        \"use strict\";\n        var successArgs, failureArgs, successCallbacks = [], failureCallbacks = [], doneCallbacks = [], state = 0;\n        qq.extend(this, {\n            then: function(onSuccess, onFailure) {\n                if (state === 0) {\n                    if (onSuccess) {\n                        successCallbacks.push(onSuccess);\n                    }\n                    if (onFailure) {\n                        failureCallbacks.push(onFailure);\n                    }\n                } else if (state === -1) {\n                    onFailure && onFailure.apply(null, failureArgs);\n                } else if (onSuccess) {\n                    onSuccess.apply(null, successArgs);\n                }\n                return this;\n            },\n            done: function(callback) {\n                if (state === 0) {\n                    doneCallbacks.push(callback);\n                } else {\n                    callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n                }\n                return this;\n            },\n            success: function() {\n                state = 1;\n                successArgs = arguments;\n                if (successCallbacks.length) {\n                    qq.each(successCallbacks, function(idx, callback) {\n                        callback.apply(null, successArgs);\n                    });\n                }\n                if (doneCallbacks.length) {\n                    qq.each(doneCallbacks, function(idx, callback) {\n                        callback.apply(null, successArgs);\n                    });\n                }\n                return this;\n            },\n            failure: function() {\n                state = -1;\n                failureArgs = arguments;\n                if (failureCallbacks.length) {\n                    qq.each(failureCallbacks, function(idx, callback) {\n                        callback.apply(null, failureArgs);\n                    });\n                }\n                if (doneCallbacks.length) {\n                    qq.each(doneCallbacks, function(idx, callback) {\n                        callback.apply(null, failureArgs);\n                    });\n                }\n                return this;\n            }\n        });\n    };\n    qq.BlobProxy = function(referenceBlob, onCreate) {\n        \"use strict\";\n        qq.extend(this, {\n            referenceBlob: referenceBlob,\n            create: function() {\n                return onCreate(referenceBlob);\n            }\n        });\n    };\n    qq.UploadButton = function(o) {\n        \"use strict\";\n        var self = this, disposeSupport = new qq.DisposeSupport(), options = {\n            acceptFiles: null,\n            element: null,\n            focusClass: \"qq-upload-button-focus\",\n            folders: false,\n            hoverClass: \"qq-upload-button-hover\",\n            ios8BrowserCrashWorkaround: false,\n            multiple: false,\n            name: \"qqfile\",\n            onChange: function(input) {},\n            title: null\n        }, input, buttonId;\n        qq.extend(options, o);\n        buttonId = qq.getUniqueId();\n        function createInput() {\n            var input = document.createElement(\"input\");\n            input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);\n            input.setAttribute(\"title\", options.title);\n            self.setMultiple(options.multiple, input);\n            if (options.folders && qq.supportedFeatures.folderSelection) {\n                input.setAttribute(\"webkitdirectory\", \"\");\n            }\n            if (options.acceptFiles) {\n                input.setAttribute(\"accept\", options.acceptFiles);\n            }\n            input.setAttribute(\"type\", \"file\");\n            input.setAttribute(\"name\", options.name);\n            qq(input).css({\n                position: \"absolute\",\n                right: 0,\n                top: 0,\n                fontFamily: \"Arial\",\n                fontSize: qq.ie() && !qq.ie8() ? \"3500px\" : \"118px\",\n                margin: 0,\n                padding: 0,\n                cursor: \"pointer\",\n                opacity: 0\n            });\n            !qq.ie7() && qq(input).css({\n                height: \"100%\"\n            });\n            options.element.appendChild(input);\n            disposeSupport.attach(input, \"change\", function() {\n                options.onChange(input);\n            });\n            disposeSupport.attach(input, \"mouseover\", function() {\n                qq(options.element).addClass(options.hoverClass);\n            });\n            disposeSupport.attach(input, \"mouseout\", function() {\n                qq(options.element).removeClass(options.hoverClass);\n            });\n            disposeSupport.attach(input, \"focus\", function() {\n                qq(options.element).addClass(options.focusClass);\n            });\n            disposeSupport.attach(input, \"blur\", function() {\n                qq(options.element).removeClass(options.focusClass);\n            });\n            return input;\n        }\n        qq(options.element).css({\n            position: \"relative\",\n            overflow: \"hidden\",\n            direction: \"ltr\"\n        });\n        qq.extend(this, {\n            getInput: function() {\n                return input;\n            },\n            getButtonId: function() {\n                return buttonId;\n            },\n            setMultiple: function(isMultiple, optInput) {\n                var input = optInput || this.getInput();\n                if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {\n                    input.setAttribute(\"multiple\", \"\");\n                } else {\n                    if (isMultiple) {\n                        input.setAttribute(\"multiple\", \"\");\n                    } else {\n                        input.removeAttribute(\"multiple\");\n                    }\n                }\n            },\n            setAcceptFiles: function(acceptFiles) {\n                if (acceptFiles !== options.acceptFiles) {\n                    input.setAttribute(\"accept\", acceptFiles);\n                }\n            },\n            reset: function() {\n                if (input.parentNode) {\n                    qq(input).remove();\n                }\n                qq(options.element).removeClass(options.focusClass);\n                input = null;\n                input = createInput();\n            }\n        });\n        input = createInput();\n    };\n    qq.UploadButton.BUTTON_ID_ATTR_NAME = \"qq-button-id\";\n    qq.UploadData = function(uploaderProxy) {\n        \"use strict\";\n        var data = [], byUuid = {}, byStatus = {}, byProxyGroupId = {}, byBatchId = {};\n        function getDataByIds(idOrIds) {\n            if (qq.isArray(idOrIds)) {\n                var entries = [];\n                qq.each(idOrIds, function(idx, id) {\n                    entries.push(data[id]);\n                });\n                return entries;\n            }\n            return data[idOrIds];\n        }\n        function getDataByUuids(uuids) {\n            if (qq.isArray(uuids)) {\n                var entries = [];\n                qq.each(uuids, function(idx, uuid) {\n                    entries.push(data[byUuid[uuid]]);\n                });\n                return entries;\n            }\n            return data[byUuid[uuids]];\n        }\n        function getDataByStatus(status) {\n            var statusResults = [], statuses = [].concat(status);\n            qq.each(statuses, function(index, statusEnum) {\n                var statusResultIndexes = byStatus[statusEnum];\n                if (statusResultIndexes !== undefined) {\n                    qq.each(statusResultIndexes, function(i, dataIndex) {\n                        statusResults.push(data[dataIndex]);\n                    });\n                }\n            });\n            return statusResults;\n        }\n        qq.extend(this, {\n            addFile: function(spec) {\n                var status = spec.status || qq.status.SUBMITTING, id = data.push({\n                    name: spec.name,\n                    originalName: spec.name,\n                    uuid: spec.uuid,\n                    size: spec.size == null ? -1 : spec.size,\n                    status: status\n                }) - 1;\n                if (spec.batchId) {\n                    data[id].batchId = spec.batchId;\n                    if (byBatchId[spec.batchId] === undefined) {\n                        byBatchId[spec.batchId] = [];\n                    }\n                    byBatchId[spec.batchId].push(id);\n                }\n                if (spec.proxyGroupId) {\n                    data[id].proxyGroupId = spec.proxyGroupId;\n                    if (byProxyGroupId[spec.proxyGroupId] === undefined) {\n                        byProxyGroupId[spec.proxyGroupId] = [];\n                    }\n                    byProxyGroupId[spec.proxyGroupId].push(id);\n                }\n                data[id].id = id;\n                byUuid[spec.uuid] = id;\n                if (byStatus[status] === undefined) {\n                    byStatus[status] = [];\n                }\n                byStatus[status].push(id);\n                spec.onBeforeStatusChange && spec.onBeforeStatusChange(id);\n                uploaderProxy.onStatusChange(id, null, status);\n                return id;\n            },\n            retrieve: function(optionalFilter) {\n                if (qq.isObject(optionalFilter) && data.length) {\n                    if (optionalFilter.id !== undefined) {\n                        return getDataByIds(optionalFilter.id);\n                    } else if (optionalFilter.uuid !== undefined) {\n                        return getDataByUuids(optionalFilter.uuid);\n                    } else if (optionalFilter.status) {\n                        return getDataByStatus(optionalFilter.status);\n                    }\n                } else {\n                    return qq.extend([], data, true);\n                }\n            },\n            reset: function() {\n                data = [];\n                byUuid = {};\n                byStatus = {};\n                byBatchId = {};\n            },\n            setStatus: function(id, newStatus) {\n                var oldStatus = data[id].status, byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);\n                byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);\n                data[id].status = newStatus;\n                if (byStatus[newStatus] === undefined) {\n                    byStatus[newStatus] = [];\n                }\n                byStatus[newStatus].push(id);\n                uploaderProxy.onStatusChange(id, oldStatus, newStatus);\n            },\n            uuidChanged: function(id, newUuid) {\n                var oldUuid = data[id].uuid;\n                data[id].uuid = newUuid;\n                byUuid[newUuid] = id;\n                delete byUuid[oldUuid];\n            },\n            updateName: function(id, newName) {\n                data[id].name = newName;\n            },\n            updateSize: function(id, newSize) {\n                data[id].size = newSize;\n            },\n            setParentId: function(targetId, parentId) {\n                data[targetId].parentId = parentId;\n            },\n            getIdsInProxyGroup: function(id) {\n                var proxyGroupId = data[id].proxyGroupId;\n                if (proxyGroupId) {\n                    return byProxyGroupId[proxyGroupId];\n                }\n                return [];\n            },\n            getIdsInBatch: function(id) {\n                var batchId = data[id].batchId;\n                return byBatchId[batchId];\n            }\n        });\n    };\n    qq.status = {\n        SUBMITTING: \"submitting\",\n        SUBMITTED: \"submitted\",\n        REJECTED: \"rejected\",\n        QUEUED: \"queued\",\n        CANCELED: \"canceled\",\n        PAUSED: \"paused\",\n        UPLOADING: \"uploading\",\n        UPLOAD_RETRYING: \"retrying upload\",\n        UPLOAD_SUCCESSFUL: \"upload successful\",\n        UPLOAD_FAILED: \"upload failed\",\n        DELETE_FAILED: \"delete failed\",\n        DELETING: \"deleting\",\n        DELETED: \"deleted\"\n    };\n    (function() {\n        \"use strict\";\n        qq.basePublicApi = {\n            addBlobs: function(blobDataOrArray, params, endpoint) {\n                this.addFiles(blobDataOrArray, params, endpoint);\n            },\n            addInitialFiles: function(cannedFileList) {\n                var self = this;\n                qq.each(cannedFileList, function(index, cannedFile) {\n                    self._addCannedFile(cannedFile);\n                });\n            },\n            addFiles: function(data, params, endpoint) {\n                this._maybeHandleIos8SafariWorkaround();\n                var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId, processBlob = qq.bind(function(blob) {\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName\n                    }, batchId, verifiedFiles);\n                }, this), processBlobData = qq.bind(function(blobData) {\n                    this._handleNewFile(blobData, batchId, verifiedFiles);\n                }, this), processCanvas = qq.bind(function(canvas) {\n                    var blob = qq.canvasToBlob(canvas);\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName + \".png\"\n                    }, batchId, verifiedFiles);\n                }, this), processCanvasData = qq.bind(function(canvasData) {\n                    var normalizedQuality = canvasData.quality && canvasData.quality / 100, blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);\n                    this._handleNewFile({\n                        blob: blob,\n                        name: canvasData.name\n                    }, batchId, verifiedFiles);\n                }, this), processFileOrInput = qq.bind(function(fileOrInput) {\n                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {\n                        var files = Array.prototype.slice.call(fileOrInput.files), self = this;\n                        qq.each(files, function(idx, file) {\n                            self._handleNewFile(file, batchId, verifiedFiles);\n                        });\n                    } else {\n                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);\n                    }\n                }, this), normalizeData = function() {\n                    if (qq.isFileList(data)) {\n                        data = Array.prototype.slice.call(data);\n                    }\n                    data = [].concat(data);\n                }, self = this, verifiedFiles = [];\n                this._currentBatchId = batchId;\n                if (data) {\n                    normalizeData();\n                    qq.each(data, function(idx, fileContainer) {\n                        if (qq.isFileOrInput(fileContainer)) {\n                            processFileOrInput(fileContainer);\n                        } else if (qq.isBlob(fileContainer)) {\n                            processBlob(fileContainer);\n                        } else if (qq.isObject(fileContainer)) {\n                            if (fileContainer.blob && fileContainer.name) {\n                                processBlobData(fileContainer);\n                            } else if (fileContainer.canvas && fileContainer.name) {\n                                processCanvasData(fileContainer);\n                            }\n                        } else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === \"canvas\") {\n                            processCanvas(fileContainer);\n                        } else {\n                            self.log(fileContainer + \" is not a valid file container!  Ignoring!\", \"warn\");\n                        }\n                    });\n                    this.log(\"Received \" + verifiedFiles.length + \" files.\");\n                    this._prepareItemsForUpload(verifiedFiles, params, endpoint);\n                }\n            },\n            cancel: function(id) {\n                this._handler.cancel(id);\n            },\n            cancelAll: function() {\n                var storedIdsCopy = [], self = this;\n                qq.extend(storedIdsCopy, this._storedIds);\n                qq.each(storedIdsCopy, function(idx, storedFileId) {\n                    self.cancel(storedFileId);\n                });\n                this._handler.cancelAll();\n            },\n            clearStoredFiles: function() {\n                this._storedIds = [];\n            },\n            continueUpload: function(id) {\n                var uploadData = this._uploadData.retrieve({\n                    id: id\n                });\n                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                    return false;\n                }\n                if (uploadData.status === qq.status.PAUSED) {\n                    this.log(qq.format(\"Paused file ID {} ({}) will be continued.  Not paused.\", id, this.getName(id)));\n                    this._uploadFile(id);\n                    return true;\n                } else {\n                    this.log(qq.format(\"Ignoring continue for file ID {} ({}).  Not paused.\", id, this.getName(id)), \"error\");\n                }\n                return false;\n            },\n            deleteFile: function(id) {\n                return this._onSubmitDelete(id);\n            },\n            doesExist: function(fileOrBlobId) {\n                return this._handler.isValid(fileOrBlobId);\n            },\n            drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {\n                var promiseToReturn = new qq.Promise(), fileOrUrl, options;\n                if (this._imageGenerator) {\n                    fileOrUrl = this._thumbnailUrls[fileId];\n                    options = {\n                        customResizeFunction: customResizeFunction,\n                        maxSize: maxSize > 0 ? maxSize : null,\n                        scale: maxSize > 0\n                    };\n                    if (!fromServer && qq.supportedFeatures.imagePreviews) {\n                        fileOrUrl = this.getFile(fileId);\n                    }\n                    if (fileOrUrl == null) {\n                        promiseToReturn.failure({\n                            container: imgOrCanvas,\n                            error: \"File or URL not found.\"\n                        });\n                    } else {\n                        this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(function success(modifiedContainer) {\n                            promiseToReturn.success(modifiedContainer);\n                        }, function failure(container, reason) {\n                            promiseToReturn.failure({\n                                container: container,\n                                error: reason || \"Problem generating thumbnail\"\n                            });\n                        });\n                    }\n                } else {\n                    promiseToReturn.failure({\n                        container: imgOrCanvas,\n                        error: \"Missing image generator module\"\n                    });\n                }\n                return promiseToReturn;\n            },\n            getButton: function(fileId) {\n                return this._getButton(this._buttonIdsForFileIds[fileId]);\n            },\n            getEndpoint: function(fileId) {\n                return this._endpointStore.get(fileId);\n            },\n            getFile: function(fileOrBlobId) {\n                return this._handler.getFile(fileOrBlobId) || null;\n            },\n            getInProgress: function() {\n                return this._uploadData.retrieve({\n                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED ]\n                }).length;\n            },\n            getName: function(id) {\n                return this._uploadData.retrieve({\n                    id: id\n                }).name;\n            },\n            getParentId: function(id) {\n                var uploadDataEntry = this.getUploads({\n                    id: id\n                }), parentId = null;\n                if (uploadDataEntry) {\n                    if (uploadDataEntry.parentId !== undefined) {\n                        parentId = uploadDataEntry.parentId;\n                    }\n                }\n                return parentId;\n            },\n            getResumableFilesData: function() {\n                return this._handler.getResumableFilesData();\n            },\n            getSize: function(id) {\n                return this._uploadData.retrieve({\n                    id: id\n                }).size;\n            },\n            getNetUploads: function() {\n                return this._netUploaded;\n            },\n            getRemainingAllowedItems: function() {\n                var allowedItems = this._currentItemLimit;\n                if (allowedItems > 0) {\n                    return allowedItems - this._netUploadedOrQueued;\n                }\n                return null;\n            },\n            getUploads: function(optionalFilter) {\n                return this._uploadData.retrieve(optionalFilter);\n            },\n            getUuid: function(id) {\n                return this._uploadData.retrieve({\n                    id: id\n                }).uuid;\n            },\n            log: function(str, level) {\n                if (this._options.debug && (!level || level === \"info\")) {\n                    qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str);\n                } else if (level && level !== \"info\") {\n                    qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str, level);\n                }\n            },\n            pauseUpload: function(id) {\n                var uploadData = this._uploadData.retrieve({\n                    id: id\n                });\n                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                    return false;\n                }\n                if (qq.indexOf([ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING ], uploadData.status) >= 0) {\n                    if (this._handler.pause(id)) {\n                        this._uploadData.setStatus(id, qq.status.PAUSED);\n                        return true;\n                    } else {\n                        this.log(qq.format(\"Unable to pause file ID {} ({}).\", id, this.getName(id)), \"error\");\n                    }\n                } else {\n                    this.log(qq.format(\"Ignoring pause for file ID {} ({}).  Not in progress.\", id, this.getName(id)), \"error\");\n                }\n                return false;\n            },\n            removeFileRef: function(id) {\n                this._handler.expunge(id);\n            },\n            reset: function() {\n                this.log(\"Resetting uploader...\");\n                this._handler.reset();\n                this._storedIds = [];\n                this._autoRetries = [];\n                this._retryTimeouts = [];\n                this._preventRetries = [];\n                this._thumbnailUrls = [];\n                qq.each(this._buttons, function(idx, button) {\n                    button.reset();\n                });\n                this._paramsStore.reset();\n                this._endpointStore.reset();\n                this._netUploadedOrQueued = 0;\n                this._netUploaded = 0;\n                this._uploadData.reset();\n                this._buttonIdsForFileIds = [];\n                this._pasteHandler && this._pasteHandler.reset();\n                this._options.session.refreshOnReset && this._refreshSessionData();\n                this._succeededSinceLastAllComplete = [];\n                this._failedSinceLastAllComplete = [];\n                this._totalProgress && this._totalProgress.reset();\n            },\n            retry: function(id) {\n                return this._manualRetry(id);\n            },\n            scaleImage: function(id, specs) {\n                var self = this;\n                return qq.Scaler.prototype.scaleImage(id, specs, {\n                    log: qq.bind(self.log, self),\n                    getFile: qq.bind(self.getFile, self),\n                    uploadData: self._uploadData\n                });\n            },\n            setCustomHeaders: function(headers, id) {\n                this._customHeadersStore.set(headers, id);\n            },\n            setDeleteFileCustomHeaders: function(headers, id) {\n                this._deleteFileCustomHeadersStore.set(headers, id);\n            },\n            setDeleteFileEndpoint: function(endpoint, id) {\n                this._deleteFileEndpointStore.set(endpoint, id);\n            },\n            setDeleteFileParams: function(params, id) {\n                this._deleteFileParamsStore.set(params, id);\n            },\n            setEndpoint: function(endpoint, id) {\n                this._endpointStore.set(endpoint, id);\n            },\n            setForm: function(elementOrId) {\n                this._updateFormSupportAndParams(elementOrId);\n            },\n            setItemLimit: function(newItemLimit) {\n                this._currentItemLimit = newItemLimit;\n            },\n            setName: function(id, newName) {\n                this._uploadData.updateName(id, newName);\n            },\n            setParams: function(params, id) {\n                this._paramsStore.set(params, id);\n            },\n            setUuid: function(id, newUuid) {\n                return this._uploadData.uuidChanged(id, newUuid);\n            },\n            setStatus: function(id, newStatus) {\n                var fileRecord = this.getUploads({\n                    id: id\n                });\n                if (!fileRecord) {\n                    throw new qq.Error(id + \" is not a valid file ID.\");\n                }\n                switch (newStatus) {\n                  case qq.status.DELETED:\n                    this._onDeleteComplete(id, null, false);\n                    break;\n\n                  case qq.status.DELETE_FAILED:\n                    this._onDeleteComplete(id, null, true);\n                    break;\n\n                  default:\n                    var errorMessage = \"Method setStatus called on '\" + name + \"' not implemented yet for \" + newStatus;\n                    this.log(errorMessage);\n                    throw new qq.Error(errorMessage);\n                }\n            },\n            uploadStoredFiles: function() {\n                if (this._storedIds.length === 0) {\n                    this._itemError(\"noFilesError\");\n                } else {\n                    this._uploadStoredFiles();\n                }\n            }\n        };\n        qq.basePrivateApi = {\n            _addCannedFile: function(sessionData) {\n                var self = this;\n                return this._uploadData.addFile({\n                    uuid: sessionData.uuid,\n                    name: sessionData.name,\n                    size: sessionData.size,\n                    status: qq.status.UPLOAD_SUCCESSFUL,\n                    onBeforeStatusChange: function(id) {\n                        sessionData.deleteFileEndpoint && self.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);\n                        sessionData.deleteFileParams && self.setDeleteFileParams(sessionData.deleteFileParams, id);\n                        if (sessionData.thumbnailUrl) {\n                            self._thumbnailUrls[id] = sessionData.thumbnailUrl;\n                        }\n                        self._netUploaded++;\n                        self._netUploadedOrQueued++;\n                    }\n                });\n            },\n            _annotateWithButtonId: function(file, associatedInput) {\n                if (qq.isFile(file)) {\n                    file.qqButtonId = this._getButtonId(associatedInput);\n                }\n            },\n            _batchError: function(message) {\n                this._options.callbacks.onError(null, null, message, undefined);\n            },\n            _createDeleteHandler: function() {\n                var self = this;\n                return new qq.DeleteFileAjaxRequester({\n                    method: this._options.deleteFile.method.toUpperCase(),\n                    maxConnections: this._options.maxConnections,\n                    uuidParamName: this._options.request.uuidName,\n                    customHeaders: this._deleteFileCustomHeadersStore,\n                    paramsStore: this._deleteFileParamsStore,\n                    endpointStore: this._deleteFileEndpointStore,\n                    cors: this._options.cors,\n                    log: qq.bind(self.log, self),\n                    onDelete: function(id) {\n                        self._onDelete(id);\n                        self._options.callbacks.onDelete(id);\n                    },\n                    onDeleteComplete: function(id, xhrOrXdr, isError) {\n                        self._onDeleteComplete(id, xhrOrXdr, isError);\n                        self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);\n                    }\n                });\n            },\n            _createPasteHandler: function() {\n                var self = this;\n                return new qq.PasteSupport({\n                    targetElement: this._options.paste.targetElement,\n                    callbacks: {\n                        log: qq.bind(self.log, self),\n                        pasteReceived: function(blob) {\n                            self._handleCheckedCallback({\n                                name: \"onPasteReceived\",\n                                callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),\n                                onSuccess: qq.bind(self._handlePasteSuccess, self, blob),\n                                identifier: \"pasted image\"\n                            });\n                        }\n                    }\n                });\n            },\n            _createStore: function(initialValue, _readOnlyValues_) {\n                var store = {}, catchall = initialValue, perIdReadOnlyValues = {}, readOnlyValues = _readOnlyValues_, copy = function(orig) {\n                    if (qq.isObject(orig)) {\n                        return qq.extend({}, orig);\n                    }\n                    return orig;\n                }, getReadOnlyValues = function() {\n                    if (qq.isFunction(readOnlyValues)) {\n                        return readOnlyValues();\n                    }\n                    return readOnlyValues;\n                }, includeReadOnlyValues = function(id, existing) {\n                    if (readOnlyValues && qq.isObject(existing)) {\n                        qq.extend(existing, getReadOnlyValues());\n                    }\n                    if (perIdReadOnlyValues[id]) {\n                        qq.extend(existing, perIdReadOnlyValues[id]);\n                    }\n                };\n                return {\n                    set: function(val, id) {\n                        if (id == null) {\n                            store = {};\n                            catchall = copy(val);\n                        } else {\n                            store[id] = copy(val);\n                        }\n                    },\n                    get: function(id) {\n                        var values;\n                        if (id != null && store[id]) {\n                            values = store[id];\n                        } else {\n                            values = copy(catchall);\n                        }\n                        includeReadOnlyValues(id, values);\n                        return copy(values);\n                    },\n                    addReadOnly: function(id, values) {\n                        if (qq.isObject(store)) {\n                            if (id === null) {\n                                if (qq.isFunction(values)) {\n                                    readOnlyValues = values;\n                                } else {\n                                    readOnlyValues = readOnlyValues || {};\n                                    qq.extend(readOnlyValues, values);\n                                }\n                            } else {\n                                perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};\n                                qq.extend(perIdReadOnlyValues[id], values);\n                            }\n                        }\n                    },\n                    remove: function(fileId) {\n                        return delete store[fileId];\n                    },\n                    reset: function() {\n                        store = {};\n                        perIdReadOnlyValues = {};\n                        catchall = initialValue;\n                    }\n                };\n            },\n            _createUploadDataTracker: function() {\n                var self = this;\n                return new qq.UploadData({\n                    getName: function(id) {\n                        return self.getName(id);\n                    },\n                    getUuid: function(id) {\n                        return self.getUuid(id);\n                    },\n                    getSize: function(id) {\n                        return self.getSize(id);\n                    },\n                    onStatusChange: function(id, oldStatus, newStatus) {\n                        self._onUploadStatusChange(id, oldStatus, newStatus);\n                        self._options.callbacks.onStatusChange(id, oldStatus, newStatus);\n                        self._maybeAllComplete(id, newStatus);\n                        if (self._totalProgress) {\n                            setTimeout(function() {\n                                self._totalProgress.onStatusChange(id, oldStatus, newStatus);\n                            }, 0);\n                        }\n                    }\n                });\n            },\n            _createUploadButton: function(spec) {\n                var self = this, acceptFiles = spec.accept || this._options.validation.acceptFiles, allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions, button;\n                function allowMultiple() {\n                    if (qq.supportedFeatures.ajaxUploading) {\n                        if (self._options.workarounds.iosEmptyVideos && qq.ios() && !qq.ios6() && self._isAllowedExtension(allowedExtensions, \".mov\")) {\n                            return false;\n                        }\n                        if (spec.multiple === undefined) {\n                            return self._options.multiple;\n                        }\n                        return spec.multiple;\n                    }\n                    return false;\n                }\n                button = new qq.UploadButton({\n                    acceptFiles: acceptFiles,\n                    element: spec.element,\n                    focusClass: this._options.classes.buttonFocus,\n                    folders: spec.folders,\n                    hoverClass: this._options.classes.buttonHover,\n                    ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,\n                    multiple: allowMultiple(),\n                    name: this._options.request.inputName,\n                    onChange: function(input) {\n                        self._onInputChange(input);\n                    },\n                    title: spec.title == null ? this._options.text.fileInputTitle : spec.title\n                });\n                this._disposeSupport.addDisposer(function() {\n                    button.dispose();\n                });\n                self._buttons.push(button);\n                return button;\n            },\n            _createUploadHandler: function(additionalOptions, namespace) {\n                var self = this, lastOnProgress = {}, options = {\n                    debug: this._options.debug,\n                    maxConnections: this._options.maxConnections,\n                    cors: this._options.cors,\n                    paramsStore: this._paramsStore,\n                    endpointStore: this._endpointStore,\n                    chunking: this._options.chunking,\n                    resume: this._options.resume,\n                    blobs: this._options.blobs,\n                    log: qq.bind(self.log, self),\n                    preventRetryParam: this._options.retry.preventRetryResponseProperty,\n                    onProgress: function(id, name, loaded, total) {\n                        if (loaded < 0 || total < 0) {\n                            return;\n                        }\n                        if (lastOnProgress[id]) {\n                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {\n                                self._onProgress(id, name, loaded, total);\n                                self._options.callbacks.onProgress(id, name, loaded, total);\n                            }\n                        } else {\n                            self._onProgress(id, name, loaded, total);\n                            self._options.callbacks.onProgress(id, name, loaded, total);\n                        }\n                        lastOnProgress[id] = {\n                            loaded: loaded,\n                            total: total\n                        };\n                    },\n                    onComplete: function(id, name, result, xhr) {\n                        delete lastOnProgress[id];\n                        var status = self.getUploads({\n                            id: id\n                        }).status, retVal;\n                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {\n                            return;\n                        }\n                        retVal = self._onComplete(id, name, result, xhr);\n                        if (retVal instanceof qq.Promise) {\n                            retVal.done(function() {\n                                self._options.callbacks.onComplete(id, name, result, xhr);\n                            });\n                        } else {\n                            self._options.callbacks.onComplete(id, name, result, xhr);\n                        }\n                    },\n                    onCancel: function(id, name, cancelFinalizationEffort) {\n                        var promise = new qq.Promise();\n                        self._handleCheckedCallback({\n                            name: \"onCancel\",\n                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),\n                            onFailure: promise.failure,\n                            onSuccess: function() {\n                                cancelFinalizationEffort.then(function() {\n                                    self._onCancel(id, name);\n                                });\n                                promise.success();\n                            },\n                            identifier: id\n                        });\n                        return promise;\n                    },\n                    onUploadPrep: qq.bind(this._onUploadPrep, this),\n                    onUpload: function(id, name) {\n                        self._onUpload(id, name);\n                        self._options.callbacks.onUpload(id, name);\n                    },\n                    onUploadChunk: function(id, name, chunkData) {\n                        self._onUploadChunk(id, chunkData);\n                        self._options.callbacks.onUploadChunk(id, name, chunkData);\n                    },\n                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {\n                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);\n                    },\n                    onResume: function(id, name, chunkData) {\n                        return self._options.callbacks.onResume(id, name, chunkData);\n                    },\n                    onAutoRetry: function(id, name, responseJSON, xhr) {\n                        return self._onAutoRetry.apply(self, arguments);\n                    },\n                    onUuidChanged: function(id, newUuid) {\n                        self.log(\"Server requested UUID change from '\" + self.getUuid(id) + \"' to '\" + newUuid + \"'\");\n                        self.setUuid(id, newUuid);\n                    },\n                    getName: qq.bind(self.getName, self),\n                    getUuid: qq.bind(self.getUuid, self),\n                    getSize: qq.bind(self.getSize, self),\n                    setSize: qq.bind(self._setSize, self),\n                    getDataByUuid: function(uuid) {\n                        return self.getUploads({\n                            uuid: uuid\n                        });\n                    },\n                    isQueued: function(id) {\n                        var status = self.getUploads({\n                            id: id\n                        }).status;\n                        return status === qq.status.QUEUED || status === qq.status.SUBMITTED || status === qq.status.UPLOAD_RETRYING || status === qq.status.PAUSED;\n                    },\n                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,\n                    getIdsInBatch: self._uploadData.getIdsInBatch\n                };\n                qq.each(this._options.request, function(prop, val) {\n                    options[prop] = val;\n                });\n                options.customHeaders = this._customHeadersStore;\n                if (additionalOptions) {\n                    qq.each(additionalOptions, function(key, val) {\n                        options[key] = val;\n                    });\n                }\n                return new qq.UploadHandlerController(options, namespace);\n            },\n            _fileOrBlobRejected: function(id) {\n                this._netUploadedOrQueued--;\n                this._uploadData.setStatus(id, qq.status.REJECTED);\n            },\n            _formatSize: function(bytes) {\n                if (bytes === 0) {\n                    return bytes + this._options.text.sizeSymbols[0];\n                }\n                var i = -1;\n                do {\n                    bytes = bytes / 1e3;\n                    i++;\n                } while (bytes > 999);\n                return Math.max(bytes, .1).toFixed(1) + this._options.text.sizeSymbols[i];\n            },\n            _generateExtraButtonSpecs: function() {\n                var self = this;\n                this._extraButtonSpecs = {};\n                qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {\n                    var multiple = extraButtonOptionEntry.multiple, validation = qq.extend({}, self._options.validation, true), extraButtonSpec = qq.extend({}, extraButtonOptionEntry);\n                    if (multiple === undefined) {\n                        multiple = self._options.multiple;\n                    }\n                    if (extraButtonSpec.validation) {\n                        qq.extend(validation, extraButtonOptionEntry.validation, true);\n                    }\n                    qq.extend(extraButtonSpec, {\n                        multiple: multiple,\n                        validation: validation\n                    }, true);\n                    self._initExtraButton(extraButtonSpec);\n                });\n            },\n            _getButton: function(buttonId) {\n                var extraButtonsSpec = this._extraButtonSpecs[buttonId];\n                if (extraButtonsSpec) {\n                    return extraButtonsSpec.element;\n                } else if (buttonId === this._defaultButtonId) {\n                    return this._options.button;\n                }\n            },\n            _getButtonId: function(buttonOrFileInputOrFile) {\n                var inputs, fileInput, fileBlobOrInput = buttonOrFileInputOrFile;\n                if (fileBlobOrInput instanceof qq.BlobProxy) {\n                    fileBlobOrInput = fileBlobOrInput.referenceBlob;\n                }\n                if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {\n                    if (qq.isFile(fileBlobOrInput)) {\n                        return fileBlobOrInput.qqButtonId;\n                    } else if (fileBlobOrInput.tagName.toLowerCase() === \"input\" && fileBlobOrInput.type.toLowerCase() === \"file\") {\n                        return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                    }\n                    inputs = fileBlobOrInput.getElementsByTagName(\"input\");\n                    qq.each(inputs, function(idx, input) {\n                        if (input.getAttribute(\"type\") === \"file\") {\n                            fileInput = input;\n                            return false;\n                        }\n                    });\n                    if (fileInput) {\n                        return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                    }\n                }\n            },\n            _getNotFinished: function() {\n                return this._uploadData.retrieve({\n                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED, qq.status.SUBMITTING, qq.status.SUBMITTED, qq.status.PAUSED ]\n                }).length;\n            },\n            _getValidationBase: function(buttonId) {\n                var extraButtonSpec = this._extraButtonSpecs[buttonId];\n                return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;\n            },\n            _getValidationDescriptor: function(fileWrapper) {\n                if (fileWrapper.file instanceof qq.BlobProxy) {\n                    return {\n                        name: qq.getFilename(fileWrapper.file.referenceBlob),\n                        size: fileWrapper.file.referenceBlob.size\n                    };\n                }\n                return {\n                    name: this.getUploads({\n                        id: fileWrapper.id\n                    }).name,\n                    size: this.getUploads({\n                        id: fileWrapper.id\n                    }).size\n                };\n            },\n            _getValidationDescriptors: function(fileWrappers) {\n                var self = this, fileDescriptors = [];\n                qq.each(fileWrappers, function(idx, fileWrapper) {\n                    fileDescriptors.push(self._getValidationDescriptor(fileWrapper));\n                });\n                return fileDescriptors;\n            },\n            _handleCameraAccess: function() {\n                if (this._options.camera.ios && qq.ios()) {\n                    var acceptIosCamera = \"image/*;capture=camera\", button = this._options.camera.button, buttonId = button ? this._getButtonId(button) : this._defaultButtonId, optionRoot = this._options;\n                    if (buttonId && buttonId !== this._defaultButtonId) {\n                        optionRoot = this._extraButtonSpecs[buttonId];\n                    }\n                    optionRoot.multiple = false;\n                    if (optionRoot.validation.acceptFiles === null) {\n                        optionRoot.validation.acceptFiles = acceptIosCamera;\n                    } else {\n                        optionRoot.validation.acceptFiles += \",\" + acceptIosCamera;\n                    }\n                    qq.each(this._buttons, function(idx, button) {\n                        if (button.getButtonId() === buttonId) {\n                            button.setMultiple(optionRoot.multiple);\n                            button.setAcceptFiles(optionRoot.acceptFiles);\n                            return false;\n                        }\n                    });\n                }\n            },\n            _handleCheckedCallback: function(details) {\n                var self = this, callbackRetVal = details.callback();\n                if (qq.isGenericPromise(callbackRetVal)) {\n                    this.log(details.name + \" - waiting for \" + details.name + \" promise to be fulfilled for \" + details.identifier);\n                    return callbackRetVal.then(function(successParam) {\n                        self.log(details.name + \" promise success for \" + details.identifier);\n                        details.onSuccess(successParam);\n                    }, function() {\n                        if (details.onFailure) {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                            details.onFailure();\n                        } else {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                        }\n                    });\n                }\n                if (callbackRetVal !== false) {\n                    details.onSuccess(callbackRetVal);\n                } else {\n                    if (details.onFailure) {\n                        this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Invoking failure callback.\");\n                        details.onFailure();\n                    } else {\n                        this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Will not proceed.\");\n                    }\n                }\n                return callbackRetVal;\n            },\n            _handleNewFile: function(file, batchId, newFileWrapperList) {\n                var self = this, uuid = qq.getUniqueId(), size = -1, name = qq.getFilename(file), actualFile = file.blob || file, handler = this._customNewFileHandler ? this._customNewFileHandler : qq.bind(self._handleNewFileGeneric, self);\n                if (!qq.isInput(actualFile) && actualFile.size >= 0) {\n                    size = actualFile.size;\n                }\n                handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {\n                    uploadData: self._uploadData,\n                    paramsStore: self._paramsStore,\n                    addFileToHandler: function(id, file) {\n                        self._handler.add(id, file);\n                        self._netUploadedOrQueued++;\n                        self._trackButton(id);\n                    }\n                });\n            },\n            _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {\n                var id = this._uploadData.addFile({\n                    uuid: uuid,\n                    name: name,\n                    size: size,\n                    batchId: batchId\n                });\n                this._handler.add(id, file);\n                this._trackButton(id);\n                this._netUploadedOrQueued++;\n                fileList.push({\n                    id: id,\n                    file: file\n                });\n            },\n            _handlePasteSuccess: function(blob, extSuppliedName) {\n                var extension = blob.type.split(\"/\")[1], name = extSuppliedName;\n                if (name == null) {\n                    name = this._options.paste.defaultName;\n                }\n                name += \".\" + extension;\n                this.addFiles({\n                    name: name,\n                    blob: blob\n                });\n            },\n            _handleDeleteSuccess: function(id) {\n                if (this.getUploads({\n                    id: id\n                }).status !== qq.status.DELETED) {\n                    var name = this.getName(id);\n                    this._netUploadedOrQueued--;\n                    this._netUploaded--;\n                    this._handler.expunge(id);\n                    this._uploadData.setStatus(id, qq.status.DELETED);\n                    this.log(\"Delete request for '\" + name + \"' has succeeded.\");\n                }\n            },\n            _handleDeleteFailed: function(id, xhrOrXdr) {\n                var name = this.getName(id);\n                this._uploadData.setStatus(id, qq.status.DELETE_FAILED);\n                this.log(\"Delete request for '\" + name + \"' has failed.\", \"error\");\n                if (!xhrOrXdr || xhrOrXdr.withCredentials === undefined) {\n                    this._options.callbacks.onError(id, name, \"Delete request failed\", xhrOrXdr);\n                } else {\n                    this._options.callbacks.onError(id, name, \"Delete request failed with response code \" + xhrOrXdr.status, xhrOrXdr);\n                }\n            },\n            _initExtraButton: function(spec) {\n                var button = this._createUploadButton({\n                    accept: spec.validation.acceptFiles,\n                    allowedExtensions: spec.validation.allowedExtensions,\n                    element: spec.element,\n                    folders: spec.folders,\n                    multiple: spec.multiple,\n                    title: spec.fileInputTitle\n                });\n                this._extraButtonSpecs[button.getButtonId()] = spec;\n            },\n            _initFormSupportAndParams: function() {\n                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));\n                if (this._formSupport && this._formSupport.attachedToForm) {\n                    this._paramsStore = this._createStore(this._options.request.params, this._formSupport.getFormInputsAsObject);\n                    this._options.autoUpload = this._formSupport.newAutoUpload;\n                    if (this._formSupport.newEndpoint) {\n                        this._options.request.endpoint = this._formSupport.newEndpoint;\n                    }\n                } else {\n                    this._paramsStore = this._createStore(this._options.request.params);\n                }\n            },\n            _isDeletePossible: function() {\n                if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {\n                    return false;\n                }\n                if (this._options.cors.expected) {\n                    if (qq.supportedFeatures.deleteFileCorsXhr) {\n                        return true;\n                    }\n                    if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {\n                        return true;\n                    }\n                    return false;\n                }\n                return true;\n            },\n            _isAllowedExtension: function(allowed, fileName) {\n                var valid = false;\n                if (!allowed.length) {\n                    return true;\n                }\n                qq.each(allowed, function(idx, allowedExt) {\n                    if (qq.isString(allowedExt)) {\n                        var extRegex = new RegExp(\"\\\\.\" + allowedExt + \"$\", \"i\");\n                        if (fileName.match(extRegex) != null) {\n                            valid = true;\n                            return false;\n                        }\n                    }\n                });\n                return valid;\n            },\n            _itemError: function(code, maybeNameOrNames, item) {\n                var message = this._options.messages[code], allowedExtensions = [], names = [].concat(maybeNameOrNames), name = names[0], buttonId = this._getButtonId(item), validationBase = this._getValidationBase(buttonId), extensionsForMessage, placeholderMatch;\n                function r(name, replacement) {\n                    message = message.replace(name, replacement);\n                }\n                qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {\n                    if (qq.isString(allowedExtension)) {\n                        allowedExtensions.push(allowedExtension);\n                    }\n                });\n                extensionsForMessage = allowedExtensions.join(\", \").toLowerCase();\n                r(\"{file}\", this._options.formatFileName(name));\n                r(\"{extensions}\", extensionsForMessage);\n                r(\"{sizeLimit}\", this._formatSize(validationBase.sizeLimit));\n                r(\"{minSizeLimit}\", this._formatSize(validationBase.minSizeLimit));\n                placeholderMatch = message.match(/(\\{\\w+\\})/g);\n                if (placeholderMatch !== null) {\n                    qq.each(placeholderMatch, function(idx, placeholder) {\n                        r(placeholder, names[idx]);\n                    });\n                }\n                this._options.callbacks.onError(null, name, message, undefined);\n                return message;\n            },\n            _manualRetry: function(id, callback) {\n                if (this._onBeforeManualRetry(id)) {\n                    this._netUploadedOrQueued++;\n                    this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n                    if (callback) {\n                        callback(id);\n                    } else {\n                        this._handler.retry(id);\n                    }\n                    return true;\n                }\n            },\n            _maybeAllComplete: function(id, status) {\n                var self = this, notFinished = this._getNotFinished();\n                if (status === qq.status.UPLOAD_SUCCESSFUL) {\n                    this._succeededSinceLastAllComplete.push(id);\n                } else if (status === qq.status.UPLOAD_FAILED) {\n                    this._failedSinceLastAllComplete.push(id);\n                }\n                if (notFinished === 0 && (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {\n                    setTimeout(function() {\n                        self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);\n                    }, 0);\n                }\n            },\n            _maybeHandleIos8SafariWorkaround: function() {\n                var self = this;\n                if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n                    setTimeout(function() {\n                        window.alert(self._options.messages.unsupportedBrowserIos8Safari);\n                    }, 0);\n                    throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);\n                }\n            },\n            _maybeParseAndSendUploadError: function(id, name, response, xhr) {\n                if (!response.success) {\n                    if (xhr && xhr.status !== 200 && !response.error) {\n                        this._options.callbacks.onError(id, name, \"XHR returned response code \" + xhr.status, xhr);\n                    } else {\n                        var errorReason = response.error ? response.error : this._options.text.defaultResponseError;\n                        this._options.callbacks.onError(id, name, errorReason, xhr);\n                    }\n                }\n            },\n            _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {\n                var self = this;\n                if (items.length > index) {\n                    if (validItem || !this._options.validation.stopOnFirstInvalidFile) {\n                        setTimeout(function() {\n                            var validationDescriptor = self._getValidationDescriptor(items[index]), buttonId = self._getButtonId(items[index].file), button = self._getButton(buttonId);\n                            self._handleCheckedCallback({\n                                name: \"onValidate\",\n                                callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),\n                                onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),\n                                onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),\n                                identifier: \"Item '\" + validationDescriptor.name + \"', size: \" + validationDescriptor.size\n                            });\n                        }, 0);\n                    } else if (!validItem) {\n                        for (;index < items.length; index++) {\n                            self._fileOrBlobRejected(items[index].id);\n                        }\n                    }\n                }\n            },\n            _onAllComplete: function(successful, failed) {\n                this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);\n                this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));\n                this._succeededSinceLastAllComplete = [];\n                this._failedSinceLastAllComplete = [];\n            },\n            _onAutoRetry: function(id, name, responseJSON, xhr, callback) {\n                var self = this;\n                self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];\n                if (self._shouldAutoRetry(id, name, responseJSON)) {\n                    var retryWaitPeriod = self._options.retry.autoAttemptDelay * 1e3;\n                    self._maybeParseAndSendUploadError.apply(self, arguments);\n                    self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);\n                    self._onBeforeAutoRetry(id, name);\n                    self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n                    self._retryTimeouts[id] = setTimeout(function() {\n                        self.log(\"Starting retry for \" + name + \"...\");\n                        if (callback) {\n                            callback(id);\n                        } else {\n                            self._handler.retry(id);\n                        }\n                    }, retryWaitPeriod);\n                    return true;\n                }\n            },\n            _onBeforeAutoRetry: function(id, name) {\n                this.log(\"Waiting \" + this._options.retry.autoAttemptDelay + \" seconds before retrying \" + name + \"...\");\n            },\n            _onBeforeManualRetry: function(id) {\n                var itemLimit = this._currentItemLimit, fileName;\n                if (this._preventRetries[id]) {\n                    this.log(\"Retries are forbidden for id \" + id, \"warn\");\n                    return false;\n                } else if (this._handler.isValid(id)) {\n                    fileName = this.getName(id);\n                    if (this._options.callbacks.onManualRetry(id, fileName) === false) {\n                        return false;\n                    }\n                    if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {\n                        this._itemError(\"retryFailTooManyItems\");\n                        return false;\n                    }\n                    this.log(\"Retrying upload for '\" + fileName + \"' (id: \" + id + \")...\");\n                    return true;\n                } else {\n                    this.log(\"'\" + id + \"' is not a valid file ID\", \"error\");\n                    return false;\n                }\n            },\n            _onCancel: function(id, name) {\n                this._netUploadedOrQueued--;\n                clearTimeout(this._retryTimeouts[id]);\n                var storedItemIndex = qq.indexOf(this._storedIds, id);\n                if (!this._options.autoUpload && storedItemIndex >= 0) {\n                    this._storedIds.splice(storedItemIndex, 1);\n                }\n                this._uploadData.setStatus(id, qq.status.CANCELED);\n            },\n            _onComplete: function(id, name, result, xhr) {\n                if (!result.success) {\n                    this._netUploadedOrQueued--;\n                    this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);\n                    if (result[this._options.retry.preventRetryResponseProperty] === true) {\n                        this._preventRetries[id] = true;\n                    }\n                } else {\n                    if (result.thumbnailUrl) {\n                        this._thumbnailUrls[id] = result.thumbnailUrl;\n                    }\n                    this._netUploaded++;\n                    this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);\n                }\n                this._maybeParseAndSendUploadError(id, name, result, xhr);\n                return result.success ? true : false;\n            },\n            _onDelete: function(id) {\n                this._uploadData.setStatus(id, qq.status.DELETING);\n            },\n            _onDeleteComplete: function(id, xhrOrXdr, isError) {\n                var name = this.getName(id);\n                if (isError) {\n                    this._handleDeleteFailed(id, xhrOrXdr);\n                } else {\n                    this._handleDeleteSuccess(id);\n                }\n            },\n            _onInputChange: function(input) {\n                var fileIndex;\n                if (qq.supportedFeatures.ajaxUploading) {\n                    for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {\n                        this._annotateWithButtonId(input.files[fileIndex], input);\n                    }\n                    this.addFiles(input.files);\n                } else if (input.value.length > 0) {\n                    this.addFiles(input);\n                }\n                qq.each(this._buttons, function(idx, button) {\n                    button.reset();\n                });\n            },\n            _onProgress: function(id, name, loaded, total) {\n                this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);\n            },\n            _onSubmit: function(id, name) {},\n            _onSubmitCallbackSuccess: function(id, name) {\n                this._onSubmit.apply(this, arguments);\n                this._uploadData.setStatus(id, qq.status.SUBMITTED);\n                this._onSubmitted.apply(this, arguments);\n                if (this._options.autoUpload) {\n                    this._options.callbacks.onSubmitted.apply(this, arguments);\n                    this._uploadFile(id);\n                } else {\n                    this._storeForLater(id);\n                    this._options.callbacks.onSubmitted.apply(this, arguments);\n                }\n            },\n            _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {\n                var uuid = this.getUuid(id), adjustedOnSuccessCallback;\n                if (onSuccessCallback) {\n                    adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);\n                }\n                if (this._isDeletePossible()) {\n                    this._handleCheckedCallback({\n                        name: \"onSubmitDelete\",\n                        callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),\n                        onSuccess: adjustedOnSuccessCallback || qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),\n                        identifier: id\n                    });\n                    return true;\n                } else {\n                    this.log(\"Delete request ignored for ID \" + id + \", delete feature is disabled or request not possible \" + \"due to CORS on a user agent that does not support pre-flighting.\", \"warn\");\n                    return false;\n                }\n            },\n            _onSubmitted: function(id) {},\n            _onTotalProgress: function(loaded, total) {\n                this._options.callbacks.onTotalProgress(loaded, total);\n            },\n            _onUploadPrep: function(id) {},\n            _onUpload: function(id, name) {\n                this._uploadData.setStatus(id, qq.status.UPLOADING);\n            },\n            _onUploadChunk: function(id, chunkData) {},\n            _onUploadStatusChange: function(id, oldStatus, newStatus) {\n                if (newStatus === qq.status.PAUSED) {\n                    clearTimeout(this._retryTimeouts[id]);\n                }\n            },\n            _onValidateBatchCallbackFailure: function(fileWrappers) {\n                var self = this;\n                qq.each(fileWrappers, function(idx, fileWrapper) {\n                    self._fileOrBlobRejected(fileWrapper.id);\n                });\n            },\n            _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {\n                var errorMessage, itemLimit = this._currentItemLimit, proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;\n                if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {\n                    if (items.length > 0) {\n                        this._handleCheckedCallback({\n                            name: \"onValidate\",\n                            callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),\n                            onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),\n                            onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),\n                            identifier: \"Item '\" + items[0].file.name + \"', size: \" + items[0].file.size\n                        });\n                    } else {\n                        this._itemError(\"noFilesError\");\n                    }\n                } else {\n                    this._onValidateBatchCallbackFailure(items);\n                    errorMessage = this._options.messages.tooManyItemsError.replace(/\\{netItems\\}/g, proposedNetFilesUploadedOrQueued).replace(/\\{itemLimit\\}/g, itemLimit);\n                    this._batchError(errorMessage);\n                }\n            },\n            _onValidateCallbackFailure: function(items, index, params, endpoint) {\n                var nextIndex = index + 1;\n                this._fileOrBlobRejected(items[index].id, items[index].file.name);\n                this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n            },\n            _onValidateCallbackSuccess: function(items, index, params, endpoint) {\n                var self = this, nextIndex = index + 1, validationDescriptor = this._getValidationDescriptor(items[index]);\n                this._validateFileOrBlobData(items[index], validationDescriptor).then(function() {\n                    self._upload(items[index].id, params, endpoint);\n                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);\n                }, function() {\n                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n                });\n            },\n            _prepareItemsForUpload: function(items, params, endpoint) {\n                if (items.length === 0) {\n                    this._itemError(\"noFilesError\");\n                    return;\n                }\n                var validationDescriptors = this._getValidationDescriptors(items), buttonId = this._getButtonId(items[0].file), button = this._getButton(buttonId);\n                this._handleCheckedCallback({\n                    name: \"onValidateBatch\",\n                    callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),\n                    onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),\n                    onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),\n                    identifier: \"batch validation\"\n                });\n            },\n            _preventLeaveInProgress: function() {\n                var self = this;\n                this._disposeSupport.attach(window, \"beforeunload\", function(e) {\n                    if (self.getInProgress()) {\n                        e = e || window.event;\n                        e.returnValue = self._options.messages.onLeave;\n                        return self._options.messages.onLeave;\n                    }\n                });\n            },\n            _refreshSessionData: function() {\n                var self = this, options = this._options.session;\n                if (qq.Session && this._options.session.endpoint != null) {\n                    if (!this._session) {\n                        qq.extend(options, {\n                            cors: this._options.cors\n                        });\n                        options.log = qq.bind(this.log, this);\n                        options.addFileRecord = qq.bind(this._addCannedFile, this);\n                        this._session = new qq.Session(options);\n                    }\n                    setTimeout(function() {\n                        self._session.refresh().then(function(response, xhrOrXdr) {\n                            self._sessionRequestComplete();\n                            self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);\n                        }, function(response, xhrOrXdr) {\n                            self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);\n                        });\n                    }, 0);\n                }\n            },\n            _sessionRequestComplete: function() {},\n            _setSize: function(id, newSize) {\n                this._uploadData.updateSize(id, newSize);\n                this._totalProgress && this._totalProgress.onNewSize(id);\n            },\n            _shouldAutoRetry: function(id, name, responseJSON) {\n                var uploadData = this._uploadData.retrieve({\n                    id: id\n                });\n                if (!this._preventRetries[id] && this._options.retry.enableAuto && uploadData.status !== qq.status.PAUSED) {\n                    if (this._autoRetries[id] === undefined) {\n                        this._autoRetries[id] = 0;\n                    }\n                    if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {\n                        this._autoRetries[id] += 1;\n                        return true;\n                    }\n                }\n                return false;\n            },\n            _storeForLater: function(id) {\n                this._storedIds.push(id);\n            },\n            _trackButton: function(id) {\n                var buttonId;\n                if (qq.supportedFeatures.ajaxUploading) {\n                    buttonId = this._handler.getFile(id).qqButtonId;\n                } else {\n                    buttonId = this._getButtonId(this._handler.getInput(id));\n                }\n                if (buttonId) {\n                    this._buttonIdsForFileIds[id] = buttonId;\n                }\n            },\n            _updateFormSupportAndParams: function(formElementOrId) {\n                this._options.form.element = formElementOrId;\n                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));\n                if (this._formSupport && this._formSupport.attachedToForm) {\n                    this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);\n                    this._options.autoUpload = this._formSupport.newAutoUpload;\n                    if (this._formSupport.newEndpoint) {\n                        this.setEndpoint(this._formSupport.newEndpoint);\n                    }\n                }\n            },\n            _upload: function(id, params, endpoint) {\n                var name = this.getName(id);\n                if (params) {\n                    this.setParams(params, id);\n                }\n                if (endpoint) {\n                    this.setEndpoint(endpoint, id);\n                }\n                this._handleCheckedCallback({\n                    name: \"onSubmit\",\n                    callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),\n                    onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),\n                    onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),\n                    identifier: id\n                });\n            },\n            _uploadFile: function(id) {\n                if (!this._handler.upload(id)) {\n                    this._uploadData.setStatus(id, qq.status.QUEUED);\n                }\n            },\n            _uploadStoredFiles: function() {\n                var idToUpload, stillSubmitting, self = this;\n                while (this._storedIds.length) {\n                    idToUpload = this._storedIds.shift();\n                    this._uploadFile(idToUpload);\n                }\n                stillSubmitting = this.getUploads({\n                    status: qq.status.SUBMITTING\n                }).length;\n                if (stillSubmitting) {\n                    qq.log(\"Still waiting for \" + stillSubmitting + \" files to clear submit queue. Will re-parse stored IDs array shortly.\");\n                    setTimeout(function() {\n                        self._uploadStoredFiles();\n                    }, 1e3);\n                }\n            },\n            _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {\n                var self = this, file = function() {\n                    if (fileWrapper.file instanceof qq.BlobProxy) {\n                        return fileWrapper.file.referenceBlob;\n                    }\n                    return fileWrapper.file;\n                }(), name = validationDescriptor.name, size = validationDescriptor.size, buttonId = this._getButtonId(fileWrapper.file), validationBase = this._getValidationBase(buttonId), validityChecker = new qq.Promise();\n                validityChecker.then(function() {}, function() {\n                    self._fileOrBlobRejected(fileWrapper.id, name);\n                });\n                if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {\n                    this._itemError(\"typeError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (!this._options.validation.allowEmpty && size === 0) {\n                    this._itemError(\"emptyError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {\n                    this._itemError(\"sizeError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (size > 0 && size < validationBase.minSizeLimit) {\n                    this._itemError(\"minSizeError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {\n                    new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(validityChecker.success, function(errorCode) {\n                        self._itemError(errorCode + \"ImageError\", name, file);\n                        validityChecker.failure();\n                    });\n                } else {\n                    validityChecker.success();\n                }\n                return validityChecker;\n            },\n            _wrapCallbacks: function() {\n                var self, safeCallback, prop;\n                self = this;\n                safeCallback = function(name, callback, args) {\n                    var errorMsg;\n                    try {\n                        return callback.apply(self, args);\n                    } catch (exception) {\n                        errorMsg = exception.message || exception.toString();\n                        self.log(\"Caught exception in '\" + name + \"' callback - \" + errorMsg, \"error\");\n                    }\n                };\n                for (prop in this._options.callbacks) {\n                    (function() {\n                        var callbackName, callbackFunc;\n                        callbackName = prop;\n                        callbackFunc = self._options.callbacks[callbackName];\n                        self._options.callbacks[callbackName] = function() {\n                            return safeCallback(callbackName, callbackFunc, arguments);\n                        };\n                    })();\n                }\n            }\n        };\n    })();\n    (function() {\n        \"use strict\";\n        qq.FineUploaderBasic = function(o) {\n            var self = this;\n            this._options = {\n                debug: false,\n                button: null,\n                multiple: true,\n                maxConnections: 3,\n                disableCancelForFormUploads: false,\n                autoUpload: true,\n                request: {\n                    customHeaders: {},\n                    endpoint: \"/server/upload\",\n                    filenameParam: \"qqfilename\",\n                    forceMultipart: true,\n                    inputName: \"qqfile\",\n                    method: \"POST\",\n                    params: {},\n                    paramsInBody: true,\n                    totalFileSizeName: \"qqtotalfilesize\",\n                    uuidName: \"qquuid\"\n                },\n                validation: {\n                    allowedExtensions: [],\n                    sizeLimit: 0,\n                    minSizeLimit: 0,\n                    itemLimit: 0,\n                    stopOnFirstInvalidFile: true,\n                    acceptFiles: null,\n                    image: {\n                        maxHeight: 0,\n                        maxWidth: 0,\n                        minHeight: 0,\n                        minWidth: 0\n                    },\n                    allowEmpty: false\n                },\n                callbacks: {\n                    onSubmit: function(id, name) {},\n                    onSubmitted: function(id, name) {},\n                    onComplete: function(id, name, responseJSON, maybeXhr) {},\n                    onAllComplete: function(successful, failed) {},\n                    onCancel: function(id, name) {},\n                    onUpload: function(id, name) {},\n                    onUploadChunk: function(id, name, chunkData) {},\n                    onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},\n                    onResume: function(id, fileName, chunkData) {},\n                    onProgress: function(id, name, loaded, total) {},\n                    onTotalProgress: function(loaded, total) {},\n                    onError: function(id, name, reason, maybeXhrOrXdr) {},\n                    onAutoRetry: function(id, name, attemptNumber) {},\n                    onManualRetry: function(id, name) {},\n                    onValidateBatch: function(fileOrBlobData) {},\n                    onValidate: function(fileOrBlobData) {},\n                    onSubmitDelete: function(id) {},\n                    onDelete: function(id) {},\n                    onDeleteComplete: function(id, xhrOrXdr, isError) {},\n                    onPasteReceived: function(blob) {},\n                    onStatusChange: function(id, oldStatus, newStatus) {},\n                    onSessionRequestComplete: function(response, success, xhrOrXdr) {}\n                },\n                messages: {\n                    typeError: \"{file} has an invalid extension. Valid extension(s): {extensions}.\",\n                    sizeError: \"{file} is too large, maximum file size is {sizeLimit}.\",\n                    minSizeError: \"{file} is too small, minimum file size is {minSizeLimit}.\",\n                    emptyError: \"{file} is empty, please select files again without it.\",\n                    noFilesError: \"No files to upload.\",\n                    tooManyItemsError: \"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.\",\n                    maxHeightImageError: \"Image is too tall.\",\n                    maxWidthImageError: \"Image is too wide.\",\n                    minHeightImageError: \"Image is not tall enough.\",\n                    minWidthImageError: \"Image is not wide enough.\",\n                    retryFailTooManyItems: \"Retry failed - you have reached your file limit.\",\n                    onLeave: \"The files are being uploaded, if you leave now the upload will be canceled.\",\n                    unsupportedBrowserIos8Safari: \"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues.\"\n                },\n                retry: {\n                    enableAuto: false,\n                    maxAutoAttempts: 3,\n                    autoAttemptDelay: 5,\n                    preventRetryResponseProperty: \"preventRetry\"\n                },\n                classes: {\n                    buttonHover: \"qq-upload-button-hover\",\n                    buttonFocus: \"qq-upload-button-focus\"\n                },\n                chunking: {\n                    enabled: false,\n                    concurrent: {\n                        enabled: false\n                    },\n                    mandatory: false,\n                    paramNames: {\n                        partIndex: \"qqpartindex\",\n                        partByteOffset: \"qqpartbyteoffset\",\n                        chunkSize: \"qqchunksize\",\n                        totalFileSize: \"qqtotalfilesize\",\n                        totalParts: \"qqtotalparts\"\n                    },\n                    partSize: 2e6,\n                    success: {\n                        endpoint: null\n                    }\n                },\n                resume: {\n                    enabled: false,\n                    recordsExpireIn: 7,\n                    paramNames: {\n                        resuming: \"qqresume\"\n                    }\n                },\n                formatFileName: function(fileOrBlobName) {\n                    return fileOrBlobName;\n                },\n                text: {\n                    defaultResponseError: \"Upload failure reason unknown\",\n                    fileInputTitle: \"file input\",\n                    sizeSymbols: [ \"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\" ]\n                },\n                deleteFile: {\n                    enabled: false,\n                    method: \"DELETE\",\n                    endpoint: \"/server/upload\",\n                    customHeaders: {},\n                    params: {}\n                },\n                cors: {\n                    expected: false,\n                    sendCredentials: false,\n                    allowXdr: false\n                },\n                blobs: {\n                    defaultName: \"misc_data\"\n                },\n                paste: {\n                    targetElement: null,\n                    defaultName: \"pasted_image\"\n                },\n                camera: {\n                    ios: false,\n                    button: null\n                },\n                extraButtons: [],\n                session: {\n                    endpoint: null,\n                    params: {},\n                    customHeaders: {},\n                    refreshOnReset: true\n                },\n                form: {\n                    element: \"qq-form\",\n                    autoUpload: false,\n                    interceptSubmit: true\n                },\n                scaling: {\n                    customResizer: null,\n                    sendOriginal: true,\n                    orient: true,\n                    defaultType: null,\n                    defaultQuality: 80,\n                    failureText: \"Failed to scale\",\n                    includeExif: false,\n                    sizes: []\n                },\n                workarounds: {\n                    iosEmptyVideos: true,\n                    ios8SafariUploads: true,\n                    ios8BrowserCrash: false\n                }\n            };\n            qq.extend(this._options, o, true);\n            this._buttons = [];\n            this._extraButtonSpecs = {};\n            this._buttonIdsForFileIds = [];\n            this._wrapCallbacks();\n            this._disposeSupport = new qq.DisposeSupport();\n            this._storedIds = [];\n            this._autoRetries = [];\n            this._retryTimeouts = [];\n            this._preventRetries = [];\n            this._thumbnailUrls = [];\n            this._netUploadedOrQueued = 0;\n            this._netUploaded = 0;\n            this._uploadData = this._createUploadDataTracker();\n            this._initFormSupportAndParams();\n            this._customHeadersStore = this._createStore(this._options.request.customHeaders);\n            this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);\n            this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);\n            this._endpointStore = this._createStore(this._options.request.endpoint);\n            this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);\n            this._handler = this._createUploadHandler();\n            this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();\n            if (this._options.button) {\n                this._defaultButtonId = this._createUploadButton({\n                    element: this._options.button,\n                    title: this._options.text.fileInputTitle\n                }).getButtonId();\n            }\n            this._generateExtraButtonSpecs();\n            this._handleCameraAccess();\n            if (this._options.paste.targetElement) {\n                if (qq.PasteSupport) {\n                    this._pasteHandler = this._createPasteHandler();\n                } else {\n                    this.log(\"Paste support module not found\", \"error\");\n                }\n            }\n            this._preventLeaveInProgress();\n            this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));\n            this._refreshSessionData();\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n            this._scaler = qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this)) || {};\n            if (this._scaler.enabled) {\n                this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);\n            }\n            if (qq.TotalProgress && qq.supportedFeatures.progressBar) {\n                this._totalProgress = new qq.TotalProgress(qq.bind(this._onTotalProgress, this), function(id) {\n                    var entry = self._uploadData.retrieve({\n                        id: id\n                    });\n                    return entry && entry.size || 0;\n                });\n            }\n            this._currentItemLimit = this._options.validation.itemLimit;\n        };\n        qq.FineUploaderBasic.prototype = qq.basePublicApi;\n        qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);\n    })();\n    qq.AjaxRequester = function(o) {\n        \"use strict\";\n        var log, shouldParamsBeInQueryString, queue = [], requestData = {}, options = {\n            acceptHeader: null,\n            validMethods: [ \"PATCH\", \"POST\", \"PUT\" ],\n            method: \"POST\",\n            contentType: \"application/x-www-form-urlencoded\",\n            maxConnections: 3,\n            customHeaders: {},\n            endpointStore: {},\n            paramsStore: {},\n            mandatedParams: {},\n            allowXRequestedWithAndCacheControl: true,\n            successfulResponseCodes: {\n                DELETE: [ 200, 202, 204 ],\n                PATCH: [ 200, 201, 202, 203, 204 ],\n                POST: [ 200, 201, 202, 203, 204 ],\n                PUT: [ 200, 201, 202, 203, 204 ],\n                GET: [ 200 ]\n            },\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onSend: function(id) {},\n            onComplete: function(id, xhrOrXdr, isError) {},\n            onProgress: null\n        };\n        qq.extend(options, o);\n        log = options.log;\n        if (qq.indexOf(options.validMethods, options.method) < 0) {\n            throw new Error(\"'\" + options.method + \"' is not a supported method for this type of request!\");\n        }\n        function isSimpleMethod() {\n            return qq.indexOf([ \"GET\", \"POST\", \"HEAD\" ], options.method) >= 0;\n        }\n        function containsNonSimpleHeaders(headers) {\n            var containsNonSimple = false;\n            qq.each(containsNonSimple, function(idx, header) {\n                if (qq.indexOf([ \"Accept\", \"Accept-Language\", \"Content-Language\", \"Content-Type\" ], header) < 0) {\n                    containsNonSimple = true;\n                    return false;\n                }\n            });\n            return containsNonSimple;\n        }\n        function isXdr(xhr) {\n            return options.cors.expected && xhr.withCredentials === undefined;\n        }\n        function getCorsAjaxTransport() {\n            var xhrOrXdr;\n            if (window.XMLHttpRequest || window.ActiveXObject) {\n                xhrOrXdr = qq.createXhrInstance();\n                if (xhrOrXdr.withCredentials === undefined) {\n                    xhrOrXdr = new XDomainRequest();\n                    xhrOrXdr.onload = function() {};\n                    xhrOrXdr.onerror = function() {};\n                    xhrOrXdr.ontimeout = function() {};\n                    xhrOrXdr.onprogress = function() {};\n                }\n            }\n            return xhrOrXdr;\n        }\n        function getXhrOrXdr(id, suppliedXhr) {\n            var xhrOrXdr = requestData[id].xhr;\n            if (!xhrOrXdr) {\n                if (suppliedXhr) {\n                    xhrOrXdr = suppliedXhr;\n                } else {\n                    if (options.cors.expected) {\n                        xhrOrXdr = getCorsAjaxTransport();\n                    } else {\n                        xhrOrXdr = qq.createXhrInstance();\n                    }\n                }\n                requestData[id].xhr = xhrOrXdr;\n            }\n            return xhrOrXdr;\n        }\n        function dequeue(id) {\n            var i = qq.indexOf(queue, id), max = options.maxConnections, nextId;\n            delete requestData[id];\n            queue.splice(i, 1);\n            if (queue.length >= max && i < max) {\n                nextId = queue[max - 1];\n                sendRequest(nextId);\n            }\n        }\n        function onComplete(id, xdrError) {\n            var xhr = getXhrOrXdr(id), method = options.method, isError = xdrError === true;\n            dequeue(id);\n            if (isError) {\n                log(method + \" request for \" + id + \" has failed\", \"error\");\n            } else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {\n                isError = true;\n                log(method + \" request for \" + id + \" has failed - response code \" + xhr.status, \"error\");\n            }\n            options.onComplete(id, xhr, isError);\n        }\n        function getParams(id) {\n            var onDemandParams = requestData[id].additionalParams, mandatedParams = options.mandatedParams, params;\n            if (options.paramsStore.get) {\n                params = options.paramsStore.get(id);\n            }\n            if (onDemandParams) {\n                qq.each(onDemandParams, function(name, val) {\n                    params = params || {};\n                    params[name] = val;\n                });\n            }\n            if (mandatedParams) {\n                qq.each(mandatedParams, function(name, val) {\n                    params = params || {};\n                    params[name] = val;\n                });\n            }\n            return params;\n        }\n        function sendRequest(id, optXhr) {\n            var xhr = getXhrOrXdr(id, optXhr), method = options.method, params = getParams(id), payload = requestData[id].payload, url;\n            options.onSend(id);\n            url = createUrl(id, params, requestData[id].additionalQueryParams);\n            if (isXdr(xhr)) {\n                xhr.onload = getXdrLoadHandler(id);\n                xhr.onerror = getXdrErrorHandler(id);\n            } else {\n                xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);\n            }\n            registerForUploadProgress(id);\n            xhr.open(method, url, true);\n            if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {\n                xhr.withCredentials = true;\n            }\n            setHeaders(id);\n            log(\"Sending \" + method + \" request for \" + id);\n            if (payload) {\n                xhr.send(payload);\n            } else if (shouldParamsBeInQueryString || !params) {\n                xhr.send();\n            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/x-www-form-urlencoded\") >= 0) {\n                xhr.send(qq.obj2url(params, \"\"));\n            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/json\") >= 0) {\n                xhr.send(JSON.stringify(params));\n            } else {\n                xhr.send(params);\n            }\n            return xhr;\n        }\n        function createUrl(id, params, additionalQueryParams) {\n            var endpoint = options.endpointStore.get(id), addToPath = requestData[id].addToPath;\n            if (addToPath != undefined) {\n                endpoint += \"/\" + addToPath;\n            }\n            if (shouldParamsBeInQueryString && params) {\n                endpoint = qq.obj2url(params, endpoint);\n            }\n            if (additionalQueryParams) {\n                endpoint = qq.obj2url(additionalQueryParams, endpoint);\n            }\n            return endpoint;\n        }\n        function getXhrReadyStateChangeHandler(id) {\n            return function() {\n                if (getXhrOrXdr(id).readyState === 4) {\n                    onComplete(id);\n                }\n            };\n        }\n        function registerForUploadProgress(id) {\n            var onProgress = options.onProgress;\n            if (onProgress) {\n                getXhrOrXdr(id).upload.onprogress = function(e) {\n                    if (e.lengthComputable) {\n                        onProgress(id, e.loaded, e.total);\n                    }\n                };\n            }\n        }\n        function getXdrLoadHandler(id) {\n            return function() {\n                onComplete(id);\n            };\n        }\n        function getXdrErrorHandler(id) {\n            return function() {\n                onComplete(id, true);\n            };\n        }\n        function setHeaders(id) {\n            var xhr = getXhrOrXdr(id), customHeaders = options.customHeaders, onDemandHeaders = requestData[id].additionalHeaders || {}, method = options.method, allHeaders = {};\n            if (!isXdr(xhr)) {\n                options.acceptHeader && xhr.setRequestHeader(\"Accept\", options.acceptHeader);\n                if (options.allowXRequestedWithAndCacheControl) {\n                    if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {\n                        xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n                        xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n                    }\n                }\n                if (options.contentType && (method === \"POST\" || method === \"PUT\")) {\n                    xhr.setRequestHeader(\"Content-Type\", options.contentType);\n                }\n                qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);\n                qq.extend(allHeaders, onDemandHeaders);\n                qq.each(allHeaders, function(name, val) {\n                    xhr.setRequestHeader(name, val);\n                });\n            }\n        }\n        function isResponseSuccessful(responseCode) {\n            return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;\n        }\n        function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {\n            requestData[id] = {\n                addToPath: addToPath,\n                additionalParams: additionalParams,\n                additionalQueryParams: additionalQueryParams,\n                additionalHeaders: additionalHeaders,\n                payload: payload\n            };\n            var len = queue.push(id);\n            if (len <= options.maxConnections) {\n                return sendRequest(id, optXhr);\n            }\n        }\n        shouldParamsBeInQueryString = options.method === \"GET\" || options.method === \"DELETE\";\n        qq.extend(this, {\n            initTransport: function(id) {\n                var path, params, headers, payload, cacheBuster, additionalQueryParams;\n                return {\n                    withPath: function(appendToPath) {\n                        path = appendToPath;\n                        return this;\n                    },\n                    withParams: function(additionalParams) {\n                        params = additionalParams;\n                        return this;\n                    },\n                    withQueryParams: function(_additionalQueryParams_) {\n                        additionalQueryParams = _additionalQueryParams_;\n                        return this;\n                    },\n                    withHeaders: function(additionalHeaders) {\n                        headers = additionalHeaders;\n                        return this;\n                    },\n                    withPayload: function(thePayload) {\n                        payload = thePayload;\n                        return this;\n                    },\n                    withCacheBuster: function() {\n                        cacheBuster = true;\n                        return this;\n                    },\n                    send: function(optXhr) {\n                        if (cacheBuster && qq.indexOf([ \"GET\", \"DELETE\" ], options.method) >= 0) {\n                            params.qqtimestamp = new Date().getTime();\n                        }\n                        return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);\n                    }\n                };\n            },\n            canceled: function(id) {\n                dequeue(id);\n            }\n        });\n    };\n    qq.UploadHandler = function(spec) {\n        \"use strict\";\n        var proxy = spec.proxy, fileState = {}, onCancel = proxy.onCancel, getName = proxy.getName;\n        qq.extend(this, {\n            add: function(id, fileItem) {\n                fileState[id] = fileItem;\n                fileState[id].temp = {};\n            },\n            cancel: function(id) {\n                var self = this, cancelFinalizationEffort = new qq.Promise(), onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);\n                onCancelRetVal.then(function() {\n                    if (self.isValid(id)) {\n                        fileState[id].canceled = true;\n                        self.expunge(id);\n                    }\n                    cancelFinalizationEffort.success();\n                });\n            },\n            expunge: function(id) {\n                delete fileState[id];\n            },\n            getThirdPartyFileId: function(id) {\n                return fileState[id].key;\n            },\n            isValid: function(id) {\n                return fileState[id] !== undefined;\n            },\n            reset: function() {\n                fileState = {};\n            },\n            _getFileState: function(id) {\n                return fileState[id];\n            },\n            _setThirdPartyFileId: function(id, thirdPartyFileId) {\n                fileState[id].key = thirdPartyFileId;\n            },\n            _wasCanceled: function(id) {\n                return !!fileState[id].canceled;\n            }\n        });\n    };\n    qq.UploadHandlerController = function(o, namespace) {\n        \"use strict\";\n        var controller = this, chunkingPossible = false, concurrentChunkingPossible = false, chunking, preventRetryResponse, log, handler, options = {\n            paramsStore: {},\n            maxConnections: 3,\n            chunking: {\n                enabled: false,\n                multiple: {\n                    enabled: false\n                }\n            },\n            log: function(str, level) {},\n            onProgress: function(id, fileName, loaded, total) {},\n            onComplete: function(id, fileName, response, xhr) {},\n            onCancel: function(id, fileName) {},\n            onUploadPrep: function(id) {},\n            onUpload: function(id, fileName) {},\n            onUploadChunk: function(id, fileName, chunkData) {},\n            onUploadChunkSuccess: function(id, chunkData, response, xhr) {},\n            onAutoRetry: function(id, fileName, response, xhr) {},\n            onResume: function(id, fileName, chunkData) {},\n            onUuidChanged: function(id, newUuid) {},\n            getName: function(id) {},\n            setSize: function(id, newSize) {},\n            isQueued: function(id) {},\n            getIdsInProxyGroup: function(id) {},\n            getIdsInBatch: function(id) {}\n        }, chunked = {\n            done: function(id, chunkIdx, response, xhr) {\n                var chunkData = handler._getChunkData(id, chunkIdx);\n                handler._getFileState(id).attemptingResume = false;\n                delete handler._getFileState(id).temp.chunkProgress[chunkIdx];\n                handler._getFileState(id).loaded += chunkData.size;\n                options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);\n            },\n            finalize: function(id) {\n                var size = options.getSize(id), name = options.getName(id);\n                log(\"All chunks have been uploaded for \" + id + \" - finalizing....\");\n                handler.finalizeChunks(id).then(function(response, xhr) {\n                    log(\"Finalize successful for \" + id);\n                    var normaizedResponse = upload.normalizeResponse(response, true);\n                    options.onProgress(id, name, size, size);\n                    handler._maybeDeletePersistedChunkData(id);\n                    upload.cleanup(id, normaizedResponse, xhr);\n                }, function(response, xhr) {\n                    var normaizedResponse = upload.normalizeResponse(response, false);\n                    log(\"Problem finalizing chunks for file ID \" + id + \" - \" + normaizedResponse.error, \"error\");\n                    if (normaizedResponse.reset) {\n                        chunked.reset(id);\n                    }\n                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {\n                        upload.cleanup(id, normaizedResponse, xhr);\n                    }\n                });\n            },\n            handleFailure: function(chunkIdx, id, response, xhr) {\n                var name = options.getName(id);\n                log(\"Chunked upload request failed for \" + id + \", chunk \" + chunkIdx);\n                handler.clearCachedChunk(id, chunkIdx);\n                var responseToReport = upload.normalizeResponse(response, false), inProgressIdx;\n                if (responseToReport.reset) {\n                    chunked.reset(id);\n                } else {\n                    inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);\n                    if (inProgressIdx >= 0) {\n                        handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);\n                        handler._getFileState(id).chunking.remaining.unshift(chunkIdx);\n                    }\n                }\n                if (!handler._getFileState(id).temp.ignoreFailure) {\n                    if (concurrentChunkingPossible) {\n                        handler._getFileState(id).temp.ignoreFailure = true;\n                        log(qq.format(\"Going to attempt to abort these chunks: {}. These are currently in-progress: {}.\", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));\n                        qq.each(handler._getXhrs(id), function(ckid, ckXhr) {\n                            log(qq.format(\"Attempting to abort file {}.{}. XHR readyState {}. \", id, ckid, ckXhr.readyState));\n                            ckXhr.abort();\n                            ckXhr._cancelled = true;\n                        });\n                        handler.moveInProgressToRemaining(id);\n                        connectionManager.free(id, true);\n                    }\n                    if (!options.onAutoRetry(id, name, responseToReport, xhr)) {\n                        upload.cleanup(id, responseToReport, xhr);\n                    }\n                }\n            },\n            hasMoreParts: function(id) {\n                return !!handler._getFileState(id).chunking.remaining.length;\n            },\n            nextPart: function(id) {\n                var nextIdx = handler._getFileState(id).chunking.remaining.shift();\n                if (nextIdx >= handler._getTotalChunks(id)) {\n                    nextIdx = null;\n                }\n                return nextIdx;\n            },\n            reset: function(id) {\n                log(\"Server or callback has ordered chunking effort to be restarted on next attempt for item ID \" + id, \"error\");\n                handler._maybeDeletePersistedChunkData(id);\n                handler.reevaluateChunking(id);\n                handler._getFileState(id).loaded = 0;\n            },\n            sendNext: function(id) {\n                var size = options.getSize(id), name = options.getName(id), chunkIdx = chunked.nextPart(id), chunkData = handler._getChunkData(id, chunkIdx), resuming = handler._getFileState(id).attemptingResume, inProgressChunks = handler._getFileState(id).chunking.inProgress || [];\n                if (handler._getFileState(id).loaded == null) {\n                    handler._getFileState(id).loaded = 0;\n                }\n                if (resuming && options.onResume(id, name, chunkData) === false) {\n                    chunked.reset(id);\n                    chunkIdx = chunked.nextPart(id);\n                    chunkData = handler._getChunkData(id, chunkIdx);\n                    resuming = false;\n                }\n                if (chunkIdx == null && inProgressChunks.length === 0) {\n                    chunked.finalize(id);\n                } else {\n                    log(qq.format(\"Sending chunked upload request for item {}.{}, bytes {}-{} of {}.\", id, chunkIdx, chunkData.start + 1, chunkData.end, size));\n                    options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));\n                    inProgressChunks.push(chunkIdx);\n                    handler._getFileState(id).chunking.inProgress = inProgressChunks;\n                    if (concurrentChunkingPossible) {\n                        connectionManager.open(id, chunkIdx);\n                    }\n                    if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {\n                        chunked.sendNext(id);\n                    }\n                    if (chunkData.blob.size === 0) {\n                        log(qq.format(\"Chunk {} for file {} will not be uploaded, zero sized chunk.\", chunkIdx, id), \"error\");\n                        chunked.handleFailure(chunkIdx, id, \"File is no longer available\", null);\n                    } else {\n                        handler.uploadChunk(id, chunkIdx, resuming).then(function success(response, xhr) {\n                            log(\"Chunked upload request succeeded for \" + id + \", chunk \" + chunkIdx);\n                            handler.clearCachedChunk(id, chunkIdx);\n                            var inProgressChunks = handler._getFileState(id).chunking.inProgress || [], responseToReport = upload.normalizeResponse(response, true), inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);\n                            log(qq.format(\"Chunk {} for file {} uploaded successfully.\", chunkIdx, id));\n                            chunked.done(id, chunkIdx, responseToReport, xhr);\n                            if (inProgressChunkIdx >= 0) {\n                                inProgressChunks.splice(inProgressChunkIdx, 1);\n                            }\n                            handler._maybePersistChunkedState(id);\n                            if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {\n                                chunked.finalize(id);\n                            } else if (chunked.hasMoreParts(id)) {\n                                chunked.sendNext(id);\n                            } else {\n                                log(qq.format(\"File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}\", id, JSON.stringify(inProgressChunks)));\n                            }\n                        }, function failure(response, xhr) {\n                            chunked.handleFailure(chunkIdx, id, response, xhr);\n                        }).done(function() {\n                            handler.clearXhr(id, chunkIdx);\n                        });\n                    }\n                }\n            }\n        }, connectionManager = {\n            _open: [],\n            _openChunks: {},\n            _waiting: [],\n            available: function() {\n                var max = options.maxConnections, openChunkEntriesCount = 0, openChunksCount = 0;\n                qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {\n                    openChunkEntriesCount++;\n                    openChunksCount += openChunkIndexes.length;\n                });\n                return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);\n            },\n            free: function(id, dontAllowNext) {\n                var allowNext = !dontAllowNext, waitingIndex = qq.indexOf(connectionManager._waiting, id), connectionsIndex = qq.indexOf(connectionManager._open, id), nextId;\n                delete connectionManager._openChunks[id];\n                if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {\n                    log(\"Generated blob upload has ended for \" + id + \", disposing generated blob.\");\n                    delete handler._getFileState(id).file;\n                }\n                if (waitingIndex >= 0) {\n                    connectionManager._waiting.splice(waitingIndex, 1);\n                } else if (allowNext && connectionsIndex >= 0) {\n                    connectionManager._open.splice(connectionsIndex, 1);\n                    nextId = connectionManager._waiting.shift();\n                    if (nextId >= 0) {\n                        connectionManager._open.push(nextId);\n                        upload.start(nextId);\n                    }\n                }\n            },\n            getWaitingOrConnected: function() {\n                var waitingOrConnected = [];\n                qq.each(connectionManager._openChunks, function(fileId, chunks) {\n                    if (chunks && chunks.length) {\n                        waitingOrConnected.push(parseInt(fileId));\n                    }\n                });\n                qq.each(connectionManager._open, function(idx, fileId) {\n                    if (!connectionManager._openChunks[fileId]) {\n                        waitingOrConnected.push(parseInt(fileId));\n                    }\n                });\n                waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);\n                return waitingOrConnected;\n            },\n            isUsingConnection: function(id) {\n                return qq.indexOf(connectionManager._open, id) >= 0;\n            },\n            open: function(id, chunkIdx) {\n                if (chunkIdx == null) {\n                    connectionManager._waiting.push(id);\n                }\n                if (connectionManager.available()) {\n                    if (chunkIdx == null) {\n                        connectionManager._waiting.pop();\n                        connectionManager._open.push(id);\n                    } else {\n                        (function() {\n                            var openChunksEntry = connectionManager._openChunks[id] || [];\n                            openChunksEntry.push(chunkIdx);\n                            connectionManager._openChunks[id] = openChunksEntry;\n                        })();\n                    }\n                    return true;\n                }\n                return false;\n            },\n            reset: function() {\n                connectionManager._waiting = [];\n                connectionManager._open = [];\n            }\n        }, simple = {\n            send: function(id, name) {\n                handler._getFileState(id).loaded = 0;\n                log(\"Sending simple upload request for \" + id);\n                handler.uploadFile(id).then(function(response, optXhr) {\n                    log(\"Simple upload request succeeded for \" + id);\n                    var responseToReport = upload.normalizeResponse(response, true), size = options.getSize(id);\n                    options.onProgress(id, name, size, size);\n                    upload.maybeNewUuid(id, responseToReport);\n                    upload.cleanup(id, responseToReport, optXhr);\n                }, function(response, optXhr) {\n                    log(\"Simple upload request failed for \" + id);\n                    var responseToReport = upload.normalizeResponse(response, false);\n                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {\n                        upload.cleanup(id, responseToReport, optXhr);\n                    }\n                });\n            }\n        }, upload = {\n            cancel: function(id) {\n                log(\"Cancelling \" + id);\n                options.paramsStore.remove(id);\n                connectionManager.free(id);\n            },\n            cleanup: function(id, response, optXhr) {\n                var name = options.getName(id);\n                options.onComplete(id, name, response, optXhr);\n                if (handler._getFileState(id)) {\n                    handler._clearXhrs && handler._clearXhrs(id);\n                }\n                connectionManager.free(id);\n            },\n            getProxyOrBlob: function(id) {\n                return handler.getProxy && handler.getProxy(id) || handler.getFile && handler.getFile(id);\n            },\n            initHandler: function() {\n                var handlerType = namespace ? qq[namespace] : qq.traditional, handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? \"Xhr\" : \"Form\";\n                handler = new handlerType[handlerModuleSubtype + \"UploadHandler\"](options, {\n                    getDataByUuid: options.getDataByUuid,\n                    getName: options.getName,\n                    getSize: options.getSize,\n                    getUuid: options.getUuid,\n                    log: log,\n                    onCancel: options.onCancel,\n                    onProgress: options.onProgress,\n                    onUuidChanged: options.onUuidChanged\n                });\n                if (handler._removeExpiredChunkingRecords) {\n                    handler._removeExpiredChunkingRecords();\n                }\n            },\n            isDeferredEligibleForUpload: function(id) {\n                return options.isQueued(id);\n            },\n            maybeDefer: function(id, blob) {\n                if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {\n                    options.onUploadPrep(id);\n                    log(\"Attempting to generate a blob on-demand for \" + id);\n                    blob.create().then(function(generatedBlob) {\n                        log(\"Generated an on-demand blob for \" + id);\n                        handler.updateBlob(id, generatedBlob);\n                        options.setSize(id, generatedBlob.size);\n                        handler.reevaluateChunking(id);\n                        upload.maybeSendDeferredFiles(id);\n                    }, function(errorMessage) {\n                        var errorResponse = {};\n                        if (errorMessage) {\n                            errorResponse.error = errorMessage;\n                        }\n                        log(qq.format(\"Failed to generate blob for ID {}.  Error message: {}.\", id, errorMessage), \"error\");\n                        options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);\n                        upload.maybeSendDeferredFiles(id);\n                        connectionManager.free(id);\n                    });\n                } else {\n                    return upload.maybeSendDeferredFiles(id);\n                }\n                return false;\n            },\n            maybeSendDeferredFiles: function(id) {\n                var idsInGroup = options.getIdsInProxyGroup(id), uploadedThisId = false;\n                if (idsInGroup && idsInGroup.length) {\n                    log(\"Maybe ready to upload proxy group file \" + id);\n                    qq.each(idsInGroup, function(idx, idInGroup) {\n                        if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {\n                            uploadedThisId = idInGroup === id;\n                            upload.now(idInGroup);\n                        } else if (upload.isDeferredEligibleForUpload(idInGroup)) {\n                            return false;\n                        }\n                    });\n                } else {\n                    uploadedThisId = true;\n                    upload.now(id);\n                }\n                return uploadedThisId;\n            },\n            maybeNewUuid: function(id, response) {\n                if (response.newUuid !== undefined) {\n                    options.onUuidChanged(id, response.newUuid);\n                }\n            },\n            normalizeResponse: function(originalResponse, successful) {\n                var response = originalResponse;\n                if (!qq.isObject(originalResponse)) {\n                    response = {};\n                    if (qq.isString(originalResponse) && !successful) {\n                        response.error = originalResponse;\n                    }\n                }\n                response.success = successful;\n                return response;\n            },\n            now: function(id) {\n                var name = options.getName(id);\n                if (!controller.isValid(id)) {\n                    throw new qq.Error(id + \" is not a valid file ID to upload!\");\n                }\n                options.onUpload(id, name);\n                if (chunkingPossible && handler._shouldChunkThisFile(id)) {\n                    chunked.sendNext(id);\n                } else {\n                    simple.send(id, name);\n                }\n            },\n            start: function(id) {\n                var blobToUpload = upload.getProxyOrBlob(id);\n                if (blobToUpload) {\n                    return upload.maybeDefer(id, blobToUpload);\n                } else {\n                    upload.now(id);\n                    return true;\n                }\n            }\n        };\n        qq.extend(this, {\n            add: function(id, file) {\n                handler.add.apply(this, arguments);\n            },\n            upload: function(id) {\n                if (connectionManager.open(id)) {\n                    return upload.start(id);\n                }\n                return false;\n            },\n            retry: function(id) {\n                if (concurrentChunkingPossible) {\n                    handler._getFileState(id).temp.ignoreFailure = false;\n                }\n                if (connectionManager.isUsingConnection(id)) {\n                    return upload.start(id);\n                } else {\n                    return controller.upload(id);\n                }\n            },\n            cancel: function(id) {\n                var cancelRetVal = handler.cancel(id);\n                if (qq.isGenericPromise(cancelRetVal)) {\n                    cancelRetVal.then(function() {\n                        upload.cancel(id);\n                    });\n                } else if (cancelRetVal !== false) {\n                    upload.cancel(id);\n                }\n            },\n            cancelAll: function() {\n                var waitingOrConnected = connectionManager.getWaitingOrConnected(), i;\n                if (waitingOrConnected.length) {\n                    for (i = waitingOrConnected.length - 1; i >= 0; i--) {\n                        controller.cancel(waitingOrConnected[i]);\n                    }\n                }\n                connectionManager.reset();\n            },\n            getFile: function(id) {\n                if (handler.getProxy && handler.getProxy(id)) {\n                    return handler.getProxy(id).referenceBlob;\n                }\n                return handler.getFile && handler.getFile(id);\n            },\n            isProxied: function(id) {\n                return !!(handler.getProxy && handler.getProxy(id));\n            },\n            getInput: function(id) {\n                if (handler.getInput) {\n                    return handler.getInput(id);\n                }\n            },\n            reset: function() {\n                log(\"Resetting upload handler\");\n                controller.cancelAll();\n                connectionManager.reset();\n                handler.reset();\n            },\n            expunge: function(id) {\n                if (controller.isValid(id)) {\n                    return handler.expunge(id);\n                }\n            },\n            isValid: function(id) {\n                return handler.isValid(id);\n            },\n            getResumableFilesData: function() {\n                if (handler.getResumableFilesData) {\n                    return handler.getResumableFilesData();\n                }\n                return [];\n            },\n            getThirdPartyFileId: function(id) {\n                if (controller.isValid(id)) {\n                    return handler.getThirdPartyFileId(id);\n                }\n            },\n            pause: function(id) {\n                if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {\n                    connectionManager.free(id);\n                    handler.moveInProgressToRemaining(id);\n                    return true;\n                }\n                return false;\n            },\n            isResumable: function(id) {\n                return !!handler.isResumable && handler.isResumable(id);\n            }\n        });\n        qq.extend(options, o);\n        log = options.log;\n        chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;\n        concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;\n        preventRetryResponse = function() {\n            var response = {};\n            response[options.preventRetryParam] = true;\n            return response;\n        }();\n        upload.initHandler();\n    };\n    qq.WindowReceiveMessage = function(o) {\n        \"use strict\";\n        var options = {\n            log: function(message, level) {}\n        }, callbackWrapperDetachers = {};\n        qq.extend(options, o);\n        qq.extend(this, {\n            receiveMessage: function(id, callback) {\n                var onMessageCallbackWrapper = function(event) {\n                    callback(event.data);\n                };\n                if (window.postMessage) {\n                    callbackWrapperDetachers[id] = qq(window).attach(\"message\", onMessageCallbackWrapper);\n                } else {\n                    log(\"iframe message passing not supported in this browser!\", \"error\");\n                }\n            },\n            stopReceivingMessages: function(id) {\n                if (window.postMessage) {\n                    var detacher = callbackWrapperDetachers[id];\n                    if (detacher) {\n                        detacher();\n                    }\n                }\n            }\n        });\n    };\n    qq.FormUploadHandler = function(spec) {\n        \"use strict\";\n        var options = spec.options, handler = this, proxy = spec.proxy, formHandlerInstanceId = qq.getUniqueId(), onloadCallbacks = {}, detachLoadEvents = {}, postMessageCallbackTimers = {}, isCors = options.isCors, inputName = options.inputName, getUuid = proxy.getUuid, log = proxy.log, corsMessageReceiver = new qq.WindowReceiveMessage({\n            log: log\n        });\n        function expungeFile(id) {\n            delete detachLoadEvents[id];\n            if (isCors) {\n                clearTimeout(postMessageCallbackTimers[id]);\n                delete postMessageCallbackTimers[id];\n                corsMessageReceiver.stopReceivingMessages(id);\n            }\n            var iframe = document.getElementById(handler._getIframeName(id));\n            if (iframe) {\n                iframe.setAttribute(\"src\", \"javascript:false;\");\n                qq(iframe).remove();\n            }\n        }\n        function getFileIdForIframeName(iframeName) {\n            return iframeName.split(\"_\")[0];\n        }\n        function initIframeForUpload(name) {\n            var iframe = qq.toElement(\"<iframe src='javascript:false;' name='\" + name + \"' />\");\n            iframe.setAttribute(\"id\", name);\n            iframe.style.display = \"none\";\n            document.body.appendChild(iframe);\n            return iframe;\n        }\n        function registerPostMessageCallback(iframe, callback) {\n            var iframeName = iframe.id, fileId = getFileIdForIframeName(iframeName), uuid = getUuid(fileId);\n            onloadCallbacks[uuid] = callback;\n            detachLoadEvents[fileId] = qq(iframe).attach(\"load\", function() {\n                if (handler.getInput(fileId)) {\n                    log(\"Received iframe load event for CORS upload request (iframe name \" + iframeName + \")\");\n                    postMessageCallbackTimers[iframeName] = setTimeout(function() {\n                        var errorMessage = \"No valid message received from loaded iframe for iframe name \" + iframeName;\n                        log(errorMessage, \"error\");\n                        callback({\n                            error: errorMessage\n                        });\n                    }, 1e3);\n                }\n            });\n            corsMessageReceiver.receiveMessage(iframeName, function(message) {\n                log(\"Received the following window message: '\" + message + \"'\");\n                var fileId = getFileIdForIframeName(iframeName), response = handler._parseJsonResponse(message), uuid = response.uuid, onloadCallback;\n                if (uuid && onloadCallbacks[uuid]) {\n                    log(\"Handling response for iframe name \" + iframeName);\n                    clearTimeout(postMessageCallbackTimers[iframeName]);\n                    delete postMessageCallbackTimers[iframeName];\n                    handler._detachLoadEvent(iframeName);\n                    onloadCallback = onloadCallbacks[uuid];\n                    delete onloadCallbacks[uuid];\n                    corsMessageReceiver.stopReceivingMessages(iframeName);\n                    onloadCallback(response);\n                } else if (!uuid) {\n                    log(\"'\" + message + \"' does not contain a UUID - ignoring.\");\n                }\n            });\n        }\n        qq.extend(this, new qq.UploadHandler(spec));\n        qq.override(this, function(super_) {\n            return {\n                add: function(id, fileInput) {\n                    super_.add(id, {\n                        input: fileInput\n                    });\n                    fileInput.setAttribute(\"name\", inputName);\n                    if (fileInput.parentNode) {\n                        qq(fileInput).remove();\n                    }\n                },\n                expunge: function(id) {\n                    expungeFile(id);\n                    super_.expunge(id);\n                },\n                isValid: function(id) {\n                    return super_.isValid(id) && handler._getFileState(id).input !== undefined;\n                }\n            };\n        });\n        qq.extend(this, {\n            getInput: function(id) {\n                return handler._getFileState(id).input;\n            },\n            _attachLoadEvent: function(iframe, callback) {\n                var responseDescriptor;\n                if (isCors) {\n                    registerPostMessageCallback(iframe, callback);\n                } else {\n                    detachLoadEvents[iframe.id] = qq(iframe).attach(\"load\", function() {\n                        log(\"Received response for \" + iframe.id);\n                        if (!iframe.parentNode) {\n                            return;\n                        }\n                        try {\n                            if (iframe.contentDocument && iframe.contentDocument.body && iframe.contentDocument.body.innerHTML == \"false\") {\n                                return;\n                            }\n                        } catch (error) {\n                            log(\"Error when attempting to access iframe during handling of upload response (\" + error.message + \")\", \"error\");\n                            responseDescriptor = {\n                                success: false\n                            };\n                        }\n                        callback(responseDescriptor);\n                    });\n                }\n            },\n            _createIframe: function(id) {\n                var iframeName = handler._getIframeName(id);\n                return initIframeForUpload(iframeName);\n            },\n            _detachLoadEvent: function(id) {\n                if (detachLoadEvents[id] !== undefined) {\n                    detachLoadEvents[id]();\n                    delete detachLoadEvents[id];\n                }\n            },\n            _getIframeName: function(fileId) {\n                return fileId + \"_\" + formHandlerInstanceId;\n            },\n            _initFormForUpload: function(spec) {\n                var method = spec.method, endpoint = spec.endpoint, params = spec.params, paramsInBody = spec.paramsInBody, targetName = spec.targetName, form = qq.toElement(\"<form method='\" + method + \"' enctype='multipart/form-data'></form>\"), url = endpoint;\n                if (paramsInBody) {\n                    qq.obj2Inputs(params, form);\n                } else {\n                    url = qq.obj2url(params, endpoint);\n                }\n                form.setAttribute(\"action\", url);\n                form.setAttribute(\"target\", targetName);\n                form.style.display = \"none\";\n                document.body.appendChild(form);\n                return form;\n            },\n            _parseJsonResponse: function(innerHtmlOrMessage) {\n                var response = {};\n                try {\n                    response = qq.parseJson(innerHtmlOrMessage);\n                } catch (error) {\n                    log(\"Error when attempting to parse iframe upload response (\" + error.message + \")\", \"error\");\n                }\n                return response;\n            }\n        });\n    };\n    qq.XhrUploadHandler = function(spec) {\n        \"use strict\";\n        var handler = this, namespace = spec.options.namespace, proxy = spec.proxy, chunking = spec.options.chunking, resume = spec.options.resume, chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking, resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, getEndpoint = proxy.getEndpoint, getDataByUuid = proxy.getDataByUuid, onUuidChanged = proxy.onUuidChanged, onProgress = proxy.onProgress, log = proxy.log;\n        function abort(id) {\n            qq.each(handler._getXhrs(id), function(xhrId, xhr) {\n                var ajaxRequester = handler._getAjaxRequester(id, xhrId);\n                xhr.onreadystatechange = null;\n                xhr.upload.onprogress = null;\n                xhr.abort();\n                ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);\n            });\n        }\n        qq.extend(this, new qq.UploadHandler(spec));\n        qq.override(this, function(super_) {\n            return {\n                add: function(id, blobOrProxy) {\n                    if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {\n                        super_.add(id, {\n                            file: blobOrProxy\n                        });\n                    } else if (blobOrProxy instanceof qq.BlobProxy) {\n                        super_.add(id, {\n                            proxy: blobOrProxy\n                        });\n                    } else {\n                        throw new Error(\"Passed obj is not a File, Blob, or proxy\");\n                    }\n                    handler._initTempState(id);\n                    resumeEnabled && handler._maybePrepareForResume(id);\n                },\n                expunge: function(id) {\n                    abort(id);\n                    handler._maybeDeletePersistedChunkData(id);\n                    handler._clearXhrs(id);\n                    super_.expunge(id);\n                }\n            };\n        });\n        qq.extend(this, {\n            clearCachedChunk: function(id, chunkIdx) {\n                delete handler._getFileState(id).temp.cachedChunks[chunkIdx];\n            },\n            clearXhr: function(id, chunkIdx) {\n                var tempState = handler._getFileState(id).temp;\n                if (tempState.xhrs) {\n                    delete tempState.xhrs[chunkIdx];\n                }\n                if (tempState.ajaxRequesters) {\n                    delete tempState.ajaxRequesters[chunkIdx];\n                }\n            },\n            finalizeChunks: function(id, responseParser) {\n                var lastChunkIdx = handler._getTotalChunks(id) - 1, xhr = handler._getXhr(id, lastChunkIdx);\n                if (responseParser) {\n                    return new qq.Promise().success(responseParser(xhr), xhr);\n                }\n                return new qq.Promise().success({}, xhr);\n            },\n            getFile: function(id) {\n                return handler.isValid(id) && handler._getFileState(id).file;\n            },\n            getProxy: function(id) {\n                return handler.isValid(id) && handler._getFileState(id).proxy;\n            },\n            getResumableFilesData: function() {\n                var resumableFilesData = [];\n                handler._iterateResumeRecords(function(key, uploadData) {\n                    handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress, uploadData.chunking.remaining);\n                    var data = {\n                        name: uploadData.name,\n                        remaining: uploadData.chunking.remaining,\n                        size: uploadData.size,\n                        uuid: uploadData.uuid\n                    };\n                    if (uploadData.key) {\n                        data.key = uploadData.key;\n                    }\n                    resumableFilesData.push(data);\n                });\n                return resumableFilesData;\n            },\n            isResumable: function(id) {\n                return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;\n            },\n            moveInProgressToRemaining: function(id, optInProgress, optRemaining) {\n                var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress, remaining = optRemaining || handler._getFileState(id).chunking.remaining;\n                if (inProgress) {\n                    log(qq.format(\"Moving these chunks from in-progress {}, to remaining.\", JSON.stringify(inProgress)));\n                    inProgress.reverse();\n                    qq.each(inProgress, function(idx, chunkIdx) {\n                        remaining.unshift(chunkIdx);\n                    });\n                    inProgress.length = 0;\n                }\n            },\n            pause: function(id) {\n                if (handler.isValid(id)) {\n                    log(qq.format(\"Aborting XHR upload for {} '{}' due to pause instruction.\", id, getName(id)));\n                    handler._getFileState(id).paused = true;\n                    abort(id);\n                    return true;\n                }\n            },\n            reevaluateChunking: function(id) {\n                if (chunking && handler.isValid(id)) {\n                    var state = handler._getFileState(id), totalChunks, i;\n                    delete state.chunking;\n                    state.chunking = {};\n                    totalChunks = handler._getTotalChunks(id);\n                    if (totalChunks > 1 || chunking.mandatory) {\n                        state.chunking.enabled = true;\n                        state.chunking.parts = totalChunks;\n                        state.chunking.remaining = [];\n                        for (i = 0; i < totalChunks; i++) {\n                            state.chunking.remaining.push(i);\n                        }\n                        handler._initTempState(id);\n                    } else {\n                        state.chunking.enabled = false;\n                    }\n                }\n            },\n            updateBlob: function(id, newBlob) {\n                if (handler.isValid(id)) {\n                    handler._getFileState(id).file = newBlob;\n                }\n            },\n            _clearXhrs: function(id) {\n                var tempState = handler._getFileState(id).temp;\n                qq.each(tempState.ajaxRequesters, function(chunkId) {\n                    delete tempState.ajaxRequesters[chunkId];\n                });\n                qq.each(tempState.xhrs, function(chunkId) {\n                    delete tempState.xhrs[chunkId];\n                });\n            },\n            _createXhr: function(id, optChunkIdx) {\n                return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());\n            },\n            _getAjaxRequester: function(id, optChunkIdx) {\n                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n                return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];\n            },\n            _getChunkData: function(id, chunkIndex) {\n                var chunkSize = chunking.partSize, fileSize = getSize(id), fileOrBlob = handler.getFile(id), startBytes = chunkSize * chunkIndex, endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize, totalChunks = handler._getTotalChunks(id), cachedChunks = this._getFileState(id).temp.cachedChunks, blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);\n                cachedChunks[chunkIndex] = blob;\n                return {\n                    part: chunkIndex,\n                    start: startBytes,\n                    end: endBytes,\n                    count: totalChunks,\n                    blob: blob,\n                    size: endBytes - startBytes\n                };\n            },\n            _getChunkDataForCallback: function(chunkData) {\n                return {\n                    partIndex: chunkData.part,\n                    startByte: chunkData.start + 1,\n                    endByte: chunkData.end,\n                    totalParts: chunkData.count\n                };\n            },\n            _getLocalStorageId: function(id) {\n                var formatVersion = \"5.0\", name = getName(id), size = getSize(id), chunkSize = chunking.partSize, endpoint = getEndpoint(id);\n                return qq.format(\"qq{}resume{}-{}-{}-{}-{}\", namespace, formatVersion, name, size, chunkSize, endpoint);\n            },\n            _getMimeType: function(id) {\n                return handler.getFile(id).type;\n            },\n            _getPersistableData: function(id) {\n                return handler._getFileState(id).chunking;\n            },\n            _getTotalChunks: function(id) {\n                if (chunking) {\n                    var fileSize = getSize(id), chunkSize = chunking.partSize;\n                    return Math.ceil(fileSize / chunkSize);\n                }\n            },\n            _getXhr: function(id, optChunkIdx) {\n                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n                return handler._getFileState(id).temp.xhrs[chunkIdx];\n            },\n            _getXhrs: function(id) {\n                return handler._getFileState(id).temp.xhrs;\n            },\n            _iterateResumeRecords: function(callback) {\n                if (resumeEnabled) {\n                    qq.each(localStorage, function(key, item) {\n                        if (key.indexOf(qq.format(\"qq{}resume\", namespace)) === 0) {\n                            var uploadData = JSON.parse(item);\n                            callback(key, uploadData);\n                        }\n                    });\n                }\n            },\n            _initTempState: function(id) {\n                handler._getFileState(id).temp = {\n                    ajaxRequesters: {},\n                    chunkProgress: {},\n                    xhrs: {},\n                    cachedChunks: {}\n                };\n            },\n            _markNotResumable: function(id) {\n                handler._getFileState(id).notResumable = true;\n            },\n            _maybeDeletePersistedChunkData: function(id) {\n                var localStorageId;\n                if (resumeEnabled && handler.isResumable(id)) {\n                    localStorageId = handler._getLocalStorageId(id);\n                    if (localStorageId && localStorage.getItem(localStorageId)) {\n                        localStorage.removeItem(localStorageId);\n                        return true;\n                    }\n                }\n                return false;\n            },\n            _maybePrepareForResume: function(id) {\n                var state = handler._getFileState(id), localStorageId, persistedData;\n                if (resumeEnabled && state.key === undefined) {\n                    localStorageId = handler._getLocalStorageId(id);\n                    persistedData = localStorage.getItem(localStorageId);\n                    if (persistedData) {\n                        persistedData = JSON.parse(persistedData);\n                        if (getDataByUuid(persistedData.uuid)) {\n                            handler._markNotResumable(id);\n                        } else {\n                            log(qq.format(\"Identified file with ID {} and name of {} as resumable.\", id, getName(id)));\n                            onUuidChanged(id, persistedData.uuid);\n                            state.key = persistedData.key;\n                            state.chunking = persistedData.chunking;\n                            state.loaded = persistedData.loaded;\n                            state.attemptingResume = true;\n                            handler.moveInProgressToRemaining(id);\n                        }\n                    }\n                }\n            },\n            _maybePersistChunkedState: function(id) {\n                var state = handler._getFileState(id), localStorageId, persistedData;\n                if (resumeEnabled && handler.isResumable(id)) {\n                    localStorageId = handler._getLocalStorageId(id);\n                    persistedData = {\n                        name: getName(id),\n                        size: getSize(id),\n                        uuid: getUuid(id),\n                        key: state.key,\n                        chunking: state.chunking,\n                        loaded: state.loaded,\n                        lastUpdated: Date.now()\n                    };\n                    try {\n                        localStorage.setItem(localStorageId, JSON.stringify(persistedData));\n                    } catch (error) {\n                        log(qq.format(\"Unable to save resume data for '{}' due to error: '{}'.\", id, error.toString()), \"warn\");\n                    }\n                }\n            },\n            _registerProgressHandler: function(id, chunkIdx, chunkSize) {\n                var xhr = handler._getXhr(id, chunkIdx), name = getName(id), progressCalculator = {\n                    simple: function(loaded, total) {\n                        var fileSize = getSize(id);\n                        if (loaded === total) {\n                            onProgress(id, name, fileSize, fileSize);\n                        } else {\n                            onProgress(id, name, loaded >= fileSize ? fileSize - 1 : loaded, fileSize);\n                        }\n                    },\n                    chunked: function(loaded, total) {\n                        var chunkProgress = handler._getFileState(id).temp.chunkProgress, totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded, loadedForRequest = loaded, totalForRequest = total, totalFileSize = getSize(id), estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize), totalLoadedForFile = totalSuccessfullyLoadedForFile;\n                        chunkProgress[chunkIdx] = estActualChunkLoaded;\n                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {\n                            totalLoadedForFile += chunkLoaded;\n                        });\n                        onProgress(id, name, totalLoadedForFile, totalFileSize);\n                    }\n                };\n                xhr.upload.onprogress = function(e) {\n                    if (e.lengthComputable) {\n                        var type = chunkSize == null ? \"simple\" : \"chunked\";\n                        progressCalculator[type](e.loaded, e.total);\n                    }\n                };\n            },\n            _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {\n                var xhrsId = optChunkIdx == null ? -1 : optChunkIdx, tempState = handler._getFileState(id).temp;\n                tempState.xhrs = tempState.xhrs || {};\n                tempState.ajaxRequesters = tempState.ajaxRequesters || {};\n                tempState.xhrs[xhrsId] = xhr;\n                if (optAjaxRequester) {\n                    tempState.ajaxRequesters[xhrsId] = optAjaxRequester;\n                }\n                return xhr;\n            },\n            _removeExpiredChunkingRecords: function() {\n                var expirationDays = resume.recordsExpireIn;\n                handler._iterateResumeRecords(function(key, uploadData) {\n                    var expirationDate = new Date(uploadData.lastUpdated);\n                    expirationDate.setDate(expirationDate.getDate() + expirationDays);\n                    if (expirationDate.getTime() <= Date.now()) {\n                        log(\"Removing expired resume record with key \" + key);\n                        localStorage.removeItem(key);\n                    }\n                });\n            },\n            _shouldChunkThisFile: function(id) {\n                var state = handler._getFileState(id);\n                if (!state.chunking) {\n                    handler.reevaluateChunking(id);\n                }\n                return state.chunking.enabled;\n            }\n        });\n    };\n    qq.DeleteFileAjaxRequester = function(o) {\n        \"use strict\";\n        var requester, options = {\n            method: \"DELETE\",\n            uuidParamName: \"qquuid\",\n            endpointStore: {},\n            maxConnections: 3,\n            customHeaders: function(id) {\n                return {};\n            },\n            paramsStore: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onDelete: function(id) {},\n            onDeleteComplete: function(id, xhrOrXdr, isError) {}\n        };\n        qq.extend(options, o);\n        function getMandatedParams() {\n            if (options.method.toUpperCase() === \"POST\") {\n                return {\n                    _method: \"DELETE\"\n                };\n            }\n            return {};\n        }\n        requester = qq.extend(this, new qq.AjaxRequester({\n            acceptHeader: \"application/json\",\n            validMethods: [ \"POST\", \"DELETE\" ],\n            method: options.method,\n            endpointStore: options.endpointStore,\n            paramsStore: options.paramsStore,\n            mandatedParams: getMandatedParams(),\n            maxConnections: options.maxConnections,\n            customHeaders: function(id) {\n                return options.customHeaders.get(id);\n            },\n            log: options.log,\n            onSend: options.onDelete,\n            onComplete: options.onDeleteComplete,\n            cors: options.cors\n        }));\n        qq.extend(this, {\n            sendDelete: function(id, uuid, additionalMandatedParams) {\n                var additionalOptions = additionalMandatedParams || {};\n                options.log(\"Submitting delete file request for \" + id);\n                if (options.method === \"DELETE\") {\n                    requester.initTransport(id).withPath(uuid).withParams(additionalOptions).send();\n                } else {\n                    additionalOptions[options.uuidParamName] = uuid;\n                    requester.initTransport(id).withParams(additionalOptions).send();\n                }\n            }\n        });\n    };\n    (function() {\n        function detectSubsampling(img) {\n            var iw = img.naturalWidth, ih = img.naturalHeight, canvas = document.createElement(\"canvas\"), ctx;\n            if (iw * ih > 1024 * 1024) {\n                canvas.width = canvas.height = 1;\n                ctx = canvas.getContext(\"2d\");\n                ctx.drawImage(img, -iw + 1, 0);\n                return ctx.getImageData(0, 0, 1, 1).data[3] === 0;\n            } else {\n                return false;\n            }\n        }\n        function detectVerticalSquash(img, iw, ih) {\n            var canvas = document.createElement(\"canvas\"), sy = 0, ey = ih, py = ih, ctx, data, alpha, ratio;\n            canvas.width = 1;\n            canvas.height = ih;\n            ctx = canvas.getContext(\"2d\");\n            ctx.drawImage(img, 0, 0);\n            data = ctx.getImageData(0, 0, 1, ih).data;\n            while (py > sy) {\n                alpha = data[(py - 1) * 4 + 3];\n                if (alpha === 0) {\n                    ey = py;\n                } else {\n                    sy = py;\n                }\n                py = ey + sy >> 1;\n            }\n            ratio = py / ih;\n            return ratio === 0 ? 1 : ratio;\n        }\n        function renderImageToDataURL(img, blob, options, doSquash) {\n            var canvas = document.createElement(\"canvas\"), mime = options.mime || \"image/jpeg\", promise = new qq.Promise();\n            renderImageToCanvas(img, blob, canvas, options, doSquash).then(function() {\n                promise.success(canvas.toDataURL(mime, options.quality || .8));\n            });\n            return promise;\n        }\n        function maybeCalculateDownsampledDimensions(spec) {\n            var maxPixels = 5241e3;\n            if (!qq.ios()) {\n                throw new qq.Error(\"Downsampled dimensions can only be reliably calculated for iOS!\");\n            }\n            if (spec.origHeight * spec.origWidth > maxPixels) {\n                return {\n                    newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),\n                    newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))\n                };\n            }\n        }\n        function renderImageToCanvas(img, blob, canvas, options, doSquash) {\n            var iw = img.naturalWidth, ih = img.naturalHeight, width = options.width, height = options.height, ctx = canvas.getContext(\"2d\"), promise = new qq.Promise(), modifiedDimensions;\n            ctx.save();\n            if (options.resize) {\n                return renderImageToCanvasWithCustomResizer({\n                    blob: blob,\n                    canvas: canvas,\n                    image: img,\n                    imageHeight: ih,\n                    imageWidth: iw,\n                    orientation: options.orientation,\n                    resize: options.resize,\n                    targetHeight: height,\n                    targetWidth: width\n                });\n            }\n            if (!qq.supportedFeatures.unlimitedScaledImageSize) {\n                modifiedDimensions = maybeCalculateDownsampledDimensions({\n                    origWidth: width,\n                    origHeight: height\n                });\n                if (modifiedDimensions) {\n                    qq.log(qq.format(\"Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h\", width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight), \"warn\");\n                    width = modifiedDimensions.newWidth;\n                    height = modifiedDimensions.newHeight;\n                }\n            }\n            transformCoordinate(canvas, width, height, options.orientation);\n            if (qq.ios()) {\n                (function() {\n                    if (detectSubsampling(img)) {\n                        iw /= 2;\n                        ih /= 2;\n                    }\n                    var d = 1024, tmpCanvas = document.createElement(\"canvas\"), vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1, dw = Math.ceil(d * width / iw), dh = Math.ceil(d * height / ih / vertSquashRatio), sy = 0, dy = 0, tmpCtx, sx, dx;\n                    tmpCanvas.width = tmpCanvas.height = d;\n                    tmpCtx = tmpCanvas.getContext(\"2d\");\n                    while (sy < ih) {\n                        sx = 0;\n                        dx = 0;\n                        while (sx < iw) {\n                            tmpCtx.clearRect(0, 0, d, d);\n                            tmpCtx.drawImage(img, -sx, -sy);\n                            ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);\n                            sx += d;\n                            dx += dw;\n                        }\n                        sy += d;\n                        dy += dh;\n                    }\n                    ctx.restore();\n                    tmpCanvas = tmpCtx = null;\n                })();\n            } else {\n                ctx.drawImage(img, 0, 0, width, height);\n            }\n            canvas.qqImageRendered && canvas.qqImageRendered();\n            promise.success();\n            return promise;\n        }\n        function renderImageToCanvasWithCustomResizer(resizeInfo) {\n            var blob = resizeInfo.blob, image = resizeInfo.image, imageHeight = resizeInfo.imageHeight, imageWidth = resizeInfo.imageWidth, orientation = resizeInfo.orientation, promise = new qq.Promise(), resize = resizeInfo.resize, sourceCanvas = document.createElement(\"canvas\"), sourceCanvasContext = sourceCanvas.getContext(\"2d\"), targetCanvas = resizeInfo.canvas, targetHeight = resizeInfo.targetHeight, targetWidth = resizeInfo.targetWidth;\n            transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);\n            targetCanvas.height = targetHeight;\n            targetCanvas.width = targetWidth;\n            sourceCanvasContext.drawImage(image, 0, 0);\n            resize({\n                blob: blob,\n                height: targetHeight,\n                image: image,\n                sourceCanvas: sourceCanvas,\n                targetCanvas: targetCanvas,\n                width: targetWidth\n            }).then(function success() {\n                targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();\n                promise.success();\n            }, promise.failure);\n            return promise;\n        }\n        function transformCoordinate(canvas, width, height, orientation) {\n            switch (orientation) {\n              case 5:\n              case 6:\n              case 7:\n              case 8:\n                canvas.width = height;\n                canvas.height = width;\n                break;\n\n              default:\n                canvas.width = width;\n                canvas.height = height;\n            }\n            var ctx = canvas.getContext(\"2d\");\n            switch (orientation) {\n              case 2:\n                ctx.translate(width, 0);\n                ctx.scale(-1, 1);\n                break;\n\n              case 3:\n                ctx.translate(width, height);\n                ctx.rotate(Math.PI);\n                break;\n\n              case 4:\n                ctx.translate(0, height);\n                ctx.scale(1, -1);\n                break;\n\n              case 5:\n                ctx.rotate(.5 * Math.PI);\n                ctx.scale(1, -1);\n                break;\n\n              case 6:\n                ctx.rotate(.5 * Math.PI);\n                ctx.translate(0, -height);\n                break;\n\n              case 7:\n                ctx.rotate(.5 * Math.PI);\n                ctx.translate(width, -height);\n                ctx.scale(-1, 1);\n                break;\n\n              case 8:\n                ctx.rotate(-.5 * Math.PI);\n                ctx.translate(-width, 0);\n                break;\n\n              default:\n                break;\n            }\n        }\n        function MegaPixImage(srcImage, errorCallback) {\n            var self = this;\n            if (window.Blob && srcImage instanceof Blob) {\n                (function() {\n                    var img = new Image(), URL = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                    if (!URL) {\n                        throw Error(\"No createObjectURL function found to create blob url\");\n                    }\n                    img.src = URL.createObjectURL(srcImage);\n                    self.blob = srcImage;\n                    srcImage = img;\n                })();\n            }\n            if (!srcImage.naturalWidth && !srcImage.naturalHeight) {\n                srcImage.onload = function() {\n                    var listeners = self.imageLoadListeners;\n                    if (listeners) {\n                        self.imageLoadListeners = null;\n                        setTimeout(function() {\n                            for (var i = 0, len = listeners.length; i < len; i++) {\n                                listeners[i]();\n                            }\n                        }, 0);\n                    }\n                };\n                srcImage.onerror = errorCallback;\n                this.imageLoadListeners = [];\n            }\n            this.srcImage = srcImage;\n        }\n        MegaPixImage.prototype.render = function(target, options) {\n            options = options || {};\n            var self = this, imgWidth = this.srcImage.naturalWidth, imgHeight = this.srcImage.naturalHeight, width = options.width, height = options.height, maxWidth = options.maxWidth, maxHeight = options.maxHeight, doSquash = !this.blob || this.blob.type === \"image/jpeg\", tagName = target.tagName.toLowerCase(), opt;\n            if (this.imageLoadListeners) {\n                this.imageLoadListeners.push(function() {\n                    self.render(target, options);\n                });\n                return;\n            }\n            if (width && !height) {\n                height = imgHeight * width / imgWidth << 0;\n            } else if (height && !width) {\n                width = imgWidth * height / imgHeight << 0;\n            } else {\n                width = imgWidth;\n                height = imgHeight;\n            }\n            if (maxWidth && width > maxWidth) {\n                width = maxWidth;\n                height = imgHeight * width / imgWidth << 0;\n            }\n            if (maxHeight && height > maxHeight) {\n                height = maxHeight;\n                width = imgWidth * height / imgHeight << 0;\n            }\n            opt = {\n                width: width,\n                height: height\n            }, qq.each(options, function(optionsKey, optionsValue) {\n                opt[optionsKey] = optionsValue;\n            });\n            if (tagName === \"img\") {\n                (function() {\n                    var oldTargetSrc = target.src;\n                    renderImageToDataURL(self.srcImage, self.blob, opt, doSquash).then(function(dataUri) {\n                        target.src = dataUri;\n                        oldTargetSrc === target.src && target.onload();\n                    });\n                })();\n            } else if (tagName === \"canvas\") {\n                renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);\n            }\n            if (typeof this.onrender === \"function\") {\n                this.onrender(target);\n            }\n        };\n        qq.MegaPixImage = MegaPixImage;\n    })();\n    qq.ImageGenerator = function(log) {\n        \"use strict\";\n        function isImg(el) {\n            return el.tagName.toLowerCase() === \"img\";\n        }\n        function isCanvas(el) {\n            return el.tagName.toLowerCase() === \"canvas\";\n        }\n        function isImgCorsSupported() {\n            return new Image().crossOrigin !== undefined;\n        }\n        function isCanvasSupported() {\n            var canvas = document.createElement(\"canvas\");\n            return canvas.getContext && canvas.getContext(\"2d\");\n        }\n        function determineMimeOfFileName(nameWithPath) {\n            var pathSegments = nameWithPath.split(\"/\"), name = pathSegments[pathSegments.length - 1].split(\"?\")[0], extension = qq.getExtension(name);\n            extension = extension && extension.toLowerCase();\n            switch (extension) {\n              case \"jpeg\":\n              case \"jpg\":\n                return \"image/jpeg\";\n\n              case \"png\":\n                return \"image/png\";\n\n              case \"bmp\":\n                return \"image/bmp\";\n\n              case \"gif\":\n                return \"image/gif\";\n\n              case \"tiff\":\n              case \"tif\":\n                return \"image/tiff\";\n            }\n        }\n        function isCrossOrigin(url) {\n            var targetAnchor = document.createElement(\"a\"), targetProtocol, targetHostname, targetPort;\n            targetAnchor.href = url;\n            targetProtocol = targetAnchor.protocol;\n            targetPort = targetAnchor.port;\n            targetHostname = targetAnchor.hostname;\n            if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {\n                return true;\n            }\n            if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {\n                return true;\n            }\n            if (targetPort !== window.location.port && !qq.ie()) {\n                return true;\n            }\n            return false;\n        }\n        function registerImgLoadListeners(img, promise) {\n            img.onload = function() {\n                img.onload = null;\n                img.onerror = null;\n                promise.success(img);\n            };\n            img.onerror = function() {\n                img.onload = null;\n                img.onerror = null;\n                log(\"Problem drawing thumbnail!\", \"error\");\n                promise.failure(img, \"Problem drawing thumbnail!\");\n            };\n        }\n        function registerCanvasDrawImageListener(canvas, promise) {\n            canvas.qqImageRendered = function() {\n                promise.success(canvas);\n            };\n        }\n        function registerThumbnailRenderedListener(imgOrCanvas, promise) {\n            var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);\n            if (isImg(imgOrCanvas)) {\n                registerImgLoadListeners(imgOrCanvas, promise);\n            } else if (isCanvas(imgOrCanvas)) {\n                registerCanvasDrawImageListener(imgOrCanvas, promise);\n            } else {\n                promise.failure(imgOrCanvas);\n                log(qq.format(\"Element container of type {} is not supported!\", imgOrCanvas.tagName), \"error\");\n            }\n            return registered;\n        }\n        function draw(fileOrBlob, container, options) {\n            var drawPreview = new qq.Promise(), identifier = new qq.Identify(fileOrBlob, log), maxSize = options.maxSize, orient = options.orient == null ? true : options.orient, megapixErrorHandler = function() {\n                container.onerror = null;\n                container.onload = null;\n                log(\"Could not render preview, file may be too large!\", \"error\");\n                drawPreview.failure(container, \"Browser cannot render image!\");\n            };\n            identifier.isPreviewable().then(function(mime) {\n                var dummyExif = {\n                    parse: function() {\n                        return new qq.Promise().success();\n                    }\n                }, exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif, mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);\n                if (registerThumbnailRenderedListener(container, drawPreview)) {\n                    exif.parse().then(function(exif) {\n                        var orientation = exif && exif.Orientation;\n                        mpImg.render(container, {\n                            maxWidth: maxSize,\n                            maxHeight: maxSize,\n                            orientation: orientation,\n                            mime: mime,\n                            resize: options.customResizeFunction\n                        });\n                    }, function(failureMsg) {\n                        log(qq.format(\"EXIF data could not be parsed ({}).  Assuming orientation = 1.\", failureMsg));\n                        mpImg.render(container, {\n                            maxWidth: maxSize,\n                            maxHeight: maxSize,\n                            mime: mime,\n                            resize: options.customResizeFunction\n                        });\n                    });\n                }\n            }, function() {\n                log(\"Not previewable\");\n                drawPreview.failure(container, \"Not previewable\");\n            });\n            return drawPreview;\n        }\n        function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {\n            var tempImg = new Image(), tempImgRender = new qq.Promise();\n            registerThumbnailRenderedListener(tempImg, tempImgRender);\n            if (isCrossOrigin(url)) {\n                tempImg.crossOrigin = \"anonymous\";\n            }\n            tempImg.src = url;\n            tempImgRender.then(function rendered() {\n                registerThumbnailRenderedListener(canvasOrImg, draw);\n                var mpImg = new qq.MegaPixImage(tempImg);\n                mpImg.render(canvasOrImg, {\n                    maxWidth: maxSize,\n                    maxHeight: maxSize,\n                    mime: determineMimeOfFileName(url),\n                    resize: customResizeFunction\n                });\n            }, draw.failure);\n        }\n        function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {\n            registerThumbnailRenderedListener(img, draw);\n            qq(img).css({\n                maxWidth: maxSize + \"px\",\n                maxHeight: maxSize + \"px\"\n            });\n            img.src = url;\n        }\n        function drawFromUrl(url, container, options) {\n            var draw = new qq.Promise(), scale = options.scale, maxSize = scale ? options.maxSize : null;\n            if (scale && isImg(container)) {\n                if (isCanvasSupported()) {\n                    if (isCrossOrigin(url) && !isImgCorsSupported()) {\n                        drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                    } else {\n                        drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n                    }\n                } else {\n                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                }\n            } else if (isCanvas(container)) {\n                drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n            } else if (registerThumbnailRenderedListener(container, draw)) {\n                container.src = url;\n            }\n            return draw;\n        }\n        qq.extend(this, {\n            generate: function(fileBlobOrUrl, container, options) {\n                if (qq.isString(fileBlobOrUrl)) {\n                    log(\"Attempting to update thumbnail based on server response.\");\n                    return drawFromUrl(fileBlobOrUrl, container, options || {});\n                } else {\n                    log(\"Attempting to draw client-side image preview.\");\n                    return draw(fileBlobOrUrl, container, options || {});\n                }\n            }\n        });\n        this._testing = {};\n        this._testing.isImg = isImg;\n        this._testing.isCanvas = isCanvas;\n        this._testing.isCrossOrigin = isCrossOrigin;\n        this._testing.determineMimeOfFileName = determineMimeOfFileName;\n    };\n    qq.Exif = function(fileOrBlob, log) {\n        \"use strict\";\n        var TAG_IDS = [ 274 ], TAG_INFO = {\n            274: {\n                name: \"Orientation\",\n                bytes: 2\n            }\n        };\n        function parseLittleEndian(hex) {\n            var result = 0, pow = 0;\n            while (hex.length > 0) {\n                result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);\n                hex = hex.substring(2, hex.length);\n                pow += 8;\n            }\n            return result;\n        }\n        function seekToApp1(offset, promise) {\n            var theOffset = offset, thePromise = promise;\n            if (theOffset === undefined) {\n                theOffset = 2;\n                thePromise = new qq.Promise();\n            }\n            qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {\n                var match = /^ffe([0-9])/.exec(hex), segmentLength;\n                if (match) {\n                    if (match[1] !== \"1\") {\n                        segmentLength = parseInt(hex.slice(4, 8), 16);\n                        seekToApp1(theOffset + segmentLength + 2, thePromise);\n                    } else {\n                        thePromise.success(theOffset);\n                    }\n                } else {\n                    thePromise.failure(\"No EXIF header to be found!\");\n                }\n            });\n            return thePromise;\n        }\n        function getApp1Offset() {\n            var promise = new qq.Promise();\n            qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {\n                if (hex.indexOf(\"ffd8\") !== 0) {\n                    promise.failure(\"Not a valid JPEG!\");\n                } else {\n                    seekToApp1().then(function(offset) {\n                        promise.success(offset);\n                    }, function(error) {\n                        promise.failure(error);\n                    });\n                }\n            });\n            return promise;\n        }\n        function isLittleEndian(app1Start) {\n            var promise = new qq.Promise();\n            qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {\n                promise.success(hex === \"4949\");\n            });\n            return promise;\n        }\n        function getDirEntryCount(app1Start, littleEndian) {\n            var promise = new qq.Promise();\n            qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {\n                if (littleEndian) {\n                    return promise.success(parseLittleEndian(hex));\n                } else {\n                    promise.success(parseInt(hex, 16));\n                }\n            });\n            return promise;\n        }\n        function getIfd(app1Start, dirEntries) {\n            var offset = app1Start + 20, bytes = dirEntries * 12;\n            return qq.readBlobToHex(fileOrBlob, offset, bytes);\n        }\n        function getDirEntries(ifdHex) {\n            var entries = [], offset = 0;\n            while (offset + 24 <= ifdHex.length) {\n                entries.push(ifdHex.slice(offset, offset + 24));\n                offset += 24;\n            }\n            return entries;\n        }\n        function getTagValues(littleEndian, dirEntries) {\n            var TAG_VAL_OFFSET = 16, tagsToFind = qq.extend([], TAG_IDS), vals = {};\n            qq.each(dirEntries, function(idx, entry) {\n                var idHex = entry.slice(0, 4), id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16), tagsToFindIdx = tagsToFind.indexOf(id), tagValHex, tagName, tagValLength;\n                if (tagsToFindIdx >= 0) {\n                    tagName = TAG_INFO[id].name;\n                    tagValLength = TAG_INFO[id].bytes;\n                    tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + tagValLength * 2);\n                    vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);\n                    tagsToFind.splice(tagsToFindIdx, 1);\n                }\n                if (tagsToFind.length === 0) {\n                    return false;\n                }\n            });\n            return vals;\n        }\n        qq.extend(this, {\n            parse: function() {\n                var parser = new qq.Promise(), onParseFailure = function(message) {\n                    log(qq.format(\"EXIF header parse failed: '{}' \", message));\n                    parser.failure(message);\n                };\n                getApp1Offset().then(function(app1Offset) {\n                    log(qq.format(\"Moving forward with EXIF header parsing for '{}'\", fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name));\n                    isLittleEndian(app1Offset).then(function(littleEndian) {\n                        log(qq.format(\"EXIF Byte order is {} endian\", littleEndian ? \"little\" : \"big\"));\n                        getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {\n                            log(qq.format(\"Found {} APP1 directory entries\", dirEntryCount));\n                            getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {\n                                var dirEntries = getDirEntries(ifdHex), tagValues = getTagValues(littleEndian, dirEntries);\n                                log(\"Successfully parsed some EXIF tags\");\n                                parser.success(tagValues);\n                            }, onParseFailure);\n                        }, onParseFailure);\n                    }, onParseFailure);\n                }, onParseFailure);\n                return parser;\n            }\n        });\n        this._testing = {};\n        this._testing.parseLittleEndian = parseLittleEndian;\n    };\n    qq.Identify = function(fileOrBlob, log) {\n        \"use strict\";\n        function isIdentifiable(magicBytes, questionableBytes) {\n            var identifiable = false, magicBytesEntries = [].concat(magicBytes);\n            qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {\n                if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {\n                    identifiable = true;\n                    return false;\n                }\n            });\n            return identifiable;\n        }\n        qq.extend(this, {\n            isPreviewable: function() {\n                var self = this, identifier = new qq.Promise(), previewable = false, name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n                log(qq.format(\"Attempting to determine if {} can be rendered in this browser\", name));\n                log(\"First pass: check type attribute of blob object.\");\n                if (this.isPreviewableSync()) {\n                    log(\"Second pass: check for magic bytes in file header.\");\n                    qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {\n                        qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {\n                            if (isIdentifiable(bytes, hex)) {\n                                if (mime !== \"image/tiff\" || qq.supportedFeatures.tiffPreviews) {\n                                    previewable = true;\n                                    identifier.success(mime);\n                                }\n                                return false;\n                            }\n                        });\n                        log(qq.format(\"'{}' is {} able to be rendered in this browser\", name, previewable ? \"\" : \"NOT\"));\n                        if (!previewable) {\n                            identifier.failure();\n                        }\n                    }, function() {\n                        log(\"Error reading file w/ name '\" + name + \"'.  Not able to be rendered in this browser.\");\n                        identifier.failure();\n                    });\n                } else {\n                    identifier.failure();\n                }\n                return identifier;\n            },\n            isPreviewableSync: function() {\n                var fileMime = fileOrBlob.type, isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0, previewable = false, name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n                if (isRecognizedImage) {\n                    if (fileMime === \"image/tiff\") {\n                        previewable = qq.supportedFeatures.tiffPreviews;\n                    } else {\n                        previewable = true;\n                    }\n                }\n                !previewable && log(name + \" is not previewable in this browser per the blob's type attr\");\n                return previewable;\n            }\n        });\n    };\n    qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {\n        \"image/jpeg\": \"ffd8ff\",\n        \"image/gif\": \"474946\",\n        \"image/png\": \"89504e\",\n        \"image/bmp\": \"424d\",\n        \"image/tiff\": [ \"49492a00\", \"4d4d002a\" ]\n    };\n    qq.ImageValidation = function(blob, log) {\n        \"use strict\";\n        function hasNonZeroLimits(limits) {\n            var atLeastOne = false;\n            qq.each(limits, function(limit, value) {\n                if (value > 0) {\n                    atLeastOne = true;\n                    return false;\n                }\n            });\n            return atLeastOne;\n        }\n        function getWidthHeight() {\n            var sizeDetermination = new qq.Promise();\n            new qq.Identify(blob, log).isPreviewable().then(function() {\n                var image = new Image(), url = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                if (url) {\n                    image.onerror = function() {\n                        log(\"Cannot determine dimensions for image.  May be too large.\", \"error\");\n                        sizeDetermination.failure();\n                    };\n                    image.onload = function() {\n                        sizeDetermination.success({\n                            width: this.width,\n                            height: this.height\n                        });\n                    };\n                    image.src = url.createObjectURL(blob);\n                } else {\n                    log(\"No createObjectURL function available to generate image URL!\", \"error\");\n                    sizeDetermination.failure();\n                }\n            }, sizeDetermination.failure);\n            return sizeDetermination;\n        }\n        function getFailingLimit(limits, dimensions) {\n            var failingLimit;\n            qq.each(limits, function(limitName, limitValue) {\n                if (limitValue > 0) {\n                    var limitMatcher = /(max|min)(Width|Height)/.exec(limitName), dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1), actualValue = dimensions[dimensionPropName];\n                    switch (limitMatcher[1]) {\n                      case \"min\":\n                        if (actualValue < limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n\n                      case \"max\":\n                        if (actualValue > limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                    }\n                }\n            });\n            return failingLimit;\n        }\n        this.validate = function(limits) {\n            var validationEffort = new qq.Promise();\n            log(\"Attempting to validate image.\");\n            if (hasNonZeroLimits(limits)) {\n                getWidthHeight().then(function(dimensions) {\n                    var failingLimit = getFailingLimit(limits, dimensions);\n                    if (failingLimit) {\n                        validationEffort.failure(failingLimit);\n                    } else {\n                        validationEffort.success();\n                    }\n                }, validationEffort.success);\n            } else {\n                validationEffort.success();\n            }\n            return validationEffort;\n        };\n    };\n    qq.Session = function(spec) {\n        \"use strict\";\n        var options = {\n            endpoint: null,\n            params: {},\n            customHeaders: {},\n            cors: {},\n            addFileRecord: function(sessionData) {},\n            log: function(message, level) {}\n        };\n        qq.extend(options, spec, true);\n        function isJsonResponseValid(response) {\n            if (qq.isArray(response)) {\n                return true;\n            }\n            options.log(\"Session response is not an array.\", \"error\");\n        }\n        function handleFileItems(fileItems, success, xhrOrXdr, promise) {\n            var someItemsIgnored = false;\n            success = success && isJsonResponseValid(fileItems);\n            if (success) {\n                qq.each(fileItems, function(idx, fileItem) {\n                    if (fileItem.uuid == null) {\n                        someItemsIgnored = true;\n                        options.log(qq.format(\"Session response item {} did not include a valid UUID - ignoring.\", idx), \"error\");\n                    } else if (fileItem.name == null) {\n                        someItemsIgnored = true;\n                        options.log(qq.format(\"Session response item {} did not include a valid name - ignoring.\", idx), \"error\");\n                    } else {\n                        try {\n                            options.addFileRecord(fileItem);\n                            return true;\n                        } catch (err) {\n                            someItemsIgnored = true;\n                            options.log(err.message, \"error\");\n                        }\n                    }\n                    return false;\n                });\n            }\n            promise[success && !someItemsIgnored ? \"success\" : \"failure\"](fileItems, xhrOrXdr);\n        }\n        this.refresh = function() {\n            var refreshEffort = new qq.Promise(), refreshCompleteCallback = function(response, success, xhrOrXdr) {\n                handleFileItems(response, success, xhrOrXdr, refreshEffort);\n            }, requesterOptions = qq.extend({}, options), requester = new qq.SessionAjaxRequester(qq.extend(requesterOptions, {\n                onComplete: refreshCompleteCallback\n            }));\n            requester.queryServer();\n            return refreshEffort;\n        };\n    };\n    qq.SessionAjaxRequester = function(spec) {\n        \"use strict\";\n        var requester, options = {\n            endpoint: null,\n            customHeaders: {},\n            params: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            onComplete: function(response, success, xhrOrXdr) {},\n            log: function(str, level) {}\n        };\n        qq.extend(options, spec);\n        function onComplete(id, xhrOrXdr, isError) {\n            var response = null;\n            if (xhrOrXdr.responseText != null) {\n                try {\n                    response = qq.parseJson(xhrOrXdr.responseText);\n                } catch (err) {\n                    options.log(\"Problem parsing session response: \" + err.message, \"error\");\n                    isError = true;\n                }\n            }\n            options.onComplete(response, !isError, xhrOrXdr);\n        }\n        requester = qq.extend(this, new qq.AjaxRequester({\n            acceptHeader: \"application/json\",\n            validMethods: [ \"GET\" ],\n            method: \"GET\",\n            endpointStore: {\n                get: function() {\n                    return options.endpoint;\n                }\n            },\n            customHeaders: options.customHeaders,\n            log: options.log,\n            onComplete: onComplete,\n            cors: options.cors\n        }));\n        qq.extend(this, {\n            queryServer: function() {\n                var params = qq.extend({}, options.params);\n                options.log(\"Session query request.\");\n                requester.initTransport(\"sessionRefresh\").withParams(params).withCacheBuster().send();\n            }\n        });\n    };\n    qq.Scaler = function(spec, log) {\n        \"use strict\";\n        var self = this, customResizeFunction = spec.customResizer, includeOriginal = spec.sendOriginal, orient = spec.orient, defaultType = spec.defaultType, defaultQuality = spec.defaultQuality / 100, failedToScaleText = spec.failureText, includeExif = spec.includeExif, sizes = this._getSortedSizes(spec.sizes);\n        qq.extend(this, {\n            enabled: qq.supportedFeatures.scaling && sizes.length > 0,\n            getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {\n                var self = this, records = [], originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData, identifier = new qq.Identify(originalBlob, log);\n                if (identifier.isPreviewableSync()) {\n                    qq.each(sizes, function(idx, sizeRecord) {\n                        var outputType = self._determineOutputType({\n                            defaultType: defaultType,\n                            requestedType: sizeRecord.type,\n                            refType: originalBlob.type\n                        });\n                        records.push({\n                            uuid: qq.getUniqueId(),\n                            name: self._getName(originalFileName, {\n                                name: sizeRecord.name,\n                                type: outputType,\n                                refType: originalBlob.type\n                            }),\n                            blob: new qq.BlobProxy(originalBlob, qq.bind(self._generateScaledImage, self, {\n                                customResizeFunction: customResizeFunction,\n                                maxSize: sizeRecord.maxSize,\n                                orient: orient,\n                                type: outputType,\n                                quality: defaultQuality,\n                                failedText: failedToScaleText,\n                                includeExif: includeExif,\n                                log: log\n                            }))\n                        });\n                    });\n                    records.push({\n                        uuid: originalFileUuid,\n                        name: originalFileName,\n                        size: originalBlob.size,\n                        blob: includeOriginal ? originalBlob : null\n                    });\n                } else {\n                    records.push({\n                        uuid: originalFileUuid,\n                        name: originalFileName,\n                        size: originalBlob.size,\n                        blob: originalBlob\n                    });\n                }\n                return records;\n            },\n            handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {\n                var self = this, buttonId = file.qqButtonId || file.blob && file.blob.qqButtonId, scaledIds = [], originalId = null, addFileToHandler = api.addFileToHandler, uploadData = api.uploadData, paramsStore = api.paramsStore, proxyGroupId = qq.getUniqueId();\n                qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {\n                    var blobSize = record.size, id;\n                    if (record.blob instanceof qq.BlobProxy) {\n                        blobSize = -1;\n                    }\n                    id = uploadData.addFile({\n                        uuid: record.uuid,\n                        name: record.name,\n                        size: blobSize,\n                        batchId: batchId,\n                        proxyGroupId: proxyGroupId\n                    });\n                    if (record.blob instanceof qq.BlobProxy) {\n                        scaledIds.push(id);\n                    } else {\n                        originalId = id;\n                    }\n                    if (record.blob) {\n                        addFileToHandler(id, record.blob);\n                        fileList.push({\n                            id: id,\n                            file: record.blob\n                        });\n                    } else {\n                        uploadData.setStatus(id, qq.status.REJECTED);\n                    }\n                });\n                if (originalId !== null) {\n                    qq.each(scaledIds, function(idx, scaledId) {\n                        var params = {\n                            qqparentuuid: uploadData.retrieve({\n                                id: originalId\n                            }).uuid,\n                            qqparentsize: uploadData.retrieve({\n                                id: originalId\n                            }).size\n                        };\n                        params[uuidParamName] = uploadData.retrieve({\n                            id: scaledId\n                        }).uuid;\n                        uploadData.setParentId(scaledId, originalId);\n                        paramsStore.addReadOnly(scaledId, params);\n                    });\n                    if (scaledIds.length) {\n                        (function() {\n                            var param = {};\n                            param[uuidParamName] = uploadData.retrieve({\n                                id: originalId\n                            }).uuid;\n                            paramsStore.addReadOnly(originalId, param);\n                        })();\n                    }\n                }\n            }\n        });\n    };\n    qq.extend(qq.Scaler.prototype, {\n        scaleImage: function(id, specs, api) {\n            \"use strict\";\n            if (!qq.supportedFeatures.scaling) {\n                throw new qq.Error(\"Scaling is not supported in this browser!\");\n            }\n            var scalingEffort = new qq.Promise(), log = api.log, file = api.getFile(id), uploadData = api.uploadData.retrieve({\n                id: id\n            }), name = uploadData && uploadData.name, uuid = uploadData && uploadData.uuid, scalingOptions = {\n                customResizer: specs.customResizer,\n                sendOriginal: false,\n                orient: specs.orient,\n                defaultType: specs.type || null,\n                defaultQuality: specs.quality,\n                failedToScaleText: \"Unable to scale\",\n                sizes: [ {\n                    name: \"\",\n                    maxSize: specs.maxSize\n                } ]\n            }, scaler = new qq.Scaler(scalingOptions, log);\n            if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {\n                scalingEffort.failure();\n                log(\"Could not generate requested scaled image for \" + id + \".  \" + \"Scaling is either not possible in this browser, or the file could not be located.\", \"error\");\n            } else {\n                qq.bind(function() {\n                    var record = scaler.getFileRecords(uuid, name, file)[0];\n                    if (record && record.blob instanceof qq.BlobProxy) {\n                        record.blob.create().then(scalingEffort.success, scalingEffort.failure);\n                    } else {\n                        log(id + \" is not a scalable image!\", \"error\");\n                        scalingEffort.failure();\n                    }\n                }, this)();\n            }\n            return scalingEffort;\n        },\n        _determineOutputType: function(spec) {\n            \"use strict\";\n            var requestedType = spec.requestedType, defaultType = spec.defaultType, referenceType = spec.refType;\n            if (!defaultType && !requestedType) {\n                if (referenceType !== \"image/jpeg\") {\n                    return \"image/png\";\n                }\n                return referenceType;\n            }\n            if (!requestedType) {\n                return defaultType;\n            }\n            if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {\n                if (requestedType === \"image/tiff\") {\n                    return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;\n                }\n                return requestedType;\n            }\n            return defaultType;\n        },\n        _getName: function(originalName, scaledVersionProperties) {\n            \"use strict\";\n            var startOfExt = originalName.lastIndexOf(\".\"), versionType = scaledVersionProperties.type || \"image/png\", referenceType = scaledVersionProperties.refType, scaledName = \"\", scaledExt = qq.getExtension(originalName), nameAppendage = \"\";\n            if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {\n                nameAppendage = \" (\" + scaledVersionProperties.name + \")\";\n            }\n            if (startOfExt >= 0) {\n                scaledName = originalName.substr(0, startOfExt);\n                if (referenceType !== versionType) {\n                    scaledExt = versionType.split(\"/\")[1];\n                }\n                scaledName += nameAppendage + \".\" + scaledExt;\n            } else {\n                scaledName = originalName + nameAppendage;\n            }\n            return scaledName;\n        },\n        _getSortedSizes: function(sizes) {\n            \"use strict\";\n            sizes = qq.extend([], sizes);\n            return sizes.sort(function(a, b) {\n                if (a.maxSize > b.maxSize) {\n                    return 1;\n                }\n                if (a.maxSize < b.maxSize) {\n                    return -1;\n                }\n                return 0;\n            });\n        },\n        _generateScaledImage: function(spec, sourceFile) {\n            \"use strict\";\n            var self = this, customResizeFunction = spec.customResizeFunction, log = spec.log, maxSize = spec.maxSize, orient = spec.orient, type = spec.type, quality = spec.quality, failedText = spec.failedText, includeExif = spec.includeExif && sourceFile.type === \"image/jpeg\" && type === \"image/jpeg\", scalingEffort = new qq.Promise(), imageGenerator = new qq.ImageGenerator(log), canvas = document.createElement(\"canvas\");\n            log(\"Attempting to generate scaled version for \" + sourceFile.name);\n            imageGenerator.generate(sourceFile, canvas, {\n                maxSize: maxSize,\n                orient: orient,\n                customResizeFunction: customResizeFunction\n            }).then(function() {\n                var scaledImageDataUri = canvas.toDataURL(type, quality), signalSuccess = function() {\n                    log(\"Success generating scaled version for \" + sourceFile.name);\n                    var blob = qq.dataUriToBlob(scaledImageDataUri);\n                    scalingEffort.success(blob);\n                };\n                if (includeExif) {\n                    self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {\n                        scaledImageDataUri = scaledImageDataUriWithExif;\n                        signalSuccess();\n                    }, function() {\n                        log(\"Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.\", \"error\");\n                        signalSuccess();\n                    });\n                } else {\n                    signalSuccess();\n                }\n            }, function() {\n                log(\"Failed attempt to generate scaled version for \" + sourceFile.name, \"error\");\n                scalingEffort.failure(failedText);\n            });\n            return scalingEffort;\n        },\n        _insertExifHeader: function(originalImage, scaledImageDataUri, log) {\n            \"use strict\";\n            var reader = new FileReader(), insertionEffort = new qq.Promise(), originalImageDataUri = \"\";\n            reader.onload = function() {\n                originalImageDataUri = reader.result;\n                insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));\n            };\n            reader.onerror = function() {\n                log(\"Problem reading \" + originalImage.name + \" during attempt to transfer EXIF data to scaled version.\", \"error\");\n                insertionEffort.failure();\n            };\n            reader.readAsDataURL(originalImage);\n            return insertionEffort;\n        },\n        _dataUriToBlob: function(dataUri) {\n            \"use strict\";\n            var byteString, mimeString, arrayBuffer, intArray;\n            if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n                byteString = atob(dataUri.split(\",\")[1]);\n            } else {\n                byteString = decodeURI(dataUri.split(\",\")[1]);\n            }\n            mimeString = dataUri.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n            arrayBuffer = new ArrayBuffer(byteString.length);\n            intArray = new Uint8Array(arrayBuffer);\n            qq.each(byteString, function(idx, character) {\n                intArray[idx] = character.charCodeAt(0);\n            });\n            return this._createBlob(arrayBuffer, mimeString);\n        },\n        _createBlob: function(data, mime) {\n            \"use strict\";\n            var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();\n            if (blobBuilder) {\n                blobBuilder.append(data);\n                return blobBuilder.getBlob(mime);\n            } else {\n                return new Blob([ data ], {\n                    type: mime\n                });\n            }\n        }\n    });\n    qq.ExifRestorer = function() {\n        var ExifRestorer = {};\n        ExifRestorer.KEY_STR = \"ABCDEFGHIJKLMNOP\" + \"QRSTUVWXYZabcdef\" + \"ghijklmnopqrstuv\" + \"wxyz0123456789+/\" + \"=\";\n        ExifRestorer.encode64 = function(input) {\n            var output = \"\", chr1, chr2, chr3 = \"\", enc1, enc2, enc3, enc4 = \"\", i = 0;\n            do {\n                chr1 = input[i++];\n                chr2 = input[i++];\n                chr3 = input[i++];\n                enc1 = chr1 >> 2;\n                enc2 = (chr1 & 3) << 4 | chr2 >> 4;\n                enc3 = (chr2 & 15) << 2 | chr3 >> 6;\n                enc4 = chr3 & 63;\n                if (isNaN(chr2)) {\n                    enc3 = enc4 = 64;\n                } else if (isNaN(chr3)) {\n                    enc4 = 64;\n                }\n                output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);\n                chr1 = chr2 = chr3 = \"\";\n                enc1 = enc2 = enc3 = enc4 = \"\";\n            } while (i < input.length);\n            return output;\n        };\n        ExifRestorer.restore = function(origFileBase64, resizedFileBase64) {\n            var expectedBase64Header = \"data:image/jpeg;base64,\";\n            if (!origFileBase64.match(expectedBase64Header)) {\n                return resizedFileBase64;\n            }\n            var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, \"\"));\n            var segments = this.slice2Segments(rawImage);\n            var image = this.exifManipulation(resizedFileBase64, segments);\n            return expectedBase64Header + this.encode64(image);\n        };\n        ExifRestorer.exifManipulation = function(resizedFileBase64, segments) {\n            var exifArray = this.getExifArray(segments), newImageArray = this.insertExif(resizedFileBase64, exifArray), aBuffer = new Uint8Array(newImageArray);\n            return aBuffer;\n        };\n        ExifRestorer.getExifArray = function(segments) {\n            var seg;\n            for (var x = 0; x < segments.length; x++) {\n                seg = segments[x];\n                if (seg[0] == 255 & seg[1] == 225) {\n                    return seg;\n                }\n            }\n            return [];\n        };\n        ExifRestorer.insertExif = function(resizedFileBase64, exifArray) {\n            var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\"), buf = this.decode64(imageData), separatePoint = buf.indexOf(255, 3), mae = buf.slice(0, separatePoint), ato = buf.slice(separatePoint), array = mae;\n            array = array.concat(exifArray);\n            array = array.concat(ato);\n            return array;\n        };\n        ExifRestorer.slice2Segments = function(rawImageArray) {\n            var head = 0, segments = [];\n            while (1) {\n                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218) {\n                    break;\n                }\n                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216) {\n                    head += 2;\n                } else {\n                    var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3], endPoint = head + length + 2, seg = rawImageArray.slice(head, endPoint);\n                    segments.push(seg);\n                    head = endPoint;\n                }\n                if (head > rawImageArray.length) {\n                    break;\n                }\n            }\n            return segments;\n        };\n        ExifRestorer.decode64 = function(input) {\n            var output = \"\", chr1, chr2, chr3 = \"\", enc1, enc2, enc3, enc4 = \"\", i = 0, buf = [];\n            var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n            if (base64test.exec(input)) {\n                throw new Error(\"There were invalid base64 characters in the input text.  \" + \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\");\n            }\n            input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n            do {\n                enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n                enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n                enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n                enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n                chr1 = enc1 << 2 | enc2 >> 4;\n                chr2 = (enc2 & 15) << 4 | enc3 >> 2;\n                chr3 = (enc3 & 3) << 6 | enc4;\n                buf.push(chr1);\n                if (enc3 != 64) {\n                    buf.push(chr2);\n                }\n                if (enc4 != 64) {\n                    buf.push(chr3);\n                }\n                chr1 = chr2 = chr3 = \"\";\n                enc1 = enc2 = enc3 = enc4 = \"\";\n            } while (i < input.length);\n            return buf;\n        };\n        return ExifRestorer;\n    }();\n    qq.TotalProgress = function(callback, getSize) {\n        \"use strict\";\n        var perFileProgress = {}, totalLoaded = 0, totalSize = 0, lastLoadedSent = -1, lastTotalSent = -1, callbackProxy = function(loaded, total) {\n            if (loaded !== lastLoadedSent || total !== lastTotalSent) {\n                callback(loaded, total);\n            }\n            lastLoadedSent = loaded;\n            lastTotalSent = total;\n        }, noRetryableFiles = function(failed, retryable) {\n            var none = true;\n            qq.each(failed, function(idx, failedId) {\n                if (qq.indexOf(retryable, failedId) >= 0) {\n                    none = false;\n                    return false;\n                }\n            });\n            return none;\n        }, onCancel = function(id) {\n            updateTotalProgress(id, -1, -1);\n            delete perFileProgress[id];\n        }, onAllComplete = function(successful, failed, retryable) {\n            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {\n                callbackProxy(totalSize, totalSize);\n                this.reset();\n            }\n        }, onNew = function(id) {\n            var size = getSize(id);\n            if (size > 0) {\n                updateTotalProgress(id, 0, size);\n                perFileProgress[id] = {\n                    loaded: 0,\n                    total: size\n                };\n            }\n        }, updateTotalProgress = function(id, newLoaded, newTotal) {\n            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0, oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;\n            if (newLoaded === -1 && newTotal === -1) {\n                totalLoaded -= oldLoaded;\n                totalSize -= oldTotal;\n            } else {\n                if (newLoaded) {\n                    totalLoaded += newLoaded - oldLoaded;\n                }\n                if (newTotal) {\n                    totalSize += newTotal - oldTotal;\n                }\n            }\n            callbackProxy(totalLoaded, totalSize);\n        };\n        qq.extend(this, {\n            onAllComplete: onAllComplete,\n            onStatusChange: function(id, oldStatus, newStatus) {\n                if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {\n                    onCancel(id);\n                } else if (newStatus === qq.status.SUBMITTING) {\n                    onNew(id);\n                }\n            },\n            onIndividualProgress: function(id, loaded, total) {\n                updateTotalProgress(id, loaded, total);\n                perFileProgress[id] = {\n                    loaded: loaded,\n                    total: total\n                };\n            },\n            onNewSize: function(id) {\n                onNew(id);\n            },\n            reset: function() {\n                perFileProgress = {};\n                totalLoaded = 0;\n                totalSize = 0;\n            }\n        });\n    };\n    qq.PasteSupport = function(o) {\n        \"use strict\";\n        var options, detachPasteHandler;\n        options = {\n            targetElement: null,\n            callbacks: {\n                log: function(message, level) {},\n                pasteReceived: function(blob) {}\n            }\n        };\n        function isImage(item) {\n            return item.type && item.type.indexOf(\"image/\") === 0;\n        }\n        function registerPasteHandler() {\n            detachPasteHandler = qq(options.targetElement).attach(\"paste\", function(event) {\n                var clipboardData = event.clipboardData;\n                if (clipboardData) {\n                    qq.each(clipboardData.items, function(idx, item) {\n                        if (isImage(item)) {\n                            var blob = item.getAsFile();\n                            options.callbacks.pasteReceived(blob);\n                        }\n                    });\n                }\n            });\n        }\n        function unregisterPasteHandler() {\n            if (detachPasteHandler) {\n                detachPasteHandler();\n            }\n        }\n        qq.extend(options, o);\n        registerPasteHandler();\n        qq.extend(this, {\n            reset: function() {\n                unregisterPasteHandler();\n            }\n        });\n    };\n    qq.FormSupport = function(options, startUpload, log) {\n        \"use strict\";\n        var self = this, interceptSubmit = options.interceptSubmit, formEl = options.element, autoUpload = options.autoUpload;\n        qq.extend(this, {\n            newEndpoint: null,\n            newAutoUpload: autoUpload,\n            attachedToForm: false,\n            getFormInputsAsObject: function() {\n                if (formEl == null) {\n                    return null;\n                }\n                return self._form2Obj(formEl);\n            }\n        });\n        function determineNewEndpoint(formEl) {\n            if (formEl.getAttribute(\"action\")) {\n                self.newEndpoint = formEl.getAttribute(\"action\");\n            }\n        }\n        function validateForm(formEl, nativeSubmit) {\n            if (formEl.checkValidity && !formEl.checkValidity()) {\n                log(\"Form did not pass validation checks - will not upload.\", \"error\");\n                nativeSubmit();\n            } else {\n                return true;\n            }\n        }\n        function maybeUploadOnSubmit(formEl) {\n            var nativeSubmit = formEl.submit;\n            qq(formEl).attach(\"submit\", function(event) {\n                event = event || window.event;\n                if (event.preventDefault) {\n                    event.preventDefault();\n                } else {\n                    event.returnValue = false;\n                }\n                validateForm(formEl, nativeSubmit) && startUpload();\n            });\n            formEl.submit = function() {\n                validateForm(formEl, nativeSubmit) && startUpload();\n            };\n        }\n        function determineFormEl(formEl) {\n            if (formEl) {\n                if (qq.isString(formEl)) {\n                    formEl = document.getElementById(formEl);\n                }\n                if (formEl) {\n                    log(\"Attaching to form element.\");\n                    determineNewEndpoint(formEl);\n                    interceptSubmit && maybeUploadOnSubmit(formEl);\n                }\n            }\n            return formEl;\n        }\n        formEl = determineFormEl(formEl);\n        this.attachedToForm = !!formEl;\n    };\n    qq.extend(qq.FormSupport.prototype, {\n        _form2Obj: function(form) {\n            \"use strict\";\n            var obj = {}, notIrrelevantType = function(type) {\n                var irrelevantTypes = [ \"button\", \"image\", \"reset\", \"submit\" ];\n                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;\n            }, radioOrCheckbox = function(type) {\n                return qq.indexOf([ \"checkbox\", \"radio\" ], type.toLowerCase()) >= 0;\n            }, ignoreValue = function(el) {\n                if (radioOrCheckbox(el.type) && !el.checked) {\n                    return true;\n                }\n                return el.disabled && el.type.toLowerCase() !== \"hidden\";\n            }, selectValue = function(select) {\n                var value = null;\n                qq.each(qq(select).children(), function(idx, child) {\n                    if (child.tagName.toLowerCase() === \"option\" && child.selected) {\n                        value = child.value;\n                        return false;\n                    }\n                });\n                return value;\n            };\n            qq.each(form.elements, function(idx, el) {\n                if ((qq.isInput(el, true) || el.tagName.toLowerCase() === \"textarea\") && notIrrelevantType(el.type) && !ignoreValue(el)) {\n                    obj[el.name] = el.value;\n                } else if (el.tagName.toLowerCase() === \"select\" && !ignoreValue(el)) {\n                    var value = selectValue(el);\n                    if (value !== null) {\n                        obj[el.name] = value;\n                    }\n                }\n            });\n            return obj;\n        }\n    });\n    qq.traditional = qq.traditional || {};\n    qq.traditional.FormUploadHandler = function(options, proxy) {\n        \"use strict\";\n        var handler = this, getName = proxy.getName, getUuid = proxy.getUuid, log = proxy.log;\n        function getIframeContentJson(id, iframe) {\n            var response, doc, innerHtml;\n            try {\n                doc = iframe.contentDocument || iframe.contentWindow.document;\n                innerHtml = doc.body.innerHTML;\n                log(\"converting iframe's innerHTML to JSON\");\n                log(\"innerHTML = \" + innerHtml);\n                if (innerHtml && innerHtml.match(/^<pre/i)) {\n                    innerHtml = doc.body.firstChild.firstChild.nodeValue;\n                }\n                response = handler._parseJsonResponse(innerHtml);\n            } catch (error) {\n                log(\"Error when attempting to parse form upload response (\" + error.message + \")\", \"error\");\n                response = {\n                    success: false\n                };\n            }\n            return response;\n        }\n        function createForm(id, iframe) {\n            var params = options.paramsStore.get(id), method = options.method.toLowerCase() === \"get\" ? \"GET\" : \"POST\", endpoint = options.endpointStore.get(id), name = getName(id);\n            params[options.uuidName] = getUuid(id);\n            params[options.filenameParam] = name;\n            return handler._initFormForUpload({\n                method: method,\n                endpoint: endpoint,\n                params: params,\n                paramsInBody: options.paramsInBody,\n                targetName: iframe.name\n            });\n        }\n        this.uploadFile = function(id) {\n            var input = handler.getInput(id), iframe = handler._createIframe(id), promise = new qq.Promise(), form;\n            form = createForm(id, iframe);\n            form.appendChild(input);\n            handler._attachLoadEvent(iframe, function(responseFromMessage) {\n                log(\"iframe loaded\");\n                var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);\n                handler._detachLoadEvent(id);\n                if (!options.cors.expected) {\n                    qq(iframe).remove();\n                }\n                if (response.success) {\n                    promise.success(response);\n                } else {\n                    promise.failure(response);\n                }\n            });\n            log(\"Sending upload request for \" + id);\n            form.submit();\n            qq(form).remove();\n            return promise;\n        };\n        qq.extend(this, new qq.FormUploadHandler({\n            options: {\n                isCors: options.cors.expected,\n                inputName: options.inputName\n            },\n            proxy: {\n                onCancel: options.onCancel,\n                getName: getName,\n                getUuid: getUuid,\n                log: log\n            }\n        }));\n    };\n    qq.traditional = qq.traditional || {};\n    qq.traditional.XhrUploadHandler = function(spec, proxy) {\n        \"use strict\";\n        var handler = this, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, log = proxy.log, multipart = spec.forceMultipart || spec.paramsInBody, addChunkingSpecificParams = function(id, params, chunkData) {\n            var size = getSize(id), name = getName(id);\n            params[spec.chunking.paramNames.partIndex] = chunkData.part;\n            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;\n            params[spec.chunking.paramNames.chunkSize] = chunkData.size;\n            params[spec.chunking.paramNames.totalParts] = chunkData.count;\n            params[spec.totalFileSizeName] = size;\n            if (multipart) {\n                params[spec.filenameParam] = name;\n            }\n        }, allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({\n            cors: spec.cors,\n            endpoint: spec.chunking.success.endpoint,\n            log: log\n        }), createReadyStateChangedHandler = function(id, xhr) {\n            var promise = new qq.Promise();\n            xhr.onreadystatechange = function() {\n                if (xhr.readyState === 4) {\n                    var result = onUploadOrChunkComplete(id, xhr);\n                    if (result.success) {\n                        promise.success(result.response, xhr);\n                    } else {\n                        promise.failure(result.response, xhr);\n                    }\n                }\n            };\n            return promise;\n        }, getChunksCompleteParams = function(id) {\n            var params = spec.paramsStore.get(id), name = getName(id), size = getSize(id);\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            params[spec.totalFileSizeName] = size;\n            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);\n            return params;\n        }, isErrorUploadResponse = function(xhr, response) {\n            return qq.indexOf([ 200, 201, 202, 203, 204 ], xhr.status) < 0 || !response.success || response.reset;\n        }, onUploadOrChunkComplete = function(id, xhr) {\n            var response;\n            log(\"xhr - server response received for \" + id);\n            log(\"responseText = \" + xhr.responseText);\n            response = parseResponse(true, xhr);\n            return {\n                success: !isErrorUploadResponse(xhr, response),\n                response: response\n            };\n        }, parseResponse = function(upload, xhr) {\n            var response = {};\n            try {\n                log(qq.format(\"Received response status {} with body: {}\", xhr.status, xhr.responseText));\n                response = qq.parseJson(xhr.responseText);\n            } catch (error) {\n                upload && log(\"Error when attempting to parse xhr response text (\" + error.message + \")\", \"error\");\n            }\n            return response;\n        }, sendChunksCompleteRequest = function(id) {\n            var promise = new qq.Promise();\n            allChunksDoneRequester.complete(id, handler._createXhr(id), getChunksCompleteParams(id), spec.customHeaders.get(id)).then(function(xhr) {\n                promise.success(parseResponse(false, xhr), xhr);\n            }, function(xhr) {\n                promise.failure(parseResponse(false, xhr), xhr);\n            });\n            return promise;\n        }, setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {\n            var formData = new FormData(), method = spec.method, endpoint = spec.endpointStore.get(id), name = getName(id), size = getSize(id);\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            if (multipart) {\n                params[spec.totalFileSizeName] = size;\n            }\n            if (!spec.paramsInBody) {\n                if (!multipart) {\n                    params[spec.inputName] = name;\n                }\n                endpoint = qq.obj2url(params, endpoint);\n            }\n            xhr.open(method, endpoint, true);\n            if (spec.cors.expected && spec.cors.sendCredentials) {\n                xhr.withCredentials = true;\n            }\n            if (multipart) {\n                if (spec.paramsInBody) {\n                    qq.obj2FormData(params, formData);\n                }\n                formData.append(spec.inputName, fileOrBlob);\n                return formData;\n            }\n            return fileOrBlob;\n        }, setUploadHeaders = function(id, xhr) {\n            var extraHeaders = spec.customHeaders.get(id), fileOrBlob = handler.getFile(id);\n            xhr.setRequestHeader(\"Accept\", \"application/json\");\n            xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n            xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n            if (!multipart) {\n                xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\n                xhr.setRequestHeader(\"X-Mime-Type\", fileOrBlob.type);\n            }\n            qq.each(extraHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        };\n        qq.extend(this, {\n            uploadChunk: function(id, chunkIdx, resuming) {\n                var chunkData = handler._getChunkData(id, chunkIdx), xhr = handler._createXhr(id, chunkIdx), size = getSize(id), promise, toSend, params;\n                promise = createReadyStateChangedHandler(id, xhr);\n                handler._registerProgressHandler(id, chunkIdx, chunkData.size);\n                params = spec.paramsStore.get(id);\n                addChunkingSpecificParams(id, params, chunkData);\n                if (resuming) {\n                    params[spec.resume.paramNames.resuming] = true;\n                }\n                toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);\n                setUploadHeaders(id, xhr);\n                xhr.send(toSend);\n                return promise;\n            },\n            uploadFile: function(id) {\n                var fileOrBlob = handler.getFile(id), promise, xhr, params, toSend;\n                xhr = handler._createXhr(id);\n                handler._registerProgressHandler(id);\n                promise = createReadyStateChangedHandler(id, xhr);\n                params = spec.paramsStore.get(id);\n                toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);\n                setUploadHeaders(id, xhr);\n                xhr.send(toSend);\n                return promise;\n            }\n        });\n        qq.extend(this, new qq.XhrUploadHandler({\n            options: qq.extend({\n                namespace: \"traditional\"\n            }, spec),\n            proxy: qq.extend({\n                getEndpoint: spec.endpointStore.get\n            }, proxy)\n        }));\n        qq.override(this, function(super_) {\n            return {\n                finalizeChunks: function(id) {\n                    if (spec.chunking.success.endpoint) {\n                        return sendChunksCompleteRequest(id);\n                    } else {\n                        return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));\n                    }\n                }\n            };\n        });\n    };\n    qq.traditional.AllChunksDoneAjaxRequester = function(o) {\n        \"use strict\";\n        var requester, method = \"POST\", options = {\n            cors: {\n                allowXdr: false,\n                expected: false,\n                sendCredentials: false\n            },\n            endpoint: null,\n            log: function(str, level) {}\n        }, promises = {}, endpointHandler = {\n            get: function(id) {\n                return options.endpoint;\n            }\n        };\n        qq.extend(options, o);\n        requester = qq.extend(this, new qq.AjaxRequester({\n            acceptHeader: \"application/json\",\n            validMethods: [ method ],\n            method: method,\n            endpointStore: endpointHandler,\n            allowXRequestedWithAndCacheControl: false,\n            cors: options.cors,\n            log: options.log,\n            onComplete: function(id, xhr, isError) {\n                var promise = promises[id];\n                delete promises[id];\n                if (isError) {\n                    promise.failure(xhr);\n                } else {\n                    promise.success(xhr);\n                }\n            }\n        }));\n        qq.extend(this, {\n            complete: function(id, xhr, params, headers) {\n                var promise = new qq.Promise();\n                options.log(\"Submitting All Chunks Done request for \" + id);\n                promises[id] = promise;\n                requester.initTransport(id).withParams(params).withHeaders(headers).send(xhr);\n                return promise;\n            }\n        });\n    };\n})(window);\n//# sourceMappingURL=fine-uploader.core.js.map","\"use strict\";\r\n\r\nmodule.exports = require(\"../../fine-uploader/fine-uploader.core\");\r\n","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.FroalaEditor=t()}(this,function(){\"use strict\";function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function N(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function S(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!n){if(Array.isArray(e)||(n=l(e))||t&&e&&\"number\"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}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 i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n[\"return\"]||n[\"return\"]()}finally{if(s)throw i}}}}function M(e,t,n){return(t=function r(e){var t=function o(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return(\"string\"===t?String:Number)(e);var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function T(){var h,g,e=\"function\"==typeof Symbol?Symbol:{},t=e.iterator||\"@@iterator\",n=e.toStringTag||\"@@toStringTag\";function r(e,t,n,u){var r=t&&t.prototype instanceof i?t:i,o=Object.create(r.prototype);return d(o,\"_invoke\",function(r,o,e){var i,a,s,l=0,c=u||[],d=!1,f={p:0,n:0,v:h,a:p,f:p.bind(h,4),d:function(e,t){return i=e,a=0,s=h,f.n=t,C}};function p(e,t){for(a=e,s=t,g=0;!d&&l&&!n&&g<c.length;g++){var n,r=c[g],o=f.p,i=r[2];3<e?(n=i===t)&&(s=r[(a=r[4])?5:(a=3,3)],r[4]=r[5]=h):r[0]<=o&&((n=e<2&&o<r[1])?(a=0,f.v=t,f.n=r[1]):o<i&&(n=e<3||r[0]>t||i<t)&&(r[4]=e,r[5]=t,f.n=i,a=0))}if(n||1<e)return C;throw d=!0,t}return function(e,t,n){if(1<l)throw TypeError(\"Generator is already running\");for(d&&1===t&&p(t,n),a=t,s=n;(g=a<2?h:s)||!d;){i||(a?a<3?(1<a&&(f.n=-1),p(a,s)):f.n=s:f.v=s);try{if(l=2,i){if(a||(e=\"next\"),g=i[e]){if(!(g=g.call(i,s)))throw TypeError(\"iterator result is not an object\");if(!g.done)return g;s=g.value,a<2&&(a=0)}else 1===a&&(g=i[\"return\"])&&g.call(i),a<2&&(s=TypeError(\"The iterator does not provide a '\"+e+\"' method\"),a=1);i=h}else if((g=(d=f.n<0)?s:r.call(o,f))!==C)break}catch(g){i=h,a=1,s=g}finally{l=1}}return{value:g,done:d}}}(e,n),!0),o}var C={};function i(){}function o(){}function a(){}g=Object.getPrototypeOf;var s=[][t]?g(g([][t]())):(d(g={},t,function(){return this}),g),l=a.prototype=i.prototype=Object.create(s);function c(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,a):(e.__proto__=a,d(e,n,\"GeneratorFunction\")),e.prototype=Object.create(l),e}return d(l,\"constructor\",o.prototype=a),d(a,\"constructor\",o),d(a,n,o.displayName=\"GeneratorFunction\"),d(l),d(l,n,\"Generator\"),d(l,t,function(){return this}),d(l,\"toString\",function(){return\"[object Generator]\"}),(T=function(){return{w:r,m:c}})()}function d(e,t,n,r){var i=Object.defineProperty;try{i({},\"\",{})}catch(e){i=0}(d=function(e,t,n,r){function o(t,n){d(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o(\"next\",0),o(\"throw\",1),o(\"return\",2))})(e,t,n,r)}function H(e,t){return function n(e){if(Array.isArray(e))return e}(e)||function d(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,a,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n[\"return\"]&&(a=n[\"return\"](),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||l(e,t)||function r(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function x(e){return function t(e){if(Array.isArray(e))return o(e)}(e)||function n(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||l(e)||function r(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function w(e){return(w=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(e,t){if(e){if(\"string\"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;if(!document.documentElement.contains(t))return null;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length;0<=--n&&t.item(n)!==this;);return-1<n}),Array.isArray||(Array.isArray=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}),\"function\"!=typeof Object.assign&&Object.defineProperty(Object,\"assign\",{value:function(e,t){if(null==e)throw new TypeError(\"Cannot convert undefined or null to object\");for(var n=Object(e),r=1;r<arguments.length;r++){var o=arguments[r];if(null!=o)for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])}return n},writable:!0,configurable:!0}),function(){var a=/^\\s*:scope/gi,s=/,\\s*:scope/gi,l=document.createElement(\"div\");function e(e,t){var i=e[t];e[t]=function(e){var t,n=!1,r=!1;if(!e||Array.isArray(e)||!e.match(a)&&!e.match(s))return i.call(this,e);this.parentNode||(l.appendChild(this),r=!0);var o=this.parentNode;return this.id||(this.id=\"rootedQuerySelector_id_\".concat((new Date).getTime()),n=!0),t=i.call(o,e.replace(a,\"#\".concat(this.id)).replace(s,\",#\".concat(this.id))),n&&(this.id=\"\"),r&&l.removeChild(this),t}}try{var t=l.querySelectorAll(\":scope *\");if(!t||Array.isArray(t))throw\"error\"}catch(n){e(Element.prototype,\"querySelector\"),e(Element.prototype,\"querySelectorAll\"),e(HTMLElement.prototype,\"querySelector\"),e(HTMLElement.prototype,\"querySelectorAll\")}}(),\"document\"in self&&(\"classList\"in document.createElement(\"_\")&&(!document.createElementNS||\"classList\"in document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"))||function(e){if(\"Element\"in e){var t=\"classList\",n=\"prototype\",r=e.Element[n],o=Object,i=String[n].trim||function(){return this.replace(/^\\s+|\\s+$/g,\"\")},a=Array[n].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1},s=function s(e,t){this.name=e,this.code=DOMException[e],this.message=t},l=function l(e,t){if(\"\"===t)throw new s(\"SYNTAX_ERR\",\"The token must not be empty.\");if(/\\s/.test(t))throw new s(\"INVALID_CHARACTER_ERR\",\"The token must not contain space characters.\");return a.call(e,t)},c=function c(e){for(var t=i.call(e.getAttribute(\"class\")||\"\"),n=t?t.split(/\\s+/):[],r=0,o=n.length;r<o;r++)this.push(n[r]);this._updateClassName=function(){e.setAttribute(\"class\",this.toString())}},d=c[n]=[],f=function f(){return new c(this)};if(s[n]=Error[n],d.item=function(e){return this[e]||null},d.contains=function(e){return~l(this,e+\"\")},d.add=function(){for(var e,t=arguments,n=0,r=t.length,o=!1;e=t[n]+\"\",~l(this,e)||(this.push(e),o=!0),++n<r;);o&&this._updateClassName()},d.remove=function(){var e,t,n=arguments,r=0,o=n.length,i=!1;do{for(e=n[r]+\"\",t=l(this,e);~t;)this.splice(t,1),i=!0,t=l(this,e)}while(++r<o);i&&this._updateClassName()},d.toggle=function(e,t){var n=this.contains(e),r=n?!0!==t&&\"remove\":!1!==t&&\"add\";return r&&this[r](e),!0===t||!1===t?t:!n},d.replace=function(e,t){var n=l(e+\"\");~n&&(this.splice(n,1,t),this._updateClassName())},d.toString=function(){return this.join(\" \")},o.defineProperty){var p={get:f,enumerable:!0,configurable:!0};try{o.defineProperty(r,t,p)}catch(u){void 0!==u.number&&-2146823252!==u.number||(p.enumerable=!1,o.defineProperty(r,t,p))}}else o[n].__defineGetter__&&r.__defineGetter__(t,f)}}(self),function(){var e=document.createElement(\"_\");if(e.classList.add(\"c1\",\"c2\"),!e.classList.contains(\"c2\")){var t=function pf(e){var pf=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(e){var t,n=arguments.length;for(t=0;t<n;t++)e=arguments[t],pf.call(this,e)}};t(\"add\"),t(\"remove\")}if(e.classList.toggle(\"c3\",!1),e.classList.contains(\"c3\")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(e,t){return 1 in arguments&&!this.contains(e)==!t?t:n.call(this,e)}}\"replace\"in document.createElement(\"_\").classList||(DOMTokenList.prototype.replace=function(e,t){var n=this.toString().split(\" \"),r=n.indexOf(e+\"\");~r&&(n=n.slice(r),this.remove.apply(this,n),this.add(t),this.add.apply(this,n.slice(1)))}),e=null}()),function(){var e,t=-1;if(\"Microsoft Internet Explorer\"===navigator.appName?(e=navigator.userAgent,null!==new RegExp(\"MSIE ([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))):\"Netscape\"===navigator.appName&&(e=navigator.userAgent,null!==new RegExp(\"Trident/.*rv:([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))),!(\"undefined\"==typeof window||\"undefined\"==typeof document||\"undefined\"==typeof HTMLElement||t<0)){var n=!1;try{var r=document.createElement(\"div\");r.addEventListener(\"focus\",function(e){e.preventDefault(),e.stopPropagation()},!0),r.focus(Object.defineProperty({},\"preventScroll\",{get:function(){if(navigator&&\"undefined\"!=typeof navigator.userAgent&&navigator.userAgent&&navigator.userAgent.match(/Edge\\/1[7-8]/))return n=!1;n=!0}}))}catch(s){}if(HTMLElement.prototype.nativeFocus===undefined&&!n){HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus;var o=function o(e){for(var t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;t&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push([t,t.scrollTop,t.scrollLeft]),t=t.parentNode;return t=r,n.push([t,t.scrollTop,t.scrollLeft]),n},i=function i(e){for(var t=0;t<e.length;t++)e[t][0].scrollTop=e[t][1],e[t][0].scrollLeft=e[t][2];e=[]},a=function a(e){if(e&&e.preventScroll){var t=o(this);if(\"function\"==typeof setTimeout){var n=this;setTimeout(function(){n.nativeFocus(),i(t)},0)}else this.nativeFocus(),i(t)}else this.nativeFocus()};HTMLElement.prototype.focus=a}}}();function Y(e,t,n){if(\"string\"!=typeof e)return new Y.Bootstrap(e,t,n);var r=document.querySelectorAll(e);t&&t.iframe_document&&(r=t.iframe_document.querySelectorAll(e));for(var o=[],i=0;i<r.length;i++){var a=r[i][\"data-froala.editor\"];a?o.push(a):o.push(new Y.Bootstrap(r[i],t,n))}return 1==o.length?o[0]:o}Y.RegisterPlugins=function(e){for(var t=0;t<e.length;t++)e[t].call(Y)},Object.assign(Y,{DEFAULTS:{allowStylingOnNonEditable:!1,initOnClick:!1,pluginsEnabled:null,pluginsDisabled:null},MODULES:{},PLUGINS:{},VERSION:\"4.6.2\",INSTANCES:[],OPTS_MAPPING:{},SHARED:{},ID:0}),Y.MODULES.node=function(a){var n=a.$;function s(e){return e&&\"IFRAME\"!==e.tagName?Array.prototype.slice.call(e.childNodes||[]):[]}function l(e){return!!e&&(e.nodeType===Node.ELEMENT_NODE&&0<=Y.BLOCK_TAGS.indexOf(e.tagName.toLowerCase()))}function c(e){var t={},n=e.attributes;if(n)for(var r=0;r<n.length;r++){var o=n[r];t[o.nodeName]=o.value}return t}function t(e){for(var t=\"\",n=c(e),r=Object.keys(n),o=0;o<r.length;o++){var i=r[o],a=n[i];a.indexOf(\"'\")<0&&0<=a.indexOf('\"')?t+=\" \".concat(i,\"='\").concat(a,\"'\"):(0<=a.indexOf('\"')&&0<=a.indexOf(\"'\")&&(a=a.replace(/\"/g,\"&quot;\")),t+=\" \".concat(i,'=\"').concat(a,'\"'))}return t}function r(e){return e===a.el}return{isBlock:l,isEmpty:function d(e,t){if(!e)return!0;if(e.querySelector(\"table\"))return!1;var n=s(e);1===n.length&&l(n[0])&&(n=s(n[0]));for(var r=!1,o=0;o<n.length;o++){var i=n[o];if(!(t&&a.node.hasClass(i,\"fr-marker\")||i.nodeType===Node.TEXT_NODE&&0===i.textContent.length)){if(\"BR\"!==i.tagName&&0<(i.textContent||\"\").replace(/\\u200B/gi,\"\").replace(/\\n/g,\"\").length)return!1;if(r)return!1;\"BR\"===i.tagName&&(r=!0)}}return!(e.querySelectorAll(Y.VOID_ELEMENTS.join(\",\")).length-e.querySelectorAll(\"br\").length||e.querySelector(\"\".concat(a.opts.htmlAllowedEmptyTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"))||1<e.querySelectorAll(Y.BLOCK_TAGS.join(\",\")).length||e.querySelector(\"\".concat(a.opts.htmlDoNotWrapTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\")))},blockParent:function o(e){for(;e&&e.parentNode!==a.el&&(!e.parentNode||!a.node.hasClass(e.parentNode,\"fr-inner\"));)if(l(e=e.parentNode))return e;return null},deepestParent:function i(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=!0),t.push(a.el),0<=t.indexOf(e.parentNode)||e.parentNode&&a.node.hasClass(e.parentNode,\"fr-inner\")||e.parentNode&&0<=Y.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName)&&n)return null;for(;t.indexOf(e.parentNode)<0&&e.parentNode&&!a.node.hasClass(e.parentNode,\"fr-inner\")&&(Y.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName)<0||!n)&&(!l(e)||l(e.parentNode))&&(!l(e)||!l(e.parentNode)||!n);)e=e.parentNode;return e},rawAttributes:c,attributes:t,clearAttributes:function f(e){for(var t=e.attributes,n=t.length-1;0<=n;n--){var r=t[n];e.removeAttribute(r.nodeName)}},openTagString:function p(e){return\"<\".concat(e.tagName.toLowerCase()).concat(t(e),\">\")},closeTagString:function u(e){return\"</\".concat(e.tagName.toLowerCase(),\">\")},isFirstSibling:function h(e,t){void 0===t&&(t=!0);for(var n=e.previousSibling;n&&t&&a.node.hasClass(n,\"fr-marker\");)n=n.previousSibling;return!n||n.nodeType===Node.TEXT_NODE&&\"\"===n.textContent&&h(n)},isLastSibling:function g(e,t){void 0===t&&(t=!0);for(var n=e.nextSibling;n&&t&&a.node.hasClass(n,\"fr-marker\");)n=n.nextSibling;return!n||n.nodeType===Node.TEXT_NODE&&\"\"===n.textContent&&g(n)},isList:function C(e){return!!e&&0<=[\"UL\",\"OL\"].indexOf(e.tagName)},isLink:function m(e){return!!e&&e.nodeType===Node.ELEMENT_NODE&&\"a\"===e.tagName.toLowerCase()},isElement:r,contents:s,isVoid:function v(e){return e&&e.nodeType===Node.ELEMENT_NODE&&0<=Y.VOID_ELEMENTS.indexOf((e.tagName||\"\").toLowerCase())},hasFocus:function b(e){return e===a.doc.activeElement&&(!a.doc.hasFocus||a.doc.hasFocus())&&Boolean(r(e)||e.type||e.href||~e.tabIndex)},isEditable:function E(e){return(!e.getAttribute||\"false\"!==e.getAttribute(\"contenteditable\"))&&[\"STYLE\",\"SCRIPT\"].indexOf(e.tagName)<0&&!(e.viewportElement&&\"svg\"===e.viewportElement.tagName)},isDeletable:function L(e){return e&&e.nodeType===Node.ELEMENT_NODE&&e.getAttribute(\"class\")&&0<=(e.getAttribute(\"class\")||\"\").indexOf(\"fr-deletable\")},hasClass:function y(e,t){return e instanceof n&&(e=e.get(0)),e&&e.classList&&e.classList.contains(t)},filter:function N(e){return a.browser.msie?e:{acceptNode:e}}}},Object.assign(Y.DEFAULTS,{DOMPurify:window.DOMPurify,htmlAllowedTags:[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"blockquote\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"pre\",\"progress\",\"queue\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"style\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strike\",\"strong\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"],htmlRemoveTags:[\"script\",\"style\"],htmlAllowedAttrs:[\"accept\",\"accept-charset\",\"accesskey\",\"action\",\"align\",\"allowfullscreen\",\"allowtransparency\",\"alt\",\"async\",\"autocomplete\",\"autofocus\",\"autoplay\",\"autosave\",\"background\",\"bgcolor\",\"border\",\"charset\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"color\",\"cols\",\"colspan\",\"content\",\"contenteditable\",\"contextmenu\",\"controls\",\"coords\",\"data\",\"data-.*\",\"datetime\",\"default\",\"defer\",\"dir\",\"dirname\",\"disabled\",\"download\",\"draggable\",\"dropzone\",\"enctype\",\"for\",\"form\",\"formaction\",\"frameborder\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"http-equiv\",\"icon\",\"id\",\"ismap\",\"itemprop\",\"keytype\",\"kind\",\"label\",\"lang\",\"language\",\"list\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"mozallowfullscreen\",\"multiple\",\"muted\",\"name\",\"novalidate\",\"open\",\"optimum\",\"pattern\",\"ping\",\"placeholder\",\"playsinline\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"reversed\",\"rows\",\"rowspan\",\"sandbox\",\"scope\",\"scoped\",\"scrolling\",\"seamless\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"src\",\"srcdoc\",\"srclang\",\"srcset\",\"start\",\"step\",\"summary\",\"spellcheck\",\"style\",\"tabindex\",\"target\",\"title\",\"type\",\"translate\",\"usemap\",\"value\",\"valign\",\"webkitallowfullscreen\",\"width\",\"wrap\"],htmlAllowedStyleProps:[\".*\"],htmlAllowComments:!0,htmlUntouched:!1,preserveTabSpaces:!1,fullPage:!1}),Y.HTML5Map={B:\"STRONG\",I:\"EM\",STRIKE:\"S\"},Y.MODULES.clean=function(C){var m,v,b,E,f=C.$;function o(e){if(e.nodeType===Node.ELEMENT_NODE&&e.getAttribute(\"class\")&&0<=e.getAttribute(\"class\").indexOf(\"fr-marker\")||[\"TABLE\",\"TBODY\",\"THEAD\",\"TFOOT\",\"TR\",\"TD\",\"TH\"].includes(e.nodeName))return!1;var t,n=C.node.contents(e),r=[];for(t=0;t<n.length;t++)n[t].nodeType!==Node.ELEMENT_NODE||C.node.isVoid(n[t])?n[t].nodeType===Node.TEXT_NODE&&(n[t].textContent=n[t].textContent.replace(/\\u200b/g,\"\")):n[t].textContent.replace(/\\u200b/g,\"\").length!==n[t].textContent.length&&o(n[t]);if(e.nodeType===Node.ELEMENT_NODE&&!C.node.isVoid(e)&&(e.normalize(),n=C.node.contents(e),r=e.querySelectorAll(\".fr-marker\"),n.length-r.length==0)){for(t=0;t<n.length;t++)if(n[t].nodeType===Node.ELEMENT_NODE&&(n[t].getAttribute(\"class\")||\"\").indexOf(\"fr-marker\")<0)return!1;for(t=0;t<r.length;t++)e.parentNode.insertBefore(r[t].cloneNode(!0),e);return e.parentNode.removeChild(e),!1}}function s(e,t){if(e.nodeType===Node.COMMENT_NODE)return\"\\x3c!--\".concat(e.nodeValue,\"--\\x3e\");if(e.nodeType===Node.TEXT_NODE)return t?e.textContent.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\"):C.opts.preserveTabSpaces?e.textContent.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\u00A0/g,\"&nbsp;\").replace(/\\t/g,\" \".repeat(C.opts.tabSpaces)||\" \".repeat(4)):e.textContent.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\u00A0/g,\"&nbsp;\").replace(/\\t/g,\"\");if(e.nodeType!==Node.ELEMENT_NODE)return e.outerHTML;if(e.nodeType===Node.ELEMENT_NODE&&0<=[\"STYLE\",\"SCRIPT\",\"NOSCRIPT\"].indexOf(e.tagName))return e.outerHTML;if(e.nodeType===Node.ELEMENT_NODE&&\"svg\"===e.tagName){var n=document.createElement(\"div\"),r=e.cloneNode(!0);return n.appendChild(r),n.innerHTML}if(\"IFRAME\"===e.tagName)return e.outerHTML.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\");var o=e.childNodes;if(0===o.length)return e.outerHTML;for(var i=\"\",a=0;a<o.length;a++)\"PRE\"===e.tagName&&(t=!0),i+=s(o[a],t);return C.node.openTagString(e)+i+C.node.closeTagString(e)}var l=[];function L(e){var t=e.replace(/;;/gi,\";\");return\";\"!==(t=t.replace(/^;/gi,\"\")).charAt(t.length)&&(t+=\";\"),t}function c(e){var t;for(t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var n=t.match(b),r=null;\"style\"===t&&C.opts.htmlAllowedStyleProps.length&&(r=e[t].match(E)),n&&r?e[t]=L(r.join(\";\")):n&&(\"style\"!==t||r)||delete e[t]}for(var o=\"\",i=Object.keys(e).sort(),a=0;a<i.length;a++)e[t=i[a]].indexOf('\"')<0?o+=\" \".concat(t,'=\"').concat(e[t],'\"'):o+=\" \".concat(t,\"='\").concat(e[t],\"'\");return o}function d(e,t){var n,r=document.implementation.createHTMLDocument(\"Froala DOC\").createElement(\"DIV\"),o=e.replace(/(<col[^>]*>)&nbsp;/g,\"$1\");f(r).append(o);var i=\"\";if(r){var a=C.node.contents(r);for(n=0;n<a.length;n++)t(a[n]);for(a=C.node.contents(r),n=0;n<a.length;n++)i+=s(a[n])}return i}function p(e,t,n){var r=e=function i(e){return l=[],e=(e=(e=(e=e.replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,function(e){return l.push(e),\"[FROALA.EDITOR.SCRIPT \".concat(l.length-1,\"]\")})).replace(/<noscript\\b[^<]*(?:(?!<\\/noscript>)<[^<]*)*<\\/noscript>/gi,function(e){return l.push(e),\"[FROALA.EDITOR.NOSCRIPT \".concat(l.length-1,\"]\")})).replace(/<meta((?:[\\w\\W]*?)) http-equiv=\"/g,'<meta$1 data-fr-http-equiv=\"')).replace(/<img((?:[\\w\\W]*?)) src=\"/g,'<img$1 data-fr-src=\"')}(e),o=null;return C.opts.fullPage&&(r=C.html.extractNode(e,\"body\")||(0<=e.indexOf(\"<body\")?\"\":e),n&&(o=C.html.extractNode(e,\"head\")||\"\")),r=d(r,t),o&&(o=d(o,t)),function a(e){return e=(e=(e=e.replace(/\\[FROALA\\.EDITOR\\.SCRIPT ([\\d]*)\\]/gi,function(e,t){return 0<=C.opts.htmlRemoveTags.indexOf(\"script\")?\"\":l[parseInt(t,10)]})).replace(/\\[FROALA\\.EDITOR\\.NOSCRIPT ([\\d]*)\\]/gi,function(e,t){if(0<=C.opts.htmlRemoveTags.indexOf(\"noscript\"))return\"\";var n=l[parseInt(t,10)].replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\"),r=f(n);if(r&&r.length){var o=d(r.html(),u);r.html(o),n=r.get(0).outerHTML}return n})).replace(/<img((?:[\\w\\W]*?)) data-fr-src=\"/g,'<img$1 src=\"')}(function s(e,t,n){if(C.opts.fullPage){var r=C.html.extractDoctype(n),o=c(C.html.extractNodeAttrs(n,\"html\"));t=null===t?C.html.extractNode(n,\"head\")||\"<title></title>\":t;var i=c(C.html.extractNodeAttrs(n,\"head\")),a=c(C.html.extractNodeAttrs(n,\"body\"));return\"\".concat(r,\"<html\").concat(o,\"><head\").concat(i,\">\").concat(t,\"</head><body\").concat(a,\">\").concat(e,\"</body></html>\")}return e}(r,o,e))}function y(e){var t=C.doc.createElement(\"DIV\");return t.innerText=e,t.textContent}function u(e){for(var t=C.node.contents(e),n=0;n<t.length;n++)t[n].nodeType!==Node.TEXT_NODE&&u(t[n]);!function g(n){if(\"SPAN\"===n.tagName&&0<=(n.getAttribute(\"class\")||\"\").indexOf(\"fr-marker\"))return!1;if(\"PRE\"===n.tagName&&function h(e){var t=e.innerHTML;0<=t.indexOf(\"\\n\")&&(e.innerHTML=t.replace(/\\n/g,\"<br>\"))}(n),n.nodeType===Node.ELEMENT_NODE&&(n.getAttribute(\"data-fr-src\")&&0!==n.getAttribute(\"data-fr-src\").indexOf(\"blob:\")&&n.setAttribute(\"data-fr-src\",C.helpers.sanitizeURL(y(n.getAttribute(\"data-fr-src\")))),n.getAttribute(\"href\")&&n.setAttribute(\"href\",C.helpers.sanitizeURL(y(n.getAttribute(\"href\")))),n.getAttribute(\"src\")&&n.setAttribute(\"src\",C.helpers.sanitizeURL(y(n.getAttribute(\"src\")))),n.getAttribute(\"srcdoc\")&&n.setAttribute(\"srcdoc\",C.clean.html(n.getAttribute(\"srcdoc\"))),0<=[\"TABLE\",\"TBODY\",\"TFOOT\",\"TR\"].indexOf(n.tagName)&&(n.innerHTML=n.innerHTML.trim())),!C.opts.pasteAllowLocalImages&&n.nodeType===Node.ELEMENT_NODE&&\"IMG\"===n.tagName&&n.getAttribute(\"data-fr-src\")&&0===n.getAttribute(\"data-fr-src\").indexOf(\"file://\"))return n.parentNode.removeChild(n),!1;if(n.nodeType===Node.ELEMENT_NODE&&Y.HTML5Map[n.tagName]&&\"\"===C.node.attributes(n)){var e=Y.HTML5Map[n.tagName],t=\"<\".concat(e,\">\").concat(n.innerHTML,\"</\").concat(e,\">\");n.insertAdjacentHTML(\"beforebegin\",t),(n=n.previousSibling).parentNode.removeChild(n.nextSibling)}if(C.opts.htmlAllowComments||n.nodeType!==Node.COMMENT_NODE)if(n.tagName&&n.tagName.match(v)){if(\"STYLE\"==n.tagName&&C.helpers.isMac()){var r,o=n.innerHTML.trim(),i=[],a=/{([^}]+)}/g;for(o=o.replace(/\\/\\*[\\s\\S]*?\\*\\/|([^\\\\:]|^)\\/\\/.*|<!--[\\s\\S]*?-->$/,\"\");r=a.exec(o);)i.push(r[1]);for(var s=function s(t){var e=o.substring(0,o.indexOf(\"{\")).trim();0==!/^[a-z_-][a-z\\d_-]*$/i.test(e)&&n.parentNode.querySelectorAll(e).forEach(function(e){e.removeAttribute(\"class\"),e.setAttribute(\"style\",i[t])}),o=o.substring(o.indexOf(\"}\")+1)},l=0;-1!=o.indexOf(\"{\");l++)s(l)}n.parentNode.removeChild(n)}else if(n.tagName&&!n.tagName.match(m))\"svg\"===n.tagName?n.parentNode.removeChild(n):C.browser.safari&&\"path\"===n.tagName&&n.parentNode&&\"svg\"===n.parentNode.tagName||(n.outerHTML=n.innerHTML);else{var c=n.attributes;if(c)for(var d=c.length-1;0<=d;d--){var f=c[d],p=f.nodeName.match(b),u=null;\"style\"===f.nodeName&&C.opts.htmlAllowedStyleProps.length&&(u=f.value.match(E)),p&&u?f.value=L(u.join(\";\")):p&&(\"style\"!==f.nodeName||u)||n.removeAttribute(f.nodeName)}}else 0!==n.data.indexOf(\"[FROALA.EDITOR\")&&n.parentNode.removeChild(n)}(e)}return{_init:function e(){C.opts.fullPage&&f.merge(C.opts.htmlAllowedTags,[\"head\",\"title\",\"style\",\"link\",\"base\",\"body\",\"html\",\"meta\"])},html:function h(e,t,n,r){if(void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r=!1),0<=e.indexOf(\"<plaintext>\")){e=e.replace(/<plaintext>/g,\"\").replace(/<\\/plaintext>/g,\"\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\u00A0/g,\"&nbsp;\").replace(/\\t/g,C.opts.preserveTabSpaces?\" \".repeat(C.opts.tabSpaces||4):\"\");var o=C.html.defaultTag();C.opts.enter!=Y.ENTER_BR&&(e=\"<\".concat(o,\">\").concat(e,\"</\").concat(o,\">\"))}var i,a=f.merge([],C.opts.htmlAllowedTags);for(i=0;i<t.length;i++)0<=a.indexOf(t[i])&&a.splice(a.indexOf(t[i]),1);var s=f.merge([],C.opts.htmlAllowedAttrs);for(i=0;i<n.length;i++)0<=s.indexOf(n[i])&&s.splice(s.indexOf(n[i]),1);if(s.push(\"data-fr-.*\"),s.push(\"fr-.*\"),m=new RegExp(\"^\".concat(a.join(\"$|^\"),\"$\"),\"gi\"),b=new RegExp(\"^\".concat(s.join(\"$|^\"),\"$\"),\"gi\"),v=new RegExp(\"^\".concat(C.opts.htmlRemoveTags.join(\"$|^\"),\"$\"),\"gi\"),E=C.opts.htmlAllowedStyleProps.length?new RegExp(\"((^|;|\\\\s)\".concat(C.opts.htmlAllowedStyleProps.join(\":.+?(?=;|$))|((^|;|\\\\s)\"),\":.+?(?=(;)|$))\"),\"gi\"):null,e=p(e,u,!0),\"undefined\"!=typeof C.opts.DOMPurify){var l={ALLOW_UNKNOWN_PROTOCOLS:!0};1===C.opts.htmlAllowedTags.length&&\".*\"===C.opts.htmlAllowedTags[0]||(l.ALLOWED_TAGS=C.opts.htmlAllowedTags),1===C.opts.htmlAllowedAttrs.length&&\".*\"===C.opts.htmlAllowedAttrs[0]||(l.ALLOWED_ATTR=C.opts.htmlAllowedAttrs),e=C.opts.DOMPurify.sanitize(e,l)}return e},toHTML5:function r(){var e=C.el.querySelectorAll(Object.keys(Y.HTML5Map).join(\",\"));if(e.length){var t=!1;C.el.querySelector(\".fr-marker\")||(C.selection.save(),t=!0);for(var n=0;n<e.length;n++)\"\"===C.node.attributes(e[n])&&f(e[n]).replaceWith(\"<\".concat(Y.HTML5Map[e[n].tagName],\">\").concat(e[n].innerHTML,\"</\").concat(Y.HTML5Map[e[n].tagName],\">\"));t&&C.selection.restore()}},tables:function t(){!function d(){for(var e=C.el.querySelectorAll(\"tr\"),t=0,n=0;n<e.length;n++){var r=e[n].outerHTML.match(/rowspan=\"([0-9]+)\"/);r&&(t+=Number(r[1])-1);for(var o=e[n].children,i=!0,a=0;a<o.length;a++)if(\"TH\"!==o[a].tagName){i=!1;break}if(!1!==i&&0!==o.length)if(1===o.length&&\"TH\"===o[0].tagName&&t)t--;else{var s=e[n],l=s.closest(\"table\");if(l){var c=l.querySelector(\"thead\");c||(c=C.doc.createElement(\"THEAD\"),l.insertBefore(c,l.firstChild)),c.contains(s)||c.appendChild(s)}}}}(),function s(){for(var e=C.$el.find(\"table[style]\"),t=0;t<e.length;t++){var n=f(e[t]);n.attr(\"style\").indexOf(\"width\")<0&&n.css(\"width\",\"100%\")}for(var r=C.$el.find(\"td[width]\"),o=0;o<r.length;o++){var i=f(r[o]),a=i.attr(\"width\");a&&(i.css(\"width\",a),i.removeAttr(\"width\"))}}()},lists:function g(){!function s(){var e,t=[];do{if(t.length){var n=t[0],r=C.doc.createElement(\"ul\");n.parentNode.insertBefore(r,n);do{var o=n;n=n.nextSibling,r.appendChild(o)}while(n&&\"LI\"===n.tagName)}t=[];for(var i=C.el.querySelectorAll(\"li\"),a=0;a<i.length;a++)e=i[a],C.node.isList(e.parentNode)||t.push(i[a])}while(0<t.length)}(),function i(){for(var e=C.el.querySelectorAll(\"ol + ol, ul + ul\"),t=0;t<e.length;t++){var n=e[t];if(C.node.isList(n.previousSibling)&&C.node.openTagString(n)===C.node.openTagString(n.previousSibling)){for(var r=C.node.contents(n),o=0;o<r.length;o++)n.previousSibling.appendChild(r[o]);n.parentNode.removeChild(n)}}}(),function a(){for(var e=C.el.querySelectorAll(\"ul, ol\"),t=0;t<e.length;t++)for(var n=C.node.contents(e[t]),r=null,o=n.length-1;0<=o;o--)!n[o].tagName&&C.opts.htmlUntouched||\"LI\"===n[o].tagName||\"UL\"==n[o].tagName||\"OL\"==n[o].tagName?r=null:\"BR\"==n[o].tagName?f(n[o]).remove():(r||(r=f(C.doc.createElement(\"LI\"))).insertBefore(n[o]),r.prepend(n[o]))}(),function l(){var e,t,n;do{t=!1;var r=C.el.querySelectorAll(\"li:empty\");for(e=0;e<r.length;e++)r[e].parentNode.removeChild(r[e]);var o=C.el.querySelectorAll(\"ul, ol\");for(e=0;e<o.length;e++)(n=o[e]).querySelector(\"LI\")||(t=!0,n.parentNode.removeChild(n))}while(!0===t)}(),function o(){for(var e=C.el.querySelectorAll(\"ul > ul, ol > ol, ul > ol, ol > ul\"),t=0;t<e.length;t++){var n=e[t],r=n.previousSibling;r&&(\"LI\"===r.tagName?r.appendChild(n):f(n).wrap(\"<li></li>\"))}}(),function c(){for(var e=C.el.querySelectorAll(\"li > ul, li > ol\"),t=0;t<e.length;t++){var n=e[t];if(n.nextSibling)for(var r=n.nextSibling;0<r.childNodes.length;)n.append(r.childNodes[0])}}(),function d(){for(var e=C.el.querySelectorAll(\"li > ul, li > ol\"),t=0;t<e.length;t++){var n=e[t];if(C.node.isFirstSibling(n)&&\"none\"!=n.parentNode.style.listStyleType)f(n).before(\"<br/>\");else if(n.previousSibling&&\"BR\"===n.previousSibling.tagName){for(var r=n.previousSibling.previousSibling;r&&C.node.hasClass(r,\"fr-marker\");)r=r.previousSibling;r&&\"BR\"!==r.tagName&&f(n.previousSibling).remove()}}}(),function n(){for(var e=C.el.querySelectorAll(\"li:empty\"),t=0;t<e.length;t++)f(e[t]).remove()}(),function r(){for(var e=C.el.querySelectorAll(\"ul, ol\"),t=0;t<e.length;t++)for(var n=e[t],a=C.node.contents(n),s=function s(){var e=a[l],t=C.node.contents(e);if(e.nodeType!==Node.ELEMENT_NODE)return 0;var n=e.querySelectorAll(\"ul, ol\");if(0<n.length&&1==t.length&&t[0].nodeType===Node.ELEMENT_NODE){var r=n[0],o=a[l-1];if(!o)return 0;var i=f(o).data(\"tracking\")&&C.opts.trackChangesEnabled;x(r.querySelectorAll(\"li\")).reverse().forEach(function(e){if(i){var t=\"pending-\".concat(C.id,\"-\").concat(C.track_changes.getPendingChanges().length),n=C.opts.showChangesEnabled?'class=\"fr-highlight-change\"':\"\",r=e.innerHTML;e.innerHTML='<span data-tracking=\"true\" data-track-id=\"'.concat(t,'\" ').concat(n,\">\").concat(r,\"</span>\"),C.track_changes.pushChange(t)}}),o.append(r),e.remove()}},l=0;l<a.length;l++)s()}()},invisibleSpaces:function n(e){return e.replace(/\\u200b/g,\"\").length===e.length?e:C.clean.exec(e,o)},exec:p}},Y.XS=0,Y.SM=1,Y.MD=2,Y.LG=3;Y.LinkRegExCommon=\"[\".concat(\"a-z\\\\u0080-\\\\u009f\\\\u00a1-\\\\uffff0-9-_\\\\.\",\"]{1,}\"),Y.LinkRegExEnd=\"((:[0-9]{1,5})|)(((\\\\/|\\\\?|#)[a-zA-Z0-9\\\\u00a1-\\\\uffff@\\\\[\\\\]\\\\(\\\\)\\\\{\\\\}.,:;!?%&$^=*+~#_\\\\-`'\\\"\\\\\\\\\\\\/|]*)|())\",Y.LinkRegExTLD=\"((\".concat(Y.LinkRegExCommon,\")(\\\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev|in|fr|it)))\"),Y.LinkRegExHTTP=\"((ftp|http|https):\\\\/\\\\/\".concat(Y.LinkRegExCommon,\")\"),Y.LinkRegExAuth=\"((ftp|http|https):\\\\/\\\\/[\\\\u0021-\\\\uffff]{1,}@\".concat(Y.LinkRegExCommon,\")\"),Y.LinkRegExWWW=\"(www\\\\.\".concat(Y.LinkRegExCommon,\"\\\\.[a-z0-9-]{2,24})\"),Y.LinkRegEx=\"(\".concat(Y.LinkRegExTLD,\"|\").concat(Y.LinkRegExHTTP,\"|\").concat(Y.LinkRegExWWW,\"|\").concat(Y.LinkRegExAuth,\")\").concat(Y.LinkRegExEnd),Y.LinkProtocols=[\"mailto\",\"tel\",\"sms\",\"notes\",\"data\"],Y.MAIL_REGEX=/.+@.+\\..+/i,Y.MODULES.helpers=function(i){var a,s=i.$;function e(){var e={},t=function i(){var e,t=-1;return\"Microsoft Internet Explorer\"===navigator.appName?(e=navigator.userAgent,null!==new RegExp(\"MSIE ([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))):\"Netscape\"===navigator.appName&&(e=navigator.userAgent,null!==new RegExp(\"Trident/.*rv:([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))),t}();if(0<t)e.msie=!0;else{var n=navigator.userAgent.toLowerCase(),r=/(edge)[ /]([\\w.]+)/.exec(n)||/(chrome)[ /]([\\w.]+)/.exec(n)||/(webkit)[ /]([\\w.]+)/.exec(n)||/(opera)(?:.*version|)[ /]([\\w.]+)/.exec(n)||/(msie) ([\\w.]+)/.exec(n)||n.indexOf(\"compatible\")<0&&/(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(n)||[],o=r[1]||\"\";r[2];r[1]&&(e[o]=!0),e.chrome?e.webkit=!0:e.webkit&&(e.safari=!0)}return e.msie&&(e.version=t),e}function t(){return(/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||function e(){return navigator.maxTouchPoints&&2<navigator.maxTouchPoints&&/Macintosh/.test(navigator.userAgent)}())&&!o()}function n(){return/(Android)/g.test(navigator.userAgent)&&!o()}function r(){return/(Blackberry)/g.test(navigator.userAgent)}function o(){return/(Windows Phone)/gi.test(navigator.userAgent)}var l=null;return{_init:function c(){i.browser=e()},isIOS:t,isMac:function d(){return null===l&&(l=0<=navigator.platform.toUpperCase().indexOf(\"MAC\")),l},getIOSVersion:function f(){if(t()){var e=navigator.userAgent.match(/OS (\\d)?\\d_\\d(_\\d)?/i)||navigator.userAgent.match(/\\b[0-9]+_[0-9]+(?:_[0-9]+)?\\b/);return e&&e.length&&Math.abs(e[0].split(\"_\")[0].replace(\"OS \",\"\"))||NaN}return NaN},getSafariVersion:function p(){var e=navigator.userAgent;if(-1!==e.indexOf(\"Safari\")){var t=e.match(/Version\\/(\\d+\\.\\d+)/);if(t)return parseInt(t[1])}return null},isAndroid:n,isBlackberry:r,isWindowsPhone:o,isMobile:function u(){return n()||t()||r()},isEmail:function h(e){return!/^(https?:|ftps?:|)\\/\\//i.test(e)&&Y.MAIL_REGEX.test(e)},requestAnimationFrame:function g(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}},getPX:function C(e){return parseInt(e,10)||0},screenSize:function m(e){try{var t=0;if((t=e?i.$box.width():i.$sc.width())<768)return Y.XS;if(768<=t&&t<992)return Y.SM;if(992<=t&&t<1200)return Y.MD;if(1200<=t)return Y.LG}catch(n){return Y.LG}},isTouch:function v(){return\"ontouchstart\"in window||window.DocumentTouch&&document instanceof window.DocumentTouch},sanitizeURL:function b(e){if(i.opts.DOMPurify){var t={ALLOW_UNKNOWN_PROTOCOLS:!0,ALLOWED_URI_REGEXP:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|xxx):|[^a-z]|[a-z+.]+(?:[^a-z+.\\-:]|$))/i};1===i.opts.htmlAllowedTags.length&&\".*\"===i.opts.htmlAllowedTags[0]||(t.ALLOWED_TAGS=i.opts.htmlAllowedTags),1===i.opts.htmlAllowedAttrs.length&&\".*\"===i.opts.htmlAllowedAttrs[0]||(t.ALLOWED_ATTR=i.opts.htmlAllowedAttrs),e=i.opts.DOMPurify.sanitize(e,t)}return e=e.replace(/([\"'/]|\\s+)on\\w+=(?:\"[^\"]*\"|'[^']*'|[^>\\s]+)/gi,\"\"),/^(https?:|ftps?:|)\\/\\//i.test(e)?e:/^([A-Za-z]:(\\\\){1,2}|[A-Za-z]:((\\\\){1,2}[^\\\\]+)+)(\\\\)?$/i.test(e)?e:new RegExp(\"^(\".concat(Y.LinkProtocols.join(\"|\"),\"):\"),\"i\").test(e)?e:e=encodeURIComponent(e).replace(/%23/g,\"#\").replace(/%2F/g,\"/\").replace(/%25/g,\"%\").replace(/mailto%3A/gi,\"mailto:\").replace(/file%3A/gi,\"file:\").replace(/sms%3A/gi,\"sms:\").replace(/tel%3A/gi,\"tel:\").replace(/notes%3A/gi,\"notes:\").replace(/data%3Aimage/gi,\"data:image\").replace(/blob%3A/gi,\"blob:\").replace(/%3A(\\d)/gi,\":$1\").replace(/webkit-fake-url%3A/gi,\"webkit-fake-url:\").replace(/%3F/g,\"?\").replace(/%3D/g,\"=\").replace(/%26/g,\"&\").replace(/&amp;/g,\"&\").replace(/%2C/g,\",\").replace(/%3B/g,\";\").replace(/%2B/g,\"+\").replace(/%40/g,\"@\").replace(/%5B/g,\"[\").replace(/%5D/g,\"]\").replace(/%7B/g,\"{\").replace(/%7D/g,\"}\").replace(/%[0-1]+[0-9]+|%[0-1]+[A-F]+/g,\"\")},isArray:function E(e){return e&&!Object.prototype.propertyIsEnumerable.call(e,\"length\")&&\"object\"===w(e)&&\"number\"==typeof e.length},RGBToHex:function L(e){function t(e){return\"0\".concat(parseInt(e,10).toString(16)).slice(-2)}try{if(!e||\"transparent\"===e)return\"\";if(/^#[0-9A-F]{6}$/i.test(e)||/^#[0-9A-F]{8}$/i.test(e))return e.toUpperCase();var n=e.match(/^rgb\\(\\s*(\\d+),\\s*(\\d+),\\s*(\\d+)\\s*\\)$/i);if(n)return\"#\".concat(t(n[1])).concat(t(n[2])).concat(t(n[3])).toUpperCase();if(n=e.match(/^rgba\\(\\s*(\\d+),\\s*(\\d+),\\s*(\\d+),\\s*(\\d*\\.?\\d+)\\s*\\)$/i))return\"#\".concat(t(n[1])).concat(t(n[2])).concat(t(n[3])).concat(t(Math.round(255*parseFloat(n[4])))).toUpperCase()}catch(r){return null}},HEXtoRGB:function y(e){if(e=e.replace(/^#/,\"\"),/^rgba?\\(\\d+,\\s*\\d+,\\s*\\d+(,\\s*(0|1|0?\\.\\d+))?\\)$/i.test(e))return e;if(3!==e.length&&4!==e.length||(e=e.split(\"\").map(function(e){return e+e}).join(\"\")),6===e.length){var t=/^([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(e);return t?\"rgb(\".concat(parseInt(t[1],16),\", \").concat(parseInt(t[2],16),\", \").concat(parseInt(t[3],16),\")\"):\"\"}if(8===e.length){var n=/^([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(e);if(n){var r=parseInt(n[1],16),o=parseInt(n[2],16),i=parseInt(n[3],16),a=parseInt(n[4],16)/255;return\"rgba(\".concat(r,\", \").concat(o,\", \").concat(i,\", \").concat(a.toFixed(2),\")\")}}return\"\"},isURL:function N(e){return!!/^(https?:|ftps?:|)\\/\\//i.test(e)&&(e=String(e).replace(/</g,\"%3C\").replace(/>/g,\"%3E\").replace(/\"/g,\"%22\").replace(/ /g,\"%20\"),new RegExp(\"^\".concat(Y.LinkRegExHTTP).concat(Y.LinkRegExEnd,\"$\"),\"gi\").test(e))},getAlignment:function S(e){e.css||(e=s(e));var t=(e.css(\"text-align\")||\"\").replace(/-(.*)-/g,\"\");if([\"left\",\"right\",\"justify\",\"center\"].indexOf(t)<0){if(!a){var n=s('<div dir=\"'.concat(\"rtl\"===i.opts.direction?\"rtl\":\"auto\",'\" style=\"text-align: ').concat(i.$el.css(\"text-align\"),'; position: fixed; left: -3000px;\"><span id=\"s1\">.</span><span id=\"s2\">.</span></div>'));s(\"body\").first().append(n);var r=n.find(\"#s1\").get(0).getBoundingClientRect().left,o=n.find(\"#s2\").get(0).getBoundingClientRect().left;n.remove(),a=r<o?\"left\":\"right\"}t=a}return t},scrollTop:function T(){return i.o_win.pageYOffset?i.o_win.pageYOffset:i.o_doc.documentElement&&i.o_doc.documentElement.scrollTop?i.o_doc.documentElement.scrollTop:i.o_doc.body.scrollTop?i.o_doc.body.scrollTop:0},scrollLeft:function M(){return i.o_win.pageXOffset?i.o_win.pageXOffset:i.o_doc.documentElement&&i.o_doc.documentElement.scrollLeft?i.o_doc.documentElement.scrollLeft:i.o_doc.body.scrollLeft?i.o_doc.body.scrollLeft:0},isInViewPort:function A(e){var t=e.getBoundingClientRect();return 0<=(t={top:Math.round(t.top),bottom:Math.round(t.bottom)}).top&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)||t.top<=0&&t.bottom>=(window.innerHeight||document.documentElement.clientHeight)},isValidHexColor:function x(e){return/^#([0-9A-F]{3}|[0-9A-F]{6})$/i.test(e)},isRGBColor:function O(e){return/^rgba?\\(\\d+,\\s*\\d+,\\s*\\d+(,\\s*\\d+\\.?\\d*)?\\)$/i.test(e)}}},Y.MODULES.events=function(p){var e,i=p.$,a={};function s(e,t,n){E(e,t,n)}function l(e){if(e.originalEvent&&\"insertReplacementText\"===e.originalEvent.inputType){var t=p.selection.get();if(!t||0===t.rangeCount)return;for(var n=t.getRangeAt(0),r=n.startContainer,o=n.startOffset,i=n.endContainer,a=n.endOffset;r;){for(var s=r.textContent,l=o-1;0<=l&&g(s[l]);)l--;if(l<=o-1){o=l+1;break}o=(r=u(r))?r.textContent.length:0}for(;i;){for(var c=i.textContent,d=a;d<c.length&&g(c[d]);)d++;if(a<=d&&(d<c.length||!r.isSameNode(i))){a=d;break}i=h(i),a=0}if(r&&i){var f=document.createRange();f.setStart(r,o),f.setEnd(i,a),t.removeAllRanges(),t.addRange(f)}}}function u(e){for(;e;)if((!(e=e.previousSibling)||!i(e).hasClass(\"fr-marker\"))&&e&&e.nodeType===Node.TEXT_NODE&&e.textContent.trim())return e;return null}function h(e){for(;e;)if((!(e=e.nextSibling)||!i(e).hasClass(\"fr-marker\"))&&e&&e.nodeType===Node.TEXT_NODE&&e.textContent.trim())return e;return null}function g(e){return/\\w/.test(e)}function c(e){if(void 0===e&&(e=!0),!p.$wp)return!1;if(p.helpers.isIOS()&&p.$win.get(0).focus(),p.core.hasFocus())return!1;if(!p.core.hasFocus()&&e){var t=p.$win.scrollTop();if(p.browser.msie&&p.$box&&p.$box.css(\"position\",\"fixed\"),p.browser.msie&&p.$wp&&p.$wp.css(\"overflow\",\"visible\"),p.browser.msie&&p.$sc&&p.$sc.css(\"position\",\"fixed\"),p.browser.msie||(C(),p.el.focus(),p.events.trigger(\"focus\"),f()),p.browser.msie&&p.$sc&&p.$sc.css(\"position\",\"\"),p.browser.msie&&p.$box&&p.$box.css(\"position\",\"\"),p.browser.msie&&p.$wp&&p.$wp.css(\"overflow\",\"auto\"),t!==p.$win.scrollTop()&&p.$win.scrollTop(t),!p.selection.info(p.el).atStart)return!1}if(!p.core.hasFocus()||0<p.$el.find(\".fr-marker\").length)return!1;if(p.selection.info(p.el).atStart&&p.selection.isCollapsed()&&null!==p.html.defaultTag()){var n=p.markers.insert();if(n&&!p.node.blockParent(n)){i(n).remove();var r=p.$el.find(p.html.blockTagsQuery()).get(0);r&&(i(r).prepend(Y.MARKERS),p.selection.restore())}else n&&i(n).remove()}}var d=!1;function f(){e=!0}function C(){e=!1}function m(){return e}function v(e,t,n){var r,o=e.split(\" \");if(1<o.length){for(var i=0;i<o.length;i++)v(o[i],t,n);return!0}void 0===n&&(n=!1),r=0!==e.indexOf(\"shared.\")?(a[e]=a[e]||[],a[e]):(p.shared._events[e]=p.shared._events[e]||[],p.shared._events[e]),n?r.unshift(t):r.push(t)}var b=[];function E(e,t,n,r,o){\"function\"==typeof n&&(o=r,r=n,n=!1);var i=o?p.shared.$_events:b,a=o?p.sid:p.id,s=\"\".concat(t.trim().split(\" \").join(\".ed\".concat(a,\" \")),\".ed\").concat(a);n?e.on(s,n,r):e.on(s,r),i.push([e,s])}function t(e){for(var t=0;t<e.length;t++)e[t][0].off(e[t][1])}function L(e,t,n){if(!p.edit.isDisabled()||n){var r,o;if(0!==e.indexOf(\"shared.\"))r=a[e];else{if(0<p.shared.count)return!1;r=p.shared._events[e]}if(r)for(var i=0;i<r.length;i++)if(!1===(o=r[i].apply(p,t)))return!1;return(!p.opts.events||!p.opts.events[e]||!1!==(o=p.opts.events[e].apply(p,t)))&&o}}function y(){for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&delete a[e]}function N(){for(var e in p.shared._events)Object.prototype.hasOwnProperty.call(p.shared._events,e)&&delete p.shared._events[e]}return{_init:function S(){p.shared.$_events=p.shared.$_events||[],p.shared._events={},function e(){p.helpers.isMobile()?(p._mousedown=\"touchstart\",p._mouseup=\"touchend\",p._move=\"touchmove\",p._mousemove=\"touchmove\"):(p._mousedown=\"mousedown\",p._mouseup=\"mouseup\",p._move=\"\",p._mousemove=\"mousemove\")}(),function t(){s(p.$el,\"click mouseup mousemove mousedown touchstart touchend dragenter dragover dragleave dragend drop dragstart\",function(e){L(e.type,[e])}),v(\"mousedown\",function(){for(var e=0;e<Y.INSTANCES.length;e++)Y.INSTANCES[e]!==p&&Y.INSTANCES[e].popups&&Y.INSTANCES[e].popups.areVisible()&&Y.INSTANCES[e].$el.find(\".fr-marker\").remove()})}(),function n(){s(p.$win,p._mousedown,function(e){L(\"window.mousedown\",[e]),f()}),s(p.$win,p._mouseup,function(e){L(\"window.mouseup\",[e])}),s(p.$win,\"beforeinput cut copy keydown keyup touchmove touchend\",function(e){L(\"window.\".concat(e.type),[e])})}(),function r(){s(p.$doc,\"dragend drop\",function(e){L(\"document.\".concat(e.type),[e])})}(),function o(){s(p.$el,\"beforeinput keydown keypress keyup input\",function(e){L(e.type,[e])})}(),function i(){s(p.$el,\"focus\",function(e){m()&&(c(!1),!1===d&&(L(e.type,[e]),p.helpers.isMobile()&&C()))}),s(p.$el,\"blur\",function(e){m()&&!0===d&&(L(e.type,[e]),p.helpers.isMobile()&&p.opts.toolbarContainer&&(p.shared.selected_editor=p.id),f())}),E(p.$el,\"mousedown\",'[contenteditable=\"true\"]',function(){C(),p.$el.blur()}),v(\"focus\",function(){d=!0}),v(\"blur\",function(){d=!1})}(),f(),function a(){s(p.$el,\"cut copy paste beforepaste\",function(e){L(e.type,[e])})}(),v(\"destroy\",y),v(\"shared.destroy\",N),v(\"beforeinput\",l)},on:v,trigger:L,bindClick:function r(e,t,n){E(e,p._mousedown,t,function(e){p.edit.isDisabled()||function n(e){var t=i(e.currentTarget);return p.edit.isDisabled()||p.node.hasClass(t.get(0),\"fr-disabled\")?(e.preventDefault(),!1):\"mousedown\"===e.type&&1!==e.which||(p.helpers.isMobile()||e.preventDefault(),(p.helpers.isAndroid()||p.helpers.isWindowsPhone())&&0===t.parents(\".fr-dropdown-menu\").length&&(e.preventDefault(),e.stopPropagation()),t.addClass(\"fr-selected\"),void p.events.trigger(\"commands.mousedown\",[t]))}(e)},!0),E(e,\"\".concat(p._mouseup,\" \").concat(p._move),t,function(e){p.edit.isDisabled()||(p.helpers.isIOS()&&null!==p.selection.get().focusNode&&p.selection.save(),function o(e,t){var n=i(e.currentTarget);if(p.edit.isDisabled()||p.node.hasClass(n.get(0),\"fr-disabled\"))return e.preventDefault(),!1;if(\"mouseup\"===e.type&&1!==e.which)return!0;if(p.button.getButtons(\".fr-selected\",!0).get(0)==n.get(0)&&!p.node.hasClass(n.get(0),\"fr-selected\"))return!0;if(\"touchmove\"!==e.type){if(e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault(),!p.node.hasClass(n.get(0),\"fr-selected\"))return p.button.getButtons(\".fr-selected\",!0).removeClass(\"fr-selected\"),!1;if(p.button.getButtons(\".fr-selected\",!0).removeClass(\"fr-selected\"),n.data(\"dragging\")||n.attr(\"disabled\"))return n.removeData(\"dragging\"),!1;var r=n.data(\"timeout\");r&&(clearTimeout(r),n.removeData(\"timeout\")),t.apply(p,[e])}else n.data(\"timeout\")||n.data(\"timeout\",setTimeout(function(){n.data(\"dragging\",!0)},100))}(e,n))},!0),E(e,\"mousedown click mouseup\",t,function(e){p.edit.isDisabled()||e.stopPropagation()},!0),v(\"window.mouseup\",function(){p.edit.isDisabled()||(e.find(t).removeClass(\"fr-selected\"),f())}),E(e,\"mouseover\",t,function(){i(this).hasClass(\"fr-options\")&&i(this).prev(\".fr-btn\").addClass(\"fr-btn-hover\"),i(this).next(\".fr-btn\").hasClass(\"fr-options\")&&i(this).next(\".fr-btn\").addClass(\"fr-btn-hover\")}),E(e,\"mouseout\",t,function(){i(this).hasClass(\"fr-options\")&&i(this).prev(\".fr-btn\").removeClass(\"fr-btn-hover\"),i(this).next(\".fr-btn\").hasClass(\"fr-options\")&&i(this).next(\".fr-btn\").removeClass(\"fr-btn-hover\")})},disableBlur:C,enableBlur:f,blurActive:m,focus:c,chainTrigger:function T(e,t,n){if(!p.edit.isDisabled()||n){var r,o;if(0!==e.indexOf(\"shared.\"))r=a[e];else{if(0<p.shared.count)return!1;r=p.shared._events[e]}if(r)for(var i=0;i<r.length;i++)void 0!==(o=r[i].apply(p,[t]))&&(t=o);return p.opts.events&&p.opts.events[e]&&void 0!==(o=p.opts.events[e].apply(p,[t]))&&(t=o),t}},$on:E,$off:function n(){t(b),b=[],0===p.shared.count&&(t(p.shared.$_events),p.shared.$_events=[])}}},Object.assign(Y.DEFAULTS,{indentMargin:20}),Y.COMMANDS={bold:{title:\"Bold\",toggle:!0,refresh:function(e){var t=this.format.is(\"strong\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},italic:{title:\"Italic\",toggle:!0,refresh:function(e){var t=this.format.is(\"em\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},underline:{title:\"Underline\",toggle:!0,refresh:function(e){var t=this.format.is(\"u\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},strikeThrough:{title:\"Strikethrough\",toggle:!0,refresh:function(e){var t=this.format.is(\"s\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},subscript:{title:\"Subscript\",toggle:!0,refresh:function(e){var t=this.format.is(\"sub\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},superscript:{title:\"Superscript\",toggle:!0,refresh:function(e){var t=this.format.is(\"sup\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},outdent:{title:\"Decrease Indent\"},indent:{title:\"Increase Indent\"},undo:{title:\"Undo\",undo:!1,forcedRefresh:!0,disabled:!0},redo:{title:\"Redo\",undo:!1,forcedRefresh:!0,disabled:!0},insertHR:{title:\"Insert Horizontal Line\"},clearFormatting:{title:\"Clear Formatting\"},selectAll:{title:\"Select All\",undo:!1},moreText:{title:\"More Text\",undo:!1},moreParagraph:{title:\"More Paragraph\",undo:!1},moreRich:{title:\"More Rich\",undo:!1},moreMisc:{title:\"More Misc\",undo:!1}},Y.RegisterCommand=function(e,t){Y.COMMANDS[e]=t},Y.MODULES.commands=function(f){var p=f.$;function a(e){return f.html.defaultTag()&&(e=\"<\".concat(f.html.defaultTag(),\">\").concat(e,\"</\").concat(f.html.defaultTag(),\">\")),e}var s={bold:function(){e(\"bold\",\"strong\")},subscript:function(){f.format.is(\"sup\")&&f.format.remove(\"sup\"),e(\"subscript\",\"sub\")},superscript:function(){f.format.is(\"sub\")&&f.format.remove(\"sub\"),e(\"superscript\",\"sup\")},italic:function(){e(\"italic\",\"em\")},strikeThrough:function(){e(\"strikeThrough\",\"s\")},underline:function(){e(\"underline\",\"u\")},undo:function(){f.undo.run()},redo:function(){f.undo.redo()},indent:function(){r(1)},outdent:function(){r(-1)},show:function(){f.opts.toolbarInline&&f.toolbar.showInline(null,!0)},insertHR:function(){f.selection.remove();var e=\"\";f.core.isEmpty()&&(e=a(e=\"<br>\"));var t='<hr id=\"fr-just\" class=\"fr-just\">'.concat(e);f.opts.trackChangesEnabled&&(t=f.track_changes.wrapInTracking(p(t),\"hrWrapper\").get(0).outerHTML);f.html.insert(t);var n,r=f.$el.find(\"hr#fr-just\").length?f.$el.find(\"hr#fr-just\"):f.$el.find(\".fr-just\");r.removeAttr(\"id\"),r.removeAttr(\"class\");var o=f.opts.trackChangesEnabled&&\"SPAN\"===r[0].parentNode.tagName&&\"P\"===r[0].parentNode.parentNode.tagName;if(0===r.next().length){var i=f.html.defaultTag();i&&!o?r.after(p(f.doc.createElement(i)).append(\"<br>\").get(0)):o?r[0].parentNode.after(p(f.doc.createElement(i)).append(\"<br>\").get(0)):r.after(\"<br>\")}r.prev().is(\"hr\")?n=f.selection.setAfter(r.get(0),!1):r.next().is(\"hr\")?n=f.selection.setBefore(r.get(0),!1):o||f.selection.setAfter(r.get(0),!1)?f.selection.setAfter(r[0].parentNode,!1):f.selection.setBefore(r.get(0),!1),n||void 0===n||(e=a(e=\"\".concat(Y.MARKERS,\"<br>\")),r.after(e)),f.selection.restore()},clearFormatting:function(){f.format.remove()},selectAll:function(){f.doc.execCommand(\"selectAll\",!1,!1),function d(){var e=null,t=null,n=null,r=null,o=!0===f.opts.iframe,i=p(\".fr-iframe\")[0],a=o?p(i.contentWindow.document.body):f.$el;if(o&&i){var s=i.contentWindow;n=s.document.createRange.bind(s.document),r=s.getSelection()}else n=document.createRange.bind(document),r=window.getSelection();if(f.selection.isCollapsed()){r.removeAllRanges();var l=a.contents();if(e=l.first()[0],t=l.last()[0],e&&t){var c=n();c.setStart(e,0),c.setEnd(t,t.nodeType===Node.TEXT_NODE?t.textContent.length:t.childNodes.length),r.addRange(c),f.selection.save()}}}()},moreText:function(e){t(e)},moreParagraph:function(e){t(e)},moreRich:function(e){t(e)},moreMisc:function(e){t(e)},moreTrackChanges:function(){t(\"trackChanges\")}};function t(e){var t=f.$tb.find(\"[data-cmd=\".concat(e,\"]\")),n=f.$tb.find(\"[data-cmd=html]\");f.opts.trackChangesEnabled||f.markdown&&f.markdown.isEnabled()?n&&n.addClass(\"fr-disabled\"):n&&n.removeClass(\"fr-disabled\"),function r(n){f.helpers.isMobile()&&f.opts.toolbarInline&&f.events.disableBlur();var e=f.$tb.find('.fr-more-toolbar[data-name=\"'.concat(n.attr(\"data-group-name\"),'\"]'));\"trackChanges\"===n.data(\"cmd\")&&(e=f.$tb.find('.fr-more-toolbar[data-name=\"'.concat(n.attr(\"id\"),'\"]')));if(f.$tb.find(\".fr-open\").not(n).not('[data-cmd=\"trackChanges\"]').removeClass(\"fr-open\").attr(\"aria-expanded\",!1),n.toggleClass(\"fr-open\"),n.attr(\"aria-expanded\",n.hasClass(\"fr-open\")),f.$tb.find(\".fr-more-toolbar\").removeClass(\"fr-overflow-visible\"),f.$tb.find(\".fr-expanded\").not(e).length){var t=f.$tb.find(\".fr-expanded\").not(e);t.each(function(e,t){0!=p(t).data(\"name\").indexOf(\"trackChanges-\")&&0!=p(t).data(\"name\").indexOf(\"moreRich-\")?p(t).toggleClass(\"fr-expanded\"):n.parents('[data-name^=\"moreRich-\"]').length||0==p(t).data(\"name\").indexOf(\"trackChanges-\")||p(t).find('[id^=\"trackChanges-\"]').length&&f.opts.trackChangesEnabled||p(t).toggleClass(\"fr-expanded\")}),e.toggleClass(\"fr-expanded\")}else e.toggleClass(\"fr-expanded\"),f.$box.toggleClass(\"fr-toolbar-open\"),f.$tb.toggleClass(\"fr-toolbar-open\")}(t),f.toolbar.setMoreToolbarsHeight()}function n(e,t){if(!(f.markdown&&f.markdown.isEnabled()&&(\"bold\"===e||\"italic\"===e||\"underline\"===e)||f.opts.trackChangesEnabled&&\"markdown\"===e)&&!1!==f.events.trigger(\"commands.before\",p.merge([e],t||[]))){var n=Y.COMMANDS[e]&&Y.COMMANDS[e].callback||s[e],r=!0,o=!1;if(Y.COMMANDS[e]&&(\"undefined\"!=typeof Y.COMMANDS[e].focus&&(r=Y.COMMANDS[e].focus),\"undefined\"!=typeof Y.COMMANDS[e].accessibilityFocus&&(o=Y.COMMANDS[e].accessibilityFocus)),!f.core.hasFocus()&&r||!f.core.hasFocus()&&o&&f.accessibility.hasFocus()){var i=f.selection.ranges()[0];f.opts.allowStylingOnNonEditable&&i&&p(i.startContainer).parentsUntil(f.$el,'[contenteditable=\"false\"]').length&&f.selection.save(),f.el.focus({preventScroll:!0}),f.events.trigger(\"focus\")}Y.COMMANDS[e]&&!1!==Y.COMMANDS[e].undo&&(f.$el.find(\".fr-marker\").length&&(f.events.disableBlur(),f.selection.restore()),f.undo.saveStep()),n&&n.apply(f,p.merge([e],t||[])),f.events.trigger(\"commands.after\",p.merge([e],t||[])),Y.COMMANDS[e]&&!1!==Y.COMMANDS[e].undo&&f.undo.saveStep()}}function e(e,t){f.format.toggle(t)}function r(e){f.selection.save(),f.html.wrap(!0,!0,!0,!0),f.selection.restore();for(var t=f.selection.blocks(),n=0;n<t.length;n++)if(\"LI\"!==t[n].tagName&&\"LI\"!=t[n].parentNode.tagName&&(\"LI\"!==t[n].tagName||\"LI\"!==t[n].parentNode.tagName)){var r=p(t[n]);\"LI\"!=t[n].tagName&&\"LI\"==t[n].parentNode.tagName&&(r=p(t[n].parentNode));var o=\"rtl\"===f.opts.direction||\"rtl\"===r.css(\"direction\")?\"margin-right\":\"margin-left\",i=f.helpers.getPX(r.css(o)),a=f.helpers.getPX(r.css(\"text-indent\"));if(r.width()<2*f.opts.indentMargin&&0<e||i+a<=0&&e<0)continue;\"UL\"!=t[n].parentNode.tagName&&\"OL\"!=t[n].parentNode.tagName&&\"LI\"!=t[n].parentNode.tagName&&r.css(o,Math.max(i+e*f.opts.indentMargin,0)||\"\"),r.removeClass(\"fr-temp-div\")}f.selection.save(),f.html.unwrap(),f.selection.restore()}function o(e){return function(){n(e)}}var i={};for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&(i[l]=o(l));return Object.assign(i,{exec:n,_init:function c(){f.events.on(\"keydown\",function(e){var t=f.selection.element();if((e.ctrlKey||e.metaKey)&&\"a\"===e.key&&(e.preventDefault(),n(\"selectAll\")),t&&\"HR\"===t.tagName&&!f.keys.isArrow(e.which))return e.preventDefault(),!1}),f.events.on(\"keyup\",function(e){var t=f.selection.element();if(t&&\"HR\"===t.tagName)if(e.which===Y.KEYCODE.ARROW_LEFT||e.which===Y.KEYCODE.ARROW_UP){if(t.previousSibling)return f.node.isBlock(t.previousSibling)?f.selection.setAtEnd(t.previousSibling):p(t).before(Y.MARKERS),f.selection.restore(),!1}else if((e.which===Y.KEYCODE.ARROW_RIGHT||e.which===Y.KEYCODE.ARROW_DOWN)&&t.nextSibling)return f.node.isBlock(t.nextSibling)?f.selection.setAtStart(t.nextSibling):p(t).after(Y.MARKERS),f.selection.restore(),!1}),f.events.on(\"mousedown\",function(e){if(e.target&&\"HR\"===e.target.tagName)return e.preventDefault(),e.stopPropagation(),!1}),f.events.on(\"mouseup\",function(){var e=f.selection.element();e===f.selection.endElement()&&e&&\"HR\"===e.tagName&&(e.nextSibling&&(f.node.isBlock(e.nextSibling)?f.selection.setAtStart(e.nextSibling):p(e).after(Y.MARKERS)),f.selection.restore())})}})},Y.MODULES.cursorLists=function(v){var b=v.$;function E(e){for(var t=e;\"LI\"!==t.tagName;)t=t.parentNode;return t}function L(e){for(var t=e;!v.node.isList(t);)t=t.parentNode;return t}function y(e){for(var t=\"\",n=0;n<e.length;n++){var r=e[n];t+=\"\".concat(r.name,\"='\").concat(r.value,\"' \")}return t}return{_startEnter:function N(e){var t,n=E(e),r=n.nextSibling,o=n.previousSibling,i=v.html.defaultTag();if(v.node.isEmpty(n,!0)&&r){for(var a=\"\",s=\"\",l=e.parentNode;!v.node.isList(l)&&l.parentNode&&(\"LI\"!==l.parentNode.tagName||l.parentNode===n);)-1<[\"OL\",\"LI\",\"UL\"].indexOf(l.tagName)&&(a=v.node.openTagString(l)+a,s+=v.node.closeTagString(l)),l=l.parentNode;a=v.node.openTagString(l)+a,s+=v.node.closeTagString(l);var c=\"\";if(l.parentNode&&\"LI\"===l.parentNode.tagName)if(l.parentNode.attributes.length){var d=y(l.parentNode.attributes);c=\"\".concat(s,\"<li \").concat(d,\">\").concat(Y.MARKERS,\"<br>\").concat(a)}else c=\"\".concat(s,\"<li>\").concat(Y.MARKERS,\"<br>\").concat(a);else c=i?\"\".concat(s,\"<\").concat(i,\">\").concat(Y.MARKERS,\"<br></\").concat(i,\">\").concat(a):\"\".concat(s+Y.MARKERS,\"<br>\").concat(a);for(;[\"UL\",\"OL\"].indexOf(l.tagName)<0||l.parentNode&&\"LI\"===l.parentNode.tagName;)l=l.parentNode;b(n).replaceWith('<span id=\"fr-break\"></span>');var f=v.node.openTagString(l)+b(l).html()+v.node.closeTagString(l);f=f.replace(/<span id=\"fr-break\"><\\/span>/g,c),b(l).replaceWith(f),v.$el.find(\"li:empty\").remove(),v.$el.find(\"li > p > span:empty\").length&&v.$el.find(\"li > p > span:empty\")[0].parentNode.parentNode.remove()}else if(o&&r||!v.node.isEmpty(n,!0)){var p=\"<br>\",u=e.parentNode;for(u&&\"A\"===u.tagName&&(u=null);u&&\"LI\"!==u.tagName;)p=v.node.openTagString(u)+p+v.node.closeTagString(u),u=u.parentNode;if(u&&u.attributes.length){var h=y(u.attributes);b(n).before(\"<li \".concat(h,\">\").concat(p,\"</li>\"))}else b(n).before(\"<li>\".concat(p,\"</li>\"));b(e).remove()}else if(o){t=L(n);for(var g=\"\".concat(Y.MARKERS,\"<br>\"),C=e.parentNode;C&&\"LI\"!==C.tagName;)g=v.node.openTagString(C)+g+v.node.closeTagString(C),C=C.parentNode;if(t.parentNode&&\"LI\"===t.parentNode.tagName)if(t.parentNode.attributes.length){var m=y(t.parentNode.attributes);b(t.parentNode).after(\"<li \".concat(m,\">\").concat(g,\"</li>\"))}else b(t.parentNode).after(\"<li>\".concat(g,\"</li>\"));else i?b(t).after(\"<\".concat(i,\">\").concat(g,\"</\").concat(i,\">\")):b(t).after(g);b(n).remove()}else(t=L(n)).parentNode&&\"LI\"===t.parentNode.tagName?r?b(t.parentNode).before(\"\".concat(v.node.openTagString(n)+Y.MARKERS,\"<br></li>\")):b(t.parentNode).after(\"\".concat(v.node.openTagString(n)+Y.MARKERS,\"<br></li>\")):i?b(t).before(\"<\".concat(i,\">\").concat(Y.MARKERS,\"<br></\").concat(i,\">\")):b(t).before(\"\".concat(Y.MARKERS,\"<br>\")),b(n).remove()},_middleEnter:function c(e){for(var t=E(e),n=\"\",r=e,o=\"\",i=\"\",a=!1;r!==t;){var s=\"A\"===(r=r.parentNode).tagName&&v.cursor.isAtEnd(e,r)?\"fr-to-remove\":\"\";a||r==t||v.node.isBlock(r)||(a=!0,o+=Y.INVISIBLE_SPACE),o=v.node.openTagString(b(r).clone().addClass(s).get(0))+o,i+=v.node.closeTagString(r)}n=i+n+o+Y.MARKERS+(v.opts.keepFormatOnDelete?Y.INVISIBLE_SPACE:\"\"),b(e).replaceWith('<span id=\"fr-break\"></span>');var l=v.node.openTagString(t)+b(t).html()+v.node.closeTagString(t);l=l.replace(/<span id=\"fr-break\"><\\/span>/g,n),b(t).replaceWith(l)},_endEnter:function l(e){for(var t=E(e),n=Y.MARKERS,r=\"\",o=e,i=!1;o!==t;)if(!(o=o.parentNode).classList.contains(\"fr-img-space-wrap\")&&!o.classList.contains(\"fr-img-space-wrap2\")){var a=\"A\"===o.tagName&&v.cursor.isAtEnd(e,o)?\"fr-to-remove\":\"\";i||o===t||v.node.isBlock(o)||(i=!0,r+=Y.INVISIBLE_SPACE),r=v.node.openTagString(b(o).clone().addClass(a).get(0))+r,n+=v.node.closeTagString(o)}var s=r+n;b(e).remove(),b(t).after(s)},_backspace:function u(e){var t=E(e),n=t.previousSibling;if(n){var r=b(n).children().last(),o=r[0]&&r[0].tagName?r[0].tagName:\"\",i=\"P\"===o,a=0<b(n).find(\"table\").length;[\"TABLE\",\"TBODY\",\"TR\",\"TD\",\"TH\"].includes(o)||a&&i||(n=b(n).find(v.html.blockTagsQuery()).get(-1)||n),b(e).replaceWith(Y.MARKERS);var s=v.node.contents(n);s.length&&\"BR\"===s[s.length-1].tagName&&b(s[s.length-1]).remove(),b(t).find(v.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===t&&b(this).replaceWith(b(this).html()+(v.node.isEmpty(this)?\"\":\"<br>\"))});for(var l,c=v.node.contents(t)[0];c&&!v.node.isList(c);)l=c.nextSibling,b(n).append(c),c=l;for(n=t.previousSibling;c;)l=c.nextSibling,b(n).append(c),c=l;1<(s=v.node.contents(n)).length&&\"BR\"===s[s.length-1].tagName&&b(s[s.length-1]).remove(),b(t).remove()}else{var d=L(t);if(b(e).replaceWith(Y.MARKERS),d.parentNode&&\"LI\"===d.parentNode.tagName){var f=d.previousSibling;v.node.isBlock(f)?(b(t).find(v.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===t&&b(this).replaceWith(b(this).html()+(v.node.isEmpty(this)?\"\":\"<br>\"))}),b(f).append(b(t).html())):b(d).before(b(t).html())}else{var p=v.html.defaultTag();p&&0===b(t).find(v.html.blockTagsQuery()).length?b(d).before(\"<\".concat(p,\">\").concat(b(t).html(),\"</\").concat(p,\">\")):b(d).before(b(t).html())}b(t).remove(),v.html.wrap(),0===b(d).find(\"li\").length&&b(d).remove()}},_del:function d(e){var t,n=E(e),r=n.nextSibling;if(r){(t=v.node.contents(r)).length&&\"BR\"===t[0].tagName&&b(t[0]).remove(),b(r).find(v.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===r&&b(this).replaceWith(b(this).html()+(v.node.isEmpty(this)?\"\":\"<br>\"))});for(var o,i=e,a=v.node.contents(r)[0];a&&!v.node.isList(a);)o=a.nextSibling,b(i).after(a),i=a,a=o;for(;a;)o=a.nextSibling,b(n).append(a),a=o;b(e).replaceWith(Y.MARKERS),b(r).remove()}else{for(var s=n;!s.nextSibling&&s!==v.el;)s=s.parentNode;if(s===v.el)return!1;if(s=s.nextSibling,v.node.isBlock(s)){if(Y.NO_DELETE_TAGS.indexOf(s.tagName)<0){if(b(e).replaceWith(Y.MARKERS),(t=v.node.contents(n)).length&&\"BR\"===t[t.length-1].tagName&&b(t[t.length-1]).remove(),s.isContentEditable&&\"DIV\"===s.tagName&&(!v.node.isBlock(s.previousSibling)||\"DIV\"===s.previousSibling.tagName))return;b(n).append(b(s).html()),b(s).remove()}}else{for((t=v.node.contents(n)).length&&\"BR\"===t[t.length-1].tagName&&b(t[t.length-1]).remove(),b(e).replaceWith(Y.MARKERS);s&&!v.node.isBlock(s)&&\"BR\"!==s.tagName;)b(n).append(b(s)),s=s.nextSibling;b(s).remove()}}}}},Y.NO_DELETE_TAGS=[\"TH\",\"TD\",\"TR\",\"TABLE\",\"FORM\"],Y.SIMPLE_ENTER_TAGS=[\"TH\",\"TD\",\"LI\",\"DL\",\"DT\",\"FORM\"],Y.MODULES.cursor=function(b){var E=b.$,L=function L(e){var t=null;e&&e.nodeType===Node.TEXT_NODE&&e.nodeValue.trim()&&(t=e);var n=function(e){E(e).contents().each(function(){this.nodeType===Node.TEXT_NODE&&this.nodeValue.trim()?t=this:this.nodeType===Node.ELEMENT_NODE&&n(this)})};return n(e),t};function u(e){return!!e&&(b.node.isBlock(e)?\"P\"!==e.tagName||!e.nextElementSibling||!e.parentElement||\"OL\"!==e.nextElementSibling.tagName||\"LI\"!==e.parentElement.tagName:e.nextSibling&&e.nextSibling.nodeType===Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\\u200b/g,\"\").length?u(e.nextSibling):!(e.nextSibling&&(!e.previousSibling||\"BR\"!==e.nextSibling.tagName||e.nextSibling.nextSibling))&&u(e.parentNode))}function h(e){return!!e&&(!!b.node.isBlock(e)||(e.previousSibling&&e.previousSibling.nodeType===Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\\u200b/g,\"\").length?h(e.previousSibling):!e.previousSibling&&(!(e.previousSibling||!b.node.hasClass(e.parentNode,\"fr-inner\"))||h(e.parentNode))))}function g(e,t){return!!e&&(e!==b.$wp.get(0)&&(e.previousSibling&&e.previousSibling.nodeType===Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\\u200b/g,\"\").length?g(e.previousSibling,t):!e.previousSibling&&(e.parentNode===t||g(e.parentNode,t))))}function C(e,t){return!!e&&(e!==b.$wp.get(0)&&(e.nextSibling&&e.nextSibling.nodeType===Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\\u200b/g,\"\").length?C(e.nextSibling,t):!(e.nextSibling&&(!e.previousSibling||\"BR\"!==e.nextSibling.tagName||e.nextSibling.nextSibling))&&(e.parentNode===t||C(e.parentNode,t))))}function m(e){return 0<E(e).parentsUntil(b.$el,\"LI\").length&&0===E(e).parentsUntil(\"LI\",\"TABLE\").length}function y(e,t){var n=new RegExp(\"\".concat(t?\"^\":\"\",\"(([\\\\uD83C-\\\\uDBFF\\\\uDC00-\\\\uDFFF]+\\\\u200D)*[\\\\uD83C-\\\\uDBFF\\\\uDC00-\\\\uDFFF]{2})\").concat(t?\"\":\"$\"),\"i\"),r=e.match(n);return r?r[0].length:1}function N(e){for(var t,n=e;!n.previousSibling;)if(n=n.parentNode,b.node.isElement(n))return!1;n=n.previousSibling;var r=b.opts.htmlAllowedEmptyTags,o=n.tagName&&n.tagName.toLowerCase();if((!b.node.isBlock(n)||n.lastChild&&o&&0<=r.indexOf(o))&&b.node.isEditable(n)){for(t=b.node.contents(n);n.nodeType!==Node.TEXT_NODE&&!b.node.isDeletable(n)&&t.length&&b.node.isEditable(n);)n=t[t.length-1],t=b.node.contents(n);if(n.nodeType===Node.TEXT_NODE){var i=n.textContent,a=i.length;if(i.length&&\"\\n\"===i[i.length-1])return n.textContent=i.substring(0,a-2),0===n.textContent.length&&n.parentNode.removeChild(n),N(e);if(b.opts.tabSpaces&&i.length>=b.opts.tabSpaces||b.opts.preserveTabSpaces&&4<=i.length){var s=b.opts.tabSpaces?b.opts.tabSpaces:4;0===i.substr(i.length-s,i.length-1).replace(/ /g,\"\").replace(new RegExp(Y.UNICODE_NBSP,\"g\"),\"\").length&&(a=i.length-s+1)}n.textContent=i.substring(0,a-y(i));var l=n.textContent;(b.opts.enter===Y.ENTER_BR&&0<l.length&&\" \"===l.charAt(l.length-1)||0===l.length&&e.previousSibling&&e.previousSibling.nodeType===Node.TEXT_NODE&&\"TD\"!==e.parentNode.tagName&&\"LI\"!==e.parentNode.tagName&&i!==String.fromCharCode(8203))&&(b.node.isBlock(E(e).parentsUntil(b.el).last().get(0))&&e.insertAdjacentHTML(\"beforebegin\",Y.MARKERS),e.insertAdjacentHTML(\"beforebegin\",Y.INVISIBLE_SPACE),n=n.nextSibling),b.opts.trackChangesEnabled&&0===n.textContent.length&&E(n.parentElement).data(\"tracking\")&&0===E(n.parentElement).find(\"[data-tracking-deleted=true]\").length&&(E(e).insertBefore(n.parentElement),E(n.parentElement).remove(),n=E(e)[0].previousSibling),b.opts.htmlUntouched&&!e.nextSibling&&n.textContent.length&&\" \"===n.textContent[n.textContent.length-1]&&(n.textContent=n.textContent.substring(0,n.textContent.length-1)+Y.UNICODE_NBSP);var c=i.length!==n.textContent.length;if(b.opts.enter!==Y.ENTER_BR&&n&&n.previousSibling&&n.previousSibling.previousSibling&&\"BR\"===n.previousSibling.previousSibling.tagName&&0===n.textContent.length&&n.previousSibling.previousSibling.remove(),0===n.textContent.length&&\"LI\"===n.parentNode.tagName&&n.previousSibling&&\"BR\"===n.previousSibling.tagName&&n.previousSibling.remove(),0===n.textContent.length&&n.parentNode.tagName&&\"svg\"===n.parentNode.tagName.toLowerCase()&&n.parentElement.remove(),0===n.textContent.length)if(c&&b.opts.keepFormatOnDelete)E(n).after(Y.INVISIBLE_SPACE+Y.MARKERS);else if(0!==i.length&&b.node.isBlock(n.parentNode))E(n).after(Y.MARKERS);else if((2!=n.parentNode.childNodes.length||n.parentNode!=e.parentNode)&&1!=n.parentNode.childNodes.length||b.node.isBlock(n.parentNode)||b.node.isElement(n.parentNode)||!b.node.isDeletable(n.parentNode)){for(var d,f=n;!b.node.isElement(n.parentNode)&&b.node.isEmpty(n.parentNode)&&Y.NO_DELETE_TAGS.indexOf(n.parentNode.tagName)<0;)if(\"A\"===(n=n.parentNode).tagName){var p=n.childNodes[0];for(E(n).before(p),d=!0;0<p.childNodes.length;)p=p.childNodes[0];n.parentNode.removeChild(n),n=p;break}d||(n=f),E(n).after(Y.MARKERS),b.node.isElement(n.parentNode)&&!e.nextSibling&&n.previousSibling&&\"BR\"===n.previousSibling.tagName&&E(e).after(\"<br>\");var u=n.parentNode;n.parentNode.removeChild(n),b.node.isEmpty(u)&&E(u).html(Y.INVISIBLE_SPACE+Y.MARKERS)}else E(n.parentNode).after(Y.MARKERS),E(n.parentNode).remove();else E(n).after(Y.MARKERS)}else b.node.isDeletable(n)?(E(n).after(Y.MARKERS),E(n).remove()):e.nextSibling&&\"BR\"===e.nextSibling.tagName&&b.node.isVoid(n)&&\"BR\"!==n.tagName?(E(e.nextSibling).remove(),E(e).replaceWith(Y.MARKERS)):!1!==b.events.trigger(\"node.remove\",[E(n)])&&(\"BR\"===n.tagName?E(L(n.previousSibling)).after(Y.MARKERS):E(n).after(Y.MARKERS),E(n).remove())}else if(Y.NO_DELETE_TAGS.indexOf(n.tagName)<0&&(b.node.isEditable(n)||b.node.isDeletable(n)))if(b.node.isDeletable(n))E(e).replaceWith(Y.MARKERS),E(n).remove();else if(b.node.isEmpty(n)&&!b.node.isList(n))E(n).remove(),E(e).replaceWith(Y.MARKERS);else{for(b.node.isList(n)&&(n=E(n).find(\"li\").last().get(0)),(t=b.node.contents(n))&&0<t.length&&\"BR\"===t[t.length-1].tagName&&E(t[t.length-1]).remove(),t=b.node.contents(n);t&&0<t.length&&b.node.isBlock(t[t.length-1]);)n=t[t.length-1],t=b.node.contents(n);var h=L(n),g=h&&0<E(h).parents(\"span\").length;if(b.opts.enter===Y.ENTER_BR&&g){var C=E(n).find(\"span\").last().get(0);C?E(L(C)).after(Y.MARKERS):E(n).append(Y.MARKERS)}else E(n).append(Y.MARKERS);for(var m=e;!m.previousSibling;)m=m.parentNode;for(;m&&\"BR\"!==m.tagName&&!b.node.isBlock(m);){var v=m;m=m.nextSibling,E(n).append(v)}m&&\"BR\"===m.tagName&&E(m).remove(),E(e).remove()}else e.nextSibling&&\"BR\"===e.nextSibling.tagName&&E(e.nextSibling).remove();return!0}function i(e){var t=0<E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").length,n=b.node.deepestParent(e,[],!t);if(n&&\"BLOCKQUOTE\"===n.tagName){var r=b.node.deepestParent(e,[E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").get(0)]);r&&r.nextSibling&&(n=r)}if(null!==n){var o,i=n.nextSibling;if(b.node.isBlock(n)&&(b.node.isEditable(n)||b.node.isDeletable(n))&&i&&Y.NO_DELETE_TAGS.indexOf(i.tagName)<0)if(b.node.isDeletable(i))E(i).remove(),E(e).replaceWith(Y.MARKERS);else if(b.node.isBlock(i)&&b.node.isEditable(i))if(b.node.isList(i))if(b.node.isEmpty(n,!0))E(n).remove(),E(i).find(\"li\").first().prepend(Y.MARKERS);else{var a=E(i).find(\"li\").first();\"BLOCKQUOTE\"===n.tagName&&(o=b.node.contents(n)).length&&b.node.isBlock(o[o.length-1])&&(n=o[o.length-1]),0===a.find(\"ul, ol\").length&&(E(e).replaceWith(Y.MARKERS),a.find(b.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===a.get(0)&&E(this).replaceWith(E(this).html()+(b.node.isEmpty(this)?\"\":\"<br>\"))}),E(n).append(b.node.contents(a.get(0))),a.remove(),0===E(i).find(\"li\").length&&E(i).remove())}else{if((o=b.node.contents(i)).length&&\"BR\"===o[0].tagName&&E(o[0]).remove(),\"BLOCKQUOTE\"!==i.tagName&&\"BLOCKQUOTE\"===n.tagName)for(o=b.node.contents(n);o.length&&b.node.isBlock(o[o.length-1]);)n=o[o.length-1],o=b.node.contents(n);else if(\"BLOCKQUOTE\"===i.tagName&&\"BLOCKQUOTE\"!==n.tagName)for(o=b.node.contents(i);o.length&&b.node.isBlock(o[0]);)i=o[0],o=b.node.contents(i);E(e).replaceWith(Y.MARKERS),E(n).append(i.innerHTML),E(i).remove()}else{for(E(e).replaceWith(Y.MARKERS);i&&\"BR\"!==i.tagName&&!b.node.isBlock(i)&&b.node.isEditable(i);){var s=i;i=i.nextSibling,E(n).append(s)}i&&\"BR\"===i.tagName&&b.node.isEditable(i)&&E(i).remove()}}}function n(e){for(var t,n=e;!n.nextSibling;)if(n=n.parentNode,b.node.isElement(n))return!1;if(\"BR\"===(n=n.nextSibling).tagName&&b.node.isEditable(n))if(n.nextSibling){if(b.node.isBlock(n.nextSibling)&&b.node.isEditable(n.nextSibling)){if(!(Y.NO_DELETE_TAGS.indexOf(n.nextSibling.tagName)<0))return void E(n).remove();n=n.nextSibling,E(n.previousSibling).remove()}}else if(u(n)){if(m(e))b.cursorLists._del(e);else b.node.deepestParent(n)&&((!b.node.isEmpty(b.node.blockParent(n))||(b.node.blockParent(n).nextSibling&&Y.NO_DELETE_TAGS.indexOf(b.node.blockParent(n).nextSibling.tagName))<0)&&E(n).remove(),n&&n.parentNode&&8203===n.parentNode.textContent.charCodeAt()&&n.parentNode.childNodes[1]&&\"BR\"===n.parentNode.childNodes[1].tagName&&n.parentNode.tagName.toLowerCase()===b.html.defaultTag()&&n.parentNode.nextSibling&&\"TABLE\"===n.parentNode.nextSibling.tagName&&E(n.parentNode).remove(),i(e));return}if(!b.node.isBlock(n)&&b.node.isEditable(n)){for(t=b.node.contents(n);n.nodeType!==Node.TEXT_NODE&&t.length&&!b.node.isDeletable(n)&&b.node.isEditable(n);)n=t[0],t=b.node.contents(n);n.nodeType===Node.TEXT_NODE?(E(n).before(Y.MARKERS),n.textContent.length&&(n.textContent=n.textContent.substring(y(n.textContent,!0),n.textContent.length))):b.node.isDeletable(n)?(E(n).before(Y.MARKERS),E(n).remove()):!1!==b.events.trigger(\"node.remove\",[E(n)])&&(E(n).before(Y.MARKERS),E(n).remove()),E(e).remove()}else if(Y.NO_DELETE_TAGS.indexOf(n.tagName)<0&&(b.node.isEditable(n)||b.node.isDeletable(n)))if(b.node.isDeletable(n))E(e).replaceWith(Y.MARKERS),E(n).remove();else if(b.node.isList(n))e.previousSibling?(E(n).find(\"li\").first().prepend(e),b.cursorLists._backspace(e)):(E(n).find(\"li\").first().prepend(Y.MARKERS),E(e).remove());else if((t=b.node.contents(n))&&0<t.length&&\"BR\"===t[0].tagName&&E(t[0]).remove(),t&&0<t.length&&\"BLOCKQUOTE\"===n.tagName){var r=t[0];for(E(e).before(Y.MARKERS);r&&\"BR\"!==r.tagName;){var o=r;r=r.nextSibling,E(e).before(o)}r&&\"BR\"===r.tagName&&E(r).remove()}else E(e).after(E(n).html()).after(Y.MARKERS),E(n).remove()}function a(){for(var e=b.el.querySelectorAll(\"blockquote:empty\"),t=0;t<e.length;t++)e[t].parentNode.removeChild(e[t])}function v(e,t,n){var r,o=b.node.deepestParent(e,[],!n);if(o&&\"BLOCKQUOTE\"===o.tagName)return C(e,o)?(r=b.html.defaultTag(),t?E(e).replaceWith(\"<br>\"+Y.MARKERS):r?E(o).after(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):E(o).after(\"\".concat(Y.MARKERS,\"<br>\")),E(e).remove()):S(e,t,n),!1;if(null===o)(r=b.html.defaultTag())&&b.node.isElement(e.parentNode)?E(e).replaceWith(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):!e.previousSibling||E(e.previousSibling).is(\"br\")||e.nextSibling?E(e).replaceWith(\"<br>\".concat(Y.MARKERS)):E(e).replaceWith(\"<br>\".concat(Y.MARKERS,\"<br>\"));else{var i=e,a=\"\";\"PRE\"!=o.tagName||e.nextSibling||(t=!0),b.node.isBlock(o)&&!t||(a=\"<br/>\");var s,l=\"\",c=\"\",d=\"\",f=\"\";(r=b.html.defaultTag())&&b.node.isBlock(o)&&(d=\"<\".concat(r,\">\"),f=\"</\".concat(r,\">\"),o.tagName===r.toUpperCase()&&(d=b.node.openTagString(E(o).clone().removeAttr(\"id\").removeAttr(\"data-pasted\").get(0))));do{if(i=i.parentNode,!t||i!==o||t&&!b.node.isBlock(o))if(l+=b.node.closeTagString(i),i===o&&b.node.isBlock(o))c=d+c;else{var p=(\"A\"===i.tagName||b.node.hasClass(i,\"fa\"))&&C(e,i)?\"fr-to-remove\":\"\";c=i.getAttribute(\"data-pasted\")?b.node.openTagString(E(i).clone().attr(\"style\",\"\").addClass(p).get(0))+c:b.node.openTagString(E(i).clone().addClass(p).get(0))+c}}while(i!==o);a=l+a+c+(e.parentNode===o&&b.node.isBlock(o)?\"\":Y.INVISIBLE_SPACE)+Y.MARKERS,b.node.isBlock(o)&&!E(o).find(\"*\").last().is(\"br\")&&E(o).append(\"<br/>\"),E(e).after('<span id=\"fr-break\"></span>'),E(e).remove(),o.nextSibling&&!b.node.isBlock(o.nextSibling)||b.node.isBlock(o)||E(o).after(\"<br>\"),s=(s=!t&&b.node.isBlock(o)?b.node.openTagString(o)+E(o).html()+f:b.node.openTagString(o)+E(o).html()+b.node.closeTagString(o)).replace(/<span id=\"fr-break\"><\\/span>/g,a),E(o).replaceWith(s)}}function S(e,t,n){var r=b.node.deepestParent(e,[],!n);if(null===r)b.html.defaultTag()&&e.parentNode===b.el?E(e).replaceWith(\"<\".concat(b.html.defaultTag(),\">\").concat(Y.MARKERS,\"<br></\").concat(b.html.defaultTag(),\">\")):(e.nextSibling&&!b.node.isBlock(e.nextSibling)||E(e).after(\"<br>\"),E(e).replaceWith(\"<br>\".concat(Y.MARKERS)));else if(e.previousSibling&&\"IMG\"==e.previousSibling.tagName||e.nextSibling&&\"IMG\"==e.nextSibling.tagName)E(e).replaceWith(\"<\"+b.html.defaultTag()+\">\"+Y.MARKERS+\"<br></\"+b.html.defaultTag()+\">\");else{var o=e,i=\"\";\"PRE\"===r.tagName&&(t=!0),b.node.isBlock(r)&&!t||(i=\"<br>\");var a=\"\",s=\"\";do{var l=o;if(o=o.parentNode,\"BLOCKQUOTE\"===r.tagName&&b.node.isEmpty(l)&&!b.node.hasClass(l,\"fr-marker\")&&E(l).contains(e)&&E(l).after(e),\"BLOCKQUOTE\"!==r.tagName||!C(e,o)&&!g(e,o))if(!t||o!==r||t&&!b.node.isBlock(r)){a+=b.node.closeTagString(o);var c=\"A\"==o.tagName&&C(e,o)||b.node.hasClass(o,\"fa\")?\"fr-to-remove\":\"\";s=b.node.openTagString(E(o).clone().addClass(c).removeAttr(\"id\").removeAttr(\"data-pasted\").get(0))+s,b.opts.enter!==Y.ENTER_DIV&&o===r&&\"DIV\"===r.tagName&&(a=\"<br>\",s=\"\")}else\"BLOCKQUOTE\"==r.tagName&&t&&(s=a=\"\")}while(o!==r);var d=r===e.parentNode&&b.node.isBlock(r)||e.nextSibling;if(\"BLOCKQUOTE\"===r.tagName)if(e.previousSibling&&b.node.isBlock(e.previousSibling)&&e.nextSibling&&\"BR\"===e.nextSibling.tagName&&(E(e.nextSibling).after(e),e.nextSibling&&\"BR\"===e.nextSibling.tagName&&E(e.nextSibling).remove()),t)i=a+i+Y.MARKERS+s;else{var f=b.html.defaultTag();i=\"\".concat(a+i+(f?\"<\".concat(f,\">\"):\"\")+Y.MARKERS,\"<br>\").concat(f?\"</\".concat(f,\">\"):\"\").concat(s)}else i=a+i+s+(d?\"\":Y.INVISIBLE_SPACE)+Y.MARKERS;E(e).replaceWith('<span id=\"fr-break\"></span>');var p=b.node.openTagString(r)+E(r).html()+b.node.closeTagString(r);p=p.replace(/<span id=\"fr-break\"><\\/span>/g,i),E(r).replaceWith(p)}}function T(e){var t=e.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;return b.opts.iframe?{top:t.top+b.$wp.offset().top,left:t.left+n}:{top:t.top+r,left:t.left+n}}function M(){var e=b.selection.get(),t=null;if(b.selection.inEditor()&&e.rangeCount)for(var n=b.selection.ranges(),r=0;r<n.length;r++){var o=n[r];t=b.selection.rangeElement(o.startContainer,o.startOffset);break}return t}return{enter:function A(e){var t=b.markers.insert();if(!t)return!0;for(var n=t.parentNode;n&&!b.node.isElement(n);){if(\"false\"===n.getAttribute(\"contenteditable\"))return E(t).replaceWith(Y.MARKERS),b.selection.restore(),!1;if(\"true\"===n.getAttribute(\"contenteditable\"))break;n=n.parentNode}b.el.normalize();var r=!1;0<E(t).parentsUntil(b.$el,\"BLOCKQUOTE\").length&&(r=!0),E(t).parentsUntil(b.$el,\"TD, TH\").length&&(r=!1),u(t)?!m(t)||e||r?v(t,e,r):b.cursorLists._endEnter(t):h(t)?!m(t)||e||r?function f(e,t,n){var r,o=b.node.deepestParent(e,[],!n);if(o&&\"TABLE\"===o.tagName)return E(o).find(\"td, th\").first().prepend(e),f(e,t,n);if(o&&\"BLOCKQUOTE\"===o.tagName)if(g(e,o)){if(!t)return(r=b.html.defaultTag())?E(o).before(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):E(o).before(\"\".concat(Y.MARKERS,\"<br>\")),E(e).remove(),!1}else C(e,o)?v(e,t,!0):S(e,t,!0);if(null===o)(r=b.html.defaultTag())&&b.node.isElement(e.parentNode)?E(e).replaceWith(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):E(e).replaceWith(\"<br>\".concat(Y.MARKERS));else{if(r=b.html.defaultTag(),b.node.isBlock(o))if(\"PRE\"===o.tagName&&(t=!0),t)E(e).remove(),E(o).prepend(\"<br>\".concat(Y.MARKERS));else if(e.nextSibling&&\"IMG\"==e.nextSibling.tagName||e.nextSibling&&e.nextSibling.nextElementSibling&&\"IMG\"==e.nextSibling.nextElementSibling)E(e).replaceWith(\"<\"+b.html.defaultTag()+\">\"+Y.MARKERS+\"<br></\"+b.html.defaultTag()+\">\");else{if(b.node.isEmpty(o,!0))return v(e,t,n);if(b.opts.keepFormatOnDelete||\"DIV\"===o.tagName||\"div\"===b.html.defaultTag())if(!b.opts.keepFormatOnDelete&&\"DIV\"===o.tagName||\"div\"===b.html.defaultTag())E(o).before(\"<\"+b.html.defaultTag()+\"><br></\"+b.html.defaultTag()+\">\");else if(b.opts.keepFormatOnDelete&&!b.opts.htmlUntouched&&\"DIV\"!==o.tagName&&\"div\"!==b.html.defaultTag()&&h(b.selection.get().focusNode))E(o).before(\"\".concat(b.node.openTagString(E(o).clone().removeAttr(\"id\").removeAttr(\"data-pasted\").get(0)),\"<br>\").concat(b.node.closeTagString(o)));else{for(var i=e,a=Y.INVISIBLE_SPACE;i!==o&&!b.node.isElement(i);)i=i.parentNode,a=b.node.openTagString(i)+a+b.node.closeTagString(i);E(o).before(a)}else E(o).before(\"\".concat(b.node.openTagString(E(o).clone().removeAttr(\"id\").removeAttr(\"data-pasted\").get(0)),\"<br>\").concat(b.node.closeTagString(o)))}else E(o).before(\"<br>\");E(e).remove()}}(t,e,r):b.cursorLists._startEnter(t):!m(t)||e||r?S(t,e,r):b.cursorLists._middleEnter(t),function p(){b.$el.find(\".fr-to-remove\").each(function(){for(var e=b.node.contents(this),t=0;t<e.length;t++)e[t].nodeType===Node.TEXT_NODE&&(e[t].textContent=e[t].textContent.replace(/\\u200B/g,\"\"));E(this).replaceWith(this.innerHTML)})}(),b.html.fillEmptyBlocks(!0),b.opts.htmlUntouched||(b.html.cleanEmptyTags(),b.clean.lists(),b.spaces.normalizeAroundCursor()),b.selection.restore();var o=b.o_win.innerHeight;if(b.$oel[0].offsetHeight>o){var i=M();if(i){var a=T(i);a=a.top;var s=i.getBoundingClientRect().top;b.opts.iframe&&(s=s+b.$wp.offset().top-b.helpers.scrollTop()),b.opts.scrollableContainer&&b.opts.enter!==Y.ENTER_BR&&\"BR\"===i.tagName&&s+20===o&&(s=a=i.parentNode.offsetTop),i.parentNode&&\"TD\"===i.parentNode.tagName&&o<s?b.o_win.scroll(0,s-50):\"BR\"===i.tagName&&s<0?b.o_win.scroll(0,a-80):b.opts.scrollableContainer&&o<s+20?b.o_win.scroll(0,a-o+50):b.opts.scrollableContainer&&s+2*b.$tb.height()>b.$sc[0].scrollTop+E(b.$sc).height()&&b.$sc[0].scroll(0,a-E(b.$sc).height()+2*b.$tb.height())}}else if(b.opts.scrollableContainer&&b.opts.toolbarSticky){var l=M();if(l){var c=T(l);c=c.top;var d=l.getBoundingClientRect().top;b.opts.enter!==Y.ENTER_BR&&\"BR\"===l.tagName&&(d=c=l.parentNode.offsetTop),(b.opts.iframe&&d+2*b.$tb.height()>b.$sc[0].scrollTop+E(b.$sc).height()||d+2*b.$tb.height()>E(b.$sc).height())&&b.$sc[0].scroll(0,c-E(b.$sc).height()+2*b.$tb.height())}}},backspace:function s(){var e=!1,t=b.markers.insert();if(!t)return!0;for(var n=t.parentNode;n&&!b.node.isElement(n);){if(\"false\"===n.getAttribute(\"contenteditable\"))return E(t).replaceWith(Y.MARKERS),b.selection.restore(),!1;if(n.innerText.length&&\"true\"===n.getAttribute(\"contenteditable\"))break;n=n.parentNode}b.el.normalize();var r=t.previousSibling;if(r){var o=r.textContent;o&&o.length&&8203===o.charCodeAt(o.length-1)&&(1===o.length?E(r).remove():r.textContent=r.textContent.substr(0,o.length-y(o)))}return u(t)?m(t)&&g(t,E(t).parents(\"li\").first().get(0))?b.cursorLists._backspace(t):e=N(t):h(t)?m(t)&&g(t,E(t).parents(\"li\").first().get(0))?b.cursorLists._backspace(t):function c(e){for(var t=0<E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").length,n=b.node.deepestParent(e,[],!t),r=n;n&&!n.previousSibling&&\"BLOCKQUOTE\"!==n.tagName&&n.parentElement!==b.el&&!b.node.hasClass(n.parentElement,\"fr-inner\")&&Y.SIMPLE_ENTER_TAGS.indexOf(n.parentElement.tagName)<0;)n=n.parentElement;if(n&&\"BLOCKQUOTE\"===n.tagName){var o=b.node.deepestParent(e,[E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").get(0)]);o&&o.previousSibling&&(r=n=o)}if(null!==n){var i,a=n.previousSibling;if(b.node.isBlock(n)&&b.node.isEditable(n))if(a&&Y.NO_DELETE_TAGS.indexOf(a.tagName)<0){if(b.node.isDeletable(a))E(a).remove(),E(e).replaceWith(Y.MARKERS);else if(b.node.isEditable(a))if(b.node.isBlock(a))if(b.node.isEmpty(a)&&!b.node.isList(a))E(a).remove(),E(e).after(b.opts.keepFormatOnDelete?Y.INVISIBLE_SPACE:\"\");else{if(b.node.isList(a)&&(a=E(a).find(\"li\").last().get(0)),(i=b.node.contents(a)).length&&\"BR\"===i[i.length-1].tagName&&E(i[i.length-1]).remove(),\"BLOCKQUOTE\"===a.tagName&&\"BLOCKQUOTE\"!==n.tagName)for(i=b.node.contents(a);i.length&&b.node.isBlock(i[i.length-1]);)a=i[i.length-1],i=b.node.contents(a);else if(\"BLOCKQUOTE\"!==a.tagName&&\"BLOCKQUOTE\"===r.tagName)for(i=b.node.contents(r);i.length&&b.node.isBlock(i[0]);)r=i[0],i=b.node.contents(r);if(b.node.isEmpty(n))E(e).remove(),b.selection.setAtEnd(a,!0);else{E(e).replaceWith(Y.MARKERS);var s=a.childNodes;b.node.isBlock(s[s.length-1])?E(s[s.length-1]).append(r.innerHTML):E(a).append(r.innerHTML)}E(r).remove(),b.node.isEmpty(n)&&E(n).remove()}else E(e).replaceWith(Y.MARKERS),\"BLOCKQUOTE\"===n.tagName&&a.nodeType===Node.ELEMENT_NODE?E(a).remove():(E(a).after(b.node.isEmpty(n)?\"\":E(n).html()),E(n).remove(),\"BR\"===a.tagName&&E(a).remove())}else if(a)8203===n.textContent.charCodeAt()&&n.childNodes[1]&&\"BR\"===n.childNodes[1].tagName&&n.tagName.toLowerCase()===b.html.defaultTag()&&n.previousSibling&&\"TABLE\"===n.previousSibling.tagName&&E(n).remove();else if(n&&\"BLOCKQUOTE\"===n.tagName&&0===E(n).text().replace(/\\u200B/g,\"\").length)E(n).remove();else{var l=n.nextSibling;b.node.isEmpty(n)&&n.parentNode&&b.node.isEditable(n.parentNode)&&!l&&(n.parentNode!=b.el&&\"TD\"!==n.parentNode.tagName?E(n.parentNode).remove():n.parentNode!=b.el&&\"TD\"===n.parentNode.tagName&&E(n).remove())}}}(t):e=N(t),E(t).remove(),a(),b.html.fillEmptyBlocks(!0),b.opts.htmlUntouched||(b.html.cleanEmptyTags(),b.clean.lists(),b.spaces.normalizeAroundCursor()),b.selection.restore(),e},del:function r(){var e=b.markers.insert();if(!e)return!1;if(b.el.normalize(),u(e))if(m(e))if(0===E(e).parents(\"li\").first().find(\"ul, ol\").length)b.cursorLists._del(e);else{var t=E(e).parents(\"li\").first().find(\"ul, ol\").first().find(\"li\").first();(t=t.find(b.html.blockTagsQuery()).get(-1)||t).prepend(e),b.cursorLists._backspace(e)}else i(e);else h(e),n(e);E(e).remove(),a(),b.html.fillEmptyBlocks(!0),b.opts.htmlUntouched||(b.html.cleanEmptyTags(),b.clean.lists()),b.spaces.normalizeAroundCursor(),b.selection.restore()},isAtEnd:C,isAtStart:g}},Y.MODULES.data=function(f){function p(e){return e}function c(e){for(var t=e.toString(),n=0,r=0;r<t.length;r++)n+=parseInt(t.charAt(r),10);return 10<n?n%9+1:n}function d(e,t,n){for(var r=Math.abs(n);0<r--;)e-=t;return n<0&&(e+=123),e}function u(e){return e&&\"block\"!==e.css(\"display\")?(e.remove(),!0):e&&0===f.helpers.getPX(e.css(\"height\"))?(e.remove(),!0):!(!e||\"absolute\"!==e.css(\"position\")&&\"fixed\"!==e.css(\"position\")||(e.remove(),0))}function h(e){return e&&0===f.$box.find(e).length}function g(){if(10<e&&(f[p(M(\"0ppecjvc==\"))](),setTimeout(function(){E.FE=null},10)),!f.$box)return!1;f.$wp.prepend(M(p(M(S)))),v=f.$wp.find(\"> div\").first(),b=v.find(\"> a\"),\"rtl\"===f.opts.direction&&v.css(\"left\",\"auto\").css(\"right\",0).attr(\"direction\",\"rtl\"),e++}function C(e){for(var t=[M(\"9qqG-7amjlwq==\"),M(\"KA3B3C2A6D1D5H5H1A3==\"),M(\"3B9B3B5F3C4G3E3==\"),M(\"QzbzvxyB2yA-9m==\"),M(\"ji1kacwmgG5bc==\"),M(\"nmA-13aogi1A3c1jd==\"),M(\"BA9ggq==\"),M(\"emznbjbH3fij==\"),M(\"tkC-22d1qC-13sD1wzF-7==\"),M(\"tA3jjf==\"),M(\"1D1brkm==\")],n=0;n<t.length;n++)if(String.prototype.endsWith||(String.prototype.endsWith=function(e,t){return(void 0===t||t>this.length)&&(t=this.length),this.substring(t-e.length,t)===e}),e.endsWith(t[n]))return!0;return!1}function m(){var e=M(p(n)),t=M(p(\"tzgatD-13eD1dtdrvmF3c1nrC-7saQcdav==\")).split(\".\");try{return window.parent.document.querySelector(e)&&window[t[1]][t[2]]}catch(e){return!1}}var v,b,E=f.$,L=\"sC-7OB2fwhVC4vsG-7ohPA4ZD4D-8f1J3stzB-11bFE2FC1A3NB2IF1HE1TH4WB8eB-11zVG2F3I3yYB5ZG4CB2DA15CC5AD3F1A1KG1oLA10B1A6wQF1H3vgale2C4F4XA2qc2A5D5B3pepmriKB3OE1HD1fUC10pjD-11E-11TB4YJ3bC-16zE-11yc1B2CE2BC3jhjKC1pdA-21OA6C1D5B-8vF4QA11pD6sqf1C3lldA-16BD4A2H3qoEA7bB-16rmNH5H1F1vSB7RE2A3TH4YC5A5b1A4d1B3whepyAC3AA2zknC3mbgf1SC4WH4PD8TC5ZB2C3H3jb2A5ZA2EF2aoFC5qqHC4B1H1zeGA7UA5RF4TA29TA6ZC4d1C3hyWA10A3rBB2E3decorationRD3QC10UD3E6E6ZD2F3F3fme2E5uxxrEC9C3E4fB-11azhHB1LD7D6VF4VVTPC6b1C4TYG3qzDD6B3B3AH4I2H2kxbHE1JD1yihfd1QD6WB1D4mhrc1B5rvFG3A14A7cDA2OC1AA1JB5zC-16KA6WB4C-8wvlTB5A5lkZB2C2C7zynBD2D2bI-7C-21d1HE2cubyvPC8A6VB3aroxxZE4C4F4e1I2BE1WjdifH1H4A14NA1GB1YG-10tWA3A14A9sVA2C5XH2A29b2A6gsleGG2jaED2D-13fhE1OA8NjwytyTD4e1sc1D-16ZC3B5C-9e1C2FB6EFF5B2C2JH4E1C2tdLE5A3UG4G-7b2D3B4fA-9oh1G3kqvB4AG3ibnjcAC6D2B1cDA9KC2QA6bRC4VA30RB8hYB2A4A-8h1A21A2B2==\",y=\"7D4YH4fkhHB3pqDC3H2E1fkMD1IB1NF1D3QD9wB5rxqlh1A8c2B4ZA3FD2AA6FB5EB3jJG4D2J-7aC-21GB6PC5RE4TC11QD6XC4XE3XH3mlvnqjbaOA2OC2BE6A1fmI-7ujwbc1G5f1F3e1C11mXF4owBG3E1yD1E4F1D2D-8B-8C-7yC-22HD1MF5UE4cWA3D8D6a1B2C3H3a3I3sZA4B3A2akfwEB3xHD5D1F1wIC11pA-16xdxtVI2C9A6YC4a1A2F3B2GA6B4C3lsjyJB1eMA1D-11MF5PE4ja1D3D7byrf1C3e1C7D-16lwqAF3H2A1B-21wNE1MA1OG1HB2A-16tSE5UD4RB3icRA4F-10wtwzBB3E1C3CC2DA8LA2LA1EB1kdH-8uVB7decorg1J2B7B6qjrqGI2J1C6ijehIB1hkemC-13hqkrH4H-7QD6XF5XF3HLNAC3CB2aD2CD2KB10B4ycg1A-8KA4H4B11jVB5TC4yqpB-21pd1E4pedzGB6MD5B3ncB-7MA4LD2JB6PD5uH-8TB9C7YD5XD2E3I3jmiDB3zeimhLD8E2F2JC1H-9ivkPC5lG-10SB1D3H3A-21rc1A3d1E3fsdqwfGA2KA1OrC-22LA6D1B4afUB16SC7AitC-8qYA11fsxcajGA15avjNE2A-9h1hDB16B9tPC1C5F5UC1G3B8d2A5d1D4RnHJ3C3JB5D3ucMG1yzD-17hafjC-8VD3yWC6e1YD2H3ZE2C8C5oBA3H3D2vFA4WzJC4C2i1A-65fNB8afWA1H4A26mvkC-13ZB3E3h1A21BC4eFB2GD2AA5ghqND2A2B2==\",n=\"MekC-11nB-8tIzpD7pewxvzC6mD-16xerg1==\",N=\"KB5A2B1B2A5F1A3E1J4B17C1D8E7E4A3G3D4B2C7B5B6E5B2b1==\",S=\"sC-7OB2fwhVC4vsG-7ohPA4ZD4D-8f1J3stzB-11bFE2EE1MA2ND1KD1IE4cA-21pSD2D5ve1G3h1A8b1E5ZC3CD2FA16mC5OC5E1hpnG1NA10B1D7hkUD4I-7b2C3C5nXD2E3F3whidEC2EH3GI2mJE2E2bxci1WA10VC7pllSG2F3A7xd1A4ZC3DB2aaeGA2DE4H2E1j1ywD-13FD1A3VE4WA3D8C6wuc1A2hf1B5B7vnrrjA1B9ic1mpbD1oMB1iSB7rWC4RI4G-7upB6jd1A2F3H2EA4FD3kDF4A2moc1anJD1TD4VI4b2C7oeQF4c1E3XC7ZA3C3G3uDB2wGB6D1JC4D1JD4C1hTE6QC5pH4pD3C-22D7c1A3textAA4gdlB2mpozkmhNC1mrxA3yWA5edhg1I2H3B7ozgmvAI3I2B5GD1LD2RSNH1KA1XA5SB4PA3sA9tlmC-9tnf1G3nd1coBH4I2I2JC3C-16LE6A1tnUA3vbwQB1G3f1A20a3A8a1C6pxAB2eniuE1F3kH2lnjB2hB-16XA5PF1G4zwtYA5B-11mzTG2B9pHB3BE2hGH3B3B2cMD5C1F1wzPA8E7VG5H5vD3H-7C8tyvsVF2I1G2A5fE3bg1mgajoyxMA4fhuzSD8aQB2B4g1A20ukb1A4B3F3GG2CujjanIC1ObiB11SD1C5pWC1D4YB8YE5FE-11jXE2F-7jB4CC2G-10uLH4E1C2tA-13yjUH5d1H1A7sWD5E4hmjF-7pykafoGA16hDD4joyD-8OA33B3C2tC7cRE4SA31a1B8d1e2A4F4g1A2A22CC5zwlAC2C1A12==\",T=function(){for(var e=0,t=document.domain,n=t.split(\".\"),r=\"_gd\".concat((new Date).getTime());e<n.length-1&&-1===document.cookie.indexOf(\"\".concat(r,\"=\").concat(r));)t=n.slice(-1-++e).join(\".\"),document.cookie=\"\".concat(r,\"=\").concat(r,\";domain=\").concat(t,\";\");return document.cookie=\"\".concat(r,\"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=\").concat(t,\";\"),(t||\"\").replace(/(^\\.*)|(\\.*$)/g,\"\")}(),M=p(function A(e){if(!e)return e;for(var t=\"\",n=p(\"charCodeAt\"),r=p(\"fromCharCode\"),o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".indexOf(e[0]),i=1;i<e.length-2;i++){for(var a=c(++o),s=e[n](i),l=\"\";/[0-9-]/.test(e[i+1]);)l+=e[++i];s=d(s,a,l=parseInt(l,10)||0),s^=o-1&31,t+=String[r](s)}return t}),e=0;return{_init:function x(){var e=f.opts.key||[\"\"],t=M(p(\"ziRA1E3B9pA5B-11D-11xg1A3ZB5D1D4B-11ED2EG2pdeoC1clIH4wB-22yQD5uF4YE3E3A9==\"));\"string\"==typeof e&&(e=[e]);for(var n,r,o,i=!(f.ul=!0),a=0,s=0;s<e.length;s++){var l=(r=e[s],4===(o=(M(r)||\"\").split(\"|\")).length&&\"V3\"===o[0]?[o[1],o[3],o[2]]:[null,null,\"\"]),c=l[2];if(c===M(p(M(\"LGnD1KNZf1CPBYCAZB-8F3UDSLLSG1VFf1A3C2==\")))||0<=c.indexOf(T,c.length-T.length)||C(T)||m()){if(null!==(n=l[1])&&!(0==n.indexOf(\"TRIAL\")?(n=new Date(n.replace(/TRIAL/,\"\")),new Date(n)<new Date&&(L=y,1)):new Date(n)<new Date(M(N)))||!(0<(T||\"\").length)||C(T)||m()){f.ul=!1;break}i=!0,S=L,a=l[0]||-1}}var d=new Image;!0===f.ul&&(g(),d.src=i?\"\".concat(p(M(t)),\"e=\").concat(a):\"\".concat(p(M(t)),\"u\")),!0===f.ul&&(f.events.on(\"contentChanged\",function(){(function e(){return u(v)||u(b)||h(v)||h(b)})()&&g()}),f.events.on(\"html.get\",function(e){return e+M(\"qD2H-9G3ioD-17qA1tE1B-8qI3A4hA-13C-11E2C1njfldD1E6pg1C-8sC3hfbkcD2G3stC-22gqgB3G2B-7vtoA4nweeD1A31A15B9uC-16A1F5dkykdc1B8dE-11bA3F2D3A9gd1E7F2tlI-8H-7vtxB2A5B2C3B2F2B5A6ldbyC4iqC-22D-17E-13mA3D2dywiB3oxlvfC1H4C2TjqbzlnI3ntB4E3qA2zaqsC6D3pmnkoE3C6D5wvuE3bwifdhB6hch1E4xibD-17dmrC1rG-7pntnF6nB-8F1D2A11C8plrkmF2F3MC-16bocqA2WwA-21ayeA1C4d1isC-22rD-13D6DfjpjtC2E6hB2G2G4A-7D2==\")})),f.events.on(\"html.set\",function(){var e=f.el.querySelector('[data-f-id=\"pbf\"]');e&&E(e).remove()}),f.events.on(\"destroy\",function(){v&&v.length&&v.remove()},!0)}}},Y.MODULES.edit=function(t){function e(){if(t.browser.mozilla)try{t.doc.execCommand(\"enableObjectResizing\",!1,\"false\"),t.doc.execCommand(\"enableInlineTableEditing\",!1,\"false\")}catch(e){}if(t.browser.msie)try{t.doc.body.addEventListener(\"mscontrolselect\",function(e){return e.srcElement.focus(),!1})}catch(e){}}var n=!1;function r(){return n}return{_init:function o(){t.events.on(\"focus\",function(){r()?t.edit.off():t.edit.on()})},on:function i(){t.$wp?(t.$el.attr(\"contenteditable\",!0),t.$el.removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1),e()):t.$el.is(\"a\")&&t.$el.attr(\"contenteditable\",!0),t.events.trigger(\"edit.on\",[],!0),n=!1},off:function a(){t.events.disableBlur(),t.$wp?(t.$el.attr(\"contenteditable\",!1),t.$el.addClass(\"fr-disabled\").attr(\"aria-disabled\",!0)):t.$el.is(\"a\")&&t.$el.attr(\"contenteditable\",!1),t.events.trigger(\"edit.off\"),t.events.enableBlur(),n=!0},disableDesign:e,isDisabled:r}},Y.MODULES.format=function(x){var O=x.$;function w(e,t){var n=e;for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n+=\"id\"===r?\"#\".concat(t[r]):\"class\"===r?\".\".concat(t[r]):\"[\".concat(r,'=\"').concat(t[r],'\"]'));return n}function k(e,t){return!(!e||e.nodeType!==Node.ELEMENT_NODE)&&(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)}function N(l,c,d){var f,n,r,e={strong:{prop:\"font-weight\",val:\"bold\"},em:{prop:\"font-style\",val:\"italic\"}},p=function L(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?A(Object(n),!0).forEach(function(e){M(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({},d||{});if(l){T(l)&&(l=l.nextSibling);var t=\"LI\"===l.tagName?l:O(l).parentsUntil(x.$el,\"li\").get(0),o=O(t).find(\".fr-marker[data-type=false]\").get(0);if(\"LI\"!==l.parentNode.parentNode.tagName||!o||null!=o.previousSibling){if(x.node.isBlock(l)&&l.hasAttribute(\"contenteditable\")&&\"false\"===l.getAttribute(\"contenteditable\")&&!x.opts.allowStylingOnNonEditable||l.parentNode&&l.parentNode.hasAttribute(\"contenteditable\")&&\"false\"===l.parentNode.getAttribute(\"contenteditable\")&&!x.opts.allowStylingOnNonEditable){if(l.nextSibling&&O(l.nextSibling).hasClass(\"fr-marker\"))return;if(l.nextSibling)return void N(l.nextSibling,c,d);if(l.parentNode)return void N(l.parentNode,c,d)}for(;l&&l.nodeType===Node.COMMENT_NODE;)l=l.nextSibling;if(l){if(x.node.isBlock(l)&&\"HR\"!==l.tagName&&\"LI\"!==l.tagName)return x.node.hasClass(l.firstChild,\"fr-marker\")?N(l.firstChild.nextSibling,c,d):N(l.firstChild,c,d),!1;if(p.style){var i=p.style.split(\";\").map(function(e){return e.trim()}).filter(function(e){var t=H(e.split(\":\").map(function(e){return e&&e.trim()}),2),n=t[0],r=t[1];return n&&r}).join(\"; \");i?p.style=i+\";\":delete p.style}var u=O(x.doc.createElement(c));if(u.attr(p),!(\"span\"===c&&l.parentNode&&\"span\"===l.parentNode.tagName.toLowerCase())&&l.parentNode&&l.parentNode.hasAttribute(\"contenteditable\")&&\"false\"===l.parentNode.getAttribute(\"contenteditable\")&&x.opts.allowStylingOnNonEditable){for(var a=l.parentNode,s=O(x.doc.createElement(c)).attr(d);a.firstChild;)s.append(a.firstChild);return O(a).append(s),void(O(a.lastChild.lastChild).hasClass(\"fr-marker\")||N(a.nextSibling,c,d))}if(u.insertBefore(l),(f=S(l))&&(0<=[\"strong\",\"em\"].indexOf(c)||\"span\"===c&&d.hasOwnProperty(\"style\"))&&(r=\"span\"===c?(e=d.style.replace(/;$/,\"\").split(\":\"),n=e[0].trim(),e[1].trim()):(n=e[c].prop,e[c].val),\"background-color\"!==n)){var h=O(f);h.css(n,r),h.find(\"a\").each(function(){var e=O(this),t=this.style;\"\"===r?t.getPropertyValue(n)&&(t.removeProperty(n),t.length||this.removeAttribute(\"style\")):e.css(n,r)}),function y(e,t){var n,r=e.childNodes;for(n=0;n<r.length;n++)0<=[\"UL\",\"OL\",\"LI\"].indexOf(r[n].tagName)&&\"\"===r[n].style[t]&&O(r[n]).css(t,\"initial\")}(f,n)}for(var g,C=l,m=!1,v=function v(){var t=C;if(\"SPAN\"===C.tagName&&O(C).hasClass(\"fr-tracking-deleted\"))return C=C.nextSibling,0;if(x.node.isBlock(C)&&\"HR\"!==l.tagName)return N(C.firstChild,c,d),{v:!1};if(\"SPAN\"===C.tagName&&x.node.isEditable(C))return u.is(\":empty\")&&u.remove(),N(C.firstChild,c,d),{v:!1};if(C.tagName&&C.hasAttribute(\"contenteditable\")&&\"false\"===C.getAttribute(\"contenteditable\")&&!x.opts.allowStylingOnNonEditable){var e=u.get(0).parentNode,n=C.nextSibling;return\"P\"===C.parentNode.tagName&&null==C.nextSibling?n=C.parentNode.nextSibling:!n&&e&&e.nextSibling&&\"DIV\"===e.nextSibling.tagName&&(n=e.nextSibling),N(n,c,d),{v:void 0}}if(!x.node.isEditable(C.parentNode)&&!x.opts.allowStylingOnNonEditable)return x.selection.restore(),x.toolbar.disable(),{v:void 0};if(C=C.nextSibling,\"span\"!=c||f)u.append(t);else{var r=t;[\"u\",\"s\"].forEach(function(e){0<O(t).parents(e).length&&(r=O(r).wrap(\"<\".concat(e,\"></\").concat(e,\">\")).get(0).parentNode,m=!0)});var o=function a(t){return[].filter.call(t.parentNode.childNodes,function(e){return e.nodeType===Node.TEXT_NODE&&e!==t})}(r);0<o.length&&0<O(r).parents(\"u, s\").length&&(o.forEach(function(e){var t=null,n=null;0<O(r).parents(\"u\").length&&(n=t=document.createElement(\"u\")),0<O(r).parents(\"s\").length&&(n=n?(t.appendChild(document.createElement(\"s\")),t.firstChild):t=document.createElement(\"s\")),n.appendChild(e.cloneNode()),e.replaceWith(t)}),x.selection.restore(),x.selection.save());var i=\"A\"===r.tagName?r:r.parentNode&&\"A\"===r.parentNode.tagName?r.parentNode:null;i&&(!p.style&&i.hasAttribute(\"style\")?i.removeAttribute(\"style\"):p.style&&O(i).attr(\"style\",p.style)),u.append(r)}x.browser.mozilla&&0<u.length&&function s(e){if(O(e).parentsUntil(x.$el,\"TABLE\").length){for(var t=null,n=e.nextSibling;n;)\"BR\"===n.nodeName&&(t=n),n=n.nextSibling;t&&!t.nextSibling&&\"TD\"!=t.parentNode.nodeName&&t.parentNode.textContent&&t.remove()}}(u[0])};C&&!O(C).hasClass(\"fr-marker\")&&0===O(C).find(\".fr-marker\").length&&\"UL\"!==C.tagName&&\"OL\"!==C.tagName;)if(0!==(g=v())&&g)return g.v;if(C)(O(C).find(\".fr-marker\").length||\"UL\"===C.tagName||\"OL\"===C.tagName)&&N(C.firstChild,c,d);else{for(var b=u.get(0).parentNode;b&&!b.nextSibling&&!x.node.isElement(b);)b=b.parentNode;if(b){var E=b.nextSibling;E&&(x.node.isBlock(E)?\"HR\"===E.tagName?N(E.nextSibling,c,d):N(E.firstChild,c,d):N(E,c,d))}}u.is(\":empty\")?u.remove():m&&(u.parents(\"u, s\").get().forEach(function(e){var t=e.parentNode;if(t){var n=document.createDocumentFragment();e.childNodes.forEach(function(e){n.appendChild(e.cloneNode(!0))}),t.replaceChild(n,e)}}),x.selection.restore(),x.selection.save())}}}}function l(e,t){var n;if(void 0===t&&(t={}),t.style&&delete t.style,x.selection.isCollapsed()){x.markers.insert();var r=x.$el.find(\".fr-marker\");r.get(0).nextSibling&&x.node.isBlock(r.get(0).nextSibling)&&!r.get(0).previousSibling&&\"LI\"===r.get(0).parentNode.tagName&&r.get(0).nextSibling.prepend(r.get(0)),r.replaceWith(function l(e,t){var n=\"<\".concat(e);for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n+=\" \".concat(r,'=\"').concat(t[r],'\"'));return n+=\">\"}(e,t)+Y.INVISIBLE_SPACE+Y.MARKERS+function c(e){return\"</\".concat(e,\">\")}(e)),x.selection.restore()}else{x.selection.save();var o,i=x.$el.find('.fr-marker[data-type=\"true\"]').length&&x.$el.find('.fr-marker[data-type=\"true\"]').get(0).nextSibling;N(i,e,t),O(i).parent().find(\"a:empty\").remove();do{for(o=x.$el.find(\"\".concat(w(e,t),\" > \").concat(w(e,t))),n=0;n<o.length;n++)o[n].outerHTML=o[n].innerHTML}while(o.length);x.el.normalize();var a=x.el.querySelectorAll(\".fr-marker\");for(n=0;n<a.length;n++){var s=O(a[n]);!0===s.data(\"type\")?k(s.get(0).nextSibling,w(e,t))&&s.next().prepend(s):k(s.get(0).previousSibling,w(e,t))&&s.prev().append(s)}x.selection.restore()}}function $(e,t,n,r){if(!r){var o=!1;if(!0===e.data(\"type\"))for(;x.node.isFirstSibling(e.get(0))&&!e.parent().is(x.$el)&&!e.parent().is(\"ol\")&&!e.parent().is(\"ul\");)e.parent().before(e),o=!0;else if(!1===e.data(\"type\"))for(;x.node.isLastSibling(e.get(0))&&!e.parent().is(x.$el)&&!e.parent().is(\"ol\")&&!e.parent().is(\"ul\");)e.parent().after(e),o=!0;if(o)return!0}if(e.parents(t).length||void 0===t){var i,a=\"\",s=\"\",l=e.parent();if(\"A\"===l[0].tagName&&(l=l.parent()),l.is(x.$el)||x.node.isBlock(l.get(0)))return!1;for(;!(x.node.isBlock(l.parent().get(0))||void 0!==t&&k(l.get(0),w(t,n))||[\"#document\",\"HTML\",\"BODY\"].includes(l.parent().get(0).nodeName.toUpperCase()));)a+=x.node.closeTagString(l.get(0)),s=x.node.openTagString(l.get(0))+s,l=l.parent();var c=e.get(0).outerHTML;return e.replaceWith('<span id=\"mark\"></span>'),i=l.html().replace(/<span id=\"mark\"><\\/span>/,a+x.node.closeTagString(l.get(0))+s+c+a+x.node.openTagString(l.get(0))+s),l.replaceWith(x.node.openTagString(l.get(0))+i+x.node.closeTagString(l.get(0))),!0}return!1}function c(e,t){void 0===t&&(t={}),t.style&&delete t.style;var n=x.selection.isCollapsed();x.selection.save();var r=x.$el.find(\".fr-marker\");if(e&&r.length&&(r[0].parentNode&&r[0].parentNode.tagName===e.toUpperCase()||r[1].parentNode.tagName===e.toUpperCase())){var o=r[0];r[0].parentNode.tagName!==e.toUpperCase()&&(o=r[1]);for(var i=o.parentNode.previousSibling;null!=i;)i.nodeType===Node.TEXT_NODE&&(i.textContent=i.textContent.replace(/\\u200B/g,\"\")),i=i.previousSibling;for(var a=o.parentNode.nextSibling;null!=a;)a.nodeType===Node.TEXT_NODE&&(a.textContent=a.textContent.replace(/\\u200B/g,\"\")),a=a.nextSibling}for(var s=!0;s;){s=!1;for(var l=x.$el.find(\".fr-marker\"),c=0;c<l.length;c++){var d=O(l[c]),f=null;if(d.attr(\"data-cloned\")||n||(f=d.clone().removeClass(\"fr-marker\").addClass(\"fr-clone\"),d.data(\"type\")&&\"true\"===d.data(\"type\").toString()?d.attr(\"data-cloned\",!0).after(f):d.attr(\"data-cloned\",!0).before(f)),$(d,e,t,n)){s=!0;break}}}!function M(e,t,n,r){for(var o,i={strong:{prop:\"font-weight\",val:\"bold\"},em:{prop:\"font-style\",val:\"italic\"}},a=x.node.contents(e.get(0)),s=0;s<a.length;s++){var l=a[s];if(l.innerHTML&&8203==l.innerHTML.charCodeAt()&&l.tagName.toLocaleLowerCase()==n&&l.childNodes.length<2&&!x.helpers.isMobile()&&(l.outerHTML=l.innerHTML),x.node.hasClass(l,\"fr-marker\"))t=(t+1)%2;else if(t)if(0<O(l).find(\".fr-marker\").length)t=M(O(l),t,n,r);else{(o=\"LI\"===l.tagName?l:O(l).parentsUntil(x.$el,\"li\").get(0))&&(void 0===n||0<=[\"strong\",\"em\"].indexOf(n))&&(n?O(o).css(i[n].prop,\"\"):o.style=\"\"),(o=l.parentNode!==x.el?l.parentNode:null)&&1===o.nodeType&&[\"p\",\"strong\",\"u\",\"em\",\"s\",\"sub\",\"sup\",\"a\"].indexOf(n)<0&&o.hasAttribute(\"style\")&&\"SPAN\"!==o.tagName&&\"LI\"!==o.tagName?o.style=\"\":l&&1===l.nodeType&&l.hasAttribute(\"style\")&&[\"p\",\"strong\",\"u\",\"em\",\"s\",\"sub\",\"sup\",\"a\"].indexOf(n)<0&&(x.browser.msie?O(l).attr(\"style\",\"\"):l.style=\"\");for(var c=O(l).find(n||\"*:not(br)\"),d=c.length-1;0<=d;d--){var f=c[d];if((o=\"LI\"===f.tagName?f:O(f).parentsUntil(x.$el,\"li\").get(0))&&(!n||0<=[\"strong\",\"em\"].indexOf(n))&&(n?O(o).css(i[n].prop,\"\"):o.style=\"\"),\"A\"===f.tagName||x.node.isBlock(f)||x.node.isVoid(f)||void 0!==n&&!k(f,w(n,r)))x.node.isBlock(f)&&void 0===n&&\"TABLE\"!==l.tagName&&\"VIDEO\"!==f.tagName&&x.node.clearAttributes(f);else{var p=\"IFRAME\"===f.tagName&&f.parentNode&&\"SPAN\"===f.parentNode.tagName&&x.node.hasClass(f.parentNode,\"fr-video\")||\"SPAN\"===f.tagName&&x.node.hasClass(f,\"fr-video\");x.node.hasClass(f,\"fr-clone\")||p||x.node.hasClass(f,\"fr-tracking-deleted\")||O(f).data(\"tracking\")||(f.outerHTML=f.innerHTML)}}\"A\"!==l.tagName&&void 0===n&&l.nodeType===Node.ELEMENT_NODE&&!x.node.isVoid(l)||k(l,w(n,r))?x.node.isBlock(l)?l.style=\"\":x.node.hasClass(l,\"fr-clone\")||x.node.hasClass(l,\"fr-video\")||x.opts.trackChangesEnabled?!x.node.hasClass(l,\"fr-clone\")&&!x.node.hasClass(l,\"fr-video\")&&x.opts.trackChangesEnabled&&l.parentNode&&(l.outerHTML=l.innerHTML):l.outerHTML=l.innerHTML:void 0===n&&l.nodeType===Node.ELEMENT_NODE&&x.node.isBlock(l)&&![\"TABLE\",\"VIDEO\"].includes(l.tagName)&&x.node.clearAttributes(l)}else 0<O(l).find(\".fr-marker\").length&&(t=M(O(l),t,n,r))}return t}(x.$el,0,e,t),n||(x.$el.find(\".fr-marker\").remove(),x.$el.find(\".fr-clone\").removeClass(\"fr-clone\").addClass(\"fr-marker\")),n&&x.$el.find(\".fr-marker\").before(Y.INVISIBLE_SPACE).after(Y.INVISIBLE_SPACE),x.html.cleanEmptyTags(),x.el.normalize(),x.selection.restore();var p=x.win.getSelection()&&x.win.getSelection().anchorNode;if(p){var u=x.node.blockParent(p),h=!!p.textContent.replace(/\\u200B/g,\"\").length,g=x.win.getSelection().getRangeAt(0),C=g.startOffset,m=g.endOffset;x.selection.text().replace(/\\u200B/g,\"\").length||function A(e,t){if(e&&t){if(e.isSameNode(t)?e.textContent=e.textContent.replace(/\\u200B(?=.*\\u200B)/g,\"\"):e.nodeType===Node.TEXT_NODE&&(e.textContent=e.textContent.replace(/\\u200B/g,\"\")),!e.childNodes.length)return!1;Array.isArray(e.childNodes)&&e.childNodes.forEach(function(e){A(e,t)})}}(u,p);var v=x.win.getSelection().getRangeAt(0);if(p.nodeType===Node.TEXT_NODE){if(!h||!x.selection.text().length&&C===m){var b=p.textContent.search(/\\u200B/g)+1;if(x.browser.msie){var E=x.doc.createRange();x.selection.get().removeAllRanges(),E.setStart(p,b),E.setEnd(p,b),x.selection.get().addRange(E)}else\"a\"!==e&&(v.setStart(p,b),v.setEnd(p,b))}}else{var L,y,N=0,S=O(p).contents();if(x.browser.msie){for(;y=S[N];)y.nodeType===Node.TEXT_NODE&&0<=y.textContent.search(/\\u200B/g)&&(L=y),N++;L=O(L)}else L=S.filter(function(e){return e.nodeType===Node.TEXT_NODE&&0<=e.textContent.search(/\\u200B/g)});if(L.length&&!x.opts.trackChangesEnabled){var T=L.text().search(/\\u200B/g)+1;v.setStart(L.get(0),T),v.setEnd(L.get(0),T)}}}}function g(e,t){var n=O(e);n.css(t,\"\");var r=[\"fr-find-replace-highlight\",\"fr-find-replace-current-highlight\"].some(function(e){return n.hasClass(e)});\"\"!==n.attr(\"style\")||r||n.replaceWith(n.html())}function t(e,t){var n,r,o,i,a=null;if(x.selection.isCollapsed()){x.markers.insert();var s=(r=x.$el.find(\".fr-marker\")).parent();if(x.node.openTagString(s.get(0))==='<span style=\"'.concat(e,\": \").concat(s.css(e),';\">')){if(x.node.isEmpty(s.get(0)))a=O(x.doc.createElement(\"span\")).attr(\"style\",\"\".concat(e,\": \").concat(t,\";\")).html(\"\".concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS)),s.replaceWith(a);else{var l={};l[\"style*\"]=\"\".concat(e,\":\"),$(r,\"span\",l,!0),r=x.$el.find(\".fr-marker\"),t?(a=O(x.doc.createElement(\"span\")).attr(\"style\",\"\".concat(e,\": \").concat(t,\";\")).html(\"\".concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS)),r.replaceWith(a)):r.replaceWith(Y.INVISIBLE_SPACE+Y.MARKERS)}x.html.cleanEmptyTags()}else x.node.isEmpty(s.get(0))&&s.is(\"span\")?(r.replaceWith(Y.MARKERS),s.css(e,t)):(r.get(0).nextSibling&&x.node.isBlock(r.get(0).nextSibling)&&!r.get(0).previousSibling&&\"LI\"===r.get(0).parentNode.tagName&&r.get(0).nextSibling.prepend(r.get(0)),a=O(t?'<span style=\"'.concat(e,\": \").concat(t,';\">').concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS,\"</span>\"):\"<span>\".concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS,\"</span>\")),r.replaceWith(a));a&&C(a,e,t)}else{if(x.selection.save(),null===t||\"color\"===e&&0<x.$el.find(\".fr-marker\").parents(\"u, a\").length){var c=x.$el.find(\".fr-marker\");for(n=0;n<c.length;n++)if(!0===(r=O(c[n])).data(\"type\")||\"true\"===r.data(\"type\"))for(;x.node.isFirstSibling(r.get(0))&&!r.parent().is(x.$el)&&!x.node.isElement(r.parent().get(0))&&!x.node.isBlock(r.parent().get(0));)r.parent().before(r);else for(;x.node.isLastSibling(r.get(0))&&!r.parent().is(x.$el)&&!x.node.isElement(r.parent().get(0))&&!x.node.isBlock(r.parent().get(0));)r.parent().after(r)}var d=x.$el.find('.fr-marker[data-type=\"true\"]').get(0).nextSibling;for(T(d)&&(d=d.nextSibling);d.firstChild;)T(d=d.firstChild)&&(d=d.nextSibling);var f={\"class\":\"fr-unprocessed\"};for((t||e)&&(f.style=\"\".concat(e,\": \").concat(t||\"\",\";\")),N(d,\"span\",f),x.$el.find(\".fr-marker + .fr-unprocessed\").each(function(){O(this).prepend(O(this).prev())}),x.$el.find(\".fr-unprocessed + .fr-marker\").each(function(){O(this).prev().append(O(this))}),(t||\"\").match(/\\dem$/)&&x.$el.find(\"span.fr-unprocessed\").removeClass(\"fr-unprocessed\");0<x.$el.find(\"span.fr-unprocessed\").length;){if(o=S(a=x.$el.find(\"span.fr-unprocessed\").first().removeClass(\"fr-unprocessed\")),a.parent().get(0).normalize(),a.parent().is(\"span\")&&1===a.parent().get(0).childNodes.length){var p=t;x.browser.msie&&!t&&(p=\"\"),a.parent().css(e,p);var u=a;a=a.parent(),u.replaceWith(u.html()),1!==a.parent().get(0).childNodes.length||t||\"background-color\"!==e||a.parents(\"span\").css(e,t)}for(i=a.find(\"span\"),o&&\"background-color\"!==e&&(o.normalize(),i=O(o).find(\"span:not(.fr-unprocessed)\")),n=i.length-1;0<=n;n--)g(i[n],e);C(a,e,t)}}!function h(){var e;for(;0<x.$el.find(\".fr-split:empty\").length;)x.$el.find(\".fr-split:empty\").remove();x.$el.find(\".fr-split\").removeClass(\"fr-split\"),x.$el.find('[style=\"\"]').removeAttr(\"style\"),x.$el.find('[class=\"\"]').removeAttr(\"class\"),x.html.cleanEmptyTags();for(var t=x.$el.find(\"span\"),n=t.length-1;0<=n;n--){var r=t[n];r.attributes&&0!==r.attributes.length||O(r).replaceWith(r.innerHTML)}x.el.normalize();var o=x.$el.find(\"span[style] + span[style]\");for(e=0;e<o.length;e++){var i=O(o[e]),a=O(o[e]).prev();i.get(0).previousSibling===a.get(0)&&x.node.openTagString(i.get(0))===x.node.openTagString(a.get(0))&&(i.prepend(a.html()),a.remove())}x.$el.find(\"span[style] span[style]\").each(function(){if(0<=O(this).attr(\"style\").indexOf(\"font-size\")){var e=O(this).parents(\"span[style]\");e.attr(\"style\")&&0<=e.attr(\"style\").indexOf(\"background-color\")&&(O(this).attr(\"style\",function o(e,t){var n=function n(e){return e.split(\";\").reduce(function(e,t){var n=t.split(\":\"),r=H(n,2),o=r[0],i=r[1];return o&&i&&(e[o.trim()]=i.trim()),e},{})},r=Object.assign(n(t),n(e));return Object.entries(r).map(function(e){var t=H(e,2),n=t[0],r=t[1];return\"\".concat(n,\": \").concat(r)}).join(\"; \")}(O(this).attr(\"style\"),e.attr(\"style\"))),$(O(this),\"span[style]\",{},!1))}}),x.el.normalize(),x.selection.restore()}()}function S(e){var t,n,r,o,i,a;if(t=\"LI\"===e.tagName?e:O(e).parentsUntil(x.$el,\"li\").get(0)){if((a=x.selection.info(t)).atStart&&a.atEnd)return t;if(a.atStart&&!a.atEnd&&(n=O(t).find(\".fr-marker[data-type=false]\").get(0),r=O(n).parentsUntil(x.$el,\"li\").get(0),o=O(n).parentsUntil(r).get(-1),(i=n.nextSibling)&&0<=[\"UL\",\"OL\"].indexOf(i.tagName)||!r.isSameNode(t)||!i&&o&&(\"LI\"===o.tagName||!o.nextSibling||0<=[\"UL\",\"OL\"].indexOf(o.nextSibling.tagName)||x.node.isVoid(o.nextSibling))))return t}}function C(e,t,n){var r,o,i,a=e.parentsUntil(x.$el,\"span[style]\"),s=[];for(r=a.length-1;0<=r;r--)o=a[r],i=t,0===O(o).attr(\"style\").indexOf(\"\".concat(i,\":\"))||0<=O(o).attr(\"style\").indexOf(\";\".concat(i,\":\"))||0<=O(o).attr(\"style\").indexOf(\"; \".concat(i,\":\"))||s.push(a[r]);if((a=a.not(s)).length){var l=\"\",c=\"\",d=\"\",f=\"\",p=e.get(0);do{if(p=p.parentNode,[\"TABLE\",\"TD\",\"TR\"].includes(p.tagName))break;O(p).addClass(\"fr-split\"),l+=x.node.closeTagString(p),c=x.node.openTagString(O(p).clone().addClass(\"fr-split\").get(0))+c,a.get(0)!==p&&(d+=x.node.closeTagString(p),f=x.node.openTagString(O(p).clone().addClass(\"fr-split\").get(0))+f)}while(a.get(0)!==p);var u=\"\".concat(l+x.node.openTagString(O(a.get(0)).clone().css(t,n||\"\").get(0))+f+e.css(t,\"\").get(0).outerHTML+d,\"</span>\").concat(c);e.replaceWith('<span id=\"fr-break\"></span>');var h=a.get(0).outerHTML;O(a.get(0)).replaceWith(h.replace(/<span id=\"fr-break\"><\\/span>/g,function(){return u}))}}function d(e,t){void 0===t&&(t={}),t.style&&delete t.style;var n=x.selection.ranges(0),r=n.startContainer;if(r.nodeType===Node.ELEMENT_NODE&&0<r.childNodes.length&&r.childNodes[n.startOffset]&&(r=r.childNodes[n.startOffset]),T(r)&&(r=r.nextSibling),!n.collapsed&&r.nodeType===Node.TEXT_NODE&&n.startOffset===(r.textContent||\"\").length){for(;!x.node.isBlock(r.parentNode)&&!r.nextSibling;)r=r.parentNode;r.nextSibling&&(r=r.nextSibling)}for(var o=r;o&&o.nodeType===Node.ELEMENT_NODE&&!k(o,w(e,t));)T(o=o.firstChild)&&(o=o.nextSibling);if(o&&o.nodeType===Node.ELEMENT_NODE&&k(o,w(e,t)))return!0;var i=r;for(i&&i.nodeType!==Node.ELEMENT_NODE&&(i=i.parentNode);i&&i.nodeType===Node.ELEMENT_NODE&&i!==x.el&&!k(i,w(e,t));)i=i.parentNode;return!(!i||i.nodeType!==Node.ELEMENT_NODE||i===x.el||!k(i,w(e,t)))}function T(e){return e&&e.nodeType===Node.ELEMENT_NODE&&\"COLGROUP\"===e.tagName}return{is:d,toggle:function f(e,t){if(x.browser.safari&&x.shared.safariSelection){var n=x.shared.safariSelection,r=n.startContainer,o=n.endContainer,i=n.startOffset,a=n.endOffset,s=x.doc.createRange();s.setStart(r,i),s.setEnd(o,a),x.selection.get().removeAllRanges(),x.selection.get().addRange(s),x.shared.safariSelection=null}d(e,t)?c(e,t):l(e,t)},apply:l,remove:c,applyStyle:t,removeStyle:function n(e){t(e,null)}}},Y.MODULES.spaces=function(p){var u=p.$;function r(e,t){var n=e.previousSibling,r=e.nextSibling,o=e.textContent,i=e.parentNode,a=[Y.ENTER_P,Y.ENTER_DIV,Y.ENTER_BR];if(!p.html.isPreformatted(i)){t&&(o=p.opts.preserveTabSpaces?o.replace(/[\\f\\n\\r\\v]{2,}/g,\" \"):o.replace(/[\\f\\n\\r\\t\\v ]{2,}/g,\" \"),r&&\"BR\"!==r.tagName&&!p.node.isBlock(r)||!(p.node.isBlock(i)||p.node.isLink(i)&&!i.nextSibling||p.node.isElement(i))||(o=o.replace(/[\\f\\n\\r\\t\\v ]{1,}$/g,\"\")),n&&\"BR\"!==n.tagName&&!p.node.isBlock(n)||!(p.node.isBlock(i)||p.node.isLink(i)&&!i.previousSibling||p.node.isElement(i))||(o=o.replace(/^[\\f\\n\\r\\t\\v ]{1,}/g,\"\")),(p.node.isBlock(r)||p.node.isBlock(n))&&(!n||n&&\"A\"!==n.tagName)&&(o=o.replace(/^[\\f\\n\\r\\t\\v ]{1,}/g,\"\")),\" \"===o&&(n&&p.node.isVoid(n)||r&&p.node.isVoid(r))&&!(n&&r&&p.node.isVoid(n)||r&&n&&p.node.isVoid(r))&&(o=\"\")),(!n&&p.node.isBlock(r)||!r&&p.node.isBlock(n))&&p.node.isBlock(i)&&i!==p.el&&(o=o.replace(/^[\\f\\n\\r\\t\\v ]{1,}/g,\"\")),t||(o=o.replace(new RegExp(Y.UNICODE_NBSP,\"g\"),\" \"));var s=i.nextSibling&&i.nextSibling.tagName,l=i.previousSibling&&i.previousSibling.tagName,c=[\"SPAN\",\"STRONG\",\"U\",\"EM\"];s||u(i).parent().each(function(){return-1!==c.indexOf(this.tagName)&&(this.nextSibling?(s=this.nextSibling&&this.nextSibling.tagName,!1):void 0)}),l||u(i).parent().each(function(){return-1!==c.indexOf(this.tagName)&&(this.previousSibling?(l=this.previousSibling&&this.previousSibling.tagName,!1):void 0)});for(var d=\"\",f=0;f<o.length;f++)32!=o.charCodeAt(f)||0!==f&&32!=d.charCodeAt(f-1)||e.nodeType===Node.TEXT_NODE&&\"SPAN\"===i.tagName&&i.parentNode&&0<=c.indexOf(i.parentNode.tagName)&&(0<=c.indexOf(s)||0<=c.indexOf(l))||!((p.opts.enter===Y.ENTER_BR||p.opts.enter===Y.ENTER_DIV)&&(n&&\"BR\"===n.tagName||r&&\"BR\"===r.tagName)||n&&r&&n.tagName===r.tagName||!(n&&r&&p.node.isVoid(n)||n&&r&&p.node.isVoid(r))||n&&r&&0<=[\"STRONG\",\"U\",\"EM\"].indexOf(n.tagName)&&\"BR\"===r.tagName)?d+=o[f]:d+=Y.UNICODE_NBSP;p.browser.chrome&&1<d.length&&32===d.charCodeAt(d.length-1)&&(r&&r.nextSibling&&r.nextSibling.nextSibling&&\"BR\"===r.nextSibling.nextSibling.tagName||r&&\"BR\"===r.tagName)&&(d=d.substring(0,d.length-1)+Y.UNICODE_NBSP),!(!r||r&&p.node.isBlock(r)||r&&r.nodeType===Node.ELEMENT_NODE&&p.win.getComputedStyle(r)&&\"block\"===p.win.getComputedStyle(r).display)||e.nodeType===Node.TEXT_NODE&&\"SPAN\"===i.tagName&&i.parentNode&&0<=c.indexOf(i.parentNode.tagName)&&(0<=c.indexOf(s)||0<=c.indexOf(l))||(!p.node.isVoid(n)||n&&-1!==[\"P\",\"DIV\",\"BR\"].indexOf(n.tagName)&&-1!==a.indexOf(p.opts.enter))&&(d=d.replace(/ $/,Y.UNICODE_NBSP)),!n||p.node.isVoid(n)||p.node.isBlock(n)||1!==(d=d.replace(/^\\u00A0([^ $])/,\" $1\")).length||160!==d.charCodeAt(0)||!r||p.node.isVoid(r)||p.node.isBlock(r)||p.node.hasClass(n,\"fr-marker\")&&p.node.hasClass(r,\"fr-marker\")||(d=\" \"),t||(d=d.replace(/([^ \\u00A0])\\u00A0([^ \\u00A0])/g,\"$1 $2\")),e.textContent!==d&&(e.textContent=d)}}function l(e,t){if(void 0!==e&&e||(e=p.el),void 0===t&&(t=!1),!e.getAttribute||\"false\"!==e.getAttribute(\"contenteditable\"))if(e.nodeType===Node.TEXT_NODE)r(e,t);else if(e.nodeType===Node.ELEMENT_NODE)for(var n=p.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,p.node.filter(function(e){for(var t=e.parentNode;t&&t!==p.el;){if(\"STYLE\"===t.tagName||\"IFRAME\"===t.tagName)return!1;if(\"PRE\"===t.tagName)return!1;t=t.parentNode}return null!==e.textContent.match(/([ \\u00A0\\f\\n\\r\\t\\v]{2,})|(^[ \\u00A0\\f\\n\\r\\t\\v]{1,})|([ \\u00A0\\f\\n\\r\\t\\v]{1,}$)/g)&&!p.node.hasClass(e.parentNode,\"fr-marker\")}),!1);n.nextNode();)r(n.currentNode,t)}return{normalize:l,normalizeAroundCursor:function c(){for(var e=[],t=p.el.querySelectorAll(\".fr-marker\"),n=0;n<t.length;n++){for(var r=null,o=p.node.blockParent(t[n]),i=(r=o||t[n]).nextSibling,a=r.previousSibling;i&&\"BR\"===i.tagName;)i=i.nextSibling;for(;a&&\"BR\"===a.tagName;)a=a.previousSibling;r&&e.indexOf(r)<0&&e.push(r),a&&e.indexOf(a)<0&&e.push(a),i&&e.indexOf(i)<0&&e.push(i)}for(var s=0;s<e.length;s++)l(e[s])}}},Y.INVISIBLE_SPACE=\"&#8203;\",Y.HAIR_SPACE=\"&#8202;\",Y.START_MARKER='<span class=\"fr-marker\" data-id=\"0\" data-type=\"true\" style=\"display: none; line-height: 0;\">'.concat(Y.INVISIBLE_SPACE,\"</span>\"),Y.END_MARKER='<span class=\"fr-marker\" data-id=\"0\" data-type=\"false\" style=\"display: none; line-height: 0;\">'.concat(Y.INVISIBLE_SPACE,\"</span>\"),Y.MARKERS=Y.START_MARKER+Y.END_MARKER,Y.MODULES.markers=function(d){var f=d.$;function l(){if(!d.$wp)return null;try{var e=d.selection.ranges(0),t=e.commonAncestorContainer;if(t!==d.el&&!d.$el.contains(t))return null;var n=e.cloneRange(),r=e.cloneRange();n.collapse(!0);var o=f(d.doc.createElement(\"SPAN\")).addClass(\"fr-marker\").attr(\"style\",\"display: none; line-height: 0;\").html(Y.INVISIBLE_SPACE).get(0);if(n.insertNode(o),o=d.$el.find(\"span.fr-marker\").get(0)){for(var i=o.nextSibling;i&&i.nodeType===Node.TEXT_NODE&&0===i.textContent.length;)f(i).remove(),i=d.$el.find(\"span.fr-marker\").get(0).nextSibling;return d.selection.clear(),d.selection.get().addRange(r),o}return null}catch(a){}}function c(){d.$el.find(\".fr-marker\").remove()}return{place:function p(e,t,n){var r,o,i;try{var a=e.cloneRange();if(a.collapse(t),a.insertNode(function l(e,t){var n=f(d.doc.createElement(\"SPAN\"));return n.addClass(\"fr-marker\").attr(\"data-id\",t).attr(\"data-type\",e).attr(\"style\",\"display: \".concat(d.browser.safari?\"none\":\"inline-block\",\"; line-height: 0;\")).html(Y.INVISIBLE_SPACE),n.get(0)}(t,n)),!0===t)for(i=(r=d.$el.find('span.fr-marker[data-type=\"true\"][data-id=\"'.concat(n,'\"]')).get(0)).nextSibling;i&&i.nodeType===Node.TEXT_NODE&&0===i.textContent.length;)f(i).remove(),i=r.nextSibling;if(!0===t&&!e.collapsed){for(;!d.node.isElement(r.parentNode)&&!i;)-1</\\bfa\\b/g.test(r.parentNode.className)&&\"I\"===r.parentNode.tagName?f(r.parentNode).before(r):f(r.parentNode).after(r),i=r.nextSibling;if(i&&i.nodeType===Node.ELEMENT_NODE&&d.node.isBlock(i)&&\"HR\"!==i.tagName){for(o=[i];i=o[0],(o=d.node.contents(i))[0]&&d.node.isBlock(o[0]););f(i).prepend(f(r))}}if(!1===t&&!e.collapsed){if((i=(r=d.$el.find('span.fr-marker[data-type=\"false\"][data-id=\"'.concat(n,'\"]')).get(0)).previousSibling)&&i.nodeType===Node.ELEMENT_NODE&&d.node.isBlock(i)&&![\"TABLE\",\"HR\"].includes(i.tagName)){for(o=[i];i=o[o.length-1],(o=d.node.contents(i))[o.length-1]&&d.node.isBlock(o[o.length-1]););f(i).append(f(r))}(r.parentNode&&0<=[\"TD\",\"TH\"].indexOf(r.parentNode.tagName)||!r.previousSibling&&d.node.isBlock(r.parentElement))&&(r.parentNode.previousSibling&&!r.previousSibling?f(r.parentNode.previousSibling).append(r):0<=[\"TD\",\"TH\"].indexOf(r.parentNode.tagName)&&r.parentNode.firstChild===r&&(r.parentNode.previousSibling?f(r.parentNode.previousSibling).append(r):r.parentNode.parentNode&&r.parentNode.parentNode.previousSibling&&f(r.parentNode.parentNode.previousSibling).append(r)))}var s=d.$el.find('span.fr-marker[data-type=\"'.concat(t,'\"][data-id=\"').concat(n,'\"]')).get(0);return s&&(s.style.display=\"none\"),s}catch(c){return null}},insert:l,split:function a(){d.selection.isCollapsed()||d.selection.remove();var e=d.$el.find(\".fr-marker\").get(0);if(e||(e=l()),!e)return null;var t=d.node.deepestParent(e);if(t||(t=d.node.blockParent(e))&&\"LI\"!==t.tagName&&(t=null),t)if(d.node.isBlock(t)&&d.node.isEmpty(t))\"LI\"!==t.tagName||t.parentNode.firstElementChild!==t||d.node.isEmpty(t.parentNode)?f(t).replaceWith('<span class=\"fr-marker\"></span>'):f(t).append('<span class=\"fr-marker\"></span>');else if(d.cursor.isAtStart(e,t))f(t).before('<span class=\"fr-marker\"></span>'),f(e).remove();else if(d.cursor.isAtEnd(e,t))f(t).after('<span class=\"fr-marker\"></span>'),f(e).remove();else if(\"true\"!==t.contentEditable){for(var n=e,r=\"\",o=\"\";n=n.parentNode,r+=d.node.closeTagString(n),o=d.node.openTagString(n)+o,n!==t;);f(e).replaceWith('<span id=\"fr-break\"></span>');var i=d.node.openTagString(t)+f(t).html()+d.node.closeTagString(t);i=i.replace(/<span id=\"fr-break\"><\\/span>/g,\"\".concat(r,'<span class=\"fr-marker\"></span>').concat(o)),f(t).replaceWith(i)}return d.$el.find(\".fr-marker\").get(0)},insertAtPoint:function u(e){var t,n=e.clientX,r=e.clientY;c();var o=null;if(\"undefined\"!=typeof d.doc.caretPositionFromPoint?(t=d.doc.caretPositionFromPoint(n,r),(o=d.doc.createRange()).setStart(t.offsetNode,t.offset),o.setEnd(t.offsetNode,t.offset)):\"undefined\"!=typeof d.doc.caretRangeFromPoint&&(t=d.doc.caretRangeFromPoint(n,r),(o=d.doc.createRange()).setStart(t.startContainer,t.startOffset),o.setEnd(t.startContainer,t.startOffset)),null!==o&&\"undefined\"!=typeof d.win.getSelection){var i=d.win.getSelection();i.removeAllRanges(),i.addRange(o)}else if(\"undefined\"!=typeof d.doc.body.createTextRange)try{(o=d.doc.body.createTextRange()).moveToPoint(n,r);var a=o.duplicate();a.moveToPoint(n,r),o.setEndPoint(\"EndToEnd\",a),o.select()}catch(s){return!1}l()},remove:c}},Y.MODULES.selection=function(L){var y=L.$;function l(){var e=\"\";return L.win.getSelection?e=L.win.getSelection():L.doc.getSelection?e=L.doc.getSelection():L.doc.selection&&(e=L.doc.selection.createRange().text),e.toString()}function E(){return L.win.getSelection?L.win.getSelection():L.doc.getSelection?L.doc.getSelection():L.doc.selection.createRange()}function p(e){var t=E(),n=[];if(t&&t.getRangeAt&&t.rangeCount){n=[];for(var r=0;r<t.rangeCount;r++)n.push(t.getRangeAt(r))}else n=L.doc.createRange?[L.doc.createRange()]:[];return void 0!==e?n[e]:n}function N(){var e=E();try{e.removeAllRanges?e.removeAllRanges():e.empty?e.empty():e.clear&&e.clear()}catch(t){}}function u(e,t){var n=e;return n.nodeType===Node.ELEMENT_NODE&&0<n.childNodes.length&&n.childNodes[t]&&(n=n.childNodes[t]),n.nodeType===Node.TEXT_NODE&&(n=n.parentNode),n}function S(){if(L.$wp){L.markers.remove();var e,t,n=p(),r=[];for(t=0;t<n.length;t++)if(n[t].startContainer!==L.doc||L.browser.msie){var o=(e=n[t]).collapsed,i=L.markers.place(e,!0,t),a=L.markers.place(e,!1,t);if(void 0!==i&&i||!o||(y(\".fr-marker\").remove(),L.selection.setAtEnd(L.el)),L.el.normalize(),L.browser.safari&&!o)try{(e=L.doc.createRange()).setStartAfter(i),e.setEndBefore(a),r.push(e)}catch(s){}}if(L.browser.safari&&r.length)for(L.selection.clear(),t=0;t<r.length;t++)L.selection.get().addRange(r[t])}}function T(){var e,t=L.el.querySelectorAll('.fr-marker[data-type=\"true\"]');if(!L.$wp)return L.markers.remove(),!1;if(0===t.length)return!1;if(L.browser.msie||L.browser.edge)for(e=0;e<t.length;e++)t[e].style.display=\"inline-block\";L.core.hasFocus()||L.browser.msie||L.browser.webkit||L.$el.focus(),N();var n=E();for(e=0;e<t.length;e++){var r=y(t[e]).data(\"id\"),o=t[e],i=L.doc.createRange(),a=L.$el.find('.fr-marker[data-type=\"false\"][data-id=\"'.concat(r,'\"]'));(L.browser.msie||L.browser.edge)&&a.css(\"display\",\"inline-block\");var s=null;if(0<a.length){a=a[0];try{for(var l=!1,c=o.nextSibling,d=null;c&&c.nodeType===Node.TEXT_NODE&&0===c.textContent.length;)c=(d=c).nextSibling,y(d).remove();for(var f=a.nextSibling;f&&f.nodeType===Node.TEXT_NODE&&0===f.textContent.length;)f=(d=f).nextSibling,y(d).remove();if(o.nextSibling===a||a.nextSibling===o){for(var p=o.nextSibling===a?o:a,u=p===o?a:o,h=p.previousSibling;h&&h.nodeType===Node.TEXT_NODE&&0===h.length;)h=(d=h).previousSibling,y(d).remove();if(h&&h.nodeType===Node.TEXT_NODE)for(;h&&h.previousSibling&&h.previousSibling.nodeType===Node.TEXT_NODE;)h.previousSibling.textContent+=h.textContent,h=h.previousSibling,y(h.nextSibling).remove();for(var g=u.nextSibling;g&&g.nodeType===Node.TEXT_NODE&&0===g.length;)g=(d=g).nextSibling,y(d).remove();if(g&&g.nodeType===Node.TEXT_NODE)for(;g&&g.nextSibling&&g.nextSibling.nodeType===Node.TEXT_NODE;)g.nextSibling.textContent=g.textContent+g.nextSibling.textContent,g=g.nextSibling,y(g.previousSibling).remove();if(h&&(L.node.isVoid(h)||L.node.isBlock(h))&&(h=null),g&&(L.node.isVoid(g)||L.node.isBlock(g))&&(g=null),h&&g&&h.nodeType===Node.TEXT_NODE&&g.nodeType===Node.TEXT_NODE){y(o).remove(),y(a).remove();var C=h.textContent.length;h.textContent+=g.textContent,y(g).remove(),L.spaces.normalize(h),i.setStart(h,C),i.setEnd(h,C),l=!0}else!h&&g&&g.nodeType===Node.TEXT_NODE?(y(o).remove(),y(a).remove(),L.opts.htmlUntouched||L.spaces.normalize(g),s=y(L.doc.createTextNode(\"\\u200b\")).get(0),y(g).before(s),i.setStart(g,0),i.setEnd(g,0),l=!0):!g&&h&&h.nodeType===Node.TEXT_NODE&&(y(o).remove(),y(a).remove(),L.opts.htmlUntouched||L.spaces.normalize(h),s=y(L.doc.createTextNode(\"\\u200b\")).get(0),y(h).after(s),i.setStart(h,h.textContent.length),i.setEnd(h,h.textContent.length),l=!0)}if(!l){var m=void 0,v=void 0;v=(L.browser.chrome||L.browser.edge||L.helpers.isIOS())&&o.nextSibling===a?(m=M(a,i,!0)||i.setStartAfter(a),M(o,i,!1)||i.setEndBefore(o)):(o.previousSibling===a&&(a=(o=a).nextSibling),a.nextSibling&&\"BR\"===a.nextSibling.tagName||!a.nextSibling&&L.node.isBlock(o.previousSibling)||o.previousSibling&&\"BR\"===o.previousSibling.tagName||(o.style.display=\"inline\",a.style.display=\"inline\",s=y(L.doc.createTextNode(\"\\u200b\")).get(0)),m=M(o,i,!0)||y(o).before(s)&&i.setStartBefore(o),M(a,i,!1)||y(a).after(s)&&i.setEndAfter(a)),\"function\"==typeof m&&m(),\"function\"==typeof v&&v()}}catch(b){}}s&&y(s).remove();try{n.addRange(i)}catch(b){}}L.markers.remove()}function M(e,t,n){var r,o=e.previousSibling,i=e.nextSibling;return o&&i&&o.nodeType===Node.TEXT_NODE&&i.nodeType===Node.TEXT_NODE?(r=o.textContent.length,n?(i.textContent=o.textContent+i.textContent,y(o).remove(),y(e).remove(),L.opts.htmlUntouched||L.spaces.normalize(i),function(){t.setStart(i,r)}):(o.textContent+=i.textContent,y(i).remove(),y(e).remove(),L.opts.htmlUntouched||L.spaces.normalize(o),function(){t.setEnd(o,r)})):o&&!i&&o.nodeType===Node.TEXT_NODE?(r=o.textContent.length,n?(L.opts.htmlUntouched||L.spaces.normalize(o),function(){t.setStart(o,r)}):(L.opts.htmlUntouched||L.spaces.normalize(o),function(){t.setEnd(o,r)})):!(!i||o||i.nodeType!==Node.TEXT_NODE)&&(n?(L.opts.htmlUntouched||L.spaces.normalize(i),function(){t.setStart(i,0)}):(L.opts.htmlUntouched||L.spaces.normalize(i),function(){t.setEnd(i,0)}))}function A(){for(var e=p(),t=0;t<e.length;t++)if(!e[t].collapsed)return!1;return!0}function o(e){var t,n,r=!1,o=!1;if(L.win.getSelection){var i=L.win.getSelection();i.rangeCount&&((n=(t=i.getRangeAt(0)).cloneRange()).selectNodeContents(e),n.setEnd(t.startContainer,t.startOffset),r=a(n),n.selectNodeContents(e),n.setStart(t.endContainer,t.endOffset),o=a(n))}else L.doc.selection&&\"Control\"!==L.doc.selection.type&&((n=(t=L.doc.selection.createRange()).duplicate()).moveToElementText(e),n.setEndPoint(\"EndToStart\",t),r=a(n),n.moveToElementText(e),n.setEndPoint(\"StartToEnd\",t),o=a(n));return{atStart:r,atEnd:o}}function a(e){return\"\"===e.toString().replace(/[\\u200B-\\u200D\\uFEFF]/g,\"\")}function x(e,t){void 0===t&&(t=!0);var n=y(e).html();n&&n.replace(/\\u200b/g,\"\").length!==n.length&&y(e).html(n.replace(/\\u200b/g,\"\"));for(var r=L.node.contents(e),o=0;o<r.length;o++)r[o].nodeType!==Node.ELEMENT_NODE?y(r[o]).remove():(x(r[o],0===o),0===o&&(t=!1));if(e.nodeType===Node.TEXT_NODE){var i=y(document.createElement(\"span\")).attr(\"data-first\",\"true\").attr(\"data-text\",\"true\");y(e)[0].replaceWith(i[0])}else t&&y(e).attr(\"data-first\",!0)}function O(){return 0===y(this).find(\"fr-inner\").length}function w(e){var t=L.selection?L.selection.get():window.getSelection();if(!t||0===t.rangeCount)return!1;var n=t.getRangeAt(0);if(n.collapsed)return!1;var r=e.querySelectorAll(\"td, th\");return 0!==r.length&&Array.from(r).every(function(e){var t=document.createRange();return t.selectNodeContents(e),n.compareBoundaryPoints(Range.START_TO_START,t)<=0&&0<=n.compareBoundaryPoints(Range.END_TO_END,t)})}function h(){try{if(!L.$wp)return!1;for(var e=p(0).commonAncestorContainer;e&&!L.node.isElement(e);)e=e.parentNode;return!!L.node.isElement(e)}catch(t){return!1}}function r(e,t){if(!e||0<e.getElementsByClassName(\"fr-marker\").length)return!1;for(var n=e.firstChild;n&&(L.node.isBlock(n)||t&&!L.node.isVoid(n)&&n.nodeType===Node.ELEMENT_NODE);)n=(e=n).firstChild;e.innerHTML=Y.MARKERS+e.innerHTML}function i(e,t){if(!e||0<e.getElementsByClassName(\"fr-marker\").length)return!1;for(var n=e.lastChild;n&&(L.node.isBlock(n)||t&&!L.node.isVoid(n)&&n.nodeType===Node.ELEMENT_NODE);)n=(e=n).lastChild;var r=L.doc.createElement(\"SPAN\");for(r.setAttribute(\"id\",\"fr-sel-markers\"),r.innerHTML=Y.MARKERS;e.parentNode&&L.opts.htmlAllowedEmptyTags&&0<=L.opts.htmlAllowedEmptyTags.indexOf(e.tagName.toLowerCase());)e=e.parentNode;e.appendChild(r);var o=e.querySelector(\"#fr-sel-markers\");o.outerHTML=o.innerHTML}return{text:l,get:E,ranges:p,clear:N,element:function c(){var e=E();try{if(e.rangeCount){var t,n=p(0),r=n.startContainer;if(L.node.isElement(r)&&0===n.startOffset&&r.childNodes.length)for(;r.childNodes.length&&r.childNodes[0].nodeType===Node.ELEMENT_NODE;)r=r.childNodes[0];if(r.nodeType===Node.TEXT_NODE&&n.startOffset===(r.textContent||\"\").length&&r.nextSibling&&(r=r.nextSibling),r.nodeType===Node.ELEMENT_NODE){var o=!1;if(L.node.isElement(r)&&\"\"==r.textContent&&\"IMG\"==r.childNodes[0].tagName&&r.childNodes.length)for(;r.childNodes.length&&r.childNodes[0].nodeType===Node.ELEMENT_NODE;)r=r.childNodes[0];if(0<r.childNodes.length&&r.childNodes[n.startOffset]){for(t=r.childNodes[n.startOffset];t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;)t=t.nextSibling;if(t&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0),!o&&1<r.childNodes.length&&0<n.startOffset&&r.childNodes[n.startOffset-1]){for(t=r.childNodes[n.startOffset-1];t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;)t=t.nextSibling;t&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0)}}else!n.collapsed&&r.nextSibling&&r.nextSibling.nodeType===Node.ELEMENT_NODE&&(t=r.nextSibling)&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0);!o&&0<r.childNodes.length&&y(r.childNodes[0]).text().replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&[\"BR\",\"IMG\",\"HR\"].indexOf(r.childNodes[0].tagName)<0&&(r=r.childNodes[0])}for(;r.nodeType!==Node.ELEMENT_NODE&&r.parentNode;)r=r.parentNode;var i=y(r).parentsUntil(L.$el,\".fr-img-wrap .fr-inner\");0<i.length&&(r=i.get(0));for(var a=r;a&&\"HTML\"!==a.tagName;){if(a===L.el)return r;a=y(a).parent()[0]}}}catch(s){}return L.el},endElement:function s(){var e=E();try{if(e.rangeCount){var t,n=p(0),r=n.endContainer;if(r.nodeType===Node.ELEMENT_NODE){var o=!1;0<r.childNodes.length&&r.childNodes[n.endOffset]&&y(r.childNodes[n.endOffset]).text()===l()?(r=r.childNodes[n.endOffset],o=!0):!n.collapsed&&r.previousSibling&&r.previousSibling.nodeType===Node.ELEMENT_NODE?(t=r.previousSibling)&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0):!n.collapsed&&0<r.childNodes.length&&r.childNodes[n.endOffset]&&(t=r.childNodes[n.endOffset].previousSibling).nodeType===Node.ELEMENT_NODE&&t&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0),!o&&0<r.childNodes.length&&y(r.childNodes[r.childNodes.length-1]).text()===l()&&[\"BR\",\"IMG\",\"HR\"].indexOf(r.childNodes[r.childNodes.length-1].tagName)<0&&(r=r.childNodes[r.childNodes.length-1])}for(r.nodeType===Node.TEXT_NODE&&0===n.endOffset&&r.previousSibling&&r.previousSibling.nodeType===Node.ELEMENT_NODE&&(r=r.previousSibling);r.nodeType!==Node.ELEMENT_NODE&&r.parentNode;)r=r.parentNode;for(var i=r;i&&\"HTML\"!==i.tagName;){if(i===L.el)return r;i=y(i).parent()[0]}}}catch(a){}return L.el},save:S,restore:T,isCollapsed:A,isFull:function d(){if(A())return!1;L.selection.save();var e,t=L.el.querySelectorAll(\"td, th, img, br, iframe\");for(e=0;e<t.length;e++)(t[e].nextSibling||\"IMG\"===t[e].tagName||\"IFRAME\"===t[e].tagName)&&(t[e].innerHTML='<span class=\"fr-mk\" style=\"display: none;\">&nbsp;</span>'.concat(t[e].innerHTML));var n=!1,r=o(L.el);for(r.atStart&&r.atEnd&&(n=!0),t=L.el.querySelectorAll(\".fr-mk\"),e=0;e<t.length;e++)t[e].parentNode.removeChild(t[e]);return L.selection.restore(),n},inEditor:h,remove:function k(){if(A())return!0;var e;function t(e){for(var t=e.previousSibling;t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;){var n=t;t=t.previousSibling,y(n).remove()}return t}function n(e){for(var t=e.nextSibling;t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;){var n=t;t=t.nextSibling,y(n).remove()}return t}S();var r=L.$el.find('.fr-marker[data-type=\"true\"]');for(e=0;e<r.length;e++)for(var o=r[e];!(t(o)||L.node.isBlock(o.parentNode)||L.$el.is(o.parentNode)||L.node.hasClass(o.parentNode,\"fr-inner\"));)y(o.parentNode).before(o);var i=L.$el.find('.fr-marker[data-type=\"false\"]');for(e=0;e<i.length;e++){for(var a=i[e];!(n(a)||L.node.isBlock(a.parentNode)||L.$el.is(a.parentNode)||L.node.hasClass(a.parentNode,\"fr-inner\"));)y(a.parentNode).after(a);a.parentNode&&L.node.isBlock(a.parentNode)&&L.node.isEmpty(a.parentNode)&&!L.$el.is(a.parentNode)&&!L.node.hasClass(a.parentNode,\"fr-inner\")&&L.opts.keepFormatOnDelete&&y(a.parentNode).after(a)}if(function b(){for(var e=L.$el.find(\".fr-marker\"),t=0;t<e.length;t++)if(y(e[t]).parentsUntil('.fr-element, [contenteditable=\"true\"]','[contenteditable=\"false\"]').length)return!1;return!0}()){!function E(e,t){var n=L.node.contents(e.get(0));0<=[\"TD\",\"TH\"].indexOf(e.get(0).tagName)&&1===e.find(\".fr-marker\").length&&(L.node.hasClass(n[0],\"fr-marker\")||\"BR\"==n[0].tagName&&L.node.hasClass(n[0].nextElementSibling,\"fr-marker\"))&&e.attr(\"data-del-cell\",!0);for(var r=0;r<n.length;r++){var o=n[r];if(\"TABLE\"===o.tagName&&w(o)&&\"TABLE\"===n[0].tagName){var i=y(document.createElement(\"span\")).attr(\"data-first\",\"true\").attr(\"data-text\",\"true\");y(o)[0].replaceWith(i[0])}L.node.hasClass(o,\"fr-marker\")?t=(t+1)%2:t?0<y(o).find(\".fr-marker\").length?t=E(y(o),t):[\"TD\",\"TH\"].indexOf(o.tagName)<0&&!L.node.hasClass(o,\"fr-inner\")?!L.opts.keepFormatOnDelete||0<L.$el.find(\"[data-first]\").length||L.node.isVoid(o)?y(o).remove():x(o):L.node.hasClass(o,\"fr-inner\")?0===y(o).find(\".fr-inner\").length?y(o).html(\"<br>\"):y(o).find(\".fr-inner\").filter(O).html(\"<br>\"):(y(o).empty(),y(o).attr(\"data-del-cell\",!0)):0<y(o).find(\".fr-marker\").length&&(t=E(y(o),t))}return t}(L.$el,0);var s=L.$el.find('[data-first=\"true\"]');if(s.length)L.$el.find(\".fr-marker\").remove(),s.append(Y.INVISIBLE_SPACE+Y.MARKERS).removeAttr(\"data-first\"),s.attr(\"data-text\")&&s.replaceWith(s.html());else for(L.$el.find(\"table\").filter(function(){return 0<y(this).find(\"[data-del-cell]\").length&&y(this).find(\"[data-del-cell]\").length===y(this).find(\"td, th\").length}).remove(),L.$el.find(\"[data-del-cell]\").removeAttr(\"data-del-cell\"),r=L.$el.find('.fr-marker[data-type=\"true\"]'),e=0;e<r.length;e++){var l=r[e],c=l.nextSibling,d=L.$el.find('.fr-marker[data-type=\"false\"][data-id=\"'.concat(y(l).data(\"id\"),'\"]')).get(0);if(d){if(l&&(!c||c!==d)){var f=L.node.blockParent(l),p=L.node.blockParent(d),u=!1,h=!1;if(f&&0<=[\"UL\",\"OL\"].indexOf(f.tagName)&&(u=!(f=null)),p&&0<=[\"UL\",\"OL\"].indexOf(p.tagName)&&(h=!(p=null)),y(l).after(d),f!==p)if(null!==f||u)if(null!==p||h||0!==y(f).parentsUntil(L.$el,\"table\").length)f&&p&&0===y(f).parentsUntil(L.$el,\"table\").length&&0===y(p).parentsUntil(L.$el,\"table\").length&&!y(f).contains(p)&&!y(p).contains(f)&&(y(f).append(y(p).html()),y(p).remove());else{for(c=f;!c.nextSibling&&c.parentNode!==L.el;)c=c.parentNode;for(c=c.nextSibling;c&&\"BR\"!==c.tagName;){var g=c.nextSibling;y(f).append(c),c=g}c&&\"BR\"===c.tagName&&y(c).remove()}else{var C=L.node.deepestParent(l);C?(y(C).after(y(p).html()),y(p).remove()):0===y(p).parentsUntil(L.$el,\"table\").length&&(y(l).next().after(y(p).html()),y(p).remove())}}}else d=y(l).clone().attr(\"data-type\",!1),y(l).after(d)}}L.$el.find(\"li:empty\").remove(),L.opts.keepFormatOnDelete||L.html.fillEmptyBlocks(),L.html.cleanEmptyTags(!0),L.opts.htmlUntouched||(L.clean.lists(),L.$el.find(\"li:empty\").append(\"<br>\"),L.spaces.normalize());var m=L.$el.find(\".fr-marker\").last().get(0),v=L.$el.find(\".fr-marker\").first().get(0);void 0!==m&&void 0!==v&&!m.nextSibling&&v.previousSibling&&\"BR\"===v.previousSibling.tagName&&L.node.isElement(m.parentNode)&&L.node.isElement(v.parentNode)&&L.$el.append(\"<br>\"),T()},blocks:function g(e,t){var n,r,o=[],i=E();if(h()&&i.rangeCount){var a=p();for(n=0;n<a.length;n++){var s=a[n],l=u(s.startContainer,s.startOffset),c=u(s.endContainer,s.endOffset);(r=L.node.blockParent(l))&&o.indexOf(r)<0&&o.push(r),(L.node.isBlock(l)||L.node.hasClass(l,\"fr-inner\"))&&o.indexOf(l)<0&&o.push(l);for(var d=[],f=l;f!==c&&f!==L.el;)d.indexOf(f)<0&&f.children&&f.children.length?(d.push(f),f=f.children[0]):f.nextSibling?f=f.nextSibling:f.parentNode&&(f=f.parentNode,d.push(f)),L.node.isBlock(f)&&d.indexOf(f)<0&&o.indexOf(f)<0&&(f!==c||0<s.endOffset)&&o.push(f);L.node.isBlock(c)&&o.indexOf(c)<0&&0<s.endOffset&&o.push(c),(r=L.node.blockParent(c))&&o.indexOf(r)<0&&o.push(r)}}for(n=o.length-1;0<n;n--)if(y(o[n-1]).contains(o[n])){if(e&&y(o[n]).find(\"ul, ol\").length)continue;if(t&&\"LI\"==o[n-1].tagName)continue;o.splice(n-1,1)}else if(y(o[n]).contains(o[n-1])){if(e&&y(o[n]).find(\"ul, ol\").length)continue;o.splice(n,1)}return o},info:o,setAtEnd:i,setAtStart:r,setBefore:function f(e,t){void 0===t&&(t=!0);for(var n=e.previousSibling;n&&n.nodeType===Node.TEXT_NODE&&0===n.textContent.length;)n=n.previousSibling;return n?(L.node.isBlock(n)?i(n):\"BR\"===n.tagName?y(n).before(Y.MARKERS):y(n).after(Y.MARKERS),!0):!!t&&(L.node.isBlock(e)?r(e):y(e).before(Y.MARKERS),!0)},setAfter:function C(e,t){void 0===t&&(t=!0);for(var n=e.nextSibling;n&&n.nodeType===Node.TEXT_NODE&&0===n.textContent.length;)n=n.nextSibling;return n?(L.node.isBlock(n)?r(n):y(n).before(Y.MARKERS),!0):!!t&&(L.node.isBlock(e)?i(e):y(e).after(Y.MARKERS),!0)},rangeElement:u}},Object.assign(Y.DEFAULTS,{language:null}),Y.LANGUAGE={},Y.MODULES.language=function(e){var t;return{_init:function n(){Y.LANGUAGE&&(t=Y.LANGUAGE[e.opts.language]),t&&t.direction&&(e.opts.direction=t.direction)},translate:function r(e){return t&&t.translation[e]&&t.translation[e].length?t.translation[e]:e}}},Object.assign(Y.DEFAULTS,{placeholderText:\"Type something\"}),Y.MODULES.placeholder=function(h){var g=h.$;function e(){h.$placeholder||function u(){h.$placeholder=g(h.doc.createElement(\"SPAN\")).addClass(\"fr-placeholder\"),h.$wp.append(h.$placeholder)}();var e=h.opts.iframe?h.$iframe.prev().outerHeight(!0):h.$el.prev().outerHeight(!0),t=0,n=0,r=0,o=0,i=0,a=0,s=h.node.contents(h.el),l=h.selection.element(),c=g(l).css(\"text-align\");if(s.length&&s[0].nodeType===Node.ELEMENT_NODE){var d=g(s[0]);(0<h.$wp.prev().length||0<h.$el.prev().length)&&h.ready&&(t=h.helpers.getPX(d.css(\"margin-top\")),o=h.helpers.getPX(d.css(\"padding-top\")),n=h.helpers.getPX(d.css(\"margin-left\")),r=h.helpers.getPX(d.css(\"margin-right\")),i=h.helpers.getPX(d.css(\"padding-left\")),a=h.helpers.getPX(d.css(\"padding-right\")));var f=d.children().first(),p=l===h.el?f.length?f:d:g(l);h.$placeholder.css(\"font-size\",p.css(\"font-size\")),h.$placeholder.css(\"line-height\",p.css(\"line-height\")),h.$placeholder.css(\"font-family\",p.css(\"font-family\"))}else h.$placeholder.css(\"font-size\",h.$el.css(\"font-size\")),h.$placeholder.css(\"line-height\",h.$el.css(\"line-height\")),h.$placeholder.css(\"font-family\",h.$el.css(\"font-family\"));h.$wp.addClass(\"show-placeholder\"),h.$placeholder.css({marginTop:Math.max(h.helpers.getPX(h.$el.css(\"margin-top\")),t)+(e||0),paddingTop:Math.max(h.helpers.getPX(h.$el.css(\"padding-top\")),o),paddingLeft:Math.max(h.helpers.getPX(h.$el.css(\"padding-left\")),i),marginLeft:Math.max(h.helpers.getPX(h.$el.css(\"margin-left\")),n),paddingRight:Math.max(h.helpers.getPX(h.$el.css(\"padding-right\")),a),marginRight:Math.max(h.helpers.getPX(h.$el.css(\"margin-right\")),r),textAlign:c}).text(h.language.translate(h.opts.placeholderText||h.$oel.attr(\"placeholder\")||\"\")),h.$placeholder.html(h.$placeholder.text().replace(/\\n/g,\"<br>\"))}function t(){h.$wp.removeClass(\"show-placeholder\")}function n(){if(!h.$wp)return!1;h.core.isEmpty()?e():t()}return{_init:function r(){if(!h.$wp)return!1;h.events.on(\"init input keydown keyup contentChanged initialized\",n)},show:e,hide:t,refresh:n,isVisible:function o(){return!h.$wp||h.node.hasClass(h.$wp.get(0),\"show-placeholder\")}}},Y.UNICODE_NBSP=String.fromCharCode(160),Y.VOID_ELEMENTS=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"],Y.BLOCK_TAGS=[\"address\",\"article\",\"aside\",\"audio\",\"blockquote\",\"canvas\",\"details\",\"dd\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"li\",\"main\",\"nav\",\"noscript\",\"ol\",\"output\",\"p\",\"pre\",\"section\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"tr\",\"ul\",\"video\"],Object.assign(Y.DEFAULTS,{htmlAllowedEmptyTags:[\"textarea\",\"a\",\"iframe\",\"object\",\"video\",\"style\",\"script\",\".fa\",\".fr-emoticon\",\".fr-inner\",\"path\",\"line\",\"hr\"],htmlDoNotWrapTags:[\"script\",\"style\"],htmlSimpleAmpersand:!1,htmlIgnoreCSSProperties:[],htmlExecuteScripts:!0}),Y.MODULES.html=function(w){var b=w.$;function E(){return w.opts.enter===Y.ENTER_P?\"p\":w.opts.enter===Y.ENTER_DIV?\"div\":w.opts.enter===Y.ENTER_BR?null:void 0}function s(e,t){return!(!e||e===w.el)&&(t?-1!=[\"PRE\",\"SCRIPT\",\"STYLE\"].indexOf(e.tagName)||s(e.parentNode,t):-1!==[\"PRE\",\"SCRIPT\",\"STYLE\"].indexOf(e.tagName))}function i(e){var t,n=[],r=[];if(e){var o=w.el.querySelectorAll(\".fr-marker\");for(t=0;t<o.length;t++){var i=w.node.blockParent(o[t])||o[t];if(i){var a=i.nextSibling,s=i.previousSibling;i&&r.indexOf(i)<0&&w.node.isBlock(i)&&r.push(i),s&&w.node.isBlock(s)&&r.indexOf(s)<0&&r.push(s),a&&w.node.isBlock(a)&&r.indexOf(a)<0&&r.push(a)}}}else r=w.el.querySelectorAll(p());var l=p();for(l+=\",\".concat(Y.VOID_ELEMENTS.join(\",\")),l+=\", .fr-inner\",l+=\",\".concat(w.opts.htmlAllowedEmptyTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"),t=r.length-1;0<=t;t--)if(!(r[t].textContent&&0<r[t].textContent.replace(/\\u200B|\\n/g,\"\").length||0<r[t].querySelectorAll(l).length)){for(var c=w.node.contents(r[t]),d=!1,f=0;f<c.length;f++)if(c[f].nodeType!==Node.COMMENT_NODE&&c[f].textContent&&0<c[f].textContent.replace(/\\u200B|\\n/g,\"\").length){d=!0;break}d||n.push(r[t])}return n}function p(){return Y.BLOCK_TAGS.join(\", \")}function e(e){var t,n,r=b.merge([],Y.VOID_ELEMENTS);r=b.merge(r,w.opts.htmlAllowedEmptyTags),r=void 0===e?b.merge(r,Y.BLOCK_TAGS):b.merge(r,Y.NO_DELETE_TAGS),t=w.el.querySelectorAll(\"*:empty:not(\".concat(r.join(\"):not(\"),\"):not(.fr-marker):not(template)\"));do{n=!1;for(var o=0;o<t.length;o++)0!==t[o].attributes.length&&void 0===t[o].getAttribute(\"href\")||(t[o].parentNode.removeChild(t[o]),n=!0);(t=w.el.querySelectorAll(\"*:empty:not(\".concat(r.join(\"):not(\"),\"):not(.fr-marker):not(template)\"))).length||(t=w.el.querySelectorAll(\"a[href]:not([name]):empty\"))}while(t.length&&n)}function a(e,t){var n=E();if(t&&(n=\"div\"),n){var r=w.doc.createDocumentFragment(),o=null,i=!1,a=e.firstChild,s=!1,l=null,c=w.selection.ranges(),d=null,f=null,p=null;if(c.length){d=c[0].endContainer,f=c[0].startOffset,p=c[0].endOffset;var u=c[0].startContainer;u.nodeType===Node.ELEMENT_NODE&&(\"TD\"===u.tagName||\"TH\"===u.tagName)&&u.childNodes&&u.childNodes.length>f+1&&u.childNodes[f+1]===d&&(f=0)}for(var h=!1,g=function g(e,t){e===d?(h=!0,l=t.lastChild):0<=Array.from(e.childNodes).indexOf(d)&&(h=!0,l=t.lastChild.childNodes[Array.from(e.childNodes).indexOf(d)])};a;){var C=a.nextSibling;if(a.nodeType===Node.ELEMENT_NODE&&(w.node.isBlock(a)||0<=w.opts.htmlDoNotWrapTags.indexOf(a.tagName.toLowerCase())&&!w.node.hasClass(a,\"fr-marker\")))o=null,r.appendChild(a.cloneNode(!0));else if(a.nodeType!==Node.ELEMENT_NODE&&a.nodeType!==Node.TEXT_NODE)o=null,r.appendChild(a.cloneNode(!0));else if(\"BR\"===a.tagName)null===o?(o=w.doc.createElement(n),s=!0,t&&(o.setAttribute(\"class\",\"fr-temp-div\"),o.setAttribute(\"data-empty\",!0)),o.appendChild(a.cloneNode(!0)),a&&a.parentNode&&[\"TD\",\"TH\"].indexOf(a.parentNode.tagName)<0&&r.appendChild(o)):!1===i&&(o.appendChild(w.doc.createElement(\"br\")),t&&(o.setAttribute(\"class\",\"fr-temp-div\"),o.setAttribute(\"data-empty\",!0))),o=null;else{var m=a.textContent;if(a.nodeType!==Node.TEXT_NODE||0<m.replace(/\\n/g,\"\").replace(/(^ *)|( *$)/g,\"\").length||m.replace(/(^ *)|( *$)/g,\"\").length&&m.indexOf(\"\\n\")<0){if(\"SPAN\"===a.tagName&&b(a).hasClass(\"fr-marker\")&&!a.previousSibling&&(a.nextSibling&&\"TABLE\"==a.nextSibling.tagName||a.nextSibling&&a.nextSibling.nextSibling&&\"TABLE\"==a.nextSibling.nextSibling.tagName)){r.appendChild(a),g(a,r),a=C;continue}if(\"SPAN\"===a.tagName&&b(a).hasClass(\"fr-marker\")&&a.previousSibling&&a.previousSibling.nodeType===Node.ELEMENT_NODE&&(a.nextSibling&&\"TABLE\"==a.nextSibling.tagName||a.nextSibling&&a.nextSibling.nextSibling&&\"TABLE\"==a.nextSibling.nextSibling.tagName)){r.appendChild(a),s=!0,g(a,r),a=C;continue}null===o&&(o=w.doc.createElement(n),s=!0,t&&o.setAttribute(\"class\",\"fr-temp-div\"),r.appendChild(o),i=!1),o.appendChild(a.cloneNode(!0)),i||w.node.hasClass(a,\"fr-marker\")||a.nodeType===Node.TEXT_NODE&&0===m.replace(/ /g,\"\").length||(i=!0),g(a,o)}else s=!0}a=C}if(s&&(e.innerHTML=\"\",e.appendChild(r),h)){var v=w.doc.createRange();w.selection.get().removeAllRanges(),v.setStart(l,f),v.setEnd(l,p),w.selection.get().addRange(v)}}}function l(e,t){for(var n=e.length-1;0<=n;n--)a(e[n],t)}function t(e,t,n,r,o){if(!w.$wp)return!1;void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o=!1);var i=w.$wp.scrollTop();a(w.el,e),r&&l(w.el.querySelectorAll(\".fr-inner\"),e),t&&l(w.el.querySelectorAll(\"td, th\"),e),n&&l(w.el.querySelectorAll(\"blockquote\"),e),o&&l(w.el.querySelectorAll(\"li\"),e),i!==w.$wp.scrollTop()&&w.$wp.scrollTop(i)}function n(e){if(void 0===e&&(e=w.el),e&&0<=[\"SCRIPT\",\"STYLE\",\"PRE\"].indexOf(e.tagName))return!1;for(var t=w.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,w.node.filter(function(e){return null!==e.textContent.match(/([ \\n]{2,})|(^[ \\n]{1,})|([ \\n]{1,}$)/g)}),!1);t.nextNode();){var n=t.currentNode;if(!s(n.parentNode,!0)){var r=w.node.isBlock(n.parentNode)||w.node.isElement(n.parentNode),o=void 0;if(o=w.opts.preserveTabSpaces?n.textContent.replace(/\\n/g,\" \").replace(/^[ ]{2,}/g,\" \").replace(/[ ]{2,}$/g,\" \"):n.textContent.replace(/(?!^)( ){2,}(?!$)/g,\" \").replace(/\\n/g,\" \").replace(/^[ ]{2,}/g,\" \").replace(/[ ]{2,}$/g,\" \"),r){var i=n.previousSibling,a=n.nextSibling;i&&a&&\" \"===o?o=w.node.isBlock(i)&&w.node.isBlock(a)?\"\":\" \":(i||(o=o.replace(/^ */,\"\")),a||(o=o.replace(/ *$/,\"\")))}n.textContent=o}}}function r(e,t,n){var r=new RegExp(t,\"gi\").exec(e);return r?r[n]:null}function k(e){var t=e.doctype,n=\"<!DOCTYPE html>\";return t&&(n=\"<!DOCTYPE \".concat(t.name).concat(t.publicId?' PUBLIC \"'.concat(t.publicId,'\"'):\"\").concat(!t.publicId&&t.systemId?\" SYSTEM\":\"\").concat(t.systemId?' \"'.concat(t.systemId,'\"'):\"\",\">\")),n}function c(e){var t=e.parentNode;if(t&&(w.node.isBlock(t)||w.node.isElement(t))&&[\"TD\",\"TH\"].indexOf(t.tagName)<0){for(var n=e.previousSibling,r=e.nextSibling;n&&(n.nodeType===Node.TEXT_NODE&&0===n.textContent.replace(/\\n|\\r/g,\"\").length||w.node.hasClass(n,\"fr-tmp\"));)n=n.previousSibling;if(r)return!1;n&&t&&\"BR\"!==n.tagName&&!w.node.isBlock(n)&&!r&&0<t.textContent.replace(/\\u200B/g,\"\").length&&0<n.textContent.length&&!w.node.hasClass(n,\"fr-marker\")&&(w.el===t&&!r&&w.opts.enter===Y.ENTER_BR&&w.browser.msie||e.parentNode.removeChild(e))}else!t||w.node.isBlock(t)||w.node.isElement(t)||e.previousSibling||e.nextSibling||!w.node.isDeletable(e.parentNode)||c(e.parentNode)}function h(){w.opts.htmlUntouched||(e(),t(),n(),w.spaces.normalize(null,!0),w.html.fillEmptyBlocks(),w.clean.lists(),w.clean.tables(),w.clean.toHTML5(),w.html.cleanBRs()),function s(e){if(e&&e.isContentEditable&&!w.node.isEmpty(e)){var t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:function(e){if(e.nodeType===Node.TEXT_NODE)return e.nodeValue.trim()?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP;if(e.nodeType!==Node.ELEMENT_NODE)return NodeFilter.FILTER_SKIP;var t=window.getComputedStyle(e);return\"none\"!==t.display&&\"hidden\"!==t.visibility?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}}),n=null,r=!0,o=t.nextNode();if(o&&o.nodeType!==Node.TEXT_NODE){do{if(o.nodeType===Node.ELEMENT_NODE&&o.isContentEditable&&(o.textContent.trim().length||[\"IMG\",\"BR\",\"HR\"].includes(o.tagName)||b(o).find(\"img, br, hr\").length)){if(r)break;n=o;break}r=!1}while(o=t.nextNode());if(!r){var i=w.doc.createRange(),a=w.selection.get();n?i.selectNodeContents(n):(n=document.createTextNode(\"\\u200b\"),e.appendChild(n),i.setStart(n,0)),i.collapse(!0),a.removeAllRanges(),a.addRange(i)}}}}(w.el),w.selection.restore(),o(),w.placeholder.refresh()}function o(){w.node.isEmpty(w.el)&&(null!==E()?w.el.querySelector(p())||w.el.querySelector(\"\".concat(w.opts.htmlDoNotWrapTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"))||(w.core.hasFocus()?(w.$el.html(\"<\".concat(E(),\">\").concat(Y.MARKERS,\"<br/></\").concat(E(),\">\")),w.selection.restore()):w.$el.html(\"<\".concat(E(),\"><br/></\").concat(E(),\">\"))):w.el.querySelector(\"*:not(.fr-marker):not(br)\")||(w.core.hasFocus()?(w.$el.html(\"\".concat(Y.MARKERS,\"<br/>\")),w.selection.restore()):w.$el.html(\"<br/>\")))}function g(e,t){return r(e,\"<\".concat(t,\"[^>]*?>([\\\\w\\\\W]*)</\").concat(t,\">\"),1)}function C(e,t){var n=b(\"<div \".concat(r(e,\"<\".concat(t,\"([^>]*?)>\"),1)||\"\",\">\"));return w.node.rawAttributes(n.get(0))}function m(e){return(r(e,\"<!DOCTYPE([^>]*?)>\",0)||\"<!DOCTYPE html>\").replace(/\\n/g,\" \").replace(/ {2,}/g,\" \")}function v(e,t){w.opts.htmlExecuteScripts?e.html(t):e.get(0).innerHTML=t}function $(e){var t;(t=/:not\\(([^)]*)\\)/g).test(e)&&(e=e.replace(t,\"     $1 \"));var n=100*(e.match(/(#[^\\s+>~.[:]+)/g)||[]).length+10*(e.match(/(\\[[^]]+\\])/g)||[]).length+10*(e.match(/(\\.[^\\s+>~.[:]+)/g)||[]).length+10*(e.match(/(:[\\w-]+\\([^)]*\\))/gi)||[]).length+10*(e.match(/(:[^\\s+>~.[:]+)/g)||[]).length+(e.match(/(::[^\\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi)||[]).length;return n+=((e=(e=e.replace(/[*\\s+>~]/g,\" \")).replace(/[#.]/g,\" \")).match(/([^\\s+>~.[:]+)/g)||[]).length}function H(e){if(w.events.trigger(\"html.processGet\",[e]),e&&e.getAttribute&&\"\"===e.getAttribute(\"class\")&&e.removeAttribute(\"class\"),e&&e.getAttribute&&\"\"===e.getAttribute(\"style\")&&e.removeAttribute(\"style\"),e&&e.nodeType===Node.ELEMENT_NODE){var t,n=e.querySelectorAll('[class=\"\"],[style=\"\"]');for(t=0;t<n.length;t++){var r=n[t];\"\"===r.getAttribute(\"class\")&&r.removeAttribute(\"class\"),\"\"===r.getAttribute(\"style\")&&r.removeAttribute(\"style\")}if(\"BR\"===e.tagName)c(e);else{var o=e.querySelectorAll(\"br\");for(t=0;t<o.length;t++)c(o[t])}}}function D(e,t){return e[3]-t[3]}function R(){for(var e=w.el.querySelectorAll(\"input, textarea\"),t=0;t<e.length;t++)\"checkbox\"!==e[t].type&&\"radio\"!==e[t].type||(e[t].checked?e[t].setAttribute(\"checked\",e[t].checked):w.$(e[t]).removeAttr(\"checked\")),e[t].getAttribute(\"value\")&&e[t].setAttribute(\"value\",e[t].value)}function u(e){var t=w.doc.createElement(\"div\");return t.innerHTML=e,null!==t.querySelector(p())}function d(e){var t=null;if(void 0===e&&(t=w.selection.element()),w.opts.keepFormatOnDelete)return!1;var n,r,o=t?(t.textContent.match(/\\u200B/g)||[]).length-t.querySelectorAll(\".fr-marker\").length:0;if((w.el.textContent.match(/\\u200B/g)||[]).length-w.el.querySelectorAll(\".fr-marker\").length===o)return!1;do{r=!1,n=w.el.querySelectorAll(\"*:not(.fr-marker)\");for(var i=0;i<n.length;i++){var a=n[i];if(t!==a){var s=a.textContent;0===a.children.length&&1===s.length&&8203===s.charCodeAt(0)&&[\"TD\",\"STRONG\",\"SPAN\",\"EM\",\"U\",\"S\",\"SUB\",\"SUP\"].indexOf(a.tagName)<0&&(b(a).remove(),r=!0)}}}while(r)}function f(){d(),w.placeholder&&setTimeout(w.placeholder.refresh,0)}function L(){return w.opts.fontSizeDefaultSelection&&w.opts.fontSizeUnit&&\"Font Size\"!=w.opts.fontSizeDefaultSelection}function y(){return w.opts.fontFamilyDefaultSelection&&\"Font Family\"!=w.opts.fontFamilyDefaultSelection}function N(e){var t=w.selection.element(),n=t.getAttribute(\"style\")||\"\";!w.node.isEmpty(t)&&!e||w.markdown&&w.markdown.isEnabled()||t==w.el&&w.opts.enter!=Y.ENTER_BR||(L()&&!n.includes(\"font-size\")&&w.fontSize&&w.fontSize.apply(w.opts.fontSizeDefaultSelection+w.opts.fontSizeUnit),y()&&!n.includes(\"font-family\")&&w.fontFamily&&w.fontFamily.apply(w.opts.fontFamilyDefaultSelection),w.placeholder.refresh())}function S(e){var t=e.which;if(w.keys.ctrlKey(e)||37<=t&&t<=40||!w.keys.isCharacter(t)&&t!==Y.KEYCODE.DELETE&&t!==Y.KEYCODE.BACKSPACE&&t!==Y.KEYCODE.ENTER&&t!==Y.KEYCODE.IME)return!0;var n=w.selection.element();if(!(0<=[\"UL\",\"OL\"].indexOf(n.tagName))){var r=\"LI\"===n.tagName?b(n):b(n).parents(\"li\").first();if(r.length){var o=r.get(0),i=w.node.isEmpty(o),a=!r.siblings().last().length,s=r.parents(\"ul, ol\"),l=s.first().get(0)===s.last().get(0);if(i&&a&&l){if(t===Y.KEYCODE.BACKSPACE)return void requestAnimationFrame(function(){w.cursor.backspace(),N()});L()&&r.css(\"font-size\",w.opts.fontSizeDefaultSelection+w.opts.fontSizeUnit),y()&&r.css(\"font-family\",w.opts.fontFamilyDefaultSelection)}}else if(t!==Y.KEYCODE.BACKSPACE&&t!==Y.KEYCODE.DELETE){var c=w.selection.get();if(c.baseOffset!==c.focusOffset&&!w.keys.ctrlKey(e)&&w.keys.isCharacter(e.which)&&!w.selection.isCollapsed()&&!e.ctrlKey&&!e.altKey)return w.selection.remove(),void N();var d=[\"TD\",\"TH\"].includes(n.tagName)||n.parentElement&&[\"TD\",\"TH\"].includes(n.parentElement.tagName);(u(n)||d||\"BR\"==n.tagName)&&N()}else{var f=w.selection.isFull();requestAnimationFrame(function(){var e=w.node.deepestParent(n);(e&&w.node.isEmpty(e)||f)&&N()})}}}function T(){w.node.isEmpty(w.el)&&(w.selection.setAtStart(w.el),N(),w.markers.remove(),w.placeholder.refresh())}function M(){var e=b(w.selection.element());w.selection.text()&&!e.attr(\"style\")&&(N(!0),x(w.selection.ranges(0).endContainer))}function A(){0<b(w.selection.element()).filter(\"td, tr\").length&&N(!0),x(w.selection.ranges(0).endContainer)}function x(e){var t=w.doc.createRange();t.selectNodeContents(e),t.collapse(!1);var n=w.selection.get();n.removeAllRanges(),n.addRange(t)}function O(e){var t=(new DOMParser).parseFromString(e,\"text/html\");return Array.from(t.body.childNodes).some(function(e){return 1===e.nodeType})}function _(e){var t=/^<([a-z1-6]+)(\\s[^>]*)?>[\\s\\S]*<\\/\\1>$|^<([a-z1-6]+)(\\s[^>]*)?\\/?>$/.test(e.trim()),n=!(!e||0===e.trim().length)&&O(e)&&t&&u(e),r=w.selection.element();if(e&&!/<[^>]+style=[\"'][^\"']*(font-(size|family))[^\"']*[\"']/.test(e)&&(w.node.isEmpty(r)||w.selection.isFull())&&!b(r).parents(\"ol, ul\").length)return n?e.replace(/^<([^>]+)>/,\"<$1>\".concat(Y.START_MARKER)).replace(/<\\/([^>]+)>$/,\"\".concat(Y.END_MARKER,\"</$1>\")):Y.START_MARKER+e+Y.END_MARKER}function B(){setTimeout(N,0)}return{defaultTag:E,isPreformatted:s,emptyBlocks:i,emptyBlockTagsQuery:function V(){return\"\".concat(Y.BLOCK_TAGS.join(\":empty, \"),\":empty\")},blockTagsQuery:p,fillEmptyBlocks:function I(e){var t=i(e);w.node.isEmpty(w.el)&&w.opts.enter===Y.ENTER_BR&&t.push(w.el);for(var n=0;n<t.length;n++){var r=t[n];\"false\"===r.getAttribute(\"contenteditable\")||r.querySelector(\"\".concat(w.opts.htmlAllowedEmptyTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"))||w.node.isVoid(r)||\"TABLE\"===r.tagName||\"TBODY\"===r.tagName||\"TR\"===r.tagName||\"UL\"===r.tagName||\"OL\"===r.tagName||r.querySelector(\"br\")||r.appendChild(w.doc.createElement(\"br\"))}if(w.browser.msie&&w.opts.enter===Y.ENTER_BR){var o=w.node.contents(w.el);o.length&&o[o.length-1].nodeType===Node.TEXT_NODE&&w.$el.append(\"<br>\")}},cleanEmptyTags:e,cleanWhiteTags:d,cleanBlankSpaces:n,blocks:function P(){return w.$el.get(0).querySelectorAll(p())},getDoctype:k,set:function z(e){var t=w.clean.html((e||\"\").trim(),[],[],w.opts.fullPage);!y()&&!L()||O(t)||(t=Y.START_MARKER+t+Y.END_MARKER);var n=new RegExp(\"%3A//\",\"g\"),r=t.replace(n,\"://\");if(w.opts.fullPage){var o=g(r,\"body\")||(0<=r.indexOf(\"<body\")?\"\":r),i=C(r,\"body\"),a=g(r,\"head\")||\"<title></title>\",s=C(r,\"head\"),l=b(\"<div>\");l.append(a).contents().each(function(){(this.nodeType===Node.COMMENT_NODE||0<=[\"BASE\",\"LINK\",\"META\",\"NOSCRIPT\",\"SCRIPT\",\"STYLE\",\"TEMPLATE\",\"TITLE\"].indexOf(this.tagName))&&this.parentNode.removeChild(this)});var c=l.html().trim();a=b(\"<div>\").append(a).contents().map(function(){return this.nodeType===Node.COMMENT_NODE?\"\\x3c!--\".concat(this.nodeValue,\"--\\x3e\"):0<=[\"BASE\",\"LINK\",\"META\",\"NOSCRIPT\",\"SCRIPT\",\"STYLE\",\"TEMPLATE\",\"TITLE\"].indexOf(this.tagName)?this.outerHTML:\"\"}).toArray().join(\"\");var d=m(r),f=C(r,\"html\");v(w.$el,\"\".concat(c,\"\\n\").concat(o)),w.node.clearAttributes(w.el),w.$el.attr(i),w.$el.addClass(\"fr-view\"),w.$el.attr(\"spellcheck\",w.opts.spellcheck),w.$el.attr(\"dir\",w.opts.direction),v(w.$head,a),w.node.clearAttributes(w.$head.get(0)),w.$head.attr(s),w.node.clearAttributes(w.$html.get(0)),w.$html.attr(f),w.iframe_document.doctype.parentNode.replaceChild(function u(e,t){var n=e.match(/<!DOCTYPE ?([^ ]*) ?([^ ]*) ?\"?([^\"]*)\"? ?\"?([^\"]*)\"?>/i);return n?t.implementation.createDocumentType(n[1],n[3],n[4]):t.implementation.createDocumentType(\"html\")}(d,w.iframe_document),w.iframe_document.doctype)}else v(w.$el,r);var p=w.edit.isDisabled();w.edit.on(),w.core.injectStyle(w.opts.iframeDefaultStyle+w.opts.iframeStyle),h(),w.opts.useClasses||(w.$el.find(\"[fr-original-class]\").each(function(){this.setAttribute(\"class\",this.getAttribute(\"fr-original-class\")),this.removeAttribute(\"fr-original-class\")}),w.$el.find(\"[fr-original-style]\").each(function(){this.setAttribute(\"style\",this.getAttribute(\"fr-original-style\")),this.removeAttribute(\"fr-original-style\")})),p&&w.edit.off(),w.events.trigger(\"html.set\"),w.events.trigger(\"charCounter.update\"),w.events.trigger(\"wordCounter.update\")},syncInputs:R,get:function Z(e,t){if(!w.$wp)return w.$oel.clone().removeClass(\"fr-view\").removeAttr(\"contenteditable\").get(0).outerHTML;var n=\"\";w.events.trigger(\"html.beforeGet\");var r,o,i=[],a={},s=[];if(R(),!w.opts.useClasses&&!t){var l=new RegExp(\"^\".concat(w.opts.htmlIgnoreCSSProperties.join(\"$|^\"),\"$\"),\"gi\");for(r=0;r<w.doc.styleSheets.length;r++){var c=void 0,d=0;try{c=w.doc.styleSheets[r].cssRules,w.doc.styleSheets[r].ownerNode&&\"STYLE\"===w.doc.styleSheets[r].ownerNode.nodeType&&(d=1)}catch(O){}if(c)for(var f=0,p=c.length;f<p;f++)if(c[f].selectorText&&0<c[f].style.cssText.length){var u=c[f].selectorText.replace(/body \\s tbody \\.fr-view /g,\"\").replace(/::/g,\":\"),h=void 0;try{h=w.el.querySelectorAll(u)}catch(O){h=[]}for(o=0;o<h.length;o++){!h[o].getAttribute(\"fr-original-style\")&&h[o].getAttribute(\"style\")?(h[o].setAttribute(\"fr-original-style\",h[o].getAttribute(\"style\")),i.push(h[o])):h[o].getAttribute(\"fr-original-style\")||(h[o].setAttribute(\"fr-original-style\",\"\"),i.push(h[o])),a[h[o]]||(a[h[o]]={});for(var g=1e3*d+$(c[f].selectorText),C=c[f].style.cssText.split(\";\"),m=0;m<C.length;m++){var v=C[m].trim().split(\":\")[0];if(v&&!v.match(l)&&((!a[h[o]][v]||a[h[o]][v]&&\"\"==h[o].getAttribute(\"fr-original-style\"))&&(a[h[o]][v]=0)<=(h[o].getAttribute(\"fr-original-style\")||\"\").indexOf(\"\".concat(v,\":\"))&&(a[h[o]][v]=1e4),g>=a[h[o]][v]&&(a[h[o]][v]=g,C[m].trim().length))){var b=C[m].trim().split(\":\");b.splice(0,1);var E=b.join(\":\").trim();-1<E.indexOf(\"!important\")&&(g+=1),s.push([h[o],v.trim(),E,g])}}}}}for(s.sort(D),r=0;r<s.length;r++){var L=s[r];L[0].style[L[1]]=L[2].replace(/!important/,\"\")}for(r=0;r<i.length;r++)if(i[r].getAttribute(\"class\")&&(i[r].setAttribute(\"fr-original-class\",i[r].getAttribute(\"class\")),i[r].removeAttribute(\"class\")),0<(i[r].getAttribute(\"fr-original-style\")||\"\").trim().length){var y=i[r].getAttribute(\"fr-original-style\").split(\";\");for(o=0;o<y.length;o++)if(0<y[o].indexOf(\":\")){var N=y[o].split(\":\"),S=N[0];N.splice(0,1),i[r].style[S.trim()]=N.join(\":\").trim()}}}if(w.node.isEmpty(w.el))w.opts.fullPage&&(n=k(w.iframe_document),n+=\"<html\".concat(w.node.attributes(w.$html.get(0)),\">\").concat(w.$html.find(\"head\").get(0).outerHTML,\"<body></body></html>\"));else if(void 0===e&&(e=!1),w.opts.fullPage){n=k(w.iframe_document),w.$el.removeClass(\"fr-view\");var T=w.opts.heightMin,M=w.opts.height,A=w.opts.heightMax;w.opts.heightMin=null,w.opts.height=null,w.opts.heightMax=null,w.size.refresh(),n+=\"<html\".concat(w.node.attributes(w.$html.get(0)),\">\").concat(w.$html.html(),\"</html>\"),w.opts.iframe&&w.$html&&0<w.$html.find(\".fr-element\").length&&(n=w.$html.find(\".fr-element\").html()),w.opts.heightMin=T,w.opts.height=M,w.opts.heightMax=A,w.size.refresh(),w.$el.addClass(\"fr-view\")}else n=w.$el.html(),w.opts.iframe&&w.$html&&0<w.$html.find(\".fr-element\").length&&(n=w.$html.find(\".fr-element\").html());if(!w.opts.useClasses&&!t)for(r=0;r<i.length;r++)i[r].getAttribute(\"fr-original-class\")&&(i[r].setAttribute(\"class\",i[r].getAttribute(\"fr-original-class\")),i[r].removeAttribute(\"fr-original-class\")),null!==i[r].getAttribute(\"fr-original-style\")&&void 0!==i[r].getAttribute(\"fr-original-style\")?(0!==i[r].getAttribute(\"fr-original-style\").length?i[r].setAttribute(\"style\",i[r].getAttribute(\"fr-original-style\")):i[r].removeAttribute(\"style\"),i[r].removeAttribute(\"fr-original-style\")):i[r].removeAttribute(\"style\");w.opts.fullPage&&(n=(n=(n=(n=(n=(n=(n=(n=n.replace(/<style data-fr-style=\"true\">(?:[\\w\\W]*?)<\\/style>/g,\"\")).replace(/<link([^>]*)data-fr-style=\"true\"([^>]*)>/g,\"\")).replace(/<style(?:[\\w\\W]*?)class=\"firebugResetStyles\"(?:[\\w\\W]*?)>(?:[\\w\\W]*?)<\\/style>/g,\"\")).replace(/<body((?:[\\w\\W]*?)) spellcheck=\"true\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$2>$3</body>\")).replace(/<body((?:[\\w\\W]*?)) contenteditable=\"(true|false)\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$3>$4</body>\")).replace(/<body((?:[\\w\\W]*?)) dir=\"([\\w]*)\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$3>$4</body>\")).replace(/<body((?:[\\w\\W]*?))class=\"([\\w\\W]*?)(fr-rtl|fr-ltr)([\\w\\W]*?)\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,'<body$1class=\"$2$4\"$5>$6</body>')).replace(/<body((?:[\\w\\W]*?)) class=\"\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$2>$3</body>\")),w.opts.htmlSimpleAmpersand&&(n=n.replace(/&amp;/gi,\"&\")),w.events.trigger(\"html.afterGet\"),e||(n=n.replace(/<span[^>]*? class\\s*=\\s*[\"']?fr-marker[\"']?[^>]+>\\u200b<\\/span>/gi,\"\")),n=w.clean.invisibleSpaces(n),n=w.clean.exec(n,H);var x=w.events.chainTrigger(\"html.get\",n);return\"string\"==typeof x&&(n=x),n=(n=n.replace(/<pre(?:[\\w\\W]*?)>(?:[\\w\\W]*?)<\\/pre>/g,function(e){return e.replace(/<br>/g,\"\\n\")})).replace(/<meta((?:[\\w\\W]*?)) data-fr-http-equiv=\"/g,'<meta$1 http-equiv=\"')},getSelected:function K(){function e(e,t){for(;t&&(t.nodeType===Node.TEXT_NODE||!w.node.isBlock(t))&&!w.node.isElement(t)&&!w.node.hasClass(t,\"fr-inner\")&&(w.opts.enter!==Y.ENTER_BR||t!==w.$el[0]);)t&&t.nodeType!==Node.TEXT_NODE&&b(e).wrapContent(t),t=t.parentNode;t&&e.innerHTML===t.innerHTML?e.innerHTML=t.outerHTML:t&&\"DIV\"!==t.tagName&&\"LI\"!==t.tagName&&t.innerText&&-1!=t.innerText.indexOf(e.innerHTML)&&t!==w.$el.get(0)&&(e.innerHTML=w.node.openTagString(t)+e.innerHTML+w.node.closeTagString(t))}var t,n,r=\"\";if(\"undefined\"!=typeof w.win.getSelection){w.browser.mozilla&&(w.selection.save(),1<w.$el.find('.fr-marker[data-type=\"false\"]').length&&(w.$el.find('.fr-marker[data-type=\"false\"][data-id=\"0\"]').remove(),w.$el.find('.fr-marker[data-type=\"false\"]:last').attr(\"data-id\",\"0\"),w.$el.find(\".fr-marker\").not('[data-id=\"0\"]').remove()),w.selection.restore());for(var o=w.selection.ranges(),i=0;i<o.length;i++){var a=document.createElement(\"div\");a.appendChild(o[i].cloneContents()),e(a,(n=t=void 0,n=null,w.win.getSelection?(t=w.win.getSelection())&&t.rangeCount&&((n=t.getRangeAt(0).commonAncestorContainer).nodeType===Node.ELEMENT_NODE||w.opts.enter===Y.ENTER_BR&&n.parentNode===w.$el[0]||(n=n.parentNode)):(t=w.doc.selection)&&\"Control\"!==t.type&&(n=t.createRange().parentElement()),null!==n&&(0<=b(n).parents().toArray().indexOf(w.el)||n===w.el)?n:null)),0<b(a).find(\".fr-element\").length&&(a=w.el),r+=a.innerHTML}}else\"undefined\"!=typeof w.doc.selection&&\"Text\"===w.doc.selection.type&&(r=w.doc.selection.createRange().htmlText);return r},insert:function F(e,t,n){if(!1===w.events.trigger(\"html.beforeInsert\",[e,t,n]))return!1;var r,o=w.selection.element();if(!y()&&!L()||O(e)||!w.node.isEmpty(o)||b(o).parents(\"ol, ul\").length||(e=Y.START_MARKER+e+Y.END_MARKER),w.selection.isCollapsed()||w.selection.remove(),r=t?e:w.clean.html(e),0===e.indexOf('<i class=\"fa ')&&(r=\"<span>&nbsp;\".concat(r,\"</span>\")),e.indexOf('class=\"fr-marker\"')<0&&(r=function l(e){var t=w.doc.createElement(\"div\");return t.innerHTML=e,w.selection.setAtEnd(t,!0),t.innerHTML}(r)),w.node.isEmpty(w.el)&&!w.opts.keepFormatOnDelete&&u(r))w.opts.trackChangesEnabled?w.track_changes.pasteInEmptyEdior(r):w.el.innerHTML=r;else{(function c(){var e=w.selection.ranges(0).commonAncestorContainer;return e!==w.el&&!w.$el.contains(e)})()&&w.selection.restore();var i=w.markers.insert();if(i)if(w.opts.trackChangesEnabled)w.track_changes.pasteInEdior(r);else{w.node.isLastSibling(i)&&b(i).parent().hasClass(\"fr-deletable\")&&b(i).insertAfter(b(i).parent());var a=w.node.blockParent(i);if((u(r)||n)&&(w.node.deepestParent(i)||a&&\"LI\"===a.tagName)){a&&\"LI\"===a.tagName&&(r=function d(e){if(!w.html.defaultTag())return e;var t=w.doc.createElement(\"div\");t.innerHTML=e;for(var n=t.querySelectorAll(\":scope > \".concat(w.html.defaultTag())),r=n.length-1;0<=r;r--){var o=n[r];w.node.isBlock(o.previousSibling)||(o.previousSibling&&!w.node.isEmpty(o)&&b(\"<br>\").insertAfter(o.previousSibling),o.outerHTML=o.innerHTML)}return t.innerHTML}(r));var s=w.selection.element();if(s&&b(s).parentsUntil(w.el,\"ul, ol\").length&&\"LI\"!=i.parentNode.tagName&&(\"DIV\"==b(r).get(0).tagName&&1==b(r).length&&\"UL\"==b(r).get(0).firstChild.tagName?r=b(r).get(0).firstChild.innerHTML:\"UL\"==b(r).get(0).tagName&&(r=b(r).get(0).innerHTML),i=w.markers.split()),!(i=w.markers.split()))return!1;i.outerHTML=r}else i.outerHTML=r}else w.el.innerHTML+=r}h(),w.keys.positionCaret(),w.events.trigger(\"html.inserted\")},wrap:t,unwrap:function U(){w.$el.find(\"div.fr-temp-div\").each(function(){this.previousSibling&&this.previousSibling.nodeType===Node.TEXT_NODE&&b(this).before(\"<br>\"),b(this).attr(\"data-empty\")||!this.nextSibling||w.node.isBlock(this.nextSibling)&&!b(this.nextSibling).hasClass(\"fr-temp-div\")?b(this).replaceWith(b(this).html()):b(this).replaceWith(\"\".concat(b(this).html(),\"<br>\"))}),w.$el.find(\".fr-temp-div\").removeClass(\"fr-temp-div\").filter(function(){return\"\"===b(this).attr(\"class\")}).removeAttr(\"class\")},escapeEntities:function W(e){return e.replace(/</gi,\"&lt;\").replace(/>/gi,\"&gt;\").replace(/\"/gi,\"&quot;\").replace(/'/gi,\"&#39;\")},checkIfEmpty:o,extractNode:g,extractNodeAttrs:C,extractDoctype:m,cleanBRs:function j(){for(var e=w.el.getElementsByTagName(\"br\"),t=0;t<e.length;t++)c(e[t])},_init:function X(){w.events.$on(w.$el,\"mousemove\",\"span.fr-word-select\",function(e){var t=window.getSelection();t=window.getSelection();var n=document.createRange();n.selectNodeContents(e.target),t.removeAllRanges(),t.addRange(n)}),w.$wp&&(w.events.on(\"mouseup\",f),w.events.on(\"keydown\",f),w.events.on(\"contentChanged\",o),(L()||y())&&(w.events.on(\"keydown\",S),w.events.on(\"initialized\",T),w.events.on(\"html.inserted html.set\",M),w.events.on(\"paste.afterCleanup\",_),w.events.on(\"paste.after\",A),w.events.on(\"window.cut\",B),w.events.on(\"commands.after\",function(e){\"clearFormatting\"!=e&&\"markdown\"!==e||N(!0)})))},_setHtml:v}},Y.ENTER_P=0,Y.ENTER_DIV=1,Y.ENTER_BR=2,Y.KEYCODE={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,FF_HYPHEN:173,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,HYPHEN:189,PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,IME:229},Object.assign(Y.DEFAULTS,{enter:Y.ENTER_P,multiLine:!0,tabSpaces:0}),Y.MODULES.keys=function(N){var S,n,r,T=N.$,M=!1,A=!1;function x(e){if(N.selection.isCollapsed())if([\"INPUT\",\"BUTTON\",\"TEXTAREA\"].indexOf(e.target&&e.target.tagName)<0&&N.cursor.backspace(),N.helpers.isIOS()){var t=N.selection.ranges(0);t.deleteContents(),t.insertNode(document.createTextNode(\"\\u200b\")),N.selection.get().modify(\"move\",\"forward\",\"character\")}else[\"INPUT\",\"BUTTON\",\"TEXTAREA\"].indexOf(e.target&&e.target.tagName)<0&&e.preventDefault(),e.stopPropagation();else e.preventDefault(),e.stopPropagation(),N.selection.remove();N.placeholder.refresh()}function O(e){[\"INPUT\",\"BUTTON\",\"TEXTAREA\"].indexOf(e.target&&e.target.tagName)<0&&e.preventDefault(),e.stopPropagation(),\"\"!==N.selection.text()||N.selection.element().hasAttribute(\"contenteditable\")&&\"false\"===N.selection.element().getAttribute(\"contenteditable\")||!N.selection.isCollapsed()&&\"IMG\"==N.selection.element().tagName?N.selection.remove():N.cursor.del(),N.placeholder.refresh()}function e(){if(N.browser.mozilla&&N.selection.isCollapsed()&&!M){var e=N.selection.ranges(0),t=e.startContainer,n=e.startOffset;t&&t.nodeType===Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&32===t.textContent.charCodeAt(n-1)&&(N.selection.save(),N.spaces.normalize(),N.selection.restore())}}function t(){N.selection.isFull()&&setTimeout(function(){var e=N.html.defaultTag();e?N.$el.html(\"<\".concat(e,\">\").concat(Y.MARKERS,\"<br/></\").concat(e,\">\")):N.$el.html(\"\".concat(Y.MARKERS,\"<br/>\")),N.selection.restore(),N.placeholder.refresh(),N.button.bulkRefresh(),N.undo.saveStep()},0)}function o(){M=!1}function i(){M=!1}function w(){var e=N.html.defaultTag();e?N.$el.html(\"<\".concat(e,\">\").concat(Y.MARKERS,\"<br/></\").concat(e,\">\")):N.$el.html(\"\".concat(Y.MARKERS,\"<br/>\")),N.selection.restore()}function k(e,t){if(!e||!e.parentElement)return!1;var n=(e&&e.parentElement).parentElement;if(e.parentElement&&(-1<e.innerHTML.indexOf(\"<span\")||-1<e.parentElement.innerHTML.indexOf(\"<span\")||n&&-1<e.parentElement.parentElement.innerHTML.indexOf(\"<span\"))&&(e.classList.contains(\"fr-img-space-wrap\")||e.parentElement.classList.contains(\"fr-img-space-wrap\")||n&&e.parentElement.parentElement.classList.contains(\"fr-img-space-wrap\"))){if(T(e.parentElement).is(\"p\")){var r=e.parentElement.innerHTML;return(r=r.replace(/<br>/g,\"\")).length<1?e.parentElement.insertAdjacentHTML(\"afterbegin\",\"&nbsp;\"):\"&nbsp;\"!=r&&\" \"!=r&&\"Backspace\"==t.key?x(t):\"&nbsp;\"!=r&&\" \"!=r&&\"Delete\"==t.key&&O(t),!0}if(T(e).is(\"p\")){var o=e.innerHTML.replace(/<br>/g,\"\");return o.length<1?e.insertAdjacentHTML(\"afterbegin\",\"&nbsp;\"):\"&nbsp;\"!=o&&\" \"!=o&&\"Backspace\"==t.key?x(t):\"&nbsp;\"!=o&&\" \"!=o&&\"Delete\"==t.key&&O(t),!0}}return!1}function a(e){var t=N.selection.element();if(t&&0<=[\"INPUT\",\"TEXTAREA\"].indexOf(t.tagName))return!0;if(e&&D(e.which)){var n=N.selection.element(),r=N.selection.get(),o=r.anchorNode,i=r.anchorOffset;if(o.nodeType===Node.TEXT_NODE&&0<i&&1<o.textContent.length&&8203===o.textContent.charCodeAt(i)){$(n);var a=N.doc.createRange();N.selection.get().removeAllRanges();var s=Math.max(0,Math.min(i-1,o.textContent.length-1));a.setStart(o,s),a.setEnd(o,s),N.selection.get().addRange(a)}return!0}N.events.disableBlur();var l=e.which;if(16===l)return!0;if((S=l)===Y.KEYCODE.IME)return M=!0;if(M=!1,l===Y.KEYCODE.BACKSPACE&&(e.metaKey||e.ctrlKey)){var c=N.selection.element(),d=[\"strong\",\"u\",\"em\",\"s\",\"sub\",\"sup\",\"span\"],f=T(c).find(d.join()).length||-1<d.indexOf(c.tagName.toLowerCase());if(N.opts.keepFormatOnDelete&&!N.node.isEmpty(c)&&f){var p=!0;N.selection.isCollapsed()&&(N.helpers.isMac()?p=function C(){var e=N.markers.insert();T(e).removeClass(\"fr-marker\").addClass(\"fr-marker-placeholder\");var t=N.selection.ranges(0).getBoundingClientRect(),n=N.selection.blocks()[0];if(!n)return!1;var r=N.selection.rangeElement(n).getBoundingClientRect();return N.markers.insertAtPoint({clientX:r.x,clientY:t.y}),N.$el.find(\".fr-marker\").replaceWith(Y.START_MARKER),N.$el.find(\".fr-marker-placeholder\").replaceWith(Y.END_MARKER),N.selection.restore(),!0}():function m(){var e=N.selection.get();if(0===e.rangeCount)return;var t=e.getRangeAt(0),n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){for(var o=n.textContent,i=r;0<i&&/[\\s\\u200B\\u200C\\u200D\\uFEFF]/.test(o[i-1]);)i--;for(;0<i&&!/[\\s\\u200B\\u200C\\u200D\\uFEFF]/.test(o[i-1]);)i--;var a=N.doc.createRange();a.setStart(n,i),a.setEnd(n,r),e.removeAllRanges(),e.addRange(a)}}());var u=N.selection.ranges(0).startContainer.previousSibling;!p||u&&u.nodeType!==Node.TEXT_NODE&&\"BR\"==u.tagName||x(e)}N.helpers.isMac()&&(A=!0)}if(H(e))return!0;var h=R(l)&&!H(e)&&!e.altKey,g=l===Y.KEYCODE.BACKSPACE||l===Y.KEYCODE.DELETE;if((N.selection.isFull()&&!N.opts.keepFormatOnDelete&&!N.placeholder.isVisible()||g&&N.placeholder.isVisible()&&N.opts.keepFormatOnDelete)&&(h||g)&&(w(),!R(l)))return e.preventDefault(),!0;if(l===Y.KEYCODE.ENTER)!N.helpers.isIOS()&&e.shiftKey||t.classList.contains(\"fr-inner\")||t.parentElement&&t.parentElement.classList.contains(\"fr-inner\")?function v(e){e.preventDefault(),e.stopPropagation(),N.opts.multiLine&&(N.selection.isCollapsed()||N.selection.remove(),N.cursor.enter(!0))}(e):function b(e){N.opts.multiLine?(N.helpers.isIOS()||(e.preventDefault(),e.stopPropagation()),N.selection.isCollapsed()||N.selection.remove(),N.cursor.enter()):(e.preventDefault(),e.stopPropagation())}(e);else if(l===Y.KEYCODE.BACKSPACE&&(e.metaKey||e.ctrlKey))!function E(){setTimeout(function(){N.events.disableBlur(),N.events.focus()},0)}();else if(l!==Y.KEYCODE.BACKSPACE||H(e)||e.altKey)if(l!==Y.KEYCODE.DELETE||H(e)||e.altKey||e.shiftKey)l===Y.KEYCODE.SPACE?function L(e){var t=N.selection.element();if(!N.helpers.isMobile()&&t&&\"A\"===t.tagName){e.preventDefault(),e.stopPropagation(),N.selection.isCollapsed()||N.selection.remove();var n=N.markers.insert();if(n){var r=n.previousSibling;!n.nextSibling&&n.parentNode&&\"A\"===n.parentNode.tagName?(n.parentNode.insertAdjacentHTML(\"afterend\",\"&nbsp;\".concat(Y.MARKERS)),n.parentNode.removeChild(n)):(r&&r.nodeType===Node.TEXT_NODE&&1===r.textContent.length&&160===r.textContent.charCodeAt(0)?r.textContent+=\" \":n.insertAdjacentHTML(\"beforebegin\",\"&nbsp;\"),n.outerHTML=Y.MARKERS),N.selection.restore()}}}(e):l===Y.KEYCODE.TAB?function y(e){if(0<N.opts.tabSpaces)if(N.selection.isCollapsed()){N.undo.saveStep(),e.preventDefault(),e.stopPropagation();for(var t=\"\",n=0;n<N.opts.tabSpaces;n++)t+=\"&nbsp;\";N.html.insert(t),N.placeholder.refresh(),N.undo.saveStep()}else e.preventDefault(),e.stopPropagation(),e.shiftKey?N.commands.outdent():N.commands.indent()}(e):H(e)||!R(e.which)||N.selection.isCollapsed()||e.ctrlKey||e.altKey||N.browser.mozilla||N.selection.remove();else{if(k(t,e))return e.preventDefault(),void e.stopPropagation();N.placeholder.isVisible()?(N.opts.keepFormatOnDelete||w(),e.preventDefault(),e.stopPropagation()):O(e)}else{if(k(t,e))return e.preventDefault(),void e.stopPropagation();N.placeholder.isVisible()?(N.opts.keepFormatOnDelete||w(),e.preventDefault(),e.stopPropagation()):x(e)}N.events.enableBlur()}function $(e){var t=e;-1<[\"STRONG\",\"U\",\"EM\"].indexOf(e.nodeName)&&e.parentNode&&(t=e.parentNode);for(var n=N.doc.createTreeWalker(t,NodeFilter.SHOW_TEXT,N.node.filter(function(e){return/\\u200B/gi.test(e.textContent)}),!1);n.nextNode();){var r=n.currentNode;r.textContent=r.textContent.replace(/\\u200B/gi,\"\")}}function l(){if(!N.$wp)return!0;var e;if(N.opts.height||N.opts.heightMax){e=N.position.getBoundingRect().top,(N.helpers.isIOS()||N.helpers.isAndroid())&&(e-=N.helpers.scrollTop()),N.opts.iframe&&(e+=N.$iframe.offset().top);var t=N.selection.blocks(),n=null;if(t&&0<t.length&&t[0].offsetTop&&(n=t[0].getBoundingClientRect().top,3===N.selection.get().anchorNode.nodeType)){var r=N.doc.createRange(),o=N.selection.get().anchorNode,i=N.selection.get().anchorOffset;r.selectNode(o),r.setStart(o,i),n=r.getBoundingClientRect().top}if(!N.opts.iframe&&e>N.$wp.offset().top-N.helpers.scrollTop()+N.$wp.height()-20)N.$wp.scrollTop(e+N.$wp.scrollTop()-(N.$wp.height()+N.$wp.offset().top)+N.helpers.scrollTop()+20);else if(N.opts.iframe&&n)if(N.$wp.scrollTop()>n)N.$wp.scrollTop(n-20);else if(n+20>N.$wp.scrollTop()+N.$wp.height()){var a=n-N.$wp.height()+50;N.$wp.scrollTop(a)}}else e=N.position.getBoundingRect().top,N.opts.toolbarBottom&&(e+=N.opts.toolbarStickyOffset),(N.helpers.isIOS()||N.helpers.isAndroid())&&(e-=N.helpers.scrollTop()),N.opts.iframe&&(e+=N.$iframe.offset().top,e-=N.helpers.scrollTop()),(e+=N.opts.toolbarStickyOffset)>N.o_win.innerHeight-20&&T(N.o_win).scrollTop(e+N.helpers.scrollTop()-N.o_win.innerHeight+20),e=N.position.getBoundingRect().top,N.opts.toolbarBottom||(e-=N.opts.toolbarStickyOffset),(N.helpers.isIOS()||N.helpers.isAndroid())&&(e-=N.helpers.scrollTop()),N.opts.iframe&&(e+=N.$iframe.offset().top,e-=N.helpers.scrollTop()),e<100&&T(N.o_win).scrollTop(e+N.helpers.scrollTop()-100)}function s(e){var t=N.selection.element();if(t&&0<=[\"INPUT\",\"TEXTAREA\"].indexOf(t.tagName))return!0;if(e&&0===e.which&&S&&(e.which=S),N.helpers.isAndroid()&&N.browser.mozilla)return!0;if(M)return!1;if(e&&N.helpers.isIOS()&&e.which===Y.KEYCODE.ENTER&&N.doc.execCommand(\"undo\"),!N.selection.isCollapsed())return!0;if(e&&(e.which===Y.KEYCODE.META||e.which===Y.KEYCODE.CTRL)&&!A)return!0;if(e&&D(e.which))return!0;if(e&&!N.helpers.isIOS()&&(e.which===Y.KEYCODE.ENTER||e.which===Y.KEYCODE.BACKSPACE||A||37<=e.which&&e.which<=40&&!N.browser.msie))try{l(),A=!1}catch(i){}var n=N.selection.element();if(function a(e){if(!e)return!1;var t=e.innerHTML;return!!((t=t.replace(/<span[^>]*? class\\s*=\\s*[\"']?fr-marker[\"']?[^>]+>\\u200b<\\/span>/gi,\"\"))&&/\\u200B/.test(t)&&0<t.replace(/\\u200B/gi,\"\").length)}(n)&&!N.node.hasClass(n,\"fr-marker\")&&\"IFRAME\"!==n.tagName&&function s(e){return!N.helpers.isIOS()||0===((e.textContent||\"\").match(/[\\u3041-\\u3096\\u30A0-\\u30FF\\u4E00-\\u9FFF\\u3130-\\u318F\\uAC00-\\uD7AF]/gi)||[]).length}(n)){N.selection.save();var r=N.$el.find(\".fr-marker\")[1],o=(e||\"\").which;N.opts.enter===Y.ENTER_BR&&n===N.$el.get(0)&&8===o&&null==r.nextSibling||$(n),N.selection.restore()}}function H(e){if(-1!==navigator.userAgent.indexOf(\"Mac OS X\")){if(e.metaKey&&!e.altKey)return!0}else if(e.ctrlKey&&!e.altKey)return!0;return!1}function D(e){if(e>=Y.KEYCODE.ARROW_LEFT&&e<=Y.KEYCODE.ARROW_DOWN)return!0}function R(e){if(e>=Y.KEYCODE.ZERO&&e<=Y.KEYCODE.NINE)return!0;if(e>=Y.KEYCODE.NUM_ZERO&&e<=Y.KEYCODE.NUM_MULTIPLY)return!0;if(e>=Y.KEYCODE.A&&e<=Y.KEYCODE.Z)return!0;if(N.browser.webkit&&0===e)return!0;switch(e){case Y.KEYCODE.SPACE:case Y.KEYCODE.QUESTION_MARK:case Y.KEYCODE.NUM_PLUS:case Y.KEYCODE.NUM_MINUS:case Y.KEYCODE.NUM_PERIOD:case Y.KEYCODE.NUM_DIVISION:case Y.KEYCODE.SEMICOLON:case Y.KEYCODE.FF_SEMICOLON:case Y.KEYCODE.DASH:case Y.KEYCODE.EQUALS:case Y.KEYCODE.FF_EQUALS:case Y.KEYCODE.COMMA:case Y.KEYCODE.PERIOD:case Y.KEYCODE.SLASH:case Y.KEYCODE.APOSTROPHE:case Y.KEYCODE.SINGLE_QUOTE:case Y.KEYCODE.OPEN_SQUARE_BRACKET:case Y.KEYCODE.BACKSLASH:case Y.KEYCODE.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}function c(e){var t=e.which;if(H(e)||37<=t&&t<=40||!R(t)&&t!==Y.KEYCODE.DELETE&&t!==Y.KEYCODE.BACKSPACE&&t!==Y.KEYCODE.ENTER&&t!==Y.KEYCODE.IME)return!0;n||(r=N.snapshot.get(),N.undo.canDo()||N.undo.saveStep()),clearTimeout(n),n=setTimeout(function(){n=null,N.undo.saveStep()},Math.max(250,N.opts.typingTimer))}function d(e){var t=e.which;if(H(e)||37<=t&&t<=40)return!0;r&&n?(N.undo.saveStep(r),r=null):void 0!==t&&0!==t||r||n||N.undo.saveStep()}function f(e){if(e&&0<=Y.VOID_ELEMENTS.indexOf(e.tagName.toLowerCase())||e.lastChild&&e.lastChild.nodeType===Node.ELEMENT_NODE&&0<=Y.VOID_ELEMENTS.indexOf(e.lastChild.tagName.toLowerCase()))return!1;try{return 0===(e.textContent||\"\").length&&e.querySelector&&!e.querySelector(\":scope > br\")||e.childNodes&&1===e.childNodes.length&&e.childNodes[0].getAttribute&&(\"false\"===e.childNodes[0].getAttribute(\"contenteditable\")||N.node.hasClass(e.childNodes[0],\"fr-img-caption\"))}catch(t){return!1}}function p(e){var t=N.el.childNodes,n=N.html.defaultTag(),r=N.node.blockParent(N.selection.blocks()[0]);function o(e){return!!T(e).parentsUntil(N.$el,'[contenteditable=\"false\"]').length}r&&\"TR\"==r.tagName&&r.getAttribute(\"contenteditable\")==undefined&&(r=r.closest(\"table\"));var i=window.getSelection(),a=0<i.rangeCount&&(o(i.getRangeAt(0).startContainer)||o(i.getRangeAt(0).endContainer));return!N.node.isEditable(e.target)||o(e.target)||a?N.toolbar.disable():N.toolbar.enable(),!(!e.target||e.target===N.el)||(0===t.length||void(t[0].offsetHeight+t[0].offsetTop<=e.offsetY?f(t[t.length-1])&&(n?N.$el.append(\"<\".concat(n,\">\").concat(Y.MARKERS,\"<br></\").concat(n,\">\")):N.$el.append(\"\".concat(Y.MARKERS,\"<br>\")),N.selection.restore(),l()):e.offsetY<=10&&f(t[0])&&(n?N.$el.prepend(\"<\".concat(n,\">\").concat(Y.MARKERS,\"<br></\").concat(n,\">\")):N.$el.prepend(\"\".concat(Y.MARKERS,\"<br>\")),N.selection.restore(),l())))}function u(){n&&clearTimeout(n)}return{_init:function h(){N.events.on(\"keydown\",c),N.events.on(\"input\",e),N.events.on(\"mousedown\",i),N.events.on(\"keyup input\",d),N.events.on(\"keypress\",o),N.events.on(\"keydown\",a),N.events.on(\"keyup\",s),N.events.on(\"destroy\",u),N.events.on(\"html.inserted\",s),N.events.on(\"cut\",t),N.opts.multiLine&&N.events.on(\"click\",p),N.events.on(\"initialized\",function(){N.el.addEventListener(\"compositionstart\",function(){if(N.selection.isCollapsed()){var e=N.selection.ranges(0),t=e.startContainer,n=e.startOffset;if(t&&t.nodeType===Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&8203===t.textContent.charCodeAt(n-1)){N.selection.save();var r=N.$el.find(\".fr-marker\");T(r.get(0).previousSibling).before(Y.HAIR_SPACE),r.get(0).previousSibling.textContent=r.get(0).previousSibling.textContent.replace(/\\u200B/gi,\"\"),N.selection.restore()}}}),N.el.addEventListener(\"compositionend\",function(){if(N.selection.isCollapsed()){var e=N.selection.ranges(0),t=e.startContainer,n=e.startOffset;if(t&&t.nodeType===Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&8202===t.textContent.charCodeAt(0)){N.selection.save();var r=N.$el.find(\".fr-marker\");r.get(0).previousSibling.textContent=r.get(0).previousSibling.textContent.replace(/\\u200A/gi,\"\"),N.selection.restore()}}})})},ctrlKey:H,isCharacter:R,isArrow:D,forceUndo:function g(){n&&(clearTimeout(n),N.undo.saveStep(),r=null)},isIME:function C(){return M},isBrowserAction:function m(e){var t=e.which;return H(e)||t===Y.KEYCODE.F5},positionCaret:l}},Object.assign(Y.DEFAULTS,{pastePlain:!1,pasteDeniedTags:[\"colgroup\",\"col\",\"meta\"],pasteDeniedAttrs:[\"class\",\"id\"],pasteAllowedStyleProps:[\".*\"],pasteAllowLocalImages:!1}),Y.MODULES.paste=function(M){var f,p,l,u,c,A,o,x=M.$;function r(e,t){var n=2<arguments.length&&arguments[2]!==undefined&&arguments[2];o=n;try{M.win.localStorage.setItem(\"fr-copied-html\",e),M.win.localStorage.setItem(\"fr-copied-text\",t)}catch(r){}}function e(e){var t,n;(o?(t=M.win.localStorage.getItem(\"fr-copied-html\"),n=M.win.localStorage.getItem(\"fr-copied-text\"),o=!1):r(t=M.html.getSelected(),n=x(M.doc.createElement(\"div\")).html(t).text()),\"cut\"===e.type)&&(M.$el.find(\"table.fr-table-selected\").length&&!M.opts.trackChangesEnabled&&(M.table.remove(),e.preventDefault()),e.clipboardData.setData(\"text/plain\",n),e.clipboardData.setData(\"text/html\",t),setTimeout(function(){M.selection.save(),M.html.wrap(),M.selection.restore(),M.events.focus(),M.undo.saveStep()},0))}var d,t=!1;function n(p){return\"INPUT\"===(d=p).target.nodeName&&\"text\"===p.target.type||!M.edit.isDisabled()&&(!g(p.target)&&(!t&&(p.originalEvent&&(p=p.originalEvent),E()&&navigator.clipboard?(navigator.clipboard.read({unsanitized:[\"text/html\"]}).then(function(){var t=function e(s){return function(){var e=this,a=arguments;return new Promise(function(t,n){var r=s.apply(e,a);function o(e){N(r,t,n,o,i,\"next\",e)}function i(e){N(r,t,n,o,i,\"throw\",e)}o(void 0)})}}(T().m(function f(t){var n,r,o,i,a,s,l,c,d;return T().w(function(e){for(;;)switch(e.p=e.n){case 0:n=t[0].types,r=new DataTransfer,o=S(n),e.p=1,o.s();case 2:if((i=o.n()).done){e.n=8;break}return a=i.value,e.n=3,t[0].getType(a);case 3:if(s=e.v,a.startsWith(\"text\"))return e.n=4,s.text();e.n=5;break;case 4:c=e.v,e.n=6;break;case 5:c=s;case 6:l=c,a.startsWith(\"text\")?r.setData(a,l):r.items.add(new File([l],\"file\"));case 7:e.n=2;break;case 8:e.n=10;break;case 9:e.p=9,d=e.v,o.e(d);case 10:return e.p=10,o.f(),e.f(10);case 11:return e.a(2,h(p,r))}},f,null,[[1,9,10,11]])}));return function(e){return t.apply(this,arguments)}}()),p.preventDefault(),!1):h(p))))}function h(e,t){var n=t||e&&e.clipboardData;if(n&&n.getData){var r=(n||window.clipboardData).getData(\"text/html\")||\"\";if(r.match('content=\"Microsoft OneNote')){var o=/<body[^>]*>((.|[\\n\\r])*)<\\/body>/im.exec(r)[1];return M.html.insert(M.clean.html(o)),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1}}if(!1===M.events.trigger(\"paste.before\",[e,t]))return e.preventDefault(),!1;if(n&&n.getData){var i=\"\";if(u=n.types,M.helpers.isArray(u))for(var a=0;a<u.length;a++)i+=\"\".concat(u[a],\";\");else i=u;if(f=\"\",/text\\/rtf/.test(i)&&(p=n.getData(\"text/rtf\")),/text\\/html/.test(i)?(f=n.getData(\"text/html\"),M.browser.mozilla&&(\"<p></p>\"===f||\"\"===f||/<!--StartFragment-->([ ])<!--EndFragment-->/.test(f)||/<!--StartFragment-->([<p></p>]*)<!--EndFragment-->/.test(f))&&(f=M.win.localStorage.getItem(\"fr-copied-html\"))):/text\\/uri-list/.test(i)&&M.browser.safari?f=n.getData(\"text/uri-list\"):/text\\/rtf/.test(i)&&M.browser.safari?f=p:/public.rtf/.test(i)&&M.browser.safari&&(f=n.getData(\"text/rtf\")),l=n.getData(\"text\"),\"\"!==f)return v(),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1;f=null}return function s(){if(M.selection.save(),M.events.disableBlur(),f=null,c){c.html(\"\");var e=C(M.selection.get().anchorNode)+M.$wp.offset().top;c.css(\"top\",e),M.browser.edge&&M.opts.iframe&&M.$el.append(c)}else{var t=document.getElementsByTagName(\"BODY\")[0],n=window.getComputedStyle(t).transform;if(\"none\"!==n){var r=C(M.selection.get().anchorNode)+M.$wp.offset().top;c=x('<div contenteditable=\"true\" style=\"position: fixed; top: '+r+'px; left: -9999px; height: 100%; width: 0; word-break: break-all; overflow:hidden; z-index: 2147483647; line-height: 140%; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; user-select: text;\" tabIndex=\"-1\"></div>')}else c=x('<div contenteditable=\"true\" style=\"position: fixed; top: 0; left: -9999px; height: 100%; width: 0; word-break: break-all; overflow:hidden; z-index: 2147483647; line-height: 140%; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; user-select: text;\" tabIndex=\"-1\"></div>');M.browser.webkit||M.browser.mozilla?(\"none\"===n&&c.css(\"top\",M.$sc.scrollTop()),M.$el.after(c)):M.browser.edge&&M.opts.iframe?M.$el.append(c):M.$box.after(c),M.events.on(\"destroy\",function(){c.remove()})}var o;M.helpers.isIOS()&&M.$sc&&(o=M.$sc.scrollTop());M.opts.iframe&&M.$el.attr(\"contenteditable\",\"false\");M.helpers.isIOS()&&M.$sc&&M.$sc.scrollTop(o);var i=d.clipboardData.getData(\"Text\");if(4e5<i.length||E()&&navigator.clipboard){d.preventDefault();var a=m(i||l);c.get(0).innerText=\"\",c.get(0).appendChild(a)}else c.focus();M.win.setTimeout(v,1)}(),!1}function g(e){return e&&\"false\"===e.contentEditable}function i(e){if(e.originalEvent&&(e=e.originalEvent),g(e.target))return!1;if(e&&e.dataTransfer&&e.dataTransfer.getData){var t=\"\";if(u=e.dataTransfer.types,M.helpers.isArray(u))for(var n=0;n<u.length;n++)t+=\"\".concat(u[n],\";\");else t=u;f=\"\",/text\\/rtf/.test(t)&&(p=e.dataTransfer.getData(\"text/rtf\")),/text\\/html/.test(t)?f=e.dataTransfer.getData(\"text/html\"):/text\\/rtf/.test(t)&&M.browser.safari?f=p:/text\\/plain/.test(t)&&!this.browser.mozilla&&(f=M.html.escapeEntities(e.dataTransfer.getData(\"text/plain\")).replace(/\\n/g,\"<br>\"));var r=M.$el.find(\"table.fr-table-draggable\");if(r.length){var o=M.$box.find(\".fr-table-drop-indicator\");if(o&&!o.isVisible())return!0;var i=o.attr(\"data-position\"),a=o.data(\"target-element\");A=M.snapshot.get(),\"above\"===i?M.selection.setAtStart(a):M.selection.setAtEnd(a),r.removeClass(\"fr-table-draggable\"),r.remove();var s=M.el.querySelector(\".fr-marker\");return x(s).replaceWith(Y.MARKERS),M.selection.restore(),function d(){M.win.localStorage.removeItem(\"fr-copied-text\"),M.win.localStorage.removeItem(\"fr-copied-html\")}(),v(),void(e.preventDefault&&(e.stopPropagation(),e.preventDefault()))}if(\"\"!==f){M.keys.forceUndo(),A=M.snapshot.get(),M.selection.save(),M.$el.find(\".fr-marker\").removeClass(\"fr-marker\").addClass(\"fr-marker-helper\");var l=M.markers.insertAtPoint(e);if(M.$el.find(\".fr-marker\").removeClass(\"fr-marker\").addClass(\"fr-marker-placeholder\"),M.$el.find(\".fr-marker-helper\").addClass(\"fr-marker\").removeClass(\"fr-marker-helper\"),M.selection.restore(),M.selection.remove(),M.$el.find(\".fr-marker-placeholder\").addClass(\"fr-marker\").removeClass(\"fr-marker-placeholder\"),!1!==l){var c=M.el.querySelector(\".fr-marker\");return x(c).replaceWith(Y.MARKERS),M.selection.restore(),v(),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1}}else f=null}}function C(e){return e.nodeType===Node.TEXT_NODE?e.parentNode.offsetTop:e.offsetTop}function m(e){var n=M.html.defaultTag()||\"p\",t=e.split(/\\n/g),r=document.createDocumentFragment();return t.forEach(function(e){var t=document.createElement(n);t.appendChild(\"\"===e?document.createElement(\"br\"):document.createTextNode(e)),r.appendChild(t)}),r}function v(){M.opts.iframe&&M.$el.attr(\"contenteditable\",\"true\"),M.browser.edge&&M.opts.iframe&&M.$box.after(c),A||(M.keys.forceUndo(),A=M.snapshot.get()),f||(f=c.get(0).innerHTML,l=c.text(),M.$el[0].setAttribute(\"plainpaste\",!0),M.selection.restore(),M.events.enableBlur());var e=f.match(/(MSFontService|class=\"?Mso|class='?Mso|class=\"?Xl|class='?Xl|class=Xl|style=\"[^\"]*\\bmso-|style='[^']*\\bmso-|w:WordDocument|LibreOffice)/gi),t=M.events.chainTrigger(\"paste.beforeCleanup\",f);if(t&&\"string\"==typeof t){f=t;var n=(new DOMParser).parseFromString(t,\"text/html\");l=n.body.innerText}(!e||e&&!1!==M.events.trigger(\"paste.wordPaste\",[f]))&&a(f,e)}function O(){var e=null,t=null;try{e=M.win.localStorage.getItem(\"fr-copied-text\"),t=M.win.localStorage.getItem(\"fr-copied-html\")}catch(s){}var n=(new DOMParser).parseFromString(t,\"text/html\").querySelector(\"table\"),r=M.node.hasClass(n,\"fr-table-selected\"),o=(new DOMParser).parseFromString(f,\"text/html\").querySelector(\"table\"),i=M.node.hasClass(o,\"fr-table-selected\"),a=n&&o&&r===i;return!(!e||!l||u&&-1===u.indexOf(\"text/html\")||l.replace(/\\u00A0/gi,\" \").replace(/\\r|\\n/gi,\"\")!==e.replace(/\\u00A0/gi,\" \").replace(/\\r|\\n/gi,\"\")&&l.replace(/\\s/g,\"\")!==e.replace(/\\s/g,\"\"))||!(!(t&&f&&a)||u&&-1===u.indexOf(\"text/html\"))}function w(e){for(var t=\"\",n=0;n++<e;)t+=\"&nbsp;\";return t}function a(e,t,n){var r,o=null,i=null;if(0<=e.toLowerCase().indexOf(\"<body\")){var a=\"\";0<=e.indexOf(\"<style\")&&(a=e.replace(/[.\\s\\S\\w\\W<>]*(<style[^>]*>[\\s]*[.\\s\\S\\w\\W<>]*[\\s]*<\\/style>)[.\\s\\S\\w\\W<>]*/gi,\"$1\")),e=(e=(e=a+e.replace(/[.\\s\\S\\w\\W<>]*<body[^>]*>[\\s]*([.\\s\\S\\w\\W<>]*)[\\s]*<\\/body>[.\\s\\S\\w\\W<>]*/gi,\"$1\")).replace(/<pre(?:[\\w\\W]*?)>(?:[\\w\\W]*?)<\\/pre>/g,function(e){return e.replace(/\\n/g,\"<br />\")})).replace(/ \\n/g,\" \").replace(/\\n /g,\" \").replace(/([^>])\\n([^<])/g,\"$1 $2\")}var s=!1;0<=e.indexOf('id=\"docs-internal-guid')&&(e=e.replace(/^[\\w\\W\\s\\S]* id=\"docs-internal-guid[^>]*>([\\w\\W\\s\\S]*)<\\/b>[\\w\\W\\s\\S]*$/g,\"$1\"),s=!0),(0<=e.indexOf('content=\"Sheets\"')||0<=e.indexOf(\"google-sheets-html-origin\"))&&(e=e.replace(/width:0px;/g,\"\"));var l=!1;if(!t)if((l=O())&&(e=M.win.localStorage.getItem(\"fr-copied-html\")),l)e=M.clean.html(e,M.opts.pasteDeniedTags,M.opts.pasteDeniedAttrs);else{var c=M.opts.htmlAllowedStyleProps;M.opts.htmlAllowedStyleProps=M.opts.pasteAllowedStyleProps,M.opts.htmlAllowComments=!1,e=(e=(e=e.replace(/<span class=\"Apple-tab-span\">\\s*<\\/span>/g,w(M.opts.tabSpaces||4))).replace(/<span class=\"Apple-tab-span\" style=\"white-space:pre\">(\\t*)<\\/span>/g,function(e,t){return w(t.length*(M.opts.tabSpaces||4))})).replace(/\\t/g,w(M.opts.tabSpaces||4)),e=M.clean.html(e,M.opts.pasteDeniedTags,M.opts.pasteDeniedAttrs),M.opts.htmlAllowedStyleProps=c,M.opts.htmlAllowComments=!0,M.html.defaultTag()&&\"div\"===M.html.defaultTag()||(e=k(e)),e=(e=e.replace(/\\r/g,\"\")).replace(/^ */g,\"\").replace(/ *$/g,\"\")}!t||M.wordPaste&&n||(0===(e=e.replace(/^\\n*/g,\"\").replace(/^ /g,\"\")).indexOf(\"<colgroup>\")&&(e=\"<table>\".concat(e,\"</table>\")),e=k(e=function y(e){var t;e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/<p(.*?)class=\"?'?MsoListParagraph\"?'? ([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ul><li>$3</li></ul>\")).replace(/<p(.*?)class=\"?'?NumberedText\"?'? ([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ol><li>$3</li></ol>\")).replace(/<p(.*?)class=\"?'?MsoListParagraphCxSpFirst\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ul><li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?NumberedTextCxSpFirst\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ol><li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?MsoListParagraphCxSpMiddle\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?NumberedTextCxSpMiddle\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?MsoListBullet\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?MsoListParagraphCxSpLast\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li></ul>\")).replace(/<p(.*?)class=\"?'?NumberedTextCxSpLast\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li></ol>\")).replace(/<span([^<]*?)style=\"?'?mso-list:Ignore\"?'?([\\s\\S]*?)>([\\s\\S]*?)<span/gi,\"<span><span\")).replace(/<!--\\[if !supportLists\\]-->([\\s\\S]*?)<!--\\[endif\\]-->/gi,\"\")).replace(/<!\\[if !supportLists\\]>([\\s\\S]*?)<!\\[endif\\]>/gi,\"\")).replace(/(\\n|\\r| class=(\")?Mso[a-zA-Z0-9]+(\")?)/gi,\" \")).replace(/<!--[\\s\\S]*?-->/gi,\"\")).replace(/<(\\/)*(meta|link|span|\\\\?xml:|st1:|o:|font)(.*?)>/gi,\"\");var n,r=[\"style\",\"script\",\"applet\",\"embed\",\"noframes\",\"noscript\"];for(t=0;t<r.length;t++){var o=new RegExp(\"<\".concat(r[t],\".*?\").concat(r[t],\"(.*?)>\"),\"gi\");e=e.replace(o,\"\")}for(e=(e=(e=e.replace(/&nbsp;/gi,\" \")).replace(/<td([^>]*)><\\/td>/g,\"<td$1><br></td>\")).replace(/<th([^>]*)><\\/th>/g,\"<th$1><br></th>\");(e=(n=e).replace(/<[^/>][^>]*><\\/[^>]+>/gi,\"\"))!==n;);e=(e=e.replace(/<lilevel([^1])([^>]*)>/gi,'<li data-indent=\"true\"$2>')).replace(/<lilevel1([^>]*)>/gi,\"<li$1>\"),e=(e=(e=M.clean.html(e,M.opts.pasteDeniedTags,M.opts.pasteDeniedAttrs)).replace(/<a>(.[^<]+)<\\/a>/gi,\"$1\")).replace(/<br> */g,\"<br>\");var i=M.o_doc.createElement(\"div\");i.innerHTML=e;var a=i.querySelectorAll(\"li[data-indent]\");for(t=0;t<a.length;t++){var s=a[t],l=s.previousElementSibling;if(l&&\"LI\"===l.tagName){var c=l.querySelector(\":scope > ul, :scope > ol\");c||(c=document.createElement(\"ul\"),l.appendChild(c)),c.appendChild(s)}else s.removeAttribute(\"data-indent\")}return M.html.cleanBlankSpaces(i),e=i.innerHTML}(e))),M.opts.pastePlain&&(e=function N(e){var t,n=null,r=M.doc.createElement(\"div\");r.innerHTML=e;var o=O(),i=r.querySelectorAll(\"p, div, h1, h2, h3, h4, h5, h6, pre, blockquote\");for(t=0;t<i.length;t++)if((n=i[t]).textContent){var a=o?n.innerHTML:n.innerText,s=M.clean.html(\"<\".concat(M.html.defaultTag()||\"DIV\",\">\").concat(a,\"</\").concat(M.html.defaultTag()||\"DIV\",\">\"));n.outerHTML=s}for(t=(i=r.querySelectorAll(\"*:not(\".concat(\"p, div, h1, h2, h3, h4, h5, h6, pre, blockquote, ul, ol, li, table, tbody, thead, tr, td, br, img\".split(\",\").join(\"):not(\"),\")\"))).length-1;0<=t;t--)(n=i[t]).outerHTML=n.innerHTML;return function l(e){for(var t=M.node.contents(e),n=0;n<t.length;n++)t[n].nodeType!==Node.TEXT_NODE&&t[n].nodeType!==Node.ELEMENT_NODE?t[n].parentNode.removeChild(t[n]):l(t[n])}(r),r.innerHTML}(e));var d=M.events.chainTrigger(\"paste.afterCleanup\",e);if(M.$el[0].removeAttribute(\"plainpaste\",!0),\"string\"==typeof d&&(e=d),\"\"!==e){var f=M.o_doc.createElement(\"div\");0<=(f.innerHTML=e).indexOf(\"<body>\")?(M.html.cleanBlankSpaces(f),M.spaces.normalize(f,!0)):M.spaces.normalize(f);var p=f.getElementsByTagName(\"span\");for(r=p.length-1;0<=r;r--){var u=p[r];0===u.attributes.length&&(u.outerHTML=u.innerHTML)}if(!0===M.opts.linkAlwaysBlank){var h=f.getElementsByTagName(\"a\");for(r=h.length-1;0<=r;r--){var g=h[r];g.getAttribute(\"target\")||g.setAttribute(\"target\",\"_blank\")}}var C=M.selection.element(),m=!1;if(C&&x(C).parentsUntil(M.el,\"ul, ol\").length&&(m=!0),m){var v=f.children;1===v.length&&0<=[\"OL\",\"UL\"].indexOf(v[0].tagName)&&(v[0].outerHTML=v[0].innerHTML)}if(!s){var b=f.getElementsByTagName(\"br\");for(r=b.length-1;0<=r;r--){var E=b[r];M.node.isBlock(E.previousSibling)&&E.parentNode.removeChild(E)}}if(M.opts.enter===Y.ENTER_BR)for(r=(o=f.querySelectorAll(\"p, div\")).length-1;0<=r;r--)0===(i=o[r]).attributes.length&&(i.outerHTML=i.innerHTML+(i.nextSibling&&!M.node.isEmpty(i)?\"<br>\":\"\"));else if(M.opts.enter===Y.ENTER_DIV)for(r=(o=f.getElementsByTagName(\"p\")).length-1;0<=r;r--)0===(i=o[r]).attributes.length&&(i.outerHTML=\"<div>\".concat(i.innerHTML,\"</div>\"));else M.opts.enter===Y.ENTER_P&&1===f.childNodes.length&&\"P\"===f.childNodes[0].tagName&&0===f.childNodes[0].attributes.length&&(f.childNodes[0].outerHTML=f.childNodes[0].innerHTML);if(f.childNodes[0]instanceof HTMLHeadingElement&&M.selection.element().tagName===f.childNodes[0].tagName&&(f.childNodes[0].outerHTML=f.childNodes[0].innerHTML),f.children&&0<f.children.length)if(M.opts.trackChangesEnabled)for(var L=0;L<f.children.length;L++)f.children[L].setAttribute(\"data-pasted\",\"true\");else f.children[0].setAttribute(\"data-pasted\",\"true\");e=(e=f.innerHTML).replace(/\\n/g,\"\"),l&&(e=function S(e){var t,n=M.o_doc.createElement(\"div\");n.innerHTML=e;var r=n.querySelectorAll(\"*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not(\".concat(Y.VOID_ELEMENTS.join(\"):not(\"),\"):not(\").concat(M.opts.htmlAllowedEmptyTags.join(\"):not(\"),\")\"));for(;r.length;){for(t=0;t<r.length;t++)r[t].parentNode.removeChild(r[t]);r=n.querySelectorAll(\"*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not(\".concat(Y.VOID_ELEMENTS.join(\"):not(\"),\"):not(\").concat(M.opts.htmlAllowedEmptyTags.join(\"):not(\"),\")\"))}return n.innerHTML}(e)),M.html.insert(e,!0)}!function T(){M.events.trigger(\"paste.after\")}(),M.undo.saveStep(A),A=null,M.undo.saveStep()}function b(e){for(var t=e.length-1;0<=t;t--)e[t].attributes&&e[t].attributes.length&&e.splice(t,1);return e}function k(e){var t,n=M.o_doc.createElement(\"div\");n.innerHTML=e;for(var r=b(Array.prototype.slice.call(n.querySelectorAll(\":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])\")));r.length;){var o=r[r.length-1];if(M.html.defaultTag()&&\"div\"!==M.html.defaultTag())o.querySelector(M.html.blockTagsQuery())?o.outerHTML=o.innerHTML:o.outerHTML=\"<\".concat(M.html.defaultTag(),\">\").concat(o.innerHTML,\"</\").concat(M.html.defaultTag(),\">\");else{var i=o.querySelectorAll(\"*\");!i.length||\"BR\"!==i[i.length-1].tagName&&0===o.innerText.length?o.outerHTML=o.innerHTML+(o.nextSibling?\"<br>\":\"\"):!i.length||\"BR\"!==i[i.length-1].tagName||i[i.length-1].nextSibling?o.outerHTML=o.innerHTML+(o.nextSibling?\"<br>\":\"\"):o.outerHTML=o.innerHTML}r=b(Array.prototype.slice.call(n.querySelectorAll(\":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])\")))}for(r=b(Array.prototype.slice.call(n.querySelectorAll(\"div:not([style])\")));r.length;){for(t=0;t<r.length;t++){var a=r[t],s=a.innerHTML.replace(/\\u0009/gi,\"\").trim();a.outerHTML=s}r=b(Array.prototype.slice.call(n.querySelectorAll(\"div:not([style])\")))}return n.innerHTML}function s(){M.el.removeEventListener(\"copy\",e),M.el.removeEventListener(\"cut\",e),M.el.removeEventListener(\"paste\",n)}function E(){var e=navigator.userAgent.match(/chrome\\/(\\d+)/i),t=e?parseInt(e[1],10):0;return M.helpers.isAndroid()&&M.browser.chrome&&99<t}return{_init:function L(){M.el.addEventListener(\"copy\",e),M.el.addEventListener(\"cut\",e),M.el.addEventListener(\"paste\",n,{capture:!0}),M.events.on(\"drop\",i),M.browser.msie&&M.browser.version<11&&(M.events.on(\"mouseup\",function(e){2===e.button&&(setTimeout(function(){t=!1},50),t=!0)},!0),M.events.on(\"beforepaste\",n)),M.events.on(\"destroy\",s)},cleanEmptyTagsAndDivs:k,getRtfClipboard:function y(){return p},saveCopiedText:r,clean:a,replaceNewLines:m}},Object.assign(Y.DEFAULTS,{shortcutsEnabled:[],shortcutsHint:!0}),Y.SHORTCUTS_MAP={},Y.RegisterShortcut=function(e,t,n,r,o,i){Y.SHORTCUTS_MAP[(o?\"^\":\"\")+(i?\"@\":\"\")+e]={cmd:t,val:n,letter:r,shift:o,option:i},Y.DEFAULTS.shortcutsEnabled.push(t)},Y.RegisterShortcut(Y.KEYCODE.E,\"show\",null,\"E\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.B,\"bold\",null,\"B\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.I,\"italic\",null,\"I\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.U,\"underline\",null,\"U\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.S,\"strikeThrough\",null,\"S\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.CLOSE_SQUARE_BRACKET,\"indent\",null,\"]\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.OPEN_SQUARE_BRACKET,\"outdent\",null,\"[\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.Z,\"undo\",null,\"Z\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.Z,\"redo\",null,\"Z\",!0,!1),Y.RegisterShortcut(Y.KEYCODE.Y,\"redo\",null,\"Y\",!1,!1),Y.MODULES.shortcuts=function(s){var r=null;var l=!1;function e(e){if(!s.core.hasFocus())return!0;var t=e.which,n=-1!==navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey;if(\"keyup\"===e.type&&l&&t!==Y.KEYCODE.META)return l=!1;\"keydown\"===e.type&&(l=!1);var r=(e.shiftKey?\"^\":\"\")+(e.altKey?\"@\":\"\")+t,o=s.node.blockParent(s.selection.blocks()[0]);if(o&&\"TR\"==o.tagName&&o.getAttribute(\"contenteditable\")==undefined&&(o=o.closest(\"table\")),n&&Y.SHORTCUTS_MAP[r]&&(!o||\"false\"!==o.getAttribute(\"contenteditable\"))){var i=Y.SHORTCUTS_MAP[r].cmd;if(i&&0<=s.opts.shortcutsEnabled.indexOf(i)){var a=Y.SHORTCUTS_MAP[r].val;if(!1===s.events.trigger(\"shortcut\",[e,i,a]))return!(l=!0);if(i&&(s.commands[i]||Y.COMMANDS[i]&&Y.COMMANDS[i].callback))return e.preventDefault(),e.stopPropagation(),\"keydown\"===e.type&&((s.commands[i]||Y.COMMANDS[i].callback)(),l=!0),!1}}}return{_init:function t(){s.events.on(\"keydown\",e,!0),s.events.on(\"keyup\",e,!0)},get:function o(e){if(!s.opts.shortcutsHint)return null;if(!r)for(var t in r={},Y.SHORTCUTS_MAP)Object.prototype.hasOwnProperty.call(Y.SHORTCUTS_MAP,t)&&0<=s.opts.shortcutsEnabled.indexOf(Y.SHORTCUTS_MAP[t].cmd)&&(r[\"\".concat(Y.SHORTCUTS_MAP[t].cmd,\".\").concat(Y.SHORTCUTS_MAP[t].val||\"\")]={shift:Y.SHORTCUTS_MAP[t].shift,option:Y.SHORTCUTS_MAP[t].option,letter:Y.SHORTCUTS_MAP[t].letter});var n=r[e];return n?(s.helpers.isMac()?String.fromCharCode(8984):\"\".concat(s.language.translate(\"Ctrl\"),\"+\"))+(n.shift?s.helpers.isMac()?String.fromCharCode(8679):\"\".concat(s.language.translate(\"Shift\"),\"+\"):\"\")+(n.option?s.helpers.isMac()?String.fromCharCode(8997):\"\".concat(s.language.translate(\"Alt\"),\"+\"):\"\")+n.letter:null}}},Y.MODULES.snapshot=function(l){function n(e){for(var t=e.parentNode.childNodes,n=0,r=null,o=0;o<t.length;o++){if(r){var i=t[o].nodeType===Node.TEXT_NODE&&\"\"===t[o].textContent,a=r.nodeType===Node.TEXT_NODE&&t[o].nodeType===Node.TEXT_NODE,s=r.nodeType===Node.TEXT_NODE&&\"\"===r.textContent;i||a||s||n++}if(t[o]===e)return n;r=t[o]}}function o(e){var t=[];if(!e.parentNode)return[];for(;!l.node.isElement(e);)t.push(n(e)),e=e.parentNode;return t.reverse()}function i(e,t){for(;e&&e.nodeType===Node.TEXT_NODE;){var n=e.previousSibling;n&&n.nodeType===Node.TEXT_NODE&&(t+=n.textContent.length),e=n}return t}function c(e){for(var t=l.el,n=0;n<e.length;n++)t=t.childNodes[e[n]];return t}function r(e,t){try{var n=c(t.scLoc),r=t.scOffset,o=c(t.ecLoc),i=t.ecOffset,a=l.doc.createRange();a.setStart(n,r),a.setEnd(o,i),e.addRange(a)}catch(s){}}return{get:function a(){var e,t={};if(l.events.trigger(\"snapshot.before\"),t.html=(l.$wp?l.$el.html():l.$oel.get(0).outerHTML).replace(/ style=\"\"/g,\"\"),t.ranges=[],l.$wp&&l.selection.inEditor()&&l.core.hasFocus())for(var n=l.selection.ranges(),r=0;r<n.length;r++)t.ranges.push({scLoc:o((e=n[r]).startContainer),scOffset:i(e.startContainer,e.startOffset),ecLoc:o(e.endContainer),ecOffset:i(e.endContainer,e.endOffset)});return l.events.trigger(\"snapshot.after\",[t]),t},restore:function s(e){l.$el.html()!==e.html&&(l.opts.htmlExecuteScripts?l.$el.html(e.html):l.el.innerHTML=e.html);var t=l.selection.get();l.selection.clear(),l.events.focus(!0);for(var n=0;n<e.ranges.length;n++)r(t,e.ranges[n])},equal:function d(e,t){return e.html===t.html&&(!l.core.hasFocus()||JSON.stringify(e.ranges)===JSON.stringify(t.ranges))}}},Y.MODULES.undo=function(n){function e(e){var t=e.which;n.keys.ctrlKey(e)&&(t===Y.KEYCODE.Z&&e.shiftKey&&e.preventDefault(),t===Y.KEYCODE.Z&&e.preventDefault())}var t=null;function r(){if(n.undo_stack&&!n.undoing)for(;n.undo_stack.length>n.undo_index;)n.undo_stack.pop()}function o(){n.undo_index=0,n.undo_stack=[]}function i(){n.undo_stack=[]}return{_init:function a(){o(),n.events.on(\"initialized\",function(){t=(n.$wp?n.$el.html():n.$oel.get(0).outerHTML).replace(/ style=\"\"/g,\"\")}),n.events.on(\"blur\",function(){n.el.querySelector(\".fr-dragging\")||n.undo.saveStep()}),n.events.on(\"keydown\",e),n.events.on(\"destroy\",i)},run:function s(){if(1<n.undo_index){n.undoing=!0;var e=n.undo_stack[--n.undo_index-1];clearTimeout(n._content_changed_timer),n.snapshot.restore(e),t=e.html,n.popups.hideAll(),n.toolbar.enable(),n.events.trigger(\"contentChanged\"),n.events.trigger(\"commands.undo\"),n.undoing=!1,n.selection.restore()}},redo:function l(){if(n.undo_index<n.undo_stack.length){n.undoing=!0;var e=n.undo_stack[n.undo_index++];clearTimeout(n._content_changed_timer),n.snapshot.restore(e),t=e.html,n.popups.hideAll(),n.toolbar.enable(),n.events.trigger(\"contentChanged\"),n.events.trigger(\"commands.redo\"),n.undoing=!1}},canDo:function c(){return!(0===n.undo_stack.length||n.undo_index<=1)},canRedo:function d(){return n.undo_index!==n.undo_stack.length},dropRedo:r,reset:o,saveStep:function f(e){if(!(!n.undo_stack||n.undoing||n.el.querySelector(\".fr-marker\")||n.el.querySelector(\".fr-marker\")&&n.opts.iframe&&n.markdown&&!n.markdown.isEnabled()))if(void 0===e){if((e=n.snapshot.get())&&e.html&&n.undo_stack[n.undo_index-1]&&e.html===n.undo_stack[n.undo_index-1].html)return;n.undo_stack[n.undo_index-1]&&n.snapshot.equal(n.undo_stack[n.undo_index-1],e)||(r(),n.undo_stack.push(e),n.undo_index++,function o(e,t){var n=t.split(\"fr-selected-cell\").join(\"\");n=n.split(' class=\"\"').join(\"\");var r=e.split(\"fr-selected-cell\").join(\"\");return n===(r=r.split(' class=\"\"').join(\"\"))}(t,e.html)||(n.events.trigger(\"contentChanged\"),t=e.html))}else r(),0<n.undo_index?n.undo_stack[n.undo_index-1]=e:(n.undo_stack.push(e),n.undo_index++)}}},Object.assign(Y.DEFAULTS,{height:null,heightMax:null,heightMin:null,width:null}),Y.MODULES.size=function(r){function e(){o(),r.opts.height&&r.$el.css(\"minHeight\",r.opts.height-r.helpers.getPX(r.$el.css(\"padding-top\"))-r.helpers.getPX(r.$el.css(\"padding-bottom\")));var e=!1;if(r.opts.fullPage)for(var t=r.$el.find(\"span,p,div\"),n=0;n<t.length;n++)if(t[n].style.height&&t[n].style.height.includes(\"vh\")){e=!0;break}r.opts.fullPage&&e&&(r.opts.heightMin&&r.$iframe.css(\"minHeight\",r.opts.heightMin),r.opts.heightMax&&r.$iframe.css(\"maxHeight\",r.opts.heightMax),r.$el.css(\"overflow-y\",\"auto\")),r.opts.iframe&&r.markdown&&r.markdown.isEnabled()?r.$iframe.height(r.$wp.parent().outerHeight(!0)):r.$iframe.height(r.$el.outerHeight(!0))}function o(){r.opts.heightMin?r.$el.css(\"minHeight\",r.opts.heightMin):r.$el.css(\"minHeight\",\"\"),r.opts.heightMax?(r.$wp.css(\"maxHeight\",r.opts.heightMax),r.$wp.css(\"overflow\",\"auto\")):(r.$wp.css(\"maxHeight\",\"\"),r.$wp.css(\"overflow\",\"\")),r.opts.height?(r.$wp.css(\"height\",r.opts.height),r.$wp.css(\"overflow\",\"auto\"),r.$el.css(\"minHeight\",r.opts.height-r.helpers.getPX(r.$el.css(\"padding-top\"))-r.helpers.getPX(r.$el.css(\"padding-bottom\")))):(r.$wp.css(\"height\",\"\"),r.opts.heightMin||r.$el.css(\"minHeight\",\"\"),r.opts.heightMax||r.$wp.css(\"overflow\",\"\")),r.opts.width&&r.$box.width(r.opts.width)}return{_init:function t(){if(!r.$wp)return!1;o(),r.$iframe&&(r.events.on(\"keyup keydown\",function(){setTimeout(e,0)},!0),r.events.on(\"commands.after html.set init initialized paste.after\",e))},syncIframe:e,refresh:o}},Object.assign(Y.DEFAULTS,{documentReady:!1,editorClass:null,typingTimer:500,iframe:!1,requestWithCORS:!0,requestWithCredentials:!1,requestHeaders:{},useClasses:!0,spellcheck:!0,iframeDefaultStyle:'html{margin:0px;height:auto;}body{height:auto;padding:20px;background:transparent;color:#000000;position:relative;z-index: 2;-webkit-user-select:auto;margin:0px;overflow:hidden;min-height:20px;}body:after{content:\"\";display:block;clear:both;}body::-moz-selection{background:#b5d6fd;color:#000;}body::selection{background:#b5d6fd;color:#000;}',iframeStyle:\"\",iframeStyleFiles:[],direction:\"auto\",zIndex:1,tabIndex:null,disableRightClick:!1,scrollableContainer:\"body\",keepFormatOnDelete:!1,theme:null}),Y.MODULES.core=function(l){var c=l.$;function n(){if(l.$box.addClass(\"fr-box\".concat(l.opts.editorClass?\" \".concat(l.opts.editorClass):\"\")),l.$box.attr(\"role\",\"application\"),l.$wp.addClass(\"fr-wrapper\"),l.opts.documentReady&&l.$box.addClass(\"fr-document\"),function a(){l.opts.iframe||l.$el.addClass(\"fr-element fr-view\"),(l.opts.height&&l.opts.height<window.innerHeight||l.opts.heightMax&&l.opts.heightMax<window.innerHeight)&&l.$el.addClass(\"fr-element-scroll-visible\")}(),l.opts.iframe){l.$iframe.addClass(\"fr-iframe\"),l.$el.addClass(\"fr-view\");for(var e=0;e<l.o_doc.styleSheets.length;e++){var t=void 0,n=!1;try{t=l.o_doc.styleSheets[e].cssRules}catch(s){}if(l.o_doc.styleSheets[e].href&&(-1<l.o_doc.styleSheets[e].href.indexOf(\"codemirror\")||-1<l.o_doc.styleSheets[e].href.indexOf(\"font-awesome\"))&&(n=!(t=null)),t)for(var r=0,o=t.length;r<o;r++)if(!t[r].selectorText||0!==t[r].selectorText.indexOf(\".fr-view\")&&0!==t[r].selectorText.indexOf(\".fr-element\")&&0!==t[r].selectorText.indexOf(\".fr-box.fr-basic .fr-element\")&&0!==t[r].selectorText.indexOf(\".fr-markdown-view\")&&0!==t[r].selectorText.indexOf(\".fr-markdown-editor\")&&0!==t[r].selectorText.indexOf(\".fr-wrapper-markdown\")&&0!==t[r].selectorText.indexOf(\".gutter-horizontal\")&&0!==t[r].selectorText.indexOf(\".e-resize-handler\")&&0!==t[r].selectorText.indexOf(\".fr-find-replace-highlight\")&&0!==t[r].selectorText.indexOf(\".fr-find-replace-current-highlight\"))try{n&&l.o_doc.styleSheets[e].href&&t[r].selectorText&&(l.opts.iframeStyle+=\"\".concat(t[r].selectorText,\"{\").concat(t[r].style.cssText,\"}\"),n=!1)}catch(s){}else 0<t[r].style.cssText.length&&(0===t[r].selectorText.indexOf(\".fr-box.fr-basic .fr-element\")&&(l.opts.iframeStyle+=\"\".concat(t[r].selectorText,\"{\").concat(t[r].style.cssText,\"}\")),0===t[r].selectorText.indexOf(\".fr-view\")?l.opts.iframeStyle+=\"\".concat(t[r].selectorText.replace(/\\.fr-view/g,\"body\"),\"{\").concat(t[r].style.cssText,\"}\"):l.opts.iframeStyle+=\"\".concat(t[r].selectorText.replace(/\\.fr-element/g,\"body\"),\"{\").concat(t[r].style.cssText,\"}\"));else if(l.o_doc.styleSheets[e].href&&(-1<l.o_doc.styleSheets[e].href.indexOf(\"codemirror\")||-1<l.o_doc.styleSheets[e].href.indexOf(\"font-awesome\")||-1<l.o_doc.styleSheets[e].href.indexOf(\"froala-editor\"))){var i=c(\"<link rel='stylesheet' type='text/css' href='\".concat(l.o_doc.styleSheets[e].href,\"'>\"));l.$head.append(i)}}}\"auto\"!==l.opts.direction&&l.$box.removeClass(\"fr-ltr fr-rtl\").addClass(\"fr-\".concat(l.opts.direction)),l.$el.attr(\"dir\",l.opts.direction),l.$wp.attr(\"dir\",l.opts.direction),1<l.opts.zIndex&&l.$box.css(\"z-index\",l.opts.zIndex),l.opts.theme&&l.$box.addClass(\"\".concat(l.opts.theme,\"-theme\")),l.opts.tabIndex=l.opts.tabIndex||l.$oel.attr(\"tabIndex\"),l.opts.tabIndex&&l.$el.attr(\"tabIndex\",l.opts.tabIndex)}return{_init:function r(){if(Y.INSTANCES.push(l),function e(){l.drag_support={filereader:\"undefined\"!=typeof FileReader,formdata:Boolean(l.win.FormData),progress:\"upload\"in new XMLHttpRequest}}(),l.$wp){n(),l.html.set(l._original_html),l.$el.attr(\"spellcheck\",l.opts.spellcheck),l.helpers.isMobile()&&(l.$el.attr(\"autocomplete\",l.opts.spellcheck?\"on\":\"off\"),l.$el.attr(\"autocorrect\",l.opts.spellcheck?\"on\":\"off\"),l.$el.attr(\"autocapitalize\",l.opts.spellcheck?\"on\":\"off\")),l.opts.disableRightClick&&l.events.$on(l.$el,\"contextmenu\",function(e){if(2===e.button)return e.preventDefault(),e.stopPropagation(),!1});try{l.doc.execCommand(\"styleWithCSS\",!1,!1)}catch(t){}}\"TEXTAREA\"===l.$oel.get(0).tagName&&(l.events.on(\"contentChanged\",function(){l.$oel.val(l.html.get())}),l.events.on(\"form.submit\",function(){l.$oel.val(l.html.get())}),l.events.on(\"form.reset\",function(){l.html.set(l._original_html)}),l.$oel.val(l.html.get())),l.helpers.isIOS()&&l.events.$on(l.$doc,\"selectionchange\",function(){l.$doc.get(0).hasFocus()||l.$win.get(0).focus()}),l.events.trigger(\"init\"),l.opts.autofocus&&!l.opts.initOnClick&&l.$wp&&l.events.on(\"initialized\",function(){l.events.focus(!0)})},destroy:function t(e){\"TEXTAREA\"===l.$oel.get(0).tagName&&l.$oel.val(e),l.$box&&l.$box.removeAttr(\"role\"),l.$wp&&(\"TEXTAREA\"===l.$oel.get(0).tagName?(l.$el.html(\"\"),l.$wp.html(\"\"),l.$box.replaceWith(l.$oel),l.$oel.show()):(l.$wp.replaceWith(e),l.$el.html(\"\"),l.$box.removeClass(\"fr-view fr-ltr fr-box \".concat(l.opts.editorClass||\"\")),l.opts.theme&&l.$box.addClass(\"\".concat(l.opts.theme,\"-theme\")))),this.$wp=null,this.$el=null,this.el=null,this.$box=null},isEmpty:function e(){return l.node.isEmpty(l.el)},getXHR:function o(e,t){var n=new XMLHttpRequest;for(var r in n.open(t,e,!0),l.opts.requestWithCredentials&&(n.withCredentials=!0),l.opts.requestHeaders)Object.prototype.hasOwnProperty.call(l.opts.requestHeaders,r)&&n.setRequestHeader(r,l.opts.requestHeaders[r]);return n},injectStyle:function i(e){if(l.opts.iframe){l.$head.find(\"style[data-fr-style], link[data-fr-style]\").remove(),l.$head.append('<style data-fr-style=\"true\">'.concat(e,\"</style>\"));for(var t=0;t<l.opts.iframeStyleFiles.length;t++){var n=c('<link data-fr-style=\"true\" rel=\"stylesheet\" href=\"'.concat(l.opts.iframeStyleFiles[t],'\">'));n.get(0).addEventListener(\"load\",l.size.syncIframe),l.$head.append(n)}}},hasFocus:function a(){return l.browser.mozilla&&l.helpers.isMobile()?l.selection.inEditor():l.node.hasFocus(l.el)||0<l.$el.find(\"*:focus\").length},sameInstance:function s(e){if(!e)return!1;var t=e.data(\"instance\");return!!t&&t.id===l.id}}},Y.POPUP_TEMPLATES={\"text.edit\":\"[_EDIT_]\"},Y.RegisterTemplate=function(e,t){Y.POPUP_TEMPLATES[e]=t},Y.MODULES.popups=function(u){var r,d=u.$;u.shared.popups||(u.shared.popups={});var h,g=u.shared.popups;function C(e,t){t.isVisible()||(t=u.$sc),t.is(g[e].data(\"container\"))||(g[e].data(\"container\",t),t.append(g[e]))}function o(e){var t;e.find(\".fr-upload-progress\").addClass(\"fr-height-set\"),e.find(\".fr-upload-progress\").removeClass(\"fr-height-auto\"),u.popups.get(\"filesManager.insert\").removeClass(\"fr-height-auto\"),e.find(\".fr-files-upload-layer\").hasClass(\"fr-active\")&&(t=1),e.find(\".fr-files-by-url-layer\").hasClass(\"fr-active\")&&(t=2),e.find(\".fr-files-embed-layer\").hasClass(\"fr-active\")&&(t=3),e.find(\".fr-upload-progress-layer\").get(0).clientHeight+10<e.find(\".fr-upload-progress\").get(0).clientHeight&&e.find(\".fr-upload-progress\").addClass(\"fr-height-auto\"),400<e[0].clientHeight&&(e[0].childNodes[4].style.height=\"\".concat(e[0].clientHeight-(e[0].childNodes[0].clientHeight+e[0].childNodes[t].clientHeight)-80,\"px\"))}var i=2e3;function a(){d(this).toggleClass(\"fr-not-empty\",!0)}function s(){var e=d(this);e.toggleClass(\"fr-not-empty\",\"\"!==e.val())}function m(e){return g[e]&&u.node.hasClass(g[e],\"fr-active\")&&u.core.sameInstance(g[e])||!1}function v(e){for(var t in g)if(Object.prototype.hasOwnProperty.call(g,t)&&m(t)&&(void 0===e||g[t].data(\"instance\")===e))return g[t];return!1}function n(e){var t=null;if((t=\"string\"!=typeof e?e:g[e])&&u.node.hasClass(t,\"fr-do-not-hide\")||\"filesManager.insert\"===e&&u.filesManager&&u.filesManager.isChildWindowOpen())return!1;if(t&&u.node.hasClass(t,\"fr-active\")&&(t.removeClass(\"fr-active fr-above\"),u.events.trigger(\"popups.hide.\".concat(e)),u.$tb&&(1<u.opts.zIndex?u.$tb.css(\"zIndex\",u.opts.zIndex+1):u.$tb.css(\"zIndex\",\"\")),u.events.disableBlur(),t.find(\"input, textarea, button\").each(function(){this===this.ownerDocument.activeElement&&this.blur()}),t.find(\"input, textarea\").attr(\"disabled\",\"disabled\"),h))for(var n=0;n<h.length;n++)d(h[n]).removeClass(\"fr-btn-active-popup\")}function b(e){for(var t in void 0===e&&(e=[]),g)Object.prototype.hasOwnProperty.call(g,t)&&e.indexOf(t)<0&&n(t)}function t(){u.shared.exit_flag=!0}function E(){u.shared.exit_flag=!1}function l(){return u.shared.exit_flag}function c(e,t){var n,r=function c(e,t){var n=Y.POPUP_TEMPLATES[e];if(!n)return null;for(var r in\"function\"==typeof n&&(n=n.apply(u)),t)Object.prototype.hasOwnProperty.call(t,r)&&(n=n.replace(\"[_\".concat(r.toUpperCase(),\"_]\"),t[r]));return n}(e,t),o=d(u.doc.createElement(\"DIV\"));if(!r)return\"filesManager.insert\"===e?o.addClass(\"fr-popup fr-files-manager fr-empty\"):o.addClass(\"fr-popup fr-empty\"),(n=d(\"body\").first()).append(o),o.data(\"container\",n),g[e]=o;\"filesManager.insert\"===e?o.addClass(\"fr-popup fr-files-manager\".concat(u.helpers.isMobile()?\" fr-mobile\":\" fr-desktop\").concat(u.opts.toolbarInline?\" fr-inline\":\"\")):o.addClass(\"fr-popup\".concat(u.helpers.isMobile()?\" fr-mobile\":\" fr-desktop\").concat(u.opts.toolbarInline?\" fr-inline\":\"\")),o.html(r),u.opts.theme&&o.addClass(\"\".concat(u.opts.theme,\"-theme\")),1<u.opts.zIndex&&(!u.opts.editInPopup&&u.$tb?u.$tb.css(\"z-index\",u.opts.zIndex+2):o.css(\"z-index\",u.opts.zIndex+2)),\"auto\"!==u.opts.direction&&o.removeClass(\"fr-ltr fr-rtl\").addClass(\"fr-\".concat(u.opts.direction)),o.find(\"input, textarea\").attr(\"dir\",u.opts.direction).attr(\"disabled\",\"disabled\"),(n=d(\"body\").first()).append(o),o.data(\"container\",n);var i=(g[e]=o).find(\".fr-color-hex-layer\");if(0<i.length){var a=u.helpers.getPX(o.find(\".fr-color-set > span\").css(\"width\")),s=u.helpers.getPX(i.css(\"paddingLeft\")),l=u.helpers.getPX(i.css(\"paddingRight\"));i.css(\"width\",a*u.opts.colorsStep+s+l)}return u.button.bindCommands(o,!1),o}function L(a){var s=g[a];return{_windowResize:function(){var e=s.data(\"instance\")||u;if(!e.helpers.isMobile()&&s.isVisible()){var t=s.find(\".fr-file-progress-bar-layer\");if(\"file.insert\"===a&&0<t.length&&t.hasClass(\"fr-active\")){var n=u.$tb.find('.fr-command[data-cmd=\"insertFile\"]');e.events.disableBlur();var r=u.button.getPosition(n),o=r.left,i=r.top;u.position.at(o,i,g[a],0),e.events.enableBlur()}else e.events.disableBlur(),e.popups.hide(a),e.events.enableBlur()}},_inputFocus:function(e){var t=s.data(\"instance\")||u,n=d(e.currentTarget);if(n.is(\"input:file\")&&n.closest(\".fr-layer\").addClass(\"fr-input-focus\"),e.preventDefault(),e.stopPropagation(),setTimeout(function(){t.events.enableBlur()},100),t.helpers.isMobile()){var r=d(t.o_win).scrollTop();setTimeout(function(){d(t.o_win).scrollTop(r)},0)}},_inputBlur:function(e){var t=s.data(\"instance\")||u,n=d(e.currentTarget);n.is(\"input:file\")&&n.closest(\".fr-layer\").removeClass(\"fr-input-focus\"),document.activeElement!==this&&d(this).isVisible()&&(t.events.blurActive()&&t.events.trigger(\"blur\"),t.events.enableBlur())},_editorKeydown:function(e){var t=s.data(\"instance\")||u;t.keys.ctrlKey(e)||e.which===Y.KEYCODE.ALT||e.which===Y.KEYCODE.ESC||(m(a)&&s.findVisible(\".fr-back\").length?t.button.exec(s.findVisible(\".fr-back\").first()):e.which!==Y.KEYCODE.ALT&&t.popups.hide(a))},_preventFocus:function(e){var t=s.data(\"instance\")||u,n=e.originalEvent?e.originalEvent.target||e.originalEvent.originalTarget:null;\"mouseup\"===e.type||d(n).is(\":focus\")||t.events.disableBlur(),\"mouseup\"!==e.type||d(n).hasClass(\"fr-command\")||0<d(n).parents(\".fr-command\").length||d(n).hasClass(\"fr-dropdown-content\")||d(n).hasClass(\"fr-dropdown-menu\")||u.button.hideActiveDropdowns(s),(u.browser.safari||u.browser.mozilla)&&\"mousedown\"===e.type&&d(n).is(\"input[type=file]\")&&t.events.disableBlur();var r=\"input, textarea, button, select, label, .fr-command\";if(n&&!d(n).is(r)&&0===d(n).parents(r).length)return e.stopPropagation(),!1;n&&d(n).is(r)&&e.stopPropagation(),E()},_editorMouseup:function(){s.isVisible()&&l()&&0<s.findVisible(\"input:focus, textarea:focus, button:focus, select:focus\").length&&u.events.disableBlur()},_windowMouseup:function(e){if(!u.core.sameInstance(s))return!0;var t=s.data(\"instance\")||u;s.isVisible()&&l()&&(e.stopPropagation(),t.markers.remove(),t.popups.hide(a),E())},_windowKeydown:function(e){if(!u.core.sameInstance(s))return!0;var t=s.data(\"instance\")||u,n=e.which;if(Y.KEYCODE.ESC===n){if(t.popups.isVisible(a)&&t.opts.toolbarInline)return e.stopPropagation(),t.popups.isVisible(a)&&(s.findVisible(\".fr-back\").length?(t.button.exec(s.findVisible(\".fr-back\").first()),t.accessibility.focusPopupButton(s)):s.findVisible(\".fr-dismiss\").length?t.button.exec(s.findVisible(\".fr-dismiss\").first()):(t.popups.hide(a),t.toolbar.showInline(null,!0),t.accessibility.focusPopupButton(s))),!1;if(t.popups.isVisible(a))return s.findVisible(\".fr-back\").length?(t.button.exec(s.findVisible(\".fr-back\").first),t.accessibility.focusPopupButton(s)):s.findVisible(\".fr-dismiss\").length?t.button.exec(s.findVisible(\".fr-dismiss\").first()):(t.popups.hide(a),t.accessibility.focusPopupButton(s)),!1}},_repositionPopup:function(){if(!u.opts.height&&!u.opts.heightMax||u.opts.toolbarInline)return!0;if(u.$wp&&m(a)&&s.parent().get(0)===u.$sc.get(0)){var e=s.offset().top-u.$wp.offset().top,t=u.$wp.outerHeight();u.node.hasClass(s.get(0),\"fr-above\")&&(e+=s.outerHeight()),t<e||e<0?s.addClass(\"fr-hidden\"):s.removeClass(\"fr-hidden\")}},handleWindowClick:function(e){if(!u.core.sameInstance(s))return!0;var t=s.data(\"instance\")||u;s.isVisible()&&e.target&&(0<d(e.target).find(\"body\").length||\"BODY\"===d(e.target)[0].tagName)&&(e.stopPropagation(),t.popups.hide(a))}}}function f(e,t){u.events.on(\"mouseup\",e._editorMouseup,!0),u.$wp&&u.events.on(\"keydown\",e._editorKeydown),u.events.on(\"focus\",function(){g[t].removeClass(\"focused\")}),u.events.on(\"blur\",function(){v()&&u.markers.remove(),u.helpers.isMobile()?g[t].hasClass(\"focused\")?(b(),g[t].removeClass(\"focused\")):g[t].addClass(\"focused\"):g[t].find(\"iframe\").length||b()}),u.$wp&&!u.helpers.isMobile()&&u.events.$on(u.$wp,\"scroll.popup\".concat(t),e._repositionPopup),u.events.on(\"window.mouseup\",e._windowMouseup,!0),u.events.on(\"window.keydown\",e._windowKeydown,!0),u.opts.iframe&&window.addEventListener(\"click\",e.handleWindowClick),g[t].data(\"inst\".concat(u.id),!0),u.events.on(\"destroy\",function(){u.core.sameInstance(g[t])&&(d(\"body\").first().append(g[t]),g[t].removeClass(\"fr-active\"))},!0)}function p(){var e=d(this).prev().children().first();e.attr(\"checked\",!e.attr(\"checked\"))}function e(){for(var e in g)if(Object.prototype.hasOwnProperty.call(g,e)){var t=g[e];t&&(t.html(\"\").removeData().remove(),g[e]=null)}g=[]}return u.shared.exit_flag=!1,{_init:function y(){r=window.innerHeight,u.events.on(\"shared.destroy\",e,!0),u.events.on(\"window.mousedown\",t),u.events.on(\"window.touchmove\",E),u.events.$on(d(u.o_win),\"scroll\",E),u.events.on(\"mousedown\",function(e){v()&&(e.stopPropagation(),u.$el.find(\".fr-marker\").remove(),t(),u.events.disableBlur())})},create:function N(e,t){var n=c(e,t),r=L(e);f(r,e),u.events.$on(n,\"mousedown mouseup touchstart touchend touch\",\"*\",r._preventFocus,!0),u.events.$on(n,\"focus\",\"input, textarea, button, select\",r._inputFocus,!0),u.events.$on(n,\"blur\",\"input, textarea, button, select\",r._inputBlur,!0);var o=n.find(\"input, textarea\");return function i(e){for(var t=0;t<e.length;t++){var n=e[t],r=d(n);0===r.next().length&&r.attr(\"placeholder\")&&(r.after('<label for=\"'.concat(r.attr(\"id\"),'\">').concat(r.attr(\"placeholder\"),\"</label>\")),r.attr(\"placeholder\",\"\"))}}(o),u.events.$on(o,\"focus\",a),u.events.$on(o,\"blur change\",s),u.events.$on(n,\"click\",\".fr-checkbox + label\",p),u.accessibility.registerPopup(e),u.helpers.isIOS()&&u.events.$on(n,\"touchend\",\"label\",function(){d(\"#\".concat(d(this).attr(\"for\"))).prop(\"checked\",function(e,t){return!t})},!0),u.events.$on(d(u.o_win),\"resize\",r._windowResize,!0),\"filesManager.insert\"===e&&g[\"filesManager.insert\"].css(\"zIndex\",2147483641),n},get:function S(e){var t=g[e];return t&&!t.data(\"inst\".concat(u.id))&&f(L(e),e),t},show:function T(e,t,n,r,o){if(m(e)||(v()&&0<u.$el.find(\".fr-marker\").length?(u.events.disableBlur(),u.selection.restore()):v()||(u.events.disableBlur(),u.events.focus(),u.events.enableBlur())),b([e]),!g[e])return!1;var i=u.button.getButtons(\".fr-dropdown.fr-active\");i.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).parents(\".fr-toolbar\").css(\"zIndex\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),i.next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),g[e].data(\"instance\",u),u.$tb&&u.$tb.data(\"instance\",u);var a=m(e);g[e].addClass(\"fr-active\").removeClass(\"fr-hidden\").find(\"input, textarea\").removeAttr(\"disabled\");var s=g[e].data(\"container\");if(function p(e,t){t.isVisible()||(t=u.$sc),t.contains([g[e].get(0)])||t.append(g[e])}(e,s),u.opts.toolbarInline&&s&&u.$tb&&s.get(0)===u.$tb.get(0)&&(C(e,u.$sc),n=u.$tb.offset().top-u.helpers.getPX(u.$tb.css(\"margin-top\")),t=u.$tb.offset().left+u.$tb.outerWidth()/2,u.node.hasClass(u.$tb.get(0),\"fr-above\")&&n&&(n+=u.$tb.outerHeight()),r=0),s=g[e].data(\"container\"),u.opts.iframe&&!r&&!a){var l=u.helpers.getPX(u.$wp.find(\".fr-iframe\").css(\"padding-top\")),c=u.helpers.getPX(u.$wp.find(\".fr-iframe\").css(\"padding-left\"));t&&(t-=u.$iframe.offset().left+c),n&&(n-=u.$iframe.offset().top+l)}s.is(u.$tb)?u.$tb.css(\"zIndex\",(u.opts.zIndex||1)+4):g[e].css(\"zIndex\",(u.opts.zIndex||1)+3),u.opts.toolbarBottom&&s&&u.$tb&&s.get(0)===u.$tb.get(0)&&(g[e].addClass(\"fr-above\"),n&&(n-=g[e].outerHeight())),o&&(t-=g[e].width()/2),t+g[e].outerWidth()>u.$sc.offset().left+u.$sc.width()&&(t-=t+g[e].outerWidth()-u.$sc.offset().left-u.$sc.width()),t<u.$sc.offset().left&&\"rtl\"===u.opts.direction&&(t=u.$sc.offset().left),g[e].removeClass(\"fr-active\"),u.position.at(t,n,g[e],r||0);var d=u.node.blockParent(u.selection.blocks()[0]);if(d&&\"false\"===d.getAttribute(\"contenteditable\"))g[e].removeClass(\"fr-active\");else{var f=u.selection.element().parentElement.getAttribute(\"contenteditable\");f&&\"false\"===f?g[e].removeClass(\"fr-active\"):g[e].addClass(\"fr-active\")}a||u.accessibility.focusPopup(g[e]),u.opts.toolbarInline&&u.toolbar.hide(),u.$tb&&(h=u.$tb.find(\".fr-btn-active-popup\")),u.events.trigger(\"popups.show.\".concat(e)),L(e)._repositionPopup(),E()},hide:n,onHide:function M(e,t){u.events.on(\"popups.hide.\".concat(e),t)},hideAll:b,setContainer:C,refresh:function A(e){g[e].data(\"instance\",u),u.events.trigger(\"popups.refresh.\".concat(e));for(var t=g[e].find(\".fr-command\"),n=0;n<t.length;n++){var r=d(t[n]);0===r.parents(\".fr-dropdown-menu\").length&&u.button.refresh(r)}},onRefresh:function x(e,t){u.events.on(\"popups.refresh.\".concat(e),t)},onShow:function O(e,t){u.events.on(\"popups.show.\".concat(e),t)},isVisible:m,setFileListHeight:o,areVisible:v,setPopupDimensions:function w(e,t){t&&e.find(\".fr-upload-progress-layer\").get(0).clientHeight<i&&(e.find(\".fr-upload-progress\").addClass(\"fr-height-auto\"),u.popups.get(\"filesManager.insert\").addClass(\"fr-height-auto\"),e.find(\".fr-upload-progress\").removeClass(\"fr-height-set\"),i=2e3),e.get(0).clientHeight>window.innerHeight/2&&(window.innerWidth<500?e.get(0).clientHeight>.6*r&&o(e):400<e.get(0).clientHeight&&o(e),i=e.find(\".fr-upload-progress-layer\").get(0).clientHeight);var n=window.innerWidth;switch(!0){case n<=320:e.width(200);break;case n<=420:e.width(250);break;case n<=520:e.width(300);break;case n<=720:e.width(400);break;case 720<n:e.width(530)}}}},Y.MODULES.accessibility=function(p){var l,u=p.$,i=!0;function c(t){for(var e=p.$el.find('[contenteditable=\"true\"]'),n=!1,r=0;e.get(r);)u(e.get(r)).is(\":focus\")&&(n=!0),r++;if(t&&t.length&&!n){t.data(\"blur-event-set\")||t.parents(\".fr-popup\").length||(p.events.$on(t,\"blur\",function(){var e=t.parents(\".fr-toolbar, .fr-popup\").data(\"instance\")||p;e.events.blurActive()&&!p.core.hasFocus()&&e.events.trigger(\"blur\"),setTimeout(function(){e.events.enableBlur()},100)},!0),t.data(\"blur-event-set\",!0));var o=t.parents(\".fr-toolbar, .fr-popup\").data(\"instance\")||p;if(p.browser.safari&&(!l||null==p.shared.safariSelection)){var i=p.selection.get();i&&0<i.rangeCount?p.shared.safariSelection=i.getRangeAt(0).cloneRange():p.shared.safariSelection=null}o.events.disableBlur(),t.get(0).focus(),p.shared.$f_el=t}}function h(e,t){var n=t?\"last\":\"first\",r=s(C(e))[n]();if(r.length)return c(r),!0}function a(e){return e.is(\"input, textarea, select\")&&t(),p.events.disableBlur(),e.get(0).focus(),!0}function g(e,t){var n=e.find(\"input, textarea, button, select, span\").filter(function(){return u(this).isVisible()}).not(\":disabled\"),r=n.first();if((n=r.parents(\".fr-color-set\").get(0)&&r.parents(\".fr-popup\").get(0)?n.filter(\"input\"):t?n.last():n.first()).length)return a(n);if(p.shared.with_kb){var o=e.findVisible(\".fr-active-item\").first();if(o.length)return a(o);var i=e.findVisible(\"[tabIndex]\").first();if(i.length)return a(i)}}function t(){0===p.$el.find(\".fr-marker\").length&&p.core.hasFocus()&&p.selection.save()}function d(){var e=p.popups.areVisible();if(e){var t=e.find(\".fr-buttons\");return t.find(\"button:focus, .fr-group span:focus\").length?!h(e.data(\"instance\").$tb):!h(t)}return!h(p.$tb)}function f(){var e=null;return p.shared.$f_el.is(\".fr-dropdown.fr-active\")?e=p.shared.$f_el:p.shared.$f_el.closest(\".fr-dropdown-menu\").prev().is(\".fr-dropdown.fr-active\")&&(e=p.shared.$f_el.closest(\".fr-dropdown-menu\").prev()),e}function s(e){for(var t=-1,n=0;n<e.length;n++)u(e[n]).hasClass(\"fr-open\")&&(t=n);var r=e.index(p.$tb.find(\".fr-more-toolbar.fr-expanded > button.fr-command\").first());if(0<r&&-1!==t){var o=e.slice(r,e.length),i=(e=e.slice(0,r)).slice(0,t+1),a=e.slice(t+1,e.length);e=i;for(var s=0;s<o.length;s++)e.push(o[s]);for(var l=0;l<a.length;l++)e.push(a[l])}return e}function C(e){return e.findVisible(\"button:not(.fr-disabled), .fr-group span.fr-command\").filter(function(e){var t=u(e).parents(\".fr-more-toolbar\");return 0===t.length||0<t.length&&t.hasClass(\"fr-expanded\")})}function n(e,t,n){if(p.shared.$f_el){var r=f();r&&(p.button.click(r),p.shared.$f_el=r);var o=s(C(e)),i=o.index(p.shared.$f_el);if(0===i&&!n||i===o.length-1&&n){var a;if(t){if(e.parent().is(\".fr-popup\"))a=!g(e.parent().children().not(\".fr-buttons\"),!n);!1===a&&(p.shared.$f_el=null)}t&&!1===a||h(e,!n)}else c(u(o.get(i+(n?1:-1))));return!1}}function m(e,t){return n(e,t,!0)}function v(e,t){return n(e,t)}function b(e){if(p.shared.$f_el){var t;if(p.shared.$f_el.is(\".fr-dropdown.fr-active\"))return c(t=e?p.shared.$f_el.next().find(\".fr-command:not(.fr-disabled)\").first():p.shared.$f_el.next().find(\".fr-command:not(.fr-disabled)\").last()),!1;if(p.shared.$f_el.is(\"a.fr-command\"))return(t=e?p.shared.$f_el.closest(\"li\").nextAllVisible().first().find(\".fr-command:not(.fr-disabled)\").first():p.shared.$f_el.closest(\"li\").prevAllVisible().first().find(\".fr-command:not(.fr-disabled)\").first()).length||(t=e?p.shared.$f_el.closest(\".fr-dropdown-menu\").find(\".fr-command:not(.fr-disabled)\").first():p.shared.$f_el.closest(\".fr-dropdown-menu\").find(\".fr-command:not(.fr-disabled)\").last()),c(t),!1}}function E(){if(p.shared.$f_el){if(p.shared.$f_el.hasClass(\"fr-dropdown\"))p.button.click(p.shared.$f_el);else if(p.shared.$f_el.is(\"button.fr-back\")){p.opts.toolbarInline&&(p.events.disableBlur(),p.events.focus());var e=p.popups.areVisible(p);e&&(p.shared.with_kb=!1),p.button.click(p.shared.$f_el),y(e)}else{if(p.events.disableBlur(),p.button.click(p.shared.$f_el),p.shared.$f_el.attr(\"data-group-name\")){var t=p.$tb.find('.fr-more-toolbar[data-name=\"'.concat(p.shared.$f_el.attr(\"data-group-name\"),'\"]')),n=p.shared.$f_el;t.hasClass(\"fr-expanded\")&&(n=t.findVisible(\"button:not(.fr-disabled)\").first()),n&&c(n)}else if(p.shared.$f_el.attr(\"data-popup\")){var r=p.popups.areVisible(p);r&&r.data(\"popup-button\",p.shared.$f_el)}else if(p.shared.$f_el.attr(\"data-modal\")){var o=p.modals.areVisible(p);o&&o.data(\"modal-button\",p.shared.$f_el)}p.shared.$f_el=null}return!1}}function L(){if(p.shared.$f_el&&(p.events.disableBlur(),p.shared.$f_el.blur(),p.shared.$f_el=null),!1!==p.events.trigger(\"toolbar.focusEditor\")&&(p.events.disableBlur(),p.$el.get(0).focus(),p.events.focus(),p.browser.safari&&p.shared.safariSelection)){var e=p.shared.safariSelection,t=e.startContainer,n=e.endContainer,r=e.startOffset,o=e.endOffset,i=p.doc.createRange();i.setStart(t,r),i.setEnd(n,o),p.selection.get().removeAllRanges(),p.selection.get().addRange(i),p.shared.safariSelection=null}}function o(r){r&&r.length&&(p.events.$on(r,\"keydown\",function(e){if(!u(e.target).is(\"a.fr-command, button.fr-command, .fr-group span.fr-command\"))return!0;var t=r.parents(\".fr-popup\").data(\"instance\")||r.data(\"instance\")||p;p.shared.with_kb=!0;var n=t.accessibility.exec(e,r);return p.shared.with_kb=!1,n},!0),p.events.$on(r,\"mouseenter\",\"[tabIndex]\",function(e){var t=r.parents(\".fr-popup\").data(\"instance\")||r.data(\"instance\")||p;if(!i)return e.stopPropagation(),void e.preventDefault();var n=u(e.currentTarget);t.shared.$f_el&&t.shared.$f_el.not(n)&&t.accessibility.focusEditor()},!0),p.$tb&&p.events.$on(p.$tb,\"transitionend\",\".fr-more-toolbar\",function(){p.shared.$f_el=u(document.activeElement)}))}function y(e){var t=e.data(\"popup-button\");t&&setTimeout(function(){c(t),e.data(\"popup-button\",null)},0)}function N(e){var t=p.popups.areVisible(e);t&&t.data(\"popup-button\",null)}function e(e){var t=-1!==navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey;if(e.which!==Y.KEYCODE.F10||t||e.shiftKey||!e.altKey)return!0;p.shared.with_kb=!0;var n=p.popups.areVisible(p),r=!1;return n&&(r=g(n.children().not(\".fr-buttons\"))),r||d(),p.shared.with_kb=!1,e.preventDefault(),e.stopPropagation(),!1}return{_init:function r(){p.$wp?p.events.on(\"keydown\",e,!0):p.events.$on(p.$win,\"keydown\",e,!0),p.events.on(\"mousedown\",function(e){N(p),p.shared.$f_el&&p.el.isSameNode(p.shared.$f_el[0])&&(p.accessibility.restoreSelection(),e.stopPropagation(),p.events.disableBlur(),p.shared.$f_el=null)},!0),p.events.on(\"blur\",function(){p.shared.$f_el=null,N(p)},!0)},registerPopup:function S(e){var t=p.popups.get(e),n=function r(d){var f=p.popups.get(d);return{_tiKeydown:function(e){var t=f.data(\"instance\")||p;if(!1===t.events.trigger(\"popup.tab\",[e]))return!1;var n=e.which,r=f.find(\":focus\").first();if(Y.KEYCODE.TAB===n){e.preventDefault();var o=f.children().not(\".fr-buttons\"),i=o.findVisible(\"input, textarea, button, select\").not(\".fr-no-touch input, .fr-no-touch textarea, .fr-no-touch button, .fr-no-touch select, :disabled\").toArray(),a=i.indexOf(this)+(e.shiftKey?-1:1);if(0<=a&&a<i.length)return t.events.disableBlur(),u(i[a]).focus(),e.stopPropagation(),!1;var s=f.find(\".fr-buttons\");if(s.length&&h(s,Boolean(e.shiftKey)))return e.stopPropagation(),!1;if(g(o))return e.stopPropagation(),!1}else{if(Y.KEYCODE.ENTER!==n||!e.target||\"TEXTAREA\"===e.target.tagName)return Y.KEYCODE.ESC===n?(e.preventDefault(),e.stopPropagation(),t.accessibility.restoreSelection(),t.popups.isVisible(d)&&f.findVisible(\".fr-back\").length?(t.opts.toolbarInline&&(t.events.disableBlur(),t.events.focus()),t.button.exec(f.findVisible(\".fr-back\").first()),y(f)):t.popups.isVisible(d)&&f.findVisible(\".fr-dismiss\").length?t.button.exec(f.findVisible(\".fr-dismiss\").first()):(t.popups.hide(d),t.opts.toolbarInline&&t.toolbar.showInline(null,!0),y(f)),!1):Y.KEYCODE.SPACE===n&&(r.is(\".fr-submit\")||r.is(\".fr-dismiss\")||r.is(\".fr-enable-accessibility\"))?(e.preventDefault(),e.stopPropagation(),t.events.disableBlur(),t.button.exec(r),!0):t.keys.isBrowserAction(e)?void e.stopPropagation():r.is(\"input[type=text], textarea\")?void e.stopPropagation():Y.KEYCODE.SPACE===n&&(r.is(\".fr-link-attr\")||r.is(\"input[type=file]\"))?void e.stopPropagation():(e.stopPropagation(),e.preventDefault(),!1);var l=null;if(0<f.findVisible(\".fr-submit\").length?l=f.findVisible(\".fr-submit\").first():f.findVisible(\".fr-dismiss\").length&&(l=f.findVisible(\".fr-dismiss\").first()),!l&&0<f.findVisible(\".fr-enable-accessibility\").length){var c=f.findVisible(\".fr-enable-accessibility:focus\");0<c.length&&(l=c)}l&&(e.preventDefault(),e.stopPropagation(),t.events.disableBlur(),t.button.exec(l))}},_tiMouseenter:function(){var e=f.data(\"instance\")||p;N(e)}}}(e);o(t.find(\".fr-buttons\")),p.events.$on(t,\"mouseenter\",\"tabIndex\",n._tiMouseenter,!0),p.events.$on(t.children().not(\".fr-buttons\"),\"keydown\",\"[tabIndex]\",n._tiKeydown,!0),p.popups.onHide(e,function(){(t.data(\"instance\")||p).accessibility.restoreSelection()}),p.popups.onShow(e,function(){i=!1,setTimeout(function(){i=!0},0)})},registerToolbar:o,focusToolbarElement:c,focusToolbar:h,focusContent:g,focusPopup:function T(r){var o=r.children().not(\".fr-buttons\");o.data(\"mouseenter-event-set\")||(p.events.$on(o,\"mouseenter\",\"[tabIndex]\",function(e){var t=r.data(\"instance\")||p;if(!i)return e.stopPropagation(),void e.preventDefault();var n=o.find(\":focus\").first();n.length&&!n.is(\"input, button, textarea, select\")&&(t.events.disableBlur(),n.blur(),t.events.disableBlur(),t.events.focus())}),o.data(\"mouseenter-event-set\",!0)),!g(o)&&p.shared.with_kb&&h(r.find(\".fr-buttons\"))},focusModal:function M(e){p.core.hasFocus()||(p.events.disableBlur(),p.events.focus()),p.accessibility.saveSelection(),p.events.disableBlur(),p.el.blur(),p.selection.clear(),p.events.disableBlur(),p.shared.with_kb?e.find(\".fr-command[tabIndex], [tabIndex]\").first().focus():e.find(\"[tabIndex]\").first().focus()},focusEditor:L,focusPopupButton:y,focusModalButton:function A(e){var t=e.data(\"modal-button\");t&&setTimeout(function(){c(t),e.data(\"modal-button\",null)},0)},hasFocus:function x(){return null!==p.shared.$f_el},exec:function O(e,t){var n=-1!==navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey,r=e.which,o=!1;return r!==Y.KEYCODE.TAB||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_RIGHT||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.TAB||n||!e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_LEFT||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_UP||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_DOWN||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ENTER&&r!==Y.KEYCODE.SPACE||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ESC||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.F10||n||e.shiftKey||!e.altKey||(o=d()):o=function i(e){if(p.shared.$f_el){var t=f();return t?(p.button.click(t),c(t)):e.parent().findVisible(\".fr-back\").length?(p.shared.with_kb=!1,p.opts.toolbarInline&&(p.events.disableBlur(),p.events.focus()),p.button.exec(e.parent().findVisible(\".fr-back\")).first(),y(e.parent())):p.shared.$f_el.is(\"button, .fr-group span\")&&(e.parent().is(\".fr-popup\")?(p.accessibility.restoreSelection(),p.shared.$f_el=null,!1!==p.events.trigger(\"toolbar.esc\")&&(p.popups.hide(e.parent()),p.opts.toolbarInline&&p.toolbar.showInline(null,!0),y(e.parent()))):L()),!1}}(t):o=E():o=function a(){return p.shared.$f_el&&p.shared.$f_el.is(\".fr-dropdown:not(.fr-active)\")?E():b(!0)}():o=function s(){return b()}():o=v(t):o=v(t,!0):o=m(t):(l=r,o=m(t,!0)),p.shared.$f_el||void 0!==o||(o=!0),!o&&p.keys.isBrowserAction(e)&&(o=!0),!!o||(e.preventDefault(),e.stopPropagation(),!1)},saveSelection:t,restoreSelection:function w(){p.$el.find(\".fr-marker\").length&&(p.events.disableBlur(),p.selection.restore(),p.events.enableBlur())}}},Object.assign(Y.DEFAULTS,{tooltips:!0}),Y.MODULES.tooltip=function(p){var u=p.$;function r(){p.helpers.isMobile()||p.$tooltip&&p.$tooltip.removeClass(\"fr-visible\").css(\"left\",\"-3000px\").css(\"position\",\"fixed\")}function o(e,t){if(!p.helpers.isMobile()){var n=e.attr(\"id\")&&e.attr(\"id\").split(\"-\")[0],r=e.attr(\"title\"),o=p.opts.trackChangesEnabled,i=p.opts.showChangesEnabled;if(p.opts.toolbarContainer){for(var a=!1,s=0;s<Y.INSTANCES.length;s++)if(Y.INSTANCES[s].core.hasFocus()){o=Y.INSTANCES[s].opts.trackChangesEnabled,i=Y.INSTANCES[s].opts.showChangesEnabled,a=!0;break}a||(i=o=e.hasClass(\"fr-active\"))}if(\"trackChanges\"===n)r=o?\"Disable Track Changes\":\"Enable Track Changes\";else if(\"showChanges\"===n)r=i?\"Hide Changes\":\"Show Changes\";else if((\"applyAll\"===n||\"removeAll\"===n||\"applyLast\"===n||\"removeLast\"===n)&&0===p.track_changes.getPendingChanges().length)return;if(e.data(\"title\",r),e.data(\"title\")){p.$tooltip||function f(){if(p.opts.tooltips&&!p.helpers.isMobile()){if(p.shared.$tooltip)p.$tooltip=p.shared.$tooltip;else{p.shared.$tooltip=u(p.doc.createElement(\"DIV\")).addClass(\"fr-tooltip\"),p.$tooltip=p.shared.$tooltip,p.opts.theme&&p.$tooltip.addClass(\"\".concat(p.opts.theme,\"-theme\"));var e={};if(p.$wp&&0<p.$wp.length&&(e=p.$wp.closest(\"dialog\")),0<e.length)e.first().append(p.$tooltip);else if(p.$box&&0<p.$box.length&&p.$box[0]){var t=p.$box[0].getRootNode();t instanceof ShadowRoot?u(t).append(p.$tooltip):u(p.o_doc).find(\"body\").first().append(p.$tooltip)}else u(p.o_doc).find(\"body\").first().append(p.$tooltip)}p.events.on(\"shared.destroy\",function(){p.$tooltip.html(\"\").removeData().remove(),p.$tooltip=null},!0)}}(),e.removeAttr(\"title\"),p.$tooltip.text(p.language.translate(e.data(\"title\"))),p.$tooltip.addClass(\"fr-visible\");var l=e.offset().left+(e.outerWidth()-p.$tooltip.outerWidth())/2;l<0&&(l=0),l+p.$tooltip.outerWidth()>u(p.o_win).width()&&(l=u(p.o_win).width()-p.$tooltip.outerWidth()),void 0===t&&(t=p.opts.toolbarBottom),e.offset().top-u(window).scrollTop()+e.outerHeight()+10>=u(window).height()&&(t=!0);var c=t?e.offset().top-p.$tooltip.height():e.offset().top+e.outerHeight();p.$tooltip.css(\"position\",\"\"),p.$tooltip.css(\"left\",l),p.$tooltip.css(\"top\",Math.ceil(c));var d={};p.$wp&&0<p.$wp.length&&(d=p.$wp.closest(\"dialog\")),0<d.length?(p.$tooltip.css(\"margin-left\",-d.first().offset().left),p.$tooltip.css(\"margin-top\",-d.first().offset().top)):\"static\"!==u(p.o_doc).find(\"body\").first().css(\"position\")?(p.$tooltip.css(\"margin-left\",-u(p.o_doc).find(\"body\").first().offset().left),p.$tooltip.css(\"margin-top\",-u(p.o_doc).find(\"body\").first().offset().top)):(p.$tooltip.css(\"margin-left\",\"\"),p.$tooltip.css(\"margin-top\",\"\"))}}}return{hide:r,to:o,bind:function i(e,t,n){p.opts.tooltips&&!p.helpers.isMobile()&&(p.events.$on(e,\"mouseover\",t,function(e){p.node.hasClass(e.currentTarget,\"fr-disabled\")||p.edit.isDisabled()||o(u(e.currentTarget),n)},!0),p.events.$on(e,\"mouseout \".concat(p._mousedown,\" \").concat(p._mouseup),t,function(){r()},!0))}}},Y.TOOLBAR_VISIBLE_BUTTONS=3,Y.MODULES.button=function(g){var h=g.$,a=[];(g.opts.toolbarInline||g.opts.toolbarContainer)&&(g.shared.buttons||(g.shared.buttons=[]),a=g.shared.buttons);var s=[];function l(e,t,n){for(var r=h(),o=0;o<e.length;o++){var i=h(e[o]);if(i.is(t)&&(r=r.add(i)),n&&i.is(\".fr-dropdown\")){var a=i.next().find(t);r=r.add(a)}}return r}function C(e,t){var n,r=h();if(!e)return r;for(n in r=(r=r.add(l(a,e,t))).add(l(s,e,t)),g.shared.popups)if(Object.prototype.hasOwnProperty.call(g.shared.popups,n)){var o=g.shared.popups[n].children().find(e);r=r.add(o)}for(n in g.shared.modals)if(Object.prototype.hasOwnProperty.call(g.shared.modals,n)){var i=g.shared.modals[n].$modal.find(e);r=r.add(i)}return r}function i(e){var t=e.next(),n=g.node.hasClass(e.get(0),\"fr-active\"),r=C(\".fr-dropdown.fr-active\").not(e),o=e.parents(\".fr-toolbar, .fr-popup\").data(\"instance\")||g;o.helpers.isIOS()&&!o.el.querySelector(\".fr-marker\")&&(o.selection.save(),o.selection.clear(),o.selection.restore()),t.parents(\".fr-more-toolbar\").addClass(\"fr-overflow-visible\");var i=0,a=0,s=t.find(\"> .fr-dropdown-wrapper\");if(!n){var l=e.data(\"cmd\");t.find(\".fr-command\").removeClass(\"fr-active\").attr(\"aria-selected\",!1),Y.COMMANDS[l]&&Y.COMMANDS[l].refreshOnShow&&Y.COMMANDS[l].refreshOnShow.apply(o,[e,t]),t.css(\"left\",e.offset().left-e.parents(\".fr-btn-wrap, .fr-toolbar, .fr-buttons\").offset().left-(\"rtl\"===g.opts.direction?t.width()-e.outerWidth():0)),t.addClass(\"test-height\"),i=t.outerHeight(),a=g.helpers.getPX(s.css(\"max-height\")),t.removeClass(\"test-height\"),t.css(\"top\",\"\").css(\"bottom\",\"\");var c=e.outerHeight()/10;if(!g.opts.toolbarBottom&&t.offset().top+e.outerHeight()+i<h(g.o_doc).height())t.css(\"top\",e.position().top+e.outerHeight()-c);else{var d=0,f=e.parents(\".fr-more-toolbar\");0<f.length&&(d=f.first().height()),t.css(\"bottom\",e.parents(\".fr-popup, .fr-toolbar\").first().height()-d-e.position().top)}}(e.addClass(\"fr-blink\").toggleClass(\"fr-active\"),e.hasClass(\"fr-options\"))&&e.prev().toggleClass(\"fr-expanded\");e.hasClass(\"fr-active\")?(t.attr(\"aria-hidden\",!1),e.attr(\"aria-expanded\",!0),function u(e,t,n){n<=t&&(e.parent().css(\"overflow\",\"auto\"),e.parent().css(\"overflow-x\",\"hidden\")),e.css(\"height\",Math.min(t,n))}(s,i,a)):(t.attr(\"aria-hidden\",!0).css(\"overflow\",\"\"),e.attr(\"aria-expanded\",!1),s.css(\"height\",\"\")),setTimeout(function(){e.removeClass(\"fr-blink\")},300),t.css(\"margin-left\",\"\"),t.offset().left+t.outerWidth()>g.$sc.offset().left+g.$sc.width()&&t.css(\"margin-left\",-(t.offset().left+t.outerWidth()-g.$sc.offset().left-g.$sc.width())),t.offset().left<g.$sc.offset().left&&\"rtl\"===g.opts.direction&&t.css(\"margin-left\",g.$sc.offset().left),r.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),r.prev(\".fr-expanded\").removeClass(\"fr-expanded\"),r.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\"),0!==e.parents(\".fr-popup\").length||g.opts.toolbarInline||(g.node.hasClass(e.get(0),\"fr-active\")?g.$tb.css(\"zIndex\",(g.opts.zIndex||1)+4):g.$tb.css(\"zIndex\",\"\"));var p=t.find(\"a.fr-command.fr-active\").first();g.helpers.isMobile()||(p.length?(g.accessibility.focusToolbarElement(p),s.scrollTop(Math.abs(p.parents(\".fr-dropdown-content\").offset().top-p.offset().top)-p.offset().top)):(g.accessibility.focusToolbarElement(e),s.scrollTop(0)))}function c(e){e.addClass(\"fr-blink\"),setTimeout(function(){e.removeClass(\"fr-blink\")},500);for(var t=e.data(\"cmd\"),n=[];void 0!==e.data(\"param\".concat(n.length+1));)n.push(e.data(\"param\".concat(n.length+1)));var r=C(\".fr-dropdown.fr-active\");r.length&&(r.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),r.prev(\".fr-expanded\").removeClass(\"fr-expanded\"),r.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\")),e.parents(\".fr-popup, .fr-toolbar\").data(\"instance\").commands.exec(t,n)}function t(e){var t=e.parents(\".fr-popup, .fr-toolbar\").data(\"instance\"),n=g.popups.get(\"link.insert\");if(0===e.parents(\".fr-popup\").length&&e.data(\"popup\")&&!e.hasClass(\"fr-btn-active-popup\")&&(e.attr(\"id\")===\"insertLink-\".concat(g.id)&&n&&n.hasClass(\"fr-active\")||e.addClass(\"fr-btn-active-popup\")),0!==e.parents(\".fr-popup\").length||e.data(\"popup\")||t.popups.hideAll(),t.popups.areVisible()&&!t.popups.areVisible(t)){for(var r=0;r<Y.INSTANCES.length;r++)Y.INSTANCES[r]!==t&&Y.INSTANCES[r].popups&&Y.INSTANCES[r].popups.areVisible()&&Y.INSTANCES[r].$el.find(\".fr-marker\").remove();t.popups.hideAll()}g.node.hasClass(e.get(0),\"fr-dropdown\")?i(e):(!function o(e){c(e)}(e),Y.COMMANDS[e.data(\"cmd\")]&&!1!==Y.COMMANDS[e.data(\"cmd\")].refreshAfterCallback&&t.button.bulkRefresh())}function d(e){t(h(e.currentTarget))}function f(e){var t=e.find(\".fr-dropdown.fr-active\");t.length&&(t.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),t.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\"),t.prev().removeClass(\"fr-expanded\"))}function p(e){e.preventDefault(),e.stopPropagation()}function u(e){if(e.stopPropagation(),!g.helpers.isMobile())return!1}function m(e){var t=1<arguments.length&&arguments[1]!==undefined?arguments[1]:{},n=2<arguments.length?arguments[2]:undefined;if(g.helpers.isMobile()&&!1===t.showOnMobile)return\"\";var r=t.displaySelection;\"function\"==typeof r&&(r=r(g));var o=\"\";if(\"options\"!==t.type)if(r){var i=\"function\"==typeof t.defaultSelection?t.defaultSelection(g):t.defaultSelection;o='<span style=\"width:'.concat(t.displaySelectionWidth||100,'px\">').concat(g.language.translate(i||t.title),\"</span>\")}else o=g.icon.create(t.icon||e),o+='<span class=\"fr-sr-only\">'.concat(g.language.translate(t.title)||\"\",\"</span>\");var a=t.popup?' data-popup=\"true\"':\"\",s=t.modal?' data-modal=\"true\"':\"\",l=g.shortcuts.get(\"\".concat(e,\".\"));l=l?\" (\".concat(l,\")\"):\"\";var c=\"\".concat(e,\"-\").concat(g.id),d=\"dropdown-menu-\".concat(c),f='<button id=\"'.concat(c,'\"').concat(t.more_btn?' data-group-name=\"'.concat(c,'\" aria-expanded=\"false\" '):\" \",'type=\"button\" tabIndex=\"-1\" role=\"button\"').concat(t.toggle?' aria-pressed=\"false\"':\"\").concat(\"dropdown\"===t.type||\"options\"===t.type?' aria-controls=\"'.concat(d,'\" aria-expanded=\"false\" aria-haspopup=\"true\"'):\"\").concat(t.disabled?' aria-disabled=\"true\"':\"\",' title=\"').concat(g.language.translate(t.title)||\"\").concat(l,'\" class=\"fr-command fr-btn').concat(\"dropdown\"===t.type||\"options\"==t.type?\" fr-dropdown\":\"\").concat(\"options\"==t.type?\" fr-options\":\"\").concat(\"more\"==t.type?\" fr-more\":\"\").concat(t.displaySelection?\" fr-selection\":\"\").concat(t.back?\" fr-back\":\"\").concat(t.disabled?\" fr-disabled\":\"\").concat(n?\"\":\" fr-hidden\",'\" data-cmd=\"').concat(e,'\"').concat(a).concat(s,\">\").concat(o,\"</button>\");if(\"dropdown\"===t.type||\"options\"===t.type){var p='<div id=\"'.concat(d,'\" class=\"fr-dropdown-menu\" role=\"listbox\" aria-labelledby=\"').concat(c,'\" aria-hidden=\"true\"><div class=\"fr-dropdown-wrapper\" role=\"presentation\"><div class=\"fr-dropdown-content\" role=\"presentation\">');p+=function u(e,t){var n=\"\";if(t.html)\"function\"==typeof t.html?n+=t.html.call(g):n+=t.html;else{var r=t.options;for(var o in\"function\"==typeof r&&(r=r()),n+='<ul class=\"fr-dropdown-list\" role=\"presentation\">',r)if(Object.prototype.hasOwnProperty.call(r,o)){var i=g.shortcuts.get(\"\".concat(e,\".\").concat(o));i=i?'<span class=\"fr-shortcut\">'.concat(i,\"</span>\"):\"\",n+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"'.concat(\"options\"===t.type?e.replace(/Options/g,\"\"):e,'\" data-param1=\"').concat(o,'\" title=\"').concat(r[o],'\">').concat(g.language.translate(r[o]),\"</a></li>\")}n+=\"</ul>\"}return n}(e,t),f+=p+=\"</div></div></div>\"}return t.hasOptions&&t.hasOptions.apply(g)&&(f='<div class=\"fr-btn-wrap\">'.concat(f,\" \").concat(m(e+\"Options\",Object.assign({},t,{type:\"options\",hasOptions:!1}),n),\"  </div>\")),f}function e(o){var i=g.$tb&&g.$tb.data(\"instance\")||g;if(!1===g.events.trigger(\"buttons.refresh\"))return!0;setTimeout(function(){for(var e=i.selection.inEditor()&&i.core.hasFocus(),t=0;t<o.length;t++){var n=h(o[t]),r=n.data(\"cmd\");0===n.parents(\".fr-popup\").length?e||Y.COMMANDS[r]&&Y.COMMANDS[r].forcedRefresh?i.button.refresh(n):g.node.hasClass(n.get(0),\"fr-dropdown\")||(n.removeClass(\"fr-active\"),n.attr(\"aria-pressed\")&&n.attr(\"aria-pressed\",!1)):n.parents(\".fr-popup\").isVisible()&&i.button.refresh(n)}},0)}function n(){e(a),e(s)}function r(){a=[],s=[]}g.shared.popup_buttons||(g.shared.popup_buttons=[]),s=g.shared.popup_buttons;var o=null;function v(){clearTimeout(o),o=setTimeout(n,50)}return{_init:function b(){g.opts.toolbarInline?g.events.on(\"toolbar.show\",n):(g.events.on(\"mouseup\",v),g.events.on(\"keyup\",v),g.events.on(\"blur\",v),g.events.on(\"focus\",v),g.events.on(\"contentChanged\",v),g.helpers.isMobile()&&g.events.$on(g.$doc,\"selectionchange\",n)),g.events.on(\"shared.destroy\",r)},build:m,buildList:function E(e,t){for(var n=\"\",r=0;r<e.length;r++){var o=e[r],i=Y.COMMANDS[o];i&&\"undefined\"!=typeof i.plugin&&g.opts.pluginsEnabled.indexOf(i.plugin)<0||(i?n+=m(o,i,void 0===t||0<=t.indexOf(o)):\"|\"===o?n+='<div class=\"fr-separator fr-vs\" role=\"separator\" aria-orientation=\"vertical\"></div>':\"-\"===o&&(n+='<div class=\"fr-separator fr-hs\" role=\"separator\" aria-orientation=\"horizontal\"></div>'))}return n},buildGroup:function L(e){var t=\"\",n=\"\";for(var r in e){var o=e[r];if(o.buttons){for(var i=\"\",a=\"\",s=0,l=\"left\",c=Y.TOOLBAR_VISIBLE_BUTTONS,d=0;d<o.buttons.length;d++){var f=o.buttons[d],p=Y.COMMANDS[f];p||(\"|\"==f?i+='<div class=\"fr-separator fr-vs\" role=\"separator\" aria-orientation=\"vertical\"></div>':\"-\"==f&&(i+='<div class=\"fr-separator fr-hs\" role=\"separator\" aria-orientation=\"horizontal\"></div>')),!p||p&&\"undefined\"!=typeof p.plugin&&g.opts.pluginsEnabled.indexOf(p.plugin)<0||(e[r].align!==undefined&&(l=e[r].align),e[r].buttonsVisible!==undefined&&(c=e[r].buttonsVisible),e.showMoreButtons&&c<=s?a+=m(f,p,!0):i+=m(f,p,!0),s++)}if(e.showMoreButtons&&c<s){var u=r,h=Y.COMMANDS[u];h.more_btn=!0,i+=m(u,h,!0)}\"trackChanges\"!==r&&(t+='<div class=\"fr-btn-grp fr-float-'.concat(l,'\">').concat(i,\"</div>\")),e.showMoreButtons&&0<a.length&&(n+='<div class=\"fr-more-toolbar\" data-name=\"'.concat(r+\"-\"+g.id,'\">').concat(a,\"</div>\"))}}return g.opts.toolbarBottom?g.helpers.isMobile()?'<div class=\"fr-bottom-extended\">'.concat(n,\"</div><div>\").concat(t,\"</div>\"):\"\".concat(n,'<div class=\"fr-newline\"></div>').concat(t):\"\".concat(t,'<div class=\"fr-newline\"></div>').concat(n)},bindCommands:function y(t,e){g.events.bindClick(t,\".fr-command:not(.fr-disabled)\",d),g.events.$on(t,\"\".concat(g._mousedown,\" \").concat(g._mouseup,\" \").concat(g._move),\".fr-dropdown-menu\",p,!0),g.events.$on(t,\"\".concat(g._mousedown,\" \").concat(g._mouseup,\" \").concat(g._move),\".fr-dropdown-menu .fr-dropdown-wrapper\",u,!0);var n=t.get(0).ownerDocument,r=\"defaultView\"in n?n.defaultView:n.parentWindow;function o(e){(!e||e.type===g._mouseup&&e.target!==h(\"html\").get(0)||\"keydown\"===e.type&&(g.keys.isCharacter(e.which)&&!g.keys.ctrlKey(e)||e.which===Y.KEYCODE.ESC))&&(f(t),g.opts.iframe&&function r(e){var t=e.find(\".fr-popup.fr-active\");if(t.length){t.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),t.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\"),t.prev().removeClass(\"fr-expanded\");var n=g.$tb.find(\".fr-btn-active-popup\");h(n[0]).removeClass(\"fr-btn-active-popup\")}}(t))}g.events.$on(h(r),\"\".concat(g._mouseup,\" resize keydown\"),o,!0),g.opts.iframe&&g.events.$on(g.$win,g._mouseup,o,!0),g.node.hasClass(t.get(0),\"fr-popup\")?h.merge(s,t.find(\".fr-btn\").toArray()):h.merge(a,t.find(\".fr-btn\").toArray()),g.tooltip.bind(t,\".fr-btn, .fr-title\",e)},refresh:function N(e){var t,n=e.parents(\".fr-popup, .fr-toolbar\").data(\"instance\")||g,r=e.data(\"cmd\");g.node.hasClass(e.get(0),\"fr-dropdown\")?t=e.next():(e.removeClass(\"fr-active\"),e.attr(\"aria-pressed\")&&!e.hasClass(\"fr-active-tab\")&&e.attr(\"aria-pressed\",!1)),Y.COMMANDS[r]&&Y.COMMANDS[r].refresh?Y.COMMANDS[r].refresh.apply(n,[e,t]):g.refresh[r]&&n.refresh[r](e,t)},bulkRefresh:n,exec:c,click:t,hideActiveDropdowns:f,addButtons:function S(e){for(var t=0;t<e.length;t++)a.push(e[t])},getButtons:C,getPosition:function T(e){var t=e.offset().left,n=g.opts.toolbarBottom?10:e.outerHeight()-10;return{left:t,top:e.offset().top+n}}}},Y.ICON_TEMPLATES={font_awesome:'<i class=\"fa fa-[NAME]\" aria-hidden=\"true\"></i>',font_awesome_5:'<i class=\"fas fa-[FA5NAME]\" aria-hidden=\"true\"></i>',font_awesome_5r:'<i class=\"far fa-[FA5NAME]\" aria-hidden=\"true\"></i>',font_awesome_5l:'<i class=\"fal fa-[FA5NAME]\" aria-hidden=\"true\"></i>',font_awesome_5b:'<i class=\"fab fa-[FA5NAME]\" aria-hidden=\"true\"></i>',text:'<span style=\"text-align: center;\">[NAME]</span>',image:\"<img src=[SRC] alt=[ALT] />\",svg:'<svg class=\"fr-svg\" focusable=\"false\" viewBox=\"[VIEWBOX]\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"[PATH]\"/></svg>',svgMultiplePath:'<svg class=\"fr-svg\" focusable=\"false\" viewBox=\"[VIEWBOX]\" xmlns=\"http://www.w3.org/2000/svg\">[PATHS]</svg>',empty:\" \"},Y.ICONS={bold:{NAME:\"bold\",SVG_KEY:\"bold\"},italic:{NAME:\"italic\",SVG_KEY:\"italic\"},underline:{NAME:\"underline\",SVG_KEY:\"underline\"},strikeThrough:{NAME:\"strikethrough\",SVG_KEY:\"strikeThrough\"},subscript:{NAME:\"subscript\",SVG_KEY:\"subscript\"},superscript:{NAME:\"superscript\",SVG_KEY:\"superscript\"},cancel:{NAME:\"cancel\",SVG_KEY:\"cancel\"},color:{NAME:\"tint\",SVG_KEY:\"textColor\"},outdent:{NAME:\"outdent\",SVG_KEY:\"outdent\"},indent:{NAME:\"indent\",SVG_KEY:\"indent\"},undo:{NAME:\"rotate-left\",FA5NAME:\"undo\",SVG_KEY:\"undo\"},redo:{NAME:\"rotate-right\",FA5NAME:\"redo\",SVG_KEY:\"redo\"},insert:{NAME:\"insert\",SVG_KEY:\"insert\"},insertAll:{NAME:\"insertAll\",SVG_KEY:\"insertAll\"},insertHR:{NAME:\"minus\",SVG_KEY:\"horizontalLine\"},clearFormatting:{NAME:\"eraser\",SVG_KEY:\"clearFormatting\"},selectAll:{NAME:\"mouse-pointer\",SVG_KEY:\"selectAll\"},minimize:{NAME:\"minimize\",SVG_KEY:\"minimize\"},moreText:{NAME:\"ellipsis-v\",SVG_KEY:\"textMore\"},moreParagraph:{NAME:\"ellipsis-v\",SVG_KEY:\"paragraphMore\"},moreRich:{NAME:\"ellipsis-v\",SVG_KEY:\"insertMore\"},moreMisc:{NAME:\"ellipsis-v\",SVG_KEY:\"more\"}},Y.DefineIconTemplate=function(e,t){Y.ICON_TEMPLATES[e]=t},Y.DefineIcon=function(e,t){Y.ICONS[e]=t},Object.assign(Y.DEFAULTS,{iconsTemplate:\"svg\"}),Y.MODULES.icon=function(o){return{create:function i(n){var e=null,r=Y.ICONS[n];if(void 0!==r){var t=r.template||Y.ICON_DEFAULT_TEMPLATE||o.opts.iconsTemplate;t&&t.apply&&(t=t.apply(o)),r.FA5NAME||(r.FA5NAME=r.NAME),\"svg\"!==t||r.PATH||(r.PATH=Y.SVG[r.SVG_KEY]||\"\"),t&&(t=Y.ICON_TEMPLATES[t])&&(e=t.replace(/\\[([a-zA-Z0-9]*)\\]/g,function(e,t){return\"NAME\"===t?r[t]||n:\"VIEWBOX\"===t?r[t]||\"0 0 24 24\":r[t]}))}return e||n},getTemplate:function r(e){var t=Y.ICONS[e],n=o.opts.iconsTemplate;return void 0!==t?n=t.template||Y.ICON_DEFAULT_TEMPLATE||o.opts.iconsTemplate:n},getFileIcon:function n(e){var t=Y.FILEICONS[e];return void 0!==t?t:e}}},Y.SVG={imageTransformations:\"M3 5.8h2.8V3H3v2.8Zm0 7.6h2.8v-2.8H3v2.8Zm15.2 0H21v-2.8h-2.8v2.8Zm-7.6-7.6h2.8V3h-2.8v2.8Zm0 14.2h2.8v-2.8h-2.8V20ZM3 20h2.8v-2.8H3V20ZM18.2 5.8H21V3h-2.8v2.8Zm0 14.2H21v-2.8h-2.8V20ZM6.8 4.9h2.8V4H6.8v.9Zm0 14.2h2.8v-.9H6.8v.9Zm7.6-14.2h2.8V4h-2.8v.9Zm0 14.2h2.8v-.9h-2.8v.9ZM3.9 9.6h.9V6.8h-.9v2.8Zm15.2 0h.9V6.8h-.9v2.8ZM3.9 16.2h.9v-1.9h-.9v1.9Zm15.2 0h.9v-1.9h-.9v1.9ZM15.8 14l-2.2 2.3V14h2.2Zm0-6.8v6.2H15V8H9v7.3h4.1v.9H8.2v-9h7.6Zm-4.3 5.3v.8h-.8v-.8h.8Zm1.3-1.4v.8h-2.2v-.8h2.2Zm.6-1.5v.8h-2.7v-.8h2.7Z\",filestackIcon:\"M19 16.5 15 21v-4.5h4Zm0-1.125h-1.5V4.687h-11v14.625l7.5.001V21H5V3h14v12.375Zm-8-1.687v1.687H9.5v-1.687H11Zm2.5-2.813v1.687h-4v-1.687h4Zm1-2.813v1.687h-5V8.062h5Z\",add:\"M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6V13z\",advancedImageEditor:\"M3,17v2h6v-2H3z M3,5v2h10V5H3z M13,21v-2h8v-2h-8v-2h-2v6H13z M7,9v2H3v2h4v2h2V9H7z M21,13v-2H11v2H21z M15,9h2V7h4V5h-4  V3h-2V9z\",alignCenter:\"M9,18h6v-2H9V18z M6,11v2h12v-2H6z M3,6v2h18V6H3z\",alignJustify:\"M3,18h18v-2H3V18z M3,11v2h18v-2H3z M3,6v2h18V6H3z\",alignLeft:\"M3,18h6v-2H3V18z M3,11v2h12v-2H3z M3,6v2h18V6H3z\",alignRight:\"M15,18h6v-2h-6V18z M9,11v2h12v-2H9z M3,6v2h18V6H3z\",anchors:\"M16,4h-4H8C6.9,4,6,4.9,6,6v4v10l6-2.6l6,2.6V10V6C18,4.9,17.1,4,16,4z M16,17l-4-1.8L8,17v-7V6h4h4v4V17z\",autoplay:\"M 7.570312 0.292969 C 7.542969 0.292969 7.515625 0.292969 7.488281 0.296875 C 7.203125 0.324219 6.984375 0.539062 6.980469 0.792969 L 6.925781 3.535156 C 2.796875 3.808594 -0.0078125 6.425781 -0.0859375 10.09375 C -0.121094 11.96875 0.710938 13.6875 2.265625 14.921875 C 3.769531 16.117188 5.839844 16.796875 8.097656 16.828125 C 8.140625 16.828125 12.835938 16.898438 13.035156 16.886719 C 15.171875 16.796875 17.136719 16.128906 18.558594 15.003906 C 20.066406 13.816406 20.882812 12.226562 20.917969 10.40625 C 20.960938 8.410156 20.023438 6.605469 18.289062 5.335938 C 18.214844 5.277344 18.128906 5.230469 18.035156 5.203125 C 17.636719 5.074219 17.222656 5.199219 17 5.476562 L 15.546875 7.308594 C 15.304688 7.609375 15.363281 8.007812 15.664062 8.265625 C 16.351562 8.851562 16.707031 9.625 16.6875 10.5 C 16.652344 12.25 15.070312 13.390625 12.757812 13.535156 C 12.59375 13.539062 8.527344 13.472656 8.164062 13.464844 C 5.703125 13.429688 4.101562 12.191406 4.140625 10.3125 C 4.175781 8.570312 5.132812 7.46875 6.847656 7.199219 L 6.796875 9.738281 C 6.792969 9.992188 7 10.214844 7.285156 10.253906 C 7.3125 10.257812 7.339844 10.257812 7.367188 10.257812 C 7.503906 10.261719 7.632812 10.222656 7.738281 10.148438 L 14.039062 5.785156 C 14.171875 5.691406 14.253906 5.558594 14.253906 5.410156 C 14.257812 5.261719 14.1875 5.125 14.058594 5.027344 L 7.941406 0.414062 C 7.835938 0.335938 7.707031 0.292969 7.570312 0.292969 \",back:\"M20 11L7.83 11 11.425 7.405 10.01 5.991 5.416 10.586 5.414 10.584 4 11.998 4.002 12 4 12.002 5.414 13.416 5.416 13.414 10.01 18.009 11.425 16.595 7.83 13 20 13 20 13 20 11 20 11Z\",backgroundColor:\"M9.91752,12.24082l7.74791-5.39017,1.17942,1.29591-6.094,7.20747L9.91752,12.24082M7.58741,12.652l4.53533,4.98327a.93412.93412,0,0,0,1.39531-.0909L20.96943,8.7314A.90827.90827,0,0,0,20.99075,7.533l-2.513-2.76116a.90827.90827,0,0,0-1.19509-.09132L7.809,11.27135A.93412.93412,0,0,0,7.58741,12.652ZM2.7939,18.52772,8.41126,19.5l1.47913-1.34617-3.02889-3.328Z\",blockquote:\"M10.31788,5l.93817,1.3226A12.88271,12.88271,0,0,0,8.1653,9.40125a5.54242,5.54242,0,0,0-.998,3.07866v.33733q.36089-.04773.66067-.084a4.75723,4.75723,0,0,1,.56519-.03691,2.87044,2.87044,0,0,1,2.11693.8427,2.8416,2.8416,0,0,1,.8427,2.09274,3.37183,3.37183,0,0,1-.8898,2.453A3.143,3.143,0,0,1,8.10547,19,3.40532,3.40532,0,0,1,5.375,17.7245,4.91156,4.91156,0,0,1,4.30442,14.453,9.3672,9.3672,0,0,1,5.82051,9.32933,14.75716,14.75716,0,0,1,10.31788,5Zm8.39243,0,.9369,1.3226a12.88289,12.88289,0,0,0-3.09075,3.07865,5.54241,5.54241,0,0,0-.998,3.07866v.33733q.33606-.04773.63775-.084a4.91773,4.91773,0,0,1,.58938-.03691,2.8043,2.8043,0,0,1,2.1042.83,2.89952,2.89952,0,0,1,.80578,2.10547,3.42336,3.42336,0,0,1-.86561,2.453A3.06291,3.06291,0,0,1,16.49664,19,3.47924,3.47924,0,0,1,13.742,17.7245,4.846,4.846,0,0,1,12.64721,14.453,9.25867,9.25867,0,0,1,14.17476,9.3898,15.26076,15.26076,0,0,1,18.71031,5Z\",bold:\"M15.25,11.8h0A3.68,3.68,0,0,0,17,9a3.93,3.93,0,0,0-3.86-4H6.65V19h7a3.74,3.74,0,0,0,3.7-3.78V15.1A3.64,3.64,0,0,0,15.25,11.8ZM8.65,7h4.2a2.09,2.09,0,0,1,2,1.3,2.09,2.09,0,0,1-1.37,2.61,2.23,2.23,0,0,1-.63.09H8.65Zm4.6,10H8.65V13h4.6a2.09,2.09,0,0,1,2,1.3,2.09,2.09,0,0,1-1.37,2.61A2.23,2.23,0,0,1,13.25,17Z\",cancel:\"M13.4,12l5.6,5.6L17.6,19L12,13.4L6.4,19L5,17.6l5.6-5.6L5,6.4L6.4,5l5.6,5.6L17.6,5L19,6.4L13.4,12z\",cellBackground:\"M16.6,12.4L7.6,3.5L6.2,4.9l2.4,2.4l-5.2,5.2c-0.6,0.6-0.6,1.5,0,2.1l5.5,5.5c0.3,0.3,0.7,0.4,1.1,0.4s0.8-0.1,1.1-0.4  l5.5-5.5C17.2,14,17.2,13,16.6,12.4z M5.2,13.5L10,8.7l4.8,4.8H5.2z M19,15c0,0-2,2.2-2,3.5c0,1.1,0.9,2,2,2s2-0.9,2-2  C21,17.2,19,15,19,15z\",cellBorderColor:\"M22,22H2v2h20V22z\",cellOptions:\"M20,5H4C2.9,5,2,5.9,2,7v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M9.5,6.5h5V9h-5V6.5z M8,17.5H4  c-0.3,0-0.5-0.2-0.5-0.4c0,0,0,0,0,0V17v-2H8V17.5z M8,13.5H3.5v-3H8V13.5z M8,9H3.5V7c0-0.3,0.2-0.5,0.4-0.5c0,0,0,0,0,0H8V9z   M14.5,17.5h-5V15h5V17.5z M20.5,17c0,0.3-0.2,0.5-0.4,0.5c0,0,0,0,0,0H16V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M20.5,9H16V6.5h4  c0.3,0,0.5,0.2,0.5,0.4c0,0,0,0,0,0V9z\",cellStyle:\"M20,19.9l0.9,3.6l-3.2-1.9l-3.3,1.9l0.8-3.6L12.3,17h3.8l1.7-3.5l1.4,3.5H23L20,19.9z M20,5H4C2.9,5,2,5.9,2,7v10  c0,1.1,0.9,2,2,2h7.5l-0.6-0.6L10,17.5H9.5V15h5.4l1.1-2.3v-2.2h4.5v3H20l0.6,1.5H22V7C22,5.9,21.1,5,20,5z M3.5,7  c0-0.3,0.2-0.5,0.4-0.5c0,0,0,0,0.1,0h4V9H3.5V7z M3.5,10.5H8v3H3.5V10.5z M4,17.5c-0.3,0-0.5-0.2-0.5-0.4c0,0,0,0,0-0.1v-2H8v2.5H4  z M14.5,9h-5V6.5h5V9z M20.5,9H16V6.5h4c0.3,0,0.5,0.2,0.5,0.4c0,0,0,0,0,0.1V9z\",clearFormatting:\"M11.48,10.09l-1.2-1.21L8.8,7.41,6.43,5,5.37,6.1,8.25,9,4.66,19h2l1.43-4h5.14l1.43,4h2l-.89-2.51L18.27,19l1.07-1.06L14.59,13.2ZM8.8,13l.92-2.56L12.27,13Zm.56-7.15L9.66,5h2l1.75,4.9Z\",close:\"M13.4,12l5.6,5.6L17.6,19L12,13.4L6.4,19L5,17.6l5.6-5.6L5,6.4L6.4,5l5.6,5.6L17.6,5L19,6.4L13.4,12z\",codeView:\"M9.4,16.6,4.8,12,9.4,7.4,8,6,2,12l6,6Zm5.2,0L19.2,12,14.6,7.4,16,6l6,6-6,6Z\",cogs:\"M18.877 12.907a6.459 6.459 0 0 0 0 -1.814l1.952 -1.526a0.468 0.468 0 0 0 0.111 -0.593l-1.851 -3.2a0.461 0.461 0 0 0 -0.407 -0.231 0.421 0.421 0 0 0 -0.157 0.028l-2.3 0.925a6.755 6.755 0 0 0 -1.563 -0.907l-0.352 -2.452a0.451 0.451 0 0 0 -0.453 -0.388h-3.7a0.451 0.451 0 0 0 -0.454 0.388L9.347 5.588A7.077 7.077 0 0 0 7.783 6.5l-2.3 -0.925a0.508 0.508 0 0 0 -0.166 -0.028 0.457 0.457 0 0 0 -0.4 0.231l-1.851 3.2a0.457 0.457 0 0 0 0.111 0.593l1.952 1.526A7.348 7.348 0 0 0 5.063 12a7.348 7.348 0 0 0 0.064 0.907L3.175 14.433a0.468 0.468 0 0 0 -0.111 0.593l1.851 3.2a0.461 0.461 0 0 0 0.407 0.231 0.421 0.421 0 0 0 0.157 -0.028l2.3 -0.925a6.74 6.74 0 0 0 1.564 0.907L9.7 20.864a0.451 0.451 0 0 0 0.454 0.388h3.7a0.451 0.451 0 0 0 0.453 -0.388l0.352 -2.452a7.093 7.093 0 0 0 1.563 -0.907l2.3 0.925a0.513 0.513 0 0 0 0.167 0.028 0.457 0.457 0 0 0 0.4 -0.231l1.851 -3.2a0.468 0.468 0 0 0 -0.111 -0.593Zm-0.09 2.029l-0.854 1.476 -2.117 -0.852 -0.673 0.508a5.426 5.426 0 0 1 -1.164 0.679l-0.795 0.323 -0.33 2.269h-1.7l-0.32 -2.269 -0.793 -0.322a5.3 5.3 0 0 1 -1.147 -0.662L8.2 15.56l-2.133 0.86 -0.854 -1.475 1.806 -1.411 -0.1 -0.847c-0.028 -0.292 -0.046 -0.5 -0.046 -0.687s0.018 -0.4 0.045 -0.672l0.106 -0.854L5.217 9.064l0.854 -1.475 2.117 0.851 0.673 -0.508a5.426 5.426 0 0 1 1.164 -0.679l0.8 -0.323 0.331 -2.269h1.7l0.321 2.269 0.792 0.322a5.3 5.3 0 0 1 1.148 0.661l0.684 0.526 2.133 -0.859 0.853 1.473 -1.8 1.421 0.1 0.847a5 5 0 0 1 0.046 0.679c0 0.193 -0.018 0.4 -0.045 0.672l-0.106 0.853ZM12 14.544A2.544 2.544 0 1 1 14.546 12 2.552 2.552 0 0 1 12 14.544Z\",columns:\"M20,5H4C2.9,5,2,5.9,2,7v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M8,17.5H4c-0.3,0-0.5-0.2-0.5-0.4  c0,0,0,0,0,0V17v-2H8V17.5z M8,13.5H3.5v-3H8V13.5z M8,9H3.5V7c0-0.3,0.2-0.5,0.4-0.5c0,0,0,0,0,0H8V9z M20.5,17  c0,0.3-0.2,0.5-0.4,0.5c0,0,0,0,0,0H16V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M20.5,9H16V6.5h4c0.3,0,0.5,0.2,0.5,0.4c0,0,0,0,0,0  V9z\",edit:\"M17,11.2L12.8,7L5,14.8V19h4.2L17,11.2z M7,16.8v-1.5l5.6-5.6l1.4,1.5l-5.6,5.6H7z M13.5,6.3l0.7-0.7c0.8-0.8,2.1-0.8,2.8,0  c0,0,0,0,0,0L18.4,7c0.8,0.8,0.8,2,0,2.8l-0.7,0.7L13.5,6.3z\",exitFullscreen:\"M5,16H8v3h2V14H5ZM8,8H5v2h5V5H8Zm6,11h2V16h3V14H14ZM16,8V5H14v5h5V8Z\",fileInsert:\"M 8.09375 12.75 L 5.90625 12.75 C 5.542969 12.75 5.25 12.394531 5.25 11.953125 L 5.25 6.375 L 2.851562 6.375 C 2.367188 6.375 2.121094 5.660156 2.464844 5.242188 L 6.625 0.1875 C 6.832031 -0.0585938 7.167969 -0.0585938 7.371094 0.1875 L 11.535156 5.242188 C 11.878906 5.660156 11.632812 6.375 11.148438 6.375 L 8.75 6.375 L 8.75 11.953125 C 8.75 12.394531 8.457031 12.75 8.09375 12.75 Z M 14 12.484375 L 14 16.203125 C 14 16.644531 13.707031 17 13.34375 17 L 0.65625 17 C 0.292969 17 0 16.644531 0 16.203125 L 0 12.484375 C 0 12.042969 0.292969 11.6875 0.65625 11.6875 L 4.375 11.6875 L 4.375 11.953125 C 4.375 12.980469 5.0625 13.8125 5.90625 13.8125 L 8.09375 13.8125 C 8.9375 13.8125 9.625 12.980469 9.625 11.953125 L 9.625 11.6875 L 13.34375 11.6875 C 13.707031 11.6875 14 12.042969 14 12.484375 Z M 10.609375 15.40625 C 10.609375 15.039062 10.363281 14.742188 10.0625 14.742188 C 9.761719 14.742188 9.515625 15.039062 9.515625 15.40625 C 9.515625 15.773438 9.761719 16.070312 10.0625 16.070312 C 10.363281 16.070312 10.609375 15.773438 10.609375 15.40625 Z M 12.359375 15.40625 C 12.359375 15.039062 12.113281 14.742188 11.8125 14.742188 C 11.511719 14.742188 11.265625 15.039062 11.265625 15.40625 C 11.265625 15.773438 11.511719 16.070312 11.8125 16.070312 C 12.113281 16.070312 12.359375 15.773438 12.359375 15.40625 Z M 12.359375 15.40625 \",fileManager:\"M 0 5.625 L 20.996094 5.625 L 21 15.75 C 21 16.371094 20.410156 16.875 19.6875 16.875 L 1.3125 16.875 C 0.585938 16.875 0 16.371094 0 15.75 Z M 0 5.625 M 21 4.5 L 0 4.5 L 0 2.25 C 0 1.628906 0.585938 1.125 1.3125 1.125 L 6.921875 1.125 C 7.480469 1.125 8.015625 1.316406 8.40625 1.652344 L 9.800781 2.847656 C 10.195312 3.183594 10.730469 3.375 11.289062 3.375 L 19.6875 3.375 C 20.414062 3.375 21 3.878906 21 4.5 Z M 21 4.5\",markdown:\"M5.55006 17.75V7.35L8.96006 16.89H10.7101L14.2301 7.37V14.0729C14.3951 14.1551 14.5499 14.265 14.6875 14.4026L14.7001 14.4151V11.64C14.7001 10.8583 15.2127 10.1963 15.9201 9.97171V5H13.6801L10.0401 14.86L6.51006 5H4.00006V17.75H5.55006ZM17.2001 11.64C17.2001 11.2258 16.8643 10.89 16.4501 10.89C16.0359 10.89 15.7001 11.2258 15.7001 11.64V16.8294L13.9804 15.1097C13.6875 14.8168 13.2126 14.8168 12.9197 15.1097C12.6269 15.4026 12.6269 15.8775 12.9197 16.1703L15.9197 19.1703C16.2126 19.4632 16.6875 19.4632 16.9804 19.1703L19.9804 16.1703C20.2733 15.8775 20.2733 15.4026 19.9804 15.1097C19.6875 14.8168 19.2126 14.8168 18.9197 15.1097L17.2001 16.8294V11.64Z\",fontAwesome:\"M18.99018,13.98212V7.52679c-.08038-1.21875-1.33929-.683-1.33929-.683-2.933,1.39282-4.36274.61938-5.85938.15625a6.23272,6.23272,0,0,0-2.79376-.20062l-.00946.004A1.98777,1.98777,0,0,0,7.62189,5.106a.984.984,0,0,0-.17517-.05432c-.02447-.0055-.04882-.01032-.0736-.0149A.9565.9565,0,0,0,7.1908,5H6.82539a.9565.9565,0,0,0-.18232.0368c-.02472.00458-.04907.0094-.07348.01484a.985.985,0,0,0-.17523.05438,1.98585,1.98585,0,0,0-.573,3.49585v9.394A1.004,1.004,0,0,0,6.82539,19H7.1908a1.00406,1.00406,0,0,0,1.00409-1.00409V15.52234c3.64221-1.09827,5.19709.64282,7.09888.57587a5.57291,5.57291,0,0,0,3.25446-1.05805A1.2458,1.2458,0,0,0,18.99018,13.98212Z\",fontFamily:\"M16,19h2L13,5H11L6,19H8l1.43-4h5.14Zm-5.86-6L12,7.8,13.86,13Z\",fontSize:\"M20.75,19h1.5l-3-10h-1.5l-3,10h1.5L17,16.5h3Zm-3.3-4,1.05-3.5L19.55,15Zm-5.7,4h2l-5-14h-2l-5,14h2l1.43-4h5.14ZM5.89,13,7.75,7.8,9.61,13Z\",fullscreen:\"M7,14H5v5h5V17H7ZM5,10H7V7h3V5H5Zm12,7H14v2h5V14H17ZM14,5V7h3v3h2V5Z\",help:\"M11,17h2v2h-2V17z M12,5C9.8,5,8,6.8,8,9h2c0-1.1,0.9-2,2-2s2,0.9,2,2c0,2-3,1.7-3,5v1h2v-1c0-2.2,3-2.5,3-5  C16,6.8,14.2,5,12,5z\",horizontalLine:\"M5,12h14 M19,11H5v2h14V11z\",imageAltText:\"M19,7h-6v12h-2V7H5V5h6h2h6V7z\",imageCaption:\"M14.2,11l3.8,5H6l3-3.9l2.1,2.7L14,11H14.2z M8.5,11c0.8,0,1.5-0.7,1.5-1.5S9.3,8,8.5,8S7,8.7,7,9.5C7,10.3,7.7,11,8.5,11z   M22,6v12c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,8.8V6H4v12h16V8.8z M22,22H2v2h20V22z\",imageClass:\"M9.5,13.4l-2.9-2.9h3.8L12.2,7l1.4,3.5h3.8l-3,2.9l0.9,3.6L12,15.1L8.8,17L9.5,13.4z M22,6v12c0,1.1-0.9,2-2,2H4  c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,6H4v12h16V8.8V6z\",imageDisplay:\"M3,5h18v2H3V5z M13,9h8v2h-8V9z M13,13h8v2h-8V13z M3,17h18v2H3V17z M3,9h8v6H3V9z\",imageManager:\"M20,6h-7l-2-2H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M20,18H4V6h6.2l2,2H20V18z   M18,16l-3.8-5H14l-2.9,3.8L9,12.1L6,16H18z M10,9.5C10,8.7,9.3,8,8.5,8S7,8.7,7,9.5S7.7,11,8.5,11S10,10.3,10,9.5z\",imageSize:\"M16.9,4c-0.3,0-0.5,0.2-0.8,0.3L3.3,13c-0.9,0.6-1.1,1.9-0.5,2.8l2.2,3.3c0.4,0.7,1.2,1,2,0.8c0.3,0,0.5-0.2,0.8-0.3  L20.7,11c0.9-0.6,1.1-1.9,0.5-2.8l-2.2-3.3C18.5,4.2,17.7,3.9,16.9,4L16.9,4z M16.9,9.9L18.1,9l-2-2.9L17,5.6c0.1,0,0.1-0.1,0.2-0.1  c0.2,0,0.4,0,0.5,0.2L19.9,9c0.2,0.2,0.1,0.5-0.1,0.7L7,18.4c-0.1,0-0.1,0.1-0.2,0.1c-0.2,0-0.4,0-0.5-0.2L4.1,15  c-0.2-0.2-0.1-0.5,0.1-0.7L5,13.7l2,2.9l1.2-0.8l-2-2.9L7.5,12l1.1,1.7l1.2-0.8l-1.1-1.7l1.2-0.8l2,2.9l1.2-0.8l-2-2.9l1.2-0.8  l1.1,1.7l1.2-0.8l-1.1-1.7L14.9,7L16.9,9.9z\",indent:\"M3,9v6l3-3L3,9z M3,19h18v-2H3V19z M3,7h18V5H3V7z M9,11h12V9H9V11z M9,15h12v-2H9V15z\",inlineClass:\"M9.9,13.313A1.2,1.2,0,0,1,9.968,13H6.277l1.86-5.2,1.841,5.148A1.291,1.291,0,0,1,11.212,12h.426l-2.5-7h-2l-5,14h2l1.43-4H9.9Zm2.651,6.727a2.884,2.884,0,0,1-.655-2.018v-2.71A1.309,1.309,0,0,1,13.208,14h3.113a3.039,3.039,0,0,1,2,1.092s1.728,1.818,2.964,2.928a1.383,1.383,0,0,1,.318,1.931,1.44,1.44,0,0,1-.19.215l-3.347,3.31a1.309,1.309,0,0,1-1.832.258h0a1.282,1.282,0,0,1-.258-.257l-1.71-1.728Zm2.48-3.96a.773.773,0,1,0,.008,0Z\",inlineStyle:\"M11.88,15h.7l.7-1.7-3-8.3h-2l-5,14h2l1.4-4Zm-4.4-2,1.9-5.2,1.9,5.2ZM15.4,21.545l3.246,1.949-.909-3.637L20.72,17H16.954l-1.429-3.506L13.837,17H10.071l2.857,2.857-.779,3.637Z\",insert:\"M13.889,11.611c-0.17,0.17-0.443,0.17-0.612,0l-3.189-3.187l-3.363,3.36c-0.171,0.171-0.441,0.171-0.612,0c-0.172-0.169-0.172-0.443,0-0.611l3.667-3.669c0.17-0.17,0.445-0.172,0.614,0l3.496,3.493C14.058,11.167,14.061,11.443,13.889,11.611 M18.25,10c0,4.558-3.693,8.25-8.25,8.25c-4.557,0-8.25-3.692-8.25-8.25c0-4.557,3.693-8.25,8.25-8.25C14.557,1.75,18.25,5.443,18.25,10 M17.383,10c0-4.07-3.312-7.382-7.383-7.382S2.618,5.93,2.618,10S5.93,17.381,10,17.381S17.383,14.07,17.383,10\",insertEmbed:\"M20.73889,15.45929a3.4768,3.4768,0,0,0-5.45965-.28662L9.5661,12.50861a3.49811,3.49811,0,0,0-.00873-1.01331l5.72174-2.66809a3.55783,3.55783,0,1,0-.84527-1.81262L8.70966,9.6839a3.50851,3.50851,0,1,0,.0111,4.63727l5.7132,2.66412a3.49763,3.49763,0,1,0,6.30493-1.526ZM18.00745,5.01056A1.49993,1.49993,0,1,1,16.39551,6.3894,1.49994,1.49994,0,0,1,18.00745,5.01056ZM5.99237,13.49536a1.49989,1.49989,0,1,1,1.61194-1.37878A1.49982,1.49982,0,0,1,5.99237,13.49536Zm11.78211,5.494a1.49993,1.49993,0,1,1,1.61193-1.37885A1.49987,1.49987,0,0,1,17.77448,18.98932Z\",insertFile:\"M7,3C5.9,3,5,3.9,5,5v14c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V7.6L14.4,3H7z M17,19H7V5h6v4h4V19z\",insertImage:\"M14.2,11l3.8,5H6l3-3.9l2.1,2.7L14,11H14.2z M8.5,11c0.8,0,1.5-0.7,1.5-1.5S9.3,8,8.5,8S7,8.7,7,9.5C7,10.3,7.7,11,8.5,11z   M22,6v12c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,8.8V6H4v12h16V8.8z\",insertLink:\"M11,17H7A5,5,0,0,1,7,7h4V9H7a3,3,0,0,0,0,6h4ZM17,7H13V9h4a3,3,0,0,1,0,6H13v2h4A5,5,0,0,0,17,7Zm-1,4H8v2h8Z\",insertMore:\"M16.5,13h-6v6h-2V13h-6V11h6V5h2v6h6Zm5,4.5A1.5,1.5,0,1,1,20,16,1.5,1.5,0,0,1,21.5,17.5Zm0-4A1.5,1.5,0,1,1,20,12,1.5,1.5,0,0,1,21.5,13.5Zm0-4A1.5,1.5,0,1,1,20,8,1.5,1.5,0,0,1,21.5,9.5Z\",insertTable:\"M20,5H4C2.9,5,2,5.9,2,7v2v1.5v3V15v2c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2v-2v-1.5v-3V9V7C22,5.9,21.1,5,20,5z M9.5,13.5v-3  h5v3H9.5z M14.5,15v2.5h-5V15H14.5z M9.5,9V6.5h5V9H9.5z M3.5,7c0-0.3,0.2-0.5,0.5-0.5h4V9H3.5V7z M3.5,10.5H8v3H3.5V10.5z M3.5,17  v-2H8v2.5H4C3.7,17.5,3.5,17.3,3.5,17z M20.5,17c0,0.3-0.2,0.5-0.5,0.5h-4V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M16,9V6.5h4  c0.3,0,0.5,0.2,0.5,0.5v2H16z\",insertVideo:\"M15,8v8H5V8H15m2,2.5V7a1,1,0,0,0-1-1H4A1,1,0,0,0,3,7V17a1,1,0,0,0,1,1H16a1,1,0,0,0,1-1V13.5l2.29,2.29A1,1,0,0,0,21,15.08V8.91a1,1,0,0,0-1.71-.71Z\",upload:\"M12 6.66667a4.87654 4.87654 0 0 1 4.77525 3.92342l0.29618 1.50268 1.52794 0.10578a2.57021 2.57021 0 0 1 -0.1827 5.13478H6.5a3.49774 3.49774 0 0 1 -0.3844 -6.97454l1.06682 -0.11341L7.678 9.29387A4.86024 4.86024 0 0 1 12 6.66667m0 -2A6.871 6.871 0 0 0 5.90417 8.37 5.49773 5.49773 0 0 0 6.5 19.33333H18.41667a4.57019 4.57019 0 0 0 0.32083 -9.13A6.86567 6.86567 0 0 0 12 4.66667Zm0.99976 7.2469h1.91406L11.99976 9 9.08618 11.91357h1.91358v3H11V16h2V14h-0.00024Z\",uploadFiles:\"M12 6.66667a4.87654 4.87654 0 0 1 4.77525 3.92342l0.29618 1.50268 1.52794 0.10578a2.57021 2.57021 0 0 1 -0.1827 5.13478H6.5a3.49774 3.49774 0 0 1 -0.3844 -6.97454l1.06682 -0.11341L7.678 9.29387A4.86024 4.86024 0 0 1 12 6.66667m0 -2A6.871 6.871 0 0 0 5.90417 8.37 5.49773 5.49773 0 0 0 6.5 19.33333H18.41667a4.57019 4.57019 0 0 0 0.32083 -9.13A6.86567 6.86567 0 0 0 12 4.66667Zm0.99976 7.2469h1.91406L11.99976 9 9.08618 11.91357h1.91358v3H11V16h2V14h-0.00024Z\",italic:\"M11.76,9h2l-2.2,10h-2Zm1.68-4a1,1,0,1,0,1,1,1,1,0,0,0-1-1Z\",search:\"M15.5 14h-0.79l-0.28 -0.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09 -0.59 4.23 -1.57l0.27 0.28v0.79l5 4.99L20.49 19l-4.99 -5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\",lineHeight:\"M6.25,7h2.5L5.25,3.5,1.75,7h2.5V17H1.75l3.5,3.5L8.75,17H6.25Zm4-2V7h12V5Zm0,14h12V17h-12Zm0-6h12V11h-12Z\",linkStyles:\"M19,17.9l0.9,3.6l-3.2-1.9l-3.3,1.9l0.8-3.6L11.3,15h3.8l1.7-3.5l1.4,3.5H22L19,17.9z M20,12c0,0.3-0.1,0.7-0.2,1h2.1  c0.1-0.3,0.1-0.6,0.1-1c0-2.8-2.2-5-5-5h-4v2h4C18.7,9,20,10.3,20,12z M14.8,11H8v2h3.3h2.5L14.8,11z M9.9,16.4L8.5,15H7  c-1.7,0-3-1.3-3-3s1.3-3,3-3h4V7H7c-2.8,0-5,2.2-5,5s2.2,5,5,5h3.5L9.9,16.4z\",mention:\"M12.4,5c-4.1,0-7.5,3.4-7.5,7.5S8.3,20,12.4,20h3.8v-1.5h-3.8c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6v1.1  c0,0.6-0.5,1.2-1.1,1.2s-1.1-0.6-1.1-1.2v-1.1c0-2.1-1.7-3.8-3.8-3.8s-3.7,1.7-3.7,3.8s1.7,3.8,3.8,3.8c1,0,2-0.4,2.7-1.1  c0.5,0.7,1.3,1.1,2.2,1.1c1.5,0,2.6-1.2,2.6-2.7v-1.1C19.9,8.4,16.6,5,12.4,5z M12.4,14.7c-1.2,0-2.3-1-2.3-2.2s1-2.3,2.3-2.3  s2.3,1,2.3,2.3S13.6,14.7,12.4,14.7z\",minimize:\"M5,12h14 M19,11H5v2h14V11z\",more:\"M13.5,17c0,0.8-0.7,1.5-1.5,1.5s-1.5-0.7-1.5-1.5s0.7-1.5,1.5-1.5S13.5,16.2,13.5,17z M13.5,12c0,0.8-0.7,1.5-1.5,1.5 s-1.5-0.7-1.5-1.5s0.7-1.5,1.5-1.5S13.5,11.2,13.5,12z M13.5,7c0,0.8-0.7,1.5-1.5,1.5S10.5,7.8,10.5,7s0.7-1.5,1.5-1.5 S13.5,6.2,13.5,7z\",openLink:\"M17,17H7V7h3V5H7C6,5,5,6,5,7v10c0,1,1,2,2,2h10c1,0,2-1,2-2v-3h-2V17z M14,5v2h1.6l-5.8,5.8l1.4,1.4L17,8.4V10h2V5H14z\",orderedList:\"M2.5,16h2v.5h-1v1h1V18h-2v1h3V15h-3Zm1-7h1V5h-2V6h1Zm-1,2H4.3L2.5,13.1V14h3V13H3.7l1.8-2.1V10h-3Zm5-5V8h14V6Zm0,12h14V16H7.5Zm0-5h14V11H7.5Z\",outdent:\"M3,12l3,3V9L3,12z M3,19h18v-2H3V19z M3,7h18V5H3V7z M9,11h12V9H9V11z M9,15h12v-2H9V15z\",pageBreaker:\"M3,9v6l3-3L3,9z M21,9H8V4h2v3h9V4h2V9z M21,20h-2v-3h-9v3H8v-5h13V20z M11,13H8v-2h3V13z M16,13h-3v-2h3V13z M21,13h-3v-2  h3V13z\",paragraphFormat:\"M10.15,5A4.11,4.11,0,0,0,6.08,8.18,4,4,0,0,0,10,13v6h2V7h2V19h2V7h2V5ZM8,9a2,2,0,0,1,2-2v4A2,2,0,0,1,8,9Z\",paragraphMore:\"M7.682,5a4.11,4.11,0,0,0-4.07,3.18,4,4,0,0,0,3.11,4.725h0l.027.005a3.766,3.766,0,0,0,.82.09v6h2V7h2V19h2V7h2V5ZM5.532,9a2,2,0,0,1,2-2v4A2,2,0,0,1,5.532,9Zm14.94,8.491a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.472,17.491Zm0-4a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.472,13.491Zm0-4a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.472,9.491Z\",paragraphStyle:\"M4,9c0-1.1,0.9-2,2-2v4C4.9,11,4,10.1,4,9z M16.7,20.5l3.2,1.9L19,18.8l3-2.9h-3.7l-1.4-3.5L15.3,16h-3.8l2.9,2.9l-0.9,3.6  L16.7,20.5z M10,17.4V19h1.6L10,17.4z M6.1,5c-1.9,0-3.6,1.3-4,3.2c-0.5,2.1,0.8,4.2,2.9,4.7c0,0,0,0,0,0h0.2C5.5,13,5.8,13,6,13v6  h2V7h2v7h2V7h2V5H6.1z\",pdfExport:\"M7,3C5.9,3,5,3.9,5,5v14c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V7.6L14.4,3H7z M17,19H7V5h6v4h4V19z M16.3,13.5  c-0.2-0.6-1.1-0.8-2.6-0.8c-0.1,0-0.1,0-0.2,0c-0.3-0.3-0.8-0.9-1-1.2c-0.2-0.2-0.3-0.3-0.4-0.6c0.2-0.7,0.2-1,0.3-1.5  c0.1-0.9,0-1.6-0.2-1.8c-0.4-0.2-0.7-0.2-0.9-0.2c-0.1,0-0.3,0.2-0.7,0.7c-0.2,0.7-0.1,1.8,0.6,2.8c-0.2,0.8-0.7,1.6-1,2.4  c-0.8,0.2-1.5,0.7-1.9,1.1c-0.7,0.7-0.9,1.1-0.7,1.6c0,0.3,0.2,0.6,0.7,0.6c0.3-0.1,0.3-0.2,0.7-0.3c0.6-0.3,1.2-1.7,1.7-2.4  c0.8-0.2,1.7-0.3,2-0.3c0.1,0,0.3,0,0.6,0c0.8,0.8,1.2,1.1,1.8,1.2c0.1,0,0.2,0,0.3,0c0.3,0,0.8-0.1,1-0.6  C16.4,14.1,16.4,13.9,16.3,13.5z M8.3,15.7c-0.1,0.1-0.2,0.1-0.2,0.1c0-0.1,0-0.3,0.6-0.8c0.2-0.2,0.6-0.3,0.9-0.7  C9,15,8.6,15.5,8.3,15.7z M11.3,9c0-0.1,0.1-0.2,0.1-0.2S11.6,9,11.5,10c0,0.1,0,0.3-0.1,0.7C11.3,10.1,11,9.5,11.3,9z M10.9,13.1  c0.2-0.6,0.6-1,0.7-1.5c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.2,0.3,0.7,0.7,0.9C12.2,12.8,11.6,13,10.9,13.1z M15.2,14.1  c-0.1,0-0.1,0-0.2,0c-0.2,0-0.7-0.2-1-0.7c1.1,0,1.6,0.2,1.6,0.6C15.5,14.1,15.4,14.1,15.2,14.1z\",print:\"M16.1,17c0-0.6,0.4-1,1-1c0.6,0,1,0.4,1,1s-0.4,1-1,1C16.5,18,16.1,17.6,16.1,17z M22,15v4c0,1.1-0.9,2-2,2H4  c-1.1,0-2-0.9-2-2v-4c0-1.1,0.9-2,2-2h1V5c0-1.1,0.9-2,2-2h7.4L19,7.6V13h1C21.1,13,22,13.9,22,15z M7,13h10V9h-4V5H7V13z M20,15H4  v4h16V15z\",redo:\"M13.6,9.4c1.7,0.3,3.2,0.9,4.6,2L21,8.5v7h-7l2.7-2.7C13,10.1,7.9,11,5.3,14.7c-0.2,0.3-0.4,0.5-0.5,0.8L3,14.6  C5.1,10.8,9.3,8.7,13.6,9.4z\",removeTable:\"M15,10v8H9v-8H15 M14,4H9.9l-1,1H6v2h12V5h-3L14,4z M17,8H7v10c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V8z\",insertAll:\"M 9.25 12 L 6.75 12 C 6.335938 12 6 11.664062 6 11.25 L 6 6 L 3.257812 6 C 2.703125 6 2.425781 5.328125 2.820312 4.933594 L 7.570312 0.179688 C 7.804688 -0.0546875 8.191406 -0.0546875 8.425781 0.179688 L 13.179688 4.933594 C 13.574219 5.328125 13.296875 6 12.742188 6 L 10 6 L 10 11.25 C 10 11.664062 9.664062 12 9.25 12 Z M 16 11.75 L 16 15.25 C 16 15.664062 15.664062 16 15.25 16 L 0.75 16 C 0.335938 16 0 15.664062 0 15.25 L 0 11.75 C 0 11.335938 0.335938 11 0.75 11 L 5 11 L 5 11.25 C 5 12.214844 5.785156 13 6.75 13 L 9.25 13 C 10.214844 13 11 12.214844 11 11.25 L 11 11 L 15.25 11 C 15.664062 11 16 11.335938 16 11.75 Z M 12.125 14.5 C 12.125 14.15625 11.84375 13.875 11.5 13.875 C 11.15625 13.875 10.875 14.15625 10.875 14.5 C 10.875 14.84375 11.15625 15.125 11.5 15.125 C 11.84375 15.125 12.125 14.84375 12.125 14.5 Z M 14.125 14.5 C 14.125 14.15625 13.84375 13.875 13.5 13.875 C 13.15625 13.875 12.875 14.15625 12.875 14.5 C 12.875 14.84375 13.15625 15.125 13.5 15.125 C 13.84375 15.125 14.125 14.84375 14.125 14.5 Z M 14.125 14.5 \",remove:\"M15,10v8H9v-8H15 M14,4H9.9l-1,1H6v2h12V5h-3L14,4z M17,8H7v10c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V8z\",replaceImage:\"M16,5v3H4v2h12v3l4-4L16,5z M8,19v-3h12v-2H8v-3l-4,4L8,19z\",row:\"M20,5H4C2.9,5,2,5.9,2,7v2v1.5v3V15v2c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2v-2v-1.5v-3V9V7C22,5.9,21.1,5,20,5z M16,6.5h4  c0.3,0,0.5,0.2,0.5,0.5v2H16V6.5z M9.5,6.5h5V9h-5V6.5z M3.5,7c0-0.3,0.2-0.5,0.5-0.5h4V9H3.5V7z M8,17.5H4c-0.3,0-0.5-0.2-0.5-0.5  v-2H8V17.5z M14.5,17.5h-5V15h5V17.5z M20.5,17c0,0.3-0.2,0.5-0.5,0.5h-4V15h4.5V17z\",selectAll:\"M5,7h2V5C5.9,5,5,5.9,5,7z M5,11h2V9H5V11z M9,19h2v-2H9V19z M5,11h2V9H5V11z M15,5h-2v2h2V5z M17,5v2h2C19,5.9,18.1,5,17,5  z M7,19v-2H5C5,18.1,5.9,19,7,19z M5,15h2v-2H5V15z M11,5H9v2h2V5z M13,19h2v-2h-2V19z M17,11h2V9h-2V11z M17,19c1.1,0,2-0.9,2-2h-2  V19z M17,11h2V9h-2V11z M17,15h2v-2h-2V15z M13,19h2v-2h-2V19z M13,7h2V5h-2V7z M9,15h6V9H9V15z M11,11h2v2h-2V11z\",smile:\"M11.991,3A9,9,0,1,0,21,12,8.99557,8.99557,0,0,0,11.991,3ZM12,19a7,7,0,1,1,7-7A6.99808,6.99808,0,0,1,12,19Zm3.105-5.2h1.503a4.94542,4.94542,0,0,1-9.216,0H8.895a3.57808,3.57808,0,0,0,6.21,0ZM7.5,9.75A1.35,1.35,0,1,1,8.85,11.1,1.35,1.35,0,0,1,7.5,9.75Zm6.3,0a1.35,1.35,0,1,1,1.35,1.35A1.35,1.35,0,0,1,13.8,9.75Z\",spellcheck:\"M19.1,13.6l-5.6,5.6l-2.7-2.7l-1.4,1.4l4.1,4.1l7-7L19.1,13.6z M10.8,13.7l2.7,2.7l0.8-0.8L10.5,5h-2l-5,14h2l1.4-4h2.6  L10.8,13.7z M9.5,7.8l1.9,5.2H7.6L9.5,7.8z\",star:\"M12.1,7.7l1,2.5l0.4,0.9h1h2.4l-2.1,2l-0.6,0.6l0.2,0.9l0.6,2.3l-2.2-1.3L12,15.2l-0.8,0.5L9,17l0.5-2.5l0.1-0.8L9,13.1  l-2-2h2.5h0.9l0.4-0.8L12.1,7.7 M12.2,4L9.5,9.6H3.4L8,14.2L6.9,20l5.1-3.1l5.3,3.1l-1.5-5.8l4.8-4.6h-6.1L12.2,4L12.2,4z\",strikeThrough:\"M3,12.20294H21v1.5H16.63422a3.59782,3.59782,0,0,1,.34942,1.5929,3.252,3.252,0,0,1-1.31427,2.6997A5.55082,5.55082,0,0,1,12.20251,19a6.4421,6.4421,0,0,1-2.62335-.539,4.46335,4.46335,0,0,1-1.89264-1.48816,3.668,3.668,0,0,1-.67016-2.15546V14.704h.28723v-.0011h.34149v.0011H9.02v.11334a2.18275,2.18275,0,0,0,.85413,1.83069,3.69,3.69,0,0,0,2.32836.67926,3.38778,3.38778,0,0,0,2.07666-.5462,1.73346,1.73346,0,0,0,.7013-1.46655,1.69749,1.69749,0,0,0-.647-1.43439,3.00525,3.00525,0,0,0-.27491-.17725H3ZM16.34473,7.05981A4.18163,4.18163,0,0,0,14.6236,5.5462,5.627,5.627,0,0,0,12.11072,5,5.16083,5.16083,0,0,0,8.74719,6.06213,3.36315,3.36315,0,0,0,7.44006,8.76855a3.22923,3.22923,0,0,0,.3216,1.42786h2.59668c-.08338-.05365-.18537-.10577-.25269-.16064a1.60652,1.60652,0,0,1-.65283-1.30036,1.79843,1.79843,0,0,1,.68842-1.5108,3.12971,3.12971,0,0,1,1.96948-.55243,3.04779,3.04779,0,0,1,2.106.6687,2.35066,2.35066,0,0,1,.736,1.83258v.11341h2.00317V9.17346A3.90013,3.90013,0,0,0,16.34473,7.05981Z\",subscript:\"M10.4,12l3.6,3.6L12.6,17L9,13.4L5.4,17L4,15.6L7.6,12L4,8.4L5.4,7L9,10.6L12.6,7L14,8.4L10.4,12z M18.31234,19.674  l1.06812-1.1465c0.196-0.20141,0.37093-0.40739,0.5368-0.6088c0.15975-0.19418,0.30419-0.40046,0.432-0.617  c0.11969-0.20017,0.21776-0.41249,0.29255-0.6334c0.07103-0.21492,0.10703-0.43986,0.10662-0.66621  c0.00297-0.28137-0.04904-0.56062-0.1531-0.82206c-0.09855-0.24575-0.25264-0.46534-0.45022-0.6416  c-0.20984-0.18355-0.45523-0.32191-0.72089-0.40646c-0.63808-0.19005-1.3198-0.17443-1.94851,0.04465  c-0.28703,0.10845-0.54746,0.2772-0.76372,0.49487c-0.20881,0.20858-0.37069,0.45932-0.47483,0.73548  c-0.10002,0.26648-0.15276,0.54838-0.15585,0.833l-0.00364,0.237H17.617l0.00638-0.22692  c0.00158-0.12667,0.01966-0.25258,0.05377-0.37458c0.03337-0.10708,0.08655-0.20693,0.15679-0.29437  c0.07105-0.08037,0.15959-0.14335,0.25882-0.1841c0.22459-0.08899,0.47371-0.09417,0.7018-0.01458  c0.0822,0.03608,0.15559,0.08957,0.21509,0.15679c0.06076,0.07174,0.10745,0.15429,0.13761,0.24333  c0.03567,0.10824,0.05412,0.22141,0.05469,0.33538c-0.00111,0.08959-0.0118,0.17881-0.0319,0.26612  c-0.02913,0.10428-0.07076,0.20465-0.124,0.29893c-0.07733,0.13621-0.1654,0.26603-0.26338,0.38823  c-0.13438,0.17465-0.27767,0.34226-0.42929,0.50217l-2.15634,2.35315V21H21v-1.326H18.31234z\",superscript:\"M10.4,12,14,15.6,12.6,17,9,13.4,5.4,17,4,15.6,7.6,12,4,8.4,5.4,7,9,10.6,12.6,7,14,8.4Zm8.91234-3.326,1.06812-1.1465c.196-.20141.37093-.40739.5368-.6088a4.85745,4.85745,0,0,0,.432-.617,3.29,3.29,0,0,0,.29255-.6334,2.11079,2.11079,0,0,0,.10662-.66621,2.16127,2.16127,0,0,0-.1531-.82206,1.7154,1.7154,0,0,0-.45022-.6416,2.03,2.03,0,0,0-.72089-.40646,3.17085,3.17085,0,0,0-1.94851.04465,2.14555,2.14555,0,0,0-.76372.49487,2.07379,2.07379,0,0,0-.47483.73548,2.446,2.446,0,0,0-.15585.833l-.00364.237H18.617L18.62338,5.25a1.45865,1.45865,0,0,1,.05377-.37458.89552.89552,0,0,1,.15679-.29437.70083.70083,0,0,1,.25882-.1841,1.00569,1.00569,0,0,1,.7018-.01458.62014.62014,0,0,1,.21509.15679.74752.74752,0,0,1,.13761.24333,1.08893,1.08893,0,0,1,.05469.33538,1.25556,1.25556,0,0,1-.0319.26612,1.34227,1.34227,0,0,1-.124.29893,2.94367,2.94367,0,0,1-.26338.38823,6.41629,6.41629,0,0,1-.42929.50217L17.19709,8.92642V10H22V8.674Z\",symbols:\"M15.77493,16.98885a8.21343,8.21343,0,0,0,1.96753-2.57651,7.34824,7.34824,0,0,0,.6034-3.07618A6.09092,6.09092,0,0,0,11.99515,5a6.13347,6.13347,0,0,0-4.585,1.79187,6.417,6.417,0,0,0-1.756,4.69207,6.93955,6.93955,0,0,0,.622,2.97415,8.06587,8.06587,0,0,0,1.949,2.53076H5.41452V19h5.54114v-.04331h-.00147V16.84107a5.82825,5.82825,0,0,1-2.2052-2.2352A6.40513,6.40513,0,0,1,7.97672,11.447,4.68548,4.68548,0,0,1,9.07785,8.19191a3.73232,3.73232,0,0,1,2.9173-1.22462,3.76839,3.76839,0,0,1,2.91241,1.21489,4.482,4.482,0,0,1,1.11572,3.154,6.71141,6.71141,0,0,1-.75384,3.24732,5.83562,5.83562,0,0,1-2.22357,2.25759v2.11562H13.0444V19h5.54108V16.98885Z\",tags:\"M8.9749 7.47489a1.5 1.5 0 1 1 -1.5 1.5A1.5 1.5 0 0 1 8.9749 7.47489Zm3.78866 -3.12713L16.5362 8.12041l0.33565 0.33564 2.77038 2.77038a2.01988 2.01988 0 0 1 0.59 1.42 1.95518 1.95518 0 0 1 -0.5854 1.40455l0.00044 0.00043 -5.59583 5.59583 -0.00043 -0.00044a1.95518 1.95518 0 0 1 -1.40455 0.5854 1.98762 1.98762 0 0 1 -1.41 -0.58L8.45605 16.87185l-0.33564 -0.33565L4.35777 12.77357a1.99576 1.99576 0 0 1 -0.59 -1.42V9.36358l0 -3.59582a2.00579 2.00579 0 0 1 2 -2l3.59582 0h1.98995A1.98762 1.98762 0 0 1 12.76356 4.34776ZM15.46186 9.866l-0.33564 -0.33564L11.36359 5.76776H5.76776v5.59583L9.866 15.46186l2.7794 2.7794 5.5878 -5.60385 -0.001 -0.001Z\",tableHeader:\"M20,5H4C2.9,5,2,5.9,2,7v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M8,17.5H4c-0.3,0-0.5-0.2-0.5-0.4  l0,0V17v-2H8V17.5z M8,13.5H3.5v-3H8V13.5z M14.5,17.5h-5V15h5V17.5z M14.5,13.5h-5v-3h5V13.5z M20.5,17c0,0.3-0.2,0.5-0.4,0.5l0,0  H16V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M20.5,9h-4.4H16h-1.5h-5H8H7.9H3.5V7c0-0.3,0.2-0.5,0.4-0.5l0,0h4l0,0h8.2l0,0H20  c0.3,0,0.5,0.2,0.5,0.4l0,0V9z\",tableFooter:\"M20,19H4a2.006,2.006,0,0,1-2-2V7A2.006,2.006,0,0,1,4,5H20a2.006,2.006,0,0,1,2,2V17A2.006,2.006,0,0,1,20,19ZM8,6.5H4a.458.458,0,0,0-.5.4h0V9H8Zm0,4H3.5v3H8Zm6.5-4h-5V9h5Zm0,4h-5v3h5Zm6-3.5a.458.458,0,0,0-.4-.5H16V9h4.5Zm0,3.5H16v3h4.5Zm0,4.5H3.5v2a.458.458,0,0,0,.4.5H20a.458.458,0,0,0,.5-.4h0Z\",tableStyle:\"M20.0171,19.89752l.9,3.6-3.2-1.9-3.3,1.9.8-3.6-2.9-2.9h3.8l1.7-3.5,1.4,3.5h3.8ZM20,5H4A2.00591,2.00591,0,0,0,2,7V17a2.00591,2.00591,0,0,0,2,2h7.49115l-.58826-.58826L9.99115,17.5H9.5V14.9975h5.36511L16,12.66089V10.5h4.5v3h-.52783l.599,1.4975H22V7A2.00591,2.00591,0,0,0,20,5ZM3.5,7A.4724.4724,0,0,1,4,6.5H8V9H3.5Zm0,3.5H8v3H3.5Zm.5,7a.4724.4724,0,0,1-.5-.5V15H8v2.5Zm10.5-4h-5v-3h5Zm0-4.5h-5V6.5h5Zm6,0H16V6.5h4a.4724.4724,0,0,1,.5.5Z\",textColor:\"M15.2,13.494s-3.6,3.9-3.6,6.3a3.65,3.65,0,0,0,7.3.1v-.1C18.9,17.394,15.2,13.494,15.2,13.494Zm-1.47-1.357.669-.724L12.1,5h-2l-5,14h2l1.43-4h2.943A24.426,24.426,0,0,1,13.726,12.137ZM11.1,7.8l1.86,5.2H9.244Z\",textMore:\"M13.55,19h2l-5-14h-2l-5,14h2l1.4-4h5.1Zm-5.9-6,1.9-5.2,1.9,5.2Zm12.8,4.5a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.45,17.5Zm0-4a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.45,13.5Zm0-4A1.5,1.5,0,1,1,18.95,8,1.5,1.5,0,0,1,20.45,9.5Z\",underline:\"M19,20v2H5V20Zm-3-6.785a4,4,0,0,1-5.74,3.4A3.75,3.75,0,0,1,8,13.085V5.005H6v8.21a6,6,0,0,0,8,5.44,5.851,5.851,0,0,0,4-5.65v-8H16ZM16,5v0h2V5ZM8,5H6v0H8Z\",undo:\"M10.4,9.4c-1.7,0.3-3.2,0.9-4.6,2L3,8.5v7h7l-2.7-2.7c3.7-2.6,8.8-1.8,11.5,1.9c0.2,0.3,0.4,0.5,0.5,0.8l1.8-0.9  C18.9,10.8,14.7,8.7,10.4,9.4z\",unlink:\"M14.4,11l1.6,1.6V11H14.4z M17,7h-4v1.9h4c1.7,0,3.1,1.4,3.1,3.1c0,1.3-0.8,2.4-1.9,2.8l1.4,1.4C21,15.4,22,13.8,22,12  C22,9.2,19.8,7,17,7z M2,4.3l3.1,3.1C3.3,8.1,2,9.9,2,12c0,2.8,2.2,5,5,5h4v-1.9H7c-1.7,0-3.1-1.4-3.1-3.1c0-1.6,1.2-2.9,2.8-3.1  L8.7,11H8v2h2.7l2.3,2.3V17h1.7l4,4l1.4-1.4L3.4,2.9L2,4.3z\",unorderedList:\"M4,10.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S4.8,10.5,4,10.5z M4,5.5C3.2,5.5,2.5,6.2,2.5,7  S3.2,8.5,4,8.5S5.5,7.8,5.5,7S4.8,5.5,4,5.5z M4,15.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S4.8,15.5,4,15.5z   M7.5,6v2h14V6H7.5z M7.5,18h14v-2h-14V18z M7.5,13h14v-2h-14V13z\",verticalAlignBottom:\"M16,13h-3V3h-2v10H8l4,4L16,13z M3,19v2h18v-2H3z\",verticalAlignMiddle:\"M3,11v2h18v-2H3z M8,18h3v3h2v-3h3l-4-4L8,18z M16,6h-3V3h-2v3H8l4,4L16,6z\",verticalAlignTop:\"M8,11h3v10h2V11h3l-4-4L8,11z M21,5V3H3v2H21z\",filestackIconAdd:\"M21 16.75 16.985 21v-4.25H21ZM7.154 12.5c2.294 0 4.154 1.902 4.154 4.25S9.448 21 7.154 21C4.86 21 3 19.097 3 16.75s1.86-4.25 4.154-4.25Zm8.862 6.8V21H10.24a5.283 5.283 0 0 0 1.441-1.7h4.334ZM7.46 14.093h-.614a.215.215 0 0 0-.212.218v1.907H4.77a.215.215 0 0 0-.212.218v.628c0 .12.094.217.212.217h1.865v1.908c0 .12.095.217.212.217h.614a.214.214 0 0 0 .212-.217V17.28h1.865a.214.214 0 0 0 .212-.217v-.628a.215.215 0 0 0-.212-.218H7.673v-1.907a.215.215 0 0 0-.212-.218Zm5.647-.035v1.558h-.886a5.324 5.324 0 0 0-.615-1.558h1.501ZM21 4v11.616h-1.522V5.559H8.538v6.094a5.018 5.018 0 0 0-1.384-.216V4H21Zm-5.4 7.366v1.559h-4.015v-1.559h4.016Zm.97-2.691v1.559h-4.985v-1.56h4.985Z\",trackChanges:\"M17.2 20H12.4599L13.9938 19.2076L14.0305 19.1886L14.0616 19.1612C14.1036 19.1242 14.1373 19.0786 14.1603 19.0275C14.1806 18.9825 14.1923 18.9342 14.1948 18.885H14.2H14.3384L14.4364 18.7874L14.7049 18.52H15.45C15.5747 18.52 15.6942 18.4705 15.7823 18.3823C15.8705 18.2942 15.92 18.1746 15.92 18.05C15.92 17.9253 15.8705 17.8058 15.7823 17.7176C15.7351 17.6704 15.6789 17.6343 15.6177 17.6109L17.33 15.9056V19.87C17.33 19.8871 17.3266 19.904 17.3201 19.9197C17.3136 19.9355 17.304 19.9499 17.2919 19.9619C17.2799 19.974 17.2655 19.9836 17.2497 19.9901C17.234 19.9966 17.2171 20 17.2 20ZM4.13 20H11.2508C11.2396 19.9629 11.2337 19.9242 11.2337 19.885C11.2337 19.8133 11.2533 19.7431 11.29 19.6819L11.2739 19.6734L11.8838 18.52H5C4.87535 18.52 4.7558 18.4705 4.66766 18.3823C4.57952 18.2942 4.53 18.1746 4.53 18.05C4.53 17.9253 4.57952 17.8058 4.66766 17.7176C4.7558 17.6295 4.87535 17.58 5 17.58H12.3809L12.3925 17.5582L12.4187 17.5284C12.4558 17.4864 12.5014 17.4527 12.5525 17.4297C12.5836 17.4156 12.6163 17.4057 12.6498 17.4001C12.6522 17.3065 12.6877 17.2166 12.7503 17.1467L13 17.37C12.9902 17.381 12.9847 17.3952 12.9847 17.41C12.9847 17.4247 12.9902 17.439 13 17.45L14.13 18.55H14.2L19.09 13.68V13.6L17.99 12.5C17.979 12.4902 17.9647 12.4847 17.95 12.4847C17.9352 12.4847 17.921 12.4902 17.91 12.5L13 17.37L12.7641 17.1322L15.1759 14.74H5C4.87535 14.74 4.7558 14.6905 4.66766 14.6023C4.57952 14.5142 4.53 14.3946 4.53 14.27C4.53 14.1453 4.57952 14.0258 4.66766 13.9376C4.7558 13.8495 4.87535 13.8 5 13.8H15.45C15.5747 13.8 15.6942 13.8495 15.7823 13.9376C15.8169 13.9722 15.8454 14.0115 15.8675 14.0541L17.33 12.6034V9.3H13.28C13.207 9.30976 13.133 9.30976 13.06 9.3C12.7697 9.22119 12.5113 9.05343 12.3212 8.82027C12.1311 8.58711 12.0187 8.30026 12 8V4H4.13C4.09552 4 4.06246 4.0137 4.03808 4.03808C4.0137 4.06246 4 4.09552 4 4.13V19.87C4 19.9045 4.0137 19.9375 4.03808 19.9619C4.06246 19.9863 4.09552 20 4.13 20ZM11.7889 20H11.8785C11.8902 19.9746 11.898 19.9475 11.9015 19.9197L11.8661 19.9866L11.8117 19.9578L13.84 18.91C13.8464 18.9044 13.8515 18.8974 13.855 18.8897C13.8585 18.8819 13.8603 18.8735 13.8603 18.865C13.8603 18.8565 13.8585 18.8481 13.855 18.8403C13.8515 18.8325 13.8464 18.8256 13.84 18.82L12.76 17.75C12.7544 17.7436 12.7474 17.7385 12.7397 17.735C12.7319 17.7315 12.7235 17.7297 12.715 17.7297C12.7065 17.7297 12.6981 17.7315 12.6903 17.735C12.6825 17.7385 12.6756 17.7436 12.67 17.75L11.57 19.83L11.5023 19.7942L11.58 19.85C11.5727 19.8602 11.5687 19.8724 11.5687 19.885C11.5687 19.8975 11.5727 19.9098 11.58 19.92L11.67 20H11.73L11.7642 19.9823L11.7889 20ZM13.1 4.65L16.6 8.15C16.6212 8.17232 16.6355 8.20028 16.6412 8.23051C16.6469 8.26075 16.6437 8.29199 16.6321 8.32048C16.6205 8.34898 16.6009 8.37352 16.5757 8.39117C16.5505 8.40882 16.5207 8.41883 16.49 8.42H13.06L12.83 8.19V4.76C12.8312 4.72925 12.8412 4.6995 12.8588 4.67429C12.8765 4.64909 12.901 4.62951 12.9295 4.6179C12.958 4.6063 12.9893 4.60315 13.0195 4.60884C13.0497 4.61453 13.0777 4.62882 13.1 4.65ZM11 6.72C11.0027 6.66089 10.9937 6.60183 10.9735 6.54621C10.9534 6.49058 10.9224 6.43948 10.8825 6.39582C10.8425 6.35216 10.7944 6.31681 10.7408 6.29179C10.6871 6.26677 10.6291 6.25257 10.57 6.25H5C4.88239 6.25773 4.77251 6.3113 4.69397 6.39918C4.61543 6.48707 4.57451 6.60226 4.58 6.72C4.57451 6.83774 4.61543 6.95293 4.69397 7.04082C4.77251 7.12871 4.88239 7.18227 5 7.19H10.6C10.714 7.1774 10.8189 7.12173 10.8933 7.03438C10.9676 6.94702 11.0058 6.83457 11 6.72ZM11.1 8.14001H5C4.87535 8.14001 4.7558 8.18953 4.66766 8.27767C4.57952 8.36582 4.53 8.48536 4.53 8.61001C4.53 8.73467 4.57952 8.85421 4.66766 8.94236C4.7558 9.0305 4.87535 9.08001 5 9.08001H11.1C11.2247 9.08001 11.3442 9.0305 11.4323 8.94236C11.5205 8.85421 11.57 8.73467 11.57 8.61001C11.57 8.48536 11.5205 8.36582 11.4323 8.27767C11.3442 8.18953 11.2247 8.14001 11.1 8.14001ZM5 11H15.45C15.5826 11 15.7098 10.9473 15.8036 10.8536C15.8973 10.7598 15.95 10.6326 15.95 10.5C15.95 10.3674 15.8973 10.2402 15.8036 10.1464C15.7098 10.0527 15.5826 10 15.45 10H5C4.86739 10 4.74021 10.0527 4.64645 10.1464C4.55268 10.2402 4.5 10.3674 4.5 10.5C4.5 10.6326 4.55268 10.7598 4.64645 10.8536C4.74021 10.9473 4.86739 11 5 11ZM5 12.86H11.1C11.2211 12.8523 11.3346 12.798 11.4166 12.7085C11.4986 12.6191 11.5428 12.5013 11.54 12.38C11.5427 12.2597 11.4982 12.1431 11.4159 12.0552C11.3337 11.9673 11.2202 11.9152 11.1 11.91H5C4.94089 11.9126 4.88286 11.9268 4.82924 11.9518C4.77562 11.9768 4.72746 12.0122 4.68752 12.0558C4.64758 12.0995 4.61664 12.1506 4.59648 12.2062C4.57631 12.2618 4.56731 12.3209 4.57 12.38C4.56451 12.5004 4.60649 12.6181 4.6869 12.7079C4.76731 12.7976 4.87974 12.8523 5 12.86ZM11.1 16.63H5C4.87535 16.63 4.7558 16.5805 4.66766 16.4923C4.57952 16.4042 4.53 16.2846 4.53 16.16C4.53 16.0353 4.57952 15.9158 4.66766 15.8276C4.7558 15.7395 4.87535 15.69 5 15.69H11.1C11.2247 15.69 11.3442 15.7395 11.4323 15.8276C11.5205 15.9158 11.57 16.0353 11.57 16.16C11.57 16.2846 11.5205 16.4042 11.4323 16.4923C11.3442 16.5805 11.2247 16.63 11.1 16.63ZM18.8503 11.592C18.7991 11.6175 18.7545 11.6544 18.72 11.7L18.26 12.14C18.2501 12.151 18.2447 12.1652 18.2447 12.18C18.2447 12.1947 18.2501 12.209 18.26 12.22L19.37 13.32C19.381 13.3298 19.3952 13.3353 19.41 13.3353C19.4247 13.3353 19.439 13.3298 19.45 13.32L19.86 12.91C19.9057 12.867 19.9421 12.8151 19.967 12.7575C19.9919 12.6998 20.0047 12.6377 20.0047 12.575C20.0047 12.5122 19.9919 12.4501 19.967 12.3925C19.9421 12.3349 19.9057 12.283 19.86 12.24L19.31 11.7C19.2755 11.6544 19.2309 11.6175 19.1797 11.592C19.1285 11.5666 19.0721 11.5533 19.015 11.5533C18.9578 11.5533 18.9014 11.5666 18.8503 11.592Z\",showTrackChanges:\"M17.2421 13.6048C17.2631 13.6136 17.2841 13.6226 17.305 13.6317V9.29505H13.2626C13.1897 9.30481 13.1159 9.30481 13.043 9.29505C12.7532 9.21632 12.4953 9.04872 12.3056 8.81577C12.1158 8.58283 12.0037 8.29625 11.985 7.99627V4H4.12976C4.09534 4 4.06234 4.01368 4.038 4.03804C4.01367 4.0624 4 4.09543 4 4.12988V19.8552C4 19.8896 4.01367 19.9227 4.038 19.947C4.06234 19.9714 4.09534 19.9851 4.12976 19.9851H13.4875C13.0501 19.8216 12.6281 19.6155 12.2277 19.3686C11.8529 19.1551 11.4911 18.9196 11.1442 18.6632C11.0697 18.6152 10.9982 18.5628 10.9302 18.5065H4.99812C4.87371 18.5065 4.75438 18.457 4.66641 18.3689C4.57843 18.2809 4.529 18.1614 4.529 18.0369C4.529 17.9124 4.57843 17.7929 4.66641 17.7049C4.75438 17.6168 4.87371 17.5673 4.99812 17.5673H10.4396C10.4472 17.4488 10.4756 17.3324 10.5235 17.2235C10.5939 17.017 10.6761 16.8149 10.7694 16.6182H4.99812C4.87371 16.6182 4.75438 16.5687 4.66641 16.4807C4.57843 16.3926 4.529 16.2732 4.529 16.1487C4.529 16.0241 4.57843 15.9047 4.66641 15.8166C4.75438 15.7286 4.87371 15.6791 4.99812 15.6791H11.0867C11.1576 15.6791 11.2268 15.6952 11.2895 15.7253C11.5204 15.361 11.7938 15.027 12.1033 14.73H4.99812C4.87371 14.73 4.75438 14.6805 4.66641 14.5924C4.57843 14.5044 4.529 14.385 4.529 14.2604C4.529 14.1359 4.57843 14.0164 4.66641 13.9284C4.75438 13.8403 4.87371 13.7909 4.99812 13.7909H13.4434C13.9833 13.525 14.5656 13.3516 15.166 13.2795L15.1923 13.2763H15.2189H15.4925C16.0923 13.2609 16.6886 13.3728 17.2421 13.6048ZM13.0829 4.64939L16.5764 8.14613C16.5975 8.16843 16.6118 8.19636 16.6174 8.22657C16.6231 8.25677 16.62 8.28798 16.6084 8.31645C16.5968 8.34492 16.5773 8.36944 16.5521 8.38707C16.527 8.40471 16.4973 8.41471 16.4666 8.41587H13.043L12.8134 8.18609V4.75929C12.8146 4.72857 12.8246 4.69884 12.8422 4.67366C12.8598 4.64849 12.8843 4.62893 12.9128 4.61733C12.9412 4.60573 12.9724 4.60259 13.0026 4.60827C13.0328 4.61396 13.0607 4.62824 13.0829 4.64939ZM10.9869 6.71746C10.9896 6.65841 10.9806 6.59941 10.9604 6.54383C10.9403 6.48825 10.9094 6.4372 10.8696 6.39358C10.8297 6.34997 10.7816 6.31465 10.7281 6.28965C10.6746 6.26466 10.6167 6.25047 10.5577 6.2479H4.99813C4.88074 6.25562 4.77106 6.30914 4.69267 6.39694C4.61428 6.48475 4.57343 6.59983 4.57891 6.71746C4.57343 6.83509 4.61428 6.95017 4.69267 7.03798C4.77106 7.12579 4.88074 7.1793 4.99813 7.18702H10.5876C10.7014 7.17444 10.8061 7.11882 10.8803 7.03154C10.9545 6.94427 10.9927 6.83192 10.9869 6.71746ZM11.0867 8.13614H4.99812C4.87371 8.13614 4.75438 8.18561 4.66641 8.27367C4.57843 8.36173 4.529 8.48116 4.529 8.6057C4.529 8.73023 4.57843 8.84967 4.66641 8.93773C4.75438 9.02579 4.87371 9.07526 4.99812 9.07526H11.0867C11.2111 9.07526 11.3304 9.02579 11.4184 8.93773C11.5064 8.84967 11.5558 8.73023 11.5558 8.6057C11.5558 8.48116 11.5064 8.36173 11.4184 8.27367C11.3304 8.18561 11.2111 8.13614 11.0867 8.13614ZM4.99812 10.9935H15.4285C15.5609 10.9935 15.6878 10.9408 15.7814 10.8472C15.875 10.7535 15.9276 10.6264 15.9276 10.4939C15.9276 10.3614 15.875 10.2344 15.7814 10.1407C15.6878 10.047 15.5609 9.9944 15.4285 9.9944H4.99812C4.86576 9.9944 4.73883 10.047 4.64523 10.1407C4.55164 10.2344 4.49906 10.3614 4.49906 10.4939C4.49906 10.6264 4.55164 10.7535 4.64523 10.8472C4.73883 10.9408 4.86576 10.9935 4.99812 10.9935ZM4.99812 12.8517H11.0867C11.2076 12.844 11.3208 12.7898 11.4027 12.7004C11.4845 12.611 11.5287 12.4934 11.5259 12.3722C11.5286 12.252 11.4841 12.1355 11.402 12.0477C11.3199 11.9599 11.2067 11.9078 11.0867 11.9026H4.99812C4.93912 11.9052 4.8812 11.9194 4.82769 11.9444C4.77417 11.9694 4.7261 12.0047 4.68623 12.0483C4.64637 12.0919 4.61549 12.143 4.59536 12.1985C4.57523 12.2541 4.56625 12.3131 4.56893 12.3722C4.56345 12.4925 4.60535 12.6101 4.68561 12.6998C4.76587 12.7894 4.87809 12.844 4.99812 12.8517ZM19.97 17.4974C19.5787 16.5636 19.0431 15.6971 18.383 14.9298C18.0152 14.5351 17.5679 14.2233 17.0706 14.0148C16.5732 13.8064 16.0373 13.7062 15.4984 13.7209H15.2189C14.4787 13.8098 13.7684 14.0666 13.1423 14.4717C12.5162 14.8769 11.9906 15.4196 11.6057 16.0587C11.3211 16.4677 11.0959 16.9151 10.937 17.3875C10.9006 17.464 10.8817 17.5476 10.8817 17.6323C10.8817 17.717 10.9006 17.8006 10.937 17.877C11.0642 18.0428 11.2196 18.1849 11.3961 18.2967C11.7346 18.5476 12.0879 18.7778 12.4541 18.986C13.4096 19.5767 14.497 19.92 15.6182 19.9851C16.4392 20.0504 17.2632 19.9005 18.0088 19.5501C18.7544 19.1998 19.3959 18.661 19.8702 17.9869C19.9311 17.923 19.9729 17.8432 19.9905 17.7566C20.0082 17.67 20.0011 17.5801 19.97 17.4974ZM15.9775 19.1758C14.3849 19.068 12.8507 18.5331 11.5358 17.6273C11.5788 17.5678 11.6255 17.5111 11.6756 17.4574C12.3061 16.569 13.1295 15.8359 14.0832 15.3126C13.8003 15.7406 13.6785 16.2566 13.7417 16.7681C13.7676 17.0339 13.8465 17.2918 13.9737 17.5265C14.1009 17.7613 14.2739 17.9681 14.4823 18.1348C14.6907 18.3016 14.9304 18.4248 15.1872 18.4972C15.4441 18.5696 15.7128 18.5897 15.9775 18.5564C16.305 18.4971 16.6137 18.3609 16.8785 18.159C17.1432 17.9572 17.3564 17.6954 17.5005 17.3951C17.6446 17.0949 17.7156 16.7647 17.7077 16.4317C17.6997 16.0987 17.613 15.7723 17.4547 15.4793C17.2614 15.3391 17.0533 15.2235 16.8351 15.1339C17.0715 15.226 17.2966 15.3485 17.5046 15.4993C18.0049 15.8976 18.4424 16.3691 18.8022 16.898L18.8927 17.0137L18.8927 17.0137C19.0823 17.2564 19.2729 17.5004 19.4709 17.7072C18.5404 18.6311 17.288 19.1576 15.9775 19.1758ZM16.3168 15.769C16.2085 15.8106 16.1171 15.8873 16.0574 15.9869C15.9977 16.0865 15.9731 16.2032 15.9875 16.3185C15.9949 16.3856 16.0156 16.4505 16.0483 16.5096C16.081 16.5686 16.1251 16.6206 16.178 16.6624C16.2309 16.7042 16.2916 16.7351 16.3566 16.7532C16.4216 16.7714 16.4895 16.7764 16.5564 16.7681H16.6063C16.5618 16.9495 16.4637 17.1132 16.3248 17.238C16.186 17.3627 16.0127 17.4427 15.8278 17.4674H15.6481C15.4335 17.4396 15.2337 17.3427 15.0789 17.1913C14.924 17.04 14.8226 16.8423 14.7897 16.6282C14.7628 16.3782 14.8311 16.1271 14.981 15.9253C15.1305 15.7238 15.3504 15.5861 15.5968 15.5395C15.3446 15.5862 15.12 15.7284 14.9697 15.9364C14.8191 16.1448 14.7547 16.4034 14.7897 16.6582C14.8226 16.8723 14.924 17.0699 15.0789 17.2213C15.2337 17.3727 15.4335 17.4696 15.6481 17.4974H15.8377C16.0209 17.4708 16.1919 17.39 16.3289 17.2654C16.4658 17.1408 16.5625 16.978 16.6063 16.7981C16.7293 16.7633 16.8359 16.686 16.9072 16.5799C16.9785 16.4737 17.0098 16.3457 16.9956 16.2186C16.9882 16.1515 16.9675 16.0865 16.9348 16.0275C16.9021 15.9685 16.858 15.9165 16.805 15.8747C16.7521 15.8329 16.6914 15.802 16.6264 15.7838C16.5615 15.7657 16.4936 15.7607 16.4266 15.769H16.3168Z\",acceptAllChanges:\"M9.36499 16.7348C9.38499 16.7547 9.41212 16.7659 9.44041 16.7659H10.9881C10.9028 16.6008 10.9289 16.3933 11.0663 16.2541L11.7266 15.585H10.1444C10.0549 15.5701 9.97363 15.5238 9.91498 15.4547C9.85639 15.3856 9.82422 15.298 9.82422 15.2074C9.82422 15.1169 9.85639 15.0292 9.91498 14.9601C9.97363 14.891 10.0549 14.8448 10.1444 14.8298H12.4879C12.5584 14.785 12.6407 14.7607 12.7257 14.7607C12.8106 14.7607 12.893 14.785 12.9635 14.8298H16.5295L18.3303 13.0091C18.4135 12.925 18.5271 12.8776 18.6456 12.8777C18.7642 12.8777 18.8777 12.9252 18.9609 13.0094L20 14.0621V8.25532H16.8001C16.7301 8.27288 16.6568 8.27288 16.5868 8.25532C16.3485 8.1935 16.1367 8.0565 15.9829 7.86478C15.8292 7.67306 15.7416 7.43688 15.7335 7.19149V4H9.44041C9.41293 4.0024 9.38718 4.01437 9.36767 4.03383C9.34816 4.05329 9.33615 4.07897 9.33375 4.10638V16.6596C9.33375 16.6878 9.34499 16.7148 9.36499 16.7348ZM10.0744 17.2979H11.4803L12.259 18.0957H5.06727C5.01734 18.0957 4.96838 18.1057 4.9232 18.1246C4.8788 18.1431 4.83798 18.1702 4.80335 18.2048C4.7333 18.2746 4.69398 18.3693 4.69398 18.468C4.69398 18.5668 4.7333 18.6615 4.80335 18.7313C4.87333 18.8011 4.96832 18.8404 5.06727 18.8404H12.9857L13.7947 19.6693L14.0836 19.9574H4.10733C4.09291 19.9591 4.07829 19.9576 4.06457 19.9528C4.05085 19.9481 4.03838 19.9403 4.02812 19.9301C4.01785 19.9198 4.01004 19.9074 4.00529 19.8937C4.00054 19.88 3.99896 19.8654 4.00067 19.8511V7.29787C4.00067 7.26966 4.01191 7.2426 4.03191 7.22265C4.05192 7.2027 4.07905 7.19149 4.10733 7.19149H8.70447V9.05319H5.06727C4.97294 9.05867 4.88453 9.10069 4.8208 9.17019C4.757 9.23973 4.72302 9.33135 4.72594 9.42553C4.72289 9.52082 4.75654 9.61364 4.82002 9.6849C4.88356 9.75613 4.97203 9.80038 5.06727 9.8085H8.70447V10.5638H5.06727C5.01968 10.5652 4.97274 10.5759 4.92932 10.5954C4.88583 10.6148 4.84664 10.6426 4.8139 10.6772C4.78122 10.7118 4.7557 10.7525 4.73877 10.7969C4.72184 10.8413 4.7139 10.8887 4.71527 10.9361C4.7139 10.9837 4.72184 11.031 4.73877 11.0754C4.74424 11.0897 4.75055 11.1037 4.75778 11.1171C4.76162 11.1243 4.76566 11.1313 4.76995 11.1382C4.78265 11.1585 4.79736 11.1776 4.8139 11.1951C4.84664 11.2297 4.88583 11.2575 4.92932 11.2769C4.95491 11.2884 4.98173 11.2968 5.0092 11.3021C5.02834 11.3058 5.04774 11.3079 5.06727 11.3085H8.70447V12.0638H5.06734C4.97782 12.0789 4.89651 12.1251 4.83792 12.1942C4.77926 12.2633 4.7471 12.351 4.7471 12.4415C4.7471 12.5321 4.77926 12.6197 4.83792 12.6888C4.89651 12.758 4.97782 12.8041 5.06734 12.8192H8.70447V13.5745H5.06734C4.97782 13.5895 4.89651 13.6357 4.83792 13.7048C4.81383 13.7332 4.79424 13.7647 4.77946 13.7983C4.7583 13.8465 4.7471 13.8988 4.7471 13.9522C4.7471 14.0427 4.77926 14.1303 4.83792 14.1994C4.89651 14.2686 4.97782 14.3147 5.06734 14.3298H8.70447V15.0744H5.06727C4.97776 15.0895 4.89651 15.1357 4.83785 15.2048C4.77926 15.2739 4.7471 15.3616 4.7471 15.4521C4.7471 15.5043 4.75778 15.5556 4.77809 15.6029C4.793 15.6376 4.81305 15.6701 4.83785 15.6994C4.89651 15.7685 4.97776 15.8147 5.06727 15.8298H8.70447V16.5851H5.06727C4.97776 16.6001 4.89651 16.6463 4.83785 16.7154C4.79489 16.7661 4.76618 16.8267 4.75387 16.8912C4.74938 16.9146 4.7471 16.9386 4.7471 16.9628C4.7471 17.0533 4.77926 17.1409 4.83785 17.21C4.89651 17.2792 4.97776 17.3253 5.06727 17.3404H9.95241C9.99552 17.3331 10.0367 17.3187 10.0744 17.2979ZM20 15.3204L18.5709 16.7659H19.8933C19.9216 16.7659 19.9487 16.7547 19.9687 16.7348C19.9887 16.7148 20 16.6878 20 16.6596V15.3204ZM14.7526 16.6264L13.7248 15.585H15.7825L14.7526 16.6264ZM14.9498 6.08721C14.9465 6.06854 14.9416 6.05023 14.9353 6.03244C14.9202 5.98939 14.897 5.94929 14.8665 5.91442C14.8145 5.85488 14.7444 5.81394 14.6669 5.79787H10.1337C10.0348 5.79787 9.93978 5.83709 9.8698 5.90693C9.79975 5.97676 9.76043 6.07146 9.76043 6.17022C9.76043 6.19463 9.76283 6.21879 9.76752 6.24239C9.77462 6.2782 9.78692 6.31268 9.80398 6.34479C9.82123 6.37716 9.8433 6.40709 9.8698 6.43348C9.93978 6.50332 10.0348 6.54257 10.1337 6.54257H14.6669C14.6811 6.54023 14.6951 6.53702 14.7088 6.53299C14.7206 6.52955 14.7322 6.52549 14.7436 6.52082C14.7624 6.51309 14.7806 6.50371 14.7979 6.4928C14.8378 6.46764 14.8722 6.43468 14.8991 6.39599C14.9259 6.35729 14.9447 6.31359 14.9543 6.26749C14.9554 6.26232 14.9563 6.25716 14.9571 6.25197C14.9579 6.24739 14.9586 6.24281 14.9591 6.23824C14.9612 6.22129 14.962 6.20424 14.9616 6.18723C14.961 6.16727 14.9588 6.14733 14.9549 6.12766C14.9539 6.11406 14.9523 6.10055 14.9498 6.08721ZM15.0189 7.29788H10.1445C10.0549 7.31291 9.97363 7.35911 9.91504 7.42823C9.85639 7.49738 9.82422 7.585 9.82422 7.67555C9.82422 7.76609 9.85639 7.85369 9.91504 7.92284C9.97363 7.99196 10.0549 8.03815 10.1445 8.05319H15.0189C15.0321 8.05241 15.0451 8.05095 15.058 8.04877C15.0745 8.04601 15.0906 8.04212 15.1064 8.03718C15.1669 8.01822 15.2219 7.98361 15.2654 7.93618C15.3291 7.86664 15.3632 7.77502 15.3602 7.68084C15.3606 7.67392 15.3608 7.66701 15.3608 7.66009C15.3609 7.65087 15.3606 7.64165 15.3599 7.63247C15.3592 7.62263 15.358 7.61279 15.3565 7.60302C15.3532 7.58188 15.3479 7.56104 15.3409 7.54072C15.3254 7.49575 15.301 7.45426 15.2693 7.41868C15.2492 7.39621 15.2265 7.37638 15.2017 7.35959C15.1872 7.34979 15.172 7.34102 15.1562 7.33339C15.1132 7.31265 15.0665 7.3006 15.0189 7.29788ZM10.1445 9.56381H18.496C18.5856 9.54877 18.6669 9.50258 18.7255 9.43346C18.7841 9.3643 18.8163 9.27671 18.8163 9.18617C18.8163 9.09562 18.7841 9.008 18.7255 8.93884C18.6669 8.86973 18.5856 8.82353 18.496 8.8085H10.1445C10.0549 8.82353 9.97363 8.86973 9.91504 8.93884C9.85639 9.008 9.82422 9.09562 9.82422 9.18617C9.82422 9.24412 9.83738 9.30087 9.86224 9.35236C9.87624 9.38132 9.89395 9.40859 9.91504 9.43346C9.97363 9.50258 10.0549 9.54877 10.1445 9.56381ZM10.1445 11.0638H15.0189C15.1084 11.0488 15.1897 11.0026 15.2483 10.9335C15.2854 10.8898 15.3118 10.8387 15.3263 10.7842C15.3347 10.7525 15.3391 10.7195 15.3391 10.6861C15.3391 10.5956 15.3069 10.508 15.2483 10.4389C15.1897 10.3697 15.1084 10.3235 15.0189 10.3085H10.1445C10.0549 10.3235 9.97363 10.3697 9.91504 10.4389C9.85639 10.508 9.82422 10.5956 9.82422 10.6861C9.82422 10.7424 9.83666 10.7976 9.8601 10.8478C9.87442 10.8785 9.89284 10.9073 9.91504 10.9335C9.97363 11.0026 10.0549 11.0488 10.1445 11.0638ZM18.496 12.5745H10.1444C10.0549 12.5594 9.97363 12.5132 9.91498 12.4441C9.85639 12.3749 9.82422 12.2873 9.82422 12.1968C9.82422 12.1062 9.85639 12.0186 9.91498 11.9495C9.97363 11.8803 10.0549 11.8342 10.1444 11.8191H18.496C18.5856 11.8342 18.6669 11.8803 18.7255 11.9495C18.7841 12.0186 18.8163 12.1062 18.8163 12.1968C18.8163 12.2873 18.7841 12.3749 18.7255 12.4441C18.6971 12.4776 18.6633 12.5058 18.6259 12.5276C18.5861 12.5507 18.5421 12.5667 18.496 12.5745ZM15.0189 14.0744H10.1444C10.0968 14.0731 10.0499 14.0624 10.0064 14.0429C9.96296 14.0234 9.92376 13.9956 9.89102 13.961C9.85834 13.9265 9.83282 13.8857 9.81589 13.8413C9.79897 13.7969 9.79102 13.7496 9.79239 13.7021C9.79102 13.6546 9.79897 13.6073 9.81589 13.5628C9.83282 13.5184 9.85834 13.4778 9.89102 13.4432C9.92376 13.4086 9.96296 13.3808 10.0064 13.3613C10.0499 13.3419 10.0968 13.3311 10.1444 13.3297H15.0189C15.0661 13.3311 15.1125 13.3419 15.1554 13.3615C15.1983 13.381 15.2368 13.4091 15.2686 13.4438C15.3005 13.4785 15.325 13.5193 15.3407 13.5637C15.3564 13.608 15.363 13.6551 15.3602 13.7021C15.3631 13.7963 15.3291 13.8879 15.2653 13.9574C15.2016 14.027 15.1132 14.0689 15.0189 14.0744ZM16.6188 4.52128L19.4133 7.30852C19.4293 7.32624 19.4401 7.34808 19.4443 7.37157C19.4485 7.39506 19.446 7.41925 19.4371 7.4414C19.4282 7.46356 19.4133 7.48278 19.394 7.4969C19.3747 7.51102 19.3518 7.51947 19.328 7.52128H16.5868L16.4054 7.34043V4.60639C16.4073 4.5826 16.4157 4.55979 16.4299 4.54056C16.444 4.52133 16.4633 4.50644 16.4855 4.49757C16.5077 4.48871 16.532 4.48624 16.5556 4.49043C16.5791 4.49462 16.601 4.50531 16.6188 4.52128ZM18.6454 13.3192L20 14.6915L14.7522 20L14.7416 19.9894L14.1123 19.3617L13.3976 18.6277L11.3817 16.5638L12.7257 15.2021L14.7522 17.2553L18.6454 13.3192Z\",rejectAllChanges:\"M9.54637 16.5847H8.96997V15.8295H12.786C12.8024 15.8265 12.8186 15.8223 12.8343 15.817C12.8535 15.8105 12.8719 15.8023 12.8897 15.7926C12.9315 15.7697 12.969 15.738 12.9997 15.6991C13.0268 15.6649 13.0478 15.6261 13.0621 15.5847H13.571V16.7656H9.79386C9.78396 16.7479 9.77269 16.731 9.76011 16.7151C9.70552 16.6459 9.62976 16.5998 9.54637 16.5847ZM13.4717 12.9573V13.3295H9.72523C9.6809 13.3309 9.63716 13.3416 9.59671 13.361C9.57578 13.3711 9.55595 13.3834 9.53745 13.3977C9.5201 13.411 9.50391 13.4262 9.48917 13.4429C9.45872 13.4775 9.43494 13.5182 9.41917 13.5626C9.41778 13.5664 9.41644 13.5703 9.41523 13.5742H8.96997V12.8189H12.786C12.8694 12.8039 12.9452 12.7577 12.9997 12.6886C13.0078 12.6784 13.0153 12.6677 13.0223 12.6568L13.029 12.6458L13.033 12.6389L13.0397 12.6266C13.0452 12.6157 13.0503 12.6046 13.055 12.5931C13.0576 12.5869 13.0599 12.5806 13.0621 12.5742H13.6872C13.6453 12.5965 13.607 12.6269 13.5746 12.6644C13.5059 12.7439 13.469 12.849 13.4717 12.9573ZM9.82598 14.0742H13.4758C13.4809 14.0932 13.4904 14.1108 13.5037 14.1251C13.5242 14.147 13.552 14.1593 13.581 14.1593H13.6008L13.571 14.1912V14.8295H9.72523C9.64183 14.8445 9.56614 14.8907 9.51149 14.9598C9.4845 14.994 9.46351 15.0328 9.4492 15.0741H8.96997V14.3295H9.54637C9.62976 14.3145 9.70552 14.2683 9.76011 14.1992C9.78947 14.162 9.81166 14.1195 9.82598 14.0742ZM18.9075 8.2552V12.5317H17.7846V12.323C17.7978 12.2827 17.8047 12.2399 17.8047 12.1965C17.8047 12.106 17.7747 12.0184 17.7201 11.9493C17.6655 11.8801 17.5897 11.834 17.5063 11.8189H9.72523C9.64183 11.834 9.56614 11.8801 9.51149 11.9493C9.48444 11.9835 9.46351 12.0222 9.4492 12.0636H8.96997V11.3083H9.54637C9.63425 11.3028 9.71662 11.2608 9.776 11.1913C9.80687 11.1551 9.83029 11.113 9.84527 11.0676L9.84654 11.0637H14.2667C14.3501 11.0486 14.4258 11.0024 14.4805 10.9333C14.5231 10.8794 14.5507 10.8142 14.5607 10.7452C14.5636 10.7258 14.565 10.706 14.565 10.686C14.565 10.6658 14.5635 10.6458 14.5606 10.626C14.5572 10.6026 14.5516 10.5796 14.5442 10.5573C14.5299 10.5144 14.5084 10.4741 14.4805 10.4387C14.4258 10.3696 14.3501 10.3234 14.2667 10.3083H9.72529C9.6832 10.3159 9.64299 10.3314 9.60653 10.3538C9.57081 10.3759 9.5386 10.4045 9.51155 10.4387C9.49639 10.4579 9.4831 10.4785 9.47182 10.5002C9.46133 10.5205 9.45259 10.5417 9.44568 10.5636H8.96997V9.80838H9.16873C9.25656 9.80286 9.33899 9.76085 9.39837 9.69131C9.45775 9.62177 9.48947 9.53022 9.48674 9.43601C9.48711 9.42951 9.48735 9.42302 9.48741 9.41653C9.48741 9.41049 9.48729 9.40445 9.48705 9.39848C9.49457 9.41055 9.50269 9.42218 9.51155 9.43334C9.56614 9.50249 9.64189 9.54866 9.72529 9.56372H17.5063C17.5897 9.54866 17.6655 9.50249 17.7201 9.43334C17.7747 9.36419 17.8047 9.2766 17.8047 9.18603C17.8047 9.09552 17.7747 9.00786 17.7201 8.93878C17.6655 8.86963 17.5897 8.82346 17.5063 8.8084H9.72529C9.64189 8.82346 9.56614 8.86963 9.51155 8.93878C9.4569 9.00786 9.42694 9.09552 9.42694 9.18603L9.427 9.19707L9.42754 9.20875C9.41972 9.19661 9.41123 9.18499 9.40201 9.17389C9.38478 9.15311 9.36537 9.1346 9.34427 9.11863C9.33735 9.11344 9.33026 9.1085 9.32298 9.10383C9.31855 9.10097 9.31406 9.09824 9.30951 9.09565L9.30424 9.09266L9.29659 9.08857C9.28792 9.08402 9.27906 9.07993 9.27009 9.07623C9.2616 9.07279 9.25298 9.06974 9.24431 9.06701C9.21974 9.05935 9.19439 9.05461 9.16873 9.05305H8.96997V4.10638C8.97221 4.07897 8.9834 4.05328 9.00157 4.03383C9.01975 4.01437 9.04374 4.0024 9.06935 4H14.9325V7.1914C14.9401 7.43679 15.0216 7.67296 15.1649 7.86468C15.3082 8.0564 15.5055 8.19338 15.7275 8.2552C15.7927 8.27277 15.861 8.27277 15.9262 8.2552H18.9075ZM13.571 17.2975V19.4251L13.5722 19.4615C13.5835 19.6376 13.6323 19.8068 13.7133 19.957H4.10061C4.08718 19.9587 4.07355 19.9571 4.06077 19.9524C4.04799 19.9477 4.03637 19.9399 4.02681 19.9296C4.01724 19.9194 4.00997 19.907 4.00554 19.8933C4.00111 19.8796 3.99964 19.865 4.00124 19.8506V7.29778C4.00124 7.26957 4.01171 7.24251 4.03034 7.22256C4.04898 7.20261 4.07426 7.1914 4.10061 7.1914H8.38368V9.05305H4.99497C4.90708 9.05857 4.82471 9.10052 4.76533 9.17006C4.70589 9.2396 4.67423 9.33121 4.67696 9.42536C4.67411 9.52067 4.70547 9.61346 4.76461 9.68475C4.8238 9.75598 4.90623 9.80026 4.99497 9.80838H8.38368V10.5636H4.99497C4.96682 10.5645 4.93898 10.5692 4.91199 10.5774C4.89647 10.5821 4.88124 10.588 4.86644 10.5952C4.8494 10.6034 4.83308 10.613 4.81762 10.6241C4.79627 10.6393 4.77655 10.657 4.7589 10.6771C4.72846 10.7116 4.70468 10.7523 4.68891 10.7967C4.67314 10.8411 4.66574 10.8885 4.66701 10.9359C4.66641 10.9597 4.66792 10.9834 4.67156 11.0067C4.6752 11.03 4.68102 11.053 4.68891 11.0752C4.70468 11.1196 4.72846 11.1603 4.7589 11.1949C4.7731 11.211 4.78862 11.2256 4.80524 11.2386C4.81452 11.2459 4.82417 11.2527 4.83417 11.259C4.84461 11.2655 4.85534 11.2714 4.86644 11.2767C4.9069 11.2962 4.95063 11.3069 4.99497 11.3083H8.38368V12.0636H4.99503C4.91163 12.0787 4.83587 12.1249 4.78128 12.194C4.7526 12.2303 4.7307 12.2717 4.71639 12.3159C4.70347 12.3559 4.69667 12.3983 4.69667 12.4413C4.69667 12.5318 4.72664 12.6194 4.78128 12.6886C4.809 12.7237 4.84218 12.7529 4.87906 12.7751C4.89416 12.7842 4.90993 12.7921 4.92619 12.7988C4.94833 12.8079 4.97137 12.8147 4.99503 12.8189H8.38368V13.5742H4.99503C4.95275 13.5819 4.91242 13.5975 4.87584 13.62C4.8403 13.642 4.80822 13.6705 4.78128 13.7046C4.72664 13.7737 4.69667 13.8613 4.69667 13.9519C4.69667 14.0424 4.72664 14.13 4.78128 14.1992C4.83587 14.2683 4.91163 14.3145 4.99503 14.3295H8.38368V15.0741H4.99497C4.94644 15.0829 4.90047 15.1022 4.85977 15.1304C4.83878 15.145 4.81919 15.162 4.80136 15.1811C4.79439 15.1885 4.78765 15.1964 4.78122 15.2045C4.77188 15.2163 4.76327 15.2287 4.75539 15.2416C4.74441 15.2594 4.73495 15.2781 4.727 15.2975C4.71924 15.3163 4.71293 15.3358 4.70808 15.3558C4.70407 15.3723 4.7011 15.389 4.69922 15.4061C4.69752 15.4212 4.69667 15.4364 4.69667 15.4518C4.69667 15.5423 4.72664 15.6299 4.78122 15.6991C4.83587 15.7682 4.91157 15.8144 4.99497 15.8295H8.38368V16.5847H4.99497C4.91157 16.5998 4.83587 16.6459 4.78122 16.7151C4.72664 16.7842 4.69667 16.8718 4.69667 16.9624C4.69667 17.0529 4.72664 17.1405 4.78122 17.2097C4.83587 17.2788 4.91157 17.325 4.99497 17.34H9.54637C9.58655 17.3328 9.62496 17.3183 9.66008 17.2975H13.571ZM15.7573 4.52124L18.3609 7.30839C18.3758 7.32612 18.3858 7.34796 18.3897 7.37145C18.3937 7.39493 18.3914 7.41913 18.3831 7.44128C18.3748 7.46343 18.3609 7.48266 18.3429 7.49678C18.325 7.51089 18.3036 7.51934 18.2814 7.52115H15.7275L15.5585 7.34031V4.60634C15.5602 4.58255 15.5681 4.55975 15.5813 4.54051C15.5945 4.52128 15.6125 4.50639 15.6332 4.49753C15.6539 4.48867 15.6765 4.48619 15.6984 4.49038C15.7203 4.49457 15.7407 4.50526 15.7573 4.52124ZM14.1248 5.91437C14.1732 5.97391 14.2021 6.04884 14.2071 6.1276C14.2157 6.17377 14.2155 6.22129 14.2065 6.26739C14.2045 6.27778 14.2021 6.28804 14.1992 6.29817L14.1944 6.31388C14.1847 6.34291 14.1715 6.3705 14.1551 6.39595C14.13 6.43465 14.098 6.46757 14.0608 6.49276C14.0354 6.5099 14.008 6.52328 13.9794 6.53244C13.9661 6.53672 13.9525 6.5401 13.9387 6.5425H9.71529C9.62309 6.5425 9.5346 6.50328 9.4694 6.43342C9.40413 6.36362 9.3675 6.26889 9.3675 6.17013C9.3675 6.07144 9.40413 5.97671 9.4694 5.90691C9.5346 5.83704 9.62309 5.79783 9.71529 5.79783H13.9387C13.9718 5.80516 14.0034 5.81769 14.0326 5.83484C14.0672 5.85522 14.0984 5.88204 14.1248 5.91437ZM14.2667 7.29776H9.72529C9.69606 7.30302 9.66773 7.31211 9.64092 7.3247C9.62612 7.33171 9.61175 7.33977 9.59798 7.34879C9.56565 7.36996 9.53642 7.39664 9.51155 7.42813C9.4569 7.49722 9.42694 7.58487 9.42694 7.67538C9.42694 7.70155 9.42942 7.72752 9.43434 7.75285C9.44635 7.81505 9.47273 7.87355 9.51155 7.9227C9.55292 7.9751 9.60647 8.01432 9.66628 8.03678C9.67762 8.04107 9.6892 8.04477 9.70097 8.04775C9.70898 8.04983 9.71711 8.05158 9.72529 8.05308H14.2667C14.3546 8.04756 14.437 8.00555 14.4964 7.93601C14.5558 7.86647 14.5875 7.77492 14.5847 7.68071C14.5874 7.63318 14.5813 7.58559 14.5667 7.54059C14.5522 7.4956 14.5296 7.45417 14.5 7.41859C14.4704 7.38301 14.4346 7.35398 14.3946 7.33327C14.3546 7.31256 14.3111 7.30048 14.2667 7.29776ZM4.99497 18.84H12.786C12.8783 18.84 12.9667 18.8008 13.032 18.731C13.0972 18.6611 13.1338 18.5664 13.1338 18.4677C13.1338 18.3689 13.0972 18.2742 13.032 18.2044C12.9667 18.1346 12.8783 18.0954 12.786 18.0954H4.99497C4.90277 18.0954 4.81428 18.1346 4.74908 18.2044C4.68381 18.2742 4.64718 18.3689 4.64718 18.4677C4.64718 18.5664 4.68381 18.6611 4.74908 18.731C4.81428 18.8008 4.90277 18.84 4.99497 18.84ZM17.5858 12.7444H19.5733H19.623C19.7249 12.7499 19.821 12.7971 19.8913 12.8764C19.9616 12.9556 20.0007 13.0607 20.0006 13.17V13.8295C20.0007 13.8458 19.9976 13.862 19.9914 13.8769C19.9853 13.8918 19.9764 13.9052 19.9652 13.9163C19.9539 13.9273 19.9407 13.9357 19.9262 13.9409C19.9118 13.9461 19.8965 13.948 19.8814 13.9465H13.7797C13.7507 13.9465 13.7229 13.9342 13.7024 13.9123C13.6819 13.8903 13.6704 13.8606 13.6704 13.8295V13.17C13.6677 13.0617 13.7046 12.9566 13.7733 12.8771C13.842 12.7976 13.9371 12.75 14.0381 12.7444H16.0256V12.5104C16.0352 12.439 16.0687 12.3737 16.1199 12.3268C16.1711 12.2798 16.2365 12.2544 16.3039 12.2551H17.2976C17.3667 12.2517 17.4345 12.276 17.4878 12.3232C17.541 12.3704 17.576 12.4371 17.5858 12.5104V12.7444ZM14.0679 19.4251V14.1912H19.5037V19.4251C19.4935 19.585 19.4256 19.7344 19.3143 19.8416C19.203 19.9488 19.0571 20.0055 18.9075 19.9996H14.6642C14.5146 20.0055 14.3687 19.9488 14.2574 19.8416C14.1461 19.7344 14.0781 19.585 14.0679 19.4251ZM15.5983 15.1593H15.2505C15.0969 15.1593 14.9723 15.2926 14.9723 15.4572V18.7336C14.9723 18.8981 15.0969 19.0315 15.2505 19.0315H15.5983C15.752 19.0315 15.8766 18.8981 15.8766 18.7336V15.4572C15.8766 15.2926 15.752 15.1593 15.5983 15.1593ZM16.9598 15.1593H16.612C16.4583 15.1593 16.3337 15.2926 16.3337 15.4572V18.7336C16.3337 18.8981 16.4583 19.0315 16.612 19.0315H16.9598C17.1135 19.0315 17.238 18.8981 17.238 18.7336V15.4572C17.238 15.2926 17.1135 15.1593 16.9598 15.1593ZM17.9635 15.1593H18.3113C18.465 15.1593 18.5895 15.2926 18.5895 15.4572V18.7336C18.5895 18.8981 18.465 19.0315 18.3113 19.0315H17.9635C17.8098 19.0315 17.6852 18.8981 17.6852 18.7336V15.4572C17.6852 15.2926 17.8098 15.1593 17.9635 15.1593Z\",acceptSingleChange:\"M17.2 20H15.6628L17.33 18.3091V19.87C17.33 19.8871 17.3266 19.904 17.3201 19.9197C17.3136 19.9355 17.304 19.9499 17.2919 19.9619C17.2799 19.974 17.2655 19.9836 17.2497 19.9901C17.234 19.9966 17.2171 20 17.2 20ZM4.13 20H14.4978L14.1823 19.6791L13.5135 18.9904L13.5123 18.9891L13.0529 18.52H5C4.87537 18.52 4.75586 18.4705 4.66766 18.3823C4.57953 18.2942 4.53003 18.1747 4.53003 18.05C4.53003 17.9253 4.57953 17.8058 4.66766 17.7177C4.75586 17.6295 4.87537 17.58 5 17.58H12.1323L11.6235 17.0604L11.6231 16.48L12.8831 15.19L13.4765 15.1896L15.0807 16.8276L17.33 14.5413V9.3H13.28C13.207 9.30976 13.133 9.30976 13.06 9.3C12.7697 9.22119 12.5113 9.05343 12.3212 8.82027C12.1311 8.58711 12.0187 8.30026 12 8V4H4.13C4.09552 4 4.06246 4.0137 4.03808 4.03808C4.0137 4.06246 4 4.09552 4 4.13V19.87C4 19.9045 4.0137 19.9375 4.03808 19.9619C4.06246 19.9863 4.09552 20 4.13 20ZM13.1 4.65L16.6 8.15C16.6212 8.17232 16.6355 8.20028 16.6412 8.23051C16.6469 8.26075 16.6437 8.29199 16.6321 8.32048C16.6205 8.34898 16.6009 8.37352 16.5757 8.39117C16.5505 8.40882 16.5208 8.41883 16.49 8.42H13.06L12.83 8.19V4.76C12.8312 4.72925 12.8412 4.6995 12.8588 4.67429C12.8765 4.64909 12.901 4.62951 12.9295 4.6179C12.958 4.6063 12.9893 4.60315 13.0195 4.60884C13.0497 4.61453 13.0777 4.62882 13.1 4.65ZM11 6.72C11.0027 6.66089 10.9937 6.60184 10.9735 6.5462C10.9534 6.49057 10.9224 6.43948 10.8825 6.39581C10.8425 6.35217 10.7944 6.3168 10.7408 6.29178C10.6871 6.26678 10.6292 6.25256 10.57 6.25H5C4.88239 6.25772 4.77252 6.31131 4.69397 6.39917C4.61542 6.48706 4.57452 6.60226 4.58002 6.72C4.57452 6.83774 4.61542 6.95294 4.69397 7.04083C4.77252 7.12869 4.88239 7.18228 5 7.19H10.6C10.7141 7.1774 10.8189 7.12173 10.8933 7.03436C10.9677 6.94702 11.0058 6.83456 11 6.72ZM11.1 8.14001H5C4.87537 8.14001 4.75586 8.18954 4.66766 8.27768C4.57953 8.36581 4.53003 8.48535 4.53003 8.61002C4.53003 8.73468 4.57953 8.85422 4.66766 8.94235C4.71558 8.99023 4.77277 9.02673 4.83496 9.05008C4.86932 9.06296 4.90521 9.07184 4.94189 9.07642C4.96106 9.0788 4.98047 9.08002 5 9.08002H11.1C11.2247 9.08002 11.3442 9.03049 11.4324 8.94235C11.5205 8.85422 11.57 8.73468 11.57 8.61002C11.57 8.48535 11.5205 8.36581 11.4324 8.27768C11.3442 8.18954 11.2247 8.14001 11.1 8.14001ZM5 11H15.45C15.5826 11 15.7098 10.9473 15.8035 10.8535C15.8973 10.7598 15.95 10.6326 15.95 10.5C15.95 10.3674 15.8973 10.2402 15.8035 10.1465C15.7098 10.0527 15.5826 10 15.45 10H5C4.86737 10 4.74023 10.0527 4.64642 10.1465C4.55267 10.2402 4.5 10.3674 4.5 10.5C4.5 10.6326 4.55267 10.7598 4.64642 10.8535C4.74023 10.9473 4.86737 11 5 11ZM5 12.86H11.1C11.2211 12.8523 11.3346 12.798 11.4166 12.7085C11.4986 12.6191 11.5428 12.5013 11.54 12.38C11.5427 12.2597 11.4982 12.1431 11.416 12.0552C11.3337 11.9673 11.2203 11.9152 11.1 11.91H5C4.94086 11.9126 4.88287 11.9268 4.82922 11.9518C4.77563 11.9768 4.72748 12.0122 4.6875 12.0558C4.65833 12.0878 4.63391 12.1237 4.61505 12.1624C4.60809 12.1767 4.60193 12.1913 4.5965 12.2062C4.58264 12.2443 4.5741 12.2841 4.57092 12.3243C4.56946 12.3428 4.56915 12.3614 4.57001 12.38C4.56451 12.5004 4.60651 12.6181 4.68689 12.7079C4.76733 12.7976 4.87976 12.8523 5 12.86ZM15.45 14.74H5C4.87537 14.74 4.75586 14.6905 4.66766 14.6023C4.57953 14.5142 4.53003 14.3947 4.53003 14.27C4.53003 14.1453 4.57953 14.0258 4.66766 13.9377C4.75586 13.8495 4.87537 13.8 5 13.8H15.45C15.5747 13.8 15.6942 13.8495 15.7823 13.9377C15.8705 14.0258 15.92 14.1453 15.92 14.27C15.92 14.3947 15.8705 14.5142 15.7823 14.6023C15.6942 14.6905 15.5747 14.74 15.45 14.74ZM11.1 16.63H5C4.87537 16.63 4.75586 16.5805 4.66766 16.4923C4.57953 16.4042 4.53003 16.2846 4.53003 16.16C4.53003 16.0353 4.57953 15.9158 4.66766 15.8276C4.75586 15.7395 4.87537 15.69 5 15.69H11.1C11.2247 15.69 11.3442 15.7395 11.4324 15.8276C11.5205 15.9158 11.57 16.0353 11.57 16.16C11.57 16.2846 11.5205 16.4042 11.4324 16.4923C11.3442 16.5805 11.2247 16.63 11.1 16.63ZM18.73 13.71L20 15.01L15.08 20L15.07 19.99L14.48 19.39L13.81 18.7L11.92 16.77L13.18 15.48L15.08 17.42L18.73 13.71Z\",rejectSingleChange:\"M17.0495 11.5C17.1461 11.5 17.241 11.5173 17.33 11.5501V9.3H13.28C13.207 9.30976 13.133 9.30976 13.06 9.3C12.7697 9.22119 12.5113 9.05343 12.3212 8.82027C12.1311 8.58711 12.0187 8.30026 12 8V4H4.13C4.09552 4 4.06246 4.0137 4.03808 4.03808C4.0137 4.06246 4 4.09552 4 4.13V19.87C4 19.9045 4.0137 19.9375 4.03808 19.9619C4.06246 19.9863 4.09552 20 4.13 20H13.2305C13.1075 19.8287 13.0338 19.6249 13.0205 19.4112L13.0195 19.3956V18.52H5C4.87537 18.52 4.75586 18.4705 4.66772 18.3823C4.57959 18.2942 4.53003 18.1747 4.53003 18.05C4.53003 18.0119 4.53467 17.9742 4.54358 17.9378C4.56396 17.8552 4.60657 17.7788 4.66772 17.7177C4.75586 17.6295 4.87537 17.58 5 17.58H13.0195V14.74H5C4.87537 14.74 4.75586 14.6905 4.66772 14.6023C4.57959 14.5142 4.53003 14.3947 4.53003 14.27C4.53003 14.1453 4.57959 14.0258 4.66772 13.9377C4.75586 13.8495 4.87537 13.8 5 13.8H12.8393C12.6229 13.6377 12.4998 13.3897 12.4998 13.1032C12.4997 12.8414 12.6008 12.5847 12.7513 12.3911C12.9 12.1998 13.1561 12 13.4994 12L15.2519 12C15.2928 11.8972 15.3589 11.7915 15.4649 11.6992C15.6135 11.5698 15.8041 11.499 16.0011 11.5H17.0495ZM13.1 4.65L16.6 8.15C16.6211 8.17232 16.6354 8.20028 16.6411 8.23051C16.6468 8.26075 16.6437 8.29199 16.6321 8.32048C16.6204 8.34898 16.6009 8.37352 16.5757 8.39117C16.5505 8.40882 16.5207 8.41883 16.49 8.42H13.06L12.83 8.19V4.76C12.8311 4.72925 12.8411 4.6995 12.8588 4.67429C12.8764 4.64909 12.901 4.62951 12.9295 4.6179C12.958 4.6063 12.9892 4.60315 13.0194 4.60884C13.0497 4.61453 13.0776 4.62882 13.1 4.65ZM11 6.72C11.0027 6.66089 10.9937 6.60184 10.9735 6.5462C10.9716 6.5408 10.9695 6.53543 10.9673 6.53012C10.9626 6.51852 10.9575 6.50717 10.9518 6.49603C10.9406 6.47391 10.9275 6.45273 10.9127 6.43274C10.9033 6.41992 10.8932 6.40759 10.8824 6.39581C10.8425 6.35217 10.7943 6.3168 10.7407 6.29178C10.6871 6.26678 10.629 6.25256 10.5699 6.25H5C4.88232 6.25772 4.77246 6.31131 4.69397 6.39917C4.61536 6.48706 4.57446 6.60226 4.57996 6.72C4.57715 6.7811 4.58679 6.84152 4.60767 6.8978C4.61523 6.91803 4.62415 6.93771 4.63452 6.9567C4.65088 6.98669 4.67078 7.01495 4.69397 7.04083C4.77246 7.12869 4.88232 7.18228 5 7.19H10.6C10.714 7.1774 10.8188 7.12173 10.8932 7.03436C10.922 7.00049 10.9454 6.96283 10.9629 6.92273C10.9725 6.9006 10.9805 6.87775 10.9865 6.8544C10.9933 6.82791 10.9977 6.80075 10.9995 6.77325C11.0001 6.76453 11.0004 6.75574 11.0005 6.74695C11.0006 6.73798 11.0005 6.729 11 6.72ZM11.1 8.14001H5C4.97534 8.14001 4.95081 8.14194 4.92676 8.14575C4.89587 8.15063 4.8656 8.15857 4.83643 8.1694C4.77368 8.19272 4.71606 8.2294 4.66772 8.27768C4.57959 8.36581 4.53003 8.48535 4.53003 8.61002C4.53003 8.73468 4.57959 8.85422 4.66772 8.94235C4.75586 9.03049 4.87537 9.08002 5 9.08002H11.1C11.2247 9.08002 11.3442 9.03049 11.4324 8.94235C11.4617 8.91306 11.4867 8.88028 11.5071 8.845C11.5349 8.79691 11.554 8.74414 11.5634 8.68915C11.5677 8.66318 11.5701 8.63672 11.5701 8.61002C11.5701 8.48535 11.5205 8.36581 11.4324 8.27768C11.3929 8.23831 11.3474 8.20663 11.2979 8.18365C11.2365 8.15518 11.1689 8.14001 11.1 8.14001ZM5 11H15.45C15.5826 11 15.7098 10.9473 15.8036 10.8535C15.8973 10.7598 15.95 10.6326 15.95 10.5C15.95 10.3674 15.8973 10.2402 15.8036 10.1465C15.7098 10.0527 15.5826 10 15.45 10H5C4.86743 10 4.74023 10.0527 4.64648 10.1465C4.55273 10.2402 4.5 10.3674 4.5 10.5C4.5 10.6326 4.55273 10.7598 4.64648 10.8535C4.74023 10.9473 4.86743 11 5 11ZM5 12.86H11.1C11.2211 12.8523 11.3346 12.798 11.4166 12.7085C11.4987 12.6191 11.5428 12.5013 11.54 12.38C11.5427 12.2597 11.4982 12.1431 11.4159 12.0552C11.3336 11.9673 11.2202 11.9152 11.1 11.91H5C4.94092 11.9126 4.88281 11.9268 4.82922 11.9518C4.77563 11.9768 4.72742 12.0122 4.6875 12.0558C4.64758 12.0995 4.6167 12.1506 4.59644 12.2062C4.58899 12.2266 4.58313 12.2475 4.57874 12.2687C4.57129 12.3052 4.56824 12.3426 4.56995 12.38C4.56445 12.5004 4.60645 12.6181 4.68689 12.7079C4.76733 12.7976 4.87976 12.8523 5 12.86ZM11.1 16.63H5C4.87537 16.63 4.75586 16.5805 4.66772 16.4923C4.57959 16.4042 4.53003 16.2846 4.53003 16.16C4.53003 16.0353 4.57959 15.9158 4.66772 15.8276C4.75586 15.7395 4.87537 15.69 5 15.69H11.1C11.2247 15.69 11.3442 15.7395 11.4324 15.8276C11.5205 15.9158 11.5701 16.0353 11.5701 16.16C11.5701 16.2846 11.5205 16.4042 11.4324 16.4923C11.3442 16.5805 11.2247 16.63 11.1 16.63ZM19.59 12.53H17.36V12.3C17.3574 12.2195 17.3236 12.1432 17.2657 12.0872C17.2078 12.0313 17.1305 12 17.05 12H16C15.9242 11.9994 15.8509 12.0265 15.7938 12.0762C15.7367 12.126 15.6997 12.1949 15.69 12.27V12.5H13.44C13.3768 12.4994 13.3142 12.5125 13.2565 12.5382C13.1988 12.564 13.1473 12.6019 13.1055 12.6493C13.0638 12.6968 13.0327 12.7526 13.0145 12.8132C12.9963 12.8737 12.9913 12.9374 13 13V13.67C13 13.6871 13.0033 13.704 13.0099 13.7198C13.0164 13.7355 13.026 13.7499 13.038 13.7619C13.0501 13.774 13.0644 13.7836 13.0802 13.7901C13.096 13.7966 13.1129 13.8 13.13 13.8H19.84C19.8611 13.8054 19.8834 13.8054 19.9045 13.8C19.9257 13.7946 19.9452 13.7839 19.9611 13.7689C19.9771 13.754 19.989 13.7352 19.9958 13.7144C20.0026 13.6937 20.004 13.6715 20 13.65V13C20.0028 12.8866 19.9617 12.7765 19.8853 12.6927C19.809 12.6088 19.7031 12.5577 19.59 12.55V12.53ZM13.52 14V19.38C13.5303 19.5454 13.6054 19.7 13.7289 19.8105C13.8525 19.9209 14.0145 19.9782 14.18 19.97H18.84C19.0055 19.9782 19.1676 19.9209 19.2911 19.8105C19.4146 19.7 19.4897 19.5454 19.5 19.38V14H13.52ZM15.52 18.67C15.52 18.7522 15.4874 18.8311 15.4292 18.8892C15.3711 18.9473 15.2922 18.98 15.21 18.98H14.83C14.7478 18.98 14.669 18.9473 14.6108 18.8892C14.5527 18.8311 14.52 18.7522 14.52 18.67V15.33C14.52 15.2893 14.528 15.249 14.5436 15.2114C14.5592 15.1738 14.582 15.1396 14.6108 15.1108C14.6396 15.082 14.6738 15.0592 14.7114 15.0436C14.749 15.028 14.7893 15.02 14.83 15.02H15.21C15.2507 15.02 15.291 15.028 15.3287 15.0436C15.3663 15.0592 15.4004 15.082 15.4292 15.1108C15.458 15.1396 15.4808 15.1738 15.4964 15.2114C15.512 15.249 15.52 15.2893 15.52 15.33V18.67ZM17.01 18.67C17.01 18.7522 16.9774 18.8311 16.9192 18.8892C16.8611 18.9473 16.7822 18.98 16.7 18.98H16.32C16.2798 18.98 16.2399 18.9719 16.2029 18.9562C16.1658 18.9405 16.1323 18.9176 16.1043 18.8886C16.0763 18.8597 16.0544 18.8254 16.0399 18.7879C16.0254 18.7503 16.0187 18.7102 16.02 18.67V15.33C16.0187 15.2898 16.0254 15.2497 16.0399 15.2121C16.0544 15.1746 16.0763 15.1403 16.1043 15.1114C16.1323 15.0824 16.1658 15.0595 16.2029 15.0438C16.2399 15.0281 16.2798 15.02 16.32 15.02H16.7C16.7407 15.02 16.781 15.028 16.8187 15.0436C16.8563 15.0592 16.8904 15.082 16.9192 15.1108C16.948 15.1396 16.9708 15.1738 16.9864 15.2114C17.002 15.249 17.01 15.2893 17.01 15.33V18.67ZM18.51 18.67C18.51 18.7107 18.502 18.751 18.4864 18.7886C18.4708 18.8262 18.448 18.8604 18.4192 18.8892C18.3904 18.918 18.3563 18.9408 18.3187 18.9564C18.281 18.972 18.2407 18.98 18.2 18.98H17.82C17.7378 18.98 17.659 18.9473 17.6008 18.8892C17.5427 18.8311 17.51 18.7522 17.51 18.67V15.33C17.51 15.2893 17.518 15.249 17.5336 15.2114C17.5492 15.1738 17.572 15.1396 17.6008 15.1108C17.6296 15.082 17.6638 15.0592 17.7014 15.0436C17.739 15.028 17.7793 15.02 17.82 15.02H18.2C18.2407 15.02 18.281 15.028 18.3187 15.0436C18.3563 15.0592 18.3904 15.082 18.4192 15.1108C18.448 15.1396 18.4708 15.1738 18.4864 15.2114C18.502 15.249 18.51 15.2893 18.51 15.33V18.67Z\",chevronDown:\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\",chevronUp:\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"},Y.FILEICONS={docIcon:{extension:\".doc\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 9.617188 46.875 C 13.234375 46.875 16.160156 43.929688 16.160156 40.292969 C 16.160156 36.695312 13.234375 33.75 9.617188 33.75 L 7.402344 33.75 C 6.820312 33.75 6.371094 34.199219 6.371094 34.78125 L 6.371094 45.84375 C 6.371094 46.335938 6.714844 46.757812 7.191406 46.855469 L 7.402344 46.875 Z M 9.617188 44.792969 L 8.453125 44.792969 L 8.453125 35.832031 L 9.617188 35.832031 C 12.089844 35.832031 14.078125 37.835938 14.078125 40.292969 C 14.078125 42.789062 12.089844 44.773438 9.617188 44.792969 Z M 24.816406 46.875 C 26.539062 46.875 28.191406 46.085938 29.296875 44.867188 C 30.460938 43.648438 31.191406 41.980469 31.191406 40.125 C 31.191406 38.269531 30.460938 36.617188 29.296875 35.382812 C 28.191406 34.144531 26.539062 33.375 24.816406 33.375 C 23.015625 33.375 21.367188 34.144531 20.222656 35.382812 C 19.058594 36.617188 18.367188 38.269531 18.367188 40.125 C 18.367188 41.980469 19.058594 43.648438 20.222656 44.867188 C 21.367188 46.085938 23.015625 46.875 24.816406 46.875 Z M 24.816406 44.738281 C 23.617188 44.738281 22.566406 44.230469 21.777344 43.386719 C 20.992188 42.582031 20.503906 41.398438 20.503906 40.125 C 20.503906 38.851562 20.992188 37.667969 21.777344 36.84375 C 22.566406 36 23.617188 35.511719 24.816406 35.511719 C 25.941406 35.511719 26.992188 36 27.777344 36.84375 C 28.546875 37.667969 29.054688 38.851562 29.054688 40.125 C 29.054688 41.398438 28.546875 42.582031 27.777344 43.386719 C 26.992188 44.230469 25.941406 44.738281 24.816406 44.738281 Z M 39.996094 46.875 C 41.648438 46.875 43.148438 46.332031 44.328125 45.414062 C 44.777344 45.054688 44.851562 44.382812 44.515625 43.914062 C 44.140625 43.460938 43.445312 43.386719 43.015625 43.707031 C 42.171875 44.382812 41.160156 44.738281 39.996094 44.738281 C 38.703125 44.738281 37.503906 44.210938 36.621094 43.386719 C 35.777344 42.5625 35.253906 41.398438 35.253906 40.125 C 35.253906 38.851562 35.777344 37.726562 36.621094 36.863281 C 37.503906 36.039062 38.703125 35.511719 39.996094 35.511719 C 41.160156 35.511719 42.191406 35.867188 43.015625 36.542969 C 43.445312 36.882812 44.140625 36.804688 44.515625 36.335938 C 44.851562 35.867188 44.777344 35.210938 44.328125 34.835938 C 43.148438 33.917969 41.648438 33.375 39.996094 33.375 C 36.246094 33.394531 33.132812 36.414062 33.117188 40.125 C 33.132812 43.855469 36.246094 46.875 39.996094 46.875 Z M 39.996094 46.875 \"/>\\n      </g>'},gifIcon:{extension:\".gif\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 17.394531 46.875 C 18.988281 46.875 20.46875 46.332031 21.648438 45.414062 C 21.835938 45.28125 21.949219 45.132812 22.003906 44.960938 L 22.003906 44.945312 C 22.023438 44.90625 22.023438 44.886719 22.042969 44.851562 C 22.0625 44.738281 22.097656 44.664062 22.097656 44.53125 L 22.097656 40.386719 C 22.097656 39.789062 21.613281 39.335938 21.011719 39.335938 L 17.28125 39.335938 C 16.699219 39.335938 16.210938 39.789062 16.210938 40.386719 C 16.210938 40.96875 16.699219 41.457031 17.28125 41.457031 L 19.960938 41.457031 L 19.960938 44.023438 C 19.210938 44.457031 18.332031 44.738281 17.394531 44.738281 C 16.042969 44.738281 14.863281 44.230469 14.019531 43.367188 C 13.136719 42.523438 12.613281 41.382812 12.613281 40.144531 C 12.613281 38.867188 13.136719 37.726562 14.019531 36.882812 C 14.863281 36.019531 16.042969 35.511719 17.394531 35.511719 C 18.519531 35.511719 19.550781 35.90625 20.355469 36.523438 C 20.824219 36.898438 21.519531 36.804688 21.875 36.355469 C 22.230469 35.886719 22.15625 35.195312 21.667969 34.835938 C 20.503906 33.917969 18.988281 33.375 17.394531 33.375 C 13.585938 33.375 10.472656 36.375 10.472656 40.144531 C 10.472656 43.894531 13.585938 46.875 17.394531 46.875 Z M 26.945312 46.875 C 27.507812 46.875 27.996094 46.425781 27.996094 45.84375 L 27.996094 34.78125 C 27.996094 34.199219 27.507812 33.75 26.945312 33.75 C 26.363281 33.75 25.914062 34.199219 25.914062 34.78125 L 25.914062 45.84375 C 25.914062 46.425781 26.363281 46.875 26.945312 46.875 Z M 33.066406 46.875 C 33.648438 46.875 34.117188 46.40625 34.117188 45.84375 L 34.117188 41.34375 L 38.488281 41.34375 C 39.050781 41.34375 39.519531 40.875 39.519531 40.292969 C 39.519531 39.75 39.050781 39.261719 38.488281 39.261719 L 34.117188 39.261719 L 34.117188 35.832031 L 39.199219 35.832031 C 39.742188 35.832031 40.230469 35.363281 40.230469 34.78125 C 40.230469 34.21875 39.742188 33.75 39.199219 33.75 L 33.066406 33.75 C 32.488281 33.75 32.035156 34.21875 32.035156 34.78125 L 32.035156 45.84375 C 32.035156 46.40625 32.488281 46.875 33.066406 46.875 Z M 33.066406 46.875 \"/>\\n      </g>'},jpegIcon:{extension:\".jpeg\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 9 43.75 C 11.140625 43.75 12.890625 42.015625 12.890625 39.875 L 12.890625 33.671875 C 12.890625 33.1875 12.5 32.8125 12.03125 32.8125 C 11.546875 32.8125 11.15625 33.1875 11.15625 33.671875 L 11.15625 39.875 C 11.15625 41.046875 10.1875 42.015625 9 42.015625 C 8.046875 42.015625 7.234375 41.390625 6.953125 40.53125 C 6.8125 40.078125 6.328125 39.828125 5.859375 39.984375 C 5.421875 40.109375 5.15625 40.59375 5.3125 41.0625 C 5.8125 42.625 7.28125 43.75 9 43.75 Z M 15.640625 43.75 C 16.125 43.75 16.515625 43.359375 16.515625 42.890625 L 16.515625 39.5 L 18.4375 39.5 C 20.296875 39.5 21.796875 38 21.796875 36.171875 C 21.796875 34.3125 20.296875 32.8125 18.4375 32.8125 L 15.640625 32.8125 C 15.171875 32.8125 14.78125 33.1875 14.78125 33.671875 L 14.78125 42.890625 C 14.78125 43.359375 15.171875 43.75 15.640625 43.75 Z M 18.4375 37.765625 L 16.515625 37.765625 L 16.515625 34.546875 L 18.4375 34.546875 C 19.34375 34.546875 20.046875 35.265625 20.0625 36.171875 C 20.046875 37.046875 19.34375 37.765625 18.4375 37.765625 Z M 29.234375 43.75 C 29.6875 43.75 30.09375 43.359375 30.09375 42.890625 C 30.09375 42.40625 29.6875 42.015625 29.234375 42.015625 L 25 42.015625 L 25 39.140625 L 28.640625 39.140625 C 29.109375 39.140625 29.5 38.75 29.5 38.265625 C 29.5 37.8125 29.109375 37.40625 28.640625 37.40625 L 25 37.40625 L 25 34.546875 L 29.234375 34.546875 C 29.6875 34.546875 30.09375 34.15625 30.09375 33.671875 C 30.09375 33.1875 29.6875 32.8125 29.234375 32.8125 L 24.125 32.8125 C 23.640625 32.8125 23.265625 33.1875 23.265625 33.671875 L 23.265625 42.890625 C 23.265625 43.359375 23.640625 43.75 24.125 43.75 C 24.125 43.75 24.140625 43.734375 24.140625 43.734375 C 24.140625 43.734375 24.140625 43.75 24.171875 43.75 Z M 37.1875 43.75 C 38.515625 43.75 39.75 43.296875 40.734375 42.53125 C 40.890625 42.421875 40.984375 42.296875 41.03125 42.15625 L 41.03125 42.140625 C 41.046875 42.109375 41.046875 42.09375 41.0625 42.0625 C 41.078125 41.96875 41.109375 41.90625 41.109375 41.796875 L 41.109375 38.34375 C 41.109375 37.914062 40.8125 37.578125 40.410156 37.492188 L 40.203125 37.46875 L 37.09375 37.46875 C 36.609375 37.46875 36.203125 37.84375 36.203125 38.34375 C 36.203125 38.828125 36.609375 39.234375 37.09375 39.234375 L 39.328125 39.234375 L 39.328125 41.375 C 38.703125 41.734375 37.96875 41.96875 37.1875 41.96875 C 36.0625 41.96875 35.078125 41.546875 34.375 40.828125 C 33.640625 40.125 33.203125 39.171875 33.203125 38.140625 C 33.203125 37.078125 33.640625 36.125 34.375 35.421875 C 35.078125 34.703125 36.0625 34.28125 37.1875 34.28125 C 38.125 34.28125 38.984375 34.609375 39.65625 35.125 C 40.046875 35.4375 40.625 35.359375 40.921875 34.984375 C 41.21875 34.59375 41.15625 34.015625 40.75 33.71875 C 39.78125 32.953125 38.515625 32.5 37.1875 32.5 C 34.015625 32.5 31.421875 35 31.421875 38.140625 C 31.421875 41.265625 34.015625 43.75 37.1875 43.75 Z M 37.1875 43.75 \"/>\\n      </g>'},logIcon:{extension:\".log\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 13.542969 46.875 C 14.085938 46.875 14.574219 46.40625 14.574219 45.84375 C 14.574219 45.261719 14.085938 44.792969 13.542969 44.792969 L 8.460938 44.792969 L 8.460938 34.78125 C 8.460938 34.21875 7.992188 33.75 7.410156 33.75 C 6.828125 33.75 6.378906 34.21875 6.378906 34.78125 L 6.378906 45.84375 C 6.378906 46.40625 6.828125 46.875 7.410156 46.875 Z M 21.742188 46.875 C 23.46875 46.875 25.117188 46.085938 26.222656 44.867188 C 27.386719 43.648438 28.117188 41.980469 28.117188 40.125 C 28.117188 38.269531 27.386719 36.617188 26.222656 35.382812 C 25.117188 34.144531 23.46875 33.375 21.742188 33.375 C 19.941406 33.375 18.292969 34.144531 17.148438 35.382812 C 15.984375 36.617188 15.292969 38.269531 15.292969 40.125 C 15.292969 41.980469 15.984375 43.648438 17.148438 44.867188 C 18.292969 46.085938 19.941406 46.875 21.742188 46.875 Z M 21.742188 44.738281 C 20.542969 44.738281 19.492188 44.230469 18.703125 43.386719 C 17.917969 42.582031 17.429688 41.398438 17.429688 40.125 C 17.429688 38.851562 17.917969 37.667969 18.703125 36.84375 C 19.492188 36 20.542969 35.511719 21.742188 35.511719 C 22.867188 35.511719 23.917969 36 24.703125 36.84375 C 25.472656 37.667969 25.980469 38.851562 25.980469 40.125 C 25.980469 41.398438 25.472656 42.582031 24.703125 43.386719 C 23.917969 44.230469 22.867188 44.738281 21.742188 44.738281 Z M 37.300781 46.875 C 38.894531 46.875 40.375 46.332031 41.558594 45.414062 C 41.746094 45.28125 41.855469 45.132812 41.914062 44.960938 L 41.914062 44.945312 L 41.949219 44.851562 C 41.96875 44.738281 42.007812 44.664062 42.007812 44.53125 L 42.007812 40.386719 C 42.007812 39.789062 41.519531 39.335938 40.917969 39.335938 L 37.1875 39.335938 C 36.605469 39.335938 36.121094 39.789062 36.121094 40.386719 C 36.121094 40.96875 36.605469 41.457031 37.1875 41.457031 L 39.871094 41.457031 L 39.871094 44.023438 C 39.121094 44.457031 38.238281 44.738281 37.300781 44.738281 C 35.949219 44.738281 34.769531 44.230469 33.925781 43.367188 C 33.042969 42.523438 32.519531 41.382812 32.519531 40.144531 C 32.519531 38.867188 33.042969 37.726562 33.925781 36.882812 C 34.769531 36.019531 35.949219 35.511719 37.300781 35.511719 C 38.425781 35.511719 39.457031 35.90625 40.261719 36.523438 C 40.730469 36.898438 41.425781 36.804688 41.78125 36.355469 C 42.136719 35.886719 42.0625 35.195312 41.574219 34.835938 C 40.414062 33.917969 38.894531 33.375 37.300781 33.375 C 33.496094 33.375 30.382812 36.375 30.382812 40.144531 C 30.382812 43.894531 33.496094 46.875 37.300781 46.875 Z M 37.300781 46.875 \"/>\\n      </g>'},movIcon:{extension:\".mov\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 15.472656 46.875 C 16.035156 46.875 16.523438 46.40625 16.523438 45.84375 L 16.523438 34.78125 C 16.523438 34.289062 16.152344 33.882812 15.679688 33.777344 L 15.472656 33.75 L 15.453125 33.75 C 15.117188 33.75 14.816406 33.898438 14.609375 34.179688 L 10.878906 39.355469 L 7.148438 34.179688 C 6.960938 33.898438 6.625 33.75 6.324219 33.75 L 6.265625 33.75 C 5.703125 33.75 5.234375 34.21875 5.234375 34.78125 L 5.234375 45.84375 C 5.234375 46.40625 5.703125 46.875 6.265625 46.875 C 6.847656 46.875 7.316406 46.40625 7.316406 45.84375 L 7.316406 37.949219 L 10 41.699219 C 10.203125 41.980469 10.523438 42.132812 10.859375 42.132812 L 10.898438 42.132812 C 11.234375 42.132812 11.535156 41.980469 11.742188 41.699219 L 14.441406 37.949219 L 14.441406 45.84375 C 14.441406 46.40625 14.890625 46.875 15.472656 46.875 Z M 25.460938 46.875 C 27.1875 46.875 28.835938 46.085938 29.941406 44.867188 C 31.105469 43.648438 31.835938 41.980469 31.835938 40.125 C 31.835938 38.269531 31.105469 36.617188 29.941406 35.382812 C 28.835938 34.144531 27.1875 33.375 25.460938 33.375 C 23.660156 33.375 22.011719 34.144531 20.867188 35.382812 C 19.703125 36.617188 19.011719 38.269531 19.011719 40.125 C 19.011719 41.980469 19.703125 43.648438 20.867188 44.867188 C 22.011719 46.085938 23.660156 46.875 25.460938 46.875 Z M 25.460938 44.738281 C 24.261719 44.738281 23.210938 44.230469 22.421875 43.386719 C 21.636719 42.582031 21.148438 41.398438 21.148438 40.125 C 21.148438 38.851562 21.636719 37.667969 22.421875 36.84375 C 23.210938 36 24.261719 35.511719 25.460938 35.511719 C 26.585938 35.511719 27.636719 36 28.421875 36.84375 C 29.191406 37.667969 29.699219 38.851562 29.699219 40.125 C 29.699219 41.398438 29.191406 42.582031 28.421875 43.386719 C 27.636719 44.230469 26.585938 44.738281 25.460938 44.738281 Z M 38.683594 46.855469 L 38.71875 46.855469 C 38.777344 46.835938 38.8125 46.820312 38.871094 46.820312 C 38.886719 46.800781 38.886719 46.800781 38.90625 46.800781 C 38.964844 46.78125 39.019531 46.726562 39.058594 46.707031 L 39.09375 46.6875 L 39.207031 46.59375 C 39.226562 46.574219 39.226562 46.574219 39.246094 46.539062 L 39.339844 46.425781 C 39.355469 46.425781 39.355469 46.425781 39.355469 46.40625 C 39.394531 46.367188 39.414062 46.292969 39.433594 46.257812 L 44.0625 35.304688 C 44.269531 34.800781 44.027344 34.179688 43.5 33.976562 C 42.996094 33.75 42.375 33.992188 42.152344 34.519531 L 38.496094 43.199219 L 34.839844 34.519531 C 34.613281 33.992188 34.011719 33.75 33.507812 33.976562 C 32.964844 34.179688 32.71875 34.800781 32.945312 35.304688 L 37.539062 46.257812 C 37.574219 46.292969 37.613281 46.367188 37.632812 46.40625 C 37.632812 46.425781 37.652344 46.425781 37.652344 46.425781 C 37.667969 46.460938 37.707031 46.5 37.746094 46.539062 C 37.746094 46.574219 37.761719 46.574219 37.761719 46.59375 C 37.820312 46.632812 37.855469 46.648438 37.894531 46.6875 L 37.914062 46.6875 C 37.96875 46.726562 38.042969 46.78125 38.082031 46.800781 L 38.101562 46.800781 C 38.101562 46.800781 38.121094 46.800781 38.121094 46.820312 C 38.15625 46.820312 38.230469 46.835938 38.269531 46.855469 L 38.308594 46.855469 L 38.402344 46.871094 L 38.496094 46.875 C 38.550781 46.875 38.605469 46.875 38.683594 46.855469 Z M 38.683594 46.855469 \"/>\\n      </g>'},ogvIcon:{extension:\".ogv\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 11.511719 46.875 C 13.238281 46.875 14.886719 46.085938 15.996094 44.867188 C 17.15625 43.648438 17.886719 41.980469 17.886719 40.125 C 17.886719 38.269531 17.15625 36.617188 15.996094 35.382812 C 14.886719 34.144531 13.238281 33.375 11.511719 33.375 C 9.714844 33.375 8.0625 34.144531 6.917969 35.382812 C 5.757812 36.617188 5.0625 38.269531 5.0625 40.125 C 5.0625 41.980469 5.757812 43.648438 6.917969 44.867188 C 8.0625 46.085938 9.714844 46.875 11.511719 46.875 Z M 11.511719 44.738281 C 10.3125 44.738281 9.261719 44.230469 8.476562 43.386719 C 7.6875 42.582031 7.199219 41.398438 7.199219 40.125 C 7.199219 38.851562 7.6875 37.667969 8.476562 36.84375 C 9.261719 36 10.3125 35.511719 11.511719 35.511719 C 12.636719 35.511719 13.6875 36 14.476562 36.84375 C 15.246094 37.667969 15.75 38.851562 15.75 40.125 C 15.75 41.398438 15.246094 42.582031 14.476562 43.386719 C 13.6875 44.230469 12.636719 44.738281 11.511719 44.738281 Z M 27.25 46.875 C 28.84375 46.875 30.324219 46.332031 31.507812 45.414062 C 31.695312 45.28125 31.804688 45.132812 31.863281 44.960938 L 31.863281 44.945312 C 31.882812 44.90625 31.882812 44.886719 31.898438 44.851562 C 31.917969 44.738281 31.957031 44.664062 31.957031 44.53125 L 31.957031 40.386719 C 31.957031 39.789062 31.46875 39.335938 30.867188 39.335938 L 27.136719 39.335938 C 26.554688 39.335938 26.070312 39.789062 26.070312 40.386719 C 26.070312 40.96875 26.554688 41.457031 27.136719 41.457031 L 29.820312 41.457031 L 29.820312 44.023438 C 29.070312 44.457031 28.1875 44.738281 27.25 44.738281 C 25.898438 44.738281 24.71875 44.230469 23.875 43.367188 C 22.992188 42.523438 22.46875 41.382812 22.46875 40.144531 C 22.46875 38.867188 22.992188 37.726562 23.875 36.882812 C 24.71875 36.019531 25.898438 35.511719 27.25 35.511719 C 28.375 35.511719 29.40625 35.90625 30.210938 36.523438 C 30.679688 36.898438 31.375 36.804688 31.730469 36.355469 C 32.085938 35.886719 32.011719 35.195312 31.523438 34.835938 C 30.363281 33.917969 28.84375 33.375 27.25 33.375 C 23.445312 33.375 20.332031 36.375 20.332031 40.144531 C 20.332031 43.894531 23.445312 46.875 27.25 46.875 Z M 40.191406 46.855469 L 40.230469 46.855469 C 40.285156 46.835938 40.324219 46.820312 40.378906 46.820312 C 40.398438 46.800781 40.398438 46.800781 40.417969 46.800781 C 40.472656 46.78125 40.53125 46.726562 40.566406 46.707031 C 40.605469 46.6875 40.605469 46.6875 40.605469 46.6875 L 40.71875 46.59375 C 40.738281 46.574219 40.738281 46.574219 40.753906 46.539062 L 40.847656 46.425781 C 40.867188 46.425781 40.867188 46.425781 40.867188 46.40625 C 40.90625 46.367188 40.925781 46.292969 40.941406 46.257812 L 45.574219 35.304688 C 45.78125 34.800781 45.535156 34.179688 45.011719 33.976562 C 44.503906 33.75 43.886719 33.992188 43.660156 34.519531 L 40.003906 43.199219 L 36.347656 34.519531 C 36.125 33.992188 35.523438 33.75 35.019531 33.976562 C 34.472656 34.179688 34.230469 34.800781 34.457031 35.304688 L 39.050781 46.257812 C 39.085938 46.292969 39.125 46.367188 39.144531 46.40625 C 39.144531 46.425781 39.160156 46.425781 39.160156 46.425781 C 39.179688 46.460938 39.21875 46.5 39.253906 46.539062 C 39.253906 46.574219 39.273438 46.574219 39.273438 46.59375 C 39.332031 46.632812 39.367188 46.648438 39.40625 46.6875 L 39.425781 46.6875 C 39.480469 46.726562 39.554688 46.78125 39.59375 46.800781 L 39.613281 46.800781 C 39.613281 46.800781 39.628906 46.800781 39.628906 46.820312 C 39.667969 46.820312 39.742188 46.835938 39.78125 46.855469 L 39.816406 46.855469 L 39.910156 46.871094 L 40.003906 46.875 C 40.0625 46.875 40.117188 46.875 40.191406 46.855469 Z M 40.191406 46.855469 \"/>\\n      </g>'},pngIcon:{extension:\".png\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 7.523438 46.875 C 8.105469 46.875 8.574219 46.40625 8.574219 45.84375 L 8.574219 41.773438 L 10.878906 41.773438 C 13.109375 41.773438 14.910156 39.976562 14.910156 37.78125 C 14.910156 35.550781 13.109375 33.75 10.878906 33.75 L 7.523438 33.75 C 6.960938 33.75 6.492188 34.199219 6.492188 34.78125 L 6.492188 45.84375 C 6.492188 46.40625 6.960938 46.875 7.523438 46.875 Z M 10.878906 39.695312 L 8.574219 39.695312 L 8.574219 35.832031 L 10.878906 35.832031 C 11.964844 35.832031 12.808594 36.695312 12.828125 37.78125 C 12.808594 38.832031 11.964844 39.695312 10.878906 39.695312 Z M 26.75 46.875 C 27.3125 46.875 27.78125 46.40625 27.78125 45.84375 L 27.78125 34.949219 C 27.78125 34.40625 27.3125 33.9375 26.75 33.9375 C 26.1875 33.9375 25.738281 34.40625 25.738281 34.949219 L 25.738281 42.675781 L 19.679688 34.292969 C 19.363281 33.84375 18.722656 33.75 18.253906 34.070312 C 17.972656 34.273438 17.824219 34.613281 17.84375 34.929688 L 17.84375 45.84375 C 17.84375 46.40625 18.292969 46.875 18.875 46.875 C 19.417969 46.875 19.886719 46.40625 19.886719 45.84375 L 19.886719 38.0625 L 25.886719 46.386719 C 25.90625 46.425781 25.941406 46.460938 25.980469 46.5 C 26.167969 46.726562 26.449219 46.875 26.75 46.875 Z M 38.082031 46.875 C 39.675781 46.875 41.15625 46.332031 42.339844 45.414062 C 42.527344 45.28125 42.636719 45.132812 42.695312 44.960938 L 42.695312 44.945312 C 42.714844 44.90625 42.714844 44.886719 42.730469 44.851562 C 42.75 44.738281 42.789062 44.664062 42.789062 44.53125 L 42.789062 40.386719 C 42.789062 39.789062 42.300781 39.335938 41.699219 39.335938 L 37.96875 39.335938 C 37.386719 39.335938 36.902344 39.789062 36.902344 40.386719 C 36.902344 40.96875 37.386719 41.457031 37.96875 41.457031 L 40.652344 41.457031 L 40.652344 44.023438 C 39.902344 44.457031 39.019531 44.738281 38.082031 44.738281 C 36.730469 44.738281 35.550781 44.230469 34.707031 43.367188 C 33.824219 42.523438 33.300781 41.382812 33.300781 40.144531 C 33.300781 38.867188 33.824219 37.726562 34.707031 36.882812 C 35.550781 36.019531 36.730469 35.511719 38.082031 35.511719 C 39.207031 35.511719 40.238281 35.90625 41.042969 36.523438 C 41.511719 36.898438 42.207031 36.804688 42.5625 36.355469 C 42.917969 35.886719 42.84375 35.195312 42.355469 34.835938 C 41.195312 33.917969 39.675781 33.375 38.082031 33.375 C 34.277344 33.375 31.164062 36.375 31.164062 40.144531 C 31.164062 43.894531 34.277344 46.875 38.082031 46.875 Z M 38.082031 46.875 \"/>\\n      </g>'},txtIcon:{extension:\".txt\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 12.847656 46.875 C 13.429688 46.875 13.878906 46.425781 13.878906 45.84375 L 13.878906 35.832031 L 16.859375 35.832031 C 17.421875 35.832031 17.890625 35.34375 17.890625 34.78125 C 17.890625 34.199219 17.421875 33.75 16.859375 33.75 L 8.855469 33.75 C 8.273438 33.75 7.824219 34.199219 7.824219 34.78125 C 7.824219 35.34375 8.273438 35.832031 8.855469 35.832031 L 11.816406 35.832031 L 11.816406 45.84375 C 11.816406 46.425781 12.285156 46.875 12.847656 46.875 Z M 29.019531 46.875 C 29.222656 46.875 29.429688 46.800781 29.617188 46.667969 C 30.085938 46.351562 30.160156 45.695312 29.84375 45.242188 L 26.28125 40.367188 L 29.84375 35.53125 C 30.160156 35.0625 30.085938 34.425781 29.617188 34.105469 C 29.148438 33.75 28.53125 33.84375 28.175781 34.332031 L 25.023438 38.644531 L 21.855469 34.332031 C 21.535156 33.84375 20.878906 33.75 20.429688 34.105469 C 19.960938 34.425781 19.867188 35.0625 20.1875 35.53125 L 23.75 40.367188 L 20.1875 45.242188 C 19.867188 45.695312 19.960938 46.351562 20.429688 46.667969 C 20.597656 46.800781 20.804688 46.875 21.03125 46.875 C 21.347656 46.875 21.648438 46.707031 21.855469 46.445312 L 25.023438 42.113281 L 28.175781 46.445312 C 28.378906 46.707031 28.679688 46.875 29.019531 46.875 Z M 37.464844 46.875 C 38.042969 46.875 38.496094 46.425781 38.496094 45.84375 L 38.496094 35.832031 L 41.476562 35.832031 C 42.039062 35.832031 42.507812 35.34375 42.507812 34.78125 C 42.507812 34.199219 42.039062 33.75 41.476562 33.75 L 33.46875 33.75 C 32.886719 33.75 32.4375 34.199219 32.4375 34.78125 C 32.4375 35.34375 32.886719 35.832031 33.46875 35.832031 L 36.433594 35.832031 L 36.433594 45.84375 C 36.433594 46.425781 36.902344 46.875 37.464844 46.875 Z M 37.464844 46.875 \"/>\\n      </g>'},webmIcon:{extension:\".webm\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 7.195312 43.734375 L 7.242188 43.734375 C 7.273438 43.71875 7.304688 43.703125 7.367188 43.703125 C 7.367188 43.6875 7.382812 43.6875 7.382812 43.6875 L 7.398438 43.6875 C 7.429688 43.671875 7.476562 43.625 7.523438 43.59375 L 7.554688 43.59375 C 7.585938 43.5625 7.617188 43.53125 7.648438 43.515625 C 7.648438 43.5 7.664062 43.5 7.664062 43.46875 L 7.757812 43.375 C 7.757812 43.375 7.757812 43.359375 7.773438 43.359375 C 7.789062 43.328125 7.820312 43.265625 7.835938 43.21875 L 9.882812 38.375 L 11.929688 43.21875 C 11.945312 43.265625 11.960938 43.328125 11.992188 43.359375 C 11.992188 43.359375 11.992188 43.375 12.023438 43.375 L 12.085938 43.46875 C 12.101562 43.5 12.101562 43.5 12.117188 43.515625 C 12.148438 43.53125 12.179688 43.5625 12.226562 43.59375 L 12.242188 43.59375 C 12.273438 43.625 12.320312 43.671875 12.382812 43.6875 C 12.398438 43.6875 12.398438 43.6875 12.414062 43.703125 C 12.445312 43.703125 12.476562 43.71875 12.523438 43.734375 L 12.570312 43.734375 L 12.640625 43.746094 L 12.710938 43.75 C 12.773438 43.75 12.820312 43.75 12.867188 43.734375 L 12.898438 43.734375 C 12.945312 43.71875 12.992188 43.703125 13.023438 43.703125 C 13.023438 43.6875 13.039062 43.6875 13.039062 43.6875 L 13.054688 43.6875 C 13.117188 43.671875 13.148438 43.625 13.195312 43.59375 L 13.210938 43.59375 C 13.242188 43.5625 13.289062 43.53125 13.320312 43.515625 C 13.320312 43.5 13.335938 43.5 13.335938 43.46875 C 13.367188 43.4375 13.398438 43.40625 13.414062 43.375 C 13.414062 43.375 13.429688 43.359375 13.429688 43.359375 C 13.460938 43.328125 13.492188 43.265625 13.507812 43.21875 L 17.335938 34.109375 C 17.523438 33.6875 17.320312 33.171875 16.898438 33 C 16.445312 32.8125 15.945312 33.015625 15.757812 33.453125 L 12.710938 40.6875 L 10.695312 35.890625 C 10.539062 35.546875 10.210938 35.359375 9.882812 35.359375 C 9.539062 35.359375 9.210938 35.546875 9.070312 35.890625 L 7.054688 40.6875 L 3.992188 33.453125 C 3.820312 33.015625 3.304688 32.8125 2.882812 33 C 2.429688 33.171875 2.242188 33.6875 2.414062 34.109375 L 6.257812 43.21875 C 6.289062 43.265625 6.304688 43.328125 6.335938 43.359375 L 6.335938 43.375 C 6.367188 43.40625 6.382812 43.4375 6.414062 43.46875 C 6.429688 43.5 6.429688 43.5 6.445312 43.515625 C 6.492188 43.53125 6.507812 43.5625 6.554688 43.59375 L 6.570312 43.59375 C 6.601562 43.625 6.664062 43.671875 6.710938 43.6875 C 6.726562 43.6875 6.726562 43.6875 6.742188 43.703125 C 6.773438 43.703125 6.804688 43.71875 6.851562 43.734375 L 6.898438 43.734375 L 6.976562 43.746094 L 7.054688 43.75 C 7.101562 43.75 7.148438 43.75 7.195312 43.734375 Z M 25.179688 43.75 C 25.632812 43.75 26.039062 43.359375 26.039062 42.890625 C 26.039062 42.40625 25.632812 42.015625 25.179688 42.015625 L 20.945312 42.015625 L 20.945312 39.140625 L 24.585938 39.140625 C 25.054688 39.140625 25.445312 38.75 25.445312 38.265625 C 25.445312 37.8125 25.054688 37.40625 24.585938 37.40625 L 20.945312 37.40625 L 20.945312 34.546875 L 25.179688 34.546875 C 25.632812 34.546875 26.039062 34.15625 26.039062 33.671875 C 26.039062 33.1875 25.632812 32.8125 25.179688 32.8125 L 20.070312 32.8125 C 19.585938 32.8125 19.210938 33.1875 19.210938 33.671875 L 19.210938 42.890625 C 19.210938 43.359375 19.585938 43.75 20.070312 43.75 C 20.070312 43.75 20.085938 43.734375 20.085938 43.734375 C 20.085938 43.734375 20.085938 43.75 20.117188 43.75 Z M 31.539062 43.75 C 33.382812 43.75 34.882812 42.25 34.882812 40.390625 C 34.882812 39.203125 34.242188 38.15625 33.304688 37.5625 C 33.679688 37.0625 33.898438 36.453125 33.898438 35.78125 C 33.898438 34.140625 32.570312 32.8125 30.929688 32.8125 L 28.710938 32.8125 C 28.242188 32.8125 27.851562 33.1875 27.851562 33.671875 L 27.851562 42.890625 C 27.851562 43.359375 28.242188 43.75 28.710938 43.75 L 28.757812 43.734375 C 28.757812 43.734375 28.757812 43.75 28.773438 43.75 Z M 30.929688 37.046875 L 29.585938 37.046875 L 29.585938 34.546875 L 30.929688 34.546875 C 31.617188 34.546875 32.164062 35.09375 32.164062 35.78125 C 32.164062 36.46875 31.617188 37.046875 30.929688 37.046875 Z M 31.539062 42.015625 L 29.585938 42.015625 L 29.585938 38.78125 L 31.539062 38.78125 C 32.429688 38.796875 33.148438 39.5 33.148438 40.390625 C 33.148438 41.296875 32.429688 42 31.539062 42.015625 Z M 45.664062 43.75 C 46.132812 43.75 46.539062 43.359375 46.539062 42.890625 L 46.539062 33.671875 C 46.539062 33.269531 46.242188 32.9375 45.859375 32.839844 L 45.664062 32.8125 L 45.648438 32.8125 C 45.367188 32.8125 45.117188 32.9375 44.945312 33.171875 L 41.835938 37.484375 L 38.726562 33.171875 C 38.570312 32.9375 38.289062 32.8125 38.039062 32.8125 L 37.992188 32.8125 C 37.523438 32.8125 37.132812 33.203125 37.132812 33.671875 L 37.132812 42.890625 C 37.132812 43.359375 37.523438 43.75 37.992188 43.75 C 38.476562 43.75 38.867188 43.359375 38.867188 42.890625 L 38.867188 36.3125 L 41.101562 39.4375 C 41.273438 39.671875 41.539062 39.796875 41.820312 39.796875 L 41.851562 39.796875 C 42.132812 39.796875 42.382812 39.671875 42.554688 39.4375 L 44.804688 36.3125 L 44.804688 42.890625 C 44.804688 43.359375 45.179688 43.75 45.664062 43.75 Z M 45.664062 43.75 \"/>\\n      </g>'},webpIcon:{extension:\".webp\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 9.234375 43.734375 L 9.28125 43.734375 C 9.3125 43.71875 9.34375 43.703125 9.40625 43.703125 L 9.414062 43.6875 C 9.421875 43.6875 9.421875 43.6875 9.4375 43.6875 C 9.46875 43.671875 9.515625 43.625 9.5625 43.59375 L 9.59375 43.59375 C 9.625 43.5625 9.65625 43.53125 9.6875 43.515625 C 9.6875 43.5 9.703125 43.5 9.703125 43.46875 L 9.796875 43.375 C 9.796875 43.375 9.796875 43.359375 9.8125 43.359375 C 9.828125 43.328125 9.859375 43.265625 9.875 43.21875 L 11.921875 38.375 L 13.96875 43.21875 C 13.984375 43.265625 14 43.328125 14.03125 43.359375 C 14.03125 43.359375 14.03125 43.375 14.0625 43.375 L 14.125 43.46875 C 14.140625 43.5 14.140625 43.5 14.15625 43.515625 L 14.203125 43.546875 L 14.265625 43.59375 C 14.265625 43.59375 14.265625 43.59375 14.28125 43.59375 C 14.3125 43.625 14.359375 43.671875 14.421875 43.6875 C 14.4375 43.6875 14.4375 43.6875 14.453125 43.703125 C 14.484375 43.703125 14.515625 43.71875 14.5625 43.734375 L 14.609375 43.734375 L 14.679688 43.746094 L 14.75 43.75 C 14.8125 43.75 14.859375 43.75 14.90625 43.734375 L 14.9375 43.734375 C 14.984375 43.71875 15.03125 43.703125 15.0625 43.703125 C 15.0625 43.6875 15.078125 43.6875 15.078125 43.6875 L 15.09375 43.6875 C 15.15625 43.671875 15.1875 43.625 15.234375 43.59375 L 15.25 43.59375 C 15.28125 43.5625 15.328125 43.53125 15.359375 43.515625 C 15.359375 43.5 15.375 43.5 15.375 43.46875 C 15.40625 43.4375 15.4375 43.40625 15.453125 43.375 L 15.46875 43.359375 C 15.5 43.328125 15.53125 43.265625 15.546875 43.21875 L 19.375 34.109375 C 19.5625 33.6875 19.359375 33.171875 18.9375 33 C 18.484375 32.8125 17.984375 33.015625 17.796875 33.453125 L 14.75 40.6875 L 12.734375 35.890625 C 12.578125 35.546875 12.25 35.359375 11.921875 35.359375 C 11.578125 35.359375 11.25 35.546875 11.109375 35.890625 L 9.09375 40.6875 L 6.03125 33.453125 C 5.859375 33.015625 5.34375 32.8125 4.921875 33 C 4.46875 33.171875 4.28125 33.6875 4.453125 34.109375 L 8.296875 43.21875 C 8.328125 43.265625 8.34375 43.328125 8.375 43.359375 L 8.375 43.375 C 8.40625 43.40625 8.421875 43.4375 8.453125 43.46875 C 8.46875 43.5 8.46875 43.5 8.484375 43.515625 L 8.539062 43.546875 L 8.59375 43.59375 C 8.59375 43.59375 8.59375 43.59375 8.609375 43.59375 C 8.640625 43.625 8.703125 43.671875 8.75 43.6875 C 8.765625 43.6875 8.765625 43.6875 8.78125 43.703125 C 8.8125 43.703125 8.84375 43.71875 8.890625 43.734375 L 8.9375 43.734375 L 9.015625 43.746094 L 9.09375 43.75 C 9.140625 43.75 9.1875 43.75 9.234375 43.734375 Z M 27.21875 43.75 C 27.671875 43.75 28.078125 43.359375 28.078125 42.890625 C 28.078125 42.40625 27.671875 42.015625 27.21875 42.015625 L 22.984375 42.015625 L 22.984375 39.140625 L 26.625 39.140625 C 27.09375 39.140625 27.484375 38.75 27.484375 38.265625 C 27.484375 37.8125 27.09375 37.40625 26.625 37.40625 L 22.984375 37.40625 L 22.984375 34.546875 L 27.21875 34.546875 C 27.671875 34.546875 28.078125 34.15625 28.078125 33.671875 C 28.078125 33.1875 27.671875 32.8125 27.21875 32.8125 L 22.109375 32.8125 C 21.625 32.8125 21.25 33.1875 21.25 33.671875 L 21.25 42.890625 C 21.25 43.359375 21.625 43.75 22.109375 43.75 L 22.125 43.734375 C 22.125 43.734375 22.125 43.75 22.15625 43.75 Z M 33.578125 43.75 C 35.421875 43.75 36.921875 42.25 36.921875 40.390625 C 36.921875 39.203125 36.28125 38.15625 35.34375 37.5625 C 35.71875 37.0625 35.9375 36.453125 35.9375 35.78125 C 35.9375 34.140625 34.609375 32.8125 32.96875 32.8125 L 30.75 32.8125 C 30.28125 32.8125 29.890625 33.1875 29.890625 33.671875 L 29.890625 42.890625 C 29.890625 43.359375 30.28125 43.75 30.75 43.75 C 30.765625 43.75 30.765625 43.734375 30.796875 43.734375 C 30.796875 43.734375 30.796875 43.75 30.8125 43.75 Z M 32.96875 37.046875 L 31.625 37.046875 L 31.625 34.546875 L 32.96875 34.546875 C 33.65625 34.546875 34.203125 35.09375 34.203125 35.78125 C 34.203125 36.46875 33.65625 37.046875 32.96875 37.046875 Z M 33.578125 42.015625 L 31.625 42.015625 L 31.625 38.78125 L 33.578125 38.78125 C 34.46875 38.796875 35.1875 39.5 35.1875 40.390625 C 35.1875 41.296875 34.46875 42 33.578125 42.015625 Z M 40.03125 43.75 C 40.515625 43.75 40.90625 43.359375 40.90625 42.890625 L 40.90625 39.5 L 42.828125 39.5 C 44.6875 39.5 46.1875 38 46.1875 36.171875 C 46.1875 34.3125 44.6875 32.8125 42.828125 32.8125 L 40.03125 32.8125 C 39.5625 32.8125 39.171875 33.1875 39.171875 33.671875 L 39.171875 42.890625 C 39.171875 43.359375 39.5625 43.75 40.03125 43.75 Z M 42.828125 37.765625 L 40.90625 37.765625 L 40.90625 34.546875 L 42.828125 34.546875 C 43.734375 34.546875 44.4375 35.265625 44.453125 36.171875 C 44.4375 37.046875 43.734375 37.765625 42.828125 37.765625 Z M 42.828125 37.765625 \"/>\\n      </g>'},wmvIcon:{extension:\".wmv\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 8.484375 43.734375 L 8.53125 43.734375 C 8.5625 43.71875 8.59375 43.703125 8.65625 43.703125 L 8.664062 43.6875 C 8.671875 43.6875 8.671875 43.6875 8.6875 43.6875 C 8.71875 43.671875 8.765625 43.625 8.8125 43.59375 L 8.84375 43.59375 C 8.875 43.5625 8.90625 43.53125 8.9375 43.515625 C 8.9375 43.5 8.953125 43.5 8.953125 43.46875 L 9.046875 43.375 C 9.046875 43.375 9.046875 43.359375 9.0625 43.359375 C 9.078125 43.328125 9.109375 43.265625 9.125 43.21875 L 11.171875 38.375 L 13.21875 43.21875 C 13.234375 43.265625 13.25 43.328125 13.28125 43.359375 C 13.28125 43.359375 13.28125 43.375 13.3125 43.375 L 13.375 43.46875 C 13.390625 43.5 13.390625 43.5 13.40625 43.515625 L 13.453125 43.546875 L 13.515625 43.59375 C 13.515625 43.59375 13.515625 43.59375 13.53125 43.59375 C 13.5625 43.625 13.609375 43.671875 13.671875 43.6875 C 13.6875 43.6875 13.6875 43.6875 13.703125 43.703125 C 13.734375 43.703125 13.765625 43.71875 13.8125 43.734375 L 13.859375 43.734375 L 13.929688 43.746094 L 14 43.75 C 14.0625 43.75 14.109375 43.75 14.15625 43.734375 L 14.1875 43.734375 C 14.234375 43.71875 14.28125 43.703125 14.3125 43.703125 C 14.3125 43.6875 14.328125 43.6875 14.328125 43.6875 L 14.34375 43.6875 C 14.40625 43.671875 14.4375 43.625 14.484375 43.59375 L 14.5 43.59375 C 14.53125 43.5625 14.578125 43.53125 14.609375 43.515625 C 14.609375 43.5 14.625 43.5 14.625 43.46875 C 14.65625 43.4375 14.6875 43.40625 14.703125 43.375 L 14.71875 43.359375 C 14.75 43.328125 14.78125 43.265625 14.796875 43.21875 L 18.625 34.109375 C 18.8125 33.6875 18.609375 33.171875 18.1875 33 C 17.734375 32.8125 17.234375 33.015625 17.046875 33.453125 L 14 40.6875 L 11.984375 35.890625 C 11.828125 35.546875 11.5 35.359375 11.171875 35.359375 C 10.828125 35.359375 10.5 35.546875 10.359375 35.890625 L 8.34375 40.6875 L 5.28125 33.453125 C 5.109375 33.015625 4.59375 32.8125 4.171875 33 C 3.71875 33.171875 3.53125 33.6875 3.703125 34.109375 L 7.546875 43.21875 C 7.578125 43.265625 7.59375 43.328125 7.625 43.359375 L 7.625 43.375 C 7.65625 43.40625 7.671875 43.4375 7.703125 43.46875 C 7.71875 43.5 7.71875 43.5 7.734375 43.515625 L 7.789062 43.546875 L 7.84375 43.59375 C 7.84375 43.59375 7.84375 43.59375 7.859375 43.59375 C 7.890625 43.625 7.953125 43.671875 8 43.6875 C 8.015625 43.6875 8.015625 43.6875 8.03125 43.703125 C 8.0625 43.703125 8.09375 43.71875 8.140625 43.734375 L 8.1875 43.734375 L 8.265625 43.746094 L 8.34375 43.75 C 8.390625 43.75 8.4375 43.75 8.484375 43.734375 Z M 29.03125 43.75 C 29.5 43.75 29.90625 43.359375 29.90625 42.890625 L 29.90625 33.671875 C 29.90625 33.269531 29.609375 32.9375 29.226562 32.839844 L 29.03125 32.8125 L 29.015625 32.8125 C 28.734375 32.8125 28.484375 32.9375 28.3125 33.171875 L 25.203125 37.484375 L 22.09375 33.171875 C 21.9375 32.9375 21.65625 32.8125 21.40625 32.8125 L 21.359375 32.8125 C 20.890625 32.8125 20.5 33.203125 20.5 33.671875 L 20.5 42.890625 C 20.5 43.359375 20.890625 43.75 21.359375 43.75 C 21.84375 43.75 22.234375 43.359375 22.234375 42.890625 L 22.234375 36.3125 L 24.46875 39.4375 C 24.640625 39.671875 24.90625 39.796875 25.1875 39.796875 L 25.21875 39.796875 C 25.5 39.796875 25.75 39.671875 25.921875 39.4375 L 28.171875 36.3125 L 28.171875 42.890625 C 28.171875 43.359375 28.546875 43.75 29.03125 43.75 Z M 37.015625 43.734375 L 37.0625 43.734375 C 37.09375 43.71875 37.125 43.703125 37.1875 43.703125 L 37.195312 43.6875 C 37.203125 43.6875 37.203125 43.6875 37.21875 43.6875 C 37.25 43.671875 37.296875 43.625 37.34375 43.59375 L 37.375 43.59375 C 37.40625 43.5625 37.4375 43.53125 37.46875 43.515625 C 37.46875 43.5 37.484375 43.5 37.484375 43.46875 L 37.578125 43.375 C 37.578125 43.375 37.578125 43.359375 37.59375 43.359375 C 37.609375 43.328125 37.640625 43.265625 37.65625 43.21875 L 39.703125 38.375 L 41.75 43.21875 C 41.765625 43.265625 41.78125 43.328125 41.8125 43.359375 C 41.8125 43.359375 41.8125 43.375 41.84375 43.375 L 41.90625 43.46875 C 41.921875 43.5 41.921875 43.5 41.9375 43.515625 L 41.984375 43.546875 L 42.046875 43.59375 C 42.046875 43.59375 42.046875 43.59375 42.0625 43.59375 C 42.09375 43.625 42.140625 43.671875 42.203125 43.6875 C 42.21875 43.6875 42.21875 43.6875 42.234375 43.703125 C 42.265625 43.703125 42.296875 43.71875 42.34375 43.734375 L 42.390625 43.734375 L 42.460938 43.746094 L 42.53125 43.75 C 42.59375 43.75 42.640625 43.75 42.6875 43.734375 L 42.71875 43.734375 C 42.765625 43.71875 42.8125 43.703125 42.84375 43.703125 C 42.84375 43.6875 42.859375 43.6875 42.859375 43.6875 L 42.875 43.6875 C 42.9375 43.671875 42.96875 43.625 43.015625 43.59375 L 43.03125 43.59375 C 43.0625 43.5625 43.109375 43.53125 43.140625 43.515625 C 43.140625 43.5 43.15625 43.5 43.15625 43.46875 C 43.1875 43.4375 43.21875 43.40625 43.234375 43.375 L 43.25 43.359375 C 43.28125 43.328125 43.3125 43.265625 43.328125 43.21875 L 47.15625 34.109375 C 47.34375 33.6875 47.140625 33.171875 46.71875 33 C 46.265625 32.8125 45.765625 33.015625 45.578125 33.453125 L 42.53125 40.6875 L 40.515625 35.890625 C 40.359375 35.546875 40.03125 35.359375 39.703125 35.359375 C 39.359375 35.359375 39.03125 35.546875 38.890625 35.890625 L 36.875 40.6875 L 33.8125 33.453125 C 33.640625 33.015625 33.125 32.8125 32.703125 33 C 32.25 33.171875 32.0625 33.6875 32.234375 34.109375 L 36.078125 43.21875 C 36.109375 43.265625 36.125 43.328125 36.15625 43.359375 L 36.15625 43.375 C 36.1875 43.40625 36.203125 43.4375 36.234375 43.46875 C 36.25 43.5 36.25 43.5 36.265625 43.515625 L 36.320312 43.546875 L 36.375 43.59375 C 36.375 43.59375 36.375 43.59375 36.390625 43.59375 C 36.421875 43.625 36.484375 43.671875 36.53125 43.6875 C 36.546875 43.6875 36.546875 43.6875 36.5625 43.703125 C 36.59375 43.703125 36.625 43.71875 36.671875 43.734375 L 36.71875 43.734375 L 36.796875 43.746094 L 36.875 43.75 C 36.921875 43.75 36.96875 43.75 37.015625 43.734375 Z M 37.015625 43.734375 \"/>\\n      </g>'},xlsIcon:{extension:\".xls\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 17.21875 46.875 C 17.425781 46.875 17.632812 46.800781 17.820312 46.667969 C 18.289062 46.351562 18.363281 45.695312 18.042969 45.242188 L 14.480469 40.367188 L 18.042969 35.53125 C 18.363281 35.0625 18.289062 34.425781 17.820312 34.105469 C 17.351562 33.75 16.730469 33.84375 16.375 34.332031 L 13.226562 38.644531 L 10.054688 34.332031 C 9.738281 33.84375 9.082031 33.75 8.632812 34.105469 C 8.164062 34.425781 8.070312 35.0625 8.386719 35.53125 L 11.949219 40.367188 L 8.386719 45.242188 C 8.070312 45.695312 8.164062 46.351562 8.632812 46.667969 C 8.800781 46.800781 9.007812 46.875 9.230469 46.875 C 9.550781 46.875 9.851562 46.707031 10.054688 46.445312 L 13.226562 42.113281 L 16.375 46.445312 C 16.582031 46.707031 16.882812 46.875 17.21875 46.875 Z M 29.351562 46.875 C 29.894531 46.875 30.382812 46.40625 30.382812 45.84375 C 30.382812 45.261719 29.894531 44.792969 29.351562 44.792969 L 24.269531 44.792969 L 24.269531 34.78125 C 24.269531 34.21875 23.800781 33.75 23.21875 33.75 C 22.636719 33.75 22.1875 34.21875 22.1875 34.78125 L 22.1875 45.84375 C 22.1875 46.335938 22.53125 46.757812 23.007812 46.855469 L 23.222656 46.875 Z M 37.28125 46.855469 C 38.613281 46.855469 39.832031 46.460938 40.75 45.789062 C 41.6875 45.113281 42.363281 44.082031 42.363281 42.882812 C 42.363281 42.300781 42.195312 41.738281 41.914062 41.289062 C 41.480469 40.59375 40.804688 40.105469 40.039062 39.730469 C 39.289062 39.375 38.40625 39.132812 37.449219 38.945312 L 37.414062 38.945312 C 36.398438 38.757812 35.554688 38.457031 35.070312 38.117188 C 34.824219 37.949219 34.65625 37.78125 34.5625 37.632812 C 34.46875 37.480469 34.429688 37.332031 34.429688 37.105469 C 34.429688 36.710938 34.636719 36.300781 35.144531 35.925781 C 35.648438 35.550781 36.398438 35.289062 37.242188 35.289062 C 38.386719 35.289062 39.304688 35.851562 40.261719 36.488281 C 40.710938 36.789062 41.3125 36.65625 41.59375 36.207031 C 41.894531 35.773438 41.761719 35.175781 41.332031 34.875 C 40.375 34.257812 39.042969 33.375 37.242188 33.375 C 36.023438 33.375 34.882812 33.730469 34 34.367188 C 33.136719 35.007812 32.5 35.980469 32.5 37.105469 C 32.5 37.667969 32.648438 38.195312 32.929688 38.644531 C 33.34375 39.300781 33.960938 39.769531 34.675781 40.105469 C 35.386719 40.445312 36.210938 40.667969 37.09375 40.835938 L 37.132812 40.835938 C 38.238281 41.042969 39.15625 41.363281 39.699219 41.71875 C 39.980469 41.90625 40.148438 42.09375 40.261719 42.28125 C 40.375 42.46875 40.429688 42.636719 40.429688 42.882812 C 40.429688 43.351562 40.1875 43.820312 39.625 44.230469 C 39.0625 44.644531 38.21875 44.925781 37.28125 44.925781 C 35.949219 44.945312 34.523438 44.15625 33.699219 43.480469 C 33.289062 43.144531 32.667969 43.199219 32.332031 43.613281 C 32.011719 44.023438 32.070312 44.644531 32.480469 44.980469 C 33.550781 45.824219 35.257812 46.835938 37.28125 46.855469 Z M 37.28125 46.855469 \"/>\\n      </g>'},xlsxIcon:{extension:\".xlsx\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 13.070312 43.75 C 13.242188 43.75 13.414062 43.6875 13.570312 43.578125 C 13.960938 43.3125 14.023438 42.765625 13.757812 42.390625 L 10.789062 38.328125 L 13.757812 34.296875 C 14.023438 33.90625 13.960938 33.375 13.570312 33.109375 C 13.179688 32.8125 12.664062 32.890625 12.367188 33.296875 L 9.742188 36.890625 L 7.101562 33.296875 C 6.835938 32.890625 6.289062 32.8125 5.914062 33.109375 C 5.523438 33.375 5.445312 33.90625 5.710938 34.296875 L 8.679688 38.328125 L 5.710938 42.390625 C 5.445312 42.765625 5.523438 43.3125 5.914062 43.578125 C 6.054688 43.6875 6.226562 43.75 6.414062 43.75 C 6.679688 43.75 6.929688 43.609375 7.101562 43.390625 L 9.742188 39.78125 L 12.367188 43.390625 C 12.539062 43.609375 12.789062 43.75 13.070312 43.75 Z M 23.179688 43.75 C 23.632812 43.75 24.039062 43.359375 24.039062 42.890625 C 24.039062 42.40625 23.632812 42.015625 23.179688 42.015625 L 18.945312 42.015625 L 18.945312 33.671875 C 18.945312 33.203125 18.554688 32.8125 18.070312 32.8125 C 17.585938 32.8125 17.210938 33.203125 17.210938 33.671875 L 17.210938 42.890625 C 17.210938 43.359375 17.585938 43.75 18.070312 43.75 Z M 29.789062 43.734375 C 30.898438 43.734375 31.914062 43.40625 32.679688 42.84375 C 33.460938 42.28125 34.023438 41.421875 34.023438 40.421875 C 34.023438 39.9375 33.882812 39.46875 33.648438 39.09375 C 33.289062 38.515625 32.726562 38.109375 32.085938 37.796875 C 31.460938 37.5 30.726562 37.296875 29.929688 37.140625 L 29.898438 37.140625 C 29.054688 36.984375 28.351562 36.734375 27.945312 36.453125 C 27.742188 36.3125 27.601562 36.171875 27.523438 36.046875 C 27.445312 35.921875 27.414062 35.796875 27.414062 35.609375 C 27.414062 35.28125 27.585938 34.9375 28.007812 34.625 C 28.429688 34.3125 29.054688 34.09375 29.757812 34.09375 C 30.710938 34.09375 31.476562 34.5625 32.273438 35.09375 C 32.648438 35.34375 33.148438 35.234375 33.382812 34.859375 C 33.632812 34.5 33.523438 34 33.164062 33.75 C 32.367188 33.234375 31.257812 32.5 29.757812 32.5 C 28.742188 32.5 27.789062 32.796875 27.054688 33.328125 C 26.335938 33.859375 25.804688 34.671875 25.804688 35.609375 C 25.804688 36.078125 25.929688 36.515625 26.164062 36.890625 C 26.507812 37.4375 27.023438 37.828125 27.617188 38.109375 C 28.210938 38.390625 28.898438 38.578125 29.632812 38.71875 L 29.664062 38.71875 C 30.585938 38.890625 31.351562 39.15625 31.804688 39.453125 C 32.039062 39.609375 32.179688 39.765625 32.273438 39.921875 C 32.367188 40.078125 32.414062 40.21875 32.414062 40.421875 C 32.414062 40.8125 32.210938 41.203125 31.742188 41.546875 C 31.273438 41.890625 30.570312 42.125 29.789062 42.125 C 28.679688 42.140625 27.492188 41.484375 26.804688 40.921875 C 26.460938 40.640625 25.945312 40.6875 25.664062 41.03125 C 25.398438 41.375 25.445312 41.890625 25.789062 42.171875 C 26.679688 42.875 28.101562 43.71875 29.789062 43.734375 Z M 43.179688 43.75 C 43.351562 43.75 43.523438 43.6875 43.679688 43.578125 C 44.070312 43.3125 44.132812 42.765625 43.867188 42.390625 L 40.898438 38.328125 L 43.867188 34.296875 C 44.132812 33.90625 44.070312 33.375 43.679688 33.109375 C 43.289062 32.8125 42.773438 32.890625 42.476562 33.296875 L 39.851562 36.890625 L 37.210938 33.296875 C 36.945312 32.890625 36.398438 32.8125 36.023438 33.109375 C 35.632812 33.375 35.554688 33.90625 35.820312 34.296875 L 38.789062 38.328125 L 35.820312 42.390625 C 35.554688 42.765625 35.632812 43.3125 36.023438 43.578125 C 36.164062 43.6875 36.335938 43.75 36.523438 43.75 C 36.789062 43.75 37.039062 43.609375 37.210938 43.390625 L 39.851562 39.78125 L 42.476562 43.390625 C 42.648438 43.609375 42.898438 43.75 43.179688 43.75 Z M 43.179688 43.75 \"/>\\n      </g>'},zipIcon:{extension:\".zip\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 20.175781 46.875 C 20.855469 46.875 21.402344 46.351562 21.402344 45.671875 C 21.402344 44.992188 20.855469 44.445312 20.175781 44.445312 L 13.132812 44.445312 L 21.183594 33.488281 L 21.183594 33.445312 C 21.203125 33.421875 21.226562 33.378906 21.25 33.335938 C 21.269531 33.3125 21.269531 33.289062 21.292969 33.269531 C 21.3125 33.203125 21.3125 33.179688 21.335938 33.136719 C 21.335938 33.09375 21.378906 33.070312 21.378906 33.007812 C 21.378906 32.984375 21.378906 32.960938 21.402344 32.917969 L 21.402344 32.679688 C 21.402344 32.632812 21.402344 32.613281 21.378906 32.546875 C 21.378906 32.503906 21.378906 32.480469 21.335938 32.4375 C 21.335938 32.414062 21.3125 32.371094 21.3125 32.304688 C 21.292969 32.285156 21.269531 32.242188 21.269531 32.21875 C 21.25 32.195312 21.226562 32.152344 21.203125 32.109375 C 21.183594 32.066406 21.160156 32.042969 21.117188 32.023438 C 21.09375 32 21.074219 31.957031 21.050781 31.933594 C 21.03125 31.914062 21.007812 31.867188 20.964844 31.847656 C 20.941406 31.824219 20.941406 31.804688 20.898438 31.78125 L 20.875 31.78125 C 20.832031 31.757812 20.8125 31.738281 20.765625 31.714844 C 20.746094 31.695312 20.722656 31.648438 20.65625 31.648438 L 20.570312 31.605469 L 20.4375 31.585938 C 20.417969 31.585938 20.375 31.5625 20.351562 31.5625 L 10.75 31.5625 C 10.070312 31.5625 9.546875 32.085938 9.546875 32.765625 C 9.546875 33.421875 10.070312 33.992188 10.75 33.992188 L 17.8125 33.992188 L 9.785156 44.972656 L 9.765625 44.972656 C 9.742188 45.015625 9.71875 45.058594 9.699219 45.082031 C 9.699219 45.101562 9.675781 45.148438 9.632812 45.167969 C 9.632812 45.210938 9.609375 45.257812 9.609375 45.277344 C 9.589844 45.320312 9.589844 45.367188 9.566406 45.386719 L 9.566406 45.496094 C 9.546875 45.539062 9.546875 45.585938 9.546875 45.648438 L 9.546875 45.738281 C 9.546875 45.78125 9.566406 45.824219 9.566406 45.890625 C 9.566406 45.933594 9.589844 45.957031 9.589844 45.976562 L 9.632812 46.109375 C 9.632812 46.152344 9.675781 46.175781 9.699219 46.21875 C 9.699219 46.242188 9.71875 46.261719 9.742188 46.328125 C 9.765625 46.351562 9.785156 46.394531 9.808594 46.414062 C 9.828125 46.4375 9.851562 46.460938 9.894531 46.480469 L 9.9375 46.542969 L 9.984375 46.589844 C 10.003906 46.613281 10.027344 46.632812 10.046875 46.632812 L 10.046875 46.65625 C 10.070312 46.679688 10.09375 46.679688 10.136719 46.699219 C 10.179688 46.722656 10.222656 46.742188 10.246094 46.742188 C 10.265625 46.789062 10.289062 46.789062 10.3125 46.808594 C 10.375 46.808594 10.421875 46.832031 10.464844 46.832031 C 10.484375 46.851562 10.507812 46.851562 10.53125 46.851562 L 10.648438 46.871094 Z M 26.214844 46.875 C 26.871094 46.875 27.4375 46.351562 27.4375 45.671875 L 27.4375 32.765625 C 27.4375 32.085938 26.871094 31.5625 26.214844 31.5625 C 25.535156 31.5625 25.011719 32.085938 25.011719 32.765625 L 25.011719 45.671875 C 25.011719 46.351562 25.535156 46.875 26.214844 46.875 Z M 32.734375 46.875 C 33.410156 46.875 33.957031 46.328125 33.957031 45.671875 L 33.957031 40.925781 L 36.648438 40.925781 C 39.25 40.925781 41.351562 38.824219 41.351562 36.265625 C 41.351562 33.664062 39.25 31.5625 36.648438 31.5625 L 32.734375 31.5625 C 32.078125 31.5625 31.53125 32.085938 31.53125 32.765625 L 31.53125 45.671875 C 31.53125 46.328125 32.078125 46.875 32.734375 46.875 Z M 36.648438 38.496094 L 33.957031 38.496094 L 33.957031 33.992188 L 36.648438 33.992188 C 37.917969 33.992188 38.902344 34.996094 38.921875 36.265625 C 38.902344 37.492188 37.917969 38.496094 36.648438 38.496094 Z M 36.648438 38.496094 \"/>\\n      </g>'},docxIcon:{extension:\".docx\",path:'<g id=\"surface9\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 7.789062 43.75 C 9.589844 43.75 10.988281 43.269531 11.984375 42.304688 C 12.980469 41.339844 13.476562 39.984375 13.476562 38.234375 C 13.476562 36.496094 12.980469 35.144531 11.984375 34.179688 C 10.988281 33.214844 9.589844 32.734375 7.789062 32.734375 L 4.695312 32.734375 C 4.394531 32.734375 4.15625 32.816406 3.984375 32.984375 C 3.8125 33.152344 3.726562 33.386719 3.726562 33.6875 L 3.726562 42.796875 C 3.726562 43.097656 3.8125 43.332031 3.984375 43.5 C 4.15625 43.667969 4.394531 43.75 4.695312 43.75 Z M 7.664062 42.109375 L 5.742188 42.109375 L 5.742188 34.375 L 7.664062 34.375 C 10.195312 34.375 11.460938 35.660156 11.460938 38.234375 C 11.460938 40.816406 10.195312 42.109375 7.664062 42.109375 Z M 20.414062 43.890625 C 21.476562 43.890625 22.402344 43.660156 23.1875 43.203125 C 23.972656 42.746094 24.582031 42.089844 25.007812 41.234375 C 25.433594 40.378906 25.648438 39.378906 25.648438 38.234375 C 25.648438 37.089844 25.4375 36.089844 25.015625 35.242188 C 24.59375 34.394531 23.988281 33.738281 23.203125 33.28125 C 22.417969 32.824219 21.488281 32.59375 20.414062 32.59375 C 19.339844 32.59375 18.410156 32.824219 17.617188 33.28125 C 16.824219 33.738281 16.21875 34.394531 15.796875 35.242188 C 15.375 36.089844 15.164062 37.089844 15.164062 38.234375 C 15.164062 39.378906 15.378906 40.378906 15.804688 41.234375 C 16.230469 42.089844 16.839844 42.746094 17.625 43.203125 C 18.410156 43.660156 19.339844 43.890625 20.414062 43.890625 Z M 20.414062 42.28125 C 19.394531 42.28125 18.597656 41.933594 18.03125 41.234375 C 17.464844 40.535156 17.179688 39.535156 17.179688 38.234375 C 17.179688 36.933594 17.464844 35.933594 18.03125 35.242188 C 18.597656 34.550781 19.394531 34.203125 20.414062 34.203125 C 21.425781 34.203125 22.214844 34.550781 22.78125 35.242188 C 23.347656 35.933594 23.632812 36.933594 23.632812 38.234375 C 23.632812 39.535156 23.347656 40.535156 22.78125 41.234375 C 22.214844 41.933594 21.425781 42.28125 20.414062 42.28125 Z M 32.601562 43.890625 C 33.289062 43.890625 33.933594 43.789062 34.539062 43.585938 C 35.144531 43.382812 35.679688 43.089844 36.148438 42.703125 C 36.285156 42.597656 36.378906 42.488281 36.429688 42.367188 C 36.480469 42.246094 36.507812 42.109375 36.507812 41.953125 C 36.507812 41.722656 36.445312 41.53125 36.320312 41.375 C 36.195312 41.21875 36.042969 41.140625 35.867188 41.140625 C 35.753906 41.140625 35.644531 41.160156 35.539062 41.203125 C 35.433594 41.246094 35.332031 41.296875 35.226562 41.359375 C 34.746094 41.683594 34.316406 41.910156 33.9375 42.046875 C 33.558594 42.183594 33.144531 42.25 32.695312 42.25 C 31.613281 42.25 30.792969 41.910156 30.234375 41.234375 C 29.675781 40.558594 29.398438 39.558594 29.398438 38.234375 C 29.398438 36.921875 29.675781 35.925781 30.234375 35.25 C 30.792969 34.574219 31.613281 34.234375 32.695312 34.234375 C 33.164062 34.234375 33.589844 34.300781 33.976562 34.429688 C 34.363281 34.558594 34.777344 34.792969 35.226562 35.125 C 35.445312 35.269531 35.660156 35.34375 35.867188 35.34375 C 36.042969 35.34375 36.195312 35.265625 36.320312 35.109375 C 36.445312 34.953125 36.507812 34.761719 36.507812 34.53125 C 36.507812 34.363281 36.480469 34.222656 36.429688 34.109375 C 36.378906 33.996094 36.285156 33.886719 36.148438 33.78125 C 35.679688 33.394531 35.144531 33.101562 34.539062 32.898438 C 33.933594 32.695312 33.289062 32.59375 32.601562 32.59375 C 31.539062 32.59375 30.609375 32.824219 29.8125 33.28125 C 29.015625 33.738281 28.402344 34.394531 27.976562 35.242188 C 27.550781 36.089844 27.335938 37.089844 27.335938 38.234375 C 27.335938 39.378906 27.550781 40.378906 27.976562 41.234375 C 28.402344 42.089844 29.015625 42.746094 29.8125 43.203125 C 30.609375 43.660156 31.539062 43.890625 32.601562 43.890625 Z M 46.132812 43.84375 C 46.382812 43.84375 46.605469 43.75 46.796875 43.5625 C 46.988281 43.375 47.085938 43.15625 47.085938 42.90625 C 47.085938 42.707031 47.003906 42.511719 46.835938 42.3125 L 43.445312 38.15625 L 46.710938 34.171875 C 46.867188 34.003906 46.945312 33.808594 46.945312 33.578125 C 46.945312 33.328125 46.847656 33.113281 46.65625 32.929688 C 46.464844 32.746094 46.242188 32.65625 45.992188 32.65625 C 45.730469 32.65625 45.507812 32.769531 45.320312 33 L 42.273438 36.765625 L 39.226562 33 C 39.027344 32.769531 38.800781 32.65625 38.539062 32.65625 C 38.289062 32.65625 38.070312 32.746094 37.882812 32.929688 C 37.695312 33.113281 37.601562 33.328125 37.601562 33.578125 C 37.601562 33.808594 37.679688 34.003906 37.835938 34.171875 L 41.101562 38.15625 L 37.695312 42.3125 C 37.539062 42.5 37.460938 42.699219 37.460938 42.90625 C 37.460938 43.15625 37.558594 43.371094 37.75 43.554688 C 37.941406 43.738281 38.164062 43.828125 38.414062 43.828125 C 38.675781 43.828125 38.898438 43.71875 39.085938 43.5 L 42.273438 39.5625 L 45.445312 43.5 C 45.644531 43.730469 45.871094 43.84375 46.132812 43.84375 Z M 46.132812 43.84375 \"/>\\n      </g>'},jpgIcon:{extension:\".jpg\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 8.789062 47.007812 L 9.488281 46.960938 C 12.214844 46.757812 13.578125 45.277344 13.578125 42.523438 L 13.578125 32.742188 C 13.578125 32.320312 13.453125 31.980469 13.195312 31.726562 C 12.941406 31.472656 12.59375 31.34375 12.15625 31.34375 C 11.734375 31.34375 11.394531 31.472656 11.140625 31.726562 C 10.886719 31.980469 10.757812 32.320312 10.757812 32.742188 L 10.757812 42.523438 C 10.757812 43.238281 10.605469 43.769531 10.296875 44.117188 C 9.992188 44.46875 9.539062 44.660156 8.941406 44.6875 L 8.242188 44.730469 C 7.847656 44.761719 7.558594 44.867188 7.378906 45.046875 C 7.195312 45.230469 7.105469 45.496094 7.105469 45.847656 C 7.105469 46.664062 7.667969 47.050781 8.789062 47.007812 Z M 18.304688 47.007812 C 18.742188 47.007812 19.089844 46.878906 19.34375 46.625 C 19.597656 46.367188 19.726562 46.023438 19.726562 45.585938 L 19.726562 40.882812 L 23.640625 40.882812 C 25.289062 40.882812 26.574219 40.464844 27.492188 39.632812 C 28.410156 38.804688 28.871094 37.644531 28.871094 36.15625 C 28.871094 34.667969 28.410156 33.511719 27.492188 32.6875 C 26.574219 31.863281 25.289062 31.453125 23.640625 31.453125 L 18.261719 31.453125 C 17.839844 31.453125 17.507812 31.570312 17.265625 31.804688 C 17.023438 32.035156 16.90625 32.363281 16.90625 32.789062 L 16.90625 45.585938 C 16.90625 46.023438 17.03125 46.367188 17.289062 46.625 C 17.542969 46.878906 17.882812 47.007812 18.304688 47.007812 Z M 23.292969 38.714844 L 19.726562 38.714844 L 19.726562 33.640625 L 23.292969 33.640625 C 25.230469 33.640625 26.203125 34.488281 26.203125 36.179688 C 26.203125 37.871094 25.230469 38.714844 23.292969 38.714844 Z M 38.605469 47.070312 C 39.320312 47.070312 40.0625 47.011719 40.835938 46.898438 C 41.609375 46.78125 42.285156 46.621094 42.871094 46.414062 C 43.410156 46.242188 43.765625 46.015625 43.941406 45.738281 C 44.117188 45.460938 44.203125 44.988281 44.203125 44.316406 L 44.203125 39.613281 C 44.203125 39.292969 44.101562 39.03125 43.898438 38.835938 C 43.695312 38.640625 43.425781 38.539062 43.089844 38.539062 L 39.21875 38.539062 C 38.867188 38.539062 38.59375 38.628906 38.398438 38.804688 C 38.199219 38.976562 38.101562 39.226562 38.101562 39.546875 C 38.101562 39.867188 38.199219 40.117188 38.398438 40.289062 C 38.59375 40.464844 38.867188 40.554688 39.21875 40.554688 L 41.6875 40.554688 L 41.6875 44.425781 C 40.699219 44.703125 39.707031 44.839844 38.714844 44.839844 C 35.390625 44.839844 33.726562 42.945312 33.726562 39.152344 C 33.726562 37.300781 34.132812 35.90625 34.941406 34.964844 C 35.75 34.023438 36.949219 33.554688 38.539062 33.554688 C 39.238281 33.554688 39.867188 33.644531 40.421875 33.828125 C 40.972656 34.007812 41.574219 34.324219 42.214844 34.777344 C 42.390625 34.894531 42.542969 34.980469 42.671875 35.03125 C 42.804688 35.082031 42.949219 35.105469 43.109375 35.105469 C 43.359375 35.105469 43.570312 34.996094 43.746094 34.777344 C 43.921875 34.558594 44.007812 34.289062 44.007812 33.96875 C 44.007812 33.75 43.96875 33.558594 43.886719 33.398438 C 43.808594 33.238281 43.679688 33.078125 43.503906 32.917969 C 42.191406 31.808594 40.507812 31.257812 38.453125 31.257812 C 36.90625 31.257812 35.5625 31.574219 34.425781 32.207031 C 33.289062 32.84375 32.410156 33.753906 31.789062 34.941406 C 31.171875 36.128906 30.859375 37.535156 30.859375 39.152344 C 30.859375 40.800781 31.171875 42.21875 31.789062 43.40625 C 32.410156 44.597656 33.304688 45.503906 34.46875 46.132812 C 35.636719 46.757812 37.015625 47.070312 38.605469 47.070312 Z M 38.605469 47.070312 \"/>\\n      </g>'},mp3Icon:{extension:\".mp3\",path:'<g id=\"surface9\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 43.828125 43.710938 C 43.605469 44.28125 43.273438 44.804688 42.84375 45.265625 C 42.40625 45.730469 41.867188 46.113281 41.242188 46.398438 C 40.597656 46.699219 39.851562 46.855469 39.027344 46.855469 C 38.328125 46.855469 37.703125 46.757812 37.160156 46.570312 C 36.609375 46.378906 36.160156 46.136719 35.769531 45.839844 C 35.386719 45.550781 35.050781 45.210938 34.796875 44.832031 C 34.570312 44.507812 34.394531 44.195312 34.265625 43.890625 C 34.140625 43.59375 34.054688 43.335938 33.996094 43.101562 C 33.792969 42.261719 34.304688 41.417969 35.140625 41.210938 C 35.980469 41.007812 36.828125 41.519531 37.03125 42.355469 C 37.039062 42.390625 37.066406 42.488281 37.144531 42.671875 C 37.191406 42.777344 37.265625 42.914062 37.371094 43.0625 C 37.4375 43.160156 37.53125 43.257812 37.65625 43.351562 C 37.792969 43.453125 37.972656 43.542969 38.195312 43.625 C 38.332031 43.667969 38.59375 43.730469 39.027344 43.730469 C 39.390625 43.730469 39.695312 43.675781 39.925781 43.566406 C 40.1875 43.445312 40.398438 43.300781 40.558594 43.132812 C 40.71875 42.957031 40.839844 42.773438 40.914062 42.578125 C 40.996094 42.371094 41.03125 42.195312 41.03125 42.023438 C 41.03125 41.789062 41 41.585938 40.921875 41.398438 C 40.871094 41.257812 40.785156 41.148438 40.660156 41.039062 C 40.515625 40.910156 40.296875 40.792969 40.011719 40.699219 C 39.6875 40.59375 39.253906 40.539062 38.738281 40.535156 C 37.882812 40.527344 37.1875 39.832031 37.1875 38.972656 L 37.1875 38.832031 C 37.1875 37.984375 37.859375 37.292969 38.699219 37.265625 C 39.070312 37.257812 39.398438 37.195312 39.679688 37.101562 C 39.921875 37.011719 40.121094 36.902344 40.273438 36.773438 C 40.40625 36.652344 40.507812 36.519531 40.582031 36.359375 C 40.652344 36.210938 40.6875 36.027344 40.6875 35.8125 C 40.6875 35.523438 40.644531 35.289062 40.574219 35.125 C 40.5 34.96875 40.414062 34.847656 40.304688 34.757812 C 40.1875 34.660156 40.042969 34.582031 39.867188 34.53125 C 39.402344 34.386719 38.878906 34.398438 38.480469 34.542969 C 38.289062 34.617188 38.121094 34.714844 37.976562 34.84375 C 37.820312 34.984375 37.695312 35.148438 37.59375 35.339844 C 37.484375 35.550781 37.40625 35.773438 37.367188 36.039062 C 37.230469 36.890625 36.429688 37.472656 35.574219 37.335938 C 34.722656 37.195312 34.140625 36.398438 34.28125 35.542969 C 34.378906 34.9375 34.5625 34.378906 34.835938 33.871094 C 35.109375 33.355469 35.464844 32.898438 35.890625 32.519531 C 36.320312 32.132812 36.824219 31.828125 37.382812 31.617188 C 38.433594 31.226562 39.667969 31.199219 40.78125 31.539062 C 41.351562 31.714844 41.863281 31.992188 42.308594 32.355469 C 42.777344 32.753906 43.148438 33.242188 43.414062 33.824219 C 43.679688 34.402344 43.8125 35.070312 43.8125 35.8125 C 43.8125 36.476562 43.679688 37.097656 43.421875 37.660156 C 43.25 38.046875 43.023438 38.394531 42.746094 38.707031 C 43.242188 39.148438 43.609375 39.671875 43.835938 40.261719 C 44.046875 40.804688 44.15625 41.398438 44.15625 42.023438 C 44.15625 42.578125 44.046875 43.148438 43.828125 43.710938 Z M 31.445312 38.492188 C 31.148438 39.140625 30.734375 39.703125 30.199219 40.164062 C 29.6875 40.605469 29.078125 40.957031 28.390625 41.199219 C 27.71875 41.4375 26.976562 41.5625 26.191406 41.5625 L 25 41.5625 L 25 45 C 25 45.859375 24.296875 46.5625 23.4375 46.5625 C 22.578125 46.5625 21.875 45.859375 21.875 45 L 21.875 32.8125 C 21.875 31.945312 22.578125 31.25 23.4375 31.25 L 26.191406 31.25 C 27.890625 31.25 29.257812 31.667969 30.253906 32.5 C 31.339844 33.398438 31.886719 34.714844 31.886719 36.40625 C 31.886719 37.148438 31.738281 37.851562 31.445312 38.492188 Z M 18.730469 45.210938 C 18.730469 46.070312 18.03125 46.773438 17.167969 46.773438 C 16.300781 46.773438 15.605469 46.070312 15.605469 45.210938 L 15.605469 39.28125 L 14.015625 43.140625 C 14.007812 43.164062 13.996094 43.191406 13.984375 43.214844 C 13.71875 43.777344 13.15625 44.117188 12.566406 44.117188 L 12.53125 44.117188 C 11.9375 44.117188 11.375 43.777344 11.109375 43.214844 L 11.082031 43.160156 L 9.339844 39.101562 L 9.339844 45.210938 C 9.339844 46.070312 8.640625 46.773438 7.777344 46.773438 C 6.910156 46.773438 6.214844 46.070312 6.214844 45.210938 L 6.214844 32.824219 C 6.214844 31.960938 6.910156 31.261719 7.777344 31.261719 L 7.835938 31.261719 C 8.472656 31.261719 9.046875 31.617188 9.335938 32.1875 L 12.527344 39.09375 L 15.59375 32.207031 C 15.894531 31.617188 16.46875 31.261719 17.105469 31.261719 L 17.167969 31.261719 C 18.03125 31.261719 18.730469 31.960938 18.730469 32.824219 Z M 41.382812 28.125 L 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.136719 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.136719 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 41.382812 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 28.257812 34.902344 C 27.835938 34.550781 27.140625 34.375 26.191406 34.375 L 25 34.375 L 25 38.4375 L 26.191406 38.4375 C 26.621094 38.4375 27.007812 38.375 27.34375 38.253906 C 27.667969 38.140625 27.929688 37.992188 28.148438 37.804688 C 28.34375 37.632812 28.492188 37.4375 28.601562 37.195312 C 28.710938 36.964844 28.757812 36.703125 28.757812 36.40625 C 28.757812 35.324219 28.382812 35.003906 28.257812 34.902344 \"/>\\n      <path style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(99.607843%,99.607843%,99.607843%);stroke-opacity:1;stroke-miterlimit:4;\" d=\"M 11.34125 13.57875 C 11.345 13.5925 11.3525 13.62375 11.36375 13.67375 C 11.3775 13.7225 11.3975 13.78125 11.42625 13.85 C 11.45375 13.9175 11.49375 13.9875 11.54625 14.0625 C 11.5975 14.13875 11.66625 14.20875 11.75 14.27125 C 11.83375 14.33625 11.9375 14.38875 12.0575 14.43125 C 12.1775 14.4725 12.32 14.49375 12.4875 14.49375 C 12.67875 14.49375 12.845 14.46125 12.9875 14.39375 C 13.13 14.32875 13.24875 14.245 13.34375 14.1425 C 13.43875 14.0425 13.51125 13.93 13.55875 13.8075 C 13.6075 13.6825 13.63125 13.56375 13.63125 13.4475 C 13.63125 13.31125 13.6075 13.1825 13.5625 13.065 C 13.515 12.9475 13.4425 12.845 13.3425 12.7575 C 13.2425 12.67 13.115 12.6 12.96 12.55 C 12.805 12.49875 12.6175 12.4725 12.4 12.4725 L 12.4 12.42625 C 12.57 12.42 12.72375 12.3925 12.8625 12.34375 C 13.0025 12.29625 13.11875 12.2275 13.21625 12.14375 C 13.31375 12.05875 13.3875 11.96 13.44125 11.845 C 13.4925 11.7275 13.52 11.60125 13.52 11.46 C 13.52 11.29375 13.4925 11.1525 13.43875 11.0325 C 13.38375 10.91375 13.31125 10.81625 13.21875 10.74 C 13.1275 10.66375 13.0225 10.6075 12.90375 10.5725 C 12.78625 10.535 12.66375 10.5175 12.5375 10.5175 C 12.395 10.5175 12.26125 10.54 12.14 10.58625 C 12.0175 10.6325 11.91 10.69625 11.81875 10.77875 C 11.72625 10.8625 11.64875 10.96 11.5875 11.07375 C 11.5275 11.18875 11.48625 11.315 11.4625 11.45375 M 7.5 14.4 L 7.5 10.5 L 8.3825 10.5 C 8.8075 10.5 9.13375 10.595 9.3625 10.78375 C 9.59 10.975 9.7025 11.2625 9.7025 11.65 C 9.7025 11.81625 9.6725 11.97125 9.6075 12.11125 C 9.5425 12.2525 9.4525 12.37375 9.335 12.475 C 9.21875 12.5775 9.0775 12.65625 8.9175 12.71375 C 8.75625 12.77125 8.5775 12.8 8.3825 12.8 L 7.6 12.8 M 2.4875 14.4675 L 2.4875 10.50375 L 2.5075 10.50375 C 2.5225 10.50375 2.53375 10.5125 2.5425 10.52625 L 3.9925 13.58625 C 3.99875 13.5975 4.005 13.6075 4.00875 13.6175 M 4.02125 13.6175 C 4.02625 13.6075 4.03125 13.5975 4.0375 13.58625 L 5.44 10.52625 C 5.4475 10.5125 5.45875 10.50375 5.4725 10.50375 L 5.4925 10.50375 L 5.4925 14.4675 \" transform=\"matrix(3.125,0,0,3.125,0,0)\"/>\\n      </g>'},mp4Icon:{extension:\".mp4\",path:'<g id=\"surface6\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 36.898438 40.625 L 40.625 35.480469 L 40.625 40.625 Z M 28.761719 36.40625 C 28.761719 36.703125 28.707031 36.964844 28.605469 37.195312 C 28.496094 37.433594 28.347656 37.632812 28.148438 37.804688 C 27.929688 37.992188 27.667969 38.144531 27.34375 38.257812 C 27.003906 38.375 26.621094 38.4375 26.191406 38.4375 L 25 38.4375 L 25 34.375 L 26.191406 34.375 C 27.140625 34.375 27.835938 34.554688 28.253906 34.902344 C 28.378906 35.007812 28.761719 35.324219 28.761719 36.40625 Z M 44.6875 43.75 L 43.75 43.75 L 43.75 45.3125 C 43.75 46.175781 43.050781 46.875 42.1875 46.875 C 41.324219 46.875 40.625 46.175781 40.625 45.3125 L 40.625 43.75 L 34.066406 43.75 C 33.199219 43.75 32.503906 43.050781 32.503906 42.1875 L 32.503906 41.875 C 32.503906 41.546875 32.605469 41.226562 32.800781 40.957031 L 39.363281 31.898438 C 39.660156 31.492188 40.128906 31.25 40.628906 31.25 L 42.1875 31.25 C 43.050781 31.25 43.75 31.949219 43.75 32.8125 L 43.75 40.625 L 44.6875 40.625 C 45.550781 40.625 46.25 41.324219 46.25 42.1875 C 46.25 43.050781 45.550781 43.75 44.6875 43.75 Z M 31.445312 38.492188 C 31.148438 39.140625 30.730469 39.703125 30.195312 40.167969 C 29.6875 40.605469 29.082031 40.957031 28.390625 41.203125 C 27.71875 41.441406 26.976562 41.5625 26.191406 41.5625 L 25 41.5625 L 25 45 C 25 45.863281 24.300781 46.5625 23.4375 46.5625 C 22.578125 46.5625 21.875 45.863281 21.875 45 L 21.875 32.8125 C 21.875 31.949219 22.578125 31.25 23.4375 31.25 L 26.191406 31.25 C 27.890625 31.25 29.257812 31.671875 30.253906 32.5 C 31.339844 33.398438 31.886719 34.714844 31.886719 36.40625 C 31.886719 37.148438 31.738281 37.851562 31.445312 38.492188 Z M 18.730469 45.210938 C 18.730469 46.070312 18.027344 46.773438 17.167969 46.773438 C 16.300781 46.773438 15.605469 46.070312 15.605469 45.210938 L 15.605469 39.6875 L 14.035156 43.105469 C 14.019531 43.144531 14.003906 43.179688 13.984375 43.214844 C 13.71875 43.78125 13.15625 44.117188 12.566406 44.117188 L 12.53125 44.117188 C 11.941406 44.117188 11.378906 43.78125 11.113281 43.214844 C 11.097656 43.183594 11.078125 43.152344 11.066406 43.125 L 9.339844 39.484375 L 9.339844 45.210938 C 9.339844 46.070312 8.640625 46.773438 7.777344 46.773438 C 6.910156 46.773438 6.214844 46.070312 6.214844 45.210938 L 6.214844 32.824219 C 6.214844 31.960938 6.910156 31.261719 7.777344 31.261719 L 7.835938 31.261719 C 8.472656 31.261719 9.046875 31.617188 9.335938 32.191406 L 9.355469 32.226562 L 12.523438 38.90625 L 15.578125 32.242188 C 15.585938 32.226562 15.597656 32.210938 15.605469 32.191406 C 15.894531 31.617188 16.46875 31.261719 17.105469 31.261719 L 17.164062 31.261719 C 18.027344 31.261719 18.726562 31.960938 18.726562 32.824219 L 18.726562 45.210938 Z M 41.382812 28.125 L 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 41.382812 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface6\" mask=\"url(#mask0)\"/>\\n      <path style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(99.607843%,99.607843%,99.607843%);stroke-opacity:1;stroke-miterlimit:4;\" d=\"M 14.3 13.5 L 10.90125 13.5 L 10.90125 13.4 L 13.00125 10.5 L 13.5 10.5 L 13.5 14.5 M 7.5 14.4 L 7.5 10.5 L 8.3825 10.5 C 8.8075 10.5 9.13375 10.595 9.3625 10.78375 C 9.59 10.975 9.7025 11.2625 9.7025 11.65 C 9.7025 11.81625 9.6725 11.97125 9.6075 12.11125 C 9.5425 12.2525 9.4525 12.37375 9.335 12.47625 C 9.21875 12.5775 9.0775 12.65625 8.9175 12.71375 C 8.75625 12.77125 8.5775 12.8 8.3825 12.8 L 7.6 12.8 M 2.4875 14.4675 L 2.4875 10.50375 L 2.5075 10.50375 C 2.5225 10.50375 2.53375 10.5125 2.5425 10.52625 L 3.9925 13.58625 C 3.99875 13.5975 4.005 13.6075 4.00875 13.6175 M 4.02125 13.6175 C 4.02625 13.6075 4.03125 13.5975 4.0375 13.58625 L 5.44 10.52625 C 5.4475 10.5125 5.45875 10.50375 5.4725 10.50375 L 5.4925 10.50375 L 5.4925 14.4675 \" transform=\"matrix(3.125,0,0,3.125,0,0)\"/>\\n      </g>'},oggIcon:{extension:\".ogg\",path:'<g id=\"surface9\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 8.976562 47.070312 C 10.464844 47.070312 11.757812 46.75 12.859375 46.109375 C 13.960938 45.46875 14.808594 44.550781 15.40625 43.351562 C 16.003906 42.15625 16.304688 40.757812 16.304688 39.152344 C 16.304688 37.550781 16.007812 36.152344 15.417969 34.964844 C 14.828125 33.777344 13.980469 32.859375 12.882812 32.21875 C 11.78125 31.578125 10.480469 31.257812 8.976562 31.257812 C 7.472656 31.257812 6.167969 31.578125 5.0625 32.21875 C 3.953125 32.859375 3.101562 33.777344 2.511719 34.964844 C 1.921875 36.152344 1.625 37.550781 1.625 39.152344 C 1.625 40.757812 1.925781 42.15625 2.523438 43.351562 C 3.121094 44.550781 3.972656 45.46875 5.070312 46.109375 C 6.171875 46.75 7.472656 47.070312 8.976562 47.070312 Z M 8.976562 44.820312 C 7.546875 44.820312 6.433594 44.332031 5.640625 43.351562 C 4.847656 42.375 4.449219 40.976562 4.449219 39.152344 C 4.449219 37.332031 4.847656 35.933594 5.640625 34.964844 C 6.433594 33.996094 7.546875 33.507812 8.976562 33.507812 C 10.390625 33.507812 11.496094 33.996094 12.289062 34.964844 C 13.085938 35.933594 13.484375 37.332031 13.484375 39.152344 C 13.484375 40.976562 13.085938 42.375 12.289062 43.351562 C 11.496094 44.332031 10.390625 44.820312 8.976562 44.820312 Z M 26.410156 47.070312 C 27.125 47.070312 27.871094 47.011719 28.640625 46.898438 C 29.414062 46.78125 30.09375 46.621094 30.675781 46.414062 C 31.214844 46.242188 31.574219 46.015625 31.75 45.738281 C 31.921875 45.460938 32.011719 44.988281 32.011719 44.316406 L 32.011719 39.613281 C 32.011719 39.292969 31.910156 39.03125 31.703125 38.835938 C 31.5 38.640625 31.230469 38.539062 30.894531 38.539062 L 27.023438 38.539062 C 26.671875 38.539062 26.398438 38.628906 26.203125 38.804688 C 26.007812 38.976562 25.90625 39.226562 25.90625 39.546875 C 25.90625 39.867188 26.007812 40.117188 26.203125 40.289062 C 26.398438 40.464844 26.671875 40.554688 27.023438 40.554688 L 29.496094 40.554688 L 29.496094 44.425781 C 28.503906 44.703125 27.511719 44.839844 26.519531 44.839844 C 23.195312 44.839844 21.53125 42.945312 21.53125 39.152344 C 21.53125 37.300781 21.9375 35.90625 22.746094 34.964844 C 23.554688 34.023438 24.753906 33.554688 26.34375 33.554688 C 27.046875 33.554688 27.671875 33.644531 28.226562 33.828125 C 28.78125 34.007812 29.378906 34.324219 30.019531 34.777344 C 30.195312 34.894531 30.347656 34.980469 30.480469 35.03125 C 30.609375 35.082031 30.757812 35.105469 30.917969 35.105469 C 31.164062 35.105469 31.375 34.996094 31.550781 34.777344 C 31.726562 34.558594 31.8125 34.289062 31.8125 33.96875 C 31.8125 33.75 31.773438 33.558594 31.695312 33.398438 C 31.613281 33.238281 31.484375 33.078125 31.3125 32.917969 C 30 31.808594 28.3125 31.257812 26.257812 31.257812 C 24.710938 31.257812 23.371094 31.574219 22.234375 32.207031 C 21.09375 32.84375 20.214844 33.753906 19.597656 34.941406 C 18.976562 36.128906 18.667969 37.535156 18.667969 39.152344 C 18.667969 40.800781 18.976562 42.21875 19.597656 43.40625 C 20.214844 44.597656 21.109375 45.503906 22.277344 46.132812 C 23.441406 46.757812 24.820312 47.070312 26.410156 47.070312 Z M 42.445312 47.070312 C 43.160156 47.070312 43.902344 47.011719 44.675781 46.898438 C 45.449219 46.78125 46.128906 46.621094 46.710938 46.414062 C 47.25 46.242188 47.609375 46.015625 47.78125 45.738281 C 47.957031 45.460938 48.046875 44.988281 48.046875 44.316406 L 48.046875 39.613281 C 48.046875 39.292969 47.941406 39.03125 47.738281 38.835938 C 47.535156 38.640625 47.265625 38.539062 46.929688 38.539062 L 43.058594 38.539062 C 42.707031 38.539062 42.433594 38.628906 42.238281 38.804688 C 42.039062 38.976562 41.941406 39.226562 41.941406 39.546875 C 41.941406 39.867188 42.039062 40.117188 42.238281 40.289062 C 42.433594 40.464844 42.707031 40.554688 43.058594 40.554688 L 45.53125 40.554688 L 45.53125 44.425781 C 44.539062 44.703125 43.546875 44.839844 42.554688 44.839844 C 39.230469 44.839844 37.566406 42.945312 37.566406 39.152344 C 37.566406 37.300781 37.972656 35.90625 38.78125 34.964844 C 39.589844 34.023438 40.789062 33.554688 42.378906 33.554688 C 43.078125 33.554688 43.707031 33.644531 44.261719 33.828125 C 44.816406 34.007812 45.414062 34.324219 46.054688 34.777344 C 46.230469 34.894531 46.382812 34.980469 46.515625 35.03125 C 46.644531 35.082031 46.792969 35.105469 46.953125 35.105469 C 47.199219 35.105469 47.410156 34.996094 47.585938 34.777344 C 47.761719 34.558594 47.847656 34.289062 47.847656 33.96875 C 47.847656 33.75 47.808594 33.558594 47.726562 33.398438 C 47.648438 33.238281 47.519531 33.078125 47.34375 32.917969 C 46.03125 31.808594 44.347656 31.257812 42.292969 31.257812 C 40.746094 31.257812 39.40625 31.574219 38.265625 32.207031 C 37.128906 32.84375 36.25 33.753906 35.632812 34.941406 C 35.011719 36.128906 34.703125 37.535156 34.703125 39.152344 C 34.703125 40.800781 35.011719 42.21875 35.632812 43.40625 C 36.25 44.597656 37.144531 45.503906 38.3125 46.132812 C 39.476562 46.757812 40.855469 47.070312 42.445312 47.070312 Z M 42.445312 47.070312 \"/>\\n      </g>'},pdfIcon:{extension:\".pdf\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.59375 25 L 39.4375 25 C 41.476562 25.003906 43.484375 25.472656 45.3125 26.375 L 45.3125 15.375 C 45.347656 14.191406 44.867188 13.054688 44 12.25 L 34.625 2.875 C 33.875 2.003906 32.773438 1.523438 31.625 1.5625 L 6.625 1.5625 C 5.589844 1.5625 4.75 2.402344 4.75 3.4375 L 4.75 26.375 C 6.566406 25.480469 8.566406 25.007812 10.59375 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.71875 L 42.15625 12.5 L 34.53125 12.5 C 34.480469 12.511719 34.425781 12.511719 34.375 12.5 Z M 6.25 25.71875 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.300781 13.980469 32.316406 15.253906 33.75 15.625 C 33.957031 15.675781 34.167969 15.675781 34.375 15.625 L 43.75 15.625 L 43.75 25.71875 C 44.859375 26.09375 45.910156 26.621094 46.875 27.28125 L 46.875 15.375 C 46.964844 13.722656 46.3125 12.117188 45.09375 11 L 35.71875 1.625 C 34.648438 0.523438 33.160156 -0.0664062 31.625 0 L 6.625 0 C 5.703125 -0.015625 4.8125 0.339844 4.152344 0.984375 C 3.496094 1.632812 3.125 2.515625 3.125 3.4375 L 3.125 27.28125 C 4.09375 26.625 5.144531 26.101562 6.25 25.71875 Z M 6.25 25.71875 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.625 28.125 C 6.335938 28.117188 4.136719 29.023438 2.515625 30.640625 C 0.898438 32.261719 -0.0078125 34.460938 0 36.75 L 0 41.375 C 0 46.136719 3.863281 50 8.625 50 L 41.375 50 C 46.132812 49.984375 49.984375 46.132812 50 41.375 L 50 36.75 C 50 31.988281 46.136719 28.125 41.375 28.125 Z M 8.625 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 14.40625 41.78125 L 12.09375 41.78125 L 12.09375 45.84375 C 12.003906 46.351562 11.5625 46.726562 11.046875 46.726562 C 10.53125 46.726562 10.089844 46.351562 10 45.84375 L 10 34.78125 C 10 34.210938 10.460938 33.75 11.03125 33.75 L 14.40625 33.75 C 15.925781 33.617188 17.390625 34.351562 18.191406 35.648438 C 18.992188 36.945312 18.992188 38.585938 18.191406 39.882812 C 17.390625 41.179688 15.925781 41.914062 14.40625 41.78125 Z M 12.09375 39.6875 L 14.40625 39.6875 C 15.152344 39.78125 15.882812 39.4375 16.289062 38.804688 C 16.691406 38.171875 16.691406 37.359375 16.289062 36.726562 C 15.882812 36.09375 15.152344 35.75 14.40625 35.84375 L 12.09375 35.84375 Z M 12.09375 39.6875 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 20.3125 45.84375 L 20.3125 34.78125 C 20.3125 34.210938 20.773438 33.75 21.34375 33.75 L 23.5625 33.75 C 27.1875 33.75 30.125 36.6875 30.125 40.3125 C 30.125 43.9375 27.1875 46.875 23.5625 46.875 L 21.34375 46.875 C 20.773438 46.875 20.3125 46.414062 20.3125 45.84375 Z M 22.40625 44.78125 L 23.5625 44.78125 C 26.03125 44.78125 28.03125 42.78125 28.03125 40.3125 C 28.03125 37.84375 26.03125 35.84375 23.5625 35.84375 L 22.40625 35.84375 Z M 22.40625 44.78125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 33.1875 45.84375 L 33.1875 34.78125 C 33.183594 34.476562 33.3125 34.1875 33.542969 33.992188 C 33.769531 33.792969 34.074219 33.703125 34.375 33.75 L 40.625 33.75 C 41.132812 33.839844 41.507812 34.28125 41.507812 34.796875 C 41.507812 35.3125 41.132812 35.753906 40.625 35.84375 L 35.25 35.84375 L 35.25 39.28125 L 39.625 39.28125 C 40.195312 39.28125 40.65625 39.742188 40.65625 40.3125 C 40.65625 40.882812 40.195312 41.34375 39.625 41.34375 L 35.25 41.34375 L 35.25 45.84375 C 35.257812 46.359375 34.882812 46.796875 34.375 46.875 C 34.074219 46.921875 33.769531 46.832031 33.542969 46.632812 C 33.3125 46.4375 33.183594 46.148438 33.1875 45.84375 Z M 33.1875 45.84375 \"/>\\n      </g>'},defaultIcon:{extension:\".default\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 3.117188 44.777344 C 1.394531 44.777344 0 43.386719 0 41.671875 L 0 3.484375 C 0 1.769531 1.394531 0.378906 3.117188 0.378906 L 25.792969 0.378906 C 27.164062 0.304688 28.5 0.808594 29.480469 1.765625 L 37.980469 10.230469 C 39.144531 11.242188 39.769531 12.730469 39.683594 14.265625 L 39.683594 41.671875 C 39.683594 43.386719 38.289062 44.777344 36.5625 44.777344 Z M 25.511719 3.203125 L 3.117188 3.203125 C 2.960938 3.203125 2.832031 3.328125 2.832031 3.484375 L 2.832031 41.671875 C 2.832031 41.828125 2.960938 41.957031 3.117188 41.957031 L 36.5625 41.957031 C 36.679688 41.949219 36.785156 41.867188 36.820312 41.757812 L 36.820312 14.492188 L 28.34375 14.492188 C 28.160156 14.539062 27.964844 14.539062 27.777344 14.492188 C 26.480469 14.15625 25.554688 13.007812 25.511719 11.671875 Z M 28.34375 4.640625 L 28.34375 11.671875 C 28.390625 11.683594 28.441406 11.683594 28.488281 11.671875 L 35.402344 11.671875 Z M 28.34375 4.640625 \"/>\\n      </g>'}},Y.MODULES.modals=function(l){var a=l.$;l.shared.modals||(l.shared.modals={});var o,c=l.shared.modals;function e(){for(var e in c)if(Object.prototype.hasOwnProperty.call(c,e)){var t=c[e];t&&t.$modal&&t.$modal.removeData().remove()}o&&o.removeData().remove(),c={}}function s(e,t){if(c[e]){var n=c[e].$modal,r=n.data(\"instance\")||l;r.events.enableBlur(),n.hide(),o.hide(),a(r.o_doc).find(\"body\").first().removeClass(\"fr-prevent-scroll fr-mobile\"),n.removeClass(\"fr-active\"),t||(r.accessibility.restoreSelection(),r.events.trigger(\"modals.hide\"))}}function n(e){var t;if(\"string\"==typeof e){if(!c[e])return;t=c[e].$modal}else t=e;return t&&l.node.hasClass(t,\"fr-active\")&&l.core.sameInstance(t)||!1}return{_init:function t(){l.events.on(\"shared.destroy\",e,!0)},get:function r(e){return c[e]},create:function d(n,e,t){if(e='<div class=\"fr-modal-head-line\">'.concat(e,\"</div>\"),l.shared.$overlay||(l.shared.$overlay=a(l.doc.createElement(\"DIV\")).addClass(\"fr-overlay\"),a(\"body\").first().append(l.shared.$overlay)),o=l.shared.$overlay,l.opts.theme&&o.addClass(\"\".concat(l.opts.theme,\"-theme\")),!c[n]){var r=function i(e,t){var n='<div tabIndex=\"-1\" class=\"fr-modal'.concat(l.opts.theme?\" \".concat(l.opts.theme,\"-theme\"):\"\",'\"><div class=\"fr-modal-wrapper\">'),r='<button title=\"'.concat(l.language.translate(\"Cancel\"),'\" class=\"fr-command fr-btn fr-modal-close\"><svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 24 24\"><path d=\"').concat(Y.SVG.close,'\"/></svg></button>');n+='<div class=\"fr-modal-head\">'.concat(e).concat(r,\"</div>\"),n+='<div tabIndex=\"-1\" class=\"fr-modal-body\">'.concat(t,\"</div>\"),n+=\"</div></div>\";var o=a(l.doc.createElement(\"DIV\"));return o.html(n),o.find(\"> .fr-modal\")}(e,t);c[n]={$modal:r,$head:r.find(\".fr-modal-head\"),$body:r.find(\".fr-modal-body\")},l.helpers.isMobile()||r.addClass(\"fr-desktop\"),a(\"body\").first().append(r),l.events.$on(r,\"click\",\".fr-modal-close\",function(){s(n)},!0),c[n].$body.css(\"margin-top\",c[n].$head.outerHeight()),l.events.$on(r,\"keydown\",function(e){var t=e.which;return t===Y.KEYCODE.ESC?(s(n),l.accessibility.focusModalButton(r),!1):!(!a(e.currentTarget).is(\"input[type=text], textarea\")&&t!==Y.KEYCODE.ARROW_UP&&t!==Y.KEYCODE.ARROW_DOWN&&!l.keys.isBrowserAction(e)&&(e.preventDefault(),e.stopPropagation(),1))},!0),s(n,!0)}return c[n]},show:function i(e){if(c[e]){var t=c[e].$modal;t.data(\"instance\",l),t.show(),o.show(),a(l.o_doc).find(\"body\").first().addClass(\"fr-prevent-scroll\"),l.helpers.isMobile()&&a(l.o_doc).find(\"body\").first().addClass(\"fr-mobile\"),t.addClass(\"fr-active\"),l.accessibility.focusModal(t)}},hide:s,resize:function f(e){if(c[e]){var t=c[e],n=t.$modal,r=t.$body,o=l.o_win.innerHeight,i=n.find(\".fr-modal-wrapper\"),a=o-i.outerHeight(!0)+(i.height()-(r.outerHeight(!0)-r.height())),s=\"auto\";a<r.get(0).scrollHeight&&(s=a),r.height(s)}},isVisible:n,areVisible:function p(e){for(var t in c)if(Object.prototype.hasOwnProperty.call(c,t)&&n(t)&&(void 0===e||c[t].$modal.data(\"instance\")===e))return c[t].$modal;return!1}}},Y.MODULES.position=function(y){var N=y.$;function o(){var e=y.selection.ranges(0),t=e.getBoundingClientRect();if(0===t.top&&0===t.left&&0===t.width||0===t.height){var n=!1,r=y.opts.toolbarInline&&e.startContainer&&e.startContainer.firstChild&&\"BR\"===e.startContainer.firstChild.tagName;0===y.$el.find(\".fr-marker\").length&&(r?N(e.startContainer.firstChild).after(Y.MARKERS):y.selection.save(),n=!0);var o=y.$el.find(\".fr-marker\").first();o.css(\"display\",\"inline\"),o.css(\"line-height\",\"\");var i=o.offset(),a=o.outerHeight();o.css(\"display\",\"none\"),o.css(\"line-height\",0),(t={}).left=i&&i.left,t.width=0,t.height=a,t.top=i&&i.top-(y.helpers.isMobile()&&!y.helpers.isIOS()||y.opts.iframe?0:y.helpers.scrollTop()),t.right=1,t.bottom=1,t.ok=!0,n&&(r?y.$el.find(\".fr-marker\").remove():y.selection.restore())}return t}function i(e,t,n,r){var o=n.data(\"container\");if(!o||\"BODY\"===o.get(0).tagName&&\"static\"===o.css(\"position\")||(e&&(e-=o.offset().left),t&&(t-=o.offset().top),\"BODY\"!==o.get(0).tagName?(e&&(e+=o.get(0).scrollLeft),t&&(t+=o.get(0).scrollTop)):\"absolute\"===o.css(\"position\")&&(e&&(e+=o.position().left),t&&(t+=o.position().top))),y.opts.iframe&&o&&y.$tb&&o.get(0)!==y.$tb.get(0)){var i=y.helpers.getPX(y.$wp.find(\".fr-iframe\").css(\"padding-top\")),a=y.helpers.getPX(y.$wp.find(\".fr-iframe\").css(\"padding-left\"));e&&(e+=y.$iframe.offset().left+a),t&&(t+=y.$iframe.offset().top+i)}var s=function l(e,t){var n=e.outerWidth(!0);return t+n>y.$sc.get(0).clientWidth-10&&(t=y.$sc.get(0).clientWidth-n-10),t<0&&(t=10),t}(n,e);e&&n.css(\"left\",s),t&&n.css(\"top\",function c(e,t,n){var r=e.outerHeight(!0);if(!y.helpers.isMobile()&&y.$tb&&e.parent().get(0)!==y.$tb.get(0)){var o=e.parent().offset().top,i=t-r-(n||0);e.parent().get(0)===y.$sc.get(0)&&(o-=e.parent().position().top);var a=y.$sc.get(0).clientHeight;o+t+r>y.$sc.offset().top+a&&0<e.parent().offset().top+i&&0<i?i>y.$wp.scrollTop()&&(t=i,e.addClass(\"fr-above\")):e.removeClass(\"fr-above\")}return t}(n,t,r))}function a(e){var n=N(e),t=n.is(\".fr-sticky-on\"),r=n.data(\"sticky-top\"),o=n.data(\"sticky-scheduled\");if(void 0===r){n.data(\"sticky-top\",0);var i=N('<div class=\"fr-sticky-dummy\" style=\"height: '.concat(n.outerHeight(),'px;\"></div>'));y.$box.prepend(i)}else y.$box.find(\".fr-sticky-dummy\").css(\"height\",n.outerHeight());if(y.core.hasFocus()||0<y.$tb.findVisible(\"input:focus\").length){var a=y.helpers.scrollTop(),s=Math.min(Math.max(a-y.$tb.parent().offset().top,0),y.$tb.parent().outerHeight()-n.outerHeight());if(s!==r&&s!==o&&(clearTimeout(n.data(\"sticky-timeout\")),n.data(\"sticky-scheduled\",s),n.outerHeight()<a-y.$tb.parent().offset().top&&n.addClass(\"fr-opacity-0\"),n.data(\"sticky-timeout\",setTimeout(function(){var e=y.helpers.scrollTop(),t=Math.min(Math.max(e-y.$tb.parent().offset().top,0),y.$tb.parent().outerHeight()-n.outerHeight());0<t&&\"BODY\"===y.$tb.parent().get(0).tagName&&(t+=y.$tb.parent().position().top),t!==r&&(n.css(\"top\",Math.max(t,0)),n.data(\"sticky-top\",t),n.data(\"sticky-scheduled\",t)),n.removeClass(\"fr-opacity-0\")},100))),!t){var l=y.$tb.parent(),c=l.get(0).offsetWidth-l.get(0).clientWidth;n.css(\"top\",\"0\"),n.width(l.width()-c),n.addClass(\"fr-sticky-on\"),y.$box.addClass(\"fr-sticky-box\")}}else clearTimeout(N(e).css(\"sticky-timeout\")),n.css(\"top\",\"0\"),n.css(\"position\",\"\"),n.css(\"width\",\"\"),n.data(\"sticky-top\",0),n.removeClass(\"fr-sticky-on\"),y.$box.removeClass(\"fr-sticky-box\")}function t(e){if(e.offsetWidth){var t=N(e),n=t.outerHeight(),r=t.data(\"sticky-position\"),o=N(\"body\"===y.opts.scrollableContainer?y.o_win:y.opts.scrollableContainer).outerHeight(),i=0,a=0;\"body\"!==y.opts.scrollableContainer&&(i=y.$sc.offset().top,a=N(y.o_win).outerHeight()-i-o);var s=\"body\"===y.opts.scrollableContainer?y.helpers.scrollTop():i,l=t.is(\".fr-sticky-on\");t.data(\"sticky-parent\")||t.data(\"sticky-parent\",t.parent());var c=t.data(\"sticky-parent\"),d=c.offset().top,f=c.outerHeight();if(t.data(\"sticky-offset\")?y.$box.find(\".fr-sticky-dummy\").css(\"height\",\"\".concat(n,\"px\")):(t.data(\"sticky-offset\",!0),t.after('<div class=\"fr-sticky-dummy\" style=\"height: '.concat(n,'px;\"></div>'))),!r){var p=\"auto\"!==t.css(\"top\")||\"auto\"!==t.css(\"bottom\");p||t.css(\"position\",\"fixed\"),r={top:y.node.hasClass(t.get(0),\"fr-top\"),bottom:y.node.hasClass(t.get(0),\"fr-bottom\")},p||t.css(\"position\",\"\"),t.data(\"sticky-position\",r),t.data(\"top\",y.node.hasClass(t.get(0),\"fr-top\")?t.css(\"top\"):\"auto\"),t.data(\"bottom\",y.node.hasClass(t.get(0),\"fr-bottom\")?t.css(\"bottom\"):\"auto\")}var u=y.helpers.getPX(t.data(\"top\")),h=y.helpers.getPX(t.data(\"bottom\")),g=r.top&&function E(){return d<s+u&&s+u<=d+f-n}(),C=r.bottom&&function L(){return d+n<s+o-h&&s+o-h<d+f}();if(g||C){var m=c.get(0).offsetWidth-c.get(0).clientWidth;if(t.css(\"width\",\"\".concat(c.get(0).getBoundingClientRect().width-m,\"px\")),l)\"body\"!==y.opts.scrollableContainer&&(t.css(\"top\")&&\"auto\"!==t.data(\"top\")&&t.css(\"top\",y.helpers.getPX(t.data(\"top\"))+i-window.scrollY),t.css(\"bottom\")&&\"auto\"!==t.data(\"bottom\")&&t.css(\"bottom\",y.helpers.getPX(t.data(\"bottom\"))+a+window.scrollY));else{if(t.addClass(\"fr-sticky-on\"),t.removeClass(\"fr-sticky-off\"),t.css(\"top\"))if(\"auto\"!==t.data(\"top\")){var v=\"body\"===y.opts.scrollableContainer?i:i-window.scrollY;t.css(\"top\",y.helpers.getPX(t.data(\"top\"))+v)}else t.data(\"top\",\"auto\");if(t.css(\"bottom\"))if(\"auto\"!==t.data(\"bottom\")){var b=\"body\"===y.opts.scrollableContainer?a:a+window.scrollY;t.css(\"bottom\",y.helpers.getPX(t.data(\"bottom\"))+b)}else t.css(\"bottom\",\"auto\")}}else y.node.hasClass(t.get(0),\"fr-sticky-off\")||(t.css(\"width\",\"\"),t.removeClass(\"fr-sticky-on\"),t.addClass(\"fr-sticky-off\"),t.css(\"top\")&&\"auto\"!==t.data(\"top\")&&r.top&&t.css(\"top\",0),t.css(\"bottom\")&&\"auto\"!==t.data(\"bottom\")&&r.bottom&&t.css(\"bottom\",0))}}function s(){if(y.helpers.requestAnimationFrame()(s),!1!==y.events.trigger(\"position.refresh\"))for(var e=0;e<y._stickyElements.length;e++)if(y.opts.toolbarBottom){var t=y.$tb.parent(),n=t.get(0).offsetWidth-t.get(0).clientWidth,r=N(y._stickyElements[e]);r.width(t.width()-n),r.addClass(\"fr-sticky-on\"),y.$box.addClass(\"fr-sticky-box\")}else a(y._stickyElements[e])}function n(){if(y._stickyElements)for(var e=0;e<y._stickyElements.length;e++)t(y._stickyElements[e])}return{_init:function e(){!function t(){if(y._stickyElements=[],y.helpers.getIOSVersion()<=8)s(),y.events.$on(N(y.o_win),\"scroll\",function(){if(y.core.hasFocus())for(var e=0;e<y._stickyElements.length;e++){var t=N(y._stickyElements[e]),n=t.parent(),r=y.helpers.scrollTop();t.outerHeight()<r-n.offset().top&&(y.opts.toolbarBottom&&y.helpers.isIOS()||(t.addClass(\"fr-opacity-0\"),t.data(\"sticky-top\",-1),t.data(\"sticky-scheduled\",-1)))}},!0);else{\"body\"!==y.opts.scrollableContainer&&y.events.$on(N(y.opts.scrollableContainer),\"scroll\",n,!0),y.events.$on(N(y.o_win),\"scroll\",n,!0),y.events.$on(N(y.o_win),\"resize\",n,!0),y.events.on(\"initialized\",n),y.events.on(\"focus\",n),y.events.$on(N(y.o_win),\"resize\",\"textarea\",n,!0);var e=N(y.el).parents(\".modal\");e.get(0)&&y.events.$on(e,\"scroll\",n,!0)}y.events.on(\"destroy\",function(){y._stickyElements=[]})}()},forSelection:function l(e){var t=o();if(t.top!=undefined){e.css({top:0,left:0});var n=t.top+t.height,r=t.left+t.width/2-e.get(0).offsetWidth/2+y.helpers.scrollLeft();y.opts.iframe||(n+=y.helpers.scrollTop()),i(r,n,e,t.height)}},addSticky:function r(e){e.addClass(\"fr-sticky\"),y.helpers.isIOS()&&!y.opts.toolbarBottom&&e.addClass(\"fr-sticky-ios\"),e.removeClass(\"fr-sticky\"),y._stickyElements.push(e.get(0))},refresh:n,at:i,getBoundingRect:o}},Y.MODULES.refresh=function(l){var c=l.$;function i(e,t){e.toggleClass(\"fr-disabled\",t).attr(\"aria-disabled\",t)}function e(e){var t=l.$tb.find('.fr-more-toolbar[data-name=\"'.concat(e.attr(\"data-group-name\"),'\"]')),n=function s(e,t){var n=0,r=t.find(\"> .fr-command, > .fr-btn-wrap\");r.each(function(e,t){n+=c(t).outerWidth()});var o,i=l.helpers.getPX(c(r[0]).css(\"margin-left\")),a=l.helpers.getPX(c(r[0]).css(\"margin-right\"));o=\"rtl\"===l.opts.direction?l.$tb.outerWidth()-e.offset().left+l.$tb.offset().left-(n+e.outerWidth()+r.length*(i+a))/2:e.offset().left-l.$tb.offset().left-(n-e.outerWidth()+r.length*(i+a))/2;o+n+r.length*(i+a)>l.$tb.outerWidth()&&(o-=(n+r.length*(i+a)-e.outerWidth())/2);o<0&&(o=0);return o}(e,t);\"rtl\"===l.opts.direction?t.css(\"padding-right\",n):t.css(\"padding-left\",n)}return{undo:function t(e){i(e,!l.undo.canDo())},redo:function n(e){i(e,!l.undo.canRedo())},outdent:function a(e){if(l.node.hasClass(e.get(0),\"fr-no-refresh\"))return!1;if(c(\"button#markdown-\".concat(l.id,\".fr-active\")).length)return!1;for(var t=l.selection.blocks(),n=0;n<t.length;n++){var r=\"rtl\"===l.opts.direction||\"rtl\"===c(t[n]).css(\"direction\")?\"margin-right\":\"margin-left\",o=t[0].parentElement;if([\"HTML\",\"P\",\"DIV\",\"UL\",\"OL\",\"LI\",\"TR\",\"BLOCKQUOTE\",\"BODY\"].indexOf(o.parentNode.tagName)<0)return i(e,!0),!0;if(t[0].previousSibling&&\"none\"==o.parentNode.style.listStyleType)return i(e,!0),!0;if(\"LI\"===t[n].tagName||\"LI\"===t[n].parentNode.tagName)return i(e,!1),!0;if(0<l.helpers.getPX(c(t[n]).css(r))+l.helpers.getPX(c(t[n]).css(\"text-indent\")))return i(e,!1),!0}i(e,!0)},indent:function o(e){if(l.node.hasClass(e.get(0),\"fr-no-refresh\"))return!1;if(c(\"button#markdown-\".concat(l.id,\".fr-active\")).length)return!1;for(var t=l.selection.blocks(),n=0;n<t.length;n++){for(var r=t[n].previousSibling;r&&r.nodeType===Node.TEXT_NODE&&0===r.textContent.length;)r=r.previousSibling;if(\"LI\"!==t[n].tagName||r)return i(e,!1),!0;i(e,!0)}},moreText:e,moreParagraph:e,moreMisc:e,moreRich:e}},Object.assign(Y.DEFAULTS,{attribution:!0,toolbarBottom:!1,toolbarButtons:null,toolbarButtonsXS:null,toolbarButtonsSM:null,toolbarButtonsMD:null,toolbarContainer:null,toolbarInline:!1,toolbarSticky:!0,toolbarStickyOffset:0,toolbarVisibleWithoutSelection:!1,toolbarResponsiveToEditor:!1}),Y.TOOLBAR_BUTTONS={moreText:{buttons:[\"bold\",\"italic\",\"underline\",\"strikeThrough\",\"subscript\",\"superscript\",\"fontFamily\",\"fontSize\",\"textColor\",\"backgroundColor\",\"inlineClass\",\"inlineStyle\",\"clearFormatting\"]},moreParagraph:{buttons:[\"alignLeft\",\"alignCenter\",\"formatOLSimple\",\"alignRight\",\"alignJustify\",\"formatOL\",\"formatUL\",\"paragraphFormat\",\"paragraphStyle\",\"lineHeight\",\"outdent\",\"indent\",\"quote\"]},moreRich:{buttons:[\"trackChanges\",\"markdown\",\"insertLink\",\"insertFiles\",\"insertImage\",\"insertVideo\",\"insertTable\",\"emoticons\",\"fontAwesome\",\"specialCharacters\",\"embedly\",\"insertFile\",\"insertHR\",\"openFilePicker\"],buttonsVisible:4},moreMisc:{buttons:[\"undo\",\"redo\",\"fullscreen\",\"print\",\"getPDF\",\"spellChecker\",\"selectAll\",\"html\",\"help\",\"findReplaceButton\"],align:\"right\",buttonsVisible:2},trackChanges:{buttons:[\"showChanges\",\"applyAll\",\"removeAll\",\"applyLast\",\"removeLast\"],buttonsVisible:0}},Y.TOOLBAR_BUTTONS_MD=null,(Y.TOOLBAR_BUTTONS_SM={}).moreText=Object.assign({},Y.TOOLBAR_BUTTONS.moreText,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.moreParagraph=Object.assign({},Y.TOOLBAR_BUTTONS.moreParagraph,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.moreRich=Object.assign({},Y.TOOLBAR_BUTTONS.moreRich,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.moreMisc=Object.assign({},Y.TOOLBAR_BUTTONS.moreMisc,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.trackChanges=Object.assign({},Y.TOOLBAR_BUTTONS.trackChanges,{buttonsVisible:0}),(Y.TOOLBAR_BUTTONS_XS={}).moreText=Object.assign({},Y.TOOLBAR_BUTTONS.moreText,{buttonsVisible:0}),Y.TOOLBAR_BUTTONS_XS.moreParagraph=Object.assign({},Y.TOOLBAR_BUTTONS.moreParagraph,{buttonsVisible:0}),Y.TOOLBAR_BUTTONS_XS.moreRich=Object.assign({},Y.TOOLBAR_BUTTONS.moreRich,{buttonsVisible:0}),Y.TOOLBAR_BUTTONS_XS.moreMisc=Object.assign({},Y.TOOLBAR_BUTTONS.moreMisc,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_XS.trackChanges=Object.assign({},Y.TOOLBAR_BUTTONS.trackChanges,{buttonsVisible:0}),Y.POWERED_BY='<a id=\"fr-logo\" href=\"https://froala.com/wysiwyg-editor\" target=\"_blank\" title=\"Froala WYSIWYG HTML Editor\"><span>Powered by</span><svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 822.8 355.33\"><defs><style>.fr-logo{fill:#b1b2b7;}</style></defs><title>Froala</title><path class=\"fr-logo\" d=\"M123.58,78.65A16.16,16.16,0,0,0,111.13,73H16.6C7.6,73,0,80.78,0,89.94V128.3a16.45,16.45,0,0,0,32.9,0V104.14h78.5A15.63,15.63,0,0,0,126.87,91.2,15.14,15.14,0,0,0,123.58,78.65Z\"/><path class=\"fr-logo\" d=\"M103.54,170a16.05,16.05,0,0,0-11.44-4.85H15.79A15.81,15.81,0,0,0,0,180.93v88.69a16.88,16.88,0,0,0,5,11.92,16,16,0,0,0,11.35,4.7h.17a16.45,16.45,0,0,0,16.41-16.6v-73.4H92.2A15.61,15.61,0,0,0,107.89,181,15.1,15.1,0,0,0,103.54,170Z\"/><path class=\"fr-logo\" d=\"M233,144.17c-5.29-6.22-16-7.52-24.14-7.52-16.68,0-28.72,7.71-36.5,23.47v-5.67a16.15,16.15,0,1,0-32.3,0v115.5a16.15,16.15,0,1,0,32.3,0v-38.7c0-19.09,3.5-63.5,35.9-63.5a44.73,44.73,0,0,1,5.95.27h.12c12.79,1.2,20.06-2.73,21.6-11.69C236.76,151.48,235.78,147.39,233,144.17Z\"/><path class=\"fr-logo\" d=\"M371.83,157c-13.93-13.11-32.9-20.33-53.43-20.33S279,143.86,265.12,157c-14.67,13.88-22.42,32.82-22.42,54.77,0,21.68,8,41.28,22.4,55.2,13.92,13.41,32.85,20.8,53.3,20.8s39.44-7.38,53.44-20.79c14.55-13.94,22.56-33.54,22.56-55.21S386.39,170.67,371.83,157Zm-9.73,54.77c0,25.84-18.38,44.6-43.7,44.6s-43.7-18.76-43.7-44.6c0-25.15,18.38-43.4,43.7-43.4S362.1,186.59,362.1,211.74Z\"/><path class=\"fr-logo\" d=\"M552.7,138.14a16.17,16.17,0,0,0-16,16.3v1C526.41,143.85,509,136.64,490,136.64c-19.83,0-38.19,7.24-51.69,20.4C424,171,416.4,190,416.4,212c0,21.61,7.78,41.16,21.9,55,13.56,13.33,31.92,20.67,51.7,20.67,18.83,0,36.29-7.41,46.7-19.37v1.57a16.15,16.15,0,1,0,32.3,0V154.44A16.32,16.32,0,0,0,552.7,138.14Zm-16.3,73.6c0,30.44-22.81,44.3-44,44.3-24.57,0-43.1-19-43.1-44.3s18.13-43.4,43.1-43.4C513.73,168.34,536.4,183.55,536.4,211.74Z\"/><path class=\"fr-logo\" d=\"M623.5,61.94a16.17,16.17,0,0,0-16,16.3v191.7a16.15,16.15,0,1,0,32.3,0V78.24A16.32,16.32,0,0,0,623.5,61.94Z\"/><path class=\"fr-logo\" d=\"M806.5,138.14a16.17,16.17,0,0,0-16,16.3v1c-10.29-11.63-27.74-18.84-46.7-18.84-19.83,0-38.19,7.24-51.69,20.4-14.33,14-21.91,33-21.91,55,0,21.61,7.78,41.16,21.9,55,13.56,13.33,31.92,20.67,51.7,20.67,18.83,0,36.29-7.41,46.7-19.37v1.57a16.15,16.15,0,1,0,32.3,0V154.44A16.32,16.32,0,0,0,806.5,138.14Zm-16.3,73.6c0,30.44-22.81,44.3-44,44.3-24.57,0-43.1-19-43.1-44.3s18.13-43.4,43.1-43.4C767.53,168.34,790.2,183.55,790.2,211.74Z\"/></svg></a>',Y.MODULES.toolbar=function(L){var y=L.$;function e(e){if(-1<L.opts.pluginsEnabled.indexOf(\"filestack\")&&L.opts.filestackOptions&&L.opts.filestackOptions.uploadToFilestackOnly){var t,n=JSON.parse(JSON.stringify(e)),r=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.includes(\"openFilePicker\"),o=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.includes(\"insertFile\"),i=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.includes(\"insertFiles\");r?(-1!==(t=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertFile\"===e}))&&n.moreRich.buttons.splice(t,1),-1!==(t=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertFiles\"===e}))&&n.moreRich.buttons.splice(t,1)):o&&i&&-1!==(t=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertFiles\"===e}))&&n.moreRich.buttons.splice(t,1);var a=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertImage\"===e});-1<a&&null!==a&&(n.moreRich.buttons[a]=\"openFilePickerImageOnly\");var s=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertVideo\"===e});return-1<s&&null!==s&&(n.moreRich.buttons[s]=\"openFilePickerVideoOnly\"),n}return e}var N,t=[];function n(e){var n={};if(Array.isArray(e)){if(!Array.isArray(e[0])){for(var t=[],r=[],o=0;o<e.length;o++)\"|\"===e[o]||\"-\"===e[o]?(0<r.length&&t.push(r),r=[]):r.push(e[o]);0<r.length&&t.push(r),e=t}e.forEach(function(e,t){n[\"group\".concat(t+1)]={buttons:e}}),n.showMoreButtons=!1}else\"object\"!==w(e)||Array.isArray(e)||((n=e).showMoreButtons=!0);return n}function S(){var e=L.helpers.screenSize(L.opts.toolbarResponsiveToEditor);return t[N=e]}function T(){for(var d=L.$tb.find(\".fr-more-toolbar\"),f=function f(){var e=y(d[p]);if(e.hasClass(\"fr-expanded\")){var n=L.helpers.getPX(e.css(\"padding-left\")),t=e.find(\"> .fr-command, > .fr-btn-wrap\"),r=y(t[0]),o=L.helpers.getPX(r.css(\"margin-left\")),i=L.helpers.getPX(r.css(\"margin-right\")),a=L.helpers.getPX(r.css(\"margin-top\")),s=L.helpers.getPX(r.css(\"margin-bottom\"));if(t.each(function(e,t){n+=y(t).outerWidth()+o+i}),L.$tb.outerWidth()<n){var l=Math.floor(n/L.$tb.outerWidth());n+=l*(n/e[0].childElementCount),l=Math.ceil(n/L.$tb.outerWidth());var c=(L.helpers.getPX(r.css(\"height\"))+a+s)*l;e.css(\"height\",c)}}else e.css(\"height\",\"\")},p=0;p<d.length;p++)f();!L.helpers.isMobile()&&L.opts.toolbarBottom?L.$tb.find(\".fr-toolbar .fr-more-toolbar\").removeClass(\"position-relative\"):L.$tb.find(\".fr-toolbar .fr-more-toolbar\").addClass(\"position-relative\")}function o(){if(0==L.$tb.find(\"[data-name='trackChanges-\".concat(L.id,\"']\")).length&&-1<L.opts.pluginsEnabled.indexOf(\"track_changes\")){L.$tb.append(y('<div class=\"fr-more-toolbar\"></div>').data(\"name\",\"trackChanges-\".concat(L.id)));for(var e=0,t=[\"showChanges\",\"applyAll\",\"removeAll\",\"applyLast\",\"removeLast\"];e<t.length;e++){var n=t[e],r=Y.COMMANDS[n];if(r){r.more_btn=!0;var o=y(L.button.build(n,r,!0));L.button.addButtons(o),L.$tb.find(\"[data-name='trackChanges-\".concat(L.id,\"']\")).append(o)}}}if(N!==L.helpers.screenSize(L.opts.toolbarResponsiveToEditor)){var i=S(),a=y(),s=y();for(var l in L.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-grp > .fr-btn-wrap > .fr-command, .fr-more-toolbar > .fr-btn-wrap > .fr-command\").addClass(\"fr-hidden\"),function E(){for(var e=L.$tb.find(\".fr-btn-grp, .fr-more-toolbar\"),t=function t(){var n=y(e[r]);n.children().each(function(e,t){n.before(t)}),n.remove()},r=0;r<e.length;r++)t()}(),L.$tb.find(\".fr-separator.fr-vs, .fr-separator.fr-hs\").remove(),i){var c=i[l];if(c.buttons&&(\"trackChanges\"!==l||-1!==L.opts.pluginsEnabled.indexOf(\"track_changes\"))){var d=void 0,f=0,p=3,u=void 0;\"trackChanges\"!==l&&(u=y('<div class=\"fr-btn-grp fr-float-'.concat(i[l].align?i[l].align:\"left\",'\"></div>'))),i.showMoreButtons&&(d=y('<div class=\"fr-more-toolbar\"></div>').data(\"name\",\"\".concat(l,\"-\").concat(L.id)),\"trackChanges\"!==l&&\"moreRich\"!==l||!L.opts.trackChangesEnabled||d.addClass(\"fr-expanded\"));for(var h=0;h<c.buttons.length;h++){c.buttonsVisible!==undefined&&(p=c.buttonsVisible);var g=L.$tb.find('> .fr-command[data-cmd=\"'+c.buttons[h]+'\"], > div.fr-btn-wrap > .fr-command[data-cmd=\"'+c.buttons[h]+'\"]'),C=null;L.node.hasClass(g.next().get(0),\"fr-dropdown-menu\")&&(C=g.next()),L.node.hasClass(g.next().get(0),\"fr-options\")&&(g.removeClass(\"fr-hidden\"),g.next().removeClass(\"fr-hidden\"),g=g.parent()),g.removeClass(\"fr-hidden\"),i.showMoreButtons&&p<=f?(d.append(g),C&&d.append(C)):(u.append(g),\"|\"===c.buttons[h]?u.append(y('<div class=\"fr-separator fr-vs\" role=\"separator\" aria-orientation=\"vertical\"></div>')):\"-\"===c.buttons[h]&&u.append(y('<div class=\"fr-separator fr-hs\" role=\"separator\" aria-orientation=\"horizontal\"></div>')),C&&u.append(C)),f++}if(i.showMoreButtons&&p<f){var m=L.$tb.find('.fr-command[data-cmd=\"'.concat(l,'\"]'));if(0<m.length)m.removeClass(\"fr-hidden fr-open\");else{var v=l,b=Y.COMMANDS[v];b&&(b.more_btn=!0,m=y(L.button.build(v,b,!0)),L.button.addButtons(m))}u&&u.append(m)}u&&a.push(u),i.showMoreButtons&&s.push(d)}}L.opts.toolbarBottom?(L.$tb.append(s),L.$tb.find(\".fr-newline\").remove(),L.$tb.append('<div class=\"fr-newline\"></div>'),L.$tb.append(a)):(L.$tb.append(a),L.$tb.find(\".fr-newline\").remove(),L.$tb.append('<div class=\"fr-newline\"></div>'),L.$tb.append(s)),L.$tb.removeClass(\"fr-toolbar-open\"),L.$box.removeClass(\"fr-toolbar-open\"),L.events.trigger(\"codeView.toggle\")}T()}function r(t,n){setTimeout(function(){var e;L.opts.iframe?e=L.$iframe.get(0).contentWindow.document.activeElement:e=document.activeElement;if((!t||t.which!=Y.KEYCODE.ESC)&&L.selection.inEditor()&&L.core.hasFocus()&&!L.popups.areVisible()&&\"false\"!=y(L.selection.blocks()[0]).closest(\"table\").attr(\"contenteditable\")&&\"INPUT\"!==e.tagName&&\"TEXTAREA\"!==e.tagName&&(L.opts.toolbarVisibleWithoutSelection||!L.selection.isCollapsed()&&!L.keys.isIME()||n)){if(L.$tb.data(\"instance\",L),!1===L.events.trigger(\"toolbar.show\",[t]))return;if(t&&L.helpers.isMobile()&&!function r(e,t){var n=e.target;for(;n;){if(n===t)return!0;n=n.parentElement}return!1}(t,L.$box))return;L.$tb.show(),L.opts.toolbarContainer||L.position.forSelection(L.$tb),1<L.opts.zIndex?L.$tb.css(\"z-index\",L.opts.zIndex+1):L.$tb.css(\"z-index\",null)}},0)}function i(e){return(!e||\"blur\"!==e.type||document.activeElement!==L.el)&&((!e||\"blur\"!==e.type||!L.helpers.isMobile())&&(!(!e||\"keydown\"!==e.type||!L.keys.ctrlKey(e))||(!!L.button.getButtons(\".fr-dropdown.fr-active\").next().find(L.o_doc.activeElement).length||(L.helpers.isMobile()&&L.opts.toolbarInline&&(L.$tb.find(\".fr-expanded\").toggleClass(\"fr-expanded\"),L.$tb.find(\".fr-open\").removeClass(\"fr-open\"),L.$tb.removeClass(\"fr-toolbar-open\"),T()),void(!1!==L.events.trigger(\"toolbar.hide\")&&L.$tb.hide())))))}t[Y.XS]=n(e(L.opts.toolbarButtonsXS||L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS_XS||Y.TOOLBAR_BUTTONS||[])),t[Y.SM]=n(e(L.opts.toolbarButtonsSM||L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS_SM||Y.TOOLBAR_BUTTONS||[])),t[Y.MD]=n(e(L.opts.toolbarButtonsMD||L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS_MD||Y.TOOLBAR_BUTTONS||[])),t[Y.LG]=n(e(L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS||[]));var a=null;function s(e){clearTimeout(a),e&&e.which===Y.KEYCODE.ESC||(a=setTimeout(r,L.opts.typingTimer))}function l(){L.events.on(\"window.mousedown\",i),L.events.on(\"keydown\",i),L.events.on(\"blur\",i),L.events.$on(L.$tb,\"transitionend\",\".fr-more-toolbar\",function(){L.position.forSelection(L.$tb)}),L.helpers.isMobile()||L.events.on(\"window.mouseup\",r),L.helpers.isMobile()?L.helpers.isIOS()||(L.events.on(\"window.touchend\",r),L.browser.mozilla&&setInterval(r,200)):L.events.on(\"window.keyup\",s),L.events.on(\"keydown\",function(e){e&&e.which===Y.KEYCODE.ESC&&L.events.trigger(\"toolbar.esc\")}),L.events.on(\"keydown\",function(e){if(e.which===Y.KEYCODE.ALT)return e.stopPropagation(),!1},!0),L.events.$on(L.$wp,\"scroll.toolbar\",r),L.events.on(\"commands.after\",r),L.helpers.isMobile()&&(L.events.$on(L.$doc,\"selectionchange\",s),L.events.$on(L.$doc,\"orientationchange\",r))}function c(){L.$tb&&(L.$tb.html(\"\").removeData().remove(),L.$tb=null),L.$second_tb&&(L.$second_tb.html(\"\").removeData().remove(),L.$second_tb=null)}function d(){L.$box.removeClass(\"fr-top fr-bottom fr-inline fr-basic\"),L.$box.find(\".fr-sticky-dummy\").remove()}function f(){L.opts.theme&&L.$tb.addClass(\"\".concat(L.opts.theme,\"-theme\")),1<L.opts.zIndex&&L.$tb.css(\"z-index\",L.opts.zIndex+1),\"auto\"!==L.opts.direction&&L.$tb.removeClass(\"fr-ltr fr-rtl\").addClass(\"fr-\".concat(L.opts.direction)),L.helpers.isMobile()?L.$tb.addClass(\"fr-mobile\"):L.$tb.addClass(\"fr-desktop\"),L.opts.toolbarContainer?(L.opts.toolbarInline&&(l(),i()),L.opts.toolbarBottom?L.$tb.addClass(\"fr-bottom\"):L.$tb.addClass(\"fr-top\")):function e(){L.opts.toolbarInline?(L.$sc.append(L.$tb),L.$tb.data(\"container\",L.$sc),L.$tb.addClass(\"fr-inline\"),l(),L.opts.toolbarBottom=!1):(L.opts.toolbarBottom?(L.$box.append(L.$tb),L.$tb.addClass(\"fr-bottom\"),L.$box.addClass(\"fr-bottom\")):(L.opts.toolbarBottom=!1,L.$box.prepend(L.$tb),L.$tb.addClass(\"fr-top\"),L.$box.addClass(\"fr-top\")),L.$tb.addClass(\"fr-basic\"),L.opts.toolbarSticky&&(L.opts.toolbarStickyOffset&&(L.opts.toolbarBottom?L.$tb.css(\"bottom\",L.opts.toolbarStickyOffset):L.$tb.css(\"top\",L.opts.toolbarStickyOffset)),L.position.addSticky(L.$tb)))}(),function t(){var e=L.button.buildGroup(S());L.$tb.append(e),T(),L.button.bindCommands(L.$tb)}(),function r(){L.events.$on(y(L.o_win),\"resize\",o),L.events.$on(y(L.o_win),\"orientationchange\",o),L.opts.toolbarButtons&&-1<JSON.stringify(L.opts.toolbarButtons).indexOf(\"trackChanges\")&&o();var e=L.$tb.find(\".fr-more-toolbar[data-name=trackChanges-\".concat(L.id,\"]\")),t=0!==e.length&&e.hasClass(\"fr-expanded\");if(L.opts.trackChangesEnabled&&!t){var n=L.$tb.find(\".fr-command.fr-btn[data-cmd=trackChanges\");e.addClass(\"fr-expanded\"),n.toggleClass(\"fr-open\"),L.toolbar.enable()}}(),L.accessibility.registerToolbar(L.$tb),L.events.$on(L.$tb,\"\".concat(L._mousedown,\" \").concat(L._mouseup),function(e){var t=e.originalEvent?e.originalEvent.target||e.originalEvent.originalTarget:null;if(t&&\"INPUT\"!==t.tagName&&!L.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1},!0),L.helpers.isMobile()&&L.events.$on(L.$tb,\"click\",function(){L.popups.areVisible().length||L.id!==L.shared.selected_editor&&L.shared.selected_editor||L.$el.focus()}),L.events.$on(L.$tb,\"transitionend\",\".fr-more-toolbar\",function(){L.$box.hasClass(\"fr-fullscreen\")&&(L.opts.height=L.o_win.innerHeight-(L.opts.toolbarInline?0:L.$tb.outerHeight()+(L.$second_tb?L.$second_tb.outerHeight():0)),L.size.refresh())})}var p=!1;return{_init:function u(){if(L.$sc=y(L.opts.scrollableContainer).first(),!L.$wp)return!1;L.opts.toolbarInline||L.opts.toolbarBottom||(L.$second_tb=y(L.doc.createElement(\"div\")).attr(\"class\",\"fr-second-toolbar\"),L.$box.append(L.$second_tb),(!1!==L.ul||L.opts.attribution)&&L.$second_tb.prepend(Y.POWERED_BY)),L.opts.toolbarContainer?(L.shared.$tb?(L.$tb=L.shared.$tb,L.opts.toolbarInline&&l()):(L.shared.$tb=y(L.doc.createElement(\"DIV\")),L.shared.$tb.addClass(\"fr-toolbar\"),L.$tb=L.shared.$tb,y(L.opts.toolbarContainer).append(L.$tb),f(),L.$tb.data(\"instance\",L)),L.opts.toolbarInline?L.$box.addClass(\"fr-inline\"):L.$box.addClass(\"fr-basic\"),L.events.on(\"focus\",function(){L.$tb.data(\"instance\",L)},!0),L.opts.toolbarInline=!1):L.opts.toolbarInline?(L.$box.addClass(\"fr-inline\"),L.shared.$tb?(L.$tb=L.shared.$tb,l()):(L.shared.$tb=y(L.doc.createElement(\"DIV\")),L.shared.$tb.addClass(\"fr-toolbar\"),L.$tb=L.shared.$tb,f())):(L.$box.addClass(\"fr-basic\"),L.$tb=y(L.doc.createElement(\"DIV\")),L.$tb.addClass(\"fr-toolbar\"),f(),L.$tb.data(\"instance\",L)),L.events.on(\"destroy\",d,!0),L.events.on(L.opts.toolbarInline||L.opts.toolbarContainer?\"shared.destroy\":\"destroy\",c,!0),L.events.on(\"edit.on\",function(){L.$tb.removeClass(\"fr-disabled\").removeAttr(\"aria-disabled\")}),L.events.on(\"edit.off\",function(){L.$tb.addClass(\"fr-disabled\").attr(\"aria-disabled\",!0)}),function e(){L.events.on(\"shortcut\",function(e,t,n){var r;if(t&&!n?r=L.$tb.find('.fr-command[data-cmd=\"'.concat(t,'\"]')):t&&n&&(r=L.$tb.find('.fr-command[data-cmd=\"'.concat(t,'\"][data-param1=\"').concat(n,'\"]'))),r.length&&(e.preventDefault(),e.stopPropagation(),r.parents(\".fr-toolbar\").data(\"instance\",L),\"keydown\"===e.type))return L.button.exec(r),!1})}()},hide:i,show:function h(){if(!1===L.events.trigger(\"toolbar.show\"))return!1;L.$tb.show()},showInline:r,disable:function g(){!p&&L.$tb&&(L.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-wrap > .fr-command\").addClass(\"fr-disabled fr-no-refresh\").attr(\"aria-disabled\",!0),p=!0)},enable:function C(){p&&L.$tb&&(L.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-wrap > .fr-command\").removeClass(\"fr-disabled fr-no-refresh\").attr(\"aria-disabled\",!1),p=!1),L.button.bulkRefresh()},setMoreToolbarsHeight:T}};var c=[\"scroll\",\"wheel\",\"touchmove\",\"touchstart\",\"touchend\"],f=[\"webkit\",\"moz\",\"ms\",\"o\"],p=[\"transitionend\"],i=document.createElement(\"div\").style,a=[\"Webkit\",\"Moz\",\"ms\",\"O\",\"css\",\"style\"],s={visibility:\"hidden\",display:\"block\"},r=[\"focus\",\"blur\",\"click\"],u={},h=function h(e,t){return{altKey:e.altKey,bubbles:e.bubbles,cancelable:e.cancelable,changedTouches:e.changedTouches,ctrlKey:e.ctrlKey,detail:e.detail,eventPhase:e.eventPhase,metaKey:e.metaKey,pageX:e.pageX,pageY:e.pageY,shiftKey:e.shiftKey,view:e.view,\"char\":e[\"char\"],key:e.key,keyCode:e.keyCode,button:e.button,buttons:e.buttons,clientX:e.clientX,clientY:e.clientY,offsetX:e.offsetX,offsetY:e.offsetY,pointerId:e.pointerId,pointerType:e.pointerType,screenX:e.screenX,screenY:e.screenY,targetTouches:e.targetTouches,toElement:e.toElement,touches:e.touches,type:e.type,which:e.which,target:e.target,currentTarget:t,originalEvent:e,stopPropagation:function(){e.stopPropagation()},stopImmediatePropagation:function(){e.stopImmediatePropagation()},preventDefault:function(){(/Android/i.test(navigator.userAgent)&&\"touchend\"===e.type||-1===c.indexOf(e.type))&&e.preventDefault()}}},g=function g(e){if(e.ownerDocument&&e.ownerDocument.body&&e.ownerDocument.body.contains(e)||\"#document\"===e.nodeName||\"HTML\"===e.nodeName||e===window)return!0;if(\"function\"!=typeof e.getRootNode)return!1;var t=e.getRootNode();return t&&t.host&&g(t.host)},C=function C(n,r){return function(e){var t=e.target;if(r)for(r=v(r);t&&t!==this;)Element.prototype.matches.call(t,v(r))&&n.call(t,h(e,t)),t=t.parentNode;else g(t)&&n.call(t,h(e,t))}},m=function m(e,t){return new L(e,t)},v=function v(e){return e&&\"string\"==typeof e?e.replace(/^\\s*>/g,\":scope >\").replace(/,\\s*>/g,\", :scope >\"):e},b=function b(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},E=m;m.fn=m.prototype={constructor:m,length:0,contains:function(e){if(!e)return!1;if(Array.isArray(e)){for(var t=0;t<e.length;t++)if(this.contains(e[t])&&this!=e[t])return!0;return!1}for(var n=0;n<this.length;n++)for(var r=e;r;){if(r==this[n]||r[0]&&r[0].isEqualNode(this[n]))return!0;r=r.parentNode}return!1},findVisible:function(e){for(var t=this.find(e),n=t.length-1;0<=n;n--)E(t[n]).isVisible()||t.splice(n,1);return t},formatParams:function(t){var e=\"\".concat(Object.keys(t).map(function(e){return\"\".concat(e,\"=\").concat(encodeURIComponent(t[e]))}).join(\"&\"));return e||\"\"},ajax:function(t){var n=new XMLHttpRequest,e=this.formatParams(t.data);for(var r in\"GET\"===t.method.toUpperCase()&&(t.url=e?t.url+\"?\"+e:t.url),n.open(t.method,t.url,!0),t.withCredentials&&(n.withCredentials=!0),t.crossDomain&&n.setRequestHeader(\"Access-Control-Allow-Origin\",\"*\"),t.headers)Object.prototype.hasOwnProperty.call(t.headers,r)&&n.setRequestHeader(r,t.headers[r]);Object.prototype.hasOwnProperty.call(t.headers,\"Content-Type\")||(\"json\"===t.dataType?n.setRequestHeader(\"Content-Type\",\"application/json\"):n.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded; charset=UTF-8\")),n.onload=function(){if(200==n.status){var e=n.responseText;\"json\"===t.dataType&&(e=JSON.parse(e)),t.done(e,n.status,n)}else t.fail(n)},n.send(e)},prevAll:function(){var e=E();if(!this[0])return e;for(var t=this[0];t&&t.previousSibling;)t=t.previousSibling,e.push(t);return e},index:function(e){return e?\"string\"==typeof e?[].indexOf.call(E(e),this[0]):[].indexOf.call(this,e.length?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},isVisible:function(){return!!this[0]&&!!(this[0].offsetWidth||this[0].offsetHeight||this[0].getClientRects().length)},toArray:function(){return[].slice.call(this)},get:function(e){return null==e?[].slice.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=m.merge(this.constructor(),e);return t.prevObject=this,t},wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=m(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){if(\"string\"==typeof e){for(var t=e.split(\" \"),n=0;n<t.length&&0===t[n].trim().length;)n++;if(n<t.length&&(E(e).length&&t[n].trim()===E(e)[0].tagName&&(e=document.createElement(t[n].trim())),n++),\"string\"!=typeof e)for(var r=E(e);n<t.length;n++){t[n]=t[n].trim();var o=t[n].split(\"=\");r.attr(o[0],o[1].replace('\"',\"\"))}}for(;this[0].firstChild&&this[0].firstChild!==e&&\"string\"!=typeof e;)e.appendChild(this[0].firstChild)},wrapContent:function(e){for(var t=document.createElement(e.tagName),n=0;n<e.attributes.length;n++)E(t).attr(e.attributes[n].nodeName,e.attributes[n].value);E(this[0]).contents().wrapAll(t)},wrap:function(t){var n=b(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(){return this.parent().each(function(){this.nodeName&&this.nodeName.toLowerCase()===name.toLowerCase()||m(this).replaceWith(this.childNodes)})},grep:function(e,t,n){for(var r=[],o=0,i=e.length,a=!n;o<i;o++)!t(e[o],o)!==a&&r.push(e[o]);return r},map:function(n){return this.pushStack(m.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack([].slice.apply(this,arguments))},each:function(e){if(this.length)for(var t=0;t<this.length&&!1!==e.call(this[t],t,this[t]);t++);return this},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},empty:function(){for(var e=0;e<this.length;e++)this[e].innerHTML=\"\"},contents:function(){for(var e=E(),t=0;t<this.length;t++)for(var n=this[t].childNodes,r=0;r<n.length;r++)e.push(n[r]);return e},attr:function(e,t){if(\"object\"===w(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&null!==e[n]&&this.attr(n,e[n]);return this}if(void 0===t)return 0===this.length||!this[0].getAttribute&&\"checked\"!==e?undefined:\"checked\"===e?this[0].checked:\"tagName\"===e?this[0].tagName:this[0].getAttribute(e);if(\"checked\"===e)for(var r=0;r<this.length;r++)this[r].checked=t;else if(\"tagName\"===e)for(var o=0;o<this.length;o++)this[o].tagName=t;else for(var i=0;i<this.length;i++)this[i].setAttribute(e,t);return this},removeAttr:function(e){for(var t=0;t<this.length;t++)this[t].removeAttribute&&this[t].removeAttribute(e);return this},hide:function(){return this.css(\"display\",\"none\"),this},show:function(){return this.css(\"display\",\"block\"),this},focus:function(){return this.length&&this[0].focus(),this},blur:function(){return this.length&&this[0].blur(),this},data:function(e,t){if(void 0!==t){for(var n=0;n<this.length;n++)\"object\"!==w(this[n][\"data-\"+e]=t)&&\"function\"!=typeof t&&this[n].setAttribute&&this[n].setAttribute(\"data-\"+e,t);return this}if(void 0!==t)return this.attr(\"data-\"+e,t);if(0===this.length)return undefined;for(var r=0;r<this.length;r++){var o=this[r][\"data-\"+e];if(null==o&&this[r].getAttribute&&(o=this[r].getAttribute(\"data-\"+e)),void 0!==o&&null!=o)return o}return undefined},removeData:function(e){for(var t=0;t<this.length;t++)this[t].removeAttribute&&this[t].removeAttribute(\"data-\"+e),this[t][\"data-\"+e]=null;return this},getCorrectStyleName:function(e){if(!u[e]){var t;e in i&&(t=e);for(var n=e[0].toUpperCase()+e.slice(1),r=a.length;r--;)(e=a[r]+n)in i&&(t=e);u[e]=t}return u[e]},css:function(e,t){if(void 0!==t){if(0===this.length)return this;(\"string\"!=typeof t||\"\"===t.trim()||isNaN(t))&&\"number\"!=typeof t||!/(margin)|(padding)|(height)|(width)|(top)|(left)|(right)|(bottom)/gi.test(e)||/(line-height)/gi.test(e)||(t+=\"px\");for(var n=0;n<this.length;n++)e=E(this).getCorrectStyleName(e),this[n].style[e]=t;return this}if(\"string\"==typeof e){if(0===this.length)return undefined;var r=this[0].ownerDocument||document,o=r.defaultView||r.parentWindow;return e=E(this).getCorrectStyleName(e),o.getComputedStyle(this[0])[e]}for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&this.css(i,e[i]);return this},toggleClass:function(e,t){if(1<e.split(\" \").length){for(var n=e.split(\" \"),r=0;r<n.length;r++)this.toggleClass(n[r],t);return this}for(var o=0;o<this.length;o++)void 0===t?this[o].classList.contains(e)?this[o].classList.remove(e):this[o].classList.add(e):t?this[o].classList.contains(e)||this[o].classList.add(e):this[o].classList.contains(e)&&this[o].classList.remove(e);return this},addClass:function(e){if(0===e.length)return this;if(1<e.split(\" \").length){for(var t=e.split(\" \"),n=0;n<t.length;n++)this.addClass(t[n]);return this}for(var r=0;r<this.length;r++)this[r].classList.add(e);return this},removeClass:function(e){if(1<e.split(\" \").length){for(var t=e.split(\" \"),n=0;n<t.length;n++)t[n]=t[n].trim(),t[n].length&&this.removeClass(t[n]);return this}for(var r=0;r<this.length;r++)e.length&&this[r].classList.remove(e);return this},getClass:function(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"},stripAndCollapse:function(e){return(e.match(/[^\\x20\\t\\r\\n\\f]+/g)||[]).join(\" \")},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&-1<(\" \"+E(this).stripAndCollapse(E(this).getClass(n))+\" \").indexOf(t))return!0;return!1},scrollTop:function(e){if(void 0===e)return 0===this.length?undefined:this[0]===document?document.documentElement.scrollTop:this[0].scrollTop;for(var t=0;t<this.length;t++)this[t]===document?window.scrollTo(document.documentElement.scrollLeft,e):this[t].scrollTop=e},scrollLeft:function(e){if(void 0===e)return 0===this.length?undefined:this[0]===document?document.documentElement.scrollLeft:this[0].scrollLeft;for(var t=0;t<this.length;t++)this[t]===document?window.scrollTo(e,document.documentElement.scrollTop):this[t].scrollLeft=e},on:function(e,t,n){if(1<e.split(\" \").length){for(var r=e.split(\" \"),o=0;o<r.length;o++)if(-1!==p.indexOf(e))for(var i=0;i<f.length;i++)this.on(f[i]+e[0].toUpperCase()+e.slice(1),t,n);else this.on(r[o],t,n);return this}n=\"function\"==typeof t?C(t,null):C(n,t);for(var a=0;a<this.length;a++){var s=E(this[a]);s.data(\"events\")||s.data(\"events\",[]),s.data(\"events\").push([e,n]);var l=e.split(\".\");l=l[0],/Android/i.test(navigator.userAgent)&&e.includes(\"touchend\")||!(0<=c.indexOf(l))?s.get(0).addEventListener(l,n):s.get(0).addEventListener(l,n,{passive:!0})}},off:function(e){if(1<e.split(\" \").length){for(var t=e.split(\" \"),n=0;n<t.length;n++)this.off(t[n]);return this}for(var r=0;r<this.length;r++){var o=E(this[r]);if(o.data(\"events\")){var i=e.split(\".\");i=i[0];for(var a=o.data(\"events\")||[],s=a.length-1;0<=s;s--){var l=a[s];l[0]==e&&(o.get(0).removeEventListener(i,l[1]),a.splice(s,1))}}}},trigger:function(e){for(var t=0;t<this.length;t++){var n=void 0;\"function\"==typeof Event?n=0<=e.search(/^mouse/g)?new MouseEvent(e,{view:window,cancelable:!0,bubbles:!0}):new Event(e):0<=e.search(/^mouse/g)?(n=document.createEvent(\"MouseEvents\")).initMouseEvent(e,!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null):(n=document.createEvent(\"Event\")).initEvent(e,!0,!0),0<=r.indexOf(e)&&\"function\"==typeof this[t][e]?this[t][e]():this[t].dispatchEvent(n)}},triggerHandler:function(){},val:function(e){if(void 0===e)return this[0].value;for(var t=0;t<this.length;t++)this[t].value=e;return this},siblings:function(){return E(this[0]).parent().children().not(this)},find:function(e){var t=E();if(\"string\"!=typeof e){for(var n=0;n<e.length;n++)for(var r=0;r<this.length;r++)if(this[r]!==e[n]&&E(this[r]).contains(e[n])){t.push(e[n]);break}return t}var o=function o(e){return\"object\"===(\"undefined\"==typeof HTMLElement?\"undefined\":w(HTMLElement))?e instanceof HTMLElement:e&&\"object\"===w(e)&&null!==e&&1===e.nodeType&&\"string\"==typeof e.nodeName};e=v(e);for(var i=0;i<this.length;i++)if(this[i].querySelectorAll){var a=[];if(e&&\"string\"==typeof e)try{a=this[i].querySelectorAll(e)}catch(l){a=this[i].children}else o(e)&&(a=[e]);for(var s=0;s<a.length;s++)t.push(a[s])}return t},children:function(){for(var e=E(),t=0;t<this.length;t++)for(var n=this[t].children,r=0;r<n.length;r++)e.push(n[r]);return e},not:function(e){if(\"string\"==typeof e)for(var t=this.length-1;0<=t;t--)Element.prototype.matches.call(this[t],e)&&this.splice(t,1);else if(e instanceof m){for(var n=this.length-1;0<=n;n--)for(var r=0;r<e.length;r++)if(this[n]===e[r]){this.splice(n,1);break}}else for(var o=this.length-1;0<=o;o--)this[o]===e[0]&&this.splice(o,1);return this},add:function(e){for(var t=0;t<e.length;t++)this.push(e[t]);return this},closest:function(e){for(var t=0;t<this.length;t++){var n=Element.prototype.closest.call(this[t],e);if(n)return E(n)}return E()},html:function(e){if(void 0===e)return 0===this.length?undefined:this[0].innerHTML;if(\"string\"==typeof e)for(var t=0;t<this.length;t++){this[t].innerHTML=e;for(var n=this[t].children,r=this[t].ownerDocument||document,o=0;o<n.length;o++)if(\"SCRIPT\"===n[o].tagName){var i=r.createElement(\"script\");i.innerHTML=n[o].innerHTML,n[o].hasAttribute(\"async\")&&i.setAttribute(\"async\",\"\"),i.src=n[o].src,n[o].hasAttribute(\"defer\")&&i.setAttribute(\"defer\",\"\"),r.head.appendChild(i).parentNode.removeChild(i)}}else{this[0].innerHTML=\"\",this.append(e[0]);var a=this[0].ownerDocument||document;if(\"SCRIPT\"===e[0].tagName){var s=a.createElement(\"script\");s.innerHTML=e[0].innerHTML,a.head.appendChild(s).parentNode.removeChild(s)}}return this},text:function(e){if(!e)return this.length?this[0].textContent:\"\";for(var t=0;t<this.length;t++)this[t].textContent=e},after:function e(t){if(t)if(\"string\"==typeof t)for(var n=0;n<this.length;n++){var e=this[n];if(e.nodeType!=Node.ELEMENT_NODE){var r=e.ownerDocument.createElement(\"SPAN\");E(e).after(r),E(r).after(t).remove()}else e.insertAdjacentHTML(\"afterend\",t)}else{var o=this[0];if(o.nextSibling)if(t instanceof m)for(var i=0;i<t.length;i++)o.nextSibling.parentNode.insertBefore(t[i],o.nextSibling);else o.nextSibling.parentNode.insertBefore(t,o.nextSibling);else E(o.parentNode).append(t)}return this},clone:function(e){for(var t=E(),n=0;n<this.length;n++)t.push(this[n].cloneNode(e));return t},replaceWith:function(e){if(\"string\"==typeof e)for(var t=0;t<this.length;t++)this[t].parentNode&&(this[t].outerHTML=e);else if(e&&e.length)for(var n=0;n<this.length;n++)this.replaceWith(e[n]);else this.after(e).remove()},insertBefore:function(e){return E(e).before(this[0]),this},before:function e(t){if(t instanceof m){for(var n=0;n<t.length;n++)this.before(t[n]);return this}if(t)if(\"string\"==typeof t)for(var r=0;r<this.length;r++){var e=this[r];if(e.nodeType!=Node.ELEMENT_NODE){var o=e.ownerDocument.createElement(\"SPAN\");E(e).before(o),E(o).before(t).remove()}else e.parentNode&&e.insertAdjacentHTML(\"beforebegin\",t)}else{var i=this[0];if(i.parentNode)if(t instanceof m)for(var a=0;a<t.length;a++)i.parentNode.insertBefore(t[a],i);else i.parentNode.insertBefore(t,i)}return this},append:function(e){if(0==this.length)return this;if(\"string\"==typeof e)for(var t=0;t<this.length;t++){var n=this[t],r=n.ownerDocument.createElement(\"SPAN\");E(n).append(r),E(r).after(e).remove()}else if(e instanceof m||Array.isArray(e))for(var o=0;o<e.length;o++)this.append(e[o]);else\"function\"!=typeof e&&this[0].appendChild(e);return this},prepend:function(e){if(0==this.length)return this;if(\"string\"==typeof e)for(var t=0;t<this.length;t++){var n=this[t],r=n.ownerDocument.createElement(\"SPAN\");E(n).prepend(r),E(r).before(e).remove()}else if(e instanceof m)for(var o=0;o<e.length;o++)this.prepend(e[o]);else{var i=this[0];i.firstChild?i.firstChild?i.insertBefore(e,i.firstChild):i.appendChild(e):E(i).append(e)}return this},remove:function(){for(var e=0;e<this.length;e++)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},prev:function(){return this.length&&this[0].previousElementSibling?E(this[0].previousElementSibling):E()},next:function(){return this.length&&this[0].nextElementSibling?E(this[0].nextElementSibling):E()},nextAllVisible:function(){return this.next()},prevAllVisible:function(){return this.prev()},outerHeight:function(e){if(0===this.length)return undefined;var t=this[0];if(t===t.window)return t.innerHeight;var n={},r=this.isVisible();if(!r)for(var o in s)n[o]=t.style[o],t.style[o]=s[o];var i=t.offsetHeight;if(e&&(i+=parseInt(E(t).css(\"marginTop\"))+parseInt(E(t).css(\"marginBottom\"))),!r)for(var a in s)t.style[a]=n[a];return i},outerWidth:function(e){if(0===this.length)return undefined;var t=this[0];if(t===t.window)return t.outerWidth;var n={},r=this.isVisible();if(!r)for(var o in s)n[o]=t.style[o],t.style[o]=s[o];var i=t.offsetWidth;if(e&&(i+=parseInt(E(t).css(\"marginLeft\"))+parseInt(E(t).css(\"marginRight\"))),!r)for(var a in s)t.style[a]=n[a];return i},width:function(e){if(e===undefined){if(this[0]instanceof HTMLDocument)return this[0].body.offsetWidth;if(this[0])return this[0].offsetWidth}else this[0].style.width=e+\"px\"},height:function(e){var t=this[0];if(e===undefined){if(t instanceof HTMLDocument){var n=t.documentElement;return Math.max(t.body.scrollHeight,n.scrollHeight,t.body.offsetHeight,n.offsetHeight,n.clientHeight)}return t.offsetHeight}t.style.height=e+\"px\"},is:function(e){return 0!==this.length&&(\"string\"==typeof e&&this[0].matches?this[0].matches(e):e instanceof m?this[0]==e[0]:this[0]==e)},parent:function(){return 0===this.length?E():E(this[0].parentNode)},_matches:function(e,t){var n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector;return e&&!t?n:n.call(e,t)},parents:function(e){for(var t=E(),n=0;n<this.length;n++)for(var r=this[n].parentNode;r&&r!=document&&this._matches(r);)e?this._matches(r,e)&&t.push(r):t.push(r),r=r.parentNode;return t},parentsUntil:function(e,t){var n=E();e instanceof m&&0<e.length&&(e=e[0]);for(var r=0;r<this.length;r++)for(var o=this[r].parentNode;o&&o!=document&&o!=e&&this[r]!=e&&(\"string\"!=typeof e||!Element.prototype.matches.call(o,e));)t?Element.prototype.matches.call(o,t)&&n.push(o):n.push(o),o=o.parentNode;return n},insertAfter:function(e){var t=e.parent()[0];t&&t.insertBefore(this[0],e[0].nextElementSibling)},filter:function(e){var t=E();if(\"function\"==typeof e)for(var n=0;n<this.length;n++)e.call(this[n],this[n])&&t.push(this[n]);else if(\"string\"==typeof e)for(var r=0;r<this.length;r++)this[r].matches(e)&&t.push(this[r]);return t},offset:function(){if(0===this.length)return undefined;var e=this[0].getBoundingClientRect(),t=this[0].ownerDocument.defaultView;return{top:e.top+t.pageYOffset,left:e.left+t.pageXOffset}},position:function(){return{left:this[0].offsetLeft,top:this[0].offsetTop}},push:[].push,splice:[].splice},m.extend=function(e){e=e||{};for(var t=1;t<arguments.length;t++)if(arguments[t])for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e},m.merge=function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},m.map=function(e,t,n){var r,o,i=0,a=[];if(Array.isArray(e))for(r=e.length;i<r;i++)null!=(o=t(e[i],i,n))&&a.push(o);else for(i in e)null!=(o=t(e[i],i,n))&&a.push(o);return[].concat.apply([],a)};var L=function L(e,t){if(!e)return this;if(\"string\"==typeof e&&\"<\"===e[0]){var n=document.createElement(\"DIV\");return n.innerHTML=e,E(n.firstElementChild)}if(t=t instanceof m?t[0]:t,\"string\"!=typeof e)return e instanceof m?e:(this[0]=e,this.length=1,this);e=v(e);for(var r=(t||document).querySelectorAll(e),o=0;o<r.length;o++)this[o]=r[o];return this.length=r.length,this};L.prototype=m.prototype;var y=Y;function O(){var t=this;this.doc=this.$el.get(0).ownerDocument,this.win=\"defaultView\"in this.doc?this.doc.defaultView:this.doc.parentWindow,this.$doc=m(this.doc),this.$win=m(this.win),this.opts.pluginsEnabled||(this.opts.pluginsEnabled=Object.keys(y.PLUGINS)),this.opts.pluginsDisabled&&(this.opts.pluginsDisabled=Array.isArray(this.opts.pluginsDisabled)?this.opts.pluginsDisabled:[this.opts.pluginsDisabled],this.opts.pluginsEnabled=this.opts.pluginsEnabled.filter(function(e){return!t.opts.pluginsDisabled.includes(e)})),this.opts.initOnClick?(this.load(y.MODULES),this.$el.on(\"touchstart.init\",function(){m(this).data(\"touched\",!0)}),this.$el.on(\"touchmove.init\",function(){m(this).removeData(\"touched\")}),this.$el.on(\"mousedown.init touchend.init dragenter.init focus.init\",function r(e){if(\"false\"!==this.$el.attr(\"contentEditable\")||!this.opts.initOnClick){if(\"touchend\"===e.type&&!this.$el.data(\"touched\"))return!0;if(1===e.which||!e.which){this.$el.off(\"mousedown.init touchstart.init touchmove.init touchend.init dragenter.init focus.init\"),this.load(y.MODULES),this.load(y.PLUGINS);var t=e.originalEvent&&e.originalEvent.originalTarget;if(t&&\"IMG\"===t.tagName&&m(t).trigger(\"mousedown\"),\"undefined\"==typeof this.ul&&this.destroy(),\"touchend\"===e.type&&this.image&&e.originalEvent&&e.originalEvent.target&&m(e.originalEvent.target).is(\"img\")){var n=this;setTimeout(function(){n.image.edit(m(e.originalEvent.target))},100)}this.ready=!0,this.events.trigger(\"initialized\")}}}.bind(this)),this.events.trigger(\"initializationDelayed\")):(this.load(y.MODULES),this.load(y.PLUGINS),m(this.o_win).scrollTop(this.c_scroll),\"undefined\"==typeof this.ul&&this.destroy(),this.ready=!0,this.events.trigger(\"initialized\"))}return y.Bootstrap=function(e,t,n){this.id=++y.ID,this.$=m;var r={};\"function\"==typeof t&&(n=t,t={}),n&&(t.events||(t.events={}),t.events.initialized=n),t&&t.documentReady&&(r.toolbarButtons=[[\"fullscreen\",\"undo\",\"redo\",\"getPDF\",\"print\"],[\"bold\",\"italic\",\"underline\",\"textColor\",\"backgroundColor\",\"clearFormatting\"],[\"alignLeft\",\"alignCenter\",\"alignRight\",\"alignJustify\"],[\"formatOL\",\"formatUL\",\"indent\",\"outdent\"],[\"paragraphFormat\"],[\"fontFamily\"],[\"fontSize\"],[\"insertLink\",\"insertImage\",\"quote\"]],r.paragraphFormatSelection=!0,r.fontFamilySelection=!0,r.fontSizeSelection=!0,r.placeholderText=\"\",r.quickInsertEnabled=!1,r.charCounterCount=!1),this.opts=Object.assign({},Object.assign({},y.DEFAULTS,r,\"object\"===w(t)&&t));var o=JSON.stringify(this.opts);y.OPTS_MAPPING[o]=y.OPTS_MAPPING[o]||this.id,this.sid=y.OPTS_MAPPING[o],y.SHARED[this.sid]=y.SHARED[this.sid]||{},this.shared=y.SHARED[this.sid],this.shared.count=(this.shared.count||0)+1,this.$oel=m(e),this.$oel.data(\"froala.editor\",this),this.o_doc=e.ownerDocument,this.o_win=\"defaultView\"in this.o_doc?this.o_doc.defaultView:this.o_doc.parentWindow,this.c_scroll=m(this.o_win).scrollTop(),this._init()},y.Bootstrap.prototype._init=function(){var e=this.$oel.get(0).tagName;this.$oel.closest(\"label\").length;var t=function(){\"TEXTAREA\"!==e&&(this._original_html=this._original_html||this.$oel.html()),this.$box=this.$box||this.$oel,this.opts.fullPage&&(this.opts.iframe=!0),this.opts.iframe?(this.$iframe=m('<iframe src=\"about:blank\" frameBorder=\"0\">'),this.$wp=m(\"<div></div>\"),this.$box.html(this.$wp),this.$wp.append(this.$iframe),this.$iframe.get(0).contentWindow.document.open(),this.$iframe.get(0).contentWindow.document.write(\"<!DOCTYPE html>\"),this.$iframe.get(0).contentWindow.document.write(\"<html><head></head><body></body></html>\"),this.$iframe.get(0).contentWindow.document.close(),this.iframe_document=this.$iframe.get(0).contentWindow.document,this.$el=m(this.iframe_document.querySelector(\"body\")),this.el=this.$el.get(0),this.$head=m(this.iframe_document.querySelector(\"head\")),this.$html=m(this.iframe_document.querySelector(\"html\"))):(this.$el=m(this.o_doc.createElement(\"DIV\")),this.el=this.$el.get(0),this.$wp=m(this.o_doc.createElement(\"DIV\")).append(this.$el),this.$box.html(this.$wp)),setTimeout(O.bind(this),0)}.bind(this),n=function(){this.$box=m(\"<div>\"),this.$oel.before(this.$box).hide(),this._original_html=this.$oel.val();var e=this;this.$oel.parents(\"form\").on(\"submit.\".concat(this.id),function(){e.events.trigger(\"form.submit\")}),this.$oel.parents(\"form\").on(\"reset.\".concat(this.id),function(){e.events.trigger(\"form.reset\")}),t()}.bind(this),r=function(){this.$el=this.$oel,this.el=this.$el.get(0),this.$el.attr(\"contenteditable\",!0).css(\"outline\",\"none\").css(\"display\",\"inline-block\"),this.opts.multiLine=!1,this.opts.toolbarInline=!1,setTimeout(O.bind(this),0)}.bind(this),o=function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,setTimeout(O.bind(this),0)}.bind(this),i=function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,this.$oel.on(\"click.popup\",function(e){e.preventDefault()}),setTimeout(O.bind(this),0)}.bind(this);this.opts.editInPopup?i():\"TEXTAREA\"===e?n():\"A\"===e?r():\"IMG\"===e?o():\"BUTTON\"===e||\"INPUT\"===e?(this.opts.editInPopup=!0,this.opts.toolbarInline=!1,i()):t()},y.Bootstrap.prototype.load=function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){if(this[t])continue;if(y.PLUGINS[t]&&this.opts.pluginsEnabled.indexOf(t)<0)continue;if(this[t]=new e[t](this),this[t]._init&&(this[t]._init(),this.opts.initOnClick&&\"core\"===t))return!1}},y.Bootstrap.prototype.destroy=function(){this.destrying=!0,this.shared.count--,this.events&&this.events.$off();var e=this.html&&this.html.get();if(this.events&&(this.opts.iframe&&(this.events.disableBlur(),this.win.focus(),this.events.enableBlur()),this.events.trigger(\"destroy\",[],!0),this.events.trigger(\"shared.destroy\",[],!0)),0===this.shared.count){for(var t in this.shared)Object.prototype.hasOwnProperty.call(this.shared,t)&&(this.shared[t]=null,y.SHARED[this.sid][t]=null);delete y.SHARED[this.sid]}this.$oel.parents(\"form\").off(\".\".concat(this.id)),this.$oel.off(\"click.popup\"),this.$oel.removeData(\"froala.editor\"),this.$oel.off(\"froalaEditor\"),this.core&&this.core.destroy(e),y.INSTANCES.splice(y.INSTANCES.indexOf(this),1)},Y});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(o,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(o.FroalaEditor)}(this,function(v){\"use strict\";v=v&&v.hasOwnProperty(\"default\")?v[\"default\"]:v,Object.assign(v.POPUP_TEMPLATES,{\"textColor.picker\":\"[_BUTTONS_][_TEXT_COLORS_][_CUSTOM_COLOR_]\",\"backgroundColor.picker\":\"[_BUTTONS_][_BACKGROUND_COLORS_][_CUSTOM_COLOR_]\"}),Object.assign(v.DEFAULTS,{colorsText:[\"#61BD6D\",\"#1ABC9C\",\"#54ACD2\",\"#2C82C9\",\"#9365B8\",\"#475577\",\"#CCCCCC\",\"#41A85F\",\"#00A885\",\"#3D8EB9\",\"#2969B0\",\"#553982\",\"#28324E\",\"#000000\",\"#F7DA64\",\"#FBA026\",\"#EB6B56\",\"#E25041\",\"#A38F84\",\"#EFEFEF\",\"#FFFFFF\",\"#FAC51C\",\"#F37934\",\"#D14841\",\"#B8312F\",\"#7C706B\",\"#D1D5D8\",\"REMOVE\"],colorsBackground:[\"#61BD6D\",\"#1ABC9C\",\"#54ACD2\",\"#2C82C9\",\"#9365B8\",\"#475577\",\"#CCCCCC\",\"#41A85F\",\"#00A885\",\"#3D8EB9\",\"#2969B0\",\"#553982\",\"#28324E\",\"#000000\",\"#F7DA64\",\"#FBA026\",\"#EB6B56\",\"#E25041\",\"#A38F84\",\"#EFEFEF\",\"#FFFFFF\",\"#FAC51C\",\"#F37934\",\"#D14841\",\"#B8312F\",\"#7C706B\",\"#D1D5D8\",\"REMOVE\"],colorsStep:7,colorsHEXInput:!0,colorsButtons:[\"colorsBack\",\"|\",\"-\"]}),v.PLUGINS.colors=function(m){var O=m.$,s='<div class=\"fr-color-hex-layer fr-active fr-layer\" id=\"fr-color-hex-layer- \\n  '.concat(m.id,'\"><div class=\"fr-input-line\"><input maxlength=\"9\" id=\"[ID]\"\\n  type=\"text\" placeholder=\"').concat(m.language.translate(\"HEX Color\"),'\" \\n  tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button \\n  type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"[COMMAND]\" tabIndex=\"2\" role=\"button\">\\n  ').concat(m.language.translate(\"OK\"),\"</button></div></div>\");function l(o){for(var t=\"text\"===o?m.opts.colorsText:m.opts.colorsBackground,r='<div class=\"fr-color-set fr-'.concat(o,'-color fr-selected-set\">'),e=0;e<t.length;e++)0!==e&&e%m.opts.colorsStep==0&&(r+=\"<br>\"),\"REMOVE\"!==t[e]?r+='<span class=\"fr-command fr-select-color\" style=\"background:'.concat(t[e].toUpperCase(),';\" \\n        tabIndex=\"-1\" aria-selected=\"false\" role=\"button\" data-cmd=\"apply').concat(o,'Color\" \\n        data-param1=\"').concat(t[e].toUpperCase(),'\"><span class=\"fr-sr-only\"> ').concat(m.language.translate(\"Color\")).concat(t[e],\" \\n        &nbsp;&nbsp;&nbsp;</span></span>\"):r+='<span class=\"fr-command fr-select-color\" data-cmd=\"apply'.concat(o,'Color\"\\n         tabIndex=\"-1\" role=\"button\" data-param1=\"REMOVE\" \\n         title=\"').concat(m.language.translate(\"Clear Formatting\"),'\">').concat(m.icon.create(\"remove\"),' \\n        <span class=\"fr-sr-only\"> ').concat(m.language.translate(\"Clear Formatting\"),\" </span></span>\");return\"\".concat(r,\"</div>\")}function i(o){var t,r=m.popups.get(\"\".concat(o,\"Color.picker\")),e=O(m.selection.element());t=\"background\"===o?\"background-color\":\"color\";var a=r.find(\".fr-\".concat(o,\"-color .fr-select-color\"));for(a.find(\".fr-selected-color\").remove(),a.removeClass(\"fr-active-item\"),a.not('[data-param1=\"REMOVE\"]').attr(\"aria-selected\",!1);e.get(0)!==m.el;){if(\"transparent\"!==e.css(t)&&\"rgba(0, 0, 0, 0)\"!==e.css(t)){var c=r.find(\".fr-\".concat(o,'-color .fr-select-color[data-param1=\"').concat(m.helpers.RGBToHex(e.css(t)),'\"]'));c.append('<span class=\"fr-selected-color\" aria-hidden=\"true\">\\uf00c</span>'),c.addClass(\"fr-active-item\").attr(\"aria-selected\",!0);break}e=e.parent()}!function n(o){var t=m.popups.get(\"\".concat(o,\"Color.picker\")),r=t.find(\".fr-\".concat(o,\"-color .fr-active-item\")).attr(\"data-param1\"),e=t.find(\".fr-color-hex-layer input\");r||(r=\"\");e.length&&O(e.val(r).input).trigger(\"change\")}(o)}function e(o){\"REMOVE\"!==o?m.format.applyStyle(\"background-color\",m.helpers.HEXtoRGB(o)):m.format.removeStyle(\"background-color\"),m.popups.hide(\"backgroundColor.picker\")}function a(o){\"REMOVE\"!==o?m.format.applyStyle(\"color\",m.helpers.HEXtoRGB(o)):m.format.removeStyle(\"color\"),m.popups.hide(\"textColor.picker\")}return{showColorsPopup:function p(o){var t=m.$tb.find('.fr-command[data-cmd=\"'.concat(o,'\"]')),r=m.popups.get(\"\".concat(o,\".picker\"));if(r||(r=function n(o){var t=\"\";m.opts.toolbarInline&&0<m.opts.colorsButtons.length&&(t+='<div class=\"fr-buttons fr-colors-buttons fr-tabs\">\\n        '.concat(m.button.buildList(m.opts.colorsButtons),\"\\n        </div>\"));var r,e=\"\";r=\"textColor\"===o?(m.opts.colorsHEXInput&&(e=s.replace(/\\[ID\\]/g,\"fr-color-hex-layer-text-\".concat(m.id)).replace(/\\[COMMAND\\]/g,\"customTextColor\")),{buttons:t,text_colors:l(\"text\"),custom_color:e}):(m.opts.colorsHEXInput&&(e=s.replace(/\\[ID\\]/g,\"fr-color-hex-layer-background-\".concat(m.id)).replace(/\\[COMMAND\\]/g,\"customBackgroundColor\")),{buttons:t,background_colors:l(\"background\"),custom_color:e});var a=m.popups.create(\"\".concat(o,\".picker\"),r);return function c(h,k){m.events.on(\"popup.tab\",function(o){var t=O(o.currentTarget);if(!m.popups.isVisible(k)||!t.is(\"span, input, button\"))return!0;var r,e,a=o.which,c=!0;if(v.KEYCODE.TAB===a){var n=h.find(\"span.fr-select-color\");if(t.is(n.first())&&o.shiftKey||t.is(h.find(\"span.fr-submit\"))&&!o.shiftKey){var s=h.find(\".fr-buttons\");c=!m.accessibility.focusToolbar(s,!!o.shiftKey)}if(!1!==c){var l=h.find(\"span.fr-select-color\");l.add(h.find(\"input\")),l.add(h.find(\"button.fr-submit\")),r=l.index(t),r=o.shiftKey?((r-1)%l.length+l.length)%l.length:(r+1)%l.length,e=l.get(r),m.events.disableBlur(),e.focus(),c=!1}}else if(v.KEYCODE.ARROW_UP===a||v.KEYCODE.ARROW_DOWN===a||v.KEYCODE.ARROW_LEFT===a||v.KEYCODE.ARROW_RIGHT===a){if(t.is(\"span.fr-select-color\")){var i=t.parent().find(\"span.fr-select-color\"),p=i.index(t),u=m.opts.colorsStep,d=Math.floor(i.length/u),f=p%u,C=Math.floor(p/u),b=C*u+f,g=d*u;v.KEYCODE.ARROW_UP===a?b=((b-u)%g+g)%g:v.KEYCODE.ARROW_DOWN===a?b=(b+u)%g:v.KEYCODE.ARROW_LEFT===a?b=((b-1)%g+g)%g:v.KEYCODE.ARROW_RIGHT===a&&(b=(b+1)%g);var E=O(i.get(b));m.events.disableBlur(),E.focus(),c=!1}}else v.KEYCODE.ENTER===a&&(m.button.exec(t),c=!1);return!1===c&&(o.preventDefault(),o.stopPropagation()),c},!0)}(a,\"\".concat(o,\".picker\")),a}(o)),!r.hasClass(\"fr-active\"))if(m.popups.setContainer(\"\".concat(o,\".picker\"),m.$tb),i(\"textColor\"===o?\"text\":\"background\"),t.isVisible()){var e=m.button.getPosition(t),a=e.left,c=e.top;m.popups.show(\"\".concat(o,\".picker\"),a,c,t.outerHeight())}else m.position.forSelection(r),m.popups.show(\"\".concat(o,\".picker\"))},background:e,customColor:function c(o){var t=m.popups.get(\"\".concat(o,\"Color.picker\")).find(\".fr-color-hex-layer input\");if(t.length){var r=t.val();\"background\"===o?e(r):a(r)}},text:a,back:function o(){m.popups.hide(\"textColor.picker\"),m.popups.hide(\"backgroundColor.picker\"),m.toolbar.showInline()}}},v.DefineIcon(\"textColor\",{NAME:\"tint\",SVG_KEY:\"textColor\"}),v.RegisterCommand(\"textColor\",{title:\"Text Color\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"textColor.picker\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"textColor.picker\")):this.colors.showColorsPopup(\"textColor\")}}),v.RegisterCommand(\"applytextColor\",{undo:!0,callback:function(o,t){this.colors.text(t)}}),v.RegisterCommand(\"customTextColor\",{title:\"OK\",undo:!0,callback:function(){this.colors.customColor(\"text\")}}),v.DefineIcon(\"backgroundColor\",{NAME:\"paint-brush\",SVG_KEY:\"backgroundColor\"}),v.RegisterCommand(\"backgroundColor\",{title:\"Background Color\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"backgroundColor.picker\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"backgroundColor.picker\")):this.colors.showColorsPopup(\"backgroundColor\")}}),v.RegisterCommand(\"applybackgroundColor\",{undo:!0,callback:function(o,t){this.colors.background(t)}}),v.RegisterCommand(\"customBackgroundColor\",{title:\"OK\",undo:!0,callback:function(){this.colors.customColor(\"background\")}}),v.DefineIcon(\"colorsBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),v.RegisterCommand(\"colorsBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.colors.back()}}),v.DefineIcon(\"remove\",{NAME:\"eraser\",SVG_KEY:\"remove\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(m){\"use strict\";m=m&&m.hasOwnProperty(\"default\")?m[\"default\"]:m,Object.assign(m.DEFAULTS,{dragInline:!0}),m.PLUGINS.draggable=function(g){var d=g.$;function e(e){return!(!e.originalEvent||!e.originalEvent.target||e.originalEvent.target.nodeType!==Node.TEXT_NODE)||(e.target&&\"A\"===e.target.tagName&&1===e.target.childNodes.length&&\"IMG\"===e.target.childNodes[0].tagName&&(e.target=e.target.childNodes[0]),d(e.target).hasClass(\"fr-draggable\")?(g.undo.canDo()||g.undo.saveStep(),g.opts.dragInline?g.$el.attr(\"contenteditable\",!0):g.$el.attr(\"contenteditable\",!1),g.opts.toolbarInline&&g.toolbar.hide(),d(e.target).addClass(\"fr-dragging\"),g.browser.msie||g.browser.edge||g.selection.clear(),void e.originalEvent.dataTransfer.setData(\"text\",\"Froala\")):(e.preventDefault(),!1))}var p,v=function v(e){return!(e&&(\"HTML\"===e.tagName||\"BODY\"===e.tagName||g.node.isElement(e)))};function c(e,t,n){if(g.opts.iframe){var r=g.helpers.getPX(g.$wp.find(\".fr-iframe\").css(\"padding-top\")),a=g.helpers.getPX(g.$wp.find(\".fr-iframe\").css(\"padding-left\"));e+=g.$iframe.offset().top+r,t+=g.$iframe.offset().left+a}p.offset().top!==e&&p.css(\"top\",e),p.offset().left!==t&&p.css(\"left\",t),p.width()!==n&&p.css(\"width\",n)}function t(e){e.originalEvent.dataTransfer.dropEffect=\"move\",g.opts.dragInline?(!function n(){for(var e=null,t=0;t<m.INSTANCES.length;t++)if((e=m.INSTANCES[t].$el.find(\".fr-dragging\")).length)return e.get(0)}()||g.browser.msie||g.browser.edge)&&e.preventDefault():(e.preventDefault(),function f(e){var t=g.doc.elementFromPoint(e.originalEvent.pageX-g.win.pageXOffset,e.originalEvent.pageY-g.win.pageYOffset);if(!v(t)){for(var n=0,r=t;!v(r)&&r===t&&0<e.originalEvent.pageY-g.win.pageYOffset-n;)n++,r=g.doc.elementFromPoint(e.originalEvent.pageX-g.win.pageXOffset,e.originalEvent.pageY-g.win.pageYOffset-n);(!v(r)||p&&0===g.$el.find(r).length&&r!==p.get(0))&&(r=null);for(var a=0,o=t;!v(o)&&o===t&&e.originalEvent.pageY-g.win.pageYOffset+a<d(g.doc).height();)a++,o=g.doc.elementFromPoint(e.originalEvent.pageX-g.win.pageXOffset,e.originalEvent.pageY-g.win.pageYOffset+a);(!v(o)||p&&0===g.$el.find(o).length&&o!==p.get(0))&&(o=null),t=null===o&&r?r:o&&null===r?o:o&&r?n<a?r:o:null}if(d(t).hasClass(\"fr-drag-helper\"))return!1;if(t&&!g.node.isBlock(t)&&(t=g.node.blockParent(t)),t&&0<=[\"TD\",\"TH\",\"TR\",\"THEAD\",\"TBODY\"].indexOf(t.tagName)&&(t=d(t).parents(\"table\").get(0)),t&&0<=[\"LI\"].indexOf(t.tagName)&&(t=d(t).parents(\"UL, OL\").get(0)),t&&!d(t).hasClass(\"fr-drag-helper\")){var i;p||(m.$draggable_helper||(m.$draggable_helper=d(document.createElement(\"div\")).attr(\"class\",\"fr-drag-helper\")),p=m.$draggable_helper,g.events.on(\"shared.destroy\",function(){p.html(\"\").removeData().remove(),p=null},!0)),i=e.originalEvent.pageY<d(t).offset().top+d(t).outerHeight()/2;var l=d(t),s=0;i||0!==l.next().length?(i||(l=l.next()),\"before\"===p.data(\"fr-position\")&&l.is(p.data(\"fr-tag\"))||(0<l.prev().length&&(s=parseFloat(l.prev().css(\"margin-bottom\"))||0),s=Math.max(s,parseFloat(l.css(\"margin-top\"))||0),c(l.offset().top-s/2-g.$box.offset().top,l.offset().left-g.win.pageXOffset-g.$box.offset().left,l.width()),p.data(\"fr-position\",\"before\"))):\"after\"===p.data(\"fr-position\")&&l.is(p.data(\"fr-tag\"))||(s=parseFloat(l.css(\"margin-bottom\"))||0,c(l.offset().top+d(t).height()+s/2-g.$box.offset().top,l.offset().left-g.win.pageXOffset-g.$box.offset().left,l.width()),p.data(\"fr-position\",\"after\")),p.data(\"fr-tag\",l),p.addClass(\"fr-visible\"),g.$box.append(p)}else p&&0<g.$box.find(p).length&&p.removeClass(\"fr-visible\")}(e))}function n(e){e.originalEvent.dataTransfer.dropEffect=\"move\",g.opts.dragInline||e.preventDefault()}function r(e){g.$el.attr(\"contenteditable\",!0);var t=g.$el.find(\".fr-dragging\");p&&p.hasClass(\"fr-visible\")&&g.$box.find(p).length?a(e):t.length&&(e.preventDefault(),e.stopPropagation()),p&&g.$box.find(p).length&&p.removeClass(\"fr-visible\"),t.removeClass(\"fr-dragging\")}function a(e){var t,n;g.$el.attr(\"contenteditable\",!0);for(var r=0;r<m.INSTANCES.length;r++)if((t=m.INSTANCES[r].$el.find(\".fr-dragging\")).length){n=m.INSTANCES[r];break}if(t.length){if(e.preventDefault(),e.stopPropagation(),p&&p.hasClass(\"fr-visible\")&&g.$box.find(p).length)p.data(\"fr-tag\")[p.data(\"fr-position\")]('<span class=\"fr-marker\"></span>'),p.removeClass(\"fr-visible\");else if(!1===g.markers.insertAtPoint(e.originalEvent))return!1;if(t.removeClass(\"fr-dragging\"),!1===(t=g.events.chainTrigger(\"element.beforeDrop\",t)))return!1;var a=t;if(t.parent().is(\"A\")&&1===t.parent().get(0).childNodes.length&&(a=t.parent()),g.core.isEmpty())g.events.focus();else g.$el.find(\".fr-marker\").replaceWith(m.MARKERS),g.selection.restore();if(n===g||g.undo.canDo()||g.undo.saveStep(),g.core.isEmpty())g.$el.html(a);else{var o=g.markers.insert();(g||\"\").selection&&a.contains(o)&&a.before(o),0===a.find(o).length?d(o).replaceWith(a):0===t.find(o).length&&d(o).replaceWith(t),t.after(m.MARKERS),g.selection.restore()}return g.popups.hideAll(),g.selection.save(),g.$el.find(g.html.emptyBlockTagsQuery()).not(\"TD, TH, LI, .fr-inner\").not(g.opts.htmlAllowedEmptyTags.join(\",\")).remove(),g.html.wrap(),g.html.fillEmptyBlocks(),g.selection.restore(),g.undo.saveStep(),g.opts.iframe&&g.size.syncIframe(),n!==g&&(n.popups.hideAll(),n.$el.find(n.html.emptyBlockTagsQuery()).not(\"TD, TH, LI, .fr-inner\").remove(),n.html.wrap(),n.html.fillEmptyBlocks(),n.undo.saveStep(),n.events.trigger(\"element.dropped\"),n.opts.iframe&&n.size.syncIframe()),g.events.trigger(\"element.dropped\",[a]),!1}p&&p.removeClass(\"fr-visible\"),g.undo.canDo()||g.undo.saveStep(),setTimeout(function(){g.undo.saveStep()},0)}function o(e){if(e&&\"DIV\"===e.tagName&&g.node.hasClass(e,\"fr-drag-helper\"))e.parentNode.removeChild(e);else if(e&&e.nodeType===Node.ELEMENT_NODE)for(var t=e.querySelectorAll(\"div.fr-drag-helper\"),n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n])}return{_init:function i(){g.opts.enter===m.ENTER_BR&&(g.opts.dragInline=!0),g.events.on(\"dragstart\",e,!0),g.events.on(\"dragover\",t,!0),g.events.on(\"dragenter\",n,!0),g.events.on(\"document.dragend\",r,!0),g.events.on(\"document.drop\",r,!0),g.events.on(\"drop\",a,!0),g.events.on(\"html.processGet\",o)}}}});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(Me){\"use strict\";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}function Ke(e,t){var a=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!a){if(Array.isArray(e)||(a=l(e))||t&&e&&\"number\"==typeof e.length){a&&(e=a);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}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 n,o=!0,s=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return o=e.done,e},e:function(e){s=!0,n=e},f:function(){try{o||null==a[\"return\"]||a[\"return\"]()}finally{if(s)throw n}}}}function Ye(e){return function t(e){if(Array.isArray(e))return r(e)}(e)||function a(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||l(e)||function i(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function We(e){return(We=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(e,t){if(e){if(\"string\"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return\"Object\"===a&&e.constructor&&(a=e.constructor.name),\"Map\"===a||\"Set\"===a?Array.from(e):\"Arguments\"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}}Me=Me&&Me.hasOwnProperty(\"default\")?Me[\"default\"]:Me,Object.assign(Me.POPUP_TEMPLATES,{\"image.insert\":\"[_BUTTONS_][_UPLOAD_LAYER_][_BY_URL_LAYER_][_PROGRESS_BAR_]\",\"image.edit\":\"[_BUTTONS_]\",\"image.alt\":\"[_BUTTONS_][_ALT_LAYER_]\",\"image.size\":\"[_BUTTONS_][_SIZE_LAYER_]\"}),Object.assign(Me.DEFAULTS,{imageInsertButtons:[\"imageBack\",\"|\",\"imageUpload\",\"imageByURL\"],imageEditButtons:[\"imageReplace\",\"imageAlign\",\"imageCaption\",\"imageRemove\",\"imageLink\",\"linkOpen\",\"linkEdit\",\"linkRemove\",\"-\",\"imageDisplay\",\"imageStyle\",\"imageAlt\",\"imageSize\"],imageAltButtons:[\"imageBack\",\"|\"],imageSizeButtons:[\"imageBack\",\"|\"],imageUpload:!0,imageUploadURL:null,imageCORSProxy:\"https://cors-anywhere.froala.com\",imageUploadRemoteUrls:!0,imageUploadParam:\"file\",imageUploadParams:{},imageUploadToS3:!1,imageUploadToAzure:!1,imageUploadMethod:\"POST\",imageMaxSize:10485760,imageAllowedTypes:[\"jpeg\",\"jpg\",\"png\",\"gif\",\"webp\"],imageResize:!0,imageResizeWithPercent:!1,imageRoundPercent:!1,imageDefaultWidth:300,imageDefaultAlign:\"center\",imageDefaultDisplay:\"block\",imageSplitHTML:!1,imageStyles:{\"fr-rounded\":\"Rounded\",\"fr-bordered\":\"Bordered\",\"fr-shadow\":\"Shadow\"},imageMove:!0,imageMultipleStyles:!0,imageTextNear:!0,imagePaste:!0,imagePasteProcess:!1,imageMinWidth:16,imageOutputSize:!1,imageDefaultMargin:5,imageAddNewLine:!1}),Me.IMAGE_ALLOW_REGEX=/\\.(gif|jpe?g|tiff?|png|webp|bmp)$/i,Me.PLUGINS.image=function(R){var U,p,f,g,c,a,A=R.$,C=\"https://i.froala.com/upload\",t=!1,i=1,d=2,u=3,m=4,S=5,E=6,r={};function h(){var e=R.popups.get(\"image.insert\").find(\".fr-image-by-url-layer input\");e.val(\"\"),U&&e.val(U.attr(\"src\")),e.trigger(\"change\")}function o(e){return window.pageYOffset+e.get(0).getBoundingClientRect().top}function n(){var e=R.popups.get(\"image.edit\");if(e||(e=N()),e){var t=U;R.popups.setContainer(\"image.edit\",R.$wp||R.$sc),R.popups.refresh(\"image.edit\");var a=t.offset().left+t.outerWidth()/2,i=t&&o(t),r=R.$wp&&o(R.$wp);r||(r=i);var n=0;R.opts.iframe?((n=R.$wp.scrollTop()+e.outerHeight())<t.get(0).getBoundingClientRect().top&&(n=t.get(0).getBoundingClientRect().top),n>t.get(0).getBoundingClientRect().top+t.height()&&(n=t.get(0).getBoundingClientRect().top+t.height())):n=r<i?i:R.$wp&&i+t.height()<r+R.$wp.height()?i+t.height():r+e.outerHeight(),U.hasClass(\"fr-uploading\")?P():R.popups.show(\"image.edit\",a,n,1,!0)}}function v(){k()}function s(e){0<e.parents(\".fr-img-caption\").length&&(e=e.parents(\".fr-img-caption\").first());var t=e.hasClass(\"fr-dib\")?\"block\":e.hasClass(\"fr-dii\")?\"inline\":null,a=e.hasClass(\"fr-fil\")?\"left\":e.hasClass(\"fr-fir\")?\"right\":ve(e);he(e,t,a),e.removeClass(\"fr-dib fr-dii fr-fir fr-fil\")}function l(){for(var e,t=\"IMG\"==R.el.tagName?[R.el]:R.el.querySelectorAll(\"img\"),a=0;a<t.length;a++){var i=A(t[a]);!R.opts.htmlUntouched&&R.opts.useClasses?((R.opts.imageDefaultAlign||R.opts.imageDefaultDisplay)&&(0<(e=i).parents(\".fr-img-caption\").length&&(e=e.parents(\".fr-img-caption\").first()),e.hasClass(\"fr-dii\")||e.hasClass(\"fr-dib\")||(e.addClass(\"fr-fi\".concat(ve(e)[0])),e.addClass(\"fr-di\".concat(be(e)[0])),e.css(\"margin\",\"\"),e.css(\"float\",\"\"),e.css(\"display\",\"\"),e.css(\"z-index\",\"\"),e.css(\"position\",\"\"),e.css(\"overflow\",\"\"),e.css(\"vertical-align\",\"\"))),R.opts.imageTextNear||(0<i.parents(\".fr-img-caption\").length?i.parents(\".fr-img-caption\").first().removeClass(\"fr-dii\").addClass(\"fr-dib\"):i.removeClass(\"fr-dii\").addClass(\"fr-dib\"))):R.opts.htmlUntouched||R.opts.useClasses||(R.opts.imageDefaultAlign||R.opts.imageDefaultDisplay)&&s(i),R.opts.iframe&&i.on(\"load\",R.size.syncIframe)}}function b(e){void 0===e&&(e=!0);var t,a=Array.prototype.slice.call(R.el.querySelectorAll(\"img\")),i=[];for(t=0;t<a.length;t++)if(i.push(a[t].getAttribute(\"src\")),A(a[t]).toggleClass(\"fr-draggable\",R.opts.imageMove),\"\"===a[t].getAttribute(\"class\")&&a[t].removeAttribute(\"class\"),\"\"===a[t].getAttribute(\"style\")&&a[t].removeAttribute(\"style\"),a[t].parentNode&&a[t].parentNode.parentNode&&R.node.hasClass(a[t].parentNode.parentNode,\"fr-img-caption\")){var r=a[t].parentNode.parentNode;R.browser.mozilla||r.setAttribute(\"contenteditable\",!1),r.setAttribute(\"draggable\",!1),r.classList.add(\"fr-draggable\");var n=a[t].nextSibling;n&&!R.browser.mozilla&&n.setAttribute(\"contenteditable\",!0)}if(c)for(t=0;t<c.length;t++)i.indexOf(c[t].getAttribute(\"src\"))<0&&R.events.trigger(\"image.removed\",[A(c[t])]);if(c&&e){var o=[];for(t=0;t<c.length;t++)o.push(c[t].getAttribute(\"src\"));for(t=0;t<a.length;t++)o.indexOf(a[t].getAttribute(\"src\"))<0&&R.events.trigger(\"image.loaded\",[A(a[t])])}c=a}function x(){if(p||function o(){var e;R.shared.$image_resizer?(p=R.shared.$image_resizer,g=R.shared.$img_overlay,R.events.on(\"destroy\",function(){A(\"body\").first().append(p.removeClass(\"fr-active\"))},!0)):(R.shared.$image_resizer=A(document.createElement(\"div\")).attr(\"class\",\"fr-image-resizer\"),p=R.shared.$image_resizer,R.events.$on(p,\"mousedown\",function(e){e.stopPropagation()},!0),R.opts.imageResize&&(p.append(y(\"nw\")+y(\"ne\")+y(\"sw\")+y(\"se\")),R.shared.$img_overlay=A(document.createElement(\"div\")).attr(\"class\",\"fr-image-overlay\"),g=R.shared.$img_overlay,e=p.get(0).ownerDocument,A(e).find(\"body\").first().append(g)));R.events.on(\"shared.destroy\",function(){p.html(\"\").removeData().remove(),p=null,R.opts.imageResize&&(g.remove(),g=null)},!0),R.helpers.isMobile()||R.events.$on(A(R.o_win),\"resize\",function(){U&&!U.hasClass(\"fr-uploading\")?ce(!0):U&&(x(),ye(),P(!1))});if(R.opts.imageResize){e=p.get(0).ownerDocument,R.events.$on(p,R._mousedown,\".fr-handler\",D),R.events.$on(A(e),R._mousemove,T),R.events.$on(A(e.defaultView||e.parentWindow),R._mouseup,$),R.events.$on(g,\"mouseleave\",$);var i=1,r=null,n=0;R.events.on(\"keydown\",function(e){if(U){var t=-1!=navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey,a=e.which;(a!==r||200<e.timeStamp-n)&&(i=1),(a==Me.KEYCODE.EQUALS||R.browser.mozilla&&a==Me.KEYCODE.FF_EQUALS)&&t&&!e.altKey?i=te.call(this,e,1,1,i):(a==Me.KEYCODE.HYPHEN||R.browser.mozilla&&a==Me.KEYCODE.FF_HYPHEN)&&t&&!e.altKey?i=te.call(this,e,2,-1,i):R.keys.ctrlKey(e)||a!=Me.KEYCODE.ENTER||(U.before(\"<br>\"),z(U)),r=a,n=e.timeStamp}},!0),R.events.on(\"keyup\",function(){i=1})}}(),!U)return!1;var e=R.$wp||R.$sc;e.append(p),p.data(\"instance\",R);var t=e.scrollTop()-(\"static\"!=e.css(\"position\")?e.offset().top:0),a=e.scrollLeft()-(\"static\"!=e.css(\"position\")?e.offset().left:0);a-=R.helpers.getPX(e.css(\"border-left-width\")),t-=R.helpers.getPX(e.css(\"border-top-width\")),R.$el.is(\"img\")&&R.$sc.is(\"body\")&&(a=t=0);var i=Ce();Se()&&(i=i.find(\".fr-img-wrap\"));var r=0,n=0;R.opts.iframe&&(r=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-top\")),n=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-left\"))),p.css(\"top\",(R.opts.iframe?i.offset().top+r:i.offset().top+t)-1).css(\"left\",(R.opts.iframe?i.offset().left+n:i.offset().left+a)-1).css(\"width\",i.get(0).getBoundingClientRect().width).css(\"height\",i.get(0).getBoundingClientRect().height).addClass(\"fr-active\")}function y(e){return'<div class=\"fr-handler fr-h'.concat(e,'\"></div>')}function w(e){Se()&&U.parents(\".fr-img-caption\").css(\"width\",e),U.css(\"width\",e)}function D(e){if(!R.core.sameInstance(p))return!0;if(e.preventDefault(),e.stopPropagation(),R.$el.find(\"img.fr-error\").left)return!1;R.undo.canDo()||R.undo.saveStep();var t=e.pageX||e.originalEvent.touches[0].pageX;if(\"mousedown\"==e.type){var a=R.$oel.get(0),i=a.ownerDocument,r=i.defaultView||i.parentWindow,n=!1;try{n=r.location!=r.parent.location&&!(r.$&&r.$.FE)}catch(l){}n&&r.frameElement&&(t+=R.helpers.getPX(A(a).offset().left)+r.frameElement.clientLeft)}(f=A(this)).data(\"start-x\",t),f.data(\"start-width\",U.width()),f.data(\"start-height\",U.height());var o=U.width();if(R.opts.imageResizeWithPercent){var s=U.parentsUntil(R.$el,R.html.blockTagsQuery()).get(0)||R.el;o=(o/A(s).outerWidth()*100).toFixed(2)+\"%\"}w(o),g.show(),R.popups.hideAll(),me()}function T(e){if(!R.core.sameInstance(p))return!0;var t;if(f&&U){if(e.preventDefault(),R.$el.find(\"img.fr-error\").left)return!1;var a=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null);if(!a)return!1;var i=a-f.data(\"start-x\"),r=f.data(\"start-width\");if((f.hasClass(\"fr-hnw\")||f.hasClass(\"fr-hsw\"))&&(i=0-i),R.opts.imageResizeWithPercent){var n=U.parentsUntil(R.$el,R.html.blockTagsQuery()).get(0)||R.el;r=((r+i)/A(n).outerWidth()*100).toFixed(2),R.opts.imageRoundPercent&&(r=Math.round(r)),w(\"\".concat(r,\"%\")),(t=Se()?(R.helpers.getPX(U.parents(\".fr-img-caption\").css(\"width\"))/A(n).outerWidth()*100).toFixed(2):(R.helpers.getPX(U.css(\"width\"))/A(n).outerWidth()*100).toFixed(2))===r||R.opts.imageRoundPercent||w(\"\".concat(t,\"%\")),U.css(\"height\",\"\").removeAttr(\"height\")}else r+i>=R.opts.imageMinWidth&&(w(r+i),t=Se()?R.helpers.getPX(U.parents(\".fr-img-caption\").css(\"width\")):R.helpers.getPX(U.css(\"width\"))),t!==r+i&&w(t),((U.attr(\"style\")||\"\").match(/(^height:)|(; *height:)/)||U.attr(\"height\"))&&(U.css(\"height\",f.data(\"start-height\")*U.width()/f.data(\"start-width\")),U.removeAttr(\"height\"));x(),R.events.trigger(\"image.resize\",[Ae()])}}function $(e){if(!R.core.sameInstance(p))return!0;if(f&&U){if(e&&e.stopPropagation(),R.$el.find(\"img.fr-error\").left)return!1;f=null,g.hide(),x(),n(),R.undo.saveStep(),R.events.trigger(\"image.resizeEnd\",[Ae()])}else p.removeClass(\"fr-active\")}function I(e,t,a){R.edit.on(),U&&U.addClass(\"fr-error\"),r[e]?O(R.language.translate(r[e])):O(R.language.translate(\"Something went wrong. Please try again.\")),!U&&a&&ae(a),R.events.trigger(\"image.error\",[{code:e,message:r[e]},t,a])}function N(e){if(e)return R.$wp&&R.events.$on(R.$wp,\"scroll.image-edit\",function(){U&&R.popups.isVisible(\"image.edit\")&&(R.events.disableBlur(),n())}),!0;var t=\"\";if(0<R.opts.imageEditButtons.length){var a={buttons:t+='<div class=\"fr-buttons\">\\n        '.concat(R.button.buildList(R.opts.imageEditButtons),\"\\n        </div>\")};return R.popups.create(\"image.edit\",a)}return!1}function P(e){var t=R.popups.get(\"image.insert\");if(t||(t=X()),t.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"),t.find(\".fr-image-progress-bar-layer\").addClass(\"fr-active\"),t.find(\".fr-buttons\").hide(),U){var a=Ce();R.popups.setContainer(\"image.insert\",R.$sc);var i=a.offset().left,r=a.offset().top+a.height();R.popups.show(\"image.insert\",i,r,a.outerHeight())}void 0===e&&B(R.language.translate(\"Uploading\"),0)}function k(e){var t=R.popups.get(\"image.insert\");if(t&&(t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"),t.find(\".fr-image-progress-bar-layer\").removeClass(\"fr-active\"),t.find(\".fr-buttons\").show(),e||R.$el.find(\"img.fr-error\").length)){if(R.events.focus(),R.$el.find(\"img.fr-error\").length&&(R.$el.find(\"img.fr-error\").remove(),R.undo.saveStep(),R.undo.run(),R.undo.dropRedo()),!R.$wp&&U){var a=U;ce(!0),R.selection.setAfter(a.get(0)),R.selection.restore()}R.popups.hide(\"image.insert\")}}function B(e,t){var a=R.popups.get(\"image.insert\");if(a){var i=a.find(\".fr-image-progress-bar-layer\");i.find(\"h3\").text(e+(t?\" \".concat(t,\"%\"):\"\")),i.removeClass(\"fr-error\"),t?(i.find(\"div\").removeClass(\"fr-indeterminate\"),i.find(\"div > span\").css(\"width\",\"\".concat(t,\"%\"))):i.find(\"div\").addClass(\"fr-indeterminate\")}}function O(e){P();var t=R.popups.get(\"image.insert\").find(\".fr-image-progress-bar-layer\");t.addClass(\"fr-error\");var a=t.find(\"h3\");a.text(e),R.events.disableBlur(),a.focus()}function z(e){ge.call(e.get(0))}function L(){var e=A(this);R.popups.hide(\"image.insert\"),e.removeClass(\"fr-uploading\"),e.next().is(\"br\")&&e.next().remove(),z(e),R.events.trigger(\"image.loaded\",[e])}function _(s,e,l,p,f){p&&\"string\"==typeof p&&(p=R.$(p)),R.edit.off(),B(R.language.translate(\"Loading image\")),e&&(s=R.helpers.sanitizeURL(s));var t=new Image;t.onload=function(){var e,t;if(p){R.undo.canDo()||p.hasClass(\"fr-uploading\")||R.undo.saveStep();var a=p.data(\"fr-old-src\");if(p.data(\"fr-image-pasted\")&&(a=null),R.$wp){(e=p.clone().removeData(\"fr-old-src\").removeClass(\"fr-uploading\").removeAttr(\"data-fr-image-pasted\")).off(\"load\"),a&&p.attr(\"src\",a),!R.opts.trackChangesEnabled||p[0].parentNode&&\"SPAN\"===p[0].parentNode.tagName&&p[0].parentNode.hasAttribute(\"data-tracking\")||R.track_changes.replaceSpecialItem(p);var i=c.indexOf(p[0]);0<=i&&(c[i]=e[0]),p.replaceWith(e)}else e=p;for(var r=e.get(0).attributes,n=0;n<r.length;n++){var o=r[n];0===o.nodeName.indexOf(\"data-\")&&\"data-pasted\"!==o.nodeName?e.removeAttr(o.nodeName):l&&l.hasOwnProperty(o.nodeName)&&e.removeAttr(o.nodeName)}if(void 0!==l)for(t in l)l.hasOwnProperty(t)&&\"link\"!=t&&e.attr(\"\".concat(t),l[t]);e.on(\"load\",L),e.attr(\"src\",s),R.edit.on(),b(!1),p[0].src!=s&&R.selection.restore(),R.undo.saveStep(),R.events.disableBlur(),R.$el.blur(),R.events.trigger(a?\"image.replaced\":\"image.inserted\",[e,f])}else(e=W(s,l,L))&&(b(!1),R.undo.saveStep(),R.events.disableBlur(),R.$el.blur(),R.events.trigger(\"image.inserted\",[e,f]))},t.onerror=function(){I(i)},P(R.language.translate(\"Loading image\")),t.src=s}function M(e,t,a){B(R.language.translate(\"Loading image\"));var i=this.status,r=this.response,n=this.responseXML,o=this.responseText;try{if(R.opts.imageUploadToS3||R.opts.imageUploadToAzure)if(201==i){var s;if(R.opts.imageUploadToAzure){if(!1===R.events.trigger(\"image.uploadedToAzure\",[this.responseURL,a,r],!0))return R.edit.on(),!1;s=t}else s=function p(e){try{var t=A(e).find(\"Location\").text(),a=A(e).find(\"Key\").text();return!1===R.events.trigger(\"image.uploadedToS3\",[t,a,e],!0)?(R.edit.on(),!1):t}catch(i){return I(m,e),!1}}(n);s&&_(s,!1,[],e,r||n)}else I(m,r||n,e);else if(200<=i&&i<300){var l=function f(e){try{if(!1===R.events.trigger(\"image.uploaded\",[e],!0))return R.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(I(d,e),!1)}catch(a){return I(m,e),!1}}(o);l&&_(l.link,!1,l,e,r||o)}else I(u,r||o,e)}catch(g){I(m,r||o,e)}}function K(){I(m,this.response||this.responseText||this.responseXML)}function Y(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;B(R.language.translate(\"Uploading\"),t)}}function W(e,t,a){var i,r=A(document.createElement(\"img\")).attr(\"src\",e);if(t&&void 0!==t)for(i in t)t.hasOwnProperty(i)&&\"link\"!=i&&(\" data-\".concat(i,'=\"').concat(t[i],'\"'),r.attr(\"\".concat(i),t[i]));var n=R.opts.imageDefaultWidth;n&&\"auto\"!=n&&(n=R.opts.imageResizeWithPercent?\"100%\":\"\".concat(n,\"px\")),r.attr(\"style\",n?\"width: \".concat(n,\";\"):\"\"),he(r,R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign),r.on(\"load\",a),r.on(\"error\",a),R.edit.on(),R.events.focus(!0),R.selection.restore(),R.undo.saveStep(),R.opts.imageSplitHTML?R.markers.split():R.markers.insert(),R.html.wrap();var o=R.$el.find(\".fr-marker\");if(o.length)(o.parent().is(\"hr\")||o.parent().is(\"IMG\"))&&o.parent().after(o),R.node.isLastSibling(o)&&o.parent().hasClass(\"fr-deletable\")&&o.insertAfter(o.parent()),o.replaceWith(r);else{if(R.opts.trackChangesEnabled)return k(!0),!1;R.$el.append(r)}return R.selection.clear(),r}function G(){R.edit.on(),k(!0)}function H(e,t){if(void 0!==e&&0<e.length){if(!1===R.events.trigger(\"image.beforeUpload\",[e,t]))return!1;var a,i=e[0];if(!(null!==R.opts.imageUploadURL&&R.opts.imageUploadURL!=C||R.opts.imageUploadToS3||R.opts.imageUploadToAzure))return function y(r,n){var o=new FileReader;o.onload=function(){var e=o.result;if(o.result.indexOf(\"svg+xml\")<0){for(var t=atob(o.result.split(\",\")[1]),a=[],i=0;i<t.length;i++)a.push(t.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(a)],{type:r.type})),n&&n.data(\"fr-old-src\",n.attr(\"src\")),R.image.insert(e,!1,null,n)}else R.image.insert(e,null,null,R.image.get())},P(),o.readAsDataURL(r)}(i,t||U),!1;if(i.name||(i.name=(new Date).getTime()+\".\"+(i.type||\"image/jpeg\").replace(/image\\//g,\"\")),i.size>R.opts.imageMaxSize)return I(S),!1;if(R.opts.imageAllowedTypes.indexOf(i.type.replace(/image\\//g,\"\"))<0)return I(E),!1;if(R.drag_support.formdata&&(a=R.drag_support.formdata?new FormData:null),a){var r;if(!1!==R.opts.imageUploadToS3)for(r in a.append(\"key\",R.opts.imageUploadToS3.keyStart+(new Date).getTime()+\"-\"+(i.name||\"untitled\")),a.append(\"success_action_status\",\"201\"),a.append(\"X-Requested-With\",\"xhr\"),a.append(\"Content-Type\",i.type),R.opts.imageUploadToS3.params)R.opts.imageUploadToS3.params.hasOwnProperty(r)&&a.append(r,R.opts.imageUploadToS3.params[r]);for(r in R.opts.imageUploadParams)R.opts.imageUploadParams.hasOwnProperty(r)&&a.append(r,R.opts.imageUploadParams[r]);a.append(R.opts.imageUploadParam,i,i.name);var n,o,s=R.opts.imageUploadURL,l=R.opts.imageUploadMethod;R.opts.imageUploadToS3&&(s=R.opts.imageUploadToS3.uploadURL?R.opts.imageUploadToS3.uploadURL:\"https://\".concat(R.opts.imageUploadToS3.region,\".amazonaws.com/\").concat(R.opts.imageUploadToS3.bucket)),R.opts.imageUploadToAzure&&(n=s=R.opts.imageUploadToAzure.uploadURL?\"\".concat(R.opts.imageUploadToAzure.uploadURL,\"/\").concat(i.name):encodeURI(\"https://\".concat(R.opts.imageUploadToAzure.account,\".blob.core.windows.net/\").concat(R.opts.imageUploadToAzure.container,\"/\").concat(i.name)),R.opts.imageUploadToAzure.SASToken&&(s+=R.opts.imageUploadToAzure.SASToken),l=\"PUT\");var p=R.core.getXHR(s,l);if(R.opts.imageUploadToAzure){var f=(new Date).toUTCString();if(!R.opts.imageUploadToAzure.SASToken&&R.opts.imageUploadToAzure.accessKey){var g=R.opts.imageUploadToAzure.account,c=R.opts.imageUploadToAzure.container;if(R.opts.imageUploadToAzure.uploadURL){var d=R.opts.imageUploadToAzure.uploadURL.split(\"/\");c=d.pop(),g=d.pop().split(\".\")[0]}var u=\"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(f,\"\\nx-ms-version:2019-07-07\"),m=encodeURI(\"/\"+g+\"/\"+c+\"/\"+i.name),h=l+\"\\n\\n\\n\"+i.size+\"\\n\\n\"+i.type+\"\\n\\n\\n\\n\\n\\n\\n\"+u+\"\\n\"+m,v=R.cryptoJSPlugin.cryptoJS.HmacSHA256(h,R.cryptoJSPlugin.cryptoJS.enc.Base64.parse(R.opts.imageUploadToAzure.accessKey)).toString(R.cryptoJSPlugin.cryptoJS.enc.Base64),b=\"SharedKey \"+g+\":\"+v;o=v,p.setRequestHeader(\"Authorization\",b)}for(r in p.setRequestHeader(\"x-ms-version\",\"2019-07-07\"),p.setRequestHeader(\"x-ms-date\",f),p.setRequestHeader(\"Content-Type\",i.type),p.setRequestHeader(\"x-ms-blob-type\",\"BlockBlob\"),R.opts.imageUploadParams)R.opts.imageUploadParams.hasOwnProperty(r)&&p.setRequestHeader(r,R.opts.imageUploadParams[r]);for(r in R.opts.imageUploadToAzure.params)R.opts.imageUploadToAzure.params.hasOwnProperty(r)&&p.setRequestHeader(r,R.opts.imageUploadToAzure.params[r])}!function w(t,a,i,r,n,o){function s(){var e=A(this);e.off(\"load\"),e.addClass(\"fr-uploading\"),e.next().is(\"br\")&&e.next().remove(),R.placeholder.refresh(),z(e),x(),P(),R.edit.off(),t.onload=function(){M.call(t,e,n,o)},t.onerror=K,t.upload.onprogress=Y,t.onabort=G,A(e.off(\"abortUpload\")).on(\"abortUpload\",function(){4!=t.readyState&&(t.abort(),r?(r.attr(\"src\",r.data(\"fr-old-src\")),r.removeClass(\"fr-uploading\")):e.remove(),ce(!0))}),t.send(R.opts.imageUploadToAzure?i:a)}var l=new FileReader;l.onload=function(){var e=l.result;if(l.result.indexOf(\"svg+xml\")<0){for(var t=atob(l.result.split(\",\")[1]),a=[],i=0;i<t.length;i++)a.push(t.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(a)],{type:\"image/jpeg\"}))}r?(r.on(\"load\",s),r.on(\"error\",function(){s(),A(this).off(\"error\")}),R.edit.on(),R.undo.saveStep(),r.data(\"fr-old-src\",r.attr(\"src\")),r.attr(\"src\",e)):W(e,null,s)},l.readAsDataURL(i)}(p,a,i,t||U,n,o)}}}function F(e){if(e.is(\"img\")&&0<e.parents(\".fr-img-caption\").length)return e.parents(\".fr-img-caption\")}function V(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var a=t.files[0];if(a&&a.type&&-1!==a.type.indexOf(\"image\")&&0<=R.opts.imageAllowedTypes.indexOf(a.type.replace(/image\\//g,\"\"))){if(!R.opts.imageUpload)return e.preventDefault(),e.stopPropagation(),!1;R.markers.remove(),R.markers.insertAtPoint(e.originalEvent),R.$el.find(\".fr-marker\").replaceWith(Me.MARKERS),0===R.$el.find(\".fr-marker\").length&&R.selection.setAtEnd(R.el),R.popups.hideAll();var i=R.popups.get(\"image.insert\");i||(i=X()),R.popups.setContainer(\"image.insert\",R.$sc);var r=e.originalEvent.pageX,n=e.originalEvent.pageY;if(R.opts.iframe){var o=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-top\")),s=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-left\"));n+=R.$iframe.offset().top+o,r+=R.$iframe.offset().left+s}return R.popups.show(\"image.insert\",r,n),P(),0<=R.opts.imageAllowedTypes.indexOf(a.type.replace(/image\\//g,\"\"))?(ce(!0),H(t.files)):I(E),e.preventDefault(),e.stopPropagation(),!1}}}function X(e){if(e)return R.popups.onRefresh(\"image.insert\",h),R.popups.onHide(\"image.insert\",v),!0;var t,a,i=\"\";R.opts.imageUpload||-1===R.opts.imageInsertButtons.indexOf(\"imageUpload\")||R.opts.imageInsertButtons.splice(R.opts.imageInsertButtons.indexOf(\"imageUpload\"),1);var r=R.button.buildList(R.opts.imageInsertButtons);\"\"!==r&&(i='<div class=\"fr-buttons fr-tabs\">'.concat(r,\"</div>\"));var n=R.opts.imageInsertButtons.indexOf(\"imageUpload\"),o=R.opts.imageInsertButtons.indexOf(\"imageByURL\"),s=\"\";0<=n&&(t=\" fr-active\",0<=o&&o<n&&(t=\"\"),s='<div class=\"fr-image-upload-layer'.concat(t,' fr-layer\" id=\"fr-image-upload-layer-').concat(R.id,'\"><strong>').concat(R.language.translate(\"Drop image\"),\"</strong><br>(\").concat(R.language.translate(\"or click\"),')<div class=\"fr-form\"><input type=\"file\" accept=\"image/').concat(R.opts.imageAllowedTypes.join(\", image/\").toLowerCase(),'\" tabIndex=\"-1\" aria-labelledby=\"fr-image-upload-layer-').concat(R.id,'\" role=\"button\"></div></div>'));var l=\"\";0<=o&&(t=\" fr-active\",0<=n&&n<o&&(t=\"\"),l='<div class=\"fr-image-by-url-layer'.concat(t,' fr-layer\" id=\"fr-image-by-url-layer-').concat(R.id,'\"><div class=\"fr-input-line\"><input id=\"fr-image-by-url-layer-text-').concat(R.id,'\" type=\"text\" placeholder=\"http://\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageInsertByURL\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Insert\"),\"</button></div></div>\"));var p={buttons:i,upload_layer:s,by_url_layer:l,progress_bar:'<div class=\"fr-image-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"imageDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'};return 1<=R.opts.imageInsertButtons.length&&(a=R.popups.create(\"image.insert\",p)),R.$wp&&R.events.$on(R.$wp,\"scroll\",function(){U&&R.popups.isVisible(\"image.insert\")&&ye()}),function f(i){R.events.$on(i,\"dragover dragenter\",\".fr-image-upload-layer\",function(e){return A(this).addClass(\"fr-drop\"),(R.browser.msie||R.browser.edge)&&e.preventDefault(),!1},!0),R.events.$on(i,\"dragleave dragend\",\".fr-image-upload-layer\",function(e){return A(this).removeClass(\"fr-drop\"),(R.browser.msie||R.browser.edge)&&e.preventDefault(),!1},!0),R.events.$on(i,\"drop\",\".fr-image-upload-layer\",function(e){e.preventDefault(),e.stopPropagation(),A(this).removeClass(\"fr-drop\");var t=e.originalEvent.dataTransfer;if(t&&t.files){var a=i.data(\"instance\")||R;a.events.disableBlur(),a.image.upload(t.files),a.events.enableBlur()}},!0),R.helpers.isIOS()&&R.events.$on(i,\"touchstart\",'.fr-image-upload-layer input[type=\"file\"]',function(){A(this).trigger(\"click\")},!0),R.events.$on(i,\"change\",'.fr-image-upload-layer input[type=\"file\"]',function(){if(this.files){var e=i.data(\"instance\")||R;e.events.disableBlur(),i.find(\"input:focus\").blur(),e.events.enableBlur(),e.image.upload(this.files,U)}A(this).val(\"\")},!0)}(a),a}function q(){U&&R.popups.get(\"image.alt\").find(\"input\").val(U.attr(\"alt\")||\"\").trigger(\"change\")}function j(){var e=R.popups.get(\"image.alt\");e||(e=J()),k(),R.popups.refresh(\"image.alt\"),R.popups.setContainer(\"image.alt\",R.$sc);var t=Ce(),a=t.outerWidth()/2;Se()&&(t=t.find(\".fr-img-wrap\"),a=U.outerWidth()/2);var i=t.offset().left+a,r=t.offset().top+t.outerHeight(),n=t.outerHeight();R.opts.iframe&&Se()&&(n=U?U.outerHeight():0),R.popups.show(\"image.alt\",i,r,n,!0)}function J(e){if(e)return R.popups.onRefresh(\"image.alt\",q),!0;var t={buttons:'<div class=\"fr-buttons fr-tabs\">'.concat(R.button.buildList(R.opts.imageAltButtons),\"</div>\"),alt_layer:'<div class=\"fr-image-alt-layer fr-layer fr-active\" id=\"fr-image-alt-layer-'.concat(R.id,'\"><div class=\"fr-input-line\"><input id=\"fr-image-alt-layer-text-').concat(R.id,'\" type=\"text\" placeholder=\"').concat(R.language.translate(\"Alternative Text\"),'\" tabIndex=\"1\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetAlt\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Update\"),\"</button></div></div>\")},a=R.popups.create(\"image.alt\",t);return R.$wp&&R.events.$on(R.$wp,\"scroll.image-alt\",function(){U&&R.popups.isVisible(\"image.alt\")&&j()}),a}function Q(){var e=R.popups.get(\"image.size\"),t=U.get(0).style.height?U.get(0).style.height:\"auto\",a=U.get(0).style.width?U.get(0).style.width:\"auto\";if(U)if(Se()){var i=U.parent();i.get(0).style.width||(i=U.parent().parent()),e.find('input[name=\"width\"]').val(a).trigger(\"change\"),e.find('input[name=\"height\"]').val(t).trigger(\"change\")}else e.find('input[name=\"width\"]').val(a).trigger(\"change\"),e.find('input[name=\"height\"]').val(t).trigger(\"change\")}function Z(){var e=R.popups.get(\"image.size\");e||(e=ee()),k(),R.popups.refresh(\"image.size\"),R.popups.setContainer(\"image.size\",R.$sc);var t=Ce(),a=t.outerWidth()/2;Se()&&(t=t.find(\".fr-img-wrap\"),a=U.outerWidth()/2);var i=t.outerHeight();R.opts.iframe&&Se()&&(i=U?U.outerHeight():0);var r=t.offset().left+a,n=t.offset().top+t.outerHeight();R.popups.show(\"image.size\",r,n,i,!0)}function ee(e){if(e)return R.popups.onRefresh(\"image.size\",Q),!0;var t={buttons:'<div class=\"fr-buttons fr-tabs\">'.concat(R.button.buildList(R.opts.imageSizeButtons),\"</div>\"),size_layer:'<div class=\"fr-image-size-layer fr-layer fr-active\" id=\"fr-image-size-layer-'.concat(R.id,'\"><div class=\"fr-image-group\"><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-width-\\'').concat(R.id,'\" type=\"text\" name=\"width\" placeholder=\"').concat(R.language.translate(\"Width\"),'\" tabIndex=\"1\"></div><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-height').concat(R.id,'\" type=\"text\" name=\"height\" placeholder=\"').concat(R.language.translate(\"Height\"),'\" tabIndex=\"1\"></div></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetSize\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Update\"),\"</button></div></div>\")},a=R.popups.create(\"image.size\",t);return R.$wp&&R.events.$on(R.$wp,\"scroll.image-size\",function(){U&&R.popups.isVisible(\"image.size\")&&Z()}),a}function te(e,t,a,i){return e.pageX=t,D.call(this,e),e.pageX=e.pageX+a*Math.floor(Math.pow(1.1,i)),T.call(this,e),$.call(this,e),++i}function ae(e){if(e=e||Ce(),R.opts.trackChangesEnabled&&!R.helpers.isMobile()&&(!e[0].parentNode||\"SPAN\"!==e[0].parentNode.tagName||!e[0].parentNode.hasAttribute(\"data-tracking\")))return R.track_changes.removeSpecialItem(e),R.popups.hideAll(),void ce(!0);e&&!1!==R.events.trigger(\"image.beforeRemove\",[e])&&(R.popups.hideAll(),we(),ce(!0),R.undo.canDo()||R.undo.saveStep(),e.get(0)==R.el?e.removeAttr(\"src\"):(e.get(0).parentNode&&\"A\"==e.get(0).parentNode.tagName?(R.selection.setBefore(e.get(0).parentNode)||R.selection.setAfter(e.get(0).parentNode)||e.parent().after(Me.MARKERS),A(e.get(0).parentNode).remove()):(R.selection.setBefore(e.get(0))||R.selection.setAfter(e.get(0))||e.after(Me.MARKERS),e.remove()),R.html.fillEmptyBlocks(),R.selection.restore()),R.undo.saveStep())}function ie(e){var t=e.which,a=document.getElementsByClassName(\"fs-transforms-container\"),i=!1;if(a&&a.length){var r,n=Ke(a);try{for(n.s();!(r=n.n()).done;){var o=r.value;o.childNodes&&o.childNodes.length&&(i=!0)}}catch(p){n.e(p)}finally{n.f()}}if(i&&(U=null),U&&(t==Me.KEYCODE.BACKSPACE||t==Me.KEYCODE.DELETE))return e.preventDefault(),e.stopPropagation(),ae(),!1;if(U&&t==Me.KEYCODE.ESC){var s=U;return ce(!0),R.selection.setAfter(s.get(0)),R.selection.restore(),e.preventDefault(),!1}if(!U||t!=Me.KEYCODE.ARROW_LEFT&&t!=Me.KEYCODE.ARROW_RIGHT)return U&&t===Me.KEYCODE.TAB?(e.preventDefault(),e.stopPropagation(),ce(!0),!1):U&&t!=Me.KEYCODE.F10&&!R.keys.isBrowserAction(e)?(e.preventDefault(),e.stopPropagation(),!1):void 0;var l=U.get(0);return ce(!0),t==Me.KEYCODE.ARROW_LEFT?R.selection.setBefore(l):R.selection.setAfter(l),R.selection.restore(),e.preventDefault(),!1}function re(e){if(e&&\"IMG\"==e.tagName){if(R.node.hasClass(e,\"fr-uploading\")||R.node.hasClass(e,\"fr-error\")?e.parentNode.removeChild(e):R.node.hasClass(e,\"fr-draggable\")&&e.classList.remove(\"fr-draggable\"),e.parentNode&&e.parentNode.parentNode&&R.node.hasClass(e.parentNode.parentNode,\"fr-img-caption\")){var t=e.parentNode.parentNode;t.removeAttribute(\"contenteditable\"),t.removeAttribute(\"draggable\"),t.classList.remove(\"fr-draggable\");var a=e.nextSibling;a&&a.removeAttribute(\"contenteditable\")}}else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var i=e.querySelectorAll(\"img.fr-uploading, img.fr-error, img.fr-draggable\"),r=0;r<i.length;r++)re(i[r])}function ne(e){if(!1===R.events.trigger(\"image.beforePasteUpload\",[e]))return A(e).removeAttr(\"data-fr-image-pasted\"),!1;U=A(e),x(),n(),P(),U.on(\"load\",function(){var t=[];x(),A(R.popups.get(\"image.insert\").get(0)).find(\"div.fr-active.fr-error\").length<1&&P(),A(this).data(\"events\").filter(function(e){\"load\"===e[0]&&t.push(e)}),t.length<=1&&A(this).off(\"load\")});for(var t=A(e).attr(\"src\").split(\",\"),a=atob(t[1]),i=[],r=0;r<a.length;r++)i.push(a.charCodeAt(r));H([R.browser.safari&&!R.opts.imageUploadURL?new Blob([new Uint8Array(i)],{type:t[0].replace(/data\\:/g,\"\")}):new Blob([new Uint8Array(i)],{type:t[0].replace(/data\\:/g,\"\").replace(/;base64/g,\"\")})],U)}function oe(){R.opts.imagePaste?R.$el.find(\"img[data-fr-image-pasted]\").each(function(e,a){if(R.opts.imagePasteProcess){var t=R.opts.imageDefaultWidth;t&&\"auto\"!=t&&(t+=R.opts.imageResizeWithPercent?\"%\":\"px\"),A(a).css(\"width\",t).removeClass(\"fr-dii fr-dib fr-fir fr-fil\"),he(A(a),R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign)}if(0===a.src.indexOf(\"data:\"))ne(a);else if(0===a.src.indexOf(\"blob:\")||0===a.src.indexOf(\"http\")&&R.opts.imageUploadRemoteUrls&&R.opts.imageCORSProxy){var i=new Image;i.crossOrigin=\"Anonymous\",i.onload=function(){var e=R.o_doc.createElement(\"CANVAS\"),t=e.getContext(\"2d\");e.height=this.naturalHeight,e.width=this.naturalWidth,t.drawImage(this,0,0),setTimeout(function(){ne(a)},0),a.src=e.toDataURL(Me.IMAGE_TYPE)},R.browser.msie&&Me.IMAGE_ALLOW_REGEX.test(a.src)&&(Me.IMAGE_TYPE=\"image/\"+a.src.split(Me.IMAGE_ALLOW_REGEX)[1]),i.src=(0===a.src.indexOf(\"blob:\")?\"\":\"\".concat(R.opts.imageCORSProxy,\"/\"))+a.src,0!==a.src.indexOf(\"blob:\")&&R.undo.saveStep()}else 0!==a.src.indexOf(\"http\")||0===a.src.indexOf(\"https://mail.google.com/mail\")?(R.selection.save(),A(a).remove(),R.selection.restore()):A(a).removeAttr(\"data-fr-image-pasted\")}):R.$el.find(\"img[data-fr-image-pasted]\").remove()}function se(e){var t=e.target.result,a=R.opts.imageDefaultWidth;a&&\"auto\"!=a&&(a+=R.opts.imageResizeWithPercent?\"%\":\"px\"),R.undo.saveStep(),R.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(t,'\"').concat(a?' style=\"width: '.concat(a,';\"'):\"\",\">\"));var i=R.$el.find('img[data-fr-image-pasted=\"true\"]');i&&he(i,R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign),R.events.trigger(\"paste.after\")}function le(e,t){var a=new FileReader;a.onload=function i(e){var t=R.opts.imageDefaultWidth;t&&\"auto\"!=t&&(t+=R.opts.imageResizeWithPercent?\"%\":\"px\"),R.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(e,'\"').concat(t?' style=\"width: '.concat(t,';\"'):\"\",\">\"));var a=R.$el.find('img[data-fr-image-pasted=\"true\"]');a&&he(a,R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign),R.events.trigger(\"paste.after\")}(t),a.readAsDataURL(e,t)}function pe(e,t){var a=t||e&&e.clipboardData;if(a&&a.items){var i=(a||window.clipboardData).getData(\"text/html\")||\"\";R.browser.mozilla&&(\"\"===i||/<!--StartFragment-->([ ])<!--EndFragment-->/.test(i))&&(i=R.win.localStorage.getItem(\"fr-copied-html\"));var r=(new DOMParser).parseFromString(i,\"text/html\").querySelector(\"img\");if(r&&!R.opts.imageUploadURL){if(!r)return!1;var n=r.src,o=null;if(a.types&&-1!=[].indexOf.call(a.types,\"text/rtf\")||a.getData(\"text/rtf\"))o=a.items[0].getAsFile();else for(var s=0;s<a.items.length;s++)if(o=a.items[s].getAsFile()){Me.IMAGE_TYPE=o.type;break}if(o)return le(o,n),!1}else{var l=null;if(a.types&&-1!=[].indexOf.call(a.types,\"text/rtf\")||a.getData(\"text/rtf\"))l=a.items[0].getAsFile();else for(var p=0;p<a.items.length&&!(l=a.items[p].getAsFile());p++);if(l)return function f(e){var t=new FileReader;t.onload=se,t.readAsDataURL(e)}(l),!1}}}function fe(e){return e=e.replace(/<img /gi,'<img data-fr-image-pasted=\"true\" ')}function ge(e){if(\"false\"==A(this).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;if(e&&\"touchend\"==e.type&&a)return!0;if(e&&R.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;for(var t=0;t<Me.INSTANCES.length;t++)Me.INSTANCES[t]!=R&&Me.INSTANCES[t].events.trigger(\"image.hideResizer\");R.toolbar.disable(),e&&(e.stopPropagation(),e.preventDefault()),R.helpers.isMobile()&&(R.events.disableBlur(),R.$el.blur(),R.events.enableBlur()),R.opts.iframe&&R.size.syncIframe(),U=A(this),we(),x(),n(),R.browser.msie?(R.popups.areVisible()&&R.events.disableBlur(),R.win.getSelection&&(R.win.getSelection().removeAllRanges(),R.win.getSelection().addRange(R.doc.createRange()))):R.selection.clear(),R.helpers.isIOS()&&(R.events.disableBlur(),R.$el.blur()),R.button.bulkRefresh(),R.events.trigger(\"video.hideResizer\")}function ce(e){U&&(function t(){return de}()||!0===e)&&(R.toolbar.enable(),p.removeClass(\"fr-active\"),R.popups.hideAll(),U=null,me(),f=null,g&&g.hide())}r[i]=\"Image cannot be loaded from the passed link.\",r[d]=\"No link in upload response.\",r[u]=\"Error during file upload.\",r[m]=\"Parsing response failed.\",r[S]=\"File is too large.\",r[E]=\"Image file type is invalid.\",r[7]=\"Files can be uploaded only to same domain in IE 8 and IE 9.\";var de=!(r[8]=\"Image file is corrupted.\");function ue(){de=!0}function me(){de=!1}function he(e,t,a){if(!R.opts.htmlUntouched&&R.opts.useClasses)e.removeClass(\"fr-fil fr-fir fr-dib fr-dii\"),a&&e.addClass(\"fr-fi\".concat(a[0])),t&&e.addClass(\"fr-di\".concat(t[0]));else if(\"inline\"==t)if(e.css({display:\"inline-block\",verticalAlign:\"bottom\",margin:R.opts.imageDefaultMargin}),\"center\"==a)e.css({\"float\":\"none\",marginBottom:\"\",marginTop:\"\",maxWidth:\"calc(100% - \".concat(2*R.opts.imageDefaultMargin,\"px)\"),textAlign:\"center\"});else if(\"left\"==a){var i=\"0px\",r=e.parent(\"span.fr-img-caption\").get(0);r||(r=e.parent().get(0)),r&&\"li\"===r.tagName.toLowerCase()?i=\"20px\":r&&\"p\"===r.tagName.toLowerCase()&&(i=\"15px\"),e.css({\"float\":\"left\",marginLeft:0,maxWidth:\"calc(100% - \".concat(R.opts.imageDefaultMargin,\"px)\"),textAlign:\"left\",marginRight:i})}else e.css({\"float\":\"right\",marginRight:0,maxWidth:\"calc(100% - \".concat(R.opts.imageDefaultMargin,\"px)\"),textAlign:\"right\"});else\"block\"==t&&(e.css({display:\"block\",\"float\":\"none\",verticalAlign:\"top\",margin:\"\".concat(R.opts.imageDefaultMargin,\"px auto\"),textAlign:\"center\"}),\"left\"==a?e.css({marginLeft:0,textAlign:\"left\"}):\"right\"==a&&e.css({marginRight:0,textAlign:\"right\"}))}function ve(e){if(void 0===e&&(e=Ce()),e){if(e.hasClass(\"fr-fil\"))return\"left\";if(e.hasClass(\"fr-fir\"))return\"right\";if(e.hasClass(\"fr-dib\")||e.hasClass(\"fr-dii\"))return\"center\";var t=e.css(\"float\");if(e.css(\"float\",\"none\"),\"block\"==e.css(\"display\")){if(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),0===parseInt(e.css(\"margin-left\"),10))return\"left\";if(0===parseInt(e.css(\"margin-right\"),10))return\"right\"}else{if(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"left\"==e.css(\"float\"))return\"left\";if(\"right\"==e.css(\"float\"))return\"right\"}}return\"center\"}function be(e){void 0===e&&(e=Ce());var t=e.css(\"float\");return e.css(\"float\",\"none\"),\"block\"==e.css(\"display\")?(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"block\"):(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"inline\")}function ye(){var e=R.popups.get(\"image.insert\");e||(e=X()),R.popups.isVisible(\"image.insert\")||(k(),R.popups.refresh(\"image.insert\"),R.popups.setContainer(\"image.insert\",R.$sc));var t=Ce(),a=t&&t.outerWidth()/2;Se()&&(t=t.find(\".fr-img-wrap\"),a=U.outerWidth()/2);var i,r=t.offset().left+a,n=t.outerHeight(!0);R.opts.iframe&&Se()&&(n=U?U.outerHeight():0),i=0<R.$el.find(\"img[data-fr-image-pasted]\").length?R.$wp.offset().top-R.helpers.scrollTop()+R.$wp.height():t.offset().top+t.outerHeight(),R.popups.show(\"image.insert\",r,i,n,!0)}function we(){if(U){R.events.disableBlur(),R.selection.clear();var e=R.doc.createRange();e.selectNode(U.get(0)),R.browser.msie&&e.collapse(!0),R.selection.get().addRange(e),R.events.enableBlur()}}function Ae(){return U}function Ce(){return Se()?U.parents(\".fr-img-caption\").first():U}function Se(){return!!U&&0<U.parents(\".fr-img-caption\").length}function Ee(e){for(var t=document.createDocumentFragment();e.firstChild;){var a=e.removeChild(e.firstChild);t.appendChild(a)}e.parentNode.replaceChild(t,e)}return{_init:function Re(){var n;(function e(){R.events.$on(R.$el,R._mousedown,\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',function(e){if(\"false\"==A(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;R.helpers.isMobile()||R.selection.clear(),t=!0,R.popups.areVisible()&&R.events.disableBlur(),R.browser.msie&&(R.events.disableBlur(),R.$el.attr(\"contenteditable\",!1)),R.draggable||\"touchstart\"==e.type||e.preventDefault(),e.stopPropagation()}),R.events.$on(R.$el,R._mousedown,\".fr-img-caption .fr-inner\",function(e){R.core.hasFocus()||R.events.focus(),e.stopPropagation()}),R.events.$on(R.$el,\"paste\",\".fr-img-caption .fr-inner\",function(e){!0===R.opts.toolbarInline&&(R.toolbar.hide(),e.stopPropagation())}),R.events.$on(R.$el,R._mousedown,'img:not([contenteditable=\"false\"])',function(e){var t=this;R.browser.mozilla&&3==e.which&&(A(this).attr(\"contenteditable\",!1),setTimeout(function(){A(t).removeAttr(\"contenteditable\")},200))}),R.events.$on(R.$el,R._mouseup,\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',function(e){if(\"false\"==A(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;t&&(t=!1,e.stopPropagation(),R.browser.msie&&(R.$el.attr(\"contenteditable\",!0),R.events.enableBlur()))}),R.events.on(\"keyup\",function(e){if(e.shiftKey&&\"\"===R.selection.text().replace(/\\n/g,\"\")&&R.keys.isArrow(e.which)){var t=R.selection.element(),a=R.selection.endElement();t&&\"IMG\"==t.tagName?z(A(t)):a&&\"IMG\"==a.tagName&&z(A(a))}},!0),R.events.on(\"drop\",V),R.events.on(\"element.beforeDrop\",F),R.events.on(\"mousedown window.mousedown\",ue),R.events.on(\"window.touchmove\",me),R.events.on(\"mouseup window.mouseup\",function(){if(U&&!R.helpers.isMobile())return ce(),!1;me()}),R.events.on(\"touchstart touchend\",function(){if(U&&R.helpers.isMobile())return ce(),!1;me()}),R.events.on(\"commands.mousedown\",function(e){0<e.parents(\".fr-toolbar\").length&&ce()}),R.events.on(\"image.resizeEnd\",function(){R.opts.iframe&&R.size.syncIframe()}),R.events.on(\"blur image.hideResizer commands.undo commands.redo element.dropped\",function(){ce(!(t=!1))}),R.events.on(\"modals.hide\",function(){U&&(we(),R.selection.clear())}),R.events.on(\"image.resizeEnd\",function(){R.win.getSelection&&z(U)}),R.events.on(\"filestack-init\",function(){X()}),R.events.on(\"filestack-init-edit\",function(){for(var e=R.$(\".fr-popup:not(.fr-do-not-hide)\"),t=e.length-1;0<=t;t--)e[t].parentElement.removeChild(e[t]);N()}),R.opts.imageAddNewLine&&R.events.on(\"image.inserted\",function(e){var t=e.get(0);for(t.nextSibling&&\"BR\"===t.nextSibling.tagName&&(t=t.nextSibling);t&&!R.node.isElement(t);)t=R.node.isLastSibling(t)?t.parentNode:null;R.node.isElement(t)&&(R.opts.enter===Me.ENTER_BR?e.after(\"<br>\"):A(R.node.blockParent(e.get(0))).after(\"<\".concat(R.html.defaultTag(),\"><br></\").concat(R.html.defaultTag(),\">\")))})})(),\"IMG\"==R.el.tagName&&R.$el.addClass(\"fr-view\"),R.events.$on(R.$el,R.helpers.isMobile()&&!R.helpers.isWindowsPhone()?\"touchend\":\"click\",\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',ge),R.helpers.isMobile()&&(R.events.$on(R.$el,\"touchstart\",\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',function(){a=!1}),R.events.$on(R.$el,\"touchmove\",function(){a=!0})),R.$wp?(R.events.on(\"window.keydown keydown\",ie,!0),R.events.on(\"keyup\",function(e){if(U&&e.which==Me.KEYCODE.ENTER)return!1},!0),R.events.$on(R.$el,\"keydown\",function(){var e=R.selection.element();(e.nodeType===Node.TEXT_NODE||\"BR\"==e.tagName&&R.node.isLastSibling(e))&&(e=e.parentNode),R.node.hasClass(e,\"fr-inner\")||(R.node.hasClass(e,\"fr-img-caption\")||(e=A(e).parents(\".fr-img-caption\").get(0)),R.node.hasClass(e,\"fr-img-caption\")&&(R.opts.trackChangesEnabled||A(e).after(Me.INVISIBLE_SPACE+Me.MARKERS),R.selection.restore()))})):R.events.$on(R.$win,\"keydown\",ie),R.events.on(\"toolbar.esc\",function(){if(U){if(R.$wp)R.events.disableBlur(),R.events.focus();else{var e=U;ce(!0),R.selection.setAfter(e.get(0)),R.selection.restore()}return!1}},!0),R.events.on(\"toolbar.focusEditor\",function(){if(U)return!1},!0),R.events.on(\"window.cut window.copy\",function(e){if(U&&R.popups.isVisible(\"image.edit\")&&!R.popups.get(\"image.edit\").find(\":focus\").length){var t=Ce();Se()?(t.before(Me.START_MARKER),t.after(Me.END_MARKER),R.selection.restore(),R.paste.saveCopiedText(t.get(0).outerHTML,t.text())):(we(),R.paste.saveCopiedText(U.get(0).outerHTML,U.attr(\"alt\"))),\"copy\"==e.type?setTimeout(function(){z(U)}):(ce(!0),R.undo.saveStep(),setTimeout(function(){R.undo.saveStep()},0))}},!0),R.browser.msie&&R.events.on(\"keydown\",function(e){if(!R.selection.isCollapsed()||!U)return!0;var t=e.which;t==Me.KEYCODE.C&&R.keys.ctrlKey(e)?R.events.trigger(\"window.copy\"):t==Me.KEYCODE.X&&R.keys.ctrlKey(e)&&R.events.trigger(\"window.cut\")}),R.events.$on(A(R.o_win),\"keydown\",function(e){if(R.opts.pluginsEnabled.includes(\"filestack\")&&R.opts.iframe){var t=document.getElementsByClassName(\"fs-transforms-container\"),a=!1;if(t&&t.length){var i,r=Ke(t);try{for(r.s();!(i=r.n()).done;){var n=i.value;n.childNodes&&n.childNodes.length&&(a=!0)}}catch(s){r.e(s)}finally{r.f()}}a&&(U=null)}var o=e.which;if(U&&o==Me.KEYCODE.BACKSPACE)return e.preventDefault(),!1}),R.events.$on(R.$win,\"keydown\",function(e){var t=e.which;U&&U.hasClass(\"fr-uploading\")&&t==Me.KEYCODE.ESC&&U.trigger(\"abortUpload\")}),R.events.on(\"destroy\",function(){U&&U.hasClass(\"fr-uploading\")&&U.trigger(\"abortUpload\")}),R.events.on(\"paste.before\",pe),R.events.on(\"paste.beforeCleanup\",fe),R.events.on(\"paste.after\",oe),R.events.on(\"html.set\",l),R.events.on(\"html.inserted\",l),l(),R.events.on(\"destroy\",function(){c=[]}),R.events.on(\"html.processGet\",re),R.opts.imageOutputSize&&R.events.on(\"html.beforeGet\",function(){n=R.el.querySelectorAll(\"img\");for(var e=0;e<n.length;e++){var t=parseFloat(A(n[e]).css(\"padding-left\"))+parseFloat(A(n[e]).css(\"padding-right\")),a=A(n[e]).width()-t,i=n[e].style.width||a,r=n[e].style.height||A(n[e]).height();i&&n[e].setAttribute(\"width\",\"\".concat(i).replace(/px/,\"\")),r&&n[e].setAttribute(\"height\",\"\".concat(r).replace(/px/,\"\"))}}),R.opts.iframe&&R.events.on(\"image.loaded\",R.size.syncIframe),R.$wp&&(b(),R.events.on(\"contentChanged\",b)),R.events.$on(A(R.o_win),\"orientationchange.image\",function(){setTimeout(function(){U&&z(U)},100)}),N(!0),X(!0),ee(!0),J(!0),R.events.on(\"node.remove\",function(e){if(\"IMG\"==e.get(0).tagName)return ae(e),!1})},showInsertPopup:function Ue(){var e=R.$tb.find('.fr-command[data-cmd=\"insertImage\"]'),t=R.popups.get(\"image.insert\");if(t||(t=X()),k(),!t.hasClass(\"fr-active\"))if(R.popups.refresh(\"image.insert\"),R.popups.setContainer(\"image.insert\",R.$tb),e.isVisible()){var a=R.button.getPosition(e),i=a.left,r=a.top;R.popups.show(\"image.insert\",i,r,e.outerHeight())}else R.position.forSelection(t),R.popups.show(\"image.insert\")},showLayer:function xe(e){var t,a,i=R.popups.get(\"image.insert\");if(U||R.opts.toolbarInline){if(U){var r=Ce(),n=0;Se()&&(r=r.find(\".fr-img-wrap\"),n=U.outerWidth()/2),a=r.offset().top+r.outerHeight(),t=r.offset().left+n}}else{var o=R.$tb.find('.fr-command[data-cmd=\"insertImage\"]');t=o.offset().left,a=o.offset().top+(R.opts.toolbarBottom?10:o.outerHeight()-10)}!U&&R.opts.toolbarInline&&(a=i.offset().top-R.helpers.getPX(i.css(\"margin-top\")),i.hasClass(\"fr-above\")&&(a+=i.outerHeight())),i.find(\".fr-layer\").removeClass(\"fr-active\"),i.find(\".fr-\".concat(e,\"-layer\")).addClass(\"fr-active\"),R.popups.show(\"image.insert\",t,a,U?U.outerHeight():0,Se()),R.accessibility.focusPopup(i)},refreshUploadButton:function De(e){var t=R.popups.get(\"image.insert\");t&&t.find(\".fr-image-upload-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},refreshByURLButton:function Te(e){var t=R.popups.get(\"image.insert\");t&&t.find(\".fr-image-by-url-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},upload:H,insertByURL:function $e(){var e=R.popups.get(\"image.insert\").find(\".fr-image-by-url-layer input\");if(0<e.val().length){P(),B(R.language.translate(\"Loading image\"));var t=e.val().trim();if(R.opts.imageUploadRemoteUrls&&R.opts.imageCORSProxy&&R.opts.imageUpload){var a=new XMLHttpRequest;a.onload=function(){200==this.status?H([new Blob([this.response],{type:this.response.type||\"image/png\"})],U):I(i)},a.onerror=function(){_(t,!0,[],U)},a.open(\"GET\",\"\".concat(R.opts.imageCORSProxy,\"/\").concat(t),!0),a.responseType=\"blob\",a.send()}else _(t,!0,[],U);e.val(\"\"),e.blur()}},align:function Ie(e){var t=Ce();t.removeClass(\"fr-fir fr-fil\"),!R.opts.htmlUntouched&&R.opts.useClasses?\"left\"==e?t.addClass(\"fr-fil\"):\"right\"==e&&t.addClass(\"fr-fir\"):he(t,be(),e),we(),x(),n(),R.selection.clear()},refreshAlign:function Ne(e){U&&e.find(\"> *\").first().replaceWith(R.icon.create(\"image-align-\".concat(ve())))},refreshAlignOnShow:function Pe(e,t){U&&t.find('.fr-command[data-param1=\"'.concat(ve(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},display:function ke(e){var t=Ce();t.removeClass(\"fr-dii fr-dib\"),!R.opts.htmlUntouched&&R.opts.useClasses?\"inline\"==e?t.addClass(\"fr-dii\"):\"block\"==e&&t.addClass(\"fr-dib\"):he(t,e,ve()),we(),x(),n(),R.selection.clear()},refreshDisplayOnShow:function Be(e,t){U&&t.find('.fr-command[data-param1=\"'.concat(be(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},replace:ye,back:function e(){U?(R.events.disableBlur(),A(\".fr-popup input:focus\").blur(),z(U)):(R.events.disableBlur(),R.selection.restore(),R.events.enableBlur(),R.popups.hide(\"image.insert\"),R.toolbar.showInline())},get:Ae,getEl:Ce,insert:_,showProgressBar:P,remove:ae,hideProgressBar:k,applyStyle:function Oe(e,t,a){if(void 0===t&&(t=R.opts.imageStyles),void 0===a&&(a=R.opts.imageMultipleStyles),!U)return!1;var i=Ce();if(!a){var r=Object.keys(t);r.splice(r.indexOf(e),1),i.removeClass(r.join(\" \"))}\"object\"==We(t[e])?(i.removeAttr(\"style\"),i.css(t[e].style)):(i.toggleClass(e),Se()&&U.hasClass(e)&&U.removeClass(e)),z(U)},showAltPopup:j,showSizePopup:Z,setAlt:function ze(e){if(U){var t=R.popups.get(\"image.alt\");U.attr(\"alt\",e||t.find(\"input\").val()||\"\"),t.find(\"input:focus\").blur(),z(U)}},setSize:function Le(e,t){if(U){var a=R.popups.get(\"image.size\");e=e||a.find('input[name=\"width\"]').val()||\"\",t=t||a.find('input[name=\"height\"]').val()||\"\";var i=/^[\\d]+((px)|%)*$/g;U.removeAttr(\"width\").removeAttr(\"height\"),e.match(i)?U.css(\"width\",e):U.css(\"width\",\"\"),t.match(i)?U.css(\"height\",t):U.css(\"height\",\"\"),Se()&&(U.parents(\".fr-img-caption\").removeAttr(\"width\").removeAttr(\"height\"),e.match(i)?U.parents(\".fr-img-caption\").css(\"width\",e):U.parents(\".fr-img-caption\").css(\"width\",\"\"),t.match(i)?U.parents(\".fr-img-caption\").css(\"height\",t):U.parents(\".fr-img-caption\").css(\"height\",\"\")),a&&a.find(\"input:focus\").blur(),z(U)}},toggleCaption:function _e(){var e,t=R.$el.get(0),a=[\"fr-dii\",\"fr-dib\",\"fr-fil\",\"fr-fir\"];if(U&&!Se()){(e=U).parent().is(\"a\")&&(e=U.parent());var i=U.parents(\"ul\")&&0<U.parents(\"ul\").length?U.parents(\"ul\"):U.parents(\"ol\")&&0<U.parents(\"ol\").length?U.parents(\"ol\"):[];if(0<i.length){var r=i.find(\"li\").length,n=U.parents(\"li\"),o=document.createElement(\"li\");r-1===n.index()&&(i.append(o),o.innerHTML=\"&nbsp;\")}var s,l,p=(U.attr(\"class\")||\"\").split(/\\s+/),f=p.filter(function(e){return a.includes(e)});U.attr(\"class\",p.filter(function(e){return!a.includes(e)}).join(\" \")),e.attr(\"style\")?l=-1<(s=e.attr(\"style\").split(\":\")).indexOf(\"width\")?s[s.indexOf(\"width\")+1].replace(\";\",\"\"):\"\":e.attr(\"width\")&&(l=e.attr(\"width\"));var g=R.opts.imageResizeWithPercent?(-1<l.indexOf(\"px\")?null:l)||\"100%\":U.width()+\"px\";e.wrap('<div class=\"fr-img-space-wrap\"><span '+(R.browser.mozilla?\"\":'contenteditable=\"false\"')+'class=\"fr-img-caption '+f.join(\" \")+'\" style=\"'+(e.attr(\"style\")||\"\")+'\" draggable=\"false\"></span></div>'),e.wrap('<span class=\"fr-img-wrap\"></span>'),U.after('<span class=\"fr-inner\"'.concat(R.browser.mozilla?\"\":' contenteditable=\"true\"',\">\").concat(Me.START_MARKER).concat(R.language.translate(\"Image Caption\")).concat(Me.END_MARKER,\"</span>\")),U.parents(\".fr-img-caption\").css(\"width\",g);var c=U.parents(\".fr-img-space-wrap\").length;1==c?Ee(t.querySelector(\".fr-img-space-wrap\")):1<c&&(Ee(t.querySelector(\".fr-img-space-wrap\")),Ee(t.querySelector(\".fr-img-space-wrap2\"))),ce(!0),R.selection.restore()}else{if(e=Ce(),U.insertBefore(e),null!==e[0].querySelector(\"a\")){for(var d,u=e[0].querySelector(\"a\"),m=document.createElement(\"a\"),h=0,v=u.attributes,b=v.length;h<b;h++)d=v[h],m.setAttribute(d.nodeName,d.nodeValue);U.wrap(m)}var y=(e.attr(\"class\")||\"\").split(/\\s+/),w=[\"fr-img-caption\"],A=y.filter(function(e){return!w.includes(e)}),C=(U.attr(\"class\")||\"\").split(/\\s+/),S=Ye(new Set(C.concat(A)));U.attr(\"class\",S.join(\" \")).attr(\"style\",e.attr(\"style\")),e.remove();var E=U.parents(\".fr-img-space-wrap\").length;1==E?Ee(t.querySelector(\".fr-img-space-wrap\")):1<E&&(Ee(t.querySelector(\".fr-img-space-wrap\")),Ee(t.querySelector(\".fr-img-space-wrap2\"))),z(U)}},hasCaption:Se,exitEdit:ce,edit:z}},Me.DefineIcon(\"insertImage\",{NAME:\"image\",SVG_KEY:\"insertImage\"}),Me.RegisterShortcut(Me.KEYCODE.P,\"insertImage\",null,\"P\"),Me.RegisterCommand(\"insertImage\",{title:\"Insert Image\",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"image.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"image.insert\")):this.image.showInsertPopup()},plugin:\"image\"}),Me.DefineIcon(\"imageUpload\",{NAME:\"upload\",SVG_KEY:\"upload\"}),Me.RegisterCommand(\"imageUpload\",{title:\"Upload Image\",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer(\"image-upload\")},refresh:function(e){this.image.refreshUploadButton(e)}}),Me.DefineIcon(\"imageByURL\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),Me.RegisterCommand(\"imageByURL\",{title:\"By URL\",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer(\"image-by-url\")},refresh:function(e){this.image.refreshByURLButton(e)}}),Me.RegisterCommand(\"imageInsertByURL\",{title:\"Insert Image\",undo:!0,refreshAfterCallback:!1,callback:function(){this.image.insertByURL()},refresh:function(e){this.image.get()?e.text(this.language.translate(\"Replace\")):e.text(this.language.translate(\"Insert\"))}}),Me.DefineIcon(\"imageDisplay\",{NAME:\"star\",SVG_KEY:\"imageDisplay\"}),Me.RegisterCommand(\"imageDisplay\",{title:\"Display\",type:\"dropdown\",options:{inline:\"Inline\",block:\"Break Text\"},callback:function(e,t){this.image.display(t)},refresh:function(e){this.opts.imageTextNear||e.addClass(\"fr-hidden\")},refreshOnShow:function(e,t){this.image.refreshDisplayOnShow(e,t)}}),Me.DefineIcon(\"image-align\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),Me.DefineIcon(\"image-align-left\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),Me.DefineIcon(\"image-align-right\",{NAME:\"align-right\",SVG_KEY:\"alignRight\"}),Me.DefineIcon(\"image-align-center\",{NAME:\"align-justify\",SVG_KEY:\"alignCenter\"}),Me.DefineIcon(\"imageAlign\",{NAME:\"align-justify\",SVG_KEY:\"alignJustify\"}),Me.RegisterCommand(\"imageAlign\",{type:\"dropdown\",title:\"Align\",options:{left:\"Align Left\",center:\"Align Center\",right:\"Align Right\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=Me.COMMANDS.imageAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"imageAlign\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.icon.create(\"image-align-\".concat(a)),'<span class=\"fr-sr-only\">').concat(this.language.translate(t[a]),\"</span></a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.image.align(t)},refresh:function(e){this.image.refreshAlign(e)},refreshOnShow:function(e,t){this.image.refreshAlignOnShow(e,t)}}),Me.DefineIcon(\"imageReplace\",{NAME:\"exchange\",FA5NAME:\"exchange-alt\",SVG_KEY:\"replaceImage\"}),Me.RegisterCommand(\"imageReplace\",{title:\"Replace\",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.image.replace()}}),Me.DefineIcon(\"imageRemove\",{NAME:\"trash\",SVG_KEY:\"remove\"}),Me.RegisterCommand(\"imageRemove\",{title:\"Remove\",callback:function(){this.image.remove()}}),Me.DefineIcon(\"imageBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),Me.RegisterCommand(\"imageBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,callback:function(){this.image.back()},refresh:function(e){this.$;this.image.get()||this.opts.toolbarInline?(e.removeClass(\"fr-hidden\"),e.next(\".fr-separator\").removeClass(\"fr-hidden\")):(e.addClass(\"fr-hidden\"),e.next(\".fr-separator\").addClass(\"fr-hidden\"))}}),Me.RegisterCommand(\"imageDismissError\",{title:\"OK\",undo:!1,callback:function(){this.image.hideProgressBar(!0)}}),Me.DefineIcon(\"imageStyle\",{NAME:\"magic\",SVG_KEY:\"imageClass\"}),Me.RegisterCommand(\"imageStyle\",{title:\"Style\",type:\"dropdown\",html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.imageStyles;for(var a in t)if(t.hasOwnProperty(a)){var i=t[a];\"object\"==We(i)&&(i=i.title),e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"imageStyle\" data-param1=\"'.concat(a,'\">').concat(this.language.translate(i),\"</a></li>\")}return e+=\"</ul>\"},callback:function(e,t){this.image.applyStyle(t)},refreshOnShow:function(e,t){var a=this.$,i=this.image.getEl();i&&t.find(\".fr-command\").each(function(){var e=a(this).data(\"param1\"),t=i.hasClass(e);a(this).toggleClass(\"fr-active\",t).attr(\"aria-selected\",t)})}}),Me.DefineIcon(\"imageAlt\",{NAME:\"info\",SVG_KEY:\"imageAltText\"}),Me.RegisterCommand(\"imageAlt\",{undo:!1,focus:!1,popup:!0,title:\"Alternative Text\",callback:function(){this.image.showAltPopup()}}),Me.RegisterCommand(\"imageSetAlt\",{undo:!0,focus:!1,title:\"Update\",refreshAfterCallback:!1,callback:function(){this.image.setAlt()}}),Me.DefineIcon(\"imageSize\",{NAME:\"arrows-alt\",SVG_KEY:\"imageSize\"}),Me.RegisterCommand(\"imageSize\",{undo:!1,focus:!1,popup:!0,title:\"Change Size\",callback:function(){this.image.showSizePopup()}}),Me.RegisterCommand(\"imageSetSize\",{undo:!0,focus:!1,title:\"Update\",refreshAfterCallback:!1,callback:function(){this.image.setSize()}}),Me.DefineIcon(\"imageCaption\",{NAME:\"commenting\",FA5NAME:\"comment-alt\",SVG_KEY:\"imageCaption\"}),Me.RegisterCommand(\"imageCaption\",{undo:!0,focus:!1,title:\"Image Caption\",refreshAfterCallback:!0,callback:function(){this.image.toggleCaption()},refresh:function(e){this.image.get()&&e.toggleClass(\"fr-active\",this.image.hasCaption())}})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(C){\"use strict\";C=C&&C.hasOwnProperty(\"default\")?C[\"default\"]:C,Object.assign(C.POPUP_TEMPLATES,{\"link.edit\":\"[_BUTTONS_]\",\"link.insert\":\"[_BUTTONS_][_INPUT_LAYER_]\"}),Object.assign(C.DEFAULTS,{linkEditButtons:[\"linkOpen\",\"linkStyle\",\"linkEdit\",\"linkRemove\"],linkInsertButtons:[\"linkBack\",\"|\",\"linkList\"],linkAttributes:{},linkAutoPrefix:\"http://\",linkStyles:{\"fr-green\":\"Green\",\"fr-strong\":\"Thick\"},linkMultipleStyles:!0,linkConvertEmailAddress:!0,linkAlwaysBlank:!1,linkAlwaysNoFollow:!1,linkNoOpener:!0,linkNoReferrer:!0,linkList:[{text:\"Froala\",href:\"https://froala.com\",target:\"_blank\"},{text:\"Google\",href:\"https://google.com\",target:\"_blank\"},{displayText:\"Facebook\",href:\"https://facebook.com\"}],linkText:!0}),C.PLUGINS.link=function(h){var m=h.$;function v(){var e=h.image?h.image.get():null;if(e||!h.$wp)return\"A\"==h.el.tagName?h.el:e&&e.get(0).parentNode&&\"A\"==e.get(0).parentNode.tagName?e.get(0).parentNode:void 0;var t=h.selection.ranges(0).commonAncestorContainer;try{t&&(t.contains&&t.contains(h.el)||!h.el.contains(t)||h.el==t)&&(t=null)}catch(l){t=null}if(t&&\"A\"===t.tagName)return t;var n,i,r=h.selection.element(),a=h.selection.endElement();\"A\"==r.tagName||h.node.isElement(r)||(r=h.opts.iframe&&null!==(n=h.markdown)&&void 0!==n&&n.isEnabled()?null:m(r).parentsUntil(h.$el,\"a\").first().get(0));\"A\"==a.tagName||h.node.isElement(a)||(a=h.opts.iframe&&null!==(i=h.markdown)&&void 0!==i&&i.isEnabled()?null:m(a).parentsUntil(h.$el,\"a\").first().get(0));try{a&&(a.contains&&a.contains(h.el)||!h.el.contains(a)||h.el==a)&&(a=null)}catch(l){a=null}try{r&&(r.contains&&r.contains(h.el)||!h.el.contains(r)||h.el==r)&&(r=null)}catch(l){r=null}return a&&a==r&&\"A\"==a.tagName?(h.browser.msie||h.helpers.isMobile())&&(h.selection.info(r).atEnd||h.selection.info(r).atStart)?null:r:null}function b(){var e,t,n,i,r=h.image?h.image.get():null,a=[];if(r)\"A\"==r.get(0).parentNode.tagName&&a.push(r.get(0).parentNode);else if(h.win.getSelection){var l=h.win.getSelection();if(l.getRangeAt&&l.rangeCount){i=h.doc.createRange();for(var s=0;s<l.rangeCount;++s)if((t=(e=l.getRangeAt(s)).commonAncestorContainer)&&1!=t.nodeType&&(t=t.parentNode),t&&\"a\"==t.nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName(\"a\");for(var o=0;o<n.length;++o)i.selectNodeContents(n[o]),i.compareBoundaryPoints(e.END_TO_START,e)<1&&-1<i.compareBoundaryPoints(e.START_TO_END,e)&&a.push(n[o])}}}else if(h.doc.selection&&\"Control\"!=h.doc.selection.type)if(\"a\"==(t=(e=h.doc.selection.createRange()).parentElement()).nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName(\"a\"),i=h.doc.body.createTextRange();for(var c=0;c<n.length;++c)i.moveToElementText(n[c]),-1<i.compareEndPoints(\"StartToEnd\",e)&&i.compareEndPoints(\"EndToStart\",e)<1&&a.push(n[c])}return a}function E(r){if(h.core.hasFocus()||h.opts.iframe&&(!document.hasFocus||document.hasFocus())){if(a(),r&&\"keyup\"===r.type&&(r.altKey||r.which==C.KEYCODE.ALT))return!0;setTimeout(function(){if(!r||r&&(1==r.which||\"mouseup\"!=r.type)){var e=v(),t=h.image?h.image.get():null;if(e&&!t){if(h.image){var n=h.node.contents(e);if(1==n.length&&\"IMG\"==n[0].tagName){var i=h.selection.ranges(0);return 0===i.startOffset&&0===i.endOffset?m(e).before(C.INVISIBLE_SPACE+C.MARKERS):m(e).after(C.INVISIBLE_SPACE+C.MARKERS),h.selection.restore(),!1}}r&&r.stopPropagation(),l(e)}}},h.helpers.isIOS()?100:0)}}function l(e){var t=h.popups.get(\"link.edit\");t||(t=function a(){var e=\"\";1<=h.opts.linkEditButtons.length&&(\"A\"==h.el.tagName&&0<=h.opts.linkEditButtons.indexOf(\"linkRemove\")&&h.opts.linkEditButtons.splice(h.opts.linkEditButtons.indexOf(\"linkRemove\"),1),e='<div class=\"fr-buttons\">'.concat(h.button.buildList(h.opts.linkEditButtons),\"</div>\"));var t={buttons:e},n=h.popups.create(\"link.edit\",t);h.$wp&&h.events.$on(h.$wp,\"scroll.link-edit\",function(){v()&&h.popups.isVisible(\"link.edit\")&&l(v())});return n}());var n=m(e);h.popups.isVisible(\"link.edit\")||h.popups.refresh(\"link.edit\"),h.popups.setContainer(\"link.edit\",h.$sc);var i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show(\"link.edit\",i,r,n.outerHeight(),!0)}function a(){h.popups.hide(\"link.edit\")}function o(){var e=h.popups.get(\"link.insert\"),t=v();if(t){var n,i,r=m(t),a=e.find('input.fr-link-attr[type=\"text\"]'),l=e.find('input.fr-link-attr[type=\"checkbox\"]');for(n=0;n<a.length;n++){var s=(i=m(a[n])).attr(\"name\")||\"\",o=\"href\"===s?decodeURI(r.attr(s)):r.attr(s);i.val(o)}for(l.attr(\"checked\",!1),n=0;n<l.length;n++)i=m(l[n]),r.attr(i.attr(\"name\"))==i.data(\"checked\")&&i.attr(\"checked\",!0);e.find('input.fr-link-attr[type=\"text\"][name=\"text\"]').val(r.text())}else e.find('input.fr-link-attr[type=\"text\"]').val(\"\"),e.find('input.fr-link-attr[type=\"checkbox\"]').attr(\"checked\",!1),e.find('input.fr-link-attr[type=\"text\"][name=\"text\"]').val(h.selection.text());e.find(\"input.fr-link-attr\").trigger(\"change\"),(h.image?h.image.get():null)?e.find('.fr-link-attr[name=\"text\"]').parent().hide():e.find('.fr-link-attr[name=\"text\"]').parent().show()}function s(e){if(e)return h.popups.onRefresh(\"link.insert\",o),!0;var t=\"\";1<=h.opts.linkInsertButtons.length&&(t='<div class=\"fr-buttons fr-tabs\">'.concat(h.button.buildList(h.opts.linkInsertButtons),\"</div>\"));var n=\"\",i=0;for(var r in n='<div class=\"fr-link-insert-layer fr-layer fr-active\" id=\"fr-link-insert-layer-'.concat(h.id,'\">'),n+='<div class=\"fr-input-line\"><input id=\"fr-link-insert-layer-url-'.concat(h.id,'\" name=\"href\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(h.language.translate(\"URL\"),'\" tabIndex=\"').concat(++i,'\"></div>'),h.opts.linkText&&(n+='<div class=\"fr-input-line\"><input id=\"fr-link-insert-layer-text-'.concat(h.id,'\" name=\"text\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(h.language.translate(\"Text\"),'\" tabIndex=\"').concat(++i,'\"></div>')),h.opts.linkAttributes)if(h.opts.linkAttributes.hasOwnProperty(r)){var a=h.opts.linkAttributes[r];n+='<div class=\"fr-input-line\"><input name=\"'.concat(r,'\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(h.language.translate(a),'\" tabIndex=\"').concat(++i,'\"></div>')}h.opts.linkAlwaysBlank||(n+='<div class=\"fr-checkbox-line\"><span class=\"fr-checkbox\"><input name=\"target\" class=\"fr-link-attr\" data-checked=\"_blank\" type=\"checkbox\" id=\"fr-link-target-'.concat(h.id,'\" tabIndex=\"').concat(++i,'\"><span>').concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>','</span></span><label id=\"fr-label-target-').concat(h.id,'\">').concat(h.language.translate(\"Open in new tab\"),\"</label></div>\"));var l={buttons:t,input_layer:n+='<div class=\"fr-action-buttons\"><button class=\"fr-command fr-submit\" role=\"button\" data-cmd=\"linkInsert\" href=\"#\" tabIndex=\"'.concat(++i,'\" type=\"button\">').concat(h.language.translate(\"Insert\"),\"</button></div></div>\")},s=h.popups.create(\"link.insert\",l);return h.$wp&&h.events.$on(h.$wp,\"scroll.link-insert\",function(){(h.image?h.image.get():null)&&h.popups.isVisible(\"link.insert\")&&f(),h.popups.isVisible(\"link.insert\")&&p()}),s}function c(e,t,n){if(h.opts.trackChangesEnabled){if(h.edit.on(),h.events.focus(!0),h.undo.saveStep(),h.markers.insert(),h.html.wrap(),!h.$el.find(\".fr-marker\").length)return void h.popups.hide(\"link.insert\");h.markers.remove()}if(void 0===n&&(n={}),!1===h.events.trigger(\"link.beforeInsert\",[e,t,n]))return!1;var i=h.image?h.image.get():null;i||\"A\"==h.el.tagName?\"A\"==h.el.tagName&&h.$el.focus():(h.selection.restore(),h.popups.hide(\"link.insert\"));var r=e;h.opts.linkConvertEmailAddress&&h.helpers.isEmail(e)&&!/^mailto:.*/i.test(e)&&(e=\"mailto:\".concat(e));if(\"\"===h.opts.linkAutoPrefix||new RegExp(\"^(\"+C.LinkProtocols.join(\"|\")+\"):.\",\"i\").test(e)||/^data:image.*/i.test(e)||/^(https?:|ftps?:|file:|)\\/\\//i.test(e)||/^([A-Za-z]:(\\\\){1,2}|[A-Za-z]:((\\\\){1,2}[^\\\\]+)+)(\\\\)?$/i.test(e)||[\"/\",\"{\",\"[\",\"#\",\"(\",\".\",'\"',\"\\\\\"].indexOf((e||\"\")[0])<0&&(e=h.opts.linkAutoPrefix+e),(e=h.helpers.sanitizeURL(e))===decodeURIComponent(e)&&(e=encodeURI(e)),h.opts.linkAlwaysBlank&&(n.target=\"_blank\"),h.opts.linkAlwaysNoFollow&&(n.rel=\"nofollow\"),h.helpers.isEmail(r)&&(n.target=null,n.rel=null),\"_blank\"==n.target?(h.opts.linkNoOpener&&(n.rel?n.rel+=\" noopener\":n.rel=\"noopener\"),h.opts.linkNoReferrer&&(n.rel?n.rel+=\" noreferrer\":n.rel=\"noreferrer\")):null==n.target&&(n.rel?n.rel=n.rel.replace(/noopener/,\"\").replace(/noreferrer/,\"\"):n.rel=null),t=t||\"\",e===h.opts.linkAutoPrefix)return h.popups.get(\"link.insert\").find('input[name=\"href\"]').addClass(\"fr-error\"),h.events.trigger(\"link.bad\",[r]),!1;var a,l=v();if(l){if((a=m(l)).attr(\"href\",e),0<t.length&&a.text()!=t&&!i){if(h.opts.trackChangesEnabled){var s=m(a.get(0).outerHTML);s.insertBefore(a.parent());var o=h.track_changes.wrapLinkInTracking(s,h.track_changes.getPendingChanges().length-1),c=h.track_changes.wrapInDelete(o);a.parent().append(c)}for(var p=a.get(0);1===p.childNodes.length&&p.childNodes[0].nodeType==Node.ELEMENT_NODE;)p=p.childNodes[0];m(p).text(t)}for(var f in i||a.prepend(C.START_MARKER).append(C.END_MARKER),n)n[f]?a.attr(f,n[f]):a.removeAttr(f);i||h.selection.restore()}else{i?(i.wrap('<a href=\"'.concat(e,'\"></a>')),h.image.hasCaption()&&i.parent().append(i.parents(\".fr-img-caption\").find(\".fr-inner\"))):(h.format.remove(\"a\"),h.selection.isCollapsed()?(t=0===t.length?r:t,h.html.insert('<a href=\"'.concat(e,'\">').concat(C.START_MARKER).concat(t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")).concat(C.END_MARKER,\"</a>\")),h.selection.restore()):0<t.length&&t!=h.selection.text().replace(/\\n/g,\"\")?(h.selection.remove(),h.html.insert('<a href=\"'.concat(e,'\">').concat(C.START_MARKER).concat(t.replace(/&/g,\"&amp;\")).concat(C.END_MARKER,\"</a>\")),h.selection.restore()):(!function g(){if(!h.selection.isCollapsed()){h.selection.save();for(var e=h.$el.find(\".fr-marker\").addClass(\"fr-unprocessed\").toArray();e.length;){var t=m(e.pop());t.removeClass(\"fr-unprocessed\");var n=h.node.deepestParent(t.get(0));if(n){for(var i=t.get(0),r=\"\",a=\"\";i=i.parentNode,h.node.isBlock(i)||(r+=h.node.closeTagString(i),a=h.node.openTagString(i)+a),i!=n;);var l=h.node.openTagString(t.get(0))+t.html()+h.node.closeTagString(t.get(0));t.replaceWith('<span id=\"fr-break\"></span>');var s=n.outerHTML;s=(s=s.replace(/<span id=\"fr-break\"><\\/span>/g,r+l+a)).replace(a+r,\"\"),n.outerHTML=s}e=h.$el.find(\".fr-marker.fr-unprocessed\").toArray()}h.html.cleanEmptyTags(),h.selection.restore()}}(),h.format.apply(\"a\",{href:e})));for(var d=b(),u=0;u<d.length;u++)(a=m(d[u])).attr(n),a.removeAttr(\"_moz_dirty\");1==d.length&&h.$wp&&!i&&(m(d[0]).prepend(C.START_MARKER).append(C.END_MARKER),h.selection.restore())}if(i){var k=h.popups.get(\"link.insert\");k&&k.find(\"input:focus\").blur(),h.image.edit(i)}else E()}function p(){a();var e=v();if(e){var t=h.popups.get(\"link.insert\");t||(t=s()),h.popups.isVisible(\"link.insert\")||(h.popups.refresh(\"link.insert\"),h.selection.save(),h.helpers.isMobile()&&(h.events.disableBlur(),h.$el.blur(),h.events.enableBlur())),h.popups.setContainer(\"link.insert\",h.$sc);var n=(h.image?h.image.get():null)||m(e),i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show(\"link.insert\",i,r,n.outerHeight(),!0)}}function f(){var e=h.image?h.image.getEl():null;if(e){var t=h.popups.get(\"link.insert\"),n=e.outerWidth()/2;h.image.hasCaption()&&(e=e.find(\".fr-img-wrap\"),m(e)&&m(e).find(\"img\")&&(n=m(e).find(\"img\").outerWidth()/2)),t||(t=s()),o(),h.popups.setContainer(\"link.insert\",h.$sc);var i=e.offset().left+n,r=e.offset().top+e.outerHeight(),a=e.outerHeight();h.opts.iframe&&h.image.hasCaption()&&m(e)&&m(e).find(\"img\")&&(a=m(e).find(\"img\").outerHeight()),h.popups.show(\"link.insert\",i,r,a,!0)}}return{_init:function e(){h.events.on(\"keyup\",function(e){e.which!=C.KEYCODE.ESC&&E(e)}),h.events.on(\"window.mouseup\",E),h.events.$on(h.$el,\"click\",\"a\",function(e){h.edit.isDisabled()&&e.preventDefault()}),h.helpers.isMobile()&&h.events.$on(h.$doc,\"selectionchange\",E),s(!0),\"A\"==h.el.tagName&&h.$el.addClass(\"fr-view\"),h.events.on(\"toolbar.esc\",function(){if(h.popups.isVisible(\"link.edit\"))return h.events.disableBlur(),h.events.focus(),!1},!0)},remove:function i(){var e=v(),t=h.image?h.image.get():null;if(!1===h.events.trigger(\"link.beforeRemove\",[e]))return!1;if(t&&e)if(h.image.hasCaption()){t.addClass(\"img-link-caption\"),m(e).replaceWith(m(e).html());var n=document.querySelectorAll(\"img.img-link-caption\");h.image.edit(m(n[0])),m(n[0]).removeClass(\"img-link-caption\")}else t.unwrap(),h.image.edit(t);else e&&(h.selection.save(),m(e).replaceWith(m(e).html()),h.selection.restore(),a())},showInsertPopup:function d(){var e=h.$tb.find('.fr-command[data-cmd=\"insertLink\"]'),t=h.popups.get(\"link.insert\");if(t||(t=s()),!t.hasClass(\"fr-active\"))if(h.popups.refresh(\"link.insert\"),h.popups.setContainer(\"link.insert\",h.$tb||h.$sc),e.isVisible()){var n=h.button.getPosition(e),i=n.left,r=n.top;h.popups.show(\"link.insert\",i,r,e.outerHeight())}else h.position.forSelection(t),h.popups.show(\"link.insert\")},usePredefined:function u(e){var t,n,i=h.opts.linkList[e],r=h.popups.get(\"link.insert\"),a=r.find('input.fr-link-attr[type=\"text\"]'),l=r.find('input.fr-link-attr[type=\"checkbox\"]');for(i.rel&&(r.rel=i.rel),n=0;n<a.length;n++)i[(t=m(a[n])).attr(\"name\")]?(t.val(i[t.attr(\"name\")]),t.toggleClass(\"fr-not-empty\",!0)):\"text\"!=t.attr(\"name\")&&t.val(\"\");for(n=0;n<l.length;n++)(t=m(l[n])).attr(\"checked\",t.data(\"checked\")==i[t.attr(\"name\")]);h.accessibility.focusPopup(r)},insertCallback:function k(){var e,t,n=h.popups.get(\"link.insert\"),i=n.find('input.fr-link-attr[type=\"text\"]'),r=n.find('input.fr-link-attr[type=\"checkbox\"]'),a=(i.filter('[name=\"href\"]').val()||\"\").trim(),l=h.opts.linkText?i.filter('[name=\"text\"]').val():\"\",s={};for(t=0;t<i.length;t++)e=m(i[t]),[\"href\",\"text\"].indexOf(e.attr(\"name\"))<0&&(s[e.attr(\"name\")]=e.val());for(t=0;t<r.length;t++)(e=m(r[t])).is(\":checked\")?s[e.attr(\"name\")]=e.data(\"checked\"):s[e.attr(\"name\")]=e.data(\"unchecked\")||null;n.rel&&(s.rel=n.rel);var o=h.helpers.scrollTop();c(a,l,s),m(h.o_win).scrollTop(o)},insert:c,update:p,get:v,allSelected:b,back:function t(){h.image&&h.image.get()?h.image.back():(h.events.disableBlur(),h.selection.restore(),h.events.enableBlur(),v()&&h.$wp?(h.selection.restore(),a(),E()):\"A\"==h.el.tagName?(h.$el.focus(),E()):(h.popups.hide(\"link.insert\"),h.toolbar.showInline()))},imageLink:f,applyStyle:function g(e,t,n){void 0===n&&(n=h.opts.linkMultipleStyles),void 0===t&&(t=h.opts.linkStyles);var i=v();if(!i)return!1;if(!n){var r=Object.keys(t);r.splice(r.indexOf(e),1),m(i).removeClass(r.join(\" \"))}m(i).toggleClass(e),E()}}},C.DefineIcon(\"insertLink\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),C.RegisterShortcut(C.KEYCODE.K,\"insertLink\",null,\"K\"),C.RegisterCommand(\"insertLink\",{title:\"Insert Link\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"link.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"link.insert\")):this.link.showInsertPopup()},plugin:\"link\"}),C.DefineIcon(\"linkOpen\",{NAME:\"external-link\",FA5NAME:\"external-link-alt\",SVG_KEY:\"openLink\"}),C.RegisterCommand(\"linkOpen\",{title:\"Open Link\",undo:!1,refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},callback:function(){var e=this.link.get();if(e){var t=e.getAttribute(\"href\");if(t&&t.startsWith(\"#_mso\")){var n='a[href=\"#'.concat(e.name,'\"]'),i=this.$el.find(n);i.length&&i.get(0).scrollIntoView({behavior:\"smooth\",block:\"center\"})}else-1!==e.href.indexOf(\"mailto:\")?this.o_win.open(e.href).close():(e.target||(e.target=\"_self\"),this.browser.msie||this.browser.edge?this.o_win.open(e.href,e.target):this.o_win.open(e.href,e.target,\"noopener\"));this.popups.hide(\"link.edit\")}},plugin:\"link\"}),C.DefineIcon(\"linkEdit\",{NAME:\"edit\",SVG_KEY:\"edit\"}),C.RegisterCommand(\"linkEdit\",{title:\"Edit Link\",undo:!1,refreshAfterCallback:!1,popup:!0,callback:function(){this.link.update()},refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},plugin:\"link\"}),C.DefineIcon(\"linkRemove\",{NAME:\"unlink\",SVG_KEY:\"unlink\"}),C.RegisterCommand(\"linkRemove\",{title:\"Unlink\",callback:function(){this.link.remove()},refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},plugin:\"link\"}),C.DefineIcon(\"linkBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),C.RegisterCommand(\"linkBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.link.back()},refresh:function(e){var t=this.link.get()&&this.doc.hasFocus();(this.image?this.image.get():null)||t||this.opts.toolbarInline?(e.removeClass(\"fr-hidden\"),e.next(\".fr-separator\").removeClass(\"fr-hidden\")):(e.addClass(\"fr-hidden\"),e.next(\".fr-separator\").addClass(\"fr-hidden\"))},plugin:\"link\"}),C.DefineIcon(\"linkList\",{NAME:\"search\",SVG_KEY:\"search\"}),C.RegisterCommand(\"linkList\",{title:\"Choose Link\",type:\"dropdown\",focus:!1,undo:!1,refreshAfterCallback:!1,html:function(){for(var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.linkList,n=0;n<t.length;n++)e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"linkList\" data-param1=\"'.concat(n,'\">').concat(t[n].displayText||t[n].text,\"</a></li>\");return e+=\"</ul>\"},callback:function(e,t){this.link.usePredefined(t)},plugin:\"link\"}),C.RegisterCommand(\"linkInsert\",{focus:!1,refreshAfterCallback:!1,callback:function(){this.link.insertCallback()},refresh:function(e){this.link.get()?e.text(this.language.translate(\"Update\")):e.text(this.language.translate(\"Insert\"))},plugin:\"link\"}),C.DefineIcon(\"imageLink\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),C.RegisterCommand(\"imageLink\",{title:\"Insert Link\",undo:!1,focus:!1,popup:!0,callback:function(){this.link.imageLink()},refresh:function(e){var t;this.link.get()?((t=e.prev()).hasClass(\"fr-separator\")&&t.removeClass(\"fr-hidden\"),e.addClass(\"fr-hidden\")):((t=e.prev()).hasClass(\"fr-separator\")&&t.addClass(\"fr-hidden\"),e.removeClass(\"fr-hidden\"))},plugin:\"link\"}),C.DefineIcon(\"linkStyle\",{NAME:\"magic\",SVG_KEY:\"linkStyles\"}),C.RegisterCommand(\"linkStyle\",{title:\"Style\",type:\"dropdown\",html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.linkStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"linkStyle\" data-param1=\"'.concat(n,'\">').concat(this.language.translate(t[n]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.link.applyStyle(t)},refreshOnShow:function(e,t){var n=this.$,i=this.link.get();if(i){var r=n(i);t.find(\".fr-command\").each(function(){var e=n(this).data(\"param1\"),t=r.hasClass(e);n(this).toggleClass(\"fr-active\",t).attr(\"aria-selected\",t)})}},refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},plugin:\"link\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(o){\"use strict\";o=o&&o.hasOwnProperty(\"default\")?o[\"default\"]:o,Object.assign(o.DEFAULTS,{listAdvancedTypes:!0}),o.PLUGINS.lists=function(m){var g=m.$;function u(e){return'<span class=\"fr-open-'.concat(e.toLowerCase(),'\"></span>')}function h(e){return'<span class=\"fr-close-'.concat(e.toLowerCase(),'\"></span>')}function c(e,t){!function c(e,t){for(var a=[],n=0;n<e.length;n++){var r=e[n].parentNode;\"LI\"==e[n].tagName&&r.tagName!=t&&a.indexOf(r)<0&&a.push(r)}for(var o=a.length-1;0<=o;o--){var l=g(a[o]);l.replaceWith(\"<\".concat(t.toLowerCase(),\" \").concat(m.node.attributes(l.get(0)),\">\").concat(l.html(),\"</\").concat(t.toLowerCase(),\">\"))}}(e,t);var a,n=m.html.defaultTag(),r=null;e.length&&(a=\"rtl\"==m.opts.direction||\"rtl\"==g(e[0]).css(\"direction\")?\"margin-right\":\"margin-left\");for(var o=0;o<e.length;o++)if(\"TD\"!=e[o].tagName&&\"TH\"!=e[o].tagName&&\"LI\"!=e[o].tagName){var l=m.helpers.getPX(g(e[o]).css(a))||0;(e[o].style.marginLeft=null)===r&&(r=l);var i=0<r?\"<\".concat(t,' style=\"').concat(a,\": \").concat(r,'px \">'):\"<\".concat(t,\">\"),s=\"</\".concat(t,\">\");for(l-=r;0<l/m.opts.indentMargin;)i+=\"</\".concat(t,\">\"),s+=s,l-=m.opts.indentMargin;n&&e[o].tagName.toLowerCase()==n?g(e[o]).replaceWith(\"\".concat(i,\"<li\").concat(m.node.attributes(e[o]),\">\").concat(g(e[o]).html(),\"</li>\").concat(s)):g(e[o]).wrap(\"\".concat(i,\"<li></li>\").concat(s))}m.clean.lists()}function d(e){var n,t,a=[];for(n=e.length-1;0<=n;n--)for(t=n-1;0<=t;t--){if(g(e[t]).find(e[n]).length||e[t]==e[n]){g(e[n]).addClass(\"fr-removed-block-\".concat(n)),a.push(n),e.splice(n,1);break}if(g(e[t]).contains(e[n])){g(e[t]).addClass(\"fr-removed-block-\".concat(t)),a.push(t),e.splice(t,1);break}}var r=[],o=!1;for(n=0;n<e.length;n++){var l=g(e[n]),i=e[n].parentNode,s=l.attr(\"class\");if(l.is(\":first-child\")&&(o=!0,g(i.parentNode).removeAttr(\"start\")),l.before(h(i.tagName)),\"LI\"==i.parentNode.tagName){if(l.is(\":last-child\")){var c=l.find(\"> ul, > ol\").last();c.length&&c.wrap(\"<\".concat(i.tagName,\">\"))}l.before(h(\"LI\")),l.after(u(\"LI\"))}else if(\"OL\"==i.parentNode.tagName)o||(l.before(h(\"OL\")),l.after(u(\"OL\")));else if(\"UL\"==i.parentNode.tagName)o||(l.before(h(\"UL\")),l.after(u(\"UL\")));else{var d=\"\";s&&(d+=' class=\"'.concat(s,'\"'));var p=\"rtl\"==m.opts.direction||\"rtl\"==l.css(\"direction\")?\"margin-right\":\"margin-left\";m.helpers.getPX(g(i).css(p))&&0<=(g(i).attr(\"style\")||\"\").indexOf(\"\".concat(p,\":\"))&&(d+=' style=\"'.concat(p,\":\").concat(m.helpers.getPX(g(i).css(p)),'px;\"')),m.html.defaultTag()&&0===l.find(m.html.blockTagsQuery()).length&&l.wrapInner(\"<\".concat(m.html.defaultTag()).concat(d,\"></\").concat(m.html.defaultTag(),\">\")),m.node.isEmpty(l.get(0),!0)||0!==l.find(m.html.blockTagsQuery()).length||(\"DIV\"==i.parentNode.tagName&&m.html.defaultTag()?(l.prepend(u(m.html.defaultTag())),l.append(h(m.html.defaultTag()))):l.append(\"<br>\")),l.append(u(\"LI\")),l.prepend(h(\"LI\"))}l.after(u(i.tagName)),\"LI\"==i.parentNode.tagName&&(i=i.parentNode.parentNode),r.indexOf(i)<0&&r.push(i)}var f=function f(){var e=g(r[n]),t=e.html(),a=m.helpers.getPX(e.css(\"margin-left\"))||0;t=(t=t.replace(/<span class=\"fr-open-([a-z]*)\"><\\/span>/g,function(e,t){return 0<a?\"<\".concat(t,' style=\"margin-left:').concat(a,'px;\">'):\"<\".concat(t,\">\")})).replace(/<span class=\"fr-close-([a-z]*)\"><\\/span>/g,\"</$1>\"),e.replaceWith(m.node.openTagString(e.get(0))+t+m.node.closeTagString(e.get(0)))};for(n=0;n<r.length;n++)f();return m.$el.find(\"li:empty\").remove(),m.$el.find(\"ul:empty, ol:empty\").remove(),m.clean.lists(),m.$el.find(\"ul:empty, ol:empty\").remove(),m.html.wrap(),a}function N(e,t){var a=g(document.createElement(\"li\"));if(e.childNodes.length)for(var n=e.childNodes[0].attributes,r=0;r<n.length;r++){var o=n[r];\"style\"===o.name&&(a[0].style.cssText+=o.value)}g(e).prepend(a),g(e).removeAttr(\"start\");for(var l=m.node.contents(t)[0];l&&!m.node.isList(l);){var i=l.nextSibling;a.append(l),l=i}}function e(e){if(\"indent\"==e||\"outdent\"==e){var t=!1,a=m.selection.blocks(!1,!0),n=[],r=a[0].previousSibling||a[0].parentElement;if(\"outdent\"==e){if(\"UL\"!=a[0].parentNode.tagName&&\"UL\"!=r.parentNode.tagName&&\"OL\"!=r.parentNode.tagName&&\"LI\"!=r.parentNode.tagName)return;if(!a[0].previousSibling&&\"none\"==r.parentNode.style.listStyleType)return void function l(e){for(m.selection.save();0<e.childNodes.length;)e.parentNode.parentNode.append(e.childNodes[0]);m.clean.lists(),m.selection.restore()}(r)}else{if(\"UL\"!=a[0].parentElement.tagName&&\"OL\"!=a[0].parentElement.tagName&&\"LI\"!=a[0].parentElement.tagName)return;if(m.node.isBlock(a[0])&&\"LI\"!==a[0].tagName&&0<g(a[0]).parentsUntil(m.$el,\"LI\").length&&(a[0]=a[0].parentElement,r=a[0].parentElement),!a[0].previousSibling||\"LI\"!=a[0].previousSibling.tagName){if(r&&[\"UL\",\"OL\"].includes(r.tagName))return void function i(e){m.selection.save();var t=\"OL\"==e.tagName?document.createElement(\"ol\"):document.createElement(\"ul\");for(g(t).css(\"list-style-type\",g(e).css(\"list-style-type\"));0<e.childNodes.length;)t.append(e.childNodes[0]);var a=g(document.createElement(\"li\"));a.css(\"list-style-type\",\"none\"),a.append(t),e.append(a.get(0)),m.clean.lists(),m.selection.restore()}(r);t=!0}}for(var o=0;o<a.length;o++)\"LI\"==a[o].tagName?(t=!0,n.push(a[o])):\"LI\"==a[o].parentNode.tagName&&n.indexOf(a[o].parentNode)<0&&(t=!0,n.push(a[o].parentNode));t&&(\"indent\"==e?function f(e){m.selection.save();for(var t=!1,a=0;a<e.length;a++){var n=e[a].previousSibling;if(n&&\"LI\"==n.tagName&&!t){var r=g(e[a]).find(\"> ul, > ol\").last().get(0);if(r)N(r,e[a]),g(n).append(g(r)),g(e[a]).remove();else{var o=g(n).find(\"> ul, > ol\").last().get(0);if(o)g(o).append(g(e[a]));else{var l=g(\"<\".concat(e[a].parentNode.tagName,\">\"));g(n).append(l),l.append(g(e[a]))}}}else if(!n||\"OL\"!=n.tagName&&\"UL\"!=n.tagName){var i=e[a].parentNode;if(t=!0,\"UL\"==i.tagName||\"OL\"==i.tagName){var s=g(e[a]).find(\"> ol, > ul\"),c=null==e[a].previousSibling;if(s.length){var d=s.first().get(0);N(d,e[a]),c?g(i).prepend(g(d)):g(i).append(g(d)),g(e[a]).remove()}else g(e[a]).wrap(\"<\".concat(i.tagName,\">\"));c&&0<g(i).find(\"> li\").length&&g(i).attr(\"start\",\"2\")}}else{var p=g(e[a]).find(\"> ol, > ul\").first().get(0);p?(N(p,e[a]),g(n).append(g(p).children()),g(e[a]).remove(),g(p).remove()):g(n).append(g(e[a]))}}m.clean.lists(),m.selection.restore()}(n):function s(e){m.selection.save();var t=[];do{t=d(e),e=[];for(var a=0;a<t.length;a++){var n=m.$el.find(\".fr-removed-block-\".concat(t[a])).first().get(0);g(n).removeClass(\"fr-removed-block-\".concat(t[a])),\"\"==g(n).attr(\"class\")&&g(n).removeAttr(\"class\"),e.push(n)}}while(0<t.length);m.selection.restore()}(n))}}return{_init:function t(){m.events.on(\"commands.after\",e),m.events.on(\"keydown\",function(e){if(e.which==o.KEYCODE.TAB||(e.ctrlKey||e.metaKey)&&\"]\"===e.key){if(!e.shiftKey&&m.$tb.find('[data-cmd=\"indent\"]').hasClass(\"fr-disabled\"))return e.preventDefault(),e.stopPropagation(),!1;for(var t=m.selection.blocks(),a=[],n=0;n<t.length;n++)\"LI\"==t[n].tagName?a.push(t[n]):\"LI\"==t[n].parentNode.tagName&&a.push(t[n].parentNode);if(1<=a.length||a.length&&(m.selection.info(a[0]).atStart||m.node.isEmpty(a[0])))return e.preventDefault(),e.stopPropagation(),e.shiftKey?m.commands.outdent():m.commands.indent(),!1}},!0)},format:function p(e,t){var a,n,r=1<(n=m.selection.blocks(!0)).length&&n[n.length-1],o=m.selection.ranges();if(r&&o.length&&m.node.isEmpty(r)&&!o[0].endOffset&&o[0].setEndAfter(r.firstChild,1),m.html.syncInputs(),m.selection.save(),m.browser.safari&&m.helpers.getSafariVersion()<17){var l=m.selection.ranges();if(o&&o[0].endContainer&&l&&l[0].endContainer&&!o[0].endContainer.isSameNode(l[0].endContainer)&&o[0].endContainer.previousSibling&&o[0].endContainer.previousSibling.isSameNode(l[0].endContainer)){var i=g(l[0].endContainer).find('.fr-marker[data-type=\"false\"]');g(o[0].endContainer).append(i[0])}}for(m.html.wrap(!0,!0,!0,!0),m.selection.restore(),n=m.selection.blocks(!0),a=0;a<n.length;a++)\"LI\"!=n[a].tagName&&\"LI\"==n[a].parentNode.tagName&&(n[a]=n[a].parentNode);if(m.selection.save(),function s(e,t){for(var a=!0,n=0;n<e.length;n++){if(\"LI\"!=e[n].tagName)return!1;e[n].parentNode.tagName!=t&&(a=!1)}return a}(n,e)?t||d(n):c(n,e),m.html.unwrap(),m.selection.restore(),t=t||\"default\"){for(n=m.selection.blocks(),a=0;a<n.length;a++)\"LI\"!=n[a].tagName&&\"LI\"==n[a].parentNode.tagName&&(n[a]=n[a].parentNode);for(a=0;a<n.length;a++)\"LI\"==n[a].tagName&&(g(n[a].parentNode).css(\"list-style-type\",\"default\"===t?\"\":t),0===(g(n[a].parentNode).attr(\"style\")||\"\").length&&g(n[a].parentNode).removeAttr(\"style\"))}},refresh:function r(e,t){var a=g(m.selection.element());if(a.get(0)!=m.el){var n=a.get(0);(n=\"LI\"!=n.tagName&&n.firstElementChild&&\"LI\"!=n.firstElementChild.tagName?a.parents(\"li\").get(0):\"LI\"==n.tagName||n.firstElementChild?n.firstElementChild&&\"LI\"==n.firstElementChild.tagName?a.get(0).firstChild:a.get(0):a.parents(\"li\").get(0))&&n.parentNode.tagName==t&&m.el.contains(n.parentNode)&&e.addClass(\"fr-active\")}}}},o.DefineIcon(\"formatOLSimple\",{NAME:\"list-ol\",SVG_KEY:\"orderedList\"}),o.RegisterCommand(\"formatOLSimple\",{title:\"Ordered List\",type:\"button\",options:{\"default\":\"Default\",circle:\"Circle\",disc:\"Disc\",square:\"Square\"},refresh:function(e){this.lists.refresh(e,\"OL\")},callback:function(e,t){this.lists.format(\"OL\",t)},plugin:\"lists\"}),o.RegisterCommand(\"formatUL\",{title:\"Unordered List\",type:\"button\",hasOptions:function(){return this.opts.listAdvancedTypes},options:{\"default\":\"Default\",circle:\"Circle\",disc:\"Disc\",square:\"Square\"},refresh:function(e){this.lists.refresh(e,\"UL\")},callback:function(e,t){this.lists.format(\"UL\",t)},plugin:\"lists\"}),o.RegisterCommand(\"formatOL\",{title:\"Ordered List\",hasOptions:function(){return this.opts.listAdvancedTypes},options:{\"default\":\"Default\",\"lower-alpha\":\"Lower Alpha\",\"lower-greek\":\"Lower Greek\",\"lower-roman\":\"Lower Roman\",\"upper-alpha\":\"Upper Alpha\",\"upper-roman\":\"Upper Roman\"},refresh:function(e){this.lists.refresh(e,\"OL\")},callback:function(e,t){this.lists.format(\"OL\",t)},plugin:\"lists\"}),o.DefineIcon(\"formatUL\",{NAME:\"list-ul\",SVG_KEY:\"unorderedList\"}),o.DefineIcon(\"formatOL\",{NAME:\"list-ol\",SVG_KEY:\"orderedList\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(a,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(a.FroalaEditor)}(this,function(a){\"use strict\";a=a&&a.hasOwnProperty(\"default\")?a[\"default\"]:a,Object.assign(a.DEFAULTS,{paragraphFormat:{N:\"Normal\",H1:\"Heading 1\",H2:\"Heading 2\",H3:\"Heading 3\",H4:\"Heading 4\",PRE:\"Code\"},paragraphFormatSelection:!1,paragraphDefaultSelection:\"Paragraph Format\"}),a.PLUGINS.paragraphFormat=function(h){var g=h.$;function c(a,t){var e=h.html.defaultTag();if(t&&t.toLowerCase()!=e)if(0<a.find(\"ul, ol\").length){var r=g(\"<\"+t+\">\");a.prepend(r);for(var n=h.node.contents(a.get(0))[0];n&&[\"UL\",\"OL\"].indexOf(n.tagName)<0;){var o=n.nextSibling;r.append(n),n=o}}else a.html(\"<\"+t+\">\"+a.html()+\"</\"+t+\">\")}return{apply:function u(a){\"N\"==a&&(a=h.html.defaultTag()),h.selection.save(),h.html.wrap(!0,!0,!h.opts.paragraphFormat.BLOCKQUOTE,!0,!0),h.selection.restore();var t,e,r,n,o,i,p,l,s=h.selection.blocks();h.selection.save(),h.$el.find(\"pre\").attr(\"skip\",!0);for(var m=0;m<s.length;m++)if(s[m].tagName!=a&&!h.node.isList(s[m])){var d=g(s[m]);if(\"LI\"==s[m].tagName)c(d,a);else if(\"LI\"==s[m].parentNode.tagName&&s[m])i=d,p=a,l=h.html.defaultTag(),p&&p.toLowerCase()!=l||(p='div class=\"fr-temp-div\"'),i.replaceWith(g(\"<\"+p+\">\").html(i.html()));else if(0<=[\"TD\",\"TH\"].indexOf(s[m].parentNode.tagName))r=d,n=a,o=h.html.defaultTag(),n||(n='div class=\"fr-temp-div\"'+(h.node.isEmpty(r.get(0),!0)?' data-empty=\"true\"':\"\")),n.toLowerCase()==o?(h.node.isEmpty(r.get(0),!0)||r.append(\"<br/>\"),r.replaceWith(r.html())):r.replaceWith(g(\"<\"+n+\">\").html(r.html()));else{if(\"PRE\"===a&&null===d[0].nextSibling){var f=g(\"<br>\");d[0].after(f[0])}t=d,(e=a)||(e='div class=\"fr-temp-div\"'+(h.node.isEmpty(t.get(0),!0)?' data-empty=\"true\"':\"\")),(\"H1\"==e||\"H2\"==e||\"H3\"==e||\"H4\"==e||\"H5\"==e)&&-1<h.node.attributes(t.get(0)).indexOf(\"font-size:\")?t.replaceWith(g(\"<\"+e+\" \"+h.node.attributes(t.get(0)).replace(/font-size:[0-9]+px;?/,\"\")+\">\").html(t.html()).removeAttr(\"data-empty\")):t.replaceWith(g(\"<\"+e+\" \"+h.node.attributes(t.get(0))+\">\").html(t.html()).removeAttr(\"data-empty\"))}}h.$el.find('pre:not([skip=\"true\"]) + pre:not([skip=\"true\"])').each(function(){g(this).prev().append(\"<br>\"+g(this).html()),g(this).remove()}),h.$el.find(\"pre\").removeAttr(\"skip\"),h.html.unwrap(),h.selection.restore()},refreshOnShow:function i(a,t){var e=h.selection.blocks();if(e.length){var r=e[0],n=\"N\",o=h.html.defaultTag();r.tagName.toLowerCase()!=o&&r!=h.el&&(n=r.tagName),t.find('.fr-command[data-param1=\"'+n+'\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)}else t.find('.fr-command[data-param1=\"N\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)},refresh:function o(a){if(h.opts.paragraphFormatSelection){var t=h.selection.blocks();if(t.length){var e=t[0],r=\"N\",n=h.html.defaultTag();e.tagName.toLowerCase()!=n&&e!=h.el&&(r=e.tagName),0<=[\"LI\",\"TD\",\"TH\"].indexOf(r)&&(r=\"N\"),a.find(\">span\").text(h.language.translate(h.opts.paragraphFormat[r]))}else a.find(\">span\").text(h.language.translate(h.opts.paragraphFormat.N))}}}},a.RegisterCommand(\"paragraphFormat\",{type:\"dropdown\",displaySelection:function(a){return a.opts.paragraphFormatSelection},defaultSelection:function(a){return a.language.translate(a.opts.paragraphDefaultSelection)},displaySelectionWidth:80,html:function(){var a='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.paragraphFormat;for(var e in t)if(t.hasOwnProperty(e)){var r=this.shortcuts.get(\"paragraphFormat.\"+e);r=r?'<span class=\"fr-shortcut\">'+r+\"</span>\":\"\",a+='<li role=\"presentation\"><'+(\"N\"==e?this.html.defaultTag()||\"DIV\":e)+' style=\"padding: 0 !important; margin: 0 !important; border: 0 !important; background-color: transparent !important; '+(\"PRE\"==e||\"N\"==e?\"font-size: 15px\":\"font-weight: bold !important; \")+(\"H1\"==e?\"font-size: 2em !important; \":\"\")+(\"H2\"==e?\"font-size: 1.5em !important; \":\"\")+(\"H3\"==e?\"font-size: 1.17em !important; \":\"\")+(\"H4\"==e?\"font-size: 15px !important;\":\"\")+'\"  role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"paragraphFormat\" data-param1=\"'+e+'\" title=\"'+this.language.translate(t[e])+'\">'+this.language.translate(t[e])+\"</a></\"+(\"N\"==e?this.html.defaultTag()||\"DIV\":e)+\"></li>\"}return a+=\"</ul>\"},title:\"Paragraph Format\",callback:function(a,t){this.paragraphFormat.apply(t)},refresh:function(a){this.paragraphFormat.refresh(a)},refreshOnShow:function(a,t){this.paragraphFormat.refreshOnShow(a,t)},plugin:\"paragraphFormat\"}),a.DefineIcon(\"paragraphFormat\",{NAME:\"paragraph\",SVG_KEY:\"paragraphFormat\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(a,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],e):e(a.FroalaEditor)}(this,function(a){\"use strict\";a=a&&a.hasOwnProperty(\"default\")?a[\"default\"]:a,Object.assign(a.DEFAULTS,{paragraphStyles:{\"fr-text-gray\":\"Gray\",\"fr-text-bordered\":\"Bordered\",\"fr-text-spaced\":\"Spaced\",\"fr-text-uppercase\":\"Uppercase\"},paragraphMultipleStyles:!0}),a.PLUGINS.paragraphStyle=function(i){var p=i.$;return{_init:function a(){},apply:function c(a,e,t){void 0===e&&(e=i.opts.paragraphStyles),void 0===t&&(t=i.opts.paragraphMultipleStyles);var r=\"\";t||((r=Object.keys(e)).splice(r.indexOf(a),1),r=r.join(\" \")),i.selection.save(),i.html.wrap(!0,!0,!0,!0),i.selection.restore();var l=i.selection.blocks();i.selection.save();for(var n=p(l[0]).hasClass(a),s=0;s<l.length;s++)p(l[s]).removeClass(r).toggleClass(a,!n),p(l[s]).hasClass(\"fr-temp-div\")&&p(l[s]).removeClass(\"fr-temp-div\"),\"\"===p(l[s]).attr(\"class\")&&p(l[s]).removeAttr(\"class\");if(1===l.length&&\"fr-text-bordered\"===a&&null===l[0].nextSibling){var o=p(\"<br>\");l[0].after(o[0])}i.html.unwrap(),i.selection.restore()},refreshOnShow:function l(a,e){var t=i.selection.blocks();if(t.length){var r=p(t[0]);e.find(\".fr-command\").each(function(){var a=p(this).data(\"param1\"),e=r.hasClass(a);p(this).toggleClass(\"fr-active\",e).attr(\"aria-selected\",e)})}}}},a.RegisterCommand(\"paragraphStyle\",{type:\"dropdown\",html:function(){var a='<ul class=\"fr-dropdown-list\" role=\"presentation\">',e=this.opts.paragraphStyles;for(var t in e)e.hasOwnProperty(t)&&(a+='<li role=\"presentation\"><a class=\"fr-command '.concat(t,'\" tabIndex=\"-1\" role=\"option\" data-cmd=\"paragraphStyle\" data-param1=\"').concat(t,'\" title=\"').concat(this.language.translate(e[t]),'\">').concat(this.language.translate(e[t]),\"</a></li>\"));return a+=\"</ul>\"},title:\"Paragraph Style\",callback:function(a,e){this.paragraphStyle.apply(e)},refreshOnShow:function(a,e){this.paragraphStyle.refreshOnShow(a,e)},plugin:\"paragraphStyle\"}),a.DefineIcon(\"paragraphStyle\",{NAME:\"magic\",SVG_KEY:\"paragraphStyle\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(e){\"use strict\";(e=e&&e.hasOwnProperty(\"default\")?e[\"default\"]:e).PLUGINS.quote=function(r){var c=r.$;function s(e){for(;e.parentNode&&e.parentNode!=r.el;)e=e.parentNode;return e}return{apply:function t(e){r.selection.save(),r.html.wrap(!0,!0,!0,!0),r.selection.restore(),\"increase\"==e?function o(){var e,t=r.selection.blocks();for(e=0;e<t.length;e++)t[e]=s(t[e]);r.selection.save();var n=c(document.createElement(\"blockquote\"));for(n.insertBefore(t[0]),e=0;e<t.length;e++)n.append(t[e]);r.opts.trackChangesEnabled&&r.track_changes.addQuote(n),r.html.unwrap(),r.selection.restore()}():\"decrease\"==e&&function a(){var e,t=r.opts.trackChangesEnabled,n=r.selection.blocks();for(e=0;e<n.length;e++)\"BLOCKQUOTE\"!=n[e].tagName&&(n[e]=t&&c(n[e]).parentsUntil(r.$el,\"[data-track-id^=pending]\").get(0)||c(n[e]).parentsUntil(r.$el,\"BLOCKQUOTE\").get(0));for(r.selection.save(),e=0;e<n.length;e++)n[e]&&(t?r.track_changes.removeQuote(c(n[e]),e):c(n[e]).replaceWith(n[e].innerHTML));r.html.unwrap(),r.selection.restore()}()}}},e.RegisterShortcut(e.KEYCODE.SINGLE_QUOTE,\"quote\",\"increase\",\"'\"),e.RegisterShortcut(e.KEYCODE.SINGLE_QUOTE,\"quote\",\"decrease\",\"'\",!0),e.RegisterCommand(\"quote\",{title:\"Quote\",type:\"dropdown\",html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t={increase:\"Increase\",decrease:\"Decrease\"};for(var n in t)if(t.hasOwnProperty(n)){var o=this.shortcuts.get(\"quote.\".concat(n));e+='<li role=\"presentation\"><a class=\"fr-command fr-active '.concat(n,'\" tabIndex=\"-1\" role=\"option\" data-cmd=\"quote\" data-param1=\"').concat(n,'\" title=\"').concat(t[n],'\">').concat(this.language.translate(t[n])).concat(o?'<span class=\"fr-shortcut\">'.concat(o,\"</span>\"):\"\",\"</a></li>\")}return e+=\"</ul>\"},callback:function(e,t){this.quote.apply(t)},plugin:\"quote\"}),e.DefineIcon(\"quote\",{NAME:\"quote-left\",SVG_KEY:\"blockquote\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(e){\"use strict\";e=e&&e.hasOwnProperty(\"default\")?e[\"default\"]:e,Object.assign(e.DEFAULTS,{saveInterval:1e4,saveURL:null,saveParams:{},saveParam:\"body\",saveMethod:\"POST\"}),e.PLUGINS.save=function(i){var f=i.$,n=null,l=null,t=!1,v=1,c=2,s={};function u(e,t){i.events.trigger(\"save.error\",[{code:e,message:s[e]},t])}function a(e){void 0===e&&(e=i.html.get());var n=e,t=i.events.trigger(\"save.before\",[e]);if(!1===t)return!1;if(\"string\"==typeof t&&(e=t),i.opts.saveURL){var s={};for(var a in i.opts.saveParams)if(i.opts.saveParams.hasOwnProperty(a)){var o=i.opts.saveParams[a];s[a]=\"function\"==typeof o?o.call(this):o}var r={};r[i.opts.saveParam]=e,f(this).ajax({method:i.opts.saveMethod,url:i.opts.saveURL,data:Object.assign(r,s),crossDomain:i.opts.requestWithCORS,withCredentials:i.opts.requestWithCredentials,headers:i.opts.requestHeaders,done:function(e,t,s){l=n,i.events.trigger(\"save.after\",[e])},fail:function(e){u(c,e.response||e.responseText)}})}else u(v)}function o(){clearTimeout(n),n=setTimeout(function(){var e=i.html.get();(l!=e||t)&&(t=!1,a(l=e))},0)}return s[v]=\"Missing saveURL option.\",s[c]=\"Something went wrong during save.\",{_init:function r(){if(i.opts.letteringClass)for(var e=i.opts.letteringClass,t=i.$el.find(\".\".concat(e)).length,s=0;s<t;s++)i.$el.find(\".\".concat(e))[s].innerHTML=i.$el.find(\".\".concat(e))[s].innerText.replace(/([\\w'-]+|[?.\",])/g,\"<span class = 'fr-word-select'>$1</span>\");i.opts.saveInterval&&(l=i.html.get(),i.events.on(\"contentChanged\",function(){setTimeout(o,i.opts.saveInterval)}),i.events.on(\"keydown destroy\",function(){clearTimeout(n)}))},save:a,reset:function e(){o(),t=!1},force:function d(){t=!0}}},e.DefineIcon(\"save\",{NAME:\"floppy-o\",FA5NAME:\"save\"}),e.RegisterCommand(\"save\",{title:\"Save\",undo:!1,focus:!1,refreshAfterCallback:!1,callback:function(){this.save.save()},plugin:\"save\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(je){\"use strict\";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,l=Array(t);a<t;a++)l[a]=e[a];return l}function Ge(e){return function t(e){if(Array.isArray(e))return n(e)}(e)||function a(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function l(e,t){if(e){if(\"string\"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return\"Object\"===a&&e.constructor&&(a=e.constructor.name),\"Map\"===a||\"Set\"===a?Array.from(e):\"Arguments\"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}}(e)||function r(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}je=je&&je.hasOwnProperty(\"default\")?je[\"default\"]:je,Object.assign(je.POPUP_TEMPLATES,{\"table.insert\":\"[_BUTTONS_][_ROWS_COLUMNS_]\",\"table.edit\":\"[_BUTTONS_]\",\"table.colors\":\"[_BUTTONS_][_COLORS_][_CUSTOM_COLOR_]\",\"table.cellProperties\":\"[_CELL_PROPERTIES_FORM_][_BUTTONS_]\",\"table.tableProperties\":\"[_TABLE_PROPERTIES_FORM_][_BUTTONS_]\"}),Object.assign(je.DEFAULTS,{tableInsertMaxSize:10,tableEditButtons:[\"tableHeader\",\"tableFooter\",\"tableRemove\",\"tableRows\",\"tableColumns\",\"tableProperties\",\"-\",\"tableCells\",\"tableCellProperties\",\"tableCellVerticalAlign\",\"tableCellHorizontalAlign\",\"tableCellStyle\"],tableInsertButtons:[\"tableBack\",\"|\"],tableResizer:!0,tableDefaultWidth:\"50%\",tableDefaultAlign:\"center\",tableDefaultHeight:\"100px\",tableDefaultBGColor:\"\",tableDefaultBorderColor:\"\",tableDefaultBorderWidth:\"1px\",tableDefaultBorderStyle:\"solid\",tableBorderStyle:[\"solid\",\"dashed\",\"dotted\",\"double\",\"groove\",\"ridge\",\"inset\",\"outset\"],tableResizerOffset:5,tableResizingLimit:30,tableColorsButtons:[\"tableBack\",\"|\"],tableColors:[\"#61BD6D\",\"#1ABC9C\",\"#54ACD2\",\"#2C82C9\",\"#9365B8\",\"#475577\",\"#CCCCCC\",\"#41A85F\",\"#00A885\",\"#3D8EB9\",\"#2969B0\",\"#553982\",\"#28324E\",\"#000000\",\"#F7DA64\",\"#FBA026\",\"#EB6B56\",\"#E25041\",\"#A38F84\",\"#EFEFEF\",\"#FFFFFF\",\"#FAC51C\",\"#F37934\",\"#D14841\",\"#B8312F\",\"#7C706B\",\"#D1D5D8\",\"REMOVE\"],tableColorsStep:7,tableCellStyles:{\"fr-highlighted\":\"Highlighted\",\"fr-thick\":\"Thick\"},tableStyles:{\"fr-dashed-borders\":\"Dashed Borders\",\"fr-alternate-rows\":\"Alternate Rows\"},tableCellMultipleStyles:!0,tableMultipleStyles:!0,tableInsertHelper:!0,keepTextFormatOnTable:!1,tableInsertHelperOffset:15,proportionalTableResize:!0,enableTableSelection:!0}),je.PLUGINS.table=function(Y){var W,c,p,b,l,f,h,u,g,Z=Y.$,i=!1,s={};function C(){var e=j();if(e){var t=Y.popups.get(\"table.edit\");if(t||(t=o()),t){Y.popups.setContainer(\"table.edit\",Y.$sc);var a=_(e),l=a.left+(a.right-a.left)/2,r=a.bottom;Y.popups.show(\"table.edit\",l,r,a.bottom-a.top,!0),Y.edit.isDisabled()&&(Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on(),Y.button.bulkRefresh(),Y.selection.setAtEnd(Y.$el.find(\".fr-selected-cell\").last().get(0)),Y.selection.restore())}}}function r(){0===ge().length&&Y.toolbar.enable()}function n(e){if(e)return Y.popups.onHide(\"table.insert\",function(){Y.popups.get(\"table.insert\").find('.fr-table-size .fr-select-table-size > span[data-row=\"1\"][data-col=\"1\"]').trigger(\"mouseover\")}),!0;var t=\"\";0<Y.opts.tableInsertButtons.length&&(t='<div class=\"fr-buttons fr-tabs\">'.concat(Y.button.buildList(Y.opts.tableInsertButtons),\"</div>\"));var a={buttons:t,rows_columns:function n(){for(var e='<div class=\"fr-table-size\"><div class=\"fr-table-size-info\">1 &times; 1</div><div class=\"fr-select-table-size\">',t=1;t<=Y.opts.tableInsertMaxSize;t++){for(var a=1;a<=Y.opts.tableInsertMaxSize;a++){var l=\"inline-block\";2<t&&!Y.helpers.isMobile()&&(l=\"none\");var r=\"fr-table-cell \";1==t&&1==a&&(r+=\" hover\"),e+='<span class=\"fr-command '.concat(r,'\" tabIndex=\"-1\" data-cmd=\"tableInsert\" data-row=\"').concat(t,'\" data-col=\"').concat(a,'\" data-param1=\"').concat(t,'\" data-param2=\"').concat(a,'\" style=\"display: ').concat(l,';\" role=\"button\"><span></span><span class=\"fr-sr-only\">').concat(t,\" &times; \").concat(a,\"&nbsp;&nbsp;&nbsp;</span></span>\")}e+='<div class=\"new-line\"></div>'}return e+=\"</div></div>\"}()},l=Y.popups.create(\"table.insert\",a);return Y.events.$on(l,\"mouseover\",\".fr-table-size .fr-select-table-size .fr-table-cell\",function(e){d(Z(e.currentTarget))},!0),function r(e){Y.events.$on(e,\"focus\",\"[tabIndex]\",function(e){var t=Z(e.currentTarget);d(t)}),Y.events.on(\"popup.tab\",function(e){var t=Z(e.currentTarget);if(!Y.popups.isVisible(\"table.insert\")||!t.is(\"span, a\"))return!0;var a,l=e.which;if(je.KEYCODE.ARROW_UP==l||je.KEYCODE.ARROW_DOWN==l||je.KEYCODE.ARROW_LEFT==l||je.KEYCODE.ARROW_RIGHT==l){if(t.is(\"span.fr-table-cell\")){var r=t.parent().find(\"span.fr-table-cell\"),n=r.index(t),o=Y.opts.tableInsertMaxSize,i=n%o,s=Math.floor(n/o);je.KEYCODE.ARROW_UP==l?s=Math.max(0,s-1):je.KEYCODE.ARROW_DOWN==l?s=Math.min(Y.opts.tableInsertMaxSize-1,s+1):je.KEYCODE.ARROW_LEFT==l?i=Math.max(0,i-1):je.KEYCODE.ARROW_RIGHT==l&&(i=Math.min(Y.opts.tableInsertMaxSize-1,i+1));var c=s*o+i,f=Z(r.get(c));d(f),Y.events.disableBlur(),f.focus(),a=!1}}else je.KEYCODE.ENTER==l&&(Y.button.exec(t),a=!1);return!1===a&&(e.preventDefault(),e.stopPropagation()),a},!0)}(l),l}function d(e){var t=e.data(\"row\");null!==t&&(t=parseInt(t));var a=e.data(\"col\");null!==a&&(a=parseInt(a));var l=e.parent();l.siblings(\".fr-table-size-info\").html(\"\".concat(t,\" &times; \").concat(a)),l.find(\"> span\").removeClass(\"hover fr-active-item\");for(var r=1;r<=Y.opts.tableInsertMaxSize;r++)for(var n=0;n<=Y.opts.tableInsertMaxSize;n++){var o=l.find('> span[data-row=\"'.concat(r,'\"][data-col=\"').concat(n,'\"]'));r<=t&&n<=a?o.addClass(\"hover\"):r<=t+1||r<=2&&!Y.helpers.isMobile()?o.css(\"display\",\"inline-block\"):2<r&&!Y.helpers.isMobile()&&o.css(\"display\",\"none\")}e.addClass(\"fr-active-item\")}function o(e){if(e)return Y.popups.onHide(\"table.edit\",r),!0;if(0<Y.opts.tableEditButtons.length){var t={buttons:'<div class=\"fr-buttons\">'.concat(Y.button.buildList(Y.opts.tableEditButtons),\"</div>\")},a=Y.popups.create(\"table.edit\",t);return Y.events.$on(Y.$wp,\"scroll.table-edit\",function(){Y.popups.isVisible(\"table.edit\")&&C()}),a}return!1}function T(e,t,a){var l=Z(e),r=Z(t);a&&\"REMOVE\"!==a&&\"transparent\"!==a&&\"rgba(0, 0, 0, 0)\"!==a?(l.css(\"background-color\",a),r.css(\"display\",\"none\")):(l.css(\"background-color\",\"transparent\"),r.css(\"display\",\"block\"))}function m(){var e=Y.popups.get(\"table.cellProperties\");if(!e){e=Y.popups.create(\"table.cellProperties\",{cell_properties_form:'\\n          <div class=\"fr-cell-properties-form\">\\n            <div class=\"fr-cell-properties-section\">\\n              <label>Background</label>\\n              <div class=\"fr-cell-bg-container\">\\n                <input type=\"text\" id=\"fr-cell-bg\" class=\"fr-input\" tabIndex=\"1\" placeholder=\"Color\">\\n                <button type=\"button\" class=\"fr-command fr-btn-cell-bg-color\" tabIndex=\"2\" data-param1=\"cell\" data-cmd=\"openColorPicker\">\\n                  <div class=\"fr-color-preview\">\\n                    <div class=\"fr-color-preview-indicator\"></div>\\n                  </div>\\n                </button>\\n              </div>\\n            </div>\\n        \\n            <div class=\"fr-cell-dimensions-container\">\\n              <div class=\"fr-cell-dimension-section\">\\n                <label>Dimensions</label>\\n                <div class=\"fr-dimension-inputs\">\\n                  <input type=\"text\" id=\"fr-cell-width\" tabIndex=\"3\" placeholder=\"Width\">\\n                  <span class=\"fr-dimension-separator\">\\xd7</span>\\n                  <input type=\"text\" id=\"fr-cell-height\" tabIndex=\"4\" placeholder=\"Height\">\\n                  <label for=\"fr-cell-height\"></label>\\n                </div>\\n              </div>\\n        \\n              <div class=\"fr-cell-padding-section\">\\n                <label>Padding</label>\\n                <div>\\n                  <input type=\"text\" id=\"fr-cell-padding\" tabIndex=\"5\" placeholder=\"Size\">\\n                  <label for=\"fr-cell-padding\"></label>\\n                </div>\\n              </div>\\n            </div>\\n        \\n            <div class=\"fr-cell-properties-buttons\">\\n              <button type=\"button\" class=\"fr-command fr-enable-accessibility fr-cancel-button\" tabIndex=\"6\" data-cmd=\"onCancel\">Cancel</button>\\n              <button type=\"button\" class=\"fr-command fr-enable-accessibility fr-save-button\" tabIndex=\"7\" data-cmd=\"applyCellProperties\">Save</button>\\n            </div>\\n          </div>',buttons:\"\"}),w(),Y.events.$on(e,\"input\",\"#fr-cell-bg\",function(){e.data(\"bg-modified\",!0)}),Y.events.$on(e,\"input\",\"#fr-cell-width\",function(){e.data(\"width-modified\",!0)}),Y.events.$on(e,\"input\",\"#fr-cell-height\",function(){e.data(\"height-modified\",!0)}),Y.events.$on(e,\"input\",\"#fr-cell-padding\",function(){e.data(\"padding-modified\",!0)})}return e}function w(){var e=Y.popups.get(\"table.cellProperties\");e&&(e.data(\"bg-modified\",!1),e.data(\"width-modified\",!1),e.data(\"height-modified\",!1),e.data(\"padding-modified\",!1))}function v(e){var t,a,l,r,n=Y.popups.get(\"table.colors\").data(\"type\");if(\"table\"===n){var o=Y.popups.get(\"table.tableProperties\");t=o.find(\".fr-color-preview\"),a=o.find(\".fr-color-preview-indicator\"),l=o.find(\"#fr-table-bg\")}else if(\"cell\"===n){var i=Y.popups.get(\"table.cellProperties\");t=i.find(\".fr-color-preview\"),a=i.find(\".fr-color-preview-indicator\"),l=i.find(\"#fr-cell-bg\"),r=Y.popups.get(\"table.cellProperties\")}else if(\"border\"===n){var s=Y.popups.get(\"table.tableProperties\");t=s.find(\".fr-border-color-preview\"),a=s.find(\".fr-border-color-preview-indicator\"),l=s.find(\"#fr-table-border-color\")}\"string\"==typeof e&&(Y.helpers.isRGBColor(e)&&(e=Y.helpers.RGBToHex(e).toUpperCase()),(Y.helpers.isValidHexColor(e)||\"transparent\"===e||\"\"===e)&&(Z(l).val(e),Z(l).focus(),\"cell\"===n&&Z(r).data(\"bg-modified\",!0),T(t,a,e)))}function y(e){var t=Y.doc.createRange(),a=e.get(0).querySelector(\"td, th\");t.setStart(a,0),t.collapse(!0);var l=Y.selection.get();l.removeAllRanges(),l.addRange(t)}function e(){s[Y.id]||(s[Y.id]=Z(document.createElement(\"div\")).attr(\"class\",\"fr-table-selector\").html('<a role=\"button\" tabIndex=\"-1\" title=\"'.concat(Y.language.translate(\"Select Table\"),'\">').concat(Y.icon.create(\"tableSelectorIcon\"),\"</a>\")));var n=Y.language.translate(\"The content you are pasting does not contain a table.\\nPlease ensure the copied content is in table format.\");Y.events.on(\"paste.before\",function(e,t){if(Y.popups.hideAll(),Y.$el.find(\"table.fr-table-selected\").length){var a=t||e&&e.clipboardData;if(a&&a.items){var l=(a||window.clipboardData).getData(\"text/html\")||\"\";if(!l||-1===l.indexOf(\"<table\"))return alert(n),e.preventDefault(),e.stopPropagation(),!1}}return!0}),Y.events.on(\"html.beforeInsert\",function(e){if(!g){var t=Y.$el.find(\"table.fr-table-selected\"),a=ge();if(a.length&&!t.length&&e.startsWith(\"<table\")&&(t=Z(a[0].closest(\"table\"))),!t.length||i)return!0;var l=function r(e){var t=Y.doc.createElement(\"div\");t.innerHTML=e;for(var a=t.firstChild;a;){var l=a.nextSibling;(a.nodeType===Node.TEXT_NODE&&\"\"===a.textContent.replace(/\\u200b/g,\"\").trim()||a.nodeType===Node.COMMENT_NODE||\"SPAN\"===a.tagName&&\"\"===a.textContent.replace(/\\u200b/g,\"\").trim())&&a.remove(),a=l}return 1===t.childNodes.length&&\"TABLE\"===t.childNodes[0].tagName&&t.childNodes[0]}(e);return l?(function u(e,t){for(var a=t.get(0),l=ge().length?ge()[0]:a.rows[0].cells[0],r=l&&l.parentNode?l.parentNode.rowIndex:0,n=l?l.cellIndex:0,o=a.rows,i=e.rows,s=0;s<i.length;s++){if(!o[r+s])for(var c=o[o.length-1].cells.length,f=a.insertRow(),d=0;d<c;d++)f.insertCell();for(var p=o[r+s],b=function b(){if(!p.cells[n+h])for(var e=0;e<o.length;e++)o[e].insertCell();var t=p.cells[n+h],a=i[s].cells[h];t.outerHTML=a.outerHTML;var l=o[r+s].cells[n+h];setTimeout(function(){Y.events.trigger(\"cell.replaced\",[t,l])},10)},h=0;h<i[s].cells.length;h++)b()}return!0}(l,t)&&setTimeout(function(){Y.$el.find(\".fr-selected-cell\").removeClass(\"fr-selected-cell\");var e=Y.snapshot.get();Y.undo_stack[Y.undo_index-1]=e},20),Y.keys.positionCaret(),Y.popups.hideAll(),Y.events.trigger(\"html.inserted\")):alert(n),!1}g=!1}),Y.events.on(\"mousedown\",function(){Y.$el.find(\"table.fr-table-selected\").length&&oe()}),Y.events.$on(Z(Y.o_win),\"resize\",function(){var e=Y.$el.find(\"table.fr-table-selected\");e.length?ie(e):oe()}),Y.events.on(\"commands.undo commands.redo commands.before\",function(e){if(!/^align/.test(e)){var t=Y.$el.find(\"table.fr-table-selected\");t.length&&(oe(),y(t))}});var e=null,t=null;Y.events.on(\"snapshot.before\",function(){t=Y.$el.find(\"table.fr-table-selection-hover\"),e=Y.$el.find(\"table.fr-table-selected\"),re(t,\"fr-table-selection-hover\"),re(e,\"fr-table-selected\")}),Y.events.on(\"snapshot.after\",function(){e&&e.addClass(\"fr-table-selected\"),t&&t.addClass(\"fr-table-selection-hover\")}),Y.events.$on(s[Y.id],\"click\",function(){var e=Y.$el.find(\"table.fr-table-selection-hover\"),t=Y.$el.find(\"table.fr-table-selected\");e.length&&(re(t,\"fr-table-selected\"),s[Y.id].addClass(\"fr-table-selector-active-selected\"),e.addClass(\"fr-table-selected\"),re(e,\"fr-table-selection-hover\"),t=e);var a=Y.doc.createRange();Y.selection.get().removeAllRanges();var l=t.get(0);a.selectNode(l),Y.selection.get().addRange(a),s[Y.id].attr(\"draggable\",!0)}),Y.events.$on(s[Y.id],\"dragstart\",function(e){var t=Y.$el.find(\"table.fr-table-selected\");if(t&&t.length){i=!0;var a=t.clone(!0).removeClass(\"fr-table-selected fr-table-draggable\"),l=a[0].outerHTML,r=a.text().trim();e.originalEvent.dataTransfer.setDragImage(t[0],10,10),e.originalEvent.dataTransfer.setData(\"text/html\",l),e.originalEvent.dataTransfer.setData(\"text/plain\",r);var n=new Blob([l],{type:\"text/html\"}),o=URL.createObjectURL(n);e.originalEvent.dataTransfer.setData(\"text/uri-list\",o),e.originalEvent.dataTransfer.setData(\"DownloadURL\",\"text/html:table.html:\".concat(o)),e.originalEvent.dataTransfer.effectAllowed=\"Move\",t.addClass(\"fr-table-draggable\"),setTimeout(function(){return URL.revokeObjectURL(o)},5e3)}}),Y.events.$on(s[Y.id],\"dragend\",function(e){i=!1,ne();var t=Y.$el.find(\"table.fr-table-draggable\"),a=t.hasClass(\"not-drop\");(e=e.originalEvent)&&e.dataTransfer&&\"none\"!==e.dataTransfer.dropEffect&&!a?t.remove():t.removeClass(\"fr-table-draggable\")}),Y.events.on(\"destroy\",function(){oe(),s[Y.id]=null})}function E(e){var t={startTag:\"\",closeTag:\"\"};return Y.opts.keepTextFormatOnTable&&(t=R(function i(e){var t=new Set,a=e.textContent,l=0,r=[e.firstChild];for(;0<r.length;){var n=r.pop();if(n&&(t.has(n)||(0===l&&a!==n.textContent&&(a=n.textContent,l++),t.add(n)),n.hasChildNodes()))for(var o=0;o<n.childNodes.length;){if(3===n.childNodes[o].nodeType)return Ge(t);if(n.childNodes[o].textContent){if(0===l&&n.childNodes[o].textContent!==a){a=n.childNodes[o].textContent,r.push(n.childNodes[o]),l++;break}n.childNodes[o].textContent===a&&r.push(n.childNodes[o])}o++}}return Ge(t)}(e).reverse())),{startTag:t.startTag,closeTag:t.closeTag}}function R(e){var t=\"\",a=\"\",l=[\"br\",\"#text\",\"#comment\",\"font\"];if(0<e.length)for(var r=e.length-1;0<=r;r--){var n=e[r],o=Y.node.isBlock(n),i=l.indexOf(n.nodeName.toLowerCase());if(!o&&i<0){var s=n.style,c=\"\";if(s&&s.length){for(var f=0;f<s.length;f++)c+=s[f]+\": \"+s[s[f]].replace(/\"/gi,\"\")+\"; \";c=c.trim()}t+=c?\"<\"+n.nodeName.toLowerCase()+' style=\"'+c+'\">':\"<\"+n.nodeName.toLowerCase()+\">\",a=\"</\"+n.nodeName.toLowerCase()+\">\"+a}}return{startTag:t,closeTag:a}}function x(){var e=ve(),t=ge(),a=0<t.length,l=0<e.length;(a||l)&&(a&&(Y.selection.setBefore(t[0])||Y.selection.setAfter(t[0]),Y.selection.restore(),Y.popups.hide(\"table.edit\")),y(e),Y.undo.saveStep(),oe(),V(),e.remove(),Y.$el.focus())}function A(e){var t=ve();if(0<t.length){if(0<Y.$el.find(\"thead .fr-selected-cell\").length&&\"above\"==e||0<Y.$el.find(\"tfoot td.fr-selected-cell\").length&&\"below\"==e)return;var a,l,r,n=j(),o=L(n);if(null==o)return;l=\"above\"==e?o.min_i:o.max_i;var i=\"<tr>\";for(a=0;a<n[l].length;a++)if(\"below\"==e&&l<n.length-1&&n[l][a]==n[l+1][a]||\"above\"==e&&0<l&&n[l][a]==n[l-1][a]){if(0===a||0<a&&n[l][a]!=n[l][a-1]){var s=Z(n[l][a]);s.attr(\"rowspan\",parseInt(s.attr(\"rowspan\"),10)+1)}}else{var c=Z(n[l][a]);if(\"TH\"==c.attr(\"tagName\").toUpperCase())i+='<th style=\"'+c.attr(\"style\")+'\" ><br></th>';else{var f=E(n[l][a]);i+='<td style=\"'+c.attr(\"style\")+'\" >'+f.startTag+\"<br>\"+f.closeTag+\"</td>\"}}i+=\"</tr>\",r=0<Y.$el.find(\"thead .fr-selected-cell\").length&&\"below\"==e||0<Y.$el.find(\"tfoot td.fr-selected-cell\").length&&\"above\"==e?Z(t.find(\"tbody\").not(t.find(\"> table tbody\"))):Z(t.find(\"tr\").not(t.find(\"> table tr\")).get(l)),\"below\"==e?\"TBODY\"==r.attr(\"tagName\")?r.prepend(i):r[0].parentNode&&r[0].insertAdjacentHTML(\"afterend\",i):\"above\"==e&&(\"TBODY\"==r.attr(\"tagName\")?r.append(i):r.before(i),Y.popups.isVisible(\"table.edit\")&&C())}}function O(e,t,a){var l,r,n,o,i,s=0,c=j(a);if(e<(t=Math.min(t,c[0].length-1)))for(r=e;r<=t;r++)if(!(e<r&&c[0][r]==c[0][r-1])&&1<(o=Math.min(parseInt(c[0][r].getAttribute(\"colspan\"),10)||1,t-e+1))&&c[0][r]==c[0][r+1])for(s=o-1,l=1;l<c.length;l++)if(c[l][r]!=c[l-1][r]){for(n=r;n<r+o;n++)if(c[l][n]!==undefined)if(1<(i=parseInt(c[l][n].getAttribute(\"colspan\"),10)||1)&&c[l][n]==c[l][n+1])n+=s=Math.min(s,i-1);else if(!(s=Math.max(0,s-1)))break;if(!s)break}s&&M(c,s,\"colspan\",0,c.length-1,e,t)}function H(e,t,a){var l,r,n,o,i,s=0,c=j(a);if(e<(t=Math.min(t,c.length-1)))for(l=e;l<=t;l++)if(!(e<l&&c[l][0]==c[l-1][0])&&c[l][0]!==undefined&&1<(o=Math.min(parseInt(c[l][0].getAttribute(\"rowspan\"),10)||1,t-e+1))&&c[l][0]==c[l+1][0])for(s=o-1,r=1;r<c[0].length;r++)if(c[l][r]!=c[l][r-1]){for(n=l;n<l+o;n++)if(c[n][r]!==undefined)if(1<(i=parseInt(c[n][r].getAttribute(\"rowspan\"),10)||1)&&c[n][r]==c[n+1][r])n+=s=Math.min(s,i-1);else if(!(s=Math.max(0,s-1)))break;if(!s)break}s&&M(c,s,\"rowspan\",e,t,0,c[0].length-1)}function M(e,t,a,l,r,n,o){var i,s,c;for(i=l;i<=r;i++)for(s=n;s<=o;s++)l<i&&e[i][s]==e[i-1][s]||n<s&&e[i][s]==e[i][s-1]||e[i][s]!==undefined&&1<(c=parseInt(e[i][s].getAttribute(a),10)||1)&&(1<c-t?e[i][s].setAttribute(a,c-t):e[i][s].removeAttribute(a))}function $(e,t,a,l,r){H(e,t,r),O(a,l,r)}function D(e){e.style.removeProperty(\"border\"),e.style.removeProperty(\"border-top\"),e.style.removeProperty(\"border-bottom\"),e.style.removeProperty(\"border-left\"),e.style.removeProperty(\"border-right\")}function j(e){var c=[];if(null==(e=e||null)&&0<ge().length&&(e=ve()),e){if(!e.find(\"tr\").html().match(/xl[0-9]+/gi))for(var t=e.find(\"tr:empty\"),a=t.length-1;0<=a;a--)Z(t[a]).remove();e.find(\"tr\").not(e.find(\"> table tr\")).each(function(i,e){var t=Z(e),s=0;t.find(\"> th, > td\").each(function(e,t){for(var a=Z(t),l=parseInt(a.attr(\"colspan\"),10)||1,r=parseInt(a.attr(\"rowspan\"),10)||1,n=i;n<i+r;n++)for(var o=s;o<s+l;o++)c[n]||(c[n]=[]),c[n][o]?s++:c[n][o]=t;s+=l})})}return c}function P(e,t){for(var a=0;a<t.length;a++)for(var l=0;l<t[a].length;l++)if(t[a][l]==e)return{row:a,col:l}}function k(e,t,a){for(var l=e+1,r=t+1;l<a.length;){if(a[l][t]!=a[e][t]){l--;break}l++}for(l==a.length&&l--;r<a[e].length;){if(a[e][r]!=a[e][t]){r--;break}r++}return r==a[e].length&&r--,{row:l,col:r}}function S(){Y.el.querySelector(\".fr-cell-fixed\")&&Y.el.querySelector(\".fr-cell-fixed\").classList.remove(\"fr-cell-fixed\"),Y.el.querySelector(\".fr-cell-handler\")&&Y.el.querySelector(\".fr-cell-handler\").classList.remove(\"fr-cell-handler\")}function V(){var e=Y.$el.find(\".fr-selected-cell\");0<e.length&&e.each(function(){var e=Z(this);e.removeClass(\"fr-selected-cell\"),\"\"===e.attr(\"class\")&&e.removeAttr(\"class\")}),S()}function N(){Y.events.disableBlur(),Y.selection.clear(),Y.$el.addClass(\"fr-no-selection\"),Y.$el.blur(),Y.events.enableBlur()}function L(e){var t=Y.$el.find(\".fr-selected-cell\");if(0<t.length){var a,l=e.length,r=0,n=e[0].length,o=0;for(a=0;a<t.length;a++){var i=P(t[a],e),s=k(i.row,i.col,e);l=Math.min(i.row,l),r=Math.max(s.row,r),n=Math.min(i.col,n),o=Math.max(s.col,o)}return{min_i:l,max_i:r,min_j:n,max_j:o}}return null}function _(e){var t=L(e);if(null!=t){var a=Z(e[t.min_i][t.min_j]),l=Z(e[t.min_i][t.max_j]),r=Z(e[t.max_i][t.min_j]);return{left:a.length&&a.offset().left,right:l.length&&l.offset().left+l.outerWidth(),top:a.length&&a.offset().top,bottom:r.length&&r.offset().top+r.outerHeight()}}}function I(e,t){if(Z(e).is(t))V(),Z(e).addClass(\"fr-selected-cell\");else{N(),Y.edit.off();var a=j(),l=P(e,a),r=P(t,a);if(!l||!r)return;var n=function b(e,t,a,l,r){var n,o,i,s,c=e,f=t,d=a,p=l;for(n=c;n<=f;n++)(1<(parseInt(Z(r[n][d]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[n][d]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[n][d],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p)),(1<(parseInt(Z(r[n][p]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[n][p]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[n][p],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p));for(o=d;o<=p;o++)(1<(parseInt(Z(r[c][o]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[c][o]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[c][o],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p)),(1<(parseInt(Z(r[f][o]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[f][o]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[f][o],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p));return c==e&&f==t&&d==a&&p==l?{min_i:e,max_i:t,min_j:a,max_j:l}:b(c,f,d,p,r)}(Math.min(l.row,r.row),Math.max(l.row,r.row),Math.min(l.col,r.col),Math.max(l.col,r.col),a);V(),e.classList.add(\"fr-cell-fixed\"),t.classList.add(\"fr-cell-handler\");for(var o=n.min_i;o<=n.max_i;o++)for(var i=n.min_j;i<=n.max_j;i++)Z(e).closest(\"table\").is(Z(a[o][i]).closest(\"table\"))&&Z(a[o][i]).addClass(\"fr-selected-cell\")}}function B(e){var t=null,a=Z(e.target);return\"TD\"==e.target.tagName||\"TH\"==e.target.tagName?t=e.target:0<a.closest(\"th\",a.closest(\"thead\")[0]).length?t=a.closest(\"th\",a.closest(\"thead\")[0]).get(0):0<a.closest(\"td\",a.closest(\"tr\")[0]).length&&(t=a.closest(\"td\",a.closest(\"tr\")[0]).get(0)),-1===Y.$el.html.toString().search(t)?null:t}function F(){V(),Y.popups.hide(\"table.edit\")}function z(e){var t=B(e);if(\"false\"==Z(t).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;if(0<ge().length&&!t&&F(),!Y.edit.isDisabled()||Y.popups.isVisible(\"table.edit\"))if(1!=e.which||1==e.which&&Y.helpers.isMac()&&e.ctrlKey)(3==e.which||1==e.which&&Y.helpers.isMac()&&e.ctrlKey)&&t&&F();else if(b=!0,t){0<ge().length&&!e.shiftKey&&F(),e.stopPropagation(),Y.events.trigger(\"image.hideResizer\"),Y.events.trigger(\"video.hideResizer\"),p=!0;var a=t.tagName.toLowerCase();e.shiftKey&&0<Y.$el.find(\"\".concat(a,\".fr-selected-cell\")).length?Z(Y.$el.find(\"\".concat(a,\".fr-selected-cell\")).closest(\"table\")).is(Z(t).closest(\"table\"))?I(l,t):N():((Y.keys.ctrlKey(e)||e.shiftKey)&&\"TD\"===e.currentTarget.tagName&&(1<ge().length||0===Z(t).find(Y.selection.element()).length&&!Z(t).is(Y.selection.element()))&&N(),l=t,0<Y.opts.tableEditButtons.length&&I(l,l))}}function K(e){var t=Y.popups.areVisible();if(!Y.edit.isDisabled()&&t&&!t.hasClass(\"fr-do-not-hide\"))return!0;var a=B(e);if(1===ge().length&&null===a&&(Y.toolbar.enable(),V()),(1===ge().length&&a&&\"TD\"!==a.tagName&&\"TH\"!==a.tagName||!p&&!Y.$tb.is(e.target)&&!Y.$tb.is(Z(e.target).closest(\".fr-toolbar\")))&&(Y.toolbar.enable(),V()),(\"BODY\"===e.target.tagName||\"HTML\"===e.target.tagName)&&!a&&0<ge().length&&Y.toolbar.enable(),!(1!=e.which||1==e.which&&Y.helpers.isMac()&&e.ctrlKey)){if(b=!1,p)p=!1,B(e)||1!=ge().length?0<ge().length?Y.selection.isCollapsed()?(C(),Y.toolbar.enable()):(V(),Y.edit.on()):ge().length||(Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on()):V();if(h){if(h=!1,W.removeClass(\"fr-moving\"),Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on(),W.hasClass(\"fr-table-col-resizer\")){var l=parseFloat(W.css(\"left\"))+Y.opts.tableResizerOffset+Y.$wp.offset().left;Y.opts.iframe&&(l-=Y.$iframe.offset().left),W.data(\"release-position\",l),W.removeData(\"max-left\"),W.removeData(\"max-right\")}else{var r=parseFloat(W.css(\"top\"));W.data(\"release-position\",r),W.removeData(\"max-top\"),W.removeData(\"max-bottom\")}!function K(){var e=W.data(\"origin\"),t=W.data(\"release-position\");if(e!==t){var a=W.data(\"first\"),l=W.data(\"second\"),r=W.data(\"table\"),n=r.outerWidth();if(Y.undo.canDo()||Y.undo.saveStep(),W.hasClass(\"fr-table-col-resizer\")){var o=j(r),i=o[0]?o[0].length:0,s=we(r,i);if(-1!=a&&-1!=l||!Y.opts.proportionalTableResize){var c=function z(e,t,a){for(var l=t[0]?t[0].length:0,r=e.outerWidth(),n=[],o=[],i=a.find(\"col\"),s=0;s<l;s++){var c=i.eq(s),f=void 0,d=parseFloat(c.attr(\"width\")||c.css(\"width\"));if(d&&!isNaN(d))f=(c.attr(\"width\")||\"\").includes(\"%\")||(c.css(\"width\")||\"\").includes(\"%\")?d/100*r:d;else{var p=Z(t[0][s]);f=p.outerWidth()}n[s]=f,o[s]=f/r*100}return{currentWidths:n,currentPercentages:o}}(r,o,s),f=c.currentWidths,d=c.currentPercentages,p=Ge(d),b=t-e,h=b/n*100;if(Y.opts.proportionalTableResize){var u=(d[a]*(f[a]+t-e)/f[a]).toFixed(4),g=(d[a]+d[l]-u).toFixed(4);p[a]=+u,p[l]=+g}else{p[a]+=h,p[l]-=h;if(p[a]<1){var v=1-p[a];p[a]=1,p[l]-=v}if(p[l]<1){var m=1-p[l];p[l]=1,p[a]-=m}}Ee(s,p)}var C=s.find(\"col\"),w=-1==a&&0==l,y=a==C.length-1&&-1==l;if(w||y){var E,T=r.parent(),R=parseFloat(T.css(\"padding-left\")),x=parseFloat(T.css(\"padding-right\")),A=R+x,O=n/(T.width()-A)*100;\"rtl\"==Y.opts.direction&&0===l||\"rtl\"!=Y.opts.direction&&0!==l?E=(n+t-e)/n*O:(\"rtl\"==Y.opts.direction&&0!==l||\"rtl\"!=Y.opts.direction&&0===l)&&(E=(n-t+e)/n*O),r.css(\"width\",\"\".concat(Math.round(E).toFixed(4),\"%\"))}}else{var H=r.find(\"tr\"),M=Math.round(t-e),$=r.height();if(-1!=a&&-1!=l){var D=H.eq(a),S=D.outerHeight(),V=Math.max(S+M,Y.opts.tableResizingLimit);r.css(\"height\",\"\"),D.css(\"height\",V+\"px\"),r.css(\"height\",r.height()+\"px\")}else{var N=-1==a&&0==l;if(Y.opts.proportionalTableResize){var L=N?-M:M;Re(r,L+$)}else{if(r.css(\"height\",\"\"),N){var _=H.eq(0),I=_.outerHeight(),P=Math.max(I-M,Y.opts.tableResizingLimit);_.css(\"height\",P+\"px\")}else{var k=H.eq(H.length-1),B=k.outerHeight(),F=Math.max(B+M,Y.opts.tableResizingLimit);k.css(\"height\",F+\"px\")}r.css(\"height\",r.height()+\"px\")}}Y.opts.iframe&&Y.$iframe.height(Y.iframe_document.scrollingElement.offsetHeight)}Y.selection.restore(),Y.undo.saveStep(),Y.events.trigger(\"table.resized\",[r.get(0)])}W.removeData(\"origin\"),W.removeData(\"release-position\"),W.removeData(\"first\"),W.removeData(\"second\"),W.removeData(\"table\")}(),ee()}}}function G(e){if((!(Z(e.currentTarget).is(Z(e.originalEvent.relatedTarget))||e.currentTarget.contains(e.originalEvent.relatedTarget)||e.originalEvent.relatedTarget&&e.originalEvent.relatedTarget.contains(e.currentTarget))||e.currentTarget.querySelector(\"input, textarea\"))&&(Y.events.$on(Z(\"input, textarea\"),\"click\",t),!0===p&&0<Y.opts.tableEditButtons.length)){if(Z(e.currentTarget).closest(\"table\").is(ve()))return void I(l,e.currentTarget);\"TD\"!==e.currentTarget.tagName&&\"TH\"!==e.currentTarget.tagName&&N()}}function U(e,t,a,l){for(var r,n=t;n!=Y.el&&\"TD\"!=n.tagName&&\"TH\"!=n.tagName&&(\"up\"==l?r=n.previousElementSibling:\"down\"==l&&(r=n.nextElementSibling),!r);)n=n.parentNode;\"TD\"==n.tagName||\"TH\"==n.tagName?function o(e,t){for(var a=e;a&&\"TABLE\"!=a.tagName&&a.parentNode!=Y.el;)a=a.parentNode;if(a&&\"TABLE\"==a.tagName){var l=j(Z(a));\"up\"==t?X(P(e,l),a,l):\"down\"==t&&q(P(e,l),a,l)}}(n,l):r&&(\"up\"==l&&Y.selection.setAtEnd(r),\"down\"==l&&Y.selection.setAtStart(r))}function X(e,t,a){0<Z(\".tribute-container\").length&&\"none\"!=Z(\".tribute-container\").css(\"display\")||(0<e.row?Y.selection.setAtEnd(a[e.row-1][e.col]):U(0,t,0,\"up\"))}function q(e,t,a){if(!(0<Z(\".tribute-container\").length&&\"none\"!=Z(\".tribute-container\").css(\"display\"))){var l=parseInt(a[e.row][e.col].getAttribute(\"rowspan\"),10)||1;e.row<a.length-l?Y.selection.setAtStart(a[e.row+l][e.col]):U(0,t,0,\"down\")}}function J(e){var t=e.which,a=Y.selection.blocks();if(a.length&&(\"P\"!==(a=a[0]).tagName&&\"DIV\"!==a.tagName||(a=a.parentNode),\"TD\"==a.tagName||\"TH\"==a.tagName)){for(var l=a;l&&\"TABLE\"!=l.tagName&&l.parentNode!=Y.el;)l=l.parentNode;if(l&&\"TABLE\"==l.tagName&&(je.KEYCODE.ARROW_LEFT==t||je.KEYCODE.ARROW_UP==t||je.KEYCODE.ARROW_RIGHT==t||je.KEYCODE.ARROW_DOWN==t)&&(0<ge().length&&F(),Y.browser.webkit&&(je.KEYCODE.ARROW_UP==t||je.KEYCODE.ARROW_DOWN==t))){if(!function p(e,t,a){if(!e)return!1;var l=\"TD\"===e.tagName||\"TH\"===e.tagName?e:Z(e).parentsUntil(Y.el,\"td, th\").get(0);if(!l)return!1;if(l.textContent.trim().length<=0&&1===l.children.length&&\"BR\"===l.children[0].tagName)return!0;if((\"TD\"===l.tagName||\"TH\"===l.tagName)&&e&&e.nodeType!==Node.TEXT_NODE)if(e.children&&0<e.children.length){var r=t>e.children.length?e.children.length-1:t-1,n=e.children[r]||e.firstChild;n&&\"string\"==typeof n.textContent&&(t=(e=n).textContent.trim().length-1)}else e.firstChild&&\"string\"==typeof e.firstChild.textContent&&(e=e.firstChild,t=e.textContent.trim().length-1);var o=document.createRange();o.selectNodeContents(l);var i,s=o.getBoundingClientRect();if(e.textContent.trim().length<=0&&e.getBoundingClientRect)i=e.getBoundingClientRect();else{var c=e;e.nodeType!==Node.TEXT_NODE&&(c=function d(e){var t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),a=null;for(;t.nextNode();)a=t.currentNode;return a}(e),t=c&&\"up\"===a?c.textContent.length:0);var f=document.createRange();f.setStart(c||e,t),f.collapse(!0),i=f.getBoundingClientRect()}{if(\"up\"===a){if(\"BR\"===e.tagName){if(l.firstChild.isSameNode(e))return!0;if(e.previousSibling&&(Y.node.isBlock(e.previousSibling)||Y.node.isVoid(e.previousSibling)))return!1}return Math.abs(i.top-s.top)<=6}if(\"down\"===a){if(\"BR\"===e.tagName){if(l.lastChild.isSameNode(e))return!0;if(e.nextSibling&&(Y.node.isBlock(e.nextSibling)||Y.node.isVoid(e.nextSibling)))return l.lastChild.isSameNode(e.nextSibling)||!1}return Math.abs(s.bottom-i.bottom)<=6}}return!1}(Y.selection.ranges(0).startContainer,Y.selection.ranges(0).startOffset,je.KEYCODE.ARROW_UP==t?\"up\":\"down\"))return;e.preventDefault(),e.stopPropagation();var r=j(Z(l)),n=P(a,r);return je.KEYCODE.ARROW_UP==t?X(n,l,r):je.KEYCODE.ARROW_DOWN==t&&q(n,l,r),Y.selection.restore(),!1}}}function Q(){Y.shared.$table_resizer||(Y.shared.$table_resizer=Z(document.createElement(\"div\")).attr(\"class\",\"fr-table-resizer\").html(\"<div></div>\")),W=Y.shared.$table_resizer,Y.events.$on(W,\"mousedown\",function(e){return!Y.core.sameInstance(W)||(0<ge().length&&F(),1==e.which?(Y.selection.save(),h=!0,W.addClass(\"fr-moving\"),N(),Y.edit.off(),W.find(\"div\").css(\"opacity\",1),!1):void 0)}),Y.events.$on(W,\"mousemove\",function(e){if(!Y.core.sameInstance(W))return!0;h&&(Y.opts.iframe&&(e.pageX-=Y.$iframe.offset().left,e.pageY-=Y.$iframe.offset().top),pe(e))});var t=function t(e){h&&K(e)};window.addEventListener(\"mouseup\",t,!0),Y.events.on(\"destroy\",function(){window.removeEventListener(\"mouseup\",t,!0)},!0),Y.events.on(\"shared.destroy\",function(){W.html(\"\").removeData().remove(),W=null},!0),Y.events.on(\"destroy\",function(){Y.$el.find(\".fr-selected-cell\").removeClass(\"fr-selected-cell\"),Z(\"body\").first().append(W.hide())},!0)}function ee(){W&&(W.find(\"div\").css(\"opacity\",0),W.css(\"top\",0),W.css(\"left\",0),W.css(\"height\",0),W.css(\"width\",0),W.find(\"div\").css(\"height\",0),W.find(\"div\").css(\"width\",0),W.css(\"padding-top\",0),W.css(\"padding-bottom\",0),W.css(\"padding-left\",0),W.css(\"padding-right\",0),W.hide())}function te(){c&&c.removeClass(\"fr-visible\").css(\"left\",\"-9999px\")}function ae(e,t){if(Y.$box.find(\".fr-line-breaker\").isVisible())return!1;c||he(),Y.$box.append(c),c.data(\"instance\",Y);var a,l=Z(t).find(\"tr\").first(),r=e.pageX,n=0,o=0;if(Y.opts.iframe){var i=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),s=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));n+=Y.$iframe.offset().left-Y.helpers.scrollLeft()+s,o+=Y.$iframe.offset().top-Y.helpers.scrollTop()+i}l.find(\"th, td\").each(function(){var e=Z(this);return e.offset().left<=r&&r<e.offset().left+e.outerWidth()/2?(a=parseInt(c.find(\"a\").css(\"width\"),10),c.css(\"top\",o+e.offset().top-Y.$box.offset().top-a-5),c.css(\"left\",n+e.offset().left-Y.$box.offset().left-a/2),c.data(\"selected-cell\",e),c.data(\"position\",\"before\"),c.addClass(\"fr-visible\"),!1):e.offset().left+e.outerWidth()/2<=r&&r<e.offset().left+e.outerWidth()?(a=parseInt(c.find(\"a\").css(\"width\"),10),c.css(\"top\",o+e.offset().top-Y.$box.offset().top-a-5),c.css(\"left\",n+e.offset().left-Y.$box.offset().left+e.outerWidth()-a/2),c.data(\"selected-cell\",e),c.data(\"position\",\"after\"),c.addClass(\"fr-visible\"),!1):void 0})}function le(e,t){if(Y.$box.find(\".fr-line-breaker\").isVisible())return!1;c||he(),Y.$box.append(c),c.data(\"instance\",Y);var a,l=Z(t),r=e.pageY,n=0,o=0;if(Y.opts.iframe){var i=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),s=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));n+=Y.$iframe.offset().left-Y.helpers.scrollLeft()+s,o+=Y.$iframe.offset().top-Y.helpers.scrollTop()+i}l.find(\"tr\").each(function(){var e=Z(this);a=parseInt(c.find(\"a\").css(\"width\"),10);var t=n+e.offset().left-Y.$box.offset().left;return t=0!==Y.$box.offset().left?t-a-5:t+a-5,e.offset().top<=r&&r<e.offset().top+e.outerHeight()/2?(c.css(\"top\",o+e.offset().top-Y.$box.offset().top-a/2),c.css(\"left\",t),c.data(\"selected-cell\",e.find(\"td\").first()),c.data(\"position\",\"above\"),c.addClass(\"fr-visible\"),!1):e.offset().top+e.outerHeight()/2<=r&&r<e.offset().top+e.outerHeight()?(c.css(\"top\",o+e.offset().top-Y.$box.offset().top+e.outerHeight()-a/2),c.css(\"left\",t),c.data(\"selected-cell\",e.find(\"td\").first()),c.data(\"position\",\"below\"),c.addClass(\"fr-visible\"),!1):void 0})}function re(e,t){var a=Z(e);a.removeClass(t),a.length&&a.get(0).hasAttribute(\"class\")&&!a.attr(\"class\").trim()&&a.removeAttr(\"class\")}function ne(){s[Y.id]&&!i&&(re(s[Y.id],\"fr-table-selector-active fr-table-selector-active-selected\"),s[Y.id].addClass(\"fr-table-selector-inactive\"),re(Y.$el.find(\"table.fr-table-selection-hover\"),\"fr-table-selection-hover\"),function e(){s[Y.id].removeAttr(\"draggable\"),u&&(i=!1,u.hide(),u.removeAttr(\"data-position\"),u.removeData(\"target-element\"))}())}function oe(){re(Y.$el.find(\"table.fr-table-selected\"),\"fr-table-selected fr-table-selection-hover\"),ne()}function ie(e){Y.$box.append(s[Y.id]),s[Y.id].data(\"instance\",Y);var t=e.offset().left-Y.$box.offset().left+16,a=e.offset().top-Y.$box.offset().top-s[Y.id].outerHeight();if(Y.opts.iframe){var l=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),r=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));t+=Y.$iframe.offset().left-Y.helpers.scrollLeft()+r,a+=Y.$iframe.offset().top-Y.helpers.scrollTop()+l}s[Y.id].css(\"top\",a),s[Y.id].css(\"left\",t)}function se(e){f=null;var t=Y.doc.elementFromPoint(e.pageX-Y.win.pageXOffset,e.pageY-Y.win.pageYOffset);Y.opts.tableResizer&&(!Y.popups.areVisible()||Y.popups.areVisible()&&Y.popups.isVisible(\"table.edit\"))&&function I(e,t){var a,l=Z(t);l&&(a=l.closest(\"table\"));var r=a.parent();if(t&&\"TD\"!=t.tagName&&\"TH\"!=t.tagName&&(0<l.closest(\"td\").length?t=l.closest(\"td\"):0<l.closest(\"th\").length&&(t=l.closest(\"th\"))),!t||\"TD\"!=t.tagName&&\"TH\"!=t.tagName)W&&l.get(0)!=W.get(0)&&l.parent().get(0)!=W.get(0)&&Y.core.sameInstance(W)&&ee();else{if(l=Z(t),0===Y.$el.find(l).length)return!1;var n=l.offset().left-1,o=n+l.outerWidth(),i=l.offset().top-1,s=i+l.outerHeight();if(Math.abs(e.pageX-n)<=Y.opts.tableResizerOffset||Math.abs(o-e.pageX)<=Y.opts.tableResizerOffset){var c,f,d,p,b,h=j(a),u=P(t,h),g=k(u.row,u.col,h),v=a.offset().top,m=a.outerHeight()-1;\"rtl\"!=Y.opts.direction?e.pageX-n<=Y.opts.tableResizerOffset?(d=n,0<u.col?(p=n-fe(u.col-1,h)+Y.opts.tableResizingLimit,b=n+fe(u.col,h)-Y.opts.tableResizingLimit,c=u.col-1,f=u.col):(c=-1,f=0,p=Y.$wp.offset().left-1+parseFloat(r.css(\"padding-left\")),b=Y.opts.proportionalTableResize?a.offset().left-1+a.width()-h[0].length*Y.opts.tableResizingLimit:n+fe(u.col,h)-Y.opts.tableResizingLimit)):o-e.pageX<=Y.opts.tableResizerOffset&&(d=o,g.col<h[g.row].length&&h[g.row][g.col+1]?(p=o-fe(g.col,h)+Y.opts.tableResizingLimit,b=o+fe(g.col+1,h)-Y.opts.tableResizingLimit,c=g.col,f=g.col+1):(c=g.col,f=-1,p=Y.opts.proportionalTableResize?a.offset().left-1+h[0].length*Y.opts.tableResizingLimit:o-fe(g.col,h)+Y.opts.tableResizingLimit,b=r.offset().left-1+r.width()-parseFloat(r.css(\"padding-left\")))):o-e.pageX<=Y.opts.tableResizerOffset?(d=o,0<u.col?(p=o-fe(u.col,h)+Y.opts.tableResizingLimit,b=o+fe(u.col-1,h)-Y.opts.tableResizingLimit,c=u.col,f=u.col-1):(c=null,f=0,p=a.offset().left+h[0].length*Y.opts.tableResizingLimit,b=r.offset().left-1+r.width()+parseFloat(r.css(\"padding-left\")))):e.pageX-n<=Y.opts.tableResizerOffset&&(d=n,g.col<h[g.row].length&&h[g.row][g.col+1]?(p=n-fe(g.col+1,h)+Y.opts.tableResizingLimit,b=n+fe(g.col,h)-Y.opts.tableResizingLimit,c=g.col+1,f=g.col):(c=g.col,f=null,p=r.offset().left+parseFloat(r.css(\"padding-left\")),b=a.offset().left-1+a.width()-h[0].length*Y.opts.tableResizingLimit)),W||Q(),ee(),W.removeClass(\"fr-table-row-resizer\"),W.addClass(\"fr-table-col-resizer\"),W.data(\"table\",a),W.data(\"first\",c),W.data(\"second\",f),W.data(\"instance\",Y),Y.$wp.append(W);var C=d-Y.win.pageXOffset-Y.opts.tableResizerOffset-Y.$wp.offset().left,w=v-Y.$wp.offset().top+Y.$wp.scrollTop();if(Y.opts.iframe){var y=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),E=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));C+=Y.$iframe.offset().left+E,w+=Y.$iframe.offset().top+y,p+=Y.$iframe.offset().left,b+=Y.$iframe.offset().left}W.data(\"max-left\",p),W.data(\"max-right\",b),W.data(\"origin\",d-Y.win.pageXOffset),W.css(\"top\",w),W.css(\"left\",C),W.css(\"height\",m),W.find(\"div\").css(\"height\",m),W.css(\"padding-left\",Y.opts.tableResizerOffset),W.css(\"padding-right\",Y.opts.tableResizerOffset),W.show()}else if(Math.abs(e.pageY-i)<=Y.opts.tableResizerOffset||Math.abs(s-e.pageY)<=Y.opts.tableResizerOffset){var T,R,x,A,O,H=j(a),M=P(t,H),$=k(M.row,M.col,H),D=a.offset().left,S=a.outerWidth()-1;e.pageY-i<=Y.opts.tableResizerOffset?(x=i,0<M.row?(A=i-de(M.row-1,H),O=Y.win.outerHeight,T=M.row-1,R=M.row):(T=-1,R=0,A=Y.$el.offset().top-1+parseInt(a.css(\"margin-top\"),10),O=Y.opts.proportionalTableResize?a.offset().top-1+a.height()-H.length*Y.opts.tableResizingLimit:a.offset().top+l.height())):s-e.pageY<=Y.opts.tableResizerOffset&&(x=s,$.row<H.length-1?(A=s-de($.row,H),O=Y.win.outerHeight,T=$.row,R=$.row+1):(T=$.row,R=-1,A=Y.opts.proportionalTableResize?a.offset().top-1+H.length*Y.opts.tableResizingLimit:s-de($.row,H),O=Y.win.outerHeight)),W||Q(),ee(),W.removeClass(\"fr-table-col-resizer\"),W.addClass(\"fr-table-row-resizer\"),W.data(\"table\",a),W.data(\"first\",T),W.data(\"second\",R),W.data(\"instance\",Y),Y.$wp.append(W);var V=D-Y.$wp.offset().left,N=x-Y.$wp.offset().top+Y.$wp.scrollTop()-Y.opts.tableResizerOffset;if(Y.opts.iframe){var L=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),_=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));V+=Y.$iframe.offset().left+_,N+=Y.$iframe.offset().top+L,A+=Y.$iframe.offset().top,O+=Y.$iframe.offset().top}W.data(\"max-top\",A-Y.$wp.offset().top+Y.$wp.scrollTop()-Y.opts.tableResizerOffset),W.data(\"max-bottom\",O-Y.$wp.offset().top+Y.$wp.scrollTop()-Y.opts.tableResizerOffset),W.data(\"origin\",N),W.css(\"top\",N),W.css(\"left\",V),W.css(\"width\",S),W.find(\"div\").css(\"width\",S),W.css(\"padding-top\",Y.opts.tableResizerOffset),W.css(\"padding-bottom\",Y.opts.tableResizerOffset),W.show()}else Y.core.sameInstance(W)&&ee()}}(e,t),!Y.opts.tableInsertHelper||Y.popups.areVisible()||Y.$tb.hasClass(\"fr-inline\")&&Y.$tb.isVisible()||function n(e,t){if(0===ge().length){var a,l,r;if(t&&(\"HTML\"==t.tagName||\"BODY\"==t.tagName||Y.node.isElement(t)))for(a=1;a<=Y.opts.tableInsertHelperOffset;a++){if(l=Y.doc.elementFromPoint(e.pageX-Y.win.pageXOffset,e.pageY-Y.win.pageYOffset+a),Z(l).hasClass(\"fr-tooltip\"))return!0;if(l&&(\"TH\"==l.tagName||\"TD\"==l.tagName||\"TABLE\"==l.tagName)&&(Z(l).parents(\".fr-wrapper\").length||Y.opts.iframe)&&\"false\"!=Z(l).closest(\"table\").attr(\"contenteditable\"))return ae(e,Z(l).closest(\"table\")),!0;if(r=Y.doc.elementFromPoint(e.pageX-Y.win.pageXOffset+a,e.pageY-Y.win.pageYOffset),Z(r).hasClass(\"fr-tooltip\"))return!0;if(r&&(\"TH\"==r.tagName||\"TD\"==r.tagName||\"TABLE\"==r.tagName)&&(Z(r).parents(\".fr-wrapper\").length||Y.opts.iframe)&&\"false\"!=Z(r).closest(\"table\").attr(\"contenteditable\"))return le(e,Z(r).closest(\"table\")),!0}Y.core.sameInstance(c)&&te()}}(e,t),Y.opts.enableTableSelection&&function i(e,t){var a=Z(t),l=Y.$el.find(\"table.fr-table-selection-hover\"),r=Y.$el.find(\"table.fr-table-selected\");if(Y.node.isElement(t)||Y.node.isElement(a.parents(\".fr-view\").first().get(0))||Y.core.sameInstance(a)||Y.core.sameInstance(a.parents(\"div.fr-table-selector\"))){if(!a.parents(\".fr-table-selector\").length){var n=a.closest(\"table\").filter(function(){return!(!Y.$el||!Y.$el.length)&&Y.$el.get(0).contains(this)});if(n.length){if(ie(n),s[Y.id].addClass(\"fr-table-selector-active\"),re(s[Y.id],\"fr-table-selector-inactive\"),re(l,\"fr-table-selection-hover\"),r.length){var o=r.get(0)===n.get(0);s[Y.id].toggleClass(\"fr-table-selector-active-selected\",o),s[Y.id].attr(\"draggable\",o)}n.addClass(\"fr-table-selection-hover\")}else l.length&&Math.abs(l.offset().top-e.pageY)<5||s[Y.id].hasClass(\"fr-table-selector-inactive\")||ne()}}else r.length||ne()}(e,t)}function ce(){if(h){var e=W.data(\"table\").offset().top-Y.win.pageYOffset;if(Y.opts.iframe){var t=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\"));e+=Y.$iframe.offset().top-Y.helpers.scrollTop()+t}W.css(\"top\",e)}}function fe(e,t){var a,l=Z(t[0][e]).outerWidth();for(a=1;a<t.length;a++)l=Math.min(l,Z(t[a][e]).outerWidth());return l}function de(e,t){var a,l=Z(t[e][0]).outerHeight();for(a=1;a<t[e].length;a++)l=Math.min(l,Z(t[e][a]).outerHeight());return l}function pe(e){if(1<ge().length&&b&&N(),!1===b&&!1===p&&!1===h)f&&clearTimeout(f),Y.edit.isDisabled()&&!Y.popups.isVisible(\"table.edit\")||(f=setTimeout(se,30,e));else if(h)if(W.hasClass(\"fr-table-col-resizer\")){var t=e.pageX-Y.win.pageXOffset;Y.opts.iframe&&(t+=Y.$iframe.offset().left);var a=W.data(\"max-left\"),l=W.data(\"max-right\");a<=t&&t<=l?W.css(\"left\",t-Y.opts.tableResizerOffset-Y.$wp.offset().left):t<a&&parseFloat(W.css(\"left\"),10)>a-Y.opts.tableResizerOffset?W.css(\"left\",a-Y.opts.tableResizerOffset-Y.$wp.offset().left):l<t&&parseFloat(W.css(\"left\"),10)<l-Y.opts.tableResizerOffset&&W.css(\"left\",l-Y.opts.tableResizerOffset-Y.$wp.offset().left)}else{var r=e.pageY-Y.win.pageYOffset;Y.opts.iframe&&(r+=Y.$iframe.offset().top);var n,o,i=W.data(\"max-top\"),s=W.data(\"max-bottom\");n=Y.opts.height?(o=r-Y.opts.tableResizerOffset-Y.$wp.offset().top+Y.$wp.scrollTop(),Y.opts.iframe&&(s=Y.win.innerHeight),o):(o=r-Y.opts.tableResizerOffset-Y.$wp.offset().top+Y.helpers.scrollTop(),Y.opts.iframe&&(o=r-Y.opts.tableResizerOffset-Y.$wp.offset().top),s=Y.win.innerHeight,e.clientY),i<=o&&n<=s&&W.css(\"top\",o)}else b&&te()}function be(e){Y.node.isEmpty(e.get(0))?Y.opts.keepTextFormatOnTable&&Y.browser.mozilla?e.append(je.MARKERS):e.prepend(je.MARKERS):e.prepend(je.START_MARKER).append(je.END_MARKER)}function he(){Y.shared.$ti_helper||(Y.shared.$ti_helper=Z(document.createElement(\"div\")).attr(\"class\",\"fr-insert-helper\").html('<a class=\"fr-floating-btn\" role=\"button\" tabIndex=\"-1\" title=\"'.concat(Y.language.translate(\"Insert\"),'\"><svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z\"/></svg></a>')),Y.events.bindClick(Y.shared.$ti_helper,\"a\",function(){var e=c.data(\"selected-cell\"),t=c.data(\"position\"),a=c.data(\"instance\")||Y;\"before\"==t?(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertColumn(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()):\"after\"==t?(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertColumn(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()):\"above\"==t?(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertRow(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()):\"below\"==t&&(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertRow(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()),te()}),Y.events.on(\"shared.destroy\",function(){Y.shared.$ti_helper.html(\"\").removeData().remove(),Y.shared.$ti_helper=null},!0),Y.events.$on(Y.shared.$ti_helper,\"mousemove\",function(e){e.stopPropagation()},!0),Y.events.$on(Z(Y.o_win),\"scroll\",function(){te()},!0),Y.events.$on(Y.$wp,\"scroll\",function(){te()},!0)),c=Y.shared.$ti_helper,Y.events.on(\"destroy\",function(){c=null}),Y.tooltip.bind(Y.$box,\".fr-insert-helper > a.fr-floating-btn\")}function ue(){l=null,clearTimeout(f)}function ge(){return Y.el.querySelectorAll(\".fr-selected-cell\")}function ve(){var e=ge(),t=Y.$el.find(\"table.fr-table-selected\");if(e.length){for(var a=e[0];a&&\"TABLE\"!=a.tagName&&a.parentNode!=Y.el;)a=a.parentNode;return a&&\"TABLE\"==a.tagName?Z(a):Z([])}return t.length?Z(t.get(0)):Z([])}function me(e){var t=Y.popups.get(\"table.tableProperties\"),a=t.find(\".fr-table-alignment-container\"),l=a.find(\".fr-table-\".concat(e,\"-align\")).get(0);a.find(\".fr-table-left-align\").get(0).innerHTML=Y.icon.create(\"leftTableAlign\"),a.find(\".fr-table-center-align\").get(0).innerHTML=Y.icon.create(\"centerTableAlign\"),a.find(\".fr-table-right-align\").get(0).innerHTML=Y.icon.create(\"rightTableAlign\"),l.innerHTML=Y.icon.create(\"\".concat(e,\"TableAlignActive\")),l.focus(),t.data(\"tableAlign\",e)}function Ce(){var e={buttons:\"\",table_properties_form:'\\n         <div class=\"fr-table-properties-form\">\\n            <div class=\"fr-table-properties-section\">\\n              <label>Background</label>\\n              <div class=\"fr-table-bg-container\">\\n                <div class=\"fr-input-line\">\\n                  <input type=\"text\" title=\"'.concat(Y.language.translate(\"Custom background color input\"),'\" id=\"fr-table-bg\" class=\"fr-input\" placeholder=\"Color\" tabIndex=\"1\" aria-required=\"true\">\\n                </div>\\n                <button title=\"').concat(Y.language.translate(\"Background color picker\"),'\" role=\"button\" type=\"button\" class=\"fr-command fr-enable-accessibility fr-btn-table-bg-color\" data-param1=\"table\" tabIndex=\"2\" data-cmd=\"openColorPicker\">\\n                  <div class=\"fr-color-preview\">\\n                    <div class=\"fr-color-preview-indicator\"></div>\\n                  </div>\\n                </button>\\n              </div>\\n              <label>Border</label>\\n              <div class=\"fr-table-border-container\">\\n                <div class=\"fr-input-line\">\\n                  <label class=\"fr-field-lable\">Style</label>\\n                  <div class= \"fr-buttons fr-border-style\"> ').concat(Y.button.build(\"tableBorderStyle\",je.COMMANDS.tableBorderStyle,!0),'</div>\\n                </div>\\n                <div class=\"fr-input-line\">\\n                  <input  title=\"').concat(Y.language.translate(\"Custom border color input\"),'\" id=\"fr-table-border-color\" class=\"fr-input\" type=\"text\" placeholder=\"Color\" tabIndex=\"3\" aria-required=\"true\">\\n                </div>\\n                <button  title=\"').concat(Y.language.translate(\"Border color picker\"),'\" role=\"button\" type=\"button\" class=\"fr-command fr-btn-table-border-bg-color fr-enable-accessibility\" tabIndex=\"4\" data-param1=\"border\" data-cmd=\"openColorPicker\">\\n                  <div class=\"fr-border-color-preview\">\\n                    <div class=\"fr-border-color-preview-indicator\"></div>\\n                  </div>\\n                </button>\\n                <div class=\"fr-input-line\">\\n                  <input  title=\"').concat(Y.language.translate(\"Border width\"),'\" id=\"fr-table-border-width\" type=\"text\" class=\"fr-input\" placeholder=\"Width\" tabIndex=\"5\" aria-required=\"true\">\\n                </div>\\n              </div>\\n              <div class=\"fr-table-dimentions-section\">\\n                <div>\\n                  <label>Dimentions</label>\\n                  <div class=\"fr-table-dimentions-container\">\\n                    <div class=\"fr-input-line\">\\n                      <input title=\"').concat(Y.language.translate(\"Table width\"),'\" type=\"text\" id=\"fr-table-width\" placeholder=\"Width\" tabIndex=\"6\">\\n                    </div>\\n                    <span class=\"fr-dimension-separator\">\\xd7</span>\\n                    <div class=\"fr-input-line\">\\n                      <input title=\"').concat(Y.language.translate(\"Table height\"),'\" type=\"text\" id=\"fr-table-height\" placeholder=\"Height\" tabIndex=\"7\">\\n                    </div>\\n                  </div>\\n                </div>\\n                <div class=\"fr-table-alignment-section\">\\n                  <label>Alignment</label>\\n                  <div class=\"fr-table-alignment-container\">\\n                    <button title=\"').concat(Y.language.translate(\"Left align\"),'\" class=\"fr-enable-accessibility fr-command fr-table-left-align\" data-param1=\"left\" data-cmd=\"tableAlign\" tabIndex=\"8\">').concat(Y.icon.create(\"leftTableAlign\"),'</button>\\n                    <button title=\"').concat(Y.language.translate(\"Center align\"),'\" class=\"fr-enable-accessibility fr-command fr-table-center-align\" data-param1=\"center\" data-cmd=\"tableAlign\" tabIndex=\"9\">').concat(Y.icon.create(\"centerTableAlign\"),'</button>\\n                    <button title=\"').concat(Y.language.translate(\"Right align\"),'\" class=\"fr-enable-accessibility fr-command fr-table-right-align\" data-param1=\"right\" data-cmd=\"tableAlign\" tabIndex=\"10\">').concat(Y.icon.create(\"rightTableAlign\"),'</button>\\n                  </div>\\n                </div>\\n              </div>\\n              <label>Table style</label>\\n              <div class=\"fr-table-style-container\">\\n                <div class=\"fr-input-line\">\\n                  <label class=\"fr-field-lable\">Style</label>\\n                  <div class= \"fr-buttons fr-table-style\"> ').concat(Y.button.build(\"tableStyle\",je.COMMANDS.tableStyle,!0),'</div>\\n                </div>\\n              </div>\\n            </div>\\n            <div class=\"fr-table-properties-buttons\">\\n              <button title=\"').concat(Y.language.translate(\"Cancel\"),'\" role=\"button\" type=\"button\" class=\"fr-enable-accessibility fr-command fr-cancel-button\" tabIndex=\"11\" data-cmd=\"onCancel\">Cancel</button>\\n              <button title=\"').concat(Y.language.translate(\"Save\"),'\" role=\"button\" type=\"button\" class=\"fr-enable-accessibility fr-command fr-save-button\" tabIndex=\"12\" data-cmd=\"applyTableProperties\">Save</button>\\n            </div>\\n          </div>\\n        ')},n=Y.popups.create(\"table.tableProperties\",e),t=function t(e,l,r){n.find(e).on(\"keydown\",function(t){var e=Z(t.target),a=t.which;a!==je.KEYCODE.ENTER&&a!==je.KEYCODE.ARROW_DOWN&&a!==je.KEYCODE.SPACE||e.hasClass(\"fr-active\")||!e.is(\"button\")||(l&&r&&Y.button.click(e),t.preventDefault(),t.stopPropagation()),setTimeout(function(){if(a===je.KEYCODE.TAB&&l&&r){var e=t.shiftKey?n.find(l):n.find(r);e&&e.length&&e.focus(),t.preventDefault(),t.stopPropagation()}},10)})};return t(\".fr-border-style > button\",\".fr-btn-table-bg-color\",\"#fr-table-border-color\"),t(\".fr-border-style > .fr-dropdown-menu li\",\".fr-btn-table-bg-color\",\"#fr-table-border-color\"),t(\".fr-table-style > button\",\".fr-table-right-align\",\".fr-cancel-button\"),t(\".fr-table-style > .fr-dropdown-menu li\",\".fr-table-right-align\",\".fr-cancel-button\"),t(\".fr-save-button\",\".fr-cancel-button\",\"#fr-table-bg\"),n}function t(){p=!1}function we(e,t){var a=e.find(\"colgroup\");0===a.length&&(a=Z(Y.doc.createElement(\"colgroup\")),e.prepend(a));var l=a.find(\"col\").length;if(l<t)for(var r=l;r<t;r++)a.append(Z(Y.doc.createElement(\"col\")));else t<l&&a.find(\"col\").slice(t).remove();return Ee(a,ye(e)),e.find(\"th, td\").each(function(){Z(this).css(\"width\",\"\")}),a}function ye(e){var t=[];return e.find(\"colgroup\").find(\"col\").each(function(){var e=Math.round(Z(this).width())||0;t.push(e)}),t}function Ee(e,t){var a=e.find(\"col\"),l=t.reduce(function(e,t){return e+t},0);if(.01<Math.abs(l-100)){var r=100/l;t=t.map(function(e){return e*r})}a.each(function(e){e<t.length&&Z(this).css(\"width\",t[e].toFixed(4)+\"%\")})}function Te(e){var t=function f(e){var t=e.target,l=e.clientY;if(\"OL\"===t.tagName||\"UL\"===t.tagName){var a=Z(t).find(\"li\"),r=null,n=Infinity;return a.each(function(){var e=this.getBoundingClientRect(),t=e.top+e.height/2,a=Math.abs(l-t);a<n&&(n=a,r=this)}),r||t}var o=Z(t).closest(\"li\")[0];if(o)return o;return function i(e){var t=e;for(;t&&t!==Y.$el[0];){if(Y.node.isBlock(t))return t;t=t.parentElement}return null}(t)}(e);if(t){var a=t.getBoundingClientRect(),l=e.clientY,r=parseFloat(Z(t).css(\"margin-top\"))||0,n=parseFloat(Z(t).css(\"margin-bottom\"))||0,o=l<a.top+a.height/2,i=o?-r:n,s=(o?a.top:a.bottom)-Y.$box.offset().top+Y.helpers.scrollTop()+i/2,c=a.x-Y.$wp.offset().left;u||(u=Z(Y.doc.createElement(\"div\")).addClass(\"fr-table-drop-indicator\").html('<div class=\"fr-table-drop-indicator-line\"></div>'),Y.$box.append(u)),Y.opts.iframe&&(s+=Y.$iframe.offset().top,c+=Y.$iframe.offset().left),u.css({top:s+\"px\",left:c,width:a.width+\"px\"}).attr(\"data-position\",o?\"above\":\"below\").data(\"target-element\",t),u.show()}}function Re(e,t){e.css(\"height\",\"\");var a=e.height(),l=e.find(\"tr\"),r=(t-a)/l.length;l.each(function(){var e=Z(this),t=e.outerHeight(),a=Math.max(t+r,Y.opts.tableResizingLimit);e.css(\"height\",a+\"px\")}),e.css(\"height\",\"\".concat(t,\"px\"))}return{_init:function xe(){if(!Y.$wp)return!1;if(Y.helpers.isMobile()&&(Y.events.$on(Y.$el,\"mousedown\",z),Y.events.$on(Y.$win,\"mouseup\",K)),!Y.helpers.isMobile()){h=p=b=!1,Y.events.$on(Y.$el,\"mousedown\",z),Y.popups.onShow(\"image.edit\",function(){V(),p=b=!1}),Y.popups.onShow(\"link.edit\",function(){V(),p=b=!1}),Y.events.$on(Y.$el,\"mouseover\",\"th, td\",G),Y.events.$on(Y.$win,\"mouseup\",K),Y.opts.iframe&&Y.events.$on(Z(Y.o_win),\"mouseup\",K),Y.events.$on(Y.$win,\"mousemove\",pe),Y.events.$on(Z(Y.o_win),\"scroll\",ce),Y.events.on(\"contentChanged\",function(){ne(),0<ge().length&&!Y.popups.isVisible(\"table.tableProperties\")&&(C(),Y.$el.find(\"img\").on(\"load.selected-cells\",function(){Z(this).off(\"load.selected-cells\"),0<ge().length&&C()}))}),Y.events.$on(Z(Y.o_win),\"resize\",function(){V()}),Y.events.on(\"toolbar.esc\",function(){if(0<ge().length)return Y.events.disableBlur(),Y.events.focus(),!1},!0),Y.events.$on(Z(Y.o_win),\"keydown\",function(){b&&p&&(p=b=!1,Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on(),Y.selection.setAtEnd(Y.$el.find(\".fr-selected-cell\").last().get(0)),Y.selection.restore(),V())}),Y.events.$on(Y.$el,\"keydown\",function(e){e.shiftKey?!1===function o(e){var t=ge();if(null!=t&&0<t.length){var a,l=j(),r=e.which,n=P(1==t.length?a=t[0]:(a=Y.el.querySelector(\".fr-cell-fixed\"),Y.el.querySelector(\".fr-cell-handler\")),l);if(je.KEYCODE.ARROW_RIGHT==r){if(n.col<l[0].length-1)return I(a,l[n.row][n.col+1]),!1}else if(je.KEYCODE.ARROW_DOWN==r){if(n.row<l.length-1)return I(a,l[n.row+1][n.col]),!1}else if(je.KEYCODE.ARROW_LEFT==r){if(0<n.col)return I(a,l[n.row][n.col-1]),!1}else if(je.KEYCODE.ARROW_UP==r&&0<n.row)return I(a,l[n.row-1][n.col]),!1}}(e)&&setTimeout(function(){C()},0):J(e)}),Y.events.on(\"keydown\",function(e){if(!1===function v(e){if(e.which==je.KEYCODE.TAB){var t;if(0<ge().length)t=Y.$el.find(\".fr-selected-cell\").last();else{var a=Y.selection.element();\"TD\"==a.tagName||\"TH\"==a.tagName?t=Z(a):a!=Y.el&&(0<Z(a).parentsUntil(Y.$el,\"td\").length?t=Z(a).parents(\"td\").first():0<Z(a).parentsUntil(Y.$el,\"th\").length&&(t=Z(a).parents(\"th\").first()))}if(t)return e.preventDefault(),!!(0===Y.selection.get().focusOffset&&0<Z(Y.selection.element()).parentsUntil(Y.$el,\"ol, ul\").length&&(0<Z(Y.selection.element()).closest(\"li\").prev().length||Z(Y.selection.element()).is(\"li\")&&0<Z(Y.selection.element()).prev().length))||(F(),e.shiftKey?0<t.prev().length?be(t.prev()):0<t.closest(\"tr\").length&&0<t.closest(\"tr\").prev().length?be(t.closest(\"tr\").prev().find(\"td\").last()):0<t.closest(\"tbody\").length&&0<t.closest(\"table\").find(\"thead tr\").length&&be(t.closest(\"table\").find(\"thead tr th\").last()):0<t.next().length?be(t.next()):0<t.closest(\"tr\").length&&0<t.closest(\"tr\").next().length?be(t.closest(\"tr\").next().find(\"td\").first()):0<t.closest(\"thead\").length&&0<t.closest(\"table\").find(\"tbody tr\").length?be(t.closest(\"table\").find(\"tbody tr td\").first()):(t.addClass(\"fr-selected-cell\"),A(\"below\"),V(),be(t.closest(\"tr\").next().find(\"td\").first())),Y.selection.restore(),!1)}}(e))return!1;var t=function t(){V(),oe(),e.preventDefault(),e.stopPropagation()},a=Y.$el.find(\"table.fr-table-selected\"),l=e.which;if(a.length&&!Y.keys.isArrow(e.which)&&l!==je.KEYCODE.TAB&&l!==je.KEYCODE.ALT&&l!==je.KEYCODE.ESC){if(e.ctrlKey||e.metaKey||l===je.KEYCODE.SHIFT)return!0;x(),Y.undo.saveStep(),t();var r=Y.html.defaultTag();if(l===je.KEYCODE.ENTER||Y.keys.isCharacter(l)&&!e.ctrlKey&&!e.metaKey){var n,o=l===je.KEYCODE.ENTER;n=r?o?\"<\".concat(r,' id=\"cursor-marker\"></').concat(r,\">\"):\"<\".concat(r,' id=\"cursor-marker\"> ').concat(l===je.KEYCODE.SPACE?\"&nbsp;\":e.key,\"</\").concat(r,\">\"):o?'<br id=\"cursor-marker\">':\"\".concat(l===je.KEYCODE.SPACE?\"&nbsp;\":e.key,' <br id=\"cursor-marker\">'),Y.html.insert(n,!0,!0);var i=Y.$el.find(\"#cursor-marker\").get(0);i&&i.parentNode&&setTimeout(function(){var e=Y.doc.createRange();e.setStart(i,o?0:1),e.setEnd(i,o?0:1),e.collapse(!0);var t=Y.selection.get();t.removeAllRanges(),t.addRange(e),Y.$el.focus()},0),i&&i.removeAttribute(\"id\")}return!1}if(a.length&&Y.keys.isArrow(e.which)){var s=e.which===je.KEYCODE.ARROW_DOWN||e.which===je.KEYCODE.ARROW_RIGHT,c=e.which===je.KEYCODE.ARROW_UP||e.which===je.KEYCODE.ARROW_LEFT;if(s||c){var f=s?a.next():a.prev();if(f&&f.length&&f[0].nodeType===Node.ELEMENT_NODE){var d=f[0];if(\"UL\"===d.tagName||\"OL\"===d.tagName){var p=d.querySelectorAll(\"li\");0<p.length&&(d=p[p.length-1])}(0===d.childNodes.length||1===d.childNodes.length&&\"BR\"===d.firstChild.nodeName)&&(d.innerHTML=\"\",d.appendChild(document.createTextNode(\"\\u200b\")));var b=Y.doc.createRange();s?b.setStartBefore(f[0]):(b.selectNodeContents(d),b.collapse(!1));var h=Y.selection.get();h.removeAllRanges(),h.addRange(b),setTimeout(function(){Y.events.disableBlur(),Y.$el[0].focus(),Y.events.enableBlur()},0)}}return t(),!1}!(e.ctrlKey||e.metaKey)&&a.length&&(V(),oe()),ne();var u=ge();if(0<u.length){if(0<u.length&&Y.keys.ctrlKey(e)&&e.which==je.KEYCODE.A)return V(),Y.popups.isVisible(\"table.edit\")&&Y.popups.hide(\"table.edit\"),u=[],!0;if(e.which==je.KEYCODE.ESC&&Y.popups.isVisible(\"table.edit\"))return V(),Y.popups.hide(\"table.edit\"),e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!(u=[]);if(1<u.length&&(e.which==je.KEYCODE.BACKSPACE||e.which==je.KEYCODE.DELETE)){Y.undo.saveStep();for(var g=0;g<u.length;g++)Z(u[g]).html(\"<br>\"),g==u.length-1&&Z(u[g]).prepend(je.MARKERS);return Y.selection.restore(),Y.undo.saveStep(),!(u=[])}if(1<u.length&&e.which!=je.KEYCODE.F10&&!Y.keys.isBrowserAction(e))return e.preventDefault(),!(u=[])}else if(!(u=[])===function m(e){if(e.altKey&&e.which==je.KEYCODE.SPACE){var t,a=Y.selection.element();if(\"TD\"==a.tagName||\"TH\"==a.tagName?t=a:0<Z(a).closest(\"td\").length?t=Z(a).closest(\"td\").get(0):0<Z(a).closest(\"th\").length&&(t=Z(a).closest(\"th\").get(0)),t)return e.preventDefault(),I(t,t),C(),!1}}(e))return!1},!0);var t=null,a=[];Y.events.on(\"html.beforeGet\",function(){a=ge();for(var e=0;e<a.length;e++)a[e].className=(a[e].className||\"\").replace(/fr-selected-cell/g,\"\");(t=Y.$el.find(\"table.fr-table-selected\"))&&t.length&&re(t,\"fr-table-selected\")}),Y.events.on(\"html.afterGet\",function(){for(var e=0;e<a.length;e++)a[e].className=(a[e].className?a[e].className.trim()+\" \":\"\")+\"fr-selected-cell\";a=[],t&&t.length&&t.addClass(\"fr-table-selected\")});var f=!1,d=[\"applytextColor\",\"bold\",\"italic\",\"underline\",\"strikeThrough\",\"subscript\",\"superscript\",\"fontFamily\",\"fontSize\",\"applybackgroundColor\",\"inlineClass\",\"inlineStyle\",\"alignLeft\",\"alignCenter\",\"formatOLSimple\",\"alignRight\",\"alignJustify\",\"formatOL\",\"formatUL\",\"paragraphFormat\",\"paragraphStyle\",\"lineHeight\",\"outdent\",\"indent\",\"quote\",\"clearFormatting\"];Y.events.on(\"commands.before\",function(e,t){if(!f&&1<ge().length&&-1!==d.indexOf(e)){Y.undo.saveStep(),Y.selection.save(),Y.$el.find(\".fr-marker\").removeClass(\"fr-marker\").addClass(\"fr-marker-placeholder\");var a=je.COMMANDS[e].undo;je.COMMANDS[e].undo=!1,f=!0;for(var l={},r=0;r<ge().length;r++){var n=ge()[r],o=n.closest(\"tr\").rowIndex;l[o]||(l[o]=[]),l[o].push(n)}for(var i in l){var s=l[i];Y.selection.get().removeAllRanges();var c=Y.doc.createRange();c.setStartBefore(s[0]),c.setEndAfter(s[s.length-1]),Y.selection.get().addRange(c),Y.commands.exec(e,[t])}return Y.$el.find(\".fr-marker-placeholder\").addClass(\"fr-marker\").removeClass(\"fr-marker-placeholder\"),Y.selection.restore(),Y.undo.saveStep(),je.COMMANDS[e].undo=a,f=!1}}),Y.events.on(\"dragover\",function(e){if(F(),i){e.preventDefault(),e.stopPropagation();var t=Y.$el.find(\"table.fr-table-selected\"),a=e.target;if(t.is(a)||t.contains(a))return u&&u.hide(),void t.addClass(\"not-drop\");Y.$el.is(a)?t.addClass(\"not-drop\"):t.removeClass(\"not-drop\"),Te(e.originalEvent)}}),Y.events.on(\"element.dropped\",function(e){F(),p=b=!1;var t=B({target:e.get(0)});t&&(I(t,t),C())}),Y.el.addEventListener(\"copy\",function(e){var t=function d(){var e=ge();if(!e||0===e.length)return null;var t=e[0],a=e[e.length-1],l=t.parentElement,r=a.parentElement,n=l.closest(\"table\"),o=Array.from(n.rows),i=o.indexOf(l),s=o.indexOf(r),c=Array.from(l.cells).indexOf(t),f=Array.from(r.cells).indexOf(a);return{rows:o.slice(i,s+1).map(function(e){return Array.from(e.cells).slice(c,f+1)})}}();if(t){var a=t.rows.map(function(e){return\"<tr>\"+e.map(function(e){var t=e.tagName.toLowerCase(),a=e.getAttribute(\"style\");return\"<\".concat(t).concat(a?' style=\"'.concat(a,'\"'):\"\",\">\").concat(e.innerHTML,\"</\").concat(t,\">\")}).join(\"\")+\"</tr>\"}).join(\"\"),l=t.rows.map(function(e){return e.map(function(e){return e.textContent.trim()}).join(\"\\t\")}).join(\"\\n\"),r=\"<table>\".concat(a,\"</table>\");Y.paste.saveCopiedText(r,l),e.clipboardData.setData(\"text/html\",r),e.preventDefault()}}),Y.events.on(\"commands.after\",function(e){if(\"applyTableProperties\"===e){var t=Y.$el.find(\".fr-selected-cell\").closest(\"table\"),a=!!t.length&&parseFloat(t[0].style.height);a&&Re(t,a)}}),n(!0),o(!0),e()}Y.events.on(\"destroy\",ue)},insert:function Ae(e,t){var a=function d(){var e={startTag:\"\",closeTag:\"\"};if(Y.opts.keepTextFormatOnTable){var t=Z(Y.selection.element().firstChild).parentsUntil(Y.$el);e=R(t)}return{startTag:e.startTag,closeTag:e.closeTag}}(),l=[];Y.opts.tableDefaultWidth&&l.push(\"width: \"+Y.opts.tableDefaultWidth+\";\"),Y.opts.tableDefaultHeight&&l.push(\"height: \"+Y.opts.tableDefaultHeight+\";\"),l.push(\"margin: auto;\"),\"left\"===Y.opts.tableDefaultAlign?l.push(\"float: left;\"):\"right\"===Y.opts.tableDefaultAlign&&l.push(\"float: right;\"),Y.opts.tableDefaultBorderColor&&l.push(\"border-color: \"+Y.opts.tableDefaultBorderColor+\";\"),Y.opts.tableDefaultBorderWidth&&l.push(\"border-width: \"+Y.opts.tableDefaultBorderWidth+\";\"),Y.opts.tableDefaultBorderStyle&&l.push(\"border-style: \"+Y.opts.tableDefaultBorderStyle+\";\"),Y.opts.tableDefaultBGColor&&l.push(\"background-color: \"+Y.opts.tableDefaultBorderStyle+\";\");var r,n,o=l.join(\" \"),i=\"<table \"+(o?'style=\"'+o+'\"':\"\")+' class=\"fr-inserted-table\">',s=100/t;for(i+=\"<colgroup>\",n=0;n<t;n++)i+=\"<col\"+(Y.opts.tableDefaultWidth?' style=\"width: '+s.toFixed(4)+'%;\"':\"\")+\">\";for(i+=\"</colgroup>\",i+=\"<tbody>\",r=0;r<e;r++){for(i+=\"<tr>\",n=0;n<t;n++)i+=\"<td>\"+a.startTag,0===r&&0===n&&(i+=je.MARKERS),i+=\"<br>\"+a.closeTag+\"</td>\";i+=\"</tr>\"}if(i+=\"</tbody></table>\",Y.opts.trackChangesEnabled){Y.edit.on(),Y.events.focus(!0),Y.selection.restore(),Y.undo.saveStep(),Y.markers.insert(),Y.html.wrap();var c=Y.$el.find(\".fr-marker\");Y.node.isLastSibling(c)&&c.parent().hasClass(\"fr-deletable\")&&c.insertAfter(c.parent()),c.replaceWith(i),Y.selection.clear()}else g=!0,Y.html.insert(i);Y.selection.restore();var f=Y.$el.find(\".fr-inserted-table\");re(f,\"fr-inserted-table\"),Y.events.trigger(\"table.inserted\",[f.get(0)])},remove:x,insertRow:A,deleteRow:function Oe(){var e=ve();if(0<e.length){var t,a,l,r=j(),n=L(r);if(null==n)return;if(0===n.min_i&&n.max_i==r.length-1)x();else{for(t=n.max_i;t>=n.min_i;t--){for(l=Z(e.find(\"tr\").not(e.find(\"> table tr\")).get(t)),a=0;a<r[t].length;a++)if(0===a||r[t][a]!=r[t][a-1]){var o=Z(r[t][a]);if(1<parseInt(o.attr(\"rowspan\"),10)){var i=parseInt(o.attr(\"rowspan\"),10)-1;1==i?o.removeAttr(\"rowspan\"):o.attr(\"rowspan\",i)}if(t<r.length-1&&r[t][a]==r[t+1][a]&&(0===t||r[t][a]!=r[t-1][a])){for(var s=r[t][a],c=a;0<c&&r[t][c]==r[t][c-1];)c--;0===c?Z(e.find(\"tr\").not(e.find(\"> table tr\")).get(t+1)).prepend(s):Z(r[t+1][c-1])[0].parentNode&&Z(r[t+1][c-1])[0].insertAdjacentElement(\"afterend\",s)}}var f=l.parent();l.remove(),0===f.find(\"tr\").length&&f.remove(),r=j(e)}$(0,r.length-1,0,r[0].length-1,e),0<n.min_i?Y.selection.setAtEnd(r[n.min_i-1][0]):Y.selection.setAtEnd(r[0][0]),Y.selection.restore(),Y.popups.hide(\"table.edit\")}}},insertColumn:function He(d){var e=ve();if(0<e.length){var p=j(),t=L(p),b=\"before\"==d?t.min_j:t.max_j;we(e,p[0].length);var a=ye(e);a=function i(e){var t=e.reduce(function(e,t){return e+t},0);if(0<t)return e.map(function(e){return e/t*100});var a=100/e.length;return new Array(e.length).fill(a)}(a);var l,r=100/(p[0].length+1),n=(100-r)/100,o=a.map(function(e){return e*n});e.find(\"th, td\").each(function(){(l=Z(this)).data(\"old-width\",l.outerWidth()/e.outerWidth()*100)}),function c(e,t,a,l,r){var n=e.find(\"colgroup\"),o=n.find(\"col\"),i=\"before\"===t?a:a+1,s=Z(Y.doc.createElement(\"col\"));return s.css(\"width\",l.toFixed(4)+\"%\"),i<o.length?o.eq(i).before(s):n.append(s),o.each(function(e){var t=r[e]||l;Z(this).css(\"width\",t.toFixed(4)+\"%\")}),n}(e,d,b,r,o),e.find(\"tr\").not(e.find(\"> table tr\")).each(function(e){for(var t,a=Z(this),l=0,r=0;l-1<b;){if(!(t=a.find(\"> th, > td\").get(r))){t=null;break}t==p[e][l]?(l+=parseInt(Z(t).attr(\"colspan\"),10)||1,r++):(l+=parseInt(Z(p[e][l]).attr(\"colspan\"),10)||1,\"after\"==d&&(t=0===r?-1:a.find(\"> th, > td\").get(r-1)))}var n=Z(t);if(\"after\"==d&&b<l-1||\"before\"==d&&0<b&&p[e][b]==p[e][b-1]){if(0===e||0<e&&p[e][b]!=p[e-1][b]){var o=parseInt(n.attr(\"colspan\"),10)+1;n.attr(\"colspan\",o),n.removeData(\"old-width\")}}else{var i,s=(n.get(0)||\"\").tagName;if(0<a.find(\"th\").length&&\"TH\"===s)i=\"<th><br></th>\";else{var c=E(p[e][b]),f=n.attr(\"style\")||\"\";i=\"<td\".concat(f?' style=\"'.concat(f,'\"'):\"\",\">\")+c.startTag+\"<br>\"+c.closeTag+\"</td>\"}Z(i).append(\"<br>\"),-1==t?a.prepend(i):null==t?a.append(i):\"before\"==d?n.before(i):\"after\"==d&&n.after(i)}}),e.find(\"th, td\").each(function(){Z(this).removeData(\"old-width\")}),Y.popups.isVisible(\"table.edit\")&&C()}},deleteColumn:function Me(){var e=ve();if(0<e.length){var t,a,l,r=j();we(e,r[0].length);var n=L(r);if(null==n)return;if(0===n.min_j&&n.max_j==r[0].length-1)x();else{var o=ye(e);for(a=n.max_j;a>=n.min_j;a--)for(t=0;t<r.length;t++)if(0===t||r[t][a]!=r[t-1][a])if(l=Z(r[t][a]),1<(parseInt(l.attr(\"colspan\"),10)||1)){var i=parseInt(l.attr(\"colspan\"),10)-1;1==i?l.removeAttr(\"colspan\"):l.attr(\"colspan\",i),l.removeData(\"old-width\")}else{var s=Z(l.parent().get(0));l.remove(),0===s.find(\"> th, > td\").length&&(0===s.prev().length||0===s.next().length||s.prev().find(\"> th[rowspan], > td[rowspan]\").length<s.prev().find(\"> th, > td\").length)&&s.remove()}$(0,r.length-1,0,r[0].length-1,e),function d(e,t,a,l){var r=l.length-(a-t+1);if(0<r){for(var n=we(e,r),o=0,i=0;i<l.length;i++)(i<t||a<i)&&(o+=l[i]);for(var s=[],c=0;c<l.length;c++)if(c<t||a<c){var f=100*l[c]/o;s.push(f)}Ee(n,s)}}(e,n.min_j,n.max_j,o),0<n.min_j?Y.selection.setAtEnd(r[n.min_i][n.min_j-1]):Y.selection.setAtEnd(r[n.min_i][0]),Y.selection.restore(),Y.popups.hide(\"table.edit\")}}},mergeCells:function $e(){if(1<ge().length&&(0===Y.$el.find(\"th.fr-selected-cell\").length||0===Y.$el.find(\"td.fr-selected-cell\").length)){S();var e,t,a=j(),l=L(a);if(null==l)return;var r=Y.$el.find(\".fr-selected-cell\"),n=Z(r[0]),o=n.closest(\"table\"),i=n.html(),s=ye(o);for(l.min_j<l.max_j&&n.attr(\"colspan\",l.max_j-l.min_j+1),l.min_i<l.max_i&&n.attr(\"rowspan\",l.max_i-l.min_i+1),e=1;e<r.length;e++)\"<br>\"!=(t=Z(r[e])).html()&&\"\"!==t.html()&&(i+=\"<br>\".concat(t.html())),t.remove();n.html(i),Y.selection.setAtEnd(n.get(0)),Y.selection.restore(),Y.toolbar.enable(),H(l.min_i,l.max_i,o);var c=o.find(\"tr:empty\");for(e=c.length-1;0<=e;e--)Z(c[e]).remove();O(l.min_j,l.max_j,o);var f=j(o),d=f[0]?f[0].length:0;if(a[0].length>d){var p=o.find(\"colgroup\"),b=a[0].map(function(e,t){return Z(e).is(\".fr-selected-cell\")?t:null}).filter(function(e){return null!==e}),h=b.reduce(function(e,t){return e+s[t]},0);Ee(p,[].concat(Ge(s.slice(0,Math.min.apply(Math,Ge(b)))),[h],Ge(s.slice(Math.max.apply(Math,Ge(b))+1))))}we(o,d),C()}},splitCellVertically:function De(){if(1==ge().length){var e=Y.$el.find(\".fr-selected-cell\"),t=parseInt(e.attr(\"colspan\"),10)||1,a=e.parent().outerWidth(),l=e.outerWidth(),r=e.parents(\"table\"),n=0,o=e.clone().html(\"<br>\"),i=j(),s=P(e.get(0),i);if(1<t)n=Math.ceil(t/2),l=function p(e,t,a){var l,r=0;for(l=e;l<=t;l++)r+=fe(l,a);return r}(s.col,s.col+n-1,i)/a*100,1<n?e.attr(\"colspan\",n):e.removeAttr(\"colspan\"),1<t-n?o.attr(\"colspan\",t-n):o.removeAttr(\"colspan\");else{var c;for(c=0;c<i.length;c++)if(0===c||i[c][s.col]!=i[c-1][s.col]){var f=Z(i[c][s.col]);if(!f.is(e)){var d=(parseInt(f.attr(\"colspan\"),10)||1)+1;f.attr(\"colspan\",d)}}l=l/a*100/2}e[0].parentNode&&e[0].insertAdjacentElement(\"afterend\",o[0]),function b(e,t,a,l,r){var n=e.find(\"colgroup\");0===n.length&&(n=we(e,r[0].length));var o=n.find(\"col\");if(1<a){var i=ye(e);Ee(n,i)}else{var s=l,c=o.eq(t.col);c.length&&c.css(\"width\",s.toFixed(4)+\"%\");var f=Z(Y.doc.createElement(\"col\"));f.css(\"width\",s.toFixed(4)+\"%\"),t.col+1<o.length?o.eq(t.col+1).before(f):n.append(f)}}(r,s,t,l,i),V(),Y.popups.hide(\"table.edit\")}},splitCellHorizontally:function Se(){if(1==ge().length){var e=Y.$el.find(\".fr-selected-cell\"),t=e.parent(),a=e.closest(\"table\"),l=parseInt(e.attr(\"rowspan\"),10),r=j(),n=P(e.get(0),r),o=e.clone().html(\"<br>\");if(1<l){var i=Math.ceil(l/2);1<i?e.attr(\"rowspan\",i):e.removeAttr(\"rowspan\"),1<l-i?o.attr(\"rowspan\",l-i):o.removeAttr(\"rowspan\");for(var s=n.row+i,c=0===n.col?n.col:n.col-1;0<=c&&(r[s][c]==r[s][c-1]||0<s&&r[s][c]==r[s-1][c]);)c--;-1==c?Z(a.find(\"tr\").not(a.find(\"> table tr\")).get(s)).prepend(o):Z(r[s][c])[0].parentNode&&Z(r[s][c])[0].insertAdjacentElement(\"afterend\",o[0])}else{var f,d=Z(document.createElement(\"tr\")).append(o);for(f=0;f<r[0].length;f++)if(0===f||r[n.row][f]!=r[n.row][f-1]){var p=Z(r[n.row][f]);p.is(e)||p.attr(\"rowspan\",(parseInt(p.attr(\"rowspan\"),10)||1)+1)}t[0].parentNode&&t[0].insertAdjacentElement(\"afterend\",d[0])}V(),Y.popups.hide(\"table.edit\")}},addHeader:function Ve(){var e=ve();if(0<e.length&&0===e.find(\"> th\").length){var t,a=\"<thead><tr>\",l=0;for(l=e.find(\"tr\").first().find(\"> th\").length,e.find(\"tr\").first().find(\"> td\").each(function(){var e=Z(this);l+=parseInt(e.attr(\"colspan\"),10)||1}),t=0;t<l;t++)a+=\"<th><br></th>\";a+=\"</tr></thead>\",e.prepend(a),C()}},addFooter:function Ne(){var e=ve();if(0<e.length&&0===e.find(\"tfoot\").length){var t=\"<tfoot><tr>\",a=0,l=e.find(\"thead tr\").first();0===l.length&&(l=e.find(\"tbody tr\").first()),l.find(\"th, td\").each(function(){a+=parseInt(Z(this).attr(\"colspan\"),10)||1});for(var r=0;r<a;r++)t+=\"<td><br></td>\";t+=\"</tr></tfoot>\",e.append(t),C()}},removeHeader:function Le(){var e=ve(),t=e.find(\"> thead\");if(0<(t=Z(t)).length)if(0===e.find(\"tbody tr\").length)x();else if(t.remove(),0<ge().length)C();else{Y.popups.hide(\"table.edit\");var a=e.find(\"tbody tr\").first().find(\"td\").first().get(0);a&&(Y.selection.setAtEnd(a),Y.selection.restore())}},removeFooter:function _e(){var e=ve(),t=e.find(\"tfoot\");if(0<t.length)if(0===e.find(\"tbody tr\").length)x();else if(t.remove(),0<ge().length)C();else{Y.popups.hide(\"table.edit\");var a=e.find(\"tbody tr\").first().find(\"td\").first().get(0);a&&(Y.selection.setAtEnd(a),Y.selection.restore())}},setBackground:function a(e){var t=Y.$el.find(\".fr-selected-cell\");\"REMOVE\"!=e?t.css(\"background-color\",Y.helpers.HEXtoRGB(e)):t.css(\"background-color\",\"\")},showInsertPopup:function Ie(){var e=Y.$tb.find('.fr-command[data-cmd=\"insertTable\"]'),t=Y.popups.get(\"table.insert\");if(t||(t=n()),!t.hasClass(\"fr-active\")){Y.popups.refresh(\"table.insert\"),Y.popups.setContainer(\"table.insert\",Y.$tb);var a=Y.button.getPosition(e),l=a.left,r=a.top;Y.popups.show(\"table.insert\",l,r,e.outerHeight())}},showEditPopup:C,showColorsPopup:function Pe(e){var t=j();if(t){var a=Y.popups.get(\"table.colors\");a||(a=function i(){var e=\"\",t=0;0<Y.opts.tableColorsButtons.length&&(e='<div class=\"fr-buttons fr-colors-buttons fr-tabs\">'.concat(Y.button.buildList(Y.opts.tableColorsButtons),\"</div>\"));var a=\"\";Y.opts.colorsHEXInput&&(a='<div class=\"fr-color-hex-layer fr-table-colors-hex-layer fr-active fr-layer\" id=\"fr-table-colors-hex-layer-'.concat(Y.id,'\">\\n        <div class=\"fr-input-line\">\\n        <input maxlength=\"7\" id=\"fr-table-colors-hex-layer-text\" tabIndex=\"').concat(++t,'\" type=\"text\" placeholder=\"').concat(Y.language.translate(\"HEX Color\"),'\" aria-required=\"true\">\\n        </div>\\n        <div class=\"fr-action-buttons\">\\n        <button type=\"button\" class=\"fr-command fr-submit\" tabIndex=\"').concat(++t,'\" data-cmd=\"applyCustomColor\" role=\"button\">\\n        ').concat(Y.language.translate(\"OK\"),\"\\n        </button>\\n        </div>\\n        </div>\"));var l={buttons:e,colors:function n(){for(var e='<div class=\"fr-color-set fr-table-colors\">',t=0;t<Y.opts.tableColors.length;t++)0!==t&&t%Y.opts.tableColorsStep==0&&(e+=\"<br>\"),\"REMOVE\"!=Y.opts.tableColors[t]?e+='<span class=\"fr-command fr-select-color\" style=\"background: '.concat(Y.opts.tableColors[t],';\" tabIndex=\"-1\" aria-selected=\"false\" role=\"button\" data-cmd=\\'onSelectColor\\' data-param1=\"').concat(Y.opts.tableColors[t],'\"><span class=\"fr-sr-only\">').concat(Y.language.translate(\"Color\"),\" \").concat(Y.opts.tableColors[t],\"&nbsp;&nbsp;&nbsp;</span></span>\"):e+='<span class=\"fr-command fr-select-color\" data-cmd=\\'onColorClear\\' tabIndex=\"-1\" role=\"button\" title=\"'.concat(Y.language.translate(\"Clear Formatting\"),'\">').concat(Y.icon.create(\"tableColorRemove\"),'<span class=\"fr-sr-only\">').concat(Y.language.translate(\"Clear Formatting\"),\"</span></span>\");return e+=\"</div>\"}(),custom_color:a},r=Y.popups.create(\"table.colors\",l);return function o(m){Y.events.on(\"popup.tab\",function(e){var t=Z(e.currentTarget);if(!Y.popups.isVisible(\"table.colors\")||!t.is(\"span, input, button\"))return!0;var a,l,r=e.which,n=!0;if(je.KEYCODE.TAB==r){var o=m.find(\"span.fr-select-color\");if(t.is(o.first())&&e.shiftKey||t.is(m.find(\"span.fr-submit\"))&&!e.shiftKey){var i=m.find(\".fr-buttons\");n=!Y.accessibility.focusToolbar(i,!!e.shiftKey)}if(!1!==n){var s=m.find(\"span.fr-select-color\");s.add(m.find(\"input\")),s.add(m.find(\"button.fr-submit\")),a=s.index(t),a=e.shiftKey?((a-1)%s.length+s.length)%s.length:(a+1)%s.length,l=s.get(a),Y.events.disableBlur(),l.focus(),n=!1}}else if(je.KEYCODE.ARROW_UP==r||je.KEYCODE.ARROW_DOWN==r||je.KEYCODE.ARROW_LEFT==r||je.KEYCODE.ARROW_RIGHT==r){var c=t.parent().find(\"span.fr-command\"),f=c.index(t),d=Y.opts.colorsStep,p=Math.floor(c.length/d),b=f%d,h=Math.floor(f/d),u=h*d+b,g=p*d;je.KEYCODE.ARROW_UP==r?u=((u-d)%g+g)%g:je.KEYCODE.ARROW_DOWN==r?u=(u+d)%g:je.KEYCODE.ARROW_LEFT==r?u=((u-1)%g+g)%g:je.KEYCODE.ARROW_RIGHT==r&&(u=(u+1)%g);var v=Z(c.get(u));Y.events.disableBlur(),v.focus(),n=!1}else je.KEYCODE.ENTER==r&&(Y.button.exec(t),n=!1);return!1===n&&(e.preventDefault(),e.stopPropagation()),n},!0)}(r),r}()),a.data(\"type\",e),Y.popups.setContainer(\"table.colors\",Y.$sc);var l=_(t),r=(l.left+l.right)/2,n=l.bottom;!function o(){var e=Y.popups.get(\"table.colors\"),t=Y.$el.find(\".fr-selected-cell\").first(),a=Y.helpers.RGBToHex(t.css(\"background-color\")),l=e.find(\".fr-table-colors-hex-layer input\");e.find(\".fr-selected-color\").removeClass(\"fr-selected-color fr-active-item\"),e.find('span[data-param1=\"'.concat(a,'\"]')).addClass(\"fr-selected-color fr-active-item\"),l.val(\"\")}(),Y.popups.show(\"table.colors\",r,n,l.bottom-l.top,!0)}},showTableProperties:function ke(){var e=j();if(e){var n=Y.popups.get(\"table.tableProperties\");n||(n=Ce());var t=ve();n.data(\"tableStyle\",{}),n.data(\"borderStyle\",\"\");var a=t[0],l=a&&a.getAttribute(\"style\")||\"\",r=!!l,o=r&&/background(-color)?\\s*:/i.test(l)?t.css(\"background-color\"):\"\",i=r&&/border(-color)?\\s*:/i.test(l)?t.css(\"border-color\"):\"\",s=r&&/border(-style)?\\s*:/i.test(l)?t.css(\"border-style\"):\"\",c=r&&/border(-width)?\\s*:/i.test(l)?t[0].style.borderWidth:\"\",f=r&&/(^|\\s|;)width\\s*:/i.test(l)&&a?a.style.width:\"\",d=r&&/(^|\\s|;)height\\s*:/i.test(l)&&a?a.style.height:\"\",p=r?/\\bfloat\\s*:\\s*right\\b/i.test(l)?\"right\":/\\bfloat\\s*:\\s*left\\b/i.test(l)?\"left\":/\\bmargin\\s*:\\s*auto\\b/i.test(l)?\"center\":\"left\":\"left\",b=\"\",h={};if(t.is(\"[class]\")){var u=t.attr(\"class\").split(/\\s+/),g=Y.opts.tableStyles;h=u.reduce(function(e,t){return g.hasOwnProperty(t)&&(e[t]=g[t]),e},{}),b=Object.values(h).join(\", \")}var v=function v(e,t,a,l){var r=Y.helpers.isRGBColor(l)?Y.helpers.RGBToHex(l):l;n.find(e).val(r),T(n.find(t),n.find(a),r)},m=n.find(\".fr-border-style\").find(\".fr-dropdown\"),C=n.find(\".fr-table-style\").find(\".fr-dropdown\");v(\"#fr-table-bg\",\".fr-color-preview\",\".fr-color-preview-indicator\",o),v(\"#fr-table-border-color\",\".fr-border-color-preview\",\".fr-border-color-preview-indicator\",i),m.find(\"> span\").text(s),C.find(\"> span\").text(b||\" \"),me(p),setTimeout(function(){c&&n.find(\"#fr-table-border-width\").val(c).focus(),i&&n.find(\"#fr-table-border-color\").focus(),f&&n.find(\"#fr-table-width\").val(f).focus(),d&&n.find(\"#fr-table-height\").val(d).focus(),s&&n.data(\"borderStyle\",s),h&&n.data(\"tableStyle\",h),n.find(\"#fr-table-bg\").focus()},10),Y.popups.setContainer(\"table.tableProperties\",Y.$sc);var w=_(e),y=(w.left+w.right)/2,E=w.bottom;Y.popups.show(\"table.tableProperties\",y,E,w.bottom-w.top,!0)}},hideTableProperties:function Be(){Y.popups.hide(\"table.tableProperties\")},updateTableAlign:me,back:function Fe(e){if(e&&Y.popups.isVisible(\"table.colors\")){Y.popups.hide(\"table.colors\");var t=j();if(t){var a=\"table\"===e||\"border\"===e,l=a?\"table.tableProperties\":\"table.cellProperties\",r=Y.popups.get(l);r||(r=a?Ce():m()),Y.popups.setContainer(l,Y.$sc);var n,o=_(t),i=o.left+(o.right-o.left)/2,s=o.bottom;Y.popups.show(l,i,s,o.bottom-o.top,!0),n=\"table\"===e?\".fr-btn-table-bg-color\":\"border\"===e?\".fr-btn-table-border-bg-color\":\".fr-btn-cell-bg-color\",r.find(n).focus()}}else 0<ge().length?C():(Y.popups.hide(\"table.insert\"),Y.toolbar.showInline())},verticalAlign:function ze(e){Y.$el.find(\".fr-selected-cell\").css(\"vertical-align\",e)},horizontalAlign:function Ke(e){var t=Y.$el.find(\".fr-selected-cell\");t.css(\"text-align\",e),t.children().css(\"text-align\",\"\")},applyStyle:function Ye(e,t,a,l){if(0<t.length){if(Y.opts.useClasses||(\"TABLE\"===t.get(0).tagName?function n(e,t){var a=e.childNodes;if(0<a.length)for(var l=0;l<a.length;l++)\"TD\"===a[l].tagName?\"fr-dashed-borders\"===t||\"fr-highlighted\"===t||\"fr-thick\"===t?D(a[l]):\"fr-alternate-rows\"===t&&a[l].style.removeProperty(\"background-color\"):n(a[l],t)}(t.get(0),e):D(t.get(0))),!a){var r=Object.keys(l);r.splice(r.indexOf(e),1),t.removeClass(r.join(\" \"))}t.toggleClass(e)}},selectedTable:ve,selectedCells:ge,customColor:function We(){var e=Y.popups.get(\"table.colors\").find(\".fr-table-colors-hex-layer input\"),t=e.val(),a=t;t&&t.length&&(0!==t.indexOf(\"#\")&&(a=\"#\"+t),v(a)),e.val(\"\")},selectCells:I,resetAll:w,showCellPropertiesPopup:function Ze(){var e=j();if(e){var t=Y.popups.get(\"table.cellProperties\")||m();t.find(\"#fr-cell-bg, #fr-cell-width, #fr-cell-height, #fr-cell-padding\").val(\"\"),w(),T(t.find(\".fr-color-preview\"),t.find(\".fr-color-preview-indicator\"),\"\");var a=Y.table.selectedCells();if(a.length){var s=null,c=!0,f=null,d=!0,p=null,b=!0,h=null,u=!0,n=function n(e){return\"rgba(0, 100, 255, 0.15)\"===e};Array.from(a).forEach(function(e,t){var a,l=Z(e),r=l.css(\"background-color\");r&&\"rgba(0, 0, 0, 0)\"!==r&&\"transparent\"!==r&&(a=Y.helpers.RGBToHex(r));var n=l.attr(\"data-cell-width\"),o=l.attr(\"data-cell-height\"),i=l.attr(\"data-cell-padding\");0===t?(f=n||null,p=o||null,h=i||null,s=a||null):(n!==f&&(d=!1),o!==p&&(b=!1),i!==h&&(u=!1),a!==s&&(c=!1))});var l=\"\";if(1===a.length){var r=Z(a[0]),o=r.css(\"background-color\");!(r[0]&&r[0].hasAttribute(\"style\")&&/background(-color)?:/i.test(r.attr(\"style\")))&&n(o)||(l=Y.helpers.isRGBColor(o)?Y.helpers.RGBToHex(o):o)}else c&&s&&Array.from(a).every(function(e){var t=Z(e),a=e.getAttribute(\"style\")||\"\",l=/background(-color)?:/i.test(a),r=t.css(\"background-color\");return l||!n(r)})&&(l=Y.helpers.isRGBColor(s)?Y.helpers.RGBToHex(s):s);t.find(\"#fr-cell-bg\").val(l),T(t.find(\".fr-color-preview\"),t.find(\".fr-color-preview-indicator\"),l),d&&f&&t.find(\"#fr-cell-width\").val(f),b&&p&&t.find(\"#fr-cell-height\").val(p),u&&h&&t.find(\"#fr-cell-padding\").val(h),Y.popups.setContainer(\"table.cellProperties\",Y.$sc);var i=_(e),g=i.left+(i.right-i.left)/2,v=i.bottom;Y.popups.show(\"table.cellProperties\",g,v,i.bottom-i.top,!0)}}},updateSelectedColor:v}},je.RegisterCommand(\"tableProperties\",{title:\"Table Properties\",icon:\"tablePropertiesIcon\",undo:!1,focus:!1,popup:!0,callback:function(){this.table.showTableProperties()}}),je.RegisterCommand(\"openColorPicker\",{title:\"Select color\",focus:!1,popup:!0,callback:function(e,t){this.table.showColorsPopup(t)}}),je.RegisterCommand(\"onCancel\",{title:\"Cancel\",callback:function(){this.popups.hide(\"table.tableProperties\"),this.popups.hide(\"table.cellProperties\"),this.table.showEditPopup()}}),je.RegisterCommand(\"applyCustomColor\",{title:\"OK\",undo:!0,callback:function(){var e=this.popups.get(\"table.colors\");this.table.back(e.data(\"type\")),this.table.customColor()}}),je.RegisterCommand(\"onSelectColor\",{undo:!0,focus:!1,callback:function(e,t){var a=this.popups.get(\"table.colors\");this.table.back(a.data(\"type\")),this.table.updateSelectedColor(t)}}),je.RegisterCommand(\"tableAlign\",{title:\"Table Align\",undo:!0,callback:function(e,t){this.table.updateTableAlign(t)}}),je.RegisterCommand(\"tableBorderStyle\",{title:\"\",type:\"dropdown\",focus:!0,undo:!0,refreshAfterCallback:!0,displaySelection:function(e){return e.opts.tableBorderStyle},html:function(){for(var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.tableBorderStyle,a=0;a<t.length;a++)e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableBorderStyle\" data-param1=\"'.concat(t[a],'\" title=\"').concat(t[a],'\">').concat(t[a],\"</a></li>\");return e+=\"</ul>\"},callback:function(e,t){var a=this.popups.get(\"table.tableProperties\"),l=a.find(\".fr-border-style\").find(\".fr-dropdown\");l.find(\"> span\").text(t),a.data(\"borderStyle\",t),l.focus()},refreshOnShow:function(e,t){var a=this.popups.get(\"table.tableProperties\").data(\"borderStyle\");t.find(\".fr-command.fr-active\").removeClass(\"fr-active\").attr(\"aria-selected\",!1),t.find('.fr-command[data-param1=\"'.concat(a,'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)}}),je.RegisterCommand(\"tableStyle\",{title:\"\",type:\"dropdown\",focus:!0,undo:!0,displaySelectionWidth:\"300\",refreshAfterCallback:!0,displaySelection:function(e){return e.opts.tableStyles},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.tableStyles;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableStyle\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){var a=this.popups.get(\"table.tableProperties\"),l=a.find(\".fr-table-style\").find(\".fr-dropdown\"),r=this.opts.tableStyles,n=a.data(\"tableStyle\")||{};n[t]?delete n[t]:n[t]=r[t],a.data(\"tableStyle\",n);var o=Object.keys(n).length?Object.values(n).join(\", \"):\" \";l.find(\"> span\").text(o),l.focus()},refreshOnShow:function(e,t){var r=this,a=this.$el.find(\".fr-selected-cell\").closest(\"table\"),n=this.popups.get(\"table.tableProperties\");a&&t.find(\".fr-command\").each(function(e,t){var a=r.$(t).data(\"param1\"),l=n.data(\"tableStyle\")&&n.data(\"tableStyle\")[a];l&&r.$(t).toggleClass(\"fr-active\",l).attr(\"aria-selected\",l)})}}),je.RegisterCommand(\"onColorClear\",{undo:!0,focus:!1,callback:function(){var e=this.popups.get(\"table.colors\");this.table.back(e.data(\"type\")),e.find(\"#fr-table-colors-hex-layer-text\").val(\"\"),this.table.updateSelectedColor(\"\")}}),je.RegisterCommand(\"applyTableProperties\",{title:\"Apply Table Properties\",undo:!0,focus:!0,callback:function(){var e=this.popups.get(\"table.tableProperties\"),t=e.find(\"#fr-table-bg\").val(),a=e.find(\"#fr-table-border-color\").val(),l=this.table.selectedTable(),r=e.find(\"#fr-table-width\").val(),n=e.find(\"#fr-table-height\").val(),o=e.find(\"#fr-table-border-width\").val(),i=e.data(\"borderStyle\"),s=e.data(\"tableAlign\"),c=e.data(\"tableStyle\"),f=!t||\"REMOVE\"===t||\"transparent\"===t||\"rgba(0, 0, 0, 0)\"===t;l.css(\"background-color\",f?\"\":t);var d=!a||\"REMOVE\"===a||\"transparent\"===a||\"rgba(0, 0, 0, 0)\"===a;l.css(\"border-color\",d?\"\":a);var p=function p(e){if(\"\"===e)return!0;var t=e.trim();return/^-?\\d+(\\.\\d+)?$/.test(t)&&(t+=\"px\"),/^-?\\d+(\\.\\d+)?(px|%)$/.test(t)?t:null};if(r&&p(r)?l.css(\"width\",p(r)):l.css(\"width\",\"\"),n&&p(n)?l.css(\"height\",p(n)):l.css(\"height\",\"\"),o&&p(o)?l.css(\"border-width\",p(o)):l.css(\"border-width\",\"\"),i&&l.css(\"border-style\",i),\"center\"===s?(l.css(\"margin\",\"auto\"),l.css(\"float\",\"\")):(l.parent().is(\"li\")&&l.parent().css(\"display\",\"list-item flow-root\"),l.css(\"float\",s),l.css(\"margin\",\"\")),l.removeAttr(\"class\"),c&&0<Object.keys(c).length)for(var b in c)c.hasOwnProperty(b)&&l.addClass(b);this.popups.hide(\"table.tableProperties\")}}),je.RegisterCommand(\"tableCellProperties\",{title:\"Cell Properties\",icon:\"tableCellProperties\",undo:!1,focus:!1,popup:!0,callback:function(){this.table.showCellPropertiesPopup()},refresh:function(e){var t=0<this.table.selectedCells().length;e.toggleClass(\"fr-disabled\",!t).attr(\"aria-disabled\",!t)}}),je.RegisterCommand(\"applyCellProperties\",{title:\"Apply Cell Properties\",undo:!0,focus:!1,callback:function(){var n=this.$,e=this.popups.get(\"table.cellProperties\"),o=function o(e,t,a,l){var r=n(e);a?(l&&r.attr(l,a),a!==r[0].style[t]&&([\"width\",\"height\"].includes(t)&&r.removeAttr(t),r.css(t,a))):(r.css(t,\"\"),l&&r.removeAttr(l),[\"width\",\"height\"].includes(t)&&r.removeAttr(t))},r=e.find(\"#fr-cell-bg\").val(),i=e.find(\"#fr-cell-width\").val(),s=e.find(\"#fr-cell-height\").val(),c=e.find(\"#fr-cell-padding\").val(),f=!0===e.data(\"bg-modified\"),d=!0===e.data(\"width-modified\"),p=!0===e.data(\"height-modified\"),b=!0===e.data(\"padding-modified\");this.table.selectedCells().forEach(function(e){var t=n(e);if(f){var a=!r||\"REMOVE\"===r||\"transparent\"===r||\"rgba(0, 0, 0, 0)\"===r;t.css(\"background-color\",a?\"\":r)}var l=function l(e){if(\"\"===e)return!0;var t=e.trim();return/^-?\\d+(\\.\\d+)?$/.test(t)&&(t+=\"px\"),/^-?\\d+(\\.\\d+)?(px|%)$/.test(t)?t:null};d&&l(i)&&o(e,\"width\",i,\"data-cell-width\"),p&&l(s)&&o(e,\"height\",s,\"data-cell-height\"),b&&l(c)&&o(e,\"padding\",c,\"data-cell-padding\")}),this.table.resetAll(),this.popups.hide(\"table.cellProperties\")}}),je.DefineIcon(\"insertTable\",{NAME:\"table\",SVG_KEY:\"insertTable\"}),je.RegisterCommand(\"insertTable\",{title:\"Insert Table\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"table.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"table.insert\")):this.table.showInsertPopup()},plugin:\"table\"}),je.RegisterCommand(\"tableInsert\",{callback:function(e,t,a){this.table.insert(t,a),this.popups.hide(\"table.insert\")}}),je.DefineIcon(\"tableHeader\",{NAME:\"header\",FA5NAME:\"heading\",SVG_KEY:\"tableHeader\"}),je.RegisterCommand(\"tableHeader\",{title:\"Table Header\",focus:!1,toggle:!0,callback:function(){this.popups.get(\"table.edit\").find('.fr-command[data-cmd=\"tableHeader\"]').hasClass(\"fr-active\")?this.table.removeHeader():this.table.addHeader()},refresh:function(e){var t=this.table.selectedTable();0<t.length&&(0===t.find(\"> thead\").length?e.removeClass(\"fr-active\").attr(\"aria-pressed\",!1):e.addClass(\"fr-active\").attr(\"aria-pressed\",!0))}}),je.DefineIcon(\"tableFooter\",{NAME:\"table\",FA5NAME:\"table\",SVG_KEY:\"tableFooter\"}),je.RegisterCommand(\"tableFooter\",{title:\"Table Footer\",focus:!1,toggle:!0,callback:function(){this.popups.get(\"table.edit\").find('.fr-command[data-cmd=\"tableFooter\"]').hasClass(\"fr-active\")?this.table.removeFooter():this.table.addFooter()},refresh:function(e){var t=this.table.selectedTable();0<t.length&&(0===t.find(\"tfoot\").length?e.removeClass(\"fr-active\").attr(\"aria-pressed\",!1):e.addClass(\"fr-active\").attr(\"aria-pressed\",!0))}}),je.DefineIcon(\"tableRows\",{NAME:\"bars\",SVG_KEY:\"row\"}),je.RegisterCommand(\"tableRows\",{type:\"dropdown\",focus:!1,title:\"Row\",options:{above:\"Insert row above\",below:\"Insert row below\",\"delete\":\"Delete row\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableRows.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableRows\" data-param1=\"'+a+'\" title=\"'+this.language.translate(t[a])+'\">'+this.language.translate(t[a])+\"</a></li>\");return e+=\"</ul>\"},callback:function(e,t){\"above\"==t||\"below\"==t?this.table.insertRow(t):this.table.deleteRow()}}),je.DefineIcon(\"tableColumns\",{NAME:\"bars fa-rotate-90\",SVG_KEY:\"columns\"}),je.RegisterCommand(\"tableColumns\",{type:\"dropdown\",focus:!1,title:\"Column\",options:{before:\"Insert column before\",after:\"Insert column after\",\"delete\":\"Delete column\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableColumns.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableColumns\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){\"before\"==t||\"after\"==t?this.table.insertColumn(t):this.table.deleteColumn()}}),je.DefineIcon(\"tableCells\",{NAME:\"square-o\",FA5NAME:\"square\",SVG_KEY:\"cellOptions\"}),je.RegisterCommand(\"tableCells\",{type:\"dropdown\",focus:!1,title:\"Cell\",options:{merge:\"Merge cells\",\"vertical-split\":\"Vertical split\",\"horizontal-split\":\"Horizontal split\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableCells.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCells\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){\"merge\"==t?this.table.mergeCells():\"vertical-split\"==t?this.table.splitCellVertically():this.table.splitCellHorizontally()},refreshOnShow:function(e,t){1<this.$el.find(\".fr-selected-cell\").length?(t.find('a[data-param1=\"vertical-split\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\",!0),t.find('a[data-param1=\"horizontal-split\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\",!0),t.find('a[data-param1=\"merge\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1)):(t.find('a[data-param1=\"merge\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\",!0),t.find('a[data-param1=\"vertical-split\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1),t.find('a[data-param1=\"horizontal-split\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1))}}),je.DefineIcon(\"tableRemove\",{NAME:\"trash\",SVG_KEY:\"removeTable\"}),je.RegisterCommand(\"tableRemove\",{title:\"Remove Table\",focus:!1,callback:function(){this.table.remove()}}),je.DefineIcon(\"tableBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),je.RegisterCommand(\"tableBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,callback:function(){var e=this.popups.get(\"table.colors\");this.table.back(e&&e.length?e.data(\"type\"):null)}}),je.DefineIcon(\"tableCellVerticalAlign\",{NAME:\"arrows-v\",FA5NAME:\"arrows-alt-v\",SVG_KEY:\"verticalAlignMiddle\"}),je.RegisterCommand(\"tableCellVerticalAlign\",{type:\"dropdown\",focus:!1,title:\"Vertical Align\",options:{Top:\"Align Top\",Middle:\"Align Middle\",Bottom:\"Align Bottom\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableCellVerticalAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellVerticalAlign\" data-param1=\"'.concat(a.toLowerCase(),'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(a),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.table.verticalAlign(t)},refreshOnShow:function(e,t){t.find('.fr-command[data-param1=\"'+this.$el.find(\".fr-selected-cell\").css(\"vertical-align\")+'\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)}}),je.DefineIcon(\"tableCellHorizontalAlign\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),je.DefineIcon(\"align-left\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),je.DefineIcon(\"align-right\",{NAME:\"align-right\",SVG_KEY:\"alignRight\"}),je.DefineIcon(\"align-center\",{NAME:\"align-center\",SVG_KEY:\"alignCenter\"}),je.DefineIcon(\"align-justify\",{NAME:\"align-justify\",SVG_KEY:\"alignJustify\"}),je.RegisterCommand(\"tableCellHorizontalAlign\",{type:\"dropdown\",focus:!1,title:\"Horizontal Align\",options:{left:\"Align Left\",center:\"Align Center\",right:\"Align Right\",justify:\"Align Justify\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableCellHorizontalAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellHorizontalAlign\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.icon.create(\"align-\".concat(a)),'<span class=\"fr-sr-only\">').concat(this.language.translate(t[a]),\"</span></a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.table.horizontalAlign(t)},refresh:function(e){var t=this.table.selectedCells(),a=this.$;t.length&&e.find(\"> *\").first().replaceWith(this.icon.create(\"align-\".concat(this.helpers.getAlignment(a(t[0])))))},refreshOnShow:function(e,t){t.find('.fr-command[data-param1=\"'+this.helpers.getAlignment(this.$el.find(\".fr-selected-cell\").first())+'\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)}}),je.DefineIcon(\"tableCellStyle\",{NAME:\"magic\",SVG_KEY:\"cellStyle\"}),je.RegisterCommand(\"tableCellStyle\",{title:\"Cell Style\",type:\"dropdown\",focus:!1,html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.tableCellStyles;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellStyle\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.table.applyStyle(t,this.$el.find(\".fr-selected-cell\"),this.opts.tableCellMultipleStyles,this.opts.tableCellStyles)},refreshOnShow:function(e,t){var a=this.$,l=this.$el.find(\".fr-selected-cell\").first();l&&t.find(\".fr-command\").each(function(){var e=a(this).data(\"param1\"),t=l.hasClass(e);a(this).toggleClass(\"fr-active\",t).attr(\"aria-selected\",t)})}}),je.DefineIcon(\"tableColorRemove\",{NAME:\"eraser\",SVG_KEY:\"remove\"}),je.DefineIcon(\"tableCellProperties\",{template:\"svgMultiplePath\",PATHS:'\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.513 3.25C20.9736 3.25 22.1577 4.43408 22.1577 5.89471V12.6517L22.1546 12.6526C21.8784 12.4577 21.6084 12.2933 21.3448 12.1593C21.1821 12.0767 21.0123 11.9963 20.8353 11.9183V8.53928H15.546V12.2584C15.3417 12.3719 15.1339 12.5033 14.9223 12.6526L12.7375 11.9949L11.6254 13.8287H8.93418V16.4735H12.9027C12.893 16.6127 12.8882 16.7519 12.8882 16.891C12.8882 17.1927 12.911 17.4943 12.9565 17.7959H3.64471C2.18408 17.7959 1 16.6118 1 15.1512V5.89471C1 4.43408 2.18408 3.25 3.64471 3.25H19.513ZM19.513 4.57235H15.546V7.21692H20.8353V5.89471C20.8353 5.16439 20.2433 4.57235 19.513 4.57235ZM8.93418 4.57235H14.2236V7.21692H8.93418V4.57235ZM3.64471 4.57235H7.61183V7.21692H2.32235V5.89471C2.32235 5.16439 2.91439 4.57235 3.64471 4.57235ZM2.32235 12.5063V8.53928H7.61183V12.5063H2.32235ZM2.32235 15.1512V13.8287H7.61183V16.4735H3.64471C2.91439 16.4735 2.32235 15.8815 2.32235 15.1512Z\" fill=\"#333333\"/>\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17.102 20.6423L17.4335 22.25H19.6434L19.9749 20.6423C20.1959 20.553 20.4031 20.4592 20.5964 20.361C20.7898 20.2627 20.9878 20.1421 21.1903 19.9992L22.7925 20.4815L23.8974 18.6595L22.6268 17.5877C22.6636 17.3555 22.682 17.1232 22.682 16.891C22.682 16.6588 22.6636 16.4266 22.6268 16.1944L23.8974 15.1226L22.7925 13.3005L21.1903 13.7828C20.9878 13.6399 20.7898 13.5193 20.5964 13.4211C20.4031 13.3228 20.1959 13.2291 19.9749 13.1397L19.6434 11.5321H17.4335L17.102 13.1397C16.881 13.2291 16.6739 13.3228 16.4805 13.4211C16.2871 13.5193 16.0892 13.6399 15.8866 13.7828L14.2844 13.3005L13.1795 15.1226L14.4502 16.1944C14.4133  16.4266 14.3949 16.6588 14.3949 16.891C14.3949 17.1232 14.4133 17.3555 14.4502 17.5877L13.1795 18.6595L14.2844 20.4815L15.8866 19.9992C16.0892 20.1421 16.2871 20.2627 16.4805 20.361C16.6739 20.4592 16.881 20.553 17.102 20.6423ZM20.0992 18.4049C19.6664 18.8247 19.1462 19.0346 18.5385 19.0346C17.9307  19.0346 17.4105 18.8247 16.9777 18.4049C16.545 17.9851 16.3286 17.4805 16.3286 16.891C16.3286 16.3015 16.545 15.7969 16.9777 15.3771C17.4105 14.9573 17.9307 14.7474 18.5385 14.7474C19.1462 14.7474 19.6664 14.9573 20.0992 15.3771C20.532 15.7969 20.7483 16.3015 20.7483 16.891C20.7483 17.4805 20.532 17.9851 20.0992 18.4049Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"tablePropertiesIcon\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.1577 5.89471C22.1577 4.43408 20.9736 3.25 19.513 3.25H3.64471C2.18408 3.25 1 4.43408 1 5.89471V15.1512C1 16.6118 2.18408 17.7959 3.64471 17.7959H12.9565C12.911 17.4943 12.8882 17.1927 12.8882 16.891C12.8882 16.7519 12.893 16.6127 12.9027 16.4735H8.93418V13.8287H11.6254L12.4273 12.5063H8.93418V8.53928H14.2236V12.4422L14.9223 12.6526C15.1339 12.5033 15.3417 12.3719 15.546 12.2584V8.53928H20.8353V11.9183C21.0123 11.9963 21.1821 12.0767 21.3448 12.1593C21.6084 12.2933 21.8784 12.4577 22.1546 12.6526L22.1577 12.6517V5.89471ZM15.546 4.57235H19.513C20.2433 4.57235 20.8353 5.16439 20.8353 5.89471V7.21692H15.546V4.57235ZM14.2236 4.57235H8.93418V7.21692H14.2236V4.57235ZM7.61183 4.57235H3.64471C2.91439 4.57235 2.32235 5.16439 2.32235 5.89471V7.21692H7.61183V4.57235ZM2.32235 8.53928V12.5063H7.61183V8.53928H2.32235ZM2.32235 13.8287V15.1512C2.32235 15.8815 2.91439 16.4735 3.64471 16.4735H7.61183V13.8287H2.32235Z\" fill=\"#333333\"/>\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17.102 20.6423L17.4335 22.25H19.6434L19.9749 20.6423C20.1959 20.553 20.4031 20.4592 20.5964 20.361C20.7898 20.2627 20.9878 20.1421 21.1903 19.9992L22.7925 20.4815L23.8974 18.6595L22.6268 17.5877C22.6636 17.3555 22.682 17.1232 22.682 16.891C22.682 16.6588 22.6636 16.4266 22.6268 16.1944L23.8974 15.1226L22.7925 13.3005L21.1903 13.7828C20.9878 13.6399 20.7898 13.5193 20.5964 13.4211C20.4031 13.3228 20.1959 13.2291 19.9749 13.1397L19.6434 11.5321H17.4335L17.102 13.1397C16.881 13.2291 16.6739 13.3228 16.4805 13.4211C16.2871 13.5193 16.0892 13.6399 15.8866 13.7828L14.2844 13.3005L13.1795 15.1226L14.4502 16.1944C14.4133 16.4266 14.3949 16.6588 14.3949 16.891C14.3949 17.1232 14.4133 17.3555 14.4502 17.5877L13.1795 18.6595L14.2844 20.4815L15.8866 19.9992C16.0892 20.1421 16.2871 20.2627 16.4805 20.361C16.6739 20.4592 16.881 20.553 17.102 20.6423ZM20.0992 18.4049C19.6664 18.8247 19.1462 19.0346 18.5385 19.0346C17.9307 19.0346 17.4105 18.8247 16.9777 18.4049C16.545 17.9851 16.3286 17.4805 16.3286 16.891C16.3286 16.3015 16.545 15.7969 16.9777 15.3771C17.4105 14.9573 17.9307 14.7474 18.5385 14.7474C19.1462 14.7474 19.6664 14.9573 20.0992 15.3771C20.532 15.7969 20.7483 16.3015 20.7483 16.891C20.7483 17.4805 20.532 17.9851 20.0992 18.4049Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"leftTableAlign\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.3333 3V4.33333H1V3H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 15V16.3333H1V15H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 6.45801V7.79134H13V6.45801H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 9.12467V10.458H13V9.12467H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 11.7913V13.1247H13V11.7913H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M10.3333 12.3333V13.6667H2.33333V12.3333H10.3333ZM10.3333 7H2.33333V13.6667C1.6431 13.6667 1.07495 13.1422 1.00651 12.4701L1 12.3333V7C1 6.26362 1.59695 5.66667 2.33333 5.66667H10.3333C11.0697 5.66667 11.6667 6.26362 11.6667 7V12.3333L11.6602 12.4701C11.5917 13.1422 11.0236 13.6667 10.3333 13.6667V7Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"leftTableAlignActive\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.8333 3.5V4.83333H1.5V3.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 15.5V16.8333H1.5V15.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 6.95801V8.29134H13.5V6.95801H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 9.62467V10.958H13.5V9.62467H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 12.2913V13.6247H13.5V12.2913H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M10.8333 12.8333V14.1667H2.83333V12.8333H10.8333ZM10.8333 7.5H2.83333V14.1667C2.1431 14.1667 1.57495 13.6422 1.50651 12.9701L1.5 12.8333V7.5C1.5 6.76362 2.09695 6.16667 2.83333 6.16667H10.8333C11.5697 6.16667 12.1667 6.76362 12.1667 7.5V12.8333L12.1602 12.9701C12.0917 13.6422 11.5236 14.1667 10.8333 14.1667V7.5Z\" fill=\"#2A77FF\"/>\\n  '}),je.DefineIcon(\"centerTableAlign\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.3333 3V4.33333H1V3H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 15V16.3333H1V15H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M13 12.3333V13.6667H6.33333V12.3333H13ZM13 7H6.33333V13.6667L6.19661 13.6602C5.56938 13.5963 5.07038 13.0973 5.00651 12.4701L5 12.3333V7C5 6.26362 5.59695 5.66667 6.33333 5.66667H13C13.7364 5.66667 14.3333 6.26362 14.3333 7V12.3333L14.3268 12.4701C14.263 13.0973 13.764 13.5963 13.1367 13.6602L13 13.6667V7Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"centerTableAlignActive\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.8333 3.5V4.83333H1.5V3.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 15.5V16.8333H1.5V15.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M13.5 12.8333V14.1667H6.83333V12.8333H13.5ZM13.5 7.5H6.83333V14.1667L6.69661 14.1602C6.06938 14.0963 5.57038 13.5973 5.50651 12.9701L5.5 12.8333V7.5C5.5 6.76362 6.09695 6.16667 6.83333 6.16667H13.5C14.2364 6.16667 14.8333 6.76362 14.8333 7.5V12.8333L14.8268 12.9701C14.763 13.5973 14.264 14.0963 13.6367 14.1602L13.5 14.1667V7.5Z\" fill=\"#2A77FF\"/>\\n '}),je.DefineIcon(\"rightTableAlignActive\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.8333 3.5V4.83333H1.5V3.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 15.5V16.8333H1.5V15.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M6.83333 6.95801V8.29134H1.5V6.95801H6.83333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M6.83333 9.62467V10.958H1.5V9.62467H6.83333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M6.83333 12.2913V13.6247H1.5V12.2913H6.83333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M17.5 12.8333V14.1667H9.5V12.8333H17.5ZM17.5 7.5H9.5V14.1667C8.80976 14.1667 8.24162 13.6422 8.17318 12.9701L8.16667 12.8333V7.5C8.16667 6.76362 8.76362 6.16667 9.5 6.16667H17.5C18.2364 6.16667 18.8333 6.76362 18.8333 7.5V12.8333L18.8268 12.9701C18.7584 13.6422 18.1902 14.1667 17.5 14.1667V7.5Z\" fill=\"#2A77FF\"/>\\n  '}),je.DefineIcon(\"rightTableAlign\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.3333 3V4.33333H1V3H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 15V16.3333H1V15H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M6.33333 6.45801V7.79134H1V6.45801H6.33333Z\" fill=\"#999998\"/>\\n    <path d=\"M6.33333 9.12468V10.458H1V9.12468H6.33333Z\" fill=\"#999998\"/>\\n    <path d=\"M6.33333 11.7913V13.1247H1V11.7913H6.33333Z\" fill=\"#999998\"/>\\n    <path d=\"M17 12.3333V13.6667H9V12.3333H17ZM17 7H9V13.6667C8.30976 13.6667 7.74162 13.1422 7.67318 12.4701L7.66667 12.3333V7C7.66667 6.26362 8.26362 5.66667 9 5.66667H17C17.7364 5.66667 18.3333 6.26362 18.3333 7V12.3333L18.3268 12.4701C18.2584 13.1422 17.6902 13.6667 17 13.6667V7Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"tableSelectorIcon\",{template:\"svgMultiplePath\",VIEWBOX:\"1 1 14 14\",PATHS:'<mask id=\"mask0_85_21\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"><rect width=\"16\" height=\"16\" fill=\"white\"/></mask>\\n          <g mask=\"url(#mask0_85_21)\"><path d=\"M3.33333 14C2.96667 14 2.65278 13.8694 2.39167 13.6083C2.13056 13.3472 2 13.0333 2 12.6667V10H3.33333V12.6667H6V14H3.33333ZM10 \\n          14V12.6667H12.6667V10H14V12.6667C14 13.0333 13.8694 13.3472 13.6083 13.6083C13.3472 13.8694 13.0333 14 12.6667 14H10ZM2 6V3.33333C2 2.96667 2.13056 2.65278 2.39167 \\n          2.39167C2.65278 2.13056 2.96667 2 3.33333 2H6V3.33333H3.33333V6H2ZM12.6667 6V3.33333H10V2H12.6667C13.0333 2 13.3472 2.13056 13.6083 2.39167C13.8694 2.65278 14 2.96667 \\n          14 3.33333V6H12.6667Z\" fill=\"white\"/> <rect opacity=\"0.4\" x=\"4\" y=\"4\" width=\"8\" height=\"8\" fill=\"white\"/></g>'})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(r){\"use strict\";(r=r&&r.hasOwnProperty(\"default\")?r[\"default\"]:r).URLRegEx=\"(^| |\\\\u00A0)(\".concat(r.LinkRegEx,\"|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\\\.[a-z0-9+-_]{1,}))$\"),r.PLUGINS.url=function(u){var c=u.$,o=null;function t(e,t,n){for(var r=\"\";n.length&&\".\"==n[n.length-1];)r+=\".\",n=n.substring(0,n.length-1);var a=n;if(u.opts.linkConvertEmailAddress)u.helpers.isEmail(a)&&!/^mailto:.*/i.test(a)&&(a=\"mailto:\".concat(a));else if(u.helpers.isEmail(a))return t+n;return/^((http|https|ftp|ftps|mailto|tel|sms|notes|data)\\:)/i.test(a)||(a=\"//\".concat(a)),(t||\"\")+\"<a\".concat(u.opts.linkAlwaysBlank?' target=\"_blank\"':\"\").concat(o?' rel=\"'.concat(o,'\"'):\"\",' data-fr-linked=\"true\" href=\"').concat(a,'\">').concat(n.replace(/&amp;/g,\"&\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\"),\"</a>\").concat(r)}var d=function d(){return new RegExp(r.URLRegEx,\"gi\")};function g(e){return u.opts.linkAlwaysNoFollow&&(o=\"nofollow\"),u.opts.linkAlwaysBlank&&(u.opts.linkNoOpener&&(o?o+=\" noopener\":o=\"noopener\"),u.opts.linkNoReferrer&&(o?o+=\" noreferrer\":o=\"noreferrer\")),e.replace(d(),t)}function h(e){var t=e.split(\" \");return t[t.length-1]}function n(){var e=u.selection.ranges(0),t=e.startContainer;if(t.nodeType!==Node.TEXT_NODE)return!1;if(!t||e.startOffset!==(t.textContent||\"\").length){u.markers.insert();var n=u.$el.find(\".fr-marker\"),r=t.textContent.match(/(^| |\\u00A0)(((([a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,})(\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev)))|((ftp|http|https):\\/\\/[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,})|(www\\.[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,}\\.[a-z0-9-]{2,24})|((ftp|http|https):\\/\\/[\\u0021-\\uffff]{1,}@[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,}))((:[0-9]{1,5})|)(((\\/|\\?|#)[a-z\\u00a1-\\uffff0-9@?\\|!^=%&amp;\\/~+#-\\'*-_{}]*)|())|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\.[a-z0-9+-_]{1,}))$/gi);if(n.remove(),!r)return!1}if(function p(e){return!!e&&(\"A\"===e.tagName||!(!e.parentNode||e.parentNode==u.el)&&p(e.parentNode))}(t))return!1;if(d().test(h(t.textContent))){var a,o=t.textContent.length;if(0<o&&\",\"===t.textContent.charAt(o-1)){c(t).before(g(t.textContent.substring(0,o-1))),(a=c(t.parentNode).find(\"a[data-fr-linked]\")).removeAttr(\"data-fr-linked\"),t.textContent=\",\";var i=u.win.getSelection().getRangeAt(0);i.setStart(t,1),i.setEnd(t,1)}else c(t).before(g(t.textContent)),(a=c(t.parentNode).find(\"a[data-fr-linked]\")).removeAttr(\"data-fr-linked\"),t.parentNode.removeChild(t);u.events.trigger(\"url.linked\",[a.get(0)])}else if(t.textContent.split(\" \").length<=2&&t.previousSibling&&\"A\"===t.previousSibling.tagName){var l=t.previousSibling.innerText+t.textContent,f=t.textContent.length;if(d().test(h(l))&&\",\"!==t.textContent.charAt(f-1)){var s=(new DOMParser).parseFromString(g(l),\"text/html\").body.childNodes;t.parentNode.replaceChild(s[0],t.previousSibling),s.length&&c(t).before(s[0]),t.parentNode.removeChild(t)}}}return{_init:function e(){u.events.on(\"keypress\",function(e){!u.selection.isCollapsed()||\")\"!=e.key&&\"(\"!=e.key||n()},!0),u.events.on(\"keydown\",function(e){var t=e.which;!u.selection.isCollapsed()||t!=r.KEYCODE.ENTER&&t!=r.KEYCODE.SPACE||n()},!0),u.events.on(\"paste.beforeCleanup\",function(e){if(u.helpers.isURL(e)&&!u.$el[0].getAttribute(\"plainpaste\")){var t=null;return u.opts.linkAlwaysBlank&&(u.opts.linkNoOpener&&(t?t+=\" noopener\":t=\"noopener\"),u.opts.linkNoReferrer&&(t?t+=\" noreferrer\":t=\"noreferrer\")),\"<a\".concat(u.opts.linkAlwaysBlank?' target=\"_blank\"':\"\").concat(t?' rel=\"'.concat(t,'\"'):\"\",' href=\"').concat(e,'\" >').concat(e,\"</a>\")}if(u.$el[0].getAttribute(\"plainpaste\"))return function n(e){if(\"string\"==typeof e)return(e=e.replace(/&amp;/g,\"&\")).replace(/(?:https?|ftp|file):\\/\\/(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\])*(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$'\\u2019\"`()[\\]{}\\\\])|www\\.(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\])*(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$'\\u2019\"`()[\\]{}\\\\])|(?:[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\\.[a-zA-Z]{2,})|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,}(?:\\/[^\\s<]*)?/gim,g)}(e)})}}}});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(we){\"use strict\";we=we&&we.hasOwnProperty(\"default\")?we[\"default\"]:we,Object.assign(we.POPUP_TEMPLATES,{\"video.insert\":\"[_BUTTONS_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_LAYER_][_PROGRESS_BAR_]\",\"video.edit\":\"[_BUTTONS_]\",\"video.size\":\"[_BUTTONS_][_SIZE_LAYER_]\"}),Object.assign(we.DEFAULTS,{videoAllowedTypes:[\"mp4\",\"webm\",\"ogg\",\"mp3\",\"mpeg\",\"url\"],videoAllowedProviders:[\".*\"],videoDefaultAlign:\"center\",videoDefaultDisplay:\"block\",videoDefaultWidth:600,videoEditButtons:[\"videoReplace\",\"videoRemove\",\"videoDisplay\",\"videoAlign\",\"videoSize\",\"autoplay\"],videoInsertButtons:[\"videoBack\",\"|\",\"videoByURL\",\"videoEmbed\",\"videoUpload\"],videoMaxSize:52428800,videoMove:!0,videoResize:!0,videoResponsive:!1,videoSizeButtons:[\"videoBack\",\"|\"],videoSplitHTML:!1,videoTextNear:!0,videoUpload:!0,videoUploadMethod:\"POST\",videoUploadParam:\"file\",videoUploadParams:{},videoUploadToS3:!1,videoUploadToAzure:!1,videoUploadURL:null}),we.VIDEO_PROVIDERS=[{test_regex:/^.*((youtu.be)|(youtube.com))\\/((v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))?\\/?((shorts\\/)|(v=))?([^#\\&\\?]*).*/,url_regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:m\\.)?(?:youtube\\.com|youtu\\.be)\\/(?:watch\\?v=|embed\\/|shorts\\/)?([0-9a-zA-Z_\\-]+)(.*)?/g,url_text:\"https://www.youtube.com/embed/$1?$2\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}&wmode=opaque&rel=0\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"youtube\"},{test_regex:/^.*(?:vimeo.com)\\/(?:channels(\\/\\w+\\/)?|groups\\/*\\/videos\\/\\u200b\\d+\\/|video\\/|)(\\d+)(?:$|\\/|\\?)/,url_regex:/(?:https?:\\/\\/)?(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^\\/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:[a-zA-Z0-9_\\-]+)?(\\/[a-zA-Z0-9_\\-]+)?/i,url_text:\"https://player.vimeo.com/video/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"vimeo\"},{test_regex:/^.+(dailymotion.com|dai.ly)\\/(video|hub)?\\/?([^_]+)[^#]*(#video=([^_&]+))?/,url_regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:dailymotion\\.com|dai\\.ly)\\/(?:video|hub)?\\/?(.+)/g,url_text:\"https://www.dailymotion.com/embed/video/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"dailymotion\"},{test_regex:/^.+(screen.yahoo.com)\\/[^_&]+/,url_regex:\"\",url_text:\"\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}?format=embed\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',provider:\"yahoo\"},{test_regex:/^.+(rutube.ru)\\/[^_&]+/,url_regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:rutube\\.ru)\\/(?:video)?\\/?(.+)/g,url_text:\"https://rutube.ru/play/embed/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',provider:\"rutube\"},{test_regex:/^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/,url_regex:/^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/g,url_text:\"https://play.vidyard.com/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"vidyard\"}],we.VIDEO_EMBED_REGEX=/^\\W*(<div[^>]*>\\s*<iframe[^>]*>.*?<\\/iframe>\\s*<\\/div>(\\s*<script[^>]*>.*?<\\/script>)?|<iframe[^>]*>.*?<\\/iframe>|<embed(.|\\n)*>)\\W*$/i,we.PLUGINS.video=function(w){var s,f,p,E,i,o,A=w.$,C=\"https://i.froala.com/upload\",c=2,v=3,u=4,S=5,U=6,a={};function g(){var e=w.popups.get(\"video.insert\");e.find(\".fr-video-by-url-layer input\").val(\"\").trigger(\"change\");var t=e.find(\".fr-video-embed-layer textarea\");t.val(\"\").trigger(\"change\"),(t=e.find(\".fr-video-upload-layer input\")).val(\"\").trigger(\"change\")}function r(){var e=w.popups.get(\"video.edit\");if(e||(e=function n(){var e=\"\";if(0<w.opts.videoEditButtons.length){w.opts.videoResponsive&&(-1<w.opts.videoEditButtons.indexOf(\"videoSize\")&&w.opts.videoEditButtons.splice(w.opts.videoEditButtons.indexOf(\"videoSize\"),1),-1<w.opts.videoEditButtons.indexOf(\"videoDisplay\")&&w.opts.videoEditButtons.splice(w.opts.videoEditButtons.indexOf(\"videoDisplay\"),1),-1<w.opts.videoEditButtons.indexOf(\"videoAlign\")&&w.opts.videoEditButtons.splice(w.opts.videoEditButtons.indexOf(\"videoAlign\"),1));var t={buttons:e+='<div class=\"fr-buttons\"> \\n      '.concat(w.button.buildList(w.opts.videoEditButtons),\" \\n      </div>\")},o=w.popups.create(\"video.edit\",t);return w.events.$on(w.$wp,\"scroll.video-edit\",function(){E&&w.popups.isVisible(\"video.edit\")&&(w.events.disableBlur(),l(E))}),o}return!1}()),e){w.popups.setContainer(\"video.edit\",w.$sc),w.popups.refresh(\"video.edit\");var t=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),o=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.outerHeight(),a=t.get(0).src?t.get(0).src:t.get(0).currentSrc,r=!(!(a=(a=a.split(\".\"))[a.length-1]).includes(\"pdf\")&&!a.includes(\"txt\"));t.hasClass(\"fr-file\")||r||E.find(\"audio\").get(0)?(document.getElementById(\"autoplay-\".concat(w.id))&&(document.getElementById(\"autoplay-\".concat(w.id)).style.display=\"none\"),document.getElementById(\"videoReplace-\".concat(w.id))&&(document.getElementById(\"videoReplace-\".concat(w.id)).style.display=\"none\")):(document.getElementById(\"autoplay-\".concat(w.id))&&(document.getElementById(\"autoplay-\".concat(w.id)).style.display=\"\"),document.getElementById(\"videoReplace-\".concat(w.id))&&(document.getElementById(\"videoReplace-\".concat(w.id)).style.display=\"\")),w.popups.show(\"video.edit\",o,i,t.outerHeight(),!0)}}function n(e){if(e)return w.popups.onRefresh(\"video.insert\",g),w.popups.onHide(\"video.insert\",J),!0;var t=\"\";w.opts.videoUpload||-1===w.opts.videoInsertButtons.indexOf(\"videoUpload\")||w.opts.videoInsertButtons.splice(w.opts.videoInsertButtons.indexOf(\"videoUpload\"),1);var o=w.button.buildList(w.opts.videoInsertButtons);\"\"!==o&&(t='<div class=\"fr-buttons\">'+o+\"</div>\");var i,a=\"\",r=w.opts.videoInsertButtons.indexOf(\"videoUpload\"),n=w.opts.videoInsertButtons.indexOf(\"videoByURL\"),s=w.opts.videoInsertButtons.indexOf(\"videoEmbed\");if(0<=n){i=\" fr-active\",(r<n&&0<=r||s<n&&0<=s)&&(i=\"\");a='<div class=\"fr-video-by-url-layer fr-layer'.concat(i,'\" id=\"fr-video-by-url-layer-').concat(w.id,'\"><div class=\"fr-input-line\"><input id=\"fr-video-by-url-layer-text-').concat(w.id,'\" type=\"text\" placeholder=\"').concat(w.language.translate(\"Paste in a video URL\"),'\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><span style=\\'float:left\\'><div class=\"fr-checkbox-line fr-autoplay-margin\"><span class=\"fr-checkbox\"> <input id=\\'videoPluginAutoplay\\' data-checked=\"_blank\" type=\"checkbox\" aria-label=\"').concat(w.language.translate(\"Autoplay\"),'\"><span>').concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>','</span></span> <label id=\"fr-label-target-').concat(w.id,'\">').concat(w.language.translate(\"Autoplay\"),'</label></div> </span><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoInsertByURL\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Insert\"),\"</button></div></div>\")}var d=\"\";0<=s&&(i=\" fr-active\",(r<s&&0<=r||n<s&&0<=n)&&(i=\"\"),d='<div class=\"fr-video-embed-layer fr-layer'.concat(i,'\" id=\"fr-video-embed-layer-').concat(w.id,'\"><div class=\"fr-input-line\"><textarea id=\"fr-video-embed-layer-text').concat(w.id,'\" type=\"text\" placeholder=\"').concat(w.language.translate(\"Embedded Code\"),'\" tabIndex=\"1\" aria-required=\"true\" rows=\"5\"></textarea></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoInsertEmbed\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Insert\"),\"</button></div></div>\"));var l=\"\";0<=r&&(i=\" fr-active\",(s<r&&0<=s||n<r&&0<=n)&&(i=\"\"),l='<div class=\"fr-video-upload-layer fr-layer'.concat(i,'\" id=\"fr-video-upload-layer-').concat(w.id,'\"><strong>').concat(w.language.translate(\"Drop video\"),\"</strong><br>(\").concat(w.language.translate(\"or click\"),')<div class=\"fr-form\"><input type=\"file\" accept=\"video/').concat(w.opts.videoAllowedTypes.join(\", video/\").toLowerCase(),'\" tabIndex=\"-1\" aria-labelledby=\"fr-video-upload-layer-').concat(w.id,'\" role=\"button\"></div></div>'));var f={buttons:t,by_url_layer:a,embed_layer:d,upload_layer:l,progress_bar:'<div class=\"fr-video-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"videoDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'},p=w.popups.create(\"video.insert\",f);return function c(i){w.events.$on(i,\"dragover dragenter\",\".fr-video-upload-layer\",function(){return A(this).addClass(\"fr-drop\"),!1},!0),w.events.$on(i,\"dragleave dragend\",\".fr-video-upload-layer\",function(){return A(this).removeClass(\"fr-drop\"),!1},!0),w.events.$on(i,\"drop\",\".fr-video-upload-layer\",function(e){e.preventDefault(),e.stopPropagation(),A(this).removeClass(\"fr-drop\");var t=e.originalEvent.dataTransfer;if(t&&t.files){var o=i.data(\"instance\")||w;o.events.disableBlur(),o.video.upload(t.files),o.events.enableBlur()}},!0),w.helpers.isIOS()&&w.events.$on(i,\"touchstart\",'.fr-video-upload-layer input[type=\"file\"]',function(){A(this).trigger(\"click\")},!0);w.events.$on(i,\"change\",'.fr-video-upload-layer input[type=\"file\"]',function(){if(this.files){var e=i.data(\"instance\")||w;e.events.disableBlur(),i.find(\"input:focus\").blur(),e.events.enableBlur(),e.video.upload(this.files)}A(this).val(\"\")},!0)}(p),p}function h(e){w.events.focus(!0),w.selection.restore();var t=!1;if(E&&(q(),t=!0),w.opts.trackChangesEnabled){w.edit.on(),w.events.focus(!0),w.selection.restore(),w.undo.saveStep(),w.markers.insert(),w.html.wrap();var o=w.$el.find(\".fr-marker\");w.node.isLastSibling(o)&&o.parent().hasClass(\"fr-deletable\")&&o.insertAfter(o.parent()),o.replaceWith('<span contenteditable=\"false\" draggable=\"true\" class=\"fr-jiv fr-video fr-deletable\">'.concat(e,\"</span>\")),w.selection.clear()}else w.html.insert('<span contenteditable=\"false\" draggable=\"true\" class=\"fr-jiv fr-video fr-deletable\">'.concat(e,\"</span>\"),!1,w.opts.videoSplitHTML);w.popups.hide(\"video.insert\");var i=w.$el.find(\".fr-jiv\");i.removeClass(\"fr-jiv\"),i.toggleClass(\"fr-rv\",w.opts.videoResponsive),Z(i,w.opts.videoDefaultDisplay,w.opts.videoDefaultAlign),i.toggleClass(\"fr-draggable\",w.opts.videoMove),w.events.trigger(t?\"video.replaced\":\"video.inserted\",[i])}function m(){var e=A(this);w.popups.hide(\"video.insert\"),e.removeClass(\"fr-uploading\"),e.parent().next().is(\"br\")&&e.parent().next().remove(),l(e.parent()),w.events.trigger(\"video.loaded\",[e.parent()])}function x(s,e,d,l,f,p){w.edit.off(),b(\"Loading video\"),e&&(s=w.helpers.sanitizeURL(s));var c=function c(){var e,t;if(l){w.undo.canDo()||l.find(\"video\").hasClass(\"fr-uploading\")||w.undo.saveStep();var o=l.find(\"video\").data(\"fr-old-src\"),i=l.data(\"fr-replaced\");if(l.data(\"fr-replaced\",!1),0<l.find(\"iframe\").length)l.remove(),e=I(s,d,m);else{w.$wp?((e=l.clone(!0)).find(\"video\").removeData(\"fr-old-src\").removeClass(\"fr-uploading\"),e.find(\"video\").off(\"canplay\"),o&&l.find(\"video\").attr(\"src\",o),l.replaceWith(e)):e=l;for(var a=e.find(\"video\").get(0).attributes,r=0;r<a.length;r++){var n=a[r];0===n.nodeName.indexOf(\"data-\")&&e.find(\"video\").removeAttr(n.nodeName)}if(void 0!==d)for(t in d)d.hasOwnProperty(t)&&\"link\"!=t&&e.find(\"video\").attr(\"data-\".concat(t),d[t]);e.find(\"video\").on(\"canplay\",m),e.find(\"video\").attr(\"src\",s)}w.edit.on(),O(),w.undo.saveStep(),w.$el.blur(),w.events.trigger(i?\"video.replaced\":\"video.inserted\",[e,f])}else e=I(s,d,m,p),O(),w.undo.saveStep(),w.events.trigger(\"video.inserted\",[e,f])};R(\"Loading video\"),c()}function R(e){var t=w.popups.get(\"video.insert\");if(t||(t=n()),t.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"),t.find(\".fr-video-progress-bar-layer\").addClass(\"fr-active\"),t.find(\".fr-buttons\").hide(),E){var o=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\"));w.popups.setContainer(\"video.insert\",w.$sc);var i=o.offset().left,a=o.offset().top+o.height();w.popups.show(\"video.insert\",i,a,o.outerHeight())}void 0===e&&b(w.language.translate(\"Uploading\"),0)}function d(e){var t=w.popups.get(\"video.insert\");if(t&&(t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"),t.find(\".fr-video-progress-bar-layer\").removeClass(\"fr-active\"),t.find(\".fr-buttons\").show(),e||w.$el.find(\"video.fr-error\").length)){if(w.events.focus(),w.$el.find(\"video.fr-error\").length&&(w.$el.find(\"video.fr-error\").parent().remove(),w.undo.saveStep(),w.undo.run(),w.undo.dropRedo()),!w.$wp&&E){var o=E;V(!0),w.selection.setAfter(o.find(\"video\").get(0)),w.selection.restore()}w.popups.hide(\"video.insert\")}}function b(e,t){var o=w.popups.get(\"video.insert\");if(o){var i=o.find(\".fr-video-progress-bar-layer\");i.find(\"h3\").text(e+(t?\" \".concat(t,\"%\"):\"\")),i.removeClass(\"fr-error\"),t?(i.find(\"div\").removeClass(\"fr-indeterminate\"),i.find(\"div > span\").css(\"width\",\"\".concat(t,\"%\"))):i.find(\"div\").addClass(\"fr-indeterminate\")}}function y(e){R();var t=w.popups.get(\"video.insert\").find(\".fr-video-progress-bar-layer\");t.addClass(\"fr-error\");var o=t.find(\"h3\");o.text(e),w.events.disableBlur(),o.focus()}function l(e){t.call(e.get(0))}function _(e,t,o){b(\"Loading video\");var i=this.status,a=this.response,r=this.responseXML,n=this.responseText;try{if(w.opts.videoUploadToS3||w.opts.videoUploadToAzure)if(201==i){var s;if(w.opts.videoUploadToAzure){if(!1===w.events.trigger(\"video.uploadedToAzure\",[this.responseURL,o,a],!0))return w.edit.on(),!1;s=t}else s=function l(e){try{var t=A(e).find(\"Location\").text(),o=A(e).find(\"Key\").text();return!1===w.events.trigger(\"video.uploadedToS3\",[t,o,e],!0)?(w.edit.on(),!1):t}catch(i){return F(u,e),!1}}(r);s&&x(s,!1,[],e,a||r)}else F(u,a||r);else if(200<=i&&i<300){var d=function f(e){try{if(!1===w.events.trigger(\"video.uploaded\",[e],!0))return w.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(F(c,e),!1)}catch(o){return F(u,e),!1}}(n);d&&x(d.link,!1,d,e,a||n)}else F(v,a||n)}catch(p){F(u,a||n)}}function B(){F(u,this.response||this.responseText||this.responseXML)}function D(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;b(w.language.translate(\"Uploading\"),t)}}function k(){w.edit.on(),d(!0)}function I(e,t,o,i){var a,r,n=\"\";if(t&&void 0!==t)for(a in t)t.hasOwnProperty(a)&&\"link\"!=a&&(n+=\" \".concat(a,'=\"').concat(t[a],'\"'));var s=w.opts.videoDefaultWidth;s&&\"auto\"!=s&&(s=\"\".concat(s,\"px\")),w.helpers.isMobile()&&w.browser.safari&&(n+=\" autoplay playsinline\"),(r=\"audio\"==i?A(document.createElement(\"span\")).attr(\"contenteditable\",\"false\").attr(\"draggable\",\"true\").attr(\"class\",\"fr-video fr-dv\"+w.opts.videoDefaultDisplay[0]+(\"center\"!=w.opts.videoDefaultAlign?\" fr-fv\"+w.opts.videoDefaultAlign[0]:\"\")).html('<audio src=\"'+e+'\" '+n+\" controls>\"+w.language.translate(\"Your browser does not support HTML5 video.\")+\"</audio>\"):A(document.createElement(\"span\")).attr(\"contenteditable\",\"false\").attr(\"draggable\",\"true\").attr(\"class\",\"fr-video fr-dv\"+w.opts.videoDefaultDisplay[0]+(\"center\"!=w.opts.videoDefaultAlign?\" fr-fv\"+w.opts.videoDefaultAlign[0]:\"\")).html('<video src=\"'+e+'\" '+n+(s?' style=\"width: '+s+';\" ':\"\")+\" controls>\"+w.language.translate(\"Your browser does not support HTML5 video.\")+\"</video>\")).toggleClass(\"fr-draggable\",w.opts.videoMove),w.edit.on(),w.events.focus(!0),w.selection.restore(),w.undo.saveStep(),w.opts.videoSplitHTML?w.markers.split():(w.cursor.enter(),w.markers.insert()),w.html.wrap();var d=w.$el.find(\".fr-marker\");return w.node.isLastSibling(d)&&d.parent().hasClass(\"fr-deletable\")&&d.insertAfter(d.parent()),d.replaceWith(r),w.selection.clear(),\"audio\"!==i&&(r.find(\"video\").get(0).readyState>r.find(\"video\").get(0).HAVE_FUTURE_DATA||w.helpers.isIOS()?o.call(r.find(\"video\").get(0)):r.find(\"video\").on(\"canplaythrough load\",o)),r}function T(e){if(!w.core.sameInstance(p))return!0;e.preventDefault(),e.stopPropagation();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),o=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!o)return!1;if(\"mousedown\"==e.type){var i=w.$oel.get(0).ownerDocument,a=i.defaultView||i.parentWindow,r=!1;try{r=a.location!=a.parent.location&&!(a.$&&a.$.FE)}catch(n){}r&&a.frameElement&&(t+=w.helpers.getPX(A(a.frameElement).offset().left)+a.frameElement.clientLeft,o=e.clientY+w.helpers.getPX(A(a.frameElement).offset().top)+a.frameElement.clientTop)}w.undo.canDo()||w.undo.saveStep(),(f=A(this)).data(\"start-x\",t),f.data(\"start-y\",o),s.show(),w.popups.hideAll(),Y()}function z(e){if(!w.core.sameInstance(p))return!0;if(f){e.preventDefault();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),o=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!o)return!1;var i=f.data(\"start-x\"),a=f.data(\"start-y\");f.data(\"start-x\",t),f.data(\"start-y\",o);var r=t-i,n=o-a,s=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),d=s.width(),l=s.height();(f.hasClass(\"fr-hnw\")||f.hasClass(\"fr-hsw\"))&&(r=0-r),(f.hasClass(\"fr-hnw\")||f.hasClass(\"fr-hne\"))&&(n=0-n),s.css(\"width\",d+r),s.css(\"height\",l+n),s.removeAttr(\"width\"),s.removeAttr(\"height\"),M()}}function P(e){if(!w.core.sameInstance(p))return!0;f&&E&&(e&&e.stopPropagation(),f=null,s.hide(),M(),r(),w.undo.saveStep())}function $(e){return'<div class=\"fr-handler fr-h'.concat(e,'\"></div>')}function L(e,t,o,i){return e.pageX=t,e.pageY=t,T.call(this,e),e.pageX=e.pageX+o*Math.floor(Math.pow(1.1,i)),e.pageY=e.pageY+o*Math.floor(Math.pow(1.1,i)),z.call(this,e),P.call(this,e),++i}function O(){var e,t=Array.prototype.slice.call(w.el.querySelectorAll(\"video, .fr-video > *\")),o=[];for(e=0;e<t.length;e++)o.push(t[e].getAttribute(\"src\")),A(t[e]).toggleClass(\"fr-draggable\",w.opts.videoMove),\"\"===t[e].getAttribute(\"class\")&&t[e].removeAttribute(\"class\"),\"\"===t[e].getAttribute(\"style\")&&t[e].removeAttribute(\"style\");if(i)for(e=0;e<i.length;e++)o.indexOf(i[e].getAttribute(\"src\"))<0&&w.events.trigger(\"video.removed\",[A(i[e])]);i=t}function M(){p||function n(){var e;if(w.shared.$video_resizer?(p=w.shared.$video_resizer,s=w.shared.$vid_overlay,w.events.on(\"destroy\",function(){A(\"body\").first().append(p.removeClass(\"fr-active\"))},!0)):(w.shared.$video_resizer=A(document.createElement(\"div\")).attr(\"class\",\"fr-video-resizer\"),p=w.shared.$video_resizer,w.events.$on(p,\"mousedown\",function(e){e.stopPropagation()},!0),w.opts.videoResize&&(p.append($(\"nw\")+$(\"ne\")+$(\"sw\")+$(\"se\")),w.shared.$vid_overlay=A(document.createElement(\"div\")).attr(\"class\",\"fr-video-overlay\"),s=w.shared.$vid_overlay,e=p.get(0).ownerDocument,A(e).find(\"body\").first().append(s))),w.events.on(\"shared.destroy\",function(){p.html(\"\").removeData().remove(),p=null,w.opts.videoResize&&(s.remove(),s=null)},!0),w.helpers.isMobile()||w.events.$on(A(w.o_win),\"resize.video\",function(){V(!0)}),w.opts.videoResize){e=p.get(0).ownerDocument,w.events.$on(p,w._mousedown,\".fr-handler\",T),w.events.$on(A(e),w._mousemove,z),w.events.$on(A(e.defaultView||e.parentWindow),w._mouseup,P),w.events.$on(s,\"mouseleave\",P);var i=1,a=null,r=0;w.events.on(\"keydown\",function(e){if(E){var t=-1!=navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey,o=e.which;(o!==a||200<e.timeStamp-r)&&(i=1),(o==we.KEYCODE.EQUALS||w.browser.mozilla&&o==we.KEYCODE.FF_EQUALS)&&t&&!e.altKey?i=L.call(this,e,1,1,i):(o==we.KEYCODE.HYPHEN||w.browser.mozilla&&o==we.KEYCODE.FF_HYPHEN)&&t&&!e.altKey&&(i=L.call(this,e,2,-1,i)),a=o,r=e.timeStamp}}),w.events.on(\"keyup\",function(){i=1})}}(),(w.$wp||w.$sc).append(p),p.data(\"instance\",w);var e=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),t=0,o=0;w.opts.iframe&&(o=w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-top\")),t=w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-left\"))),p.css(\"top\",(w.opts.iframe?e.offset().top+o-1:e.offset().top-w.$wp.offset().top-1)+w.$wp.scrollTop()).css(\"left\",(w.opts.iframe?e.offset().left+t-1:e.offset().left-w.$wp.offset().left-1)+w.$wp.scrollLeft()).css(\"width\",e.get(0).getBoundingClientRect().width).css(\"height\",e.get(0).getBoundingClientRect().height).addClass(\"fr-active\")}function t(e){if(e&&\"touchend\"==e.type&&o)return!0;if(e&&w.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;if(w.edit.isDisabled())return!1;for(var t=0;t<we.INSTANCES.length;t++)we.INSTANCES[t]!=w&&we.INSTANCES[t].events.trigger(\"video.hideResizer\");w.toolbar.disable(),w.helpers.isMobile()&&(w.events.disableBlur(),w.$el.blur(),w.events.enableBlur()),w.$el.find(\".fr-video.fr-active\").removeClass(\"fr-active\"),(E=A(this)).addClass(\"fr-active\"),w.opts.iframe&&w.size.syncIframe(),te(),M(),r(),w.selection.clear(),w.button.bulkRefresh(),w.events.trigger(\"image.hideResizer\")}function V(e){E&&(function t(){return w.shared.vid_exit_flag}()||!0===e)&&(p.removeClass(\"fr-active\"),w.toolbar.enable(),E.removeClass(\"fr-active\"),E=null,Y())}function N(){w.shared.vid_exit_flag=!0}function Y(){w.shared.vid_exit_flag=!1}function H(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var o=t.files[0];if(o&&o.type&&-1!==o.type.indexOf(\"video\")){if(!w.opts.videoUpload)return e.preventDefault(),e.stopPropagation(),!1;w.markers.remove(),w.markers.insertAtPoint(e.originalEvent),w.$el.find(\".fr-marker\").replaceWith(we.MARKERS),w.popups.hideAll();var i=w.popups.get(\"video.insert\");return i||(i=n()),w.popups.setContainer(\"video.insert\",w.$sc),w.popups.show(\"video.insert\",e.originalEvent.pageX,e.originalEvent.pageY),R(),0<=w.opts.videoAllowedTypes.indexOf(o.type.replace(/video\\//g,\"\"))?K(t.files):F(U),e.preventDefault(),e.stopPropagation(),!1}}}function K(e){if(void 0!==e&&0<e.length){if(!1===w.events.trigger(\"video.beforeUpload\",[e]))return!1;var t,o=e[0];if(!(null!==w.opts.videoUploadURL&&w.opts.videoUploadURL!=C||w.opts.videoUploadToS3||w.opts.videoUploadToAzure))return function y(i){E&&E.find(\"iframe\")&&E.find(\"iframe\").length&&q();var a=new FileReader;a.onload=function(){a.result;for(var e=atob(a.result.split(\",\")[1]),t=[],o=0;o<e.length;o++)t.push(e.charCodeAt(o));x(window.URL.createObjectURL(new Blob([new Uint8Array(t)],{type:i.type})),!1,null,E)},R(),a.readAsDataURL(i)}(o),!1;if(o.size>w.opts.videoMaxSize)return F(S),!1;if(w.opts.videoAllowedTypes.indexOf(o.type.replace(/video\\//g,\"\"))<0)return F(U),!1;if(w.drag_support.formdata&&(t=w.drag_support.formdata?new FormData:null),t){var i;if(!1!==w.opts.videoUploadToS3)for(i in t.append(\"key\",w.opts.videoUploadToS3.keyStart+(new Date).getTime()+\"-\"+(o.name||\"untitled\")),t.append(\"success_action_status\",\"201\"),t.append(\"X-Requested-With\",\"xhr\"),t.append(\"Content-Type\",o.type),w.opts.videoUploadToS3.params)w.opts.videoUploadToS3.params.hasOwnProperty(i)&&t.append(i,w.opts.videoUploadToS3.params[i]);for(i in w.opts.videoUploadParams)w.opts.videoUploadParams.hasOwnProperty(i)&&t.append(i,w.opts.videoUploadParams[i]);t.append(w.opts.videoUploadParam,o);var a,r,n=w.opts.videoUploadURL;w.opts.videoUploadToS3&&(n=w.opts.videoUploadToS3.uploadURL?w.opts.videoUploadToS3.uploadURL:\"https://\".concat(w.opts.videoUploadToS3.region,\".amazonaws.com/\").concat(w.opts.videoUploadToS3.bucket));var s=w.opts.videoUploadMethod;w.opts.videoUploadToAzure&&(n=w.opts.videoUploadToAzure.uploadURL?\"\".concat(w.opts.videoUploadToAzure.uploadURL,\"/\").concat(o.name):encodeURI(\"https://\".concat(w.opts.videoUploadToAzure.account,\".blob.core.windows.net/\").concat(w.opts.videoUploadToAzure.container,\"/\").concat(o.name)),a=n,w.opts.videoUploadToAzure.SASToken&&(n+=w.opts.videoUploadToAzure.SASToken),s=\"PUT\");var d=w.core.getXHR(n,s);if(w.opts.videoUploadToAzure){var l=(new Date).toUTCString();if(!w.opts.videoUploadToAzure.SASToken&&w.opts.videoUploadToAzure.accessKey){var f=w.opts.videoUploadToAzure.account,p=w.opts.videoUploadToAzure.container;if(w.opts.videoUploadToAzure.uploadURL){var c=w.opts.videoUploadToAzure.uploadURL.split(\"/\");p=c.pop(),f=c.pop().split(\".\")[0]}var v=\"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(l,\"\\nx-ms-version:2019-07-07\"),u=encodeURI(\"/\"+f+\"/\"+p+\"/\"+o.name),g=s+\"\\n\\n\\n\"+o.size+\"\\n\\n\"+o.type+\"\\n\\n\\n\\n\\n\\n\\n\"+v+\"\\n\"+u,h=w.cryptoJSPlugin.cryptoJS.HmacSHA256(g,w.cryptoJSPlugin.cryptoJS.enc.Base64.parse(w.opts.videoUploadToAzure.accessKey)).toString(w.cryptoJSPlugin.cryptoJS.enc.Base64),m=\"SharedKey \"+f+\":\"+h;r=h,d.setRequestHeader(\"Authorization\",m)}for(i in d.setRequestHeader(\"x-ms-version\",\"2019-07-07\"),d.setRequestHeader(\"x-ms-date\",l),d.setRequestHeader(\"Content-Type\",o.type),d.setRequestHeader(\"x-ms-blob-type\",\"BlockBlob\"),w.opts.videoUploadParams)w.opts.videoUploadParams.hasOwnProperty(i)&&d.setRequestHeader(i,w.opts.videoUploadParams[i]);for(i in w.opts.videoUploadToAzure.params)w.opts.videoUploadToAzure.params.hasOwnProperty(i)&&d.setRequestHeader(i,w.opts.videoUploadToAzure.params[i])}d.onload=function(){_.call(d,E,a,r)},d.onerror=B,d.upload.onprogress=D,d.onabort=k,R(),w.events.disableBlur(),w.edit.off(),w.events.enableBlur();var b=w.popups.get(\"video.insert\");b&&A(b.off(\"abortUpload\")).on(\"abortUpload\",function(){4!=d.readyState&&d.abort()}),d.send(w.opts.videoUploadToAzure?o:t)}}}function F(e,t){w.edit.on(),E&&E.find(\"video\").addClass(\"fr-error\"),y(w.language.translate(\"Something went wrong. Please try again.\")),w.events.trigger(\"video.error\",[{code:e,message:a[e]},t])}function X(){if(E){var e=w.popups.get(\"video.size\"),t=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\"));e.find('input[name=\"width\"]').val(t.get(0).style.width||t.attr(\"width\")).trigger(\"change\"),e.find('input[name=\"height\"]').val(t.get(0).style.height||t.attr(\"height\")).trigger(\"change\")}}function G(e){if(e)return w.popups.onRefresh(\"video.size\",X),!0;var t={buttons:'<div class=\"fr-buttons fr-tabs\">'.concat(w.button.buildList(w.opts.videoSizeButtons),\"</div>\"),size_layer:'<div class=\"fr-video-size-layer fr-layer fr-active\" id=\"fr-video-size-layer-'.concat(w.id,'\"><div class=\"fr-video-group\"><div class=\"fr-input-line\"><input id=\"fr-video-size-layer-width-').concat(w.id,'\" type=\"text\" name=\"width\" placeholder=\"').concat(w.language.translate(\"Width\"),'\" tabIndex=\"1\"></div><div class=\"fr-input-line\"><input id=\"fr-video-size-layer-height-').concat(w.id,'\" type=\"text\" name=\"height\" placeholder=\"').concat(w.language.translate(\"Height\"),'\" tabIndex=\"1\"></div></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoSetSize\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Update\"),\"</button></div></div>\")},o=w.popups.create(\"video.size\",t);return w.events.$on(w.$wp,\"scroll\",function(){E&&w.popups.isVisible(\"video.size\")&&(w.events.disableBlur(),l(E))}),o}function j(e){if(void 0===e&&(e=E),e){if(e.hasClass(\"fr-fvl\"))return\"left\";if(e.hasClass(\"fr-fvr\"))return\"right\";if(e.hasClass(\"fr-dvb\")||e.hasClass(\"fr-dvi\"))return\"center\";if(\"block\"==e.css(\"display\")){if(\"left\"==e.css(\"text-algin\"))return\"left\";if(\"right\"==e.css(\"text-align\"))return\"right\"}else{if(\"left\"==e.css(\"float\"))return\"left\";if(\"right\"==e.css(\"float\"))return\"right\"}}return\"center\"}function W(e){void 0===e&&(e=E);var t=e.css(\"float\");return e.css(\"float\",\"none\"),\"block\"==e.css(\"display\")?(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"block\"):(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"inline\")}function q(){if(E&&!1!==w.events.trigger(\"video.beforeRemove\",[E])){var e=E;if(w.popups.hideAll(),V(!0),w.opts.trackChangesEnabled&&(!e[0].parentNode||\"SPAN\"!==e[0].parentNode.tagName||!e[0].parentNode.hasAttribute(\"data-tracking\")))return void w.track_changes.removeSpecialItem(e);w.selection.setBefore(e.get(0))||w.selection.setAfter(e.get(0)),e.remove(),w.selection.restore(),w.html.fillEmptyBlocks()}}function J(){d()}function Z(e,t,o){!w.opts.htmlUntouched&&w.opts.useClasses?(e.removeClass(\"fr-fvl fr-fvr fr-dvb fr-dvi\"),e.addClass(\"fr-fv\".concat(o[0],\" fr-dv\").concat(t[0]))):\"inline\"==t?(e.css({display:\"inline-block\"}),\"center\"==o?e.css({\"float\":\"none\"}):\"left\"==o?e.css({\"float\":\"left\"}):e.css({\"float\":\"right\"})):(e.css({display:\"block\",clear:\"both\"}),\"left\"==o?e.css({textAlign:\"left\"}):\"right\"==o?e.css({textAlign:\"right\"}):e.css({textAlign:\"center\"}))}function Q(){var e=w.$el.find(\"video\").filter(function(){return 0===A(this).parents(\"span.fr-video\").length});if(0!=e.length){e.wrap(A(document.createElement(\"span\")).attr(\"class\",\"fr-video fr-deletable\").attr(\"contenteditable\",\"false\")),w.$el.find(\"embed, iframe\").filter(function(){if(w.browser.safari&&this.getAttribute(\"src\")&&this.setAttribute(\"src\",this.src),0<A(this).parents(\"span.fr-video\").length)return!1;for(var e=A(this).attr(\"src\"),t=0;t<we.VIDEO_PROVIDERS.length;t++){var o=we.VIDEO_PROVIDERS[t];if(o.test_regex.test(e)&&new RegExp(w.opts.videoAllowedProviders.join(\"|\")).test(o.provider))return!0}return!1}).map(function(){return 0===A(this).parents(\"object\").length?this:A(this).parents(\"object\").get(0)}).wrap(A(document.createElement(\"span\")).attr(\"class\",\"fr-video\").attr(\"contenteditable\",\"false\"));for(var t,o,i,a,r=w.$el.find(\"span.fr-video, video\"),n=0;n<r.length;n++){var s=A(r[n]);!w.opts.htmlUntouched&&w.opts.useClasses?((a=s).hasClass(\"fr-dvi\")||a.hasClass(\"fr-dvb\")||(a.addClass(\"fr-fv\".concat(j(a)[0])),a.addClass(\"fr-dv\".concat(W(a)[0]))),w.opts.videoTextNear||s.removeClass(\"fr-dvi\").addClass(\"fr-dvb\")):w.opts.htmlUntouched||w.opts.useClasses||(void 0,o=(t=s).hasClass(\"fr-dvb\")?\"block\":t.hasClass(\"fr-dvi\")?\"inline\":null,i=t.hasClass(\"fr-fvl\")?\"left\":t.hasClass(\"fr-fvr\")?\"right\":j(t),Z(t,o,i),t.removeClass(\"fr-dvb fr-dvi fr-fvr fr-fvl\"))}r.toggleClass(\"fr-draggable\",w.opts.videoMove)}}function ee(e){document.getElementById(\"autoplay-\".concat(w.id)).style.cssText=\"background:\".concat(e)}function te(){if(E){w.selection.clear();var e=w.doc.createRange();e.selectNode(E.get(0)),w.selection.get().addRange(e)}}return a[1]=\"Video cannot be loaded from the passed link.\",a[c]=\"No link in upload response.\",a[v]=\"Error during file upload.\",a[u]=\"Parsing response failed.\",a[S]=\"File is too large.\",a[U]=\"Video file type is invalid.\",a[7]=\"Files can be uploaded only to same domain in IE 8 and IE 9.\",w.shared.vid_exit_flag=!1,{_init:function oe(){w.opts.videoResponsive&&(w.opts.videoResize=!1),function e(){w.events.on(\"drop\",H,!0),w.events.on(\"mousedown window.mousedown\",N),w.events.on(\"window.touchmove\",Y),w.events.on(\"mouseup window.mouseup\",V),w.events.on(\"commands.mousedown\",function(e){0<e.parents(\".fr-toolbar\").length&&V()}),w.events.on(\"video.hideResizer commands.undo commands.redo element.dropped\",function(){V(!0)}),w.events.on(\"filestack-init-video\",function(){n()})}(),w.helpers.isMobile()&&(w.events.$on(w.$el,\"touchstart\",\"span.fr-video\",function(){o=!1}),w.events.$on(w.$el,\"touchmove\",function(){o=!0})),w.events.on(\"html.set\",Q),Q(),w.events.$on(w.$el,\"mousedown\",\"span.fr-video\",function(e){e.stopPropagation(),(w.browser.msie||w.browser.edge)&&(e.target.innerText||(e.target.dragDrop(),t.call(this,e)))}),w.events.$on(w.$el,\"click touchend\",\"span.fr-video\",function(e){if(e.target.innerText.length||\"false\"==A(this).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;t.call(this,e)}),w.events.on(\"keydown\",function(e){var t=e.which;return!E||t!=we.KEYCODE.BACKSPACE&&t!=we.KEYCODE.DELETE?E&&t==we.KEYCODE.ESC?(V(!0),e.preventDefault(),!1):E&&t!=we.KEYCODE.F10&&!w.keys.isBrowserAction(e)?(e.preventDefault(),!1):void 0:(e.preventDefault(),q(),w.undo.saveStep(),!1)},!0),w.events.on(\"toolbar.esc\",function(){if(E)return w.events.disableBlur(),w.events.focus(),!1},!0),w.events.on(\"toolbar.focusEditor\",function(){if(E)return!1},!0),w.events.on(\"keydown\",function(){w.$el.find(\"span.fr-video:empty\").remove()}),w.$wp&&(O(),w.events.on(\"contentChanged\",O)),n(!0),G(!0)},showInsertPopup:function ie(){var e=w.$tb.find('.fr-command[data-cmd=\"insertVideo\"]'),t=w.popups.get(\"video.insert\");if(t||(t=n()),d(),!t.hasClass(\"fr-active\"))if(w.popups.refresh(\"video.insert\"),w.popups.setContainer(\"video.insert\",w.$tb),e.isVisible()){var o=w.button.getPosition(e),i=o.left,a=o.top;w.popups.show(\"video.insert\",i,a,e.outerHeight())}else w.position.forSelection(t),w.popups.show(\"video.insert\")},showLayer:function ae(e){var t,o,i=w.popups.get(\"video.insert\");if(!E&&!w.opts.toolbarInline){var a=w.$tb.find('.fr-command[data-cmd=\"insertVideo\"]');t=a.offset().left,o=a.offset().top+(w.opts.toolbarBottom?10:a.outerHeight()-10)}w.opts.toolbarInline&&(o=i.offset().top-w.helpers.getPX(i.css(\"margin-top\")),i.hasClass(\"fr-above\")&&(o+=i.outerHeight())),i.find(\".fr-layer\").removeClass(\"fr-active\"),i.find(\".fr-\".concat(e,\"-layer\")).addClass(\"fr-active\"),w.popups.show(\"video.insert\",t,o,0),w.accessibility.focusPopup(i)},refreshByURLButton:function re(e){var t=w.popups.get(\"video.insert\");t&&t.find(\".fr-video-by-url-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},refreshEmbedButton:function ne(e){var t=w.popups.get(\"video.insert\");t&&t.find(\".fr-video-embed-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},refreshUploadButton:function se(e){var t=w.popups.get(\"video.insert\");t&&t.find(\".fr-video-upload-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},upload:K,insertByURL:function de(e){var t=!!document.getElementById(\"videoPluginAutoplay\")&&document.getElementById(\"videoPluginAutoplay\").checked;if(void 0===e){var o=(e=(w.popups.get(\"video.insert\").find('.fr-video-by-url-layer input[type=\"text\"]').val()||\"\").trim()).match(/(https?:\\/\\/)?(www\\.)?(player\\.)?vimeo\\.com\\/?(showcase\\/)*([0-9))([a-z]*\\/)*([0-9]{6,11})[?]?.*/);if(o&&7==o.length){var i=o[6],a=e.substring(0,e.lastIndexOf(\"/\")),r=e.substring(e.lastIndexOf(\"/\")+1,e.length);e=r.includes(\"?h=\")||r.includes(\"?v=\")||i===r?(\"\".concat(a,\"/\").concat(r)||\"\").trim():(\"\".concat(a,\"?h=\").concat(r)||\"\").trim()}}var n=null;if(/^http/.test(e)||(e=\"https://\".concat(e)),w.helpers.isURL(e))for(var s=0;s<we.VIDEO_PROVIDERS.length;s++){var d=we.VIDEO_PROVIDERS[s],l=\"autoplay=1&mute=1\";if(d.html.includes(\"autoplay=1\")&&document.getElementById(\"videoPluginAutoplay\").checked)d.html=d.html,document.getElementById(\"videoPluginAutoplay\").checked=!1;else if(t){var f=d.html.indexOf(\"{url}\")+5;d.html=[d.html.slice(0,f),l,d.html.slice(f)].join(\"\"),t=!1,document.getElementById(\"videoPluginAutoplay\").checked=!1}else(d=we.VIDEO_PROVIDERS[s]).html=d.html.replace(l,\"\");if(d.test_regex.test(e)&&new RegExp(w.opts.videoAllowedProviders.join(\"|\")).test(d.provider)){n=e.replace(d.url_regex,d.url_text),n=d.html.replace(/\\{url\\}/,n);break}}n?h(n):(y(w.language.translate(\"Something went wrong. Please try again.\")),w.events.trigger(\"video.linkError\",[e]))},insertEmbed:function le(e){void 0===e&&(e=w.popups.get(\"video.insert\").find(\".fr-video-embed-layer textarea\").val()||\"\"),0!==e.length&&we.VIDEO_EMBED_REGEX.test(e)?h(e):(y(w.language.translate(\"Something went wrong. Please try again.\")),w.events.trigger(\"video.codeError\",[e]))},insert:h,align:function fe(e){E.removeClass(\"fr-fvr fr-fvl\"),!w.opts.htmlUntouched&&w.opts.useClasses?\"left\"==e?E.addClass(\"fr-fvl\"):\"right\"==e&&E.addClass(\"fr-fvr\"):Z(E,W(),e),te(),M(),r(),w.selection.clear()},refreshAlign:function pe(e){if(!E)return!1;e.find(\">*\").first().replaceWith(w.icon.create(\"video-align-\".concat(j())))},refreshAlignOnShow:function ce(e,t){E&&t.find('.fr-command[data-param1=\"'.concat(j(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},display:function ve(e){E.removeClass(\"fr-dvi fr-dvb\"),!w.opts.htmlUntouched&&w.opts.useClasses?\"inline\"==e?E.addClass(\"fr-dvi\"):\"block\"==e&&E.addClass(\"fr-dvb\"):Z(E,e,j()),te(),M(),r(),w.selection.clear()},refreshDisplayOnShow:function ue(e,t){E&&t.find('.fr-command[data-param1=\"'.concat(W(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},remove:q,hideProgressBar:d,showSizePopup:function ge(){var e=w.popups.get(\"video.size\");e||(e=G()),d(),w.popups.refresh(\"video.size\"),w.popups.setContainer(\"video.size\",w.$sc);var t=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),o=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.height();w.popups.show(\"video.size\",o,i,t.height(),!0)},replace:function he(){var e=w.popups.get(\"video.insert\");e||(e=n()),w.popups.isVisible(\"video.insert\")||(d(),w.popups.refresh(\"video.insert\"),w.popups.setContainer(\"video.insert\",w.$sc));var t=E.offset().left+E.outerWidth()/2,o=E.offset().top+E.height();w.popups.show(\"video.insert\",t,o,E.outerHeight(),!0)},back:function e(){E?(w.events.disableBlur(),E[0].click()):(w.events.disableBlur(),w.selection.restore(),w.events.enableBlur(),w.popups.hide(\"video.insert\"),w.toolbar.showInline())},setSize:function me(e,t){if(E){var o=w.popups.get(\"video.size\"),i=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\"));i.css(\"width\",e||o.find('input[name=\"width\"]').val()),i.css(\"height\",t||o.find('input[name=\"height\"]').val()),i.get(0).style.width&&i.removeAttr(\"width\"),i.get(0).style.height&&i.removeAttr(\"height\"),o.find(\"input:focus\").blur(),setTimeout(function(){E.trigger(\"click\")},w.helpers.isAndroid()?50:0)}},get:function be(){return E},showProgressBar:R,_editVideo:l,setAutoplay:function ye(){var e;if(E.find(\"iframe, embed, audio\").get(0))(e=E.find(\"iframe, embed, audio\")).get(0).src.includes(\"autoplay=1\")?(ee(\"#FFFFFF\"),e.get(0).src=e.get(0).src.replace(\"&autoplay=1\",\"\")):(ee(\"#D6D6D6\"),e.get(0).src=e.get(0).src+\"&autoplay=1\");else if((e=E.find(\"iframe, embed, video\")).get(0).outerHTML.includes(\"autoplay\"))ee(\"#FFFFFF\"),e.get(0).outerHTML=e.get(0).outerHTML.replace(\"autoplay\",\"\");else{ee(\"#D6D6D6\");var t=e.get(0).outerHTML.indexOf(\"class\")-1;e.get(0).outerHTML=[e.get(0).outerHTML.slice(0,t),\"autoplay\",e.get(0).outerHTML.slice(t)].join(\"\")}},insertHtmlVideo:x}},we.RegisterCommand(\"insertVideo\",{title:\"Insert Video\",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"video.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"video.insert\")):this.video.showInsertPopup()},plugin:\"video\"}),we.DefineIcon(\"insertVideo\",{NAME:\"video-camera\",FA5NAME:\"camera\",SVG_KEY:\"insertVideo\"}),we.DefineIcon(\"videoByURL\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),we.RegisterCommand(\"videoByURL\",{title:\"By URL\",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer(\"video-by-url\")},refresh:function(e){this.video.refreshByURLButton(e)}}),we.DefineIcon(\"videoEmbed\",{NAME:\"code\",SVG_KEY:\"codeView\"}),we.RegisterCommand(\"videoEmbed\",{title:\"Embedded Code\",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer(\"video-embed\")},refresh:function(e){this.video.refreshEmbedButton(e)}}),we.DefineIcon(\"videoUpload\",{NAME:\"upload\",SVG_KEY:\"upload\"}),we.RegisterCommand(\"videoUpload\",{title:\"Upload Video\",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer(\"video-upload\")},refresh:function(e){this.video.refreshUploadButton(e)}}),we.RegisterCommand(\"videoInsertByURL\",{undo:!0,focus:!0,callback:function(){this.video.insertByURL()}}),we.RegisterCommand(\"videoInsertEmbed\",{undo:!0,focus:!0,callback:function(){this.video.insertEmbed()}}),we.DefineIcon(\"videoDisplay\",{NAME:\"star\",SVG_KEY:\"star\"}),we.RegisterCommand(\"videoDisplay\",{title:\"Display\",type:\"dropdown\",options:{inline:\"Inline\",block:\"Break Text\"},callback:function(e,t){this.video.display(t)},refresh:function(e){this.opts.videoTextNear||e.addClass(\"fr-hidden\")},refreshOnShow:function(e,t){this.video.refreshDisplayOnShow(e,t)}}),we.DefineIcon(\"video-align\",{NAME:\"align-left\",SVG_KEY:\"align Left\"}),we.DefineIcon(\"video-align-left\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),we.DefineIcon(\"video-align-right\",{NAME:\"align-right\",SVG_KEY:\"alignRight\"}),we.DefineIcon(\"video-align-center\",{NAME:\"align-justify\",SVG_KEY:\"alignJustify\"}),we.DefineIcon(\"videoAlign\",{NAME:\"align-center\",SVG_KEY:\"alignCenter\"}),we.RegisterCommand(\"videoAlign\",{type:\"dropdown\",title:\"Align\",options:{left:\"Align Left\",center:\"None\",right:\"Align Right\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=we.COMMANDS.videoAlign.options;for(var o in t)t.hasOwnProperty(o)&&(e+='<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"videoAlign\" data-param1=\"'.concat(o,'\" title=\"').concat(this.language.translate(t[o]),'\">').concat(this.icon.create(\"video-align-\".concat(o)),'<span class=\"fr-sr-only\">').concat(this.language.translate(t[o]),\"</span></a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.video.align(t)},refresh:function(e){this.video.refreshAlign(e)},refreshOnShow:function(e,t){this.video.refreshAlignOnShow(e,t)}}),we.DefineIcon(\"videoReplace\",{NAME:\"exchange\",FA5NAME:\"exchange-alt\",SVG_KEY:\"replaceImage\"}),we.RegisterCommand(\"videoReplace\",{title:\"Replace\",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.video.replace()}}),we.DefineIcon(\"videoRemove\",{NAME:\"trash\",SVG_KEY:\"remove\"}),we.RegisterCommand(\"videoRemove\",{title:\"Remove\",callback:function(){this.video.remove()}}),we.DefineIcon(\"autoplay\",{NAME:\"autoplay\",SVG_KEY:\"autoplay\"}),we.RegisterCommand(\"autoplay\",{undo:!1,focus:!1,popup:!0,title:\"Autoplay\",callback:function(){this.video.setAutoplay()}}),we.DefineIcon(\"videoSize\",{NAME:\"arrows-alt\",SVG_KEY:\"imageSize\"}),we.RegisterCommand(\"videoSize\",{undo:!1,focus:!1,popup:!0,title:\"Change Size\",callback:function(){this.video.showSizePopup()}}),we.DefineIcon(\"videoBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),we.RegisterCommand(\"videoBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,callback:function(){this.video.back()},refresh:function(e){this.video.get()||this.opts.toolbarInline?(e.removeClass(\"fr-hidden\"),e.next().hasClass(\"fr-separator\")&&e.next().removeClass(\"fr-hidden\")):(e.addClass(\"fr-hidden\"),e.next().hasClass(\"fr-separator\")&&e.next().addClass(\"fr-hidden\"))}}),we.RegisterCommand(\"videoDismissError\",{title:\"OK\",undo:!1,callback:function(){this.video.hideProgressBar(!0)}}),we.RegisterCommand(\"videoSetSize\",{undo:!0,focus:!1,title:\"Update\",refreshAfterCallback:!1,callback:function(){this.video.setSize()}})});","var currentNonce;\nexport var setNonce = function (nonce) {\n    currentNonce = nonce;\n};\nexport var getNonce = function () {\n    if (currentNonce) {\n        return currentNonce;\n    }\n    if (typeof __webpack_nonce__ !== 'undefined') {\n        return __webpack_nonce__;\n    }\n    return undefined;\n};\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n  exports.createRoot = m.createRoot;\n  exports.hydrateRoot = m.hydrateRoot;\n} else {\n  var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n  exports.createRoot = function(c, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.createRoot(c, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n  exports.hydrateRoot = function(c, h, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.hydrateRoot(c, h, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n}\n","'use strict';\n\nfunction checkDCE() {\n  /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n  if (\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n  ) {\n    return;\n  }\n  if (process.env.NODE_ENV !== 'production') {\n    // This branch is unreachable because this function is only called\n    // in production, but the condition is true only in development.\n    // Therefore if the branch is still here, dead code elimination wasn't\n    // properly applied.\n    // Don't change the message. React DevTools relies on it. Also make sure\n    // this message doesn't occur elsewhere in this function, or it will cause\n    // a false positive.\n    throw new Error('^_^');\n  }\n  try {\n    // Verify that the code above has been dead code eliminated (DCE'd).\n    __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n  } catch (err) {\n    // DevTools shouldn't crash React, no matter what.\n    // We should still report in case we break this code.\n    console.error(err);\n  }\n}\n\nif (process.env.NODE_ENV === 'production') {\n  // DCE check should happen before ReactDOM bundle executes so that\n  // DevTools can report bad minification during injection.\n  checkDCE();\n  module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n  module.exports = require('./cjs/react-dom.development.js');\n}\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n    var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    return \"\\n  .\".concat(noScrollbarsClassName, \" {\\n   overflow: hidden \").concat(important, \";\\n   padding-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  body[\").concat(lockAttribute, \"] {\\n    overflow: hidden \").concat(important, \";\\n    overscroll-behavior: contain;\\n    \").concat([\n        allowRelative && \"position: relative \".concat(important, \";\"),\n        gapMode === 'margin' &&\n            \"\\n    padding-left: \".concat(left, \"px;\\n    padding-top: \").concat(top, \"px;\\n    padding-right: \").concat(right, \"px;\\n    margin-left:0;\\n    margin-top:0;\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n    \"),\n        gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n    ]\n        .filter(Boolean)\n        .join(''), \"\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" {\\n    right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" {\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n    right: 0 \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n    margin-right: 0 \").concat(important, \";\\n  }\\n  \\n  body[\").concat(lockAttribute, \"] {\\n    \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n  }\\n\");\n};\nvar getCurrentUseCounter = function () {\n    var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n    return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n    React.useEffect(function () {\n        document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n        return function () {\n            var newCounter = getCurrentUseCounter() - 1;\n            if (newCounter <= 0) {\n                document.body.removeAttribute(lockAttribute);\n            }\n            else {\n                document.body.setAttribute(lockAttribute, newCounter.toString());\n            }\n        };\n    }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n    var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n    useLockAttribute();\n    /*\n     gap will be measured on every component mount\n     however it will be used only by the \"first\" invocation\n     due to singleton nature of <Style\n     */\n    var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n    return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","export var zeroGap = {\n    left: 0,\n    top: 0,\n    right: 0,\n    gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n    var cs = window.getComputedStyle(document.body);\n    var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n    var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n    var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n    return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    if (typeof window === 'undefined') {\n        return zeroGap;\n    }\n    var offsets = getOffset(gapMode);\n    var documentWidth = document.documentElement.clientWidth;\n    var windowWidth = window.innerWidth;\n    return {\n        left: offsets[0],\n        top: offsets[1],\n        right: offsets[2],\n        gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n    };\n};\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n    return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n    return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n  .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n  .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n    var shouldPreventQueue = React.useRef([]);\n    var touchStartRef = React.useRef([0, 0]);\n    var activeAxis = React.useRef();\n    var id = React.useState(idCounter++)[0];\n    var Style = React.useState(styleSingleton)[0];\n    var lastProps = React.useRef(props);\n    React.useEffect(function () {\n        lastProps.current = props;\n    }, [props]);\n    React.useEffect(function () {\n        if (props.inert) {\n            document.body.classList.add(\"block-interactivity-\".concat(id));\n            var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n            allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n            return function () {\n                document.body.classList.remove(\"block-interactivity-\".concat(id));\n                allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n            };\n        }\n        return;\n    }, [props.inert, props.lockRef.current, props.shards]);\n    var shouldCancelEvent = React.useCallback(function (event, parent) {\n        if (('touches' in event && event.touches.length === 2) || (event.type === 'wheel' && event.ctrlKey)) {\n            return !lastProps.current.allowPinchZoom;\n        }\n        var touch = getTouchXY(event);\n        var touchStart = touchStartRef.current;\n        var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n        var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n        var currentAxis;\n        var target = event.target;\n        var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n        // allow horizontal touch move on Range inputs. They will not cause any scroll\n        if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n            return false;\n        }\n        var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n        if (!canBeScrolledInMainDirection) {\n            return true;\n        }\n        if (canBeScrolledInMainDirection) {\n            currentAxis = moveDirection;\n        }\n        else {\n            currentAxis = moveDirection === 'v' ? 'h' : 'v';\n            canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n            // other axis might be not scrollable\n        }\n        if (!canBeScrolledInMainDirection) {\n            return false;\n        }\n        if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n            activeAxis.current = currentAxis;\n        }\n        if (!currentAxis) {\n            return true;\n        }\n        var cancelingAxis = activeAxis.current || currentAxis;\n        return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n    }, []);\n    var shouldPrevent = React.useCallback(function (_event) {\n        var event = _event;\n        if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n            // not the last active\n            return;\n        }\n        var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n        var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n        // self event, and should be canceled\n        if (sourceEvent && sourceEvent.should) {\n            if (event.cancelable) {\n                event.preventDefault();\n            }\n            return;\n        }\n        // outside or shard event\n        if (!sourceEvent) {\n            var shardNodes = (lastProps.current.shards || [])\n                .map(extractRef)\n                .filter(Boolean)\n                .filter(function (node) { return node.contains(event.target); });\n            var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n            if (shouldStop) {\n                if (event.cancelable) {\n                    event.preventDefault();\n                }\n            }\n        }\n    }, []);\n    var shouldCancel = React.useCallback(function (name, delta, target, should) {\n        var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n        shouldPreventQueue.current.push(event);\n        setTimeout(function () {\n            shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n        }, 1);\n    }, []);\n    var scrollTouchStart = React.useCallback(function (event) {\n        touchStartRef.current = getTouchXY(event);\n        activeAxis.current = undefined;\n    }, []);\n    var scrollWheel = React.useCallback(function (event) {\n        shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    var scrollTouchMove = React.useCallback(function (event) {\n        shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    React.useEffect(function () {\n        lockStack.push(Style);\n        props.setCallbacks({\n            onScrollCapture: scrollWheel,\n            onWheelCapture: scrollWheel,\n            onTouchMoveCapture: scrollTouchMove,\n        });\n        document.addEventListener('wheel', shouldPrevent, nonPassive);\n        document.addEventListener('touchmove', shouldPrevent, nonPassive);\n        document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n        return function () {\n            lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n            document.removeEventListener('wheel', shouldPrevent, nonPassive);\n            document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n            document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n        };\n    }, []);\n    var removeScrollBar = props.removeScrollBar, inert = props.inert;\n    return (React.createElement(React.Fragment, null,\n        inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n        removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n    var shadowParent = null;\n    while (node !== null) {\n        if (node instanceof ShadowRoot) {\n            shadowParent = node.host;\n            node = node.host;\n        }\n        node = node.parentNode;\n    }\n    return shadowParent;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n    return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n    var ref = React.useRef(null);\n    var _a = React.useState({\n        onScrollCapture: nothing,\n        onWheelCapture: nothing,\n        onTouchMoveCapture: nothing,\n    }), callbacks = _a[0], setCallbacks = _a[1];\n    var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n    var SideCar = sideCar;\n    var containerRef = useMergeRefs([ref, parentRef]);\n    var containerProps = __assign(__assign({}, rest), callbacks);\n    return (React.createElement(React.Fragment, null,\n        enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n        forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n    enabled: true,\n    removeScrollBar: true,\n    inert: false,\n};\nRemoveScroll.classNames = {\n    fullWidth: fullWidthClassName,\n    zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n    try {\n        var options = Object.defineProperty({}, 'passive', {\n            get: function () {\n                passiveSupported = true;\n                return true;\n            },\n        });\n        // @ts-ignore\n        window.addEventListener('test', options, options);\n        // @ts-ignore\n        window.removeEventListener('test', options, options);\n    }\n    catch (err) {\n        passiveSupported = false;\n    }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n    // textarea will always _contain_ scroll inside self. It only can be hidden\n    return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n    if (!(node instanceof Element)) {\n        return false;\n    }\n    var styles = window.getComputedStyle(node);\n    return (\n    // not-not-scrollable\n    styles[overflow] !== 'hidden' &&\n        // contains scroll inside self\n        !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n    var ownerDocument = node.ownerDocument;\n    var current = node;\n    do {\n        // Skip over shadow root\n        if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n            current = current.host;\n        }\n        var isScrollable = elementCouldBeScrolled(axis, current);\n        if (isScrollable) {\n            var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n            if (scrollHeight > clientHeight) {\n                return true;\n            }\n        }\n        current = current.parentNode;\n    } while (current && current !== ownerDocument.body);\n    return false;\n};\nvar getVScrollVariables = function (_a) {\n    var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n    return [\n        scrollTop,\n        scrollHeight,\n        clientHeight,\n    ];\n};\nvar getHScrollVariables = function (_a) {\n    var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n    return [\n        scrollLeft,\n        scrollWidth,\n        clientWidth,\n    ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n    return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n    return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n    /**\n     * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n     * and then increasingly negative as you scroll towards the end of the content.\n     * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n     */\n    return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n    var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n    var delta = directionFactor * sourceDelta;\n    // find scrollable target\n    var target = event.target;\n    var targetInLock = endTarget.contains(target);\n    var shouldCancelScroll = false;\n    var isDeltaPositive = delta > 0;\n    var availableScroll = 0;\n    var availableScrollTop = 0;\n    do {\n        var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n        var elementScroll = scroll_1 - capacity - directionFactor * position;\n        if (position || elementScroll) {\n            if (elementCouldBeScrolled(axis, target)) {\n                availableScroll += elementScroll;\n                availableScrollTop += position;\n            }\n        }\n        if (target instanceof ShadowRoot) {\n            target = target.host;\n        }\n        else {\n            target = target.parentNode;\n        }\n    } while (\n    // portaled content\n    (!targetInLock && target !== document.body) ||\n        // self content\n        (targetInLock && (endTarget.contains(target) || endTarget === target)));\n    // handle epsilon around 0 (non standard zoom levels)\n    if (isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n        shouldCancelScroll = true;\n    }\n    else if (!isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n        shouldCancelScroll = true;\n    }\n    return shouldCancelScroll;\n};\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n    var useStyle = styleHookSingleton();\n    var Sheet = function (_a) {\n        var styles = _a.styles, dynamic = _a.dynamic;\n        useStyle(styles, dynamic);\n        return null;\n    };\n    return Sheet;\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n    var sheet = stylesheetSingleton();\n    return function (styles, isDynamic) {\n        React.useEffect(function () {\n            sheet.add(styles);\n            return function () {\n                sheet.remove();\n            };\n        }, [styles && isDynamic]);\n    };\n};\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n    if (!document)\n        return null;\n    var tag = document.createElement('style');\n    tag.type = 'text/css';\n    var nonce = getNonce();\n    if (nonce) {\n        tag.setAttribute('nonce', nonce);\n    }\n    return tag;\n}\nfunction injectStyles(tag, css) {\n    // @ts-ignore\n    if (tag.styleSheet) {\n        // @ts-ignore\n        tag.styleSheet.cssText = css;\n    }\n    else {\n        tag.appendChild(document.createTextNode(css));\n    }\n}\nfunction insertStyleTag(tag) {\n    var head = document.head || document.getElementsByTagName('head')[0];\n    head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n    var counter = 0;\n    var stylesheet = null;\n    return {\n        add: function (style) {\n            if (counter == 0) {\n                if ((stylesheet = makeStyleTag())) {\n                    injectStyles(stylesheet, style);\n                    insertStyleTag(stylesheet);\n                }\n            }\n            counter++;\n        },\n        remove: function () {\n            counter--;\n            if (!counter && stylesheet) {\n                stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n                stylesheet = null;\n            }\n        },\n    };\n};\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n  module.exports = require('./cjs/scheduler.development.js');\n}\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).Tribute=t()}(this,(function(){\"use strict\";function e(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function t(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function n(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e)))return;var n=[],i=!0,r=!1,o=void 0;try{for(var u,l=e[Symbol.iterator]();!(i=(u=l.next()).done)&&(n.push(u.value),!t||n.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw o}}return n}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}if(Array.prototype.find||(Array.prototype.find=function(e){if(null===this)throw new TypeError(\"Array.prototype.find called on null or undefined\");if(\"function\"!=typeof e)throw new TypeError(\"predicate must be a function\");for(var t,n=Object(this),i=n.length>>>0,r=arguments[1],o=0;o<i;o++)if(t=n[o],e.call(r,t,o,n))return t}),window&&\"function\"!=typeof window.CustomEvent){var r=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n};void 0!==window.Event&&(r.prototype=window.Event.prototype),window.CustomEvent=r}var o=function(){function t(n){e(this,t),this.tribute=n,this.tribute.events=this}return n(t,[{key:\"bind\",value:function(e){e.boundKeydown=this.keydown.bind(e,this),e.boundKeyup=this.keyup.bind(e,this),e.boundInput=this.input.bind(e,this),e.addEventListener(\"keydown\",e.boundKeydown,!1),e.addEventListener(\"keyup\",e.boundKeyup,!1),e.addEventListener(\"input\",e.boundInput,!1)}},{key:\"unbind\",value:function(e){e.removeEventListener(\"keydown\",e.boundKeydown,!1),e.removeEventListener(\"keyup\",e.boundKeyup,!1),e.removeEventListener(\"input\",e.boundInput,!1),delete e.boundKeydown,delete e.boundKeyup,delete e.boundInput}},{key:\"keydown\",value:function(e,n){e.shouldDeactivate(n)&&(e.tribute.isActive=!1,e.tribute.hideMenu());var i=this;e.commandEvent=!1,t.keys().forEach((function(t){t.key===n.keyCode&&(e.commandEvent=!0,e.callbacks()[t.value.toLowerCase()](n,i))}))}},{key:\"input\",value:function(e,t){e.inputEvent=!0,e.keyup.call(this,e,t)}},{key:\"click\",value:function(e,t){var n=e.tribute;if(n.menu&&n.menu.contains(t.target)){var i=t.target;for(t.preventDefault(),t.stopPropagation();\"li\"!==i.nodeName.toLowerCase();)if(!(i=i.parentNode)||i===n.menu)throw new Error(\"cannot find the <li> container for the click\");n.selectItemAtIndex(i.getAttribute(\"data-index\"),t),n.hideMenu()}else n.current.element&&!n.current.externalTrigger&&(n.current.externalTrigger=!1,setTimeout((function(){return n.hideMenu()})))}},{key:\"keyup\",value:function(e,t){if(e.inputEvent&&(e.inputEvent=!1),e.updateSelection(this),27!==t.keyCode){if(!e.tribute.allowSpaces&&e.tribute.hasTrailingSpace)return e.tribute.hasTrailingSpace=!1,e.commandEvent=!0,void e.callbacks().space(t,this);if(!e.tribute.isActive)if(e.tribute.autocompleteMode)e.callbacks().triggerChar(t,this,\"\");else{var n=e.getKeyCode(e,this,t);if(isNaN(n)||!n)return;var i=e.tribute.triggers().find((function(e){return e.charCodeAt(0)===n}));void 0!==i&&e.callbacks().triggerChar(t,this,i)}e.tribute.current.mentionText.length<e.tribute.current.collection.menuShowMinLength||((e.tribute.current.trigger||e.tribute.autocompleteMode)&&!1===e.commandEvent||e.tribute.isActive&&8===t.keyCode)&&e.tribute.showMenuFor(this,!0)}}},{key:\"shouldDeactivate\",value:function(e){if(!this.tribute.isActive)return!1;if(0===this.tribute.current.mentionText.length){var n=!1;return t.keys().forEach((function(t){e.keyCode===t.key&&(n=!0)})),!n}return!1}},{key:\"getKeyCode\",value:function(e,t,n){var i=e.tribute,r=i.range.getTriggerInfo(!1,i.hasTrailingSpace,!0,i.allowSpaces,i.autocompleteMode);return!!r&&r.mentionTriggerChar.charCodeAt(0)}},{key:\"updateSelection\",value:function(e){this.tribute.current.element=e;var t=this.tribute.range.getTriggerInfo(!1,this.tribute.hasTrailingSpace,!0,this.tribute.allowSpaces,this.tribute.autocompleteMode);t&&(this.tribute.current.selectedPath=t.mentionSelectedPath,this.tribute.current.mentionText=t.mentionText,this.tribute.current.selectedOffset=t.mentionSelectedOffset)}},{key:\"callbacks\",value:function(){var e=this;return{triggerChar:function(t,n,i){var r=e.tribute;r.current.trigger=i;var o=r.collection.find((function(e){return e.trigger===i}));r.current.collection=o,r.current.mentionText.length>=r.current.collection.menuShowMinLength&&r.inputEvent&&r.showMenuFor(n,!0)},enter:function(t,n){e.tribute.isActive&&e.tribute.current.filteredItems&&(t.preventDefault(),t.stopPropagation(),setTimeout((function(){e.tribute.selectItemAtIndex(e.tribute.menuSelected,t),e.tribute.hideMenu()}),0))},escape:function(t,n){e.tribute.isActive&&(t.preventDefault(),t.stopPropagation(),e.tribute.isActive=!1,e.tribute.hideMenu())},tab:function(t,n){e.callbacks().enter(t,n)},space:function(t,n){e.tribute.isActive&&(e.tribute.spaceSelectsMatch?e.callbacks().enter(t,n):e.tribute.allowSpaces||(t.stopPropagation(),setTimeout((function(){e.tribute.hideMenu(),e.tribute.isActive=!1}),0)))},up:function(t,n){if(e.tribute.isActive&&e.tribute.current.filteredItems){t.preventDefault(),t.stopPropagation();var i=e.tribute.current.filteredItems.length,r=e.tribute.menuSelected;i>r&&r>0?(e.tribute.menuSelected--,e.setActiveLi()):0===r&&(e.tribute.menuSelected=i-1,e.setActiveLi(),e.tribute.menu.scrollTop=e.tribute.menu.scrollHeight)}},down:function(t,n){if(e.tribute.isActive&&e.tribute.current.filteredItems){t.preventDefault(),t.stopPropagation();var i=e.tribute.current.filteredItems.length-1,r=e.tribute.menuSelected;i>r?(e.tribute.menuSelected++,e.setActiveLi()):i===r&&(e.tribute.menuSelected=0,e.setActiveLi(),e.tribute.menu.scrollTop=0)}},delete:function(t,n){e.tribute.isActive&&e.tribute.current.mentionText.length<1?e.tribute.hideMenu():e.tribute.isActive&&e.tribute.showMenuFor(n)}}}},{key:\"setActiveLi\",value:function(e){var t=this.tribute.menu.querySelectorAll(\"li\"),n=t.length>>>0;e&&(this.tribute.menuSelected=parseInt(e));for(var i=0;i<n;i++){var r=t[i];if(i===this.tribute.menuSelected){r.classList.add(this.tribute.current.collection.selectClass);var o=r.getBoundingClientRect(),u=this.tribute.menu.getBoundingClientRect();if(o.bottom>u.bottom){var l=o.bottom-u.bottom;this.tribute.menu.scrollTop+=l}else if(o.top<u.top){var s=u.top-o.top;this.tribute.menu.scrollTop-=s}}else r.classList.remove(this.tribute.current.collection.selectClass)}}},{key:\"getFullHeight\",value:function(e,t){var n=e.getBoundingClientRect().height;if(t){var i=e.currentStyle||window.getComputedStyle(e);return n+parseFloat(i.marginTop)+parseFloat(i.marginBottom)}return n}}],[{key:\"keys\",value:function(){return[{key:9,value:\"TAB\"},{key:8,value:\"DELETE\"},{key:13,value:\"ENTER\"},{key:27,value:\"ESCAPE\"},{key:32,value:\"SPACE\"},{key:38,value:\"UP\"},{key:40,value:\"DOWN\"}]}}]),t}(),u=function(){function t(n){e(this,t),this.tribute=n,this.tribute.menuEvents=this,this.menu=this.tribute.menu}return n(t,[{key:\"bind\",value:function(e){var t=this;this.menuClickEvent=this.tribute.events.click.bind(null,this),this.menuContainerScrollEvent=this.debounce((function(){t.tribute.isActive&&t.tribute.showMenuFor(t.tribute.current.element,!1)}),300,!1),this.windowResizeEvent=this.debounce((function(){t.tribute.isActive&&t.tribute.range.positionMenuAtCaret(!0)}),300,!1),this.tribute.range.getDocument().addEventListener(\"MSPointerDown\",this.menuClickEvent,!1),this.tribute.range.getDocument().addEventListener(\"mousedown\",this.menuClickEvent,!1),window.addEventListener(\"resize\",this.windowResizeEvent),this.menuContainer?this.menuContainer.addEventListener(\"scroll\",this.menuContainerScrollEvent,!1):window.addEventListener(\"scroll\",this.menuContainerScrollEvent)}},{key:\"unbind\",value:function(e){this.tribute.range.getDocument().removeEventListener(\"mousedown\",this.menuClickEvent,!1),this.tribute.range.getDocument().removeEventListener(\"MSPointerDown\",this.menuClickEvent,!1),window.removeEventListener(\"resize\",this.windowResizeEvent),this.menuContainer?this.menuContainer.removeEventListener(\"scroll\",this.menuContainerScrollEvent,!1):window.removeEventListener(\"scroll\",this.menuContainerScrollEvent)}},{key:\"debounce\",value:function(e,t,n){var i,r=arguments,o=this;return function(){var u=o,l=r,s=n&&!i;clearTimeout(i),i=setTimeout((function(){i=null,n||e.apply(u,l)}),t),s&&e.apply(u,l)}}}]),t}(),l=function(){function t(n){e(this,t),this.tribute=n,this.tribute.range=this}return n(t,[{key:\"getDocument\",value:function(){var e;return this.tribute.current.collection&&(e=this.tribute.current.collection.iframe),e?e.contentWindow.document:document}},{key:\"positionMenuAtCaret\",value:function(e){var t,n=this,i=this.tribute.current,r=this.getTriggerInfo(!1,this.tribute.hasTrailingSpace,!0,this.tribute.allowSpaces,this.tribute.autocompleteMode);if(void 0!==r){if(!this.tribute.positionMenu)return void(this.tribute.menu.style.cssText=\"display: block;\");t=this.isContentEditable(i.element)?this.getContentEditableCaretPosition(r.mentionPosition):this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element,r.mentionPosition),this.tribute.menu.style.cssText=\"top: \".concat(t.top,\"px;\\n                                     left: \").concat(t.left,\"px;\\n                                     right: \").concat(t.right,\"px;\\n                                     bottom: \").concat(t.bottom,\"px;\\n                                     position: absolute;\\n                                     display: block;\"),\"auto\"===t.left&&(this.tribute.menu.style.left=\"auto\"),\"auto\"===t.top&&(this.tribute.menu.style.top=\"auto\"),e&&this.scrollIntoView(),window.setTimeout((function(){var i={width:n.tribute.menu.offsetWidth,height:n.tribute.menu.offsetHeight},r=n.isMenuOffScreen(t,i),o=window.innerWidth>i.width&&(r.left||r.right),u=window.innerHeight>i.height&&(r.top||r.bottom);(o||u)&&(n.tribute.menu.style.cssText=\"display: none\",n.positionMenuAtCaret(e))}),0)}else this.tribute.menu.style.cssText=\"display: none\"}},{key:\"selectElement\",value:function(e,t,n){var i,r=e;if(t)for(var o=0;o<t.length;o++){if(void 0===(r=r.childNodes[t[o]]))return;for(;r.length<n;)n-=r.length,r=r.nextSibling;0!==r.childNodes.length||r.length||(r=r.previousSibling)}var u=this.getWindowSelection();(i=this.getDocument().createRange()).setStart(r,n),i.setEnd(r,n),i.collapse(!0);try{u.removeAllRanges()}catch(e){}u.addRange(i),e.focus()}},{key:\"replaceTriggerText\",value:function(e,t,n,i,r){var o=this.getTriggerInfo(!0,n,t,this.tribute.allowSpaces,this.tribute.autocompleteMode);if(void 0!==o){var u=this.tribute.current,l=new CustomEvent(\"tribute-replaced\",{detail:{item:r,instance:u,context:o,event:i}});if(this.isContentEditable(u.element)){e+=\"string\"==typeof this.tribute.replaceTextSuffix?this.tribute.replaceTextSuffix:\" \";var s=o.mentionPosition+o.mentionText.length;this.tribute.autocompleteMode||(s+=o.mentionTriggerChar.length),this.pasteHtml(e,o.mentionPosition,s)}else{var a=this.tribute.current.element,c=\"string\"==typeof this.tribute.replaceTextSuffix?this.tribute.replaceTextSuffix:\" \";e+=c;var h=o.mentionPosition,d=o.mentionPosition+o.mentionText.length+c.length;this.tribute.autocompleteMode||(d+=o.mentionTriggerChar.length-1),a.value=a.value.substring(0,h)+e+a.value.substring(d,a.value.length),a.selectionStart=h+e.length,a.selectionEnd=h+e.length}u.element.dispatchEvent(new CustomEvent(\"input\",{bubbles:!0})),u.element.dispatchEvent(l)}}},{key:\"pasteHtml\",value:function(e,t,n){var i,r;r=this.getWindowSelection(),(i=this.getDocument().createRange()).setStart(r.anchorNode,t),i.setEnd(r.anchorNode,n),i.deleteContents();var o=this.getDocument().createElement(\"div\");o.innerHTML=e;for(var u,l,s=this.getDocument().createDocumentFragment();u=o.firstChild;)l=s.appendChild(u);i.insertNode(s),l&&((i=i.cloneRange()).setStartAfter(l),i.collapse(!0),r.removeAllRanges(),r.addRange(i))}},{key:\"getWindowSelection\",value:function(){return this.tribute.collection.iframe?this.tribute.collection.iframe.contentWindow.getSelection():window.getSelection()}},{key:\"getNodePositionInParent\",value:function(e){if(null===e.parentNode)return 0;for(var t=0;t<e.parentNode.childNodes.length;t++){if(e.parentNode.childNodes[t]===e)return t}}},{key:\"getContentEditableSelectedPath\",value:function(e){var t=this.getWindowSelection(),n=t.anchorNode,i=[];if(null!=n){for(var r,o=n.contentEditable;null!==n&&\"true\"!==o;)r=this.getNodePositionInParent(n),i.push(r),null!==(n=n.parentNode)&&(o=n.contentEditable);return i.reverse(),{selected:n,path:i,offset:t.getRangeAt(0).startOffset}}}},{key:\"getTextPrecedingCurrentSelection\",value:function(){var e=this.tribute.current,t=\"\";if(this.isContentEditable(e.element)){var n=this.getWindowSelection().anchorNode;if(null!=n){var i=n.textContent,r=this.getWindowSelection().getRangeAt(0).startOffset;i&&r>=0&&(t=i.substring(0,r))}}else{var o=this.tribute.current.element;if(o){var u=o.selectionStart;o.value&&u>=0&&(t=o.value.substring(0,u))}}return t}},{key:\"getLastWordInText\",value:function(e){var t=(e=e.replace(/\\u00A0/g,\" \")).split(/\\s+/);return t[t.length-1].trim()}},{key:\"getTriggerInfo\",value:function(e,t,n,i,r){var o,u,l,s=this,a=this.tribute.current;if(this.isContentEditable(a.element)){var c=this.getContentEditableSelectedPath(a);c&&(o=c.selected,u=c.path,l=c.offset)}else o=this.tribute.current.element;var h=this.getTextPrecedingCurrentSelection(),d=this.getLastWordInText(h);if(r)return{mentionPosition:h.length-d.length,mentionText:d,mentionSelectedElement:o,mentionSelectedPath:u,mentionSelectedOffset:l};if(null!=h){var f,m=-1;if(this.tribute.collection.forEach((function(e){var t=e.trigger,i=e.requireLeadingSpace?s.lastIndexWithLeadingSpace(h,t):h.lastIndexOf(t);i>m&&(m=i,f=t,n=e.requireLeadingSpace)})),m>=0&&(0===m||!n||/[\\xA0\\s]/g.test(h.substring(m-1,m)))){var p=h.substring(m+f.length,h.length);f=h.substring(m,m+f.length);var v=p.substring(0,1),g=p.length>0&&(\" \"===v||\" \"===v);t&&(p=p.trim());var b=i?/[^\\S ]/g:/[\\xA0\\s]/g;if(this.tribute.hasTrailingSpace=b.test(p),!g&&(e||!b.test(p)))return{mentionPosition:m,mentionText:p,mentionSelectedElement:o,mentionSelectedPath:u,mentionSelectedOffset:l,mentionTriggerChar:f}}}}},{key:\"lastIndexWithLeadingSpace\",value:function(e,t){for(var n=e.split(\"\").reverse().join(\"\"),i=-1,r=0,o=e.length;r<o;r++){for(var u=r===e.length-1,l=/\\s/.test(n[r+1]),s=!0,a=t.length-1;a>=0;a--)if(t[a]!==n[r-a]){s=!1;break}if(s&&(u||l)){i=e.length-1-r;break}}return i}},{key:\"isContentEditable\",value:function(e){return\"INPUT\"!==e.nodeName&&\"TEXTAREA\"!==e.nodeName}},{key:\"isMenuOffScreen\",value:function(e,t){var n=window.innerWidth,i=window.innerHeight,r=document.documentElement,o=(window.pageXOffset||r.scrollLeft)-(r.clientLeft||0),u=(window.pageYOffset||r.scrollTop)-(r.clientTop||0),l=\"number\"==typeof e.top?e.top:u+i-e.bottom-t.height,s=\"number\"==typeof e.right?e.right:e.left+t.width,a=\"number\"==typeof e.bottom?e.bottom:e.top+t.height,c=\"number\"==typeof e.left?e.left:o+n-e.right-t.width;return{top:l<Math.floor(u),right:s>Math.ceil(o+n),bottom:a>Math.ceil(u+i),left:c<Math.floor(o)}}},{key:\"getMenuDimensions\",value:function(){var e={width:null,height:null};return this.tribute.menu.style.cssText=\"top: 0px;\\n                                 left: 0px;\\n                                 position: fixed;\\n                                 display: block;\\n                                 visibility; hidden;\",e.width=this.tribute.menu.offsetWidth,e.height=this.tribute.menu.offsetHeight,this.tribute.menu.style.cssText=\"display: none;\",e}},{key:\"getTextAreaOrInputUnderlinePosition\",value:function(e,t,n){var i=null!==window.mozInnerScreenX,r=this.getDocument().createElement(\"div\");r.id=\"input-textarea-caret-position-mirror-div\",this.getDocument().body.appendChild(r);var o=r.style,u=window.getComputedStyle?getComputedStyle(e):e.currentStyle;o.whiteSpace=\"pre-wrap\",\"INPUT\"!==e.nodeName&&(o.wordWrap=\"break-word\"),o.position=\"absolute\",o.visibility=\"hidden\",[\"direction\",\"boxSizing\",\"width\",\"height\",\"overflowX\",\"overflowY\",\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\",\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"fontStretch\",\"fontSize\",\"fontSizeAdjust\",\"lineHeight\",\"fontFamily\",\"textAlign\",\"textTransform\",\"textIndent\",\"textDecoration\",\"letterSpacing\",\"wordSpacing\"].forEach((function(e){o[e]=u[e]})),i?(o.width=\"\".concat(parseInt(u.width)-2,\"px\"),e.scrollHeight>parseInt(u.height)&&(o.overflowY=\"scroll\")):o.overflow=\"hidden\",r.textContent=e.value.substring(0,t),\"INPUT\"===e.nodeName&&(r.textContent=r.textContent.replace(/\\s/g,\" \"));var l=this.getDocument().createElement(\"span\");l.textContent=e.value.substring(t)||\".\",r.appendChild(l);var s=e.getBoundingClientRect(),a=document.documentElement,c=(window.pageXOffset||a.scrollLeft)-(a.clientLeft||0),h=(window.pageYOffset||a.scrollTop)-(a.clientTop||0),d=0,f=0;this.menuContainerIsBody&&(d=s.top,f=s.left);var m={top:d+h+l.offsetTop+parseInt(u.borderTopWidth)+parseInt(u.fontSize)-e.scrollTop,left:f+c+l.offsetLeft+parseInt(u.borderLeftWidth)},p=window.innerWidth,v=window.innerHeight,g=this.getMenuDimensions(),b=this.isMenuOffScreen(m,g);b.right&&(m.right=p-m.left,m.left=\"auto\");var y=this.tribute.menuContainer?this.tribute.menuContainer.offsetHeight:this.getDocument().body.offsetHeight;if(b.bottom){var w=y-(v-(this.tribute.menuContainer?this.tribute.menuContainer.getBoundingClientRect():this.getDocument().body.getBoundingClientRect()).top);m.bottom=w+(v-s.top-l.offsetTop),m.top=\"auto\"}return(b=this.isMenuOffScreen(m,g)).left&&(m.left=p>g.width?c+p-g.width:c,delete m.right),b.top&&(m.top=v>g.height?h+v-g.height:h,delete m.bottom),this.getDocument().body.removeChild(r),m}},{key:\"getContentEditableCaretPosition\",value:function(e){var t,n=this.getWindowSelection();(t=this.getDocument().createRange()).setStart(n.anchorNode,e),t.setEnd(n.anchorNode,e),t.collapse(!1);var i=t.getBoundingClientRect(),r=document.documentElement,o=(window.pageXOffset||r.scrollLeft)-(r.clientLeft||0),u=(window.pageYOffset||r.scrollTop)-(r.clientTop||0),l={left:i.left+o,top:i.top+i.height+u},s=window.innerWidth,a=window.innerHeight,c=this.getMenuDimensions(),h=this.isMenuOffScreen(l,c);h.right&&(l.left=\"auto\",l.right=s-i.left-o);var d=this.tribute.menuContainer?this.tribute.menuContainer.offsetHeight:this.getDocument().body.offsetHeight;if(h.bottom){var f=d-(a-(this.tribute.menuContainer?this.tribute.menuContainer.getBoundingClientRect():this.getDocument().body.getBoundingClientRect()).top);l.top=\"auto\",l.bottom=f+(a-i.top)}return(h=this.isMenuOffScreen(l,c)).left&&(l.left=s>c.width?o+s-c.width:o,delete l.right),h.top&&(l.top=a>c.height?u+a-c.height:u,delete l.bottom),this.menuContainerIsBody||(l.left=l.left?l.left-this.tribute.menuContainer.offsetLeft:l.left,l.top=l.top?l.top-this.tribute.menuContainer.offsetTop:l.top),l}},{key:\"scrollIntoView\",value:function(e){var t,n=this.menu;if(void 0!==n){for(;void 0===t||0===t.height;)if(0===(t=n.getBoundingClientRect()).height&&(void 0===(n=n.childNodes[0])||!n.getBoundingClientRect))return;var i=t.top,r=i+t.height;if(i<0)window.scrollTo(0,window.pageYOffset+t.top-20);else if(r>window.innerHeight){var o=window.pageYOffset+t.top-20;o-window.pageYOffset>100&&(o=window.pageYOffset+100);var u=window.pageYOffset-(window.innerHeight-r);u>o&&(u=o),window.scrollTo(0,u)}}}},{key:\"menuContainerIsBody\",get:function(){return this.tribute.menuContainer===document.body||!this.tribute.menuContainer}}]),t}(),s=function(){function t(n){e(this,t),this.tribute=n,this.tribute.search=this}return n(t,[{key:\"simpleFilter\",value:function(e,t){var n=this;return t.filter((function(t){return n.test(e,t)}))}},{key:\"test\",value:function(e,t){return null!==this.match(e,t)}},{key:\"match\",value:function(e,t,n){n=n||{};t.length;var i=n.pre||\"\",r=n.post||\"\",o=n.caseSensitive&&t||t.toLowerCase();if(n.skip)return{rendered:t,score:0};e=n.caseSensitive&&e||e.toLowerCase();var u=this.traverse(o,e,0,0,[]);return u?{rendered:this.render(t,u.cache,i,r),score:u.score}:null}},{key:\"traverse\",value:function(e,t,n,i,r){if(t.length===i)return{score:this.calculateScore(r),cache:r.slice()};if(!(e.length===n||t.length-i>e.length-n)){for(var o,u,l=t[i],s=e.indexOf(l,n);s>-1;){if(r.push(s),u=this.traverse(e,t,s+1,i+1,r),r.pop(),!u)return o;(!o||o.score<u.score)&&(o=u),s=e.indexOf(l,s+1)}return o}}},{key:\"calculateScore\",value:function(e){var t=0,n=1;return e.forEach((function(i,r){r>0&&(e[r-1]+1===i?n+=n+1:n=1),t+=n})),t}},{key:\"render\",value:function(e,t,n,i){var r=e.substring(0,t[0]);return t.forEach((function(o,u){r+=n+e[o]+i+e.substring(o+1,t[u+1]?t[u+1]:e.length)})),r}},{key:\"filter\",value:function(e,t,n){var i=this;return n=n||{},t.reduce((function(t,r,o,u){var l=r;n.extract&&((l=n.extract(r))||(l=\"\"));var s=i.match(e,l,n);return null!=s&&(t[t.length]={string:s.rendered,score:s.score,index:o,original:r}),t}),[]).sort((function(e,t){var n=t.score-e.score;return n||e.index-t.index}))}}]),t}();return function(){function t(n){var i,r=this,a=n.values,c=void 0===a?null:a,h=n.iframe,d=void 0===h?null:h,f=n.selectClass,m=void 0===f?\"highlight\":f,p=n.containerClass,v=void 0===p?\"tribute-container\":p,g=n.itemClass,b=void 0===g?\"\":g,y=n.trigger,w=void 0===y?\"@\":y,T=n.autocompleteMode,C=void 0!==T&&T,S=n.selectTemplate,E=void 0===S?null:S,k=n.menuItemTemplate,x=void 0===k?null:k,M=n.lookup,A=void 0===M?\"key\":M,L=n.fillAttr,I=void 0===L?\"value\":L,N=n.collection,O=void 0===N?null:N,D=n.menuContainer,P=void 0===D?null:D,R=n.noMatchTemplate,W=void 0===R?null:R,H=n.requireLeadingSpace,B=void 0===H||H,F=n.allowSpaces,_=void 0!==F&&F,j=n.replaceTextSuffix,Y=void 0===j?null:j,z=n.positionMenu,K=void 0===z||z,q=n.spaceSelectsMatch,U=void 0!==q&&q,X=n.searchOpts,Q=void 0===X?{}:X,V=n.menuItemLimit,G=void 0===V?null:V,J=n.menuShowMinLength,Z=void 0===J?0:J;if(e(this,t),this.autocompleteMode=C,this.menuSelected=0,this.current={},this.inputEvent=!1,this.isActive=!1,this.menuContainer=P,this.allowSpaces=_,this.replaceTextSuffix=Y,this.positionMenu=K,this.hasTrailingSpace=!1,this.spaceSelectsMatch=U,this.autocompleteMode&&(w=\"\",_=!1),c)this.collection=[{trigger:w,iframe:d,selectClass:m,containerClass:v,itemClass:b,selectTemplate:(E||t.defaultSelectTemplate).bind(this),menuItemTemplate:(x||t.defaultMenuItemTemplate).bind(this),noMatchTemplate:(i=W,\"string\"==typeof i?\"\"===i.trim()?null:i:\"function\"==typeof i?i.bind(r):W||function(){return\"<li>No Match Found!</li>\"}.bind(r)),lookup:A,fillAttr:I,values:c,requireLeadingSpace:B,searchOpts:Q,menuItemLimit:G,menuShowMinLength:Z}];else{if(!O)throw new Error(\"[Tribute] No collection specified.\");this.autocompleteMode&&console.warn(\"Tribute in autocomplete mode does not work for collections\"),this.collection=O.map((function(e){return{trigger:e.trigger||w,iframe:e.iframe||d,selectClass:e.selectClass||m,containerClass:e.containerClass||v,itemClass:e.itemClass||b,selectTemplate:(e.selectTemplate||t.defaultSelectTemplate).bind(r),menuItemTemplate:(e.menuItemTemplate||t.defaultMenuItemTemplate).bind(r),noMatchTemplate:function(e){return\"string\"==typeof e?\"\"===e.trim()?null:e:\"function\"==typeof e?e.bind(r):W||function(){return\"<li>No Match Found!</li>\"}.bind(r)}(W),lookup:e.lookup||A,fillAttr:e.fillAttr||I,values:e.values,requireLeadingSpace:e.requireLeadingSpace,searchOpts:e.searchOpts||Q,menuItemLimit:e.menuItemLimit||G,menuShowMinLength:e.menuShowMinLength||Z}}))}new l(this),new o(this),new u(this),new s(this)}return n(t,[{key:\"triggers\",value:function(){return this.collection.map((function(e){return e.trigger}))}},{key:\"attach\",value:function(e){if(!e)throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");if(\"undefined\"!=typeof jQuery&&e instanceof jQuery&&(e=e.get()),e.constructor===NodeList||e.constructor===HTMLCollection||e.constructor===Array)for(var t=e.length,n=0;n<t;++n)this._attach(e[n]);else this._attach(e)}},{key:\"_attach\",value:function(e){e.hasAttribute(\"data-tribute\")&&console.warn(\"Tribute was already bound to \"+e.nodeName),this.ensureEditable(e),this.events.bind(e),e.setAttribute(\"data-tribute\",!0)}},{key:\"ensureEditable\",value:function(e){if(-1===t.inputTypes().indexOf(e.nodeName)){if(!e.contentEditable)throw new Error(\"[Tribute] Cannot bind to \"+e.nodeName);e.contentEditable=!0}}},{key:\"createMenu\",value:function(e){var t=this.range.getDocument().createElement(\"div\"),n=this.range.getDocument().createElement(\"ul\");return t.className=e,t.appendChild(n),this.menuContainer?this.menuContainer.appendChild(t):this.range.getDocument().body.appendChild(t)}},{key:\"showMenuFor\",value:function(e,t){var n=this;if(!this.isActive||this.current.element!==e||this.current.mentionText!==this.currentMentionTextSnapshot){this.currentMentionTextSnapshot=this.current.mentionText,this.menu||(this.menu=this.createMenu(this.current.collection.containerClass),e.tributeMenu=this.menu,this.menuEvents.bind(this.menu)),this.isActive=!0,this.menuSelected=0,this.current.mentionText||(this.current.mentionText=\"\");var r=function(e){if(n.isActive){var r=n.search.filter(n.current.mentionText,e,{pre:n.current.collection.searchOpts.pre||\"<span>\",post:n.current.collection.searchOpts.post||\"</span>\",skip:n.current.collection.searchOpts.skip,extract:function(e){if(\"string\"==typeof n.current.collection.lookup)return e[n.current.collection.lookup];if(\"function\"==typeof n.current.collection.lookup)return n.current.collection.lookup(e,n.current.mentionText);throw new Error(\"Invalid lookup attribute, lookup must be string or function.\")}});n.current.collection.menuItemLimit&&(r=r.slice(0,n.current.collection.menuItemLimit)),n.current.filteredItems=r;var o=n.menu.querySelector(\"ul\");if(n.range.positionMenuAtCaret(t),!r.length){var u=new CustomEvent(\"tribute-no-match\",{detail:n.menu});return n.current.element.dispatchEvent(u),void(\"function\"==typeof n.current.collection.noMatchTemplate&&!n.current.collection.noMatchTemplate()||!n.current.collection.noMatchTemplate?n.hideMenu():\"function\"==typeof n.current.collection.noMatchTemplate?o.innerHTML=n.current.collection.noMatchTemplate():o.innerHTML=n.current.collection.noMatchTemplate)}o.innerHTML=\"\";var l=n.range.getDocument().createDocumentFragment();r.forEach((function(e,t){var r=n.range.getDocument().createElement(\"li\");r.setAttribute(\"data-index\",t),r.className=n.current.collection.itemClass,r.addEventListener(\"mousemove\",(function(e){var t=i(n._findLiTarget(e.target),2),r=(t[0],t[1]);0!==e.movementY&&n.events.setActiveLi(r)})),n.menuSelected===t&&r.classList.add(n.current.collection.selectClass),r.innerHTML=n.current.collection.menuItemTemplate(e),l.appendChild(r)})),o.appendChild(l)}};\"function\"==typeof this.current.collection.values?this.current.collection.values(this.current.mentionText,r):r(this.current.collection.values)}}},{key:\"_findLiTarget\",value:function(e){if(!e)return[];var t=e.getAttribute(\"data-index\");return t?[e,t]:this._findLiTarget(e.parentNode)}},{key:\"showMenuForCollection\",value:function(e,t){e!==document.activeElement&&this.placeCaretAtEnd(e),this.current.collection=this.collection[t||0],this.current.externalTrigger=!0,this.current.element=e,e.isContentEditable?this.insertTextAtCursor(this.current.collection.trigger):this.insertAtCaret(e,this.current.collection.trigger),this.showMenuFor(e)}},{key:\"placeCaretAtEnd\",value:function(e){if(e.focus(),void 0!==window.getSelection&&void 0!==document.createRange){var t=document.createRange();t.selectNodeContents(e),t.collapse(!1);var n=window.getSelection();n.removeAllRanges(),n.addRange(t)}else if(void 0!==document.body.createTextRange){var i=document.body.createTextRange();i.moveToElementText(e),i.collapse(!1),i.select()}}},{key:\"insertTextAtCursor\",value:function(e){var t,n;(n=(t=window.getSelection()).getRangeAt(0)).deleteContents();var i=document.createTextNode(e);n.insertNode(i),n.selectNodeContents(i),n.collapse(!1),t.removeAllRanges(),t.addRange(n)}},{key:\"insertAtCaret\",value:function(e,t){var n=e.scrollTop,i=e.selectionStart,r=e.value.substring(0,i),o=e.value.substring(e.selectionEnd,e.value.length);e.value=r+t+o,i+=t.length,e.selectionStart=i,e.selectionEnd=i,e.focus(),e.scrollTop=n}},{key:\"hideMenu\",value:function(){this.menu&&(this.menu.style.cssText=\"display: none;\",this.isActive=!1,this.menuSelected=0,this.current={})}},{key:\"selectItemAtIndex\",value:function(e,t){if(\"number\"==typeof(e=parseInt(e))&&!isNaN(e)){var n=this.current.filteredItems[e],i=this.current.collection.selectTemplate(n);null!==i&&this.replaceText(i,t,n)}}},{key:\"replaceText\",value:function(e,t,n){this.range.replaceTriggerText(e,!0,!0,t,n)}},{key:\"_append\",value:function(e,t,n){if(\"function\"==typeof e.values)throw new Error(\"Unable to append to values, as it is a function.\");e.values=n?t:e.values.concat(t)}},{key:\"append\",value:function(e,t,n){var i=parseInt(e);if(\"number\"!=typeof i)throw new Error(\"please provide an index for the collection to update.\");var r=this.collection[i];this._append(r,t,n)}},{key:\"appendCurrent\",value:function(e,t){if(!this.isActive)throw new Error(\"No active state. Please use append instead and pass an index.\");this._append(this.current.collection,e,t)}},{key:\"detach\",value:function(e){if(!e)throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");if(\"undefined\"!=typeof jQuery&&e instanceof jQuery&&(e=e.get()),e.constructor===NodeList||e.constructor===HTMLCollection||e.constructor===Array)for(var t=e.length,n=0;n<t;++n)this._detach(e[n]);else this._detach(e)}},{key:\"_detach\",value:function(e){var t=this;this.events.unbind(e),e.tributeMenu&&this.menuEvents.unbind(e.tributeMenu),setTimeout((function(){e.removeAttribute(\"data-tribute\"),t.isActive=!1,e.tributeMenu&&e.tributeMenu.remove()}))}},{key:\"isActive\",get:function(){return this._isActive},set:function(e){if(this._isActive!=e&&(this._isActive=e,this.current.element)){var t=new CustomEvent(\"tribute-active-\".concat(e));this.current.element.dispatchEvent(t)}}}],[{key:\"defaultSelectTemplate\",value:function(e){return void 0===e?\"\".concat(this.current.collection.trigger).concat(this.current.mentionText):this.range.isContentEditable(this.current.element)?'<span class=\"tribute-mention\">'+(this.current.collection.trigger+e.original[this.current.collection.fillAttr])+\"</span>\":this.current.collection.trigger+e.original[this.current.collection.fillAttr]}},{key:\"defaultMenuItemTemplate\",value:function(e){return e.string}},{key:\"inputTypes\",value:function(){return[\"TEXTAREA\",\"INPUT\"]}}]),t}()}));\n//# sourceMappingURL=tribute.min.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.instanceOf = exports.select = exports.ANONYMOUS_SELECT_KEY = exports.not = exports.when = void 0;\nconst symbols = require(\"./symbols\");\nconst when = (predicate) => ({\n    [symbols.PatternKind]: symbols.Guard,\n    [symbols.Guard]: predicate,\n});\nexports.when = when;\nconst not = (pattern) => ({\n    [symbols.PatternKind]: symbols.Not,\n    [symbols.Not]: pattern,\n});\nexports.not = not;\nexports.ANONYMOUS_SELECT_KEY = '@ts-pattern/__anonymous-select-key';\nfunction select(key) {\n    return key === undefined\n        ? {\n            [symbols.PatternKind]: symbols.AnonymousSelect,\n        }\n        : {\n            [symbols.PatternKind]: symbols.NamedSelect,\n            [symbols.NamedSelect]: key,\n        };\n}\nexports.select = select;\nfunction isInstanceOf(classConstructor) {\n    return (val) => val instanceof classConstructor;\n}\nconst instanceOf = (classConstructor) => (0, exports.when)(isInstanceOf(classConstructor));\nexports.instanceOf = instanceOf;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMatching = exports.match = exports.instanceOf = exports.select = exports.not = exports.when = exports.__ = void 0;\nconst symbols = require(\"./symbols\");\nconst guards_1 = require(\"./guards\");\nObject.defineProperty(exports, \"when\", { enumerable: true, get: function () { return guards_1.when; } });\nObject.defineProperty(exports, \"not\", { enumerable: true, get: function () { return guards_1.not; } });\nObject.defineProperty(exports, \"select\", { enumerable: true, get: function () { return guards_1.select; } });\nObject.defineProperty(exports, \"instanceOf\", { enumerable: true, get: function () { return guards_1.instanceOf; } });\nconst wildcards_1 = require(\"./wildcards\");\nObject.defineProperty(exports, \"__\", { enumerable: true, get: function () { return wildcards_1.__; } });\n/**\n * #### match\n *\n * Entry point to create a pattern matching expression.\n *\n * It returns a `Match` builder, on which you can chain\n * several `.with(pattern, handler)` clauses.\n */\nconst match = (value) => builder(value, []);\nexports.match = match;\n/**\n * ### builder\n * This is the implementation of our pattern matching, using the\n * builder pattern.\n */\nconst builder = (value, cases) => {\n    const run = () => {\n        const entry = cases.find(({ test }) => test(value));\n        if (!entry) {\n            let displayedValue;\n            try {\n                displayedValue = JSON.stringify(value);\n            }\n            catch (e) {\n                displayedValue = value;\n            }\n            throw new Error(`Pattern matching error: no pattern matches value ${displayedValue}`);\n        }\n        return entry.handler(entry.select(value), value);\n    };\n    return {\n        with(...args) {\n            const handler = args[args.length - 1];\n            const patterns = [];\n            const predicates = [];\n            for (let i = 0; i < args.length - 1; i++) {\n                const arg = args[i];\n                if (typeof arg === 'function') {\n                    predicates.push(arg);\n                }\n                else {\n                    patterns.push(arg);\n                }\n            }\n            let selected = {};\n            const doesMatch = (value) => Boolean(patterns.some((pattern) => matchPattern(pattern, value, (key, value) => {\n                selected[key] = value;\n            })) && predicates.every((predicate) => predicate(value)));\n            return builder(value, cases.concat([\n                {\n                    test: doesMatch,\n                    handler,\n                    select: (value) => Object.keys(selected).length\n                        ? selected[guards_1.ANONYMOUS_SELECT_KEY] !== undefined\n                            ? selected[guards_1.ANONYMOUS_SELECT_KEY]\n                            : selected\n                        : value,\n                },\n            ]));\n        },\n        when: (predicate, handler) => builder(value, cases.concat([\n            {\n                test: predicate,\n                handler,\n                select: (value) => value,\n            },\n        ])),\n        otherwise: (handler) => builder(value, cases.concat([\n            {\n                test: () => true,\n                handler,\n                select: (value) => value,\n            },\n        ])).run(),\n        exhaustive: () => run(),\n        run,\n    };\n};\nconst isObject = (value) => Boolean(value && typeof value === 'object');\nconst isGuardPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.Guard;\n};\nconst isNotPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.Not;\n};\nconst isNamedSelectPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.NamedSelect;\n};\nconst isAnonymousSelectPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.AnonymousSelect;\n};\n// tells us if the value matches a given pattern.\nconst matchPattern = (pattern, value, select) => {\n    if (isObject(pattern)) {\n        if (isGuardPattern(pattern))\n            return Boolean(pattern[symbols.Guard](value));\n        if (isNamedSelectPattern(pattern)) {\n            select(pattern[symbols.NamedSelect], value);\n            return true;\n        }\n        if (isAnonymousSelectPattern(pattern)) {\n            select(guards_1.ANONYMOUS_SELECT_KEY, value);\n            return true;\n        }\n        if (isNotPattern(pattern))\n            return !matchPattern(pattern[symbols.Not], value, select);\n        if (!isObject(value))\n            return false;\n        if (Array.isArray(pattern)) {\n            if (!Array.isArray(value))\n                return false;\n            // List pattern\n            if (pattern.length === 1) {\n                const selected = {};\n                const listSelect = (key, value) => {\n                    selected[key] = (selected[key] || []).concat([value]);\n                };\n                const doesMatch = value.every((v) => matchPattern(pattern[0], v, listSelect));\n                if (doesMatch) {\n                    Object.keys(selected).forEach((key) => select(key, selected[key]));\n                }\n                return doesMatch;\n            }\n            // Tuple pattern\n            return pattern.length === value.length\n                ? pattern.every((subPattern, i) => matchPattern(subPattern, value[i], select))\n                : false;\n        }\n        if (pattern instanceof Map) {\n            if (!(value instanceof Map))\n                return false;\n            return [...pattern.keys()].every((key) => matchPattern(pattern.get(key), value.get(key), select));\n        }\n        if (pattern instanceof Set) {\n            if (!(value instanceof Set))\n                return false;\n            if (pattern.size === 0)\n                return value.size === 0;\n            if (pattern.size === 1) {\n                const [subPattern] = [...pattern.values()];\n                return Object.values(wildcards_1.__).includes(subPattern)\n                    ? matchPattern([subPattern], [...value.values()], select)\n                    : value.has(subPattern);\n            }\n            return [...pattern.values()].every((subPattern) => value.has(subPattern));\n        }\n        return Object.keys(pattern).every((k) => k in value &&\n            matchPattern(\n            // @ts-ignore\n            pattern[k], \n            // @ts-ignore\n            value[k], select));\n    }\n    return value === pattern;\n};\nfunction isMatching(...args) {\n    if (args.length === 1) {\n        const [pattern] = args;\n        return (value) => matchPattern(pattern, value, () => { });\n    }\n    if (args.length === 2) {\n        const [pattern, value] = args;\n        return matchPattern(pattern, value, () => { });\n    }\n    throw new Error(`isMatching wasn't given enough arguments: expected 1 or 2, received ${args.length}.`);\n}\nexports.isMatching = isMatching;\n","\"use strict\";\n/**\n * Symbols used internally within ts-pattern to construct and discriminate\n * Guard, Not, and Select, and AnonymousSelect patterns\n *\n * Symbols have the advantage of not appearing in auto-complete suggestions in\n * user defined patterns, and eliminate the admittedly unlikely risk of property\n * overlap between ts-pattern internals and user defined patterns.\n *\n * These symbols have to be visible to tsc for type inference to work, but\n * users should not import them\n * @module\n * @private\n * @internal\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnonymousSelect = exports.NamedSelect = exports.Not = exports.Guard = exports.PatternKind = void 0;\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.PatternKind = Symbol('@ts-pattern/pattern-kind');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.Guard = Symbol('@ts-pattern/guard');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.Not = Symbol('@ts-pattern/not');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.NamedSelect = Symbol('@ts-pattern/named-select');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.AnonymousSelect = Symbol('@ts-pattern/anonymous-select');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.__ = void 0;\nconst guards_1 = require(\"./guards\");\nfunction isUnknown(x) {\n    return true;\n}\nfunction isNumber(x) {\n    return typeof x === 'number';\n}\nfunction numberIsNaN(x) {\n    return Number.isNaN(x);\n}\nfunction isString(x) {\n    return typeof x === 'string';\n}\nfunction isBoolean(x) {\n    return typeof x === 'boolean';\n}\nfunction isNullish(x) {\n    return x === null || x === undefined;\n}\nconst unknownGuard = (0, guards_1.when)(isUnknown);\nconst stringGuard = (0, guards_1.when)(isString);\nconst numberGuard = (0, guards_1.when)(isNumber);\nconst NaNGuard = (0, guards_1.when)(numberIsNaN);\nconst booleanGuard = (0, guards_1.when)(isBoolean);\nconst nullishGuard = (0, guards_1.when)(isNullish);\n/**\n * ### Catch All wildcard\n * `__` is wildcard pattern, matching **any value**.\n *\n * `__.string` is wildcard pattern matching any **string**.\n *\n * `__.number` is wildcard pattern matching any **number**.\n *\n * `__.NaN` is wildcard pattern matching **NaN**\n *\n * `__.boolean` is wildcard pattern matching any **boolean**.\n *\n * `__.nullish` is wildcard pattern matching **null** or **undefined**.\n * @example\n *  match(value)\n *   .with(__, () => 'will always match')\n *   .with(__.string, () => 'will match on strings only')\n *   .with(__.number, () => 'will match on numbers only')\n *   .with(__.NaN, () => 'will match on NaN')\n *   .with(__.boolean, () => 'will match on booleans only')\n *   .with(__.nullish, () => 'will match on null or undefined only')\n */\nexports.__ = Object.assign(unknownGuard, {\n    string: stringGuard,\n    number: numberGuard,\n    NaN: NaNGuard,\n    boolean: booleanGuard,\n    nullish: nullishGuard,\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n    if (typeof ref === 'function') {\n        ref(value);\n    }\n    else if (ref) {\n        ref.current = value;\n    }\n    return ref;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n *   const ownRef = useRef();\n *   const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n *   return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n    var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n        return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n    });\n    // handle refs changes - added or removed\n    useIsomorphicLayoutEffect(function () {\n        var oldValue = currentValues.get(callbackRef);\n        if (oldValue) {\n            var prevRefs_1 = new Set(oldValue);\n            var nextRefs_1 = new Set(refs);\n            var current_1 = callbackRef.current;\n            prevRefs_1.forEach(function (ref) {\n                if (!nextRefs_1.has(ref)) {\n                    assignRef(ref, null);\n                }\n            });\n            nextRefs_1.forEach(function (ref) {\n                if (!prevRefs_1.has(ref)) {\n                    assignRef(ref, current_1);\n                }\n            });\n        }\n        currentValues.set(callbackRef, refs);\n    }, [refs]);\n    return callbackRef;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n    var ref = useState(function () { return ({\n        // value\n        value: initialValue,\n        // last callback\n        callback: callback,\n        // \"memoized\" public interface\n        facade: {\n            get current() {\n                return ref.value;\n            },\n            set current(value) {\n                var last = ref.value;\n                if (last !== value) {\n                    ref.value = value;\n                    ref.callback(value, last);\n                }\n            },\n        },\n    }); })[0];\n    // update callback\n    ref.callback = callback;\n    return ref.facade;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n    var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n    if (!sideCar) {\n        throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n    }\n    var Target = sideCar.read();\n    if (!Target) {\n        throw new Error('Sidecar medium not found');\n    }\n    return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n    medium.useMedium(exported);\n    return SideCar;\n}\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n    return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    var buffer = [];\n    var assigned = false;\n    var medium = {\n        read: function () {\n            if (assigned) {\n                throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n            }\n            if (buffer.length) {\n                return buffer[buffer.length - 1];\n            }\n            return defaults;\n        },\n        useMedium: function (data) {\n            var item = middleware(data, assigned);\n            buffer.push(item);\n            return function () {\n                buffer = buffer.filter(function (x) { return x !== item; });\n            };\n        },\n        assignSyncMedium: function (cb) {\n            assigned = true;\n            while (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n            }\n            buffer = {\n                push: function (x) { return cb(x); },\n                filter: function () { return buffer; },\n            };\n        },\n        assignMedium: function (cb) {\n            assigned = true;\n            var pendingQueue = [];\n            if (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n                pendingQueue = buffer;\n            }\n            var executeQueue = function () {\n                var cbs = pendingQueue;\n                pendingQueue = [];\n                cbs.forEach(cb);\n            };\n            var cycle = function () { return Promise.resolve().then(executeQueue); };\n            cycle();\n            buffer = {\n                push: function (x) {\n                    pendingQueue.push(x);\n                    cycle();\n                },\n                filter: function (filter) {\n                    pendingQueue = pendingQueue.filter(filter);\n                    return buffer;\n                },\n            };\n        },\n    };\n    return medium;\n}\nexport function createMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n    if (options === void 0) { options = {}; }\n    var medium = innerCreateMedium(null);\n    medium.options = __assign({ async: true, ssr: false }, options);\n    return medium;\n}\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","var rn=Object.defineProperty,dp=Object.defineProperties;var pp=Object.getOwnPropertyDescriptors;var Xt=Object.getOwnPropertySymbols;var on=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable;var tn=(e,t,r)=>t in e?rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,i=(e,t)=>{for(var r in t||(t={}))on.call(t,r)&&tn(e,r,t[r]);if(Xt)for(var r of Xt(t))nn.call(t,r)&&tn(e,r,t[r]);return e},c=(e,t)=>dp(e,pp(t));var d=(e,t)=>{var r={};for(var n in e)on.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Xt)for(var n of Xt(e))t.indexOf(n)<0&&nn.call(e,n)&&(r[n]=e[n]);return r};var v=(e,t)=>()=>(e&&(t=e(e=0)),t);var an=(e,t)=>{for(var r in t)rn(e,r,{get:t[r],enumerable:!0})};var ln=(e,t,r)=>new Promise((n,o)=>{var a=p=>{try{s(r.next(p))}catch(u){o(u)}},l=p=>{try{s(r.throw(p))}catch(u){o(u)}},s=p=>p.done?n(p.value):Promise.resolve(p.value).then(a,l);s((r=r.apply(e,t)).next())});var jr,sn=v(()=>{\"use strict\";jr=(e,t=2)=>{if(!+e)return\"0 Bytes\";let r=1024,n=t<0?0:t,o=[\"Bytes\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],a=Math.floor(Math.log(e)/Math.log(r));return`${parseFloat((e/Math.pow(r,a)).toFixed(n))} ${o[a]}`}});function Vp(){let e=0,t,r,n=\"\";for(;e<arguments.length;)(t=arguments[e++])&&(r=fn(t))&&(n&&(n+=\" \"),n+=r);return n}function pn(e,...t){let r,n,o,a=l;function l(p){let u=t.reduce((m,g)=>g(m),e());return r=yp(u),n=r.cache.get,o=r.cache.set,a=s,s(p)}function s(p){let u=n(p);if(u)return u;let m=Pp(p,r);return o(p,m),m}return function(){return a(Vp.apply(null,arguments))}}var ro,fp,un,cn,wp,gp,to,dn,hp,vp,bp,mn,xp,Sp,yp,Rp,Pp,fn,J,wn,Cp,Ip,Gp,Ep,Mp,Np,Tp,Ie,Oe,ut,eo,At,kp,O,Be,Lp,Ap,zp,Op,Bp,Hp,zt,mt,Fp,gn,Dp,Wp,Yt,_p,Ot,Kp,Up,hn,vn=v(()=>{\"use strict\";ro=\"-\",fp=e=>{let t=gp(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:l=>{let s=l.split(ro);return s[0]===\"\"&&s.length!==1&&s.shift(),un(s,t)||wp(l)},getConflictingClassGroupIds:(l,s)=>{let p=r[l]||[];return s&&n[l]?[...p,...n[l]]:p}}},un=(e,t)=>{var l;if(e.length===0)return t.classGroupId;let r=e[0],n=t.nextPart.get(r),o=n?un(e.slice(1),n):void 0;if(o)return o;if(t.validators.length===0)return;let a=e.join(ro);return(l=t.validators.find(({validator:s})=>s(a)))==null?void 0:l.classGroupId},cn=/^\\[(.+)\\]$/,wp=e=>{if(cn.test(e)){let t=cn.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(\":\"));if(r)return\"arbitrary..\"+r}},gp=e=>{let{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return vp(Object.entries(e.classGroups),r).forEach(([a,l])=>{to(l,n,a,t)}),n},to=(e,t,r,n)=>{e.forEach(o=>{if(typeof o==\"string\"){let a=o===\"\"?t:dn(t,o);a.classGroupId=r;return}if(typeof o==\"function\"){if(hp(o)){to(o(n),t,r,n);return}t.validators.push({validator:o,classGroupId:r});return}Object.entries(o).forEach(([a,l])=>{to(l,dn(t,a),r,n)})})},dn=(e,t)=>{let r=e;return t.split(ro).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},hp=e=>e.isThemeGetter,vp=(e,t)=>t?e.map(([r,n])=>{let o=n.map(a=>typeof a==\"string\"?t+a:typeof a==\"object\"?Object.fromEntries(Object.entries(a).map(([l,s])=>[t+l,s])):a);return[r,o]}):e,bp=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map,o=(a,l)=>{r.set(a,l),t++,t>e&&(t=0,n=r,r=new Map)};return{get(a){let l=r.get(a);if(l!==void 0)return l;if((l=n.get(a))!==void 0)return o(a,l),l},set(a,l){r.has(a)?r.set(a,l):o(a,l)}}},mn=\"!\",xp=e=>{let{separator:t,experimentalParseClassName:r}=e,n=t.length===1,o=t[0],a=t.length,l=s=>{let p=[],u=0,m=0,g;for(let S=0;S<s.length;S++){let x=s[S];if(u===0){if(x===o&&(n||s.slice(S,S+a)===t)){p.push(s.slice(m,S)),m=S+a;continue}if(x===\"/\"){g=S;continue}}x===\"[\"?u++:x===\"]\"&&u--}let b=p.length===0?s:s.substring(m),f=b.startsWith(mn),h=f?b.substring(1):b,y=g&&g>m?g-m:void 0;return{modifiers:p,hasImportantModifier:f,baseClassName:h,maybePostfixModifierPosition:y}};return r?s=>r({className:s,parseClassName:l}):l},Sp=e=>{if(e.length<=1)return e;let t=[],r=[];return e.forEach(n=>{n[0]===\"[\"?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},yp=e=>i({cache:bp(e.cacheSize),parseClassName:xp(e)},fp(e)),Rp=/\\s+/,Pp=(e,t)=>{let{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:o}=t,a=[],l=e.trim().split(Rp),s=\"\";for(let p=l.length-1;p>=0;p-=1){let u=l[p],{modifiers:m,hasImportantModifier:g,baseClassName:b,maybePostfixModifierPosition:f}=r(u),h=!!f,y=n(h?b.substring(0,f):b);if(!y){if(!h){s=u+(s.length>0?\" \"+s:s);continue}if(y=n(b),!y){s=u+(s.length>0?\" \"+s:s);continue}h=!1}let S=Sp(m).join(\":\"),x=g?S+mn:S,I=x+y;if(a.includes(I))continue;a.push(I);let M=o(y,h);for(let N=0;N<M.length;++N){let C=M[N];a.push(x+C)}s=u+(s.length>0?\" \"+s:s)}return s};fn=e=>{if(typeof e==\"string\")return e;let t,r=\"\";for(let n=0;n<e.length;n++)e[n]&&(t=fn(e[n]))&&(r&&(r+=\" \"),r+=t);return r};J=e=>{let t=r=>r[e]||[];return t.isThemeGetter=!0,t},wn=/^\\[(?:([a-z-]+):)?(.+)\\]$/i,Cp=/^\\d+\\/\\d+$/,Ip=new Set([\"px\",\"full\",\"screen\"]),Gp=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,Ep=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,Mp=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/,Np=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,Tp=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,Ie=e=>ut(e)||Ip.has(e)||Cp.test(e),Oe=e=>mt(e,\"length\",Fp),ut=e=>!!e&&!Number.isNaN(Number(e)),eo=e=>mt(e,\"number\",ut),At=e=>!!e&&Number.isInteger(Number(e)),kp=e=>e.endsWith(\"%\")&&ut(e.slice(0,-1)),O=e=>wn.test(e),Be=e=>Gp.test(e),Lp=new Set([\"length\",\"size\",\"percentage\"]),Ap=e=>mt(e,Lp,gn),zp=e=>mt(e,\"position\",gn),Op=new Set([\"image\",\"url\"]),Bp=e=>mt(e,Op,Wp),Hp=e=>mt(e,\"\",Dp),zt=()=>!0,mt=(e,t,r)=>{let n=wn.exec(e);return n?n[1]?typeof t==\"string\"?n[1]===t:t.has(n[1]):r(n[2]):!1},Fp=e=>Ep.test(e)&&!Mp.test(e),gn=()=>!1,Dp=e=>Np.test(e),Wp=e=>Tp.test(e),Yt=()=>{let e=J(\"colors\"),t=J(\"spacing\"),r=J(\"blur\"),n=J(\"brightness\"),o=J(\"borderColor\"),a=J(\"borderRadius\"),l=J(\"borderSpacing\"),s=J(\"borderWidth\"),p=J(\"contrast\"),u=J(\"grayscale\"),m=J(\"hueRotate\"),g=J(\"invert\"),b=J(\"gap\"),f=J(\"gradientColorStops\"),h=J(\"gradientColorStopPositions\"),y=J(\"inset\"),S=J(\"margin\"),x=J(\"opacity\"),I=J(\"padding\"),M=J(\"saturate\"),N=J(\"scale\"),C=J(\"sepia\"),A=J(\"skew\"),T=J(\"space\"),z=J(\"translate\"),V=()=>[\"auto\",\"contain\",\"none\"],G=()=>[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"],E=()=>[\"auto\",O,t],R=()=>[O,t],B=()=>[\"\",Ie,Oe],Z=()=>[\"auto\",ut,O],U=()=>[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\"],P=()=>[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"],X=()=>[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],Y=()=>[\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\"],D=()=>[\"\",\"0\",O],$=()=>[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"],W=()=>[ut,O];return{cacheSize:500,separator:\":\",theme:{colors:[zt],spacing:[Ie,Oe],blur:[\"none\",\"\",Be,O],brightness:W(),borderColor:[e],borderRadius:[\"none\",\"\",\"full\",Be,O],borderSpacing:R(),borderWidth:B(),contrast:W(),grayscale:D(),hueRotate:W(),invert:D(),gap:R(),gradientColorStops:[e],gradientColorStopPositions:[kp,Oe],inset:E(),margin:E(),opacity:W(),padding:R(),saturate:W(),scale:W(),sepia:D(),skew:W(),space:R(),translate:R()},classGroups:{aspect:[{aspect:[\"auto\",\"square\",\"video\",O]}],container:[\"container\"],columns:[{columns:[Be]}],\"break-after\":[{\"break-after\":$()}],\"break-before\":[{\"break-before\":$()}],\"break-inside\":[{\"break-inside\":[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"]}],\"box-decoration\":[{\"box-decoration\":[\"slice\",\"clone\"]}],box:[{box:[\"border\",\"content\"]}],display:[\"block\",\"inline-block\",\"inline\",\"flex\",\"inline-flex\",\"table\",\"inline-table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row-group\",\"table-row\",\"flow-root\",\"grid\",\"inline-grid\",\"contents\",\"list-item\",\"hidden\"],float:[{float:[\"right\",\"left\",\"none\",\"start\",\"end\"]}],clear:[{clear:[\"left\",\"right\",\"both\",\"none\",\"start\",\"end\"]}],isolation:[\"isolate\",\"isolation-auto\"],\"object-fit\":[{object:[\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\"]}],\"object-position\":[{object:[...U(),O]}],overflow:[{overflow:G()}],\"overflow-x\":[{\"overflow-x\":G()}],\"overflow-y\":[{\"overflow-y\":G()}],overscroll:[{overscroll:V()}],\"overscroll-x\":[{\"overscroll-x\":V()}],\"overscroll-y\":[{\"overscroll-y\":V()}],position:[\"static\",\"fixed\",\"absolute\",\"relative\",\"sticky\"],inset:[{inset:[y]}],\"inset-x\":[{\"inset-x\":[y]}],\"inset-y\":[{\"inset-y\":[y]}],start:[{start:[y]}],end:[{end:[y]}],top:[{top:[y]}],right:[{right:[y]}],bottom:[{bottom:[y]}],left:[{left:[y]}],visibility:[\"visible\",\"invisible\",\"collapse\"],z:[{z:[\"auto\",At,O]}],basis:[{basis:E()}],\"flex-direction\":[{flex:[\"row\",\"row-reverse\",\"col\",\"col-reverse\"]}],\"flex-wrap\":[{flex:[\"wrap\",\"wrap-reverse\",\"nowrap\"]}],flex:[{flex:[\"1\",\"auto\",\"initial\",\"none\",O]}],grow:[{grow:D()}],shrink:[{shrink:D()}],order:[{order:[\"first\",\"last\",\"none\",At,O]}],\"grid-cols\":[{\"grid-cols\":[zt]}],\"col-start-end\":[{col:[\"auto\",{span:[\"full\",At,O]},O]}],\"col-start\":[{\"col-start\":Z()}],\"col-end\":[{\"col-end\":Z()}],\"grid-rows\":[{\"grid-rows\":[zt]}],\"row-start-end\":[{row:[\"auto\",{span:[At,O]},O]}],\"row-start\":[{\"row-start\":Z()}],\"row-end\":[{\"row-end\":Z()}],\"grid-flow\":[{\"grid-flow\":[\"row\",\"col\",\"dense\",\"row-dense\",\"col-dense\"]}],\"auto-cols\":[{\"auto-cols\":[\"auto\",\"min\",\"max\",\"fr\",O]}],\"auto-rows\":[{\"auto-rows\":[\"auto\",\"min\",\"max\",\"fr\",O]}],gap:[{gap:[b]}],\"gap-x\":[{\"gap-x\":[b]}],\"gap-y\":[{\"gap-y\":[b]}],\"justify-content\":[{justify:[\"normal\",...Y()]}],\"justify-items\":[{\"justify-items\":[\"start\",\"end\",\"center\",\"stretch\"]}],\"justify-self\":[{\"justify-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],\"align-content\":[{content:[\"normal\",...Y(),\"baseline\"]}],\"align-items\":[{items:[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"align-self\":[{self:[\"auto\",\"start\",\"end\",\"center\",\"stretch\",\"baseline\"]}],\"place-content\":[{\"place-content\":[...Y(),\"baseline\"]}],\"place-items\":[{\"place-items\":[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"place-self\":[{\"place-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],p:[{p:[I]}],px:[{px:[I]}],py:[{py:[I]}],ps:[{ps:[I]}],pe:[{pe:[I]}],pt:[{pt:[I]}],pr:[{pr:[I]}],pb:[{pb:[I]}],pl:[{pl:[I]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],\"space-x\":[{\"space-x\":[T]}],\"space-x-reverse\":[\"space-x-reverse\"],\"space-y\":[{\"space-y\":[T]}],\"space-y-reverse\":[\"space-y-reverse\"],w:[{w:[\"auto\",\"min\",\"max\",\"fit\",\"svw\",\"lvw\",\"dvw\",O,t]}],\"min-w\":[{\"min-w\":[O,t,\"min\",\"max\",\"fit\"]}],\"max-w\":[{\"max-w\":[O,t,\"none\",\"full\",\"min\",\"max\",\"fit\",\"prose\",{screen:[Be]},Be]}],h:[{h:[O,t,\"auto\",\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"min-h\":[{\"min-h\":[O,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"max-h\":[{\"max-h\":[O,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],size:[{size:[O,t,\"auto\",\"min\",\"max\",\"fit\"]}],\"font-size\":[{text:[\"base\",Be,Oe]}],\"font-smoothing\":[\"antialiased\",\"subpixel-antialiased\"],\"font-style\":[\"italic\",\"not-italic\"],\"font-weight\":[{font:[\"thin\",\"extralight\",\"light\",\"normal\",\"medium\",\"semibold\",\"bold\",\"extrabold\",\"black\",eo]}],\"font-family\":[{font:[zt]}],\"fvn-normal\":[\"normal-nums\"],\"fvn-ordinal\":[\"ordinal\"],\"fvn-slashed-zero\":[\"slashed-zero\"],\"fvn-figure\":[\"lining-nums\",\"oldstyle-nums\"],\"fvn-spacing\":[\"proportional-nums\",\"tabular-nums\"],\"fvn-fraction\":[\"diagonal-fractions\",\"stacked-fractions\"],tracking:[{tracking:[\"tighter\",\"tight\",\"normal\",\"wide\",\"wider\",\"widest\",O]}],\"line-clamp\":[{\"line-clamp\":[\"none\",ut,eo]}],leading:[{leading:[\"none\",\"tight\",\"snug\",\"normal\",\"relaxed\",\"loose\",Ie,O]}],\"list-image\":[{\"list-image\":[\"none\",O]}],\"list-style-type\":[{list:[\"none\",\"disc\",\"decimal\",O]}],\"list-style-position\":[{list:[\"inside\",\"outside\"]}],\"placeholder-color\":[{placeholder:[e]}],\"placeholder-opacity\":[{\"placeholder-opacity\":[x]}],\"text-alignment\":[{text:[\"left\",\"center\",\"right\",\"justify\",\"start\",\"end\"]}],\"text-color\":[{text:[e]}],\"text-opacity\":[{\"text-opacity\":[x]}],\"text-decoration\":[\"underline\",\"overline\",\"line-through\",\"no-underline\"],\"text-decoration-style\":[{decoration:[...P(),\"wavy\"]}],\"text-decoration-thickness\":[{decoration:[\"auto\",\"from-font\",Ie,Oe]}],\"underline-offset\":[{\"underline-offset\":[\"auto\",Ie,O]}],\"text-decoration-color\":[{decoration:[e]}],\"text-transform\":[\"uppercase\",\"lowercase\",\"capitalize\",\"normal-case\"],\"text-overflow\":[\"truncate\",\"text-ellipsis\",\"text-clip\"],\"text-wrap\":[{text:[\"wrap\",\"nowrap\",\"balance\",\"pretty\"]}],indent:[{indent:R()}],\"vertical-align\":[{align:[\"baseline\",\"top\",\"middle\",\"bottom\",\"text-top\",\"text-bottom\",\"sub\",\"super\",O]}],whitespace:[{whitespace:[\"normal\",\"nowrap\",\"pre\",\"pre-line\",\"pre-wrap\",\"break-spaces\"]}],break:[{break:[\"normal\",\"words\",\"all\",\"keep\"]}],hyphens:[{hyphens:[\"none\",\"manual\",\"auto\"]}],content:[{content:[\"none\",O]}],\"bg-attachment\":[{bg:[\"fixed\",\"local\",\"scroll\"]}],\"bg-clip\":[{\"bg-clip\":[\"border\",\"padding\",\"content\",\"text\"]}],\"bg-opacity\":[{\"bg-opacity\":[x]}],\"bg-origin\":[{\"bg-origin\":[\"border\",\"padding\",\"content\"]}],\"bg-position\":[{bg:[...U(),zp]}],\"bg-repeat\":[{bg:[\"no-repeat\",{repeat:[\"\",\"x\",\"y\",\"round\",\"space\"]}]}],\"bg-size\":[{bg:[\"auto\",\"cover\",\"contain\",Ap]}],\"bg-image\":[{bg:[\"none\",{\"gradient-to\":[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},Bp]}],\"bg-color\":[{bg:[e]}],\"gradient-from-pos\":[{from:[h]}],\"gradient-via-pos\":[{via:[h]}],\"gradient-to-pos\":[{to:[h]}],\"gradient-from\":[{from:[f]}],\"gradient-via\":[{via:[f]}],\"gradient-to\":[{to:[f]}],rounded:[{rounded:[a]}],\"rounded-s\":[{\"rounded-s\":[a]}],\"rounded-e\":[{\"rounded-e\":[a]}],\"rounded-t\":[{\"rounded-t\":[a]}],\"rounded-r\":[{\"rounded-r\":[a]}],\"rounded-b\":[{\"rounded-b\":[a]}],\"rounded-l\":[{\"rounded-l\":[a]}],\"rounded-ss\":[{\"rounded-ss\":[a]}],\"rounded-se\":[{\"rounded-se\":[a]}],\"rounded-ee\":[{\"rounded-ee\":[a]}],\"rounded-es\":[{\"rounded-es\":[a]}],\"rounded-tl\":[{\"rounded-tl\":[a]}],\"rounded-tr\":[{\"rounded-tr\":[a]}],\"rounded-br\":[{\"rounded-br\":[a]}],\"rounded-bl\":[{\"rounded-bl\":[a]}],\"border-w\":[{border:[s]}],\"border-w-x\":[{\"border-x\":[s]}],\"border-w-y\":[{\"border-y\":[s]}],\"border-w-s\":[{\"border-s\":[s]}],\"border-w-e\":[{\"border-e\":[s]}],\"border-w-t\":[{\"border-t\":[s]}],\"border-w-r\":[{\"border-r\":[s]}],\"border-w-b\":[{\"border-b\":[s]}],\"border-w-l\":[{\"border-l\":[s]}],\"border-opacity\":[{\"border-opacity\":[x]}],\"border-style\":[{border:[...P(),\"hidden\"]}],\"divide-x\":[{\"divide-x\":[s]}],\"divide-x-reverse\":[\"divide-x-reverse\"],\"divide-y\":[{\"divide-y\":[s]}],\"divide-y-reverse\":[\"divide-y-reverse\"],\"divide-opacity\":[{\"divide-opacity\":[x]}],\"divide-style\":[{divide:P()}],\"border-color\":[{border:[o]}],\"border-color-x\":[{\"border-x\":[o]}],\"border-color-y\":[{\"border-y\":[o]}],\"border-color-s\":[{\"border-s\":[o]}],\"border-color-e\":[{\"border-e\":[o]}],\"border-color-t\":[{\"border-t\":[o]}],\"border-color-r\":[{\"border-r\":[o]}],\"border-color-b\":[{\"border-b\":[o]}],\"border-color-l\":[{\"border-l\":[o]}],\"divide-color\":[{divide:[o]}],\"outline-style\":[{outline:[\"\",...P()]}],\"outline-offset\":[{\"outline-offset\":[Ie,O]}],\"outline-w\":[{outline:[Ie,Oe]}],\"outline-color\":[{outline:[e]}],\"ring-w\":[{ring:B()}],\"ring-w-inset\":[\"ring-inset\"],\"ring-color\":[{ring:[e]}],\"ring-opacity\":[{\"ring-opacity\":[x]}],\"ring-offset-w\":[{\"ring-offset\":[Ie,Oe]}],\"ring-offset-color\":[{\"ring-offset\":[e]}],shadow:[{shadow:[\"\",\"inner\",\"none\",Be,Hp]}],\"shadow-color\":[{shadow:[zt]}],opacity:[{opacity:[x]}],\"mix-blend\":[{\"mix-blend\":[...X(),\"plus-lighter\",\"plus-darker\"]}],\"bg-blend\":[{\"bg-blend\":X()}],filter:[{filter:[\"\",\"none\"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[p]}],\"drop-shadow\":[{\"drop-shadow\":[\"\",\"none\",Be,O]}],grayscale:[{grayscale:[u]}],\"hue-rotate\":[{\"hue-rotate\":[m]}],invert:[{invert:[g]}],saturate:[{saturate:[M]}],sepia:[{sepia:[C]}],\"backdrop-filter\":[{\"backdrop-filter\":[\"\",\"none\"]}],\"backdrop-blur\":[{\"backdrop-blur\":[r]}],\"backdrop-brightness\":[{\"backdrop-brightness\":[n]}],\"backdrop-contrast\":[{\"backdrop-contrast\":[p]}],\"backdrop-grayscale\":[{\"backdrop-grayscale\":[u]}],\"backdrop-hue-rotate\":[{\"backdrop-hue-rotate\":[m]}],\"backdrop-invert\":[{\"backdrop-invert\":[g]}],\"backdrop-opacity\":[{\"backdrop-opacity\":[x]}],\"backdrop-saturate\":[{\"backdrop-saturate\":[M]}],\"backdrop-sepia\":[{\"backdrop-sepia\":[C]}],\"border-collapse\":[{border:[\"collapse\",\"separate\"]}],\"border-spacing\":[{\"border-spacing\":[l]}],\"border-spacing-x\":[{\"border-spacing-x\":[l]}],\"border-spacing-y\":[{\"border-spacing-y\":[l]}],\"table-layout\":[{table:[\"auto\",\"fixed\"]}],caption:[{caption:[\"top\",\"bottom\"]}],transition:[{transition:[\"none\",\"all\",\"\",\"colors\",\"opacity\",\"shadow\",\"transform\",O]}],duration:[{duration:W()}],ease:[{ease:[\"linear\",\"in\",\"out\",\"in-out\",O]}],delay:[{delay:W()}],animate:[{animate:[\"none\",\"spin\",\"ping\",\"pulse\",\"bounce\",O]}],transform:[{transform:[\"\",\"gpu\",\"none\"]}],scale:[{scale:[N]}],\"scale-x\":[{\"scale-x\":[N]}],\"scale-y\":[{\"scale-y\":[N]}],rotate:[{rotate:[At,O]}],\"translate-x\":[{\"translate-x\":[z]}],\"translate-y\":[{\"translate-y\":[z]}],\"skew-x\":[{\"skew-x\":[A]}],\"skew-y\":[{\"skew-y\":[A]}],\"transform-origin\":[{origin:[\"center\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",O]}],accent:[{accent:[\"auto\",e]}],appearance:[{appearance:[\"none\",\"auto\"]}],cursor:[{cursor:[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\",O]}],\"caret-color\":[{caret:[e]}],\"pointer-events\":[{\"pointer-events\":[\"none\",\"auto\"]}],resize:[{resize:[\"none\",\"y\",\"x\",\"\"]}],\"scroll-behavior\":[{scroll:[\"auto\",\"smooth\"]}],\"scroll-m\":[{\"scroll-m\":R()}],\"scroll-mx\":[{\"scroll-mx\":R()}],\"scroll-my\":[{\"scroll-my\":R()}],\"scroll-ms\":[{\"scroll-ms\":R()}],\"scroll-me\":[{\"scroll-me\":R()}],\"scroll-mt\":[{\"scroll-mt\":R()}],\"scroll-mr\":[{\"scroll-mr\":R()}],\"scroll-mb\":[{\"scroll-mb\":R()}],\"scroll-ml\":[{\"scroll-ml\":R()}],\"scroll-p\":[{\"scroll-p\":R()}],\"scroll-px\":[{\"scroll-px\":R()}],\"scroll-py\":[{\"scroll-py\":R()}],\"scroll-ps\":[{\"scroll-ps\":R()}],\"scroll-pe\":[{\"scroll-pe\":R()}],\"scroll-pt\":[{\"scroll-pt\":R()}],\"scroll-pr\":[{\"scroll-pr\":R()}],\"scroll-pb\":[{\"scroll-pb\":R()}],\"scroll-pl\":[{\"scroll-pl\":R()}],\"snap-align\":[{snap:[\"start\",\"end\",\"center\",\"align-none\"]}],\"snap-stop\":[{snap:[\"normal\",\"always\"]}],\"snap-type\":[{snap:[\"none\",\"x\",\"y\",\"both\"]}],\"snap-strictness\":[{snap:[\"mandatory\",\"proximity\"]}],touch:[{touch:[\"auto\",\"none\",\"manipulation\"]}],\"touch-x\":[{\"touch-pan\":[\"x\",\"left\",\"right\"]}],\"touch-y\":[{\"touch-pan\":[\"y\",\"up\",\"down\"]}],\"touch-pz\":[\"touch-pinch-zoom\"],select:[{select:[\"none\",\"text\",\"all\",\"auto\"]}],\"will-change\":[{\"will-change\":[\"auto\",\"scroll\",\"contents\",\"transform\",O]}],fill:[{fill:[e,\"none\"]}],\"stroke-w\":[{stroke:[Ie,Oe,eo]}],stroke:[{stroke:[e,\"none\"]}],sr:[\"sr-only\",\"not-sr-only\"],\"forced-color-adjust\":[{\"forced-color-adjust\":[\"auto\",\"none\"]}]},conflictingClassGroups:{overflow:[\"overflow-x\",\"overflow-y\"],overscroll:[\"overscroll-x\",\"overscroll-y\"],inset:[\"inset-x\",\"inset-y\",\"start\",\"end\",\"top\",\"right\",\"bottom\",\"left\"],\"inset-x\":[\"right\",\"left\"],\"inset-y\":[\"top\",\"bottom\"],flex:[\"basis\",\"grow\",\"shrink\"],gap:[\"gap-x\",\"gap-y\"],p:[\"px\",\"py\",\"ps\",\"pe\",\"pt\",\"pr\",\"pb\",\"pl\"],px:[\"pr\",\"pl\"],py:[\"pt\",\"pb\"],m:[\"mx\",\"my\",\"ms\",\"me\",\"mt\",\"mr\",\"mb\",\"ml\"],mx:[\"mr\",\"ml\"],my:[\"mt\",\"mb\"],size:[\"w\",\"h\"],\"font-size\":[\"leading\"],\"fvn-normal\":[\"fvn-ordinal\",\"fvn-slashed-zero\",\"fvn-figure\",\"fvn-spacing\",\"fvn-fraction\"],\"fvn-ordinal\":[\"fvn-normal\"],\"fvn-slashed-zero\":[\"fvn-normal\"],\"fvn-figure\":[\"fvn-normal\"],\"fvn-spacing\":[\"fvn-normal\"],\"fvn-fraction\":[\"fvn-normal\"],\"line-clamp\":[\"display\",\"overflow\"],rounded:[\"rounded-s\",\"rounded-e\",\"rounded-t\",\"rounded-r\",\"rounded-b\",\"rounded-l\",\"rounded-ss\",\"rounded-se\",\"rounded-ee\",\"rounded-es\",\"rounded-tl\",\"rounded-tr\",\"rounded-br\",\"rounded-bl\"],\"rounded-s\":[\"rounded-ss\",\"rounded-es\"],\"rounded-e\":[\"rounded-se\",\"rounded-ee\"],\"rounded-t\":[\"rounded-tl\",\"rounded-tr\"],\"rounded-r\":[\"rounded-tr\",\"rounded-br\"],\"rounded-b\":[\"rounded-br\",\"rounded-bl\"],\"rounded-l\":[\"rounded-tl\",\"rounded-bl\"],\"border-spacing\":[\"border-spacing-x\",\"border-spacing-y\"],\"border-w\":[\"border-w-s\",\"border-w-e\",\"border-w-t\",\"border-w-r\",\"border-w-b\",\"border-w-l\"],\"border-w-x\":[\"border-w-r\",\"border-w-l\"],\"border-w-y\":[\"border-w-t\",\"border-w-b\"],\"border-color\":[\"border-color-s\",\"border-color-e\",\"border-color-t\",\"border-color-r\",\"border-color-b\",\"border-color-l\"],\"border-color-x\":[\"border-color-r\",\"border-color-l\"],\"border-color-y\":[\"border-color-t\",\"border-color-b\"],\"scroll-m\":[\"scroll-mx\",\"scroll-my\",\"scroll-ms\",\"scroll-me\",\"scroll-mt\",\"scroll-mr\",\"scroll-mb\",\"scroll-ml\"],\"scroll-mx\":[\"scroll-mr\",\"scroll-ml\"],\"scroll-my\":[\"scroll-mt\",\"scroll-mb\"],\"scroll-p\":[\"scroll-px\",\"scroll-py\",\"scroll-ps\",\"scroll-pe\",\"scroll-pt\",\"scroll-pr\",\"scroll-pb\",\"scroll-pl\"],\"scroll-px\":[\"scroll-pr\",\"scroll-pl\"],\"scroll-py\":[\"scroll-pt\",\"scroll-pb\"],touch:[\"touch-x\",\"touch-y\",\"touch-pz\"],\"touch-x\":[\"touch\"],\"touch-y\":[\"touch\"],\"touch-pz\":[\"touch\"]},conflictingClassGroupModifiers:{\"font-size\":[\"leading\"]}}},_p=(e,{cacheSize:t,prefix:r,separator:n,experimentalParseClassName:o,extend:a={},override:l={}})=>{Ot(e,\"cacheSize\",t),Ot(e,\"prefix\",r),Ot(e,\"separator\",n),Ot(e,\"experimentalParseClassName\",o);for(let s in l)Kp(e[s],l[s]);for(let s in a)Up(e[s],a[s]);return e},Ot=(e,t,r)=>{r!==void 0&&(e[t]=r)},Kp=(e,t)=>{if(t)for(let r in t)Ot(e,r,t[r])},Up=(e,t)=>{if(t)for(let r in t){let n=t[r];n!==void 0&&(e[r]=(e[r]||[]).concat(n))}},hn=(e,...t)=>typeof e==\"function\"?pn(Yt,e,...t):pn(()=>_p(Yt(),e),...t)});var $p,w,bn=v(()=>{\"use strict\";vn();$p=Yt(),w=hn(()=>c(i({},$p),{prefix:\"tw-\"}))});var k=v(()=>{\"use strict\";sn();bn()});import{jsx as xn,jsxs as Zp}from\"react/jsx-runtime\";var qp,Sn,yn=v(()=>{\"use strict\";qp=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Zp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?xn(\"title\",{id:t,children:e}):null,xn(\"path\",{fillRule:\"evenodd\",d:\"M12.068 3.002a1 1 0 0 1 .902.755l3.25 13 2.852-7.128a1 1 0 0 1 1.76-.184l2 3a1 1 0 1 1-1.664 1.11l-.945-1.418-3.294 8.234a1 1 0 0 1-1.9-.128l-3.249-13-2.851 7.128A1 1 0 0 1 7.2 14.6L5 11.667 2.8 14.6a1 1 0 1 1-1.6-1.2l3-4a1 1 0 0 1 1.6 0l1.932 2.576 3.34-8.347a1 1 0 0 1 .996-.627\",clipRule:\"evenodd\"})]}))},Sn=qp});import{jsx as oo,jsxs as Yp}from\"react/jsx-runtime\";var Xp,Rn,Pn=v(()=>{\"use strict\";Xp=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Yp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 43 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?oo(\"title\",{id:t,children:e}):null,oo(\"path\",{fillRule:\"evenodd\",d:\"M9.43 3.359c-.333-.844-1.527-.844-1.86 0L6.538 5.975a1 1 0 0 1-.563.563L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.032a1 1 0 0 1 .563.563l1.032 2.616c.333.844 1.527.844 1.86 0l1.032-2.616a1 1 0 0 1 .563-.563l2.616-1.032c.844-.333.844-1.527 0-1.86l-2.616-1.032a1 1 0 0 1-.563-.563zm8.5 10c-.333-.844-1.527-.845-1.86 0l-.608 1.54a1 1 0 0 1-.563.563l-1.54.608c-.844.333-.845 1.527 0 1.86l1.54.608a1 1 0 0 1 .563.563l.608 1.54c.333.844 1.527.844 1.86 0l.608-1.54a1 1 0 0 1 .563-.563l1.54-.608c.844-.333.844-1.527 0-1.86l-1.54-.608a1 1 0 0 1-.563-.563z\",clipRule:\"evenodd\"}),oo(\"path\",{d:\"M30.385 6 26 17.424h2.064l1.073-3.024h4.558l1.073 3.024h2.144L32.512 6zM38 6v11.424h2V6zm-6.592 1.969h.047l1.713 4.912H29.68z\"})]}))},Rn=Xp});import{jsx as Vn,jsxs as Qp}from\"react/jsx-runtime\";var Jp,Cn,In=v(()=>{\"use strict\";Jp=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Qp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 20 20\",\"aria-labelledby\":t},r),{children:[e?Vn(\"title\",{id:t,children:e}):null,Vn(\"path\",{fillRule:\"evenodd\",d:\"M18 16.75H2v-1.5h16zM5.035 3.316a.5.5 0 0 1 .93 0l.973 2.464a.5.5 0 0 0 .28.282l2.466.97a.5.5 0 0 1 0 .93l-2.465.973a.5.5 0 0 0-.281.28l-.973 2.464a.5.5 0 0 1-.93 0l-.972-2.463a.5.5 0 0 0-.282-.281l-2.465-.972a.5.5 0 0 1 0-.93l2.465-.971a.5.5 0 0 0 .282-.282zM18 10.75h-6v-1.5h6zm0-5h-6v-1.5h6z\",clipRule:\"evenodd\"})]}))},Cn=Jp});import{jsx as Gn,jsxs as eu}from\"react/jsx-runtime\";var jp,En,Mn=v(()=>{\"use strict\";jp=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return eu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Gn(\"title\",{id:t,children:e}):null,Gn(\"path\",{fillRule:\"evenodd\",d:\"M11 17.586V4a1 1 0 1 1 2 0v13.586l5.293-5.293a1 1 0 0 1 1.414 1.414l-7 7a1 1 0 0 1-1.414 0l-7-7a1 1 0 1 1 1.414-1.414z\",clipRule:\"evenodd\"})]}))},En=jp});import{jsx as Nn,jsxs as ru}from\"react/jsx-runtime\";var tu,Tn,kn=v(()=>{\"use strict\";tu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return ru(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Nn(\"title\",{id:t,children:e}):null,Nn(\"path\",{fillRule:\"evenodd\",d:\"m9.414 16 8.293-8.293a1 1 0 0 0-1.414-1.414L8 14.586V7a1 1 0 0 0-2 0v10a1 1 0 0 0 1 1h10a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},Tn=tu});import{jsx as Ln,jsxs as nu}from\"react/jsx-runtime\";var ou,Jt,An=v(()=>{\"use strict\";ou=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return nu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Ln(\"title\",{id:t,children:e}):null,Ln(\"path\",{fillRule:\"evenodd\",d:\"M11.707 5.707a1 1 0 0 0-1.414-1.414l-7 7a1 1 0 0 0 0 1.414l7 7a1 1 0 0 0 1.414-1.414L6.414 13H20a1 1 0 1 0 0-2H6.414z\",clipRule:\"evenodd\"})]}))},Jt=ou});import{jsx as zn,jsxs as lu}from\"react/jsx-runtime\";var au,On,Bn=v(()=>{\"use strict\";au=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return lu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?zn(\"title\",{id:t,children:e}):null,zn(\"path\",{fillRule:\"evenodd\",d:\"M7 6a1 1 0 0 0-1 1v10a1 1 0 1 0 2 0V9.414l8.293 8.293a1 1 0 0 0 1.414-1.414L9.414 8H17a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},On=au});import{jsx as Hn,jsxs as su}from\"react/jsx-runtime\";var iu,Fn,Dn=v(()=>{\"use strict\";iu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return su(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Hn(\"title\",{id:t,children:e}):null,Hn(\"path\",{fillRule:\"evenodd\",d:\"M6.293 7.707a1 1 0 0 1 1.414-1.414L16 14.586V7a1 1 0 1 1 2 0v10a1 1 0 0 1-1 1H7a1 1 0 1 1 0-2h7.586z\",clipRule:\"evenodd\"})]}))},Fn=iu});import{jsx as Wn,jsxs as du}from\"react/jsx-runtime\";var cu,_n,Kn=v(()=>{\"use strict\";cu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return du(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Wn(\"title\",{id:t,children:e}):null,Wn(\"path\",{fillRule:\"evenodd\",d:\"M12.293 5.707a1 1 0 0 1 1.414-1.414l7 7a1 1 0 0 1 0 1.414l-7 7a1 1 0 0 1-1.414-1.414L17.586 13H4a1 1 0 1 1 0-2h13.586z\",clipRule:\"evenodd\"})]}))},_n=cu});import{jsx as Un,jsxs as uu}from\"react/jsx-runtime\";var pu,Qt,$n=v(()=>{\"use strict\";pu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return uu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Un(\"title\",{id:t,children:e}):null,Un(\"path\",{fillRule:\"evenodd\",d:\"M17.924 6.617a1 1 0 0 0-.215-.322l-.004-.004A1 1 0 0 0 17 6H7a1 1 0 0 0 0 2h7.586l-8.293 8.293a1 1 0 1 0 1.414 1.414L16 9.414V17a1 1 0 1 0 2 0V6.997a1 1 0 0 0-.076-.38\",clipRule:\"evenodd\"})]}))},Qt=pu});import{jsx as qn,jsxs as fu}from\"react/jsx-runtime\";var mu,Zn,Xn=v(()=>{\"use strict\";mu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return fu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?qn(\"title\",{id:t,children:e}):null,qn(\"path\",{fillRule:\"evenodd\",d:\"M5.707 11.707a1 1 0 0 1-1.414-1.414l7-7a1 1 0 0 1 1.414 0l7 7a1 1 0 0 1-1.414 1.414L13 6.414V20a1 1 0 1 1-2 0V6.414z\",clipRule:\"evenodd\"})]}))},Zn=mu});import{jsx as Yn,jsxs as gu}from\"react/jsx-runtime\";var wu,Jn,Qn=v(()=>{\"use strict\";wu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return gu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Yn(\"title\",{id:t,children:e}):null,Yn(\"path\",{fillRule:\"evenodd\",d:\"M7 9a5 5 0 0 1 10 0v1.93a3 3 0 0 0 1.336 2.496l.949.633a1.606 1.606 0 0 1-.89 2.941H5.604a1.606 1.606 0 0 1-.89-2.941l.95-.633A3 3 0 0 0 7 10.93zm5-7a7 7 0 0 0-7 7v1.93a1 1 0 0 1-.445.832l-.95.632a3.606 3.606 0 0 0 2 6.606H8c0 .15.034.304.106.448a4.8 4.8 0 0 0 1.608 1.848A4.1 4.1 0 0 0 12 22c.813 0 1.602-.248 2.286-.704a4.8 4.8 0 0 0 1.608-1.848A1 1 0 0 0 16 19h2.394a3.606 3.606 0 0 0 2-6.606l-.949-.632A1 1 0 0 1 19 10.93V9a7 7 0 0 0-7-7m1.832 17h-3.664c.19.258.413.47.656.632.37.246.774.368 1.176.368s.807-.122 1.176-.368c.243-.161.466-.374.656-.632\",clipRule:\"evenodd\"})]}))},Jn=wu});import{jsx as jn,jsxs as vu}from\"react/jsx-runtime\";var hu,ea,ta=v(()=>{\"use strict\";hu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return vu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?jn(\"title\",{id:t,children:e}):null,jn(\"path\",{d:\"M18 2a2 2 0 0 1 2 2v12a1 1 0 0 1-.927.996 2.86 2.86 0 0 0-.323 1.317c0 .48.12 1.032.398 1.699A1 1 0 0 1 19 22H6.5A3.5 3.5 0 0 1 3 18.5V6a4 4 0 0 1 4-4zM6.5 17a1.5 1.5 0 0 0 0 3h10.52a5.8 5.8 0 0 1-.27-1.687c0-.456.065-.892.186-1.313zm.25-12.982A2 2 0 0 0 5 6v9.336A3.5 3.5 0 0 1 6.5 15h.25zM8.25 15H18V4H8.25z\"})]}))},ea=hu});import{jsx as ra,jsxs as xu}from\"react/jsx-runtime\";var bu,oa,na=v(()=>{\"use strict\";bu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return xu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?ra(\"title\",{id:t,children:e}):null,ra(\"path\",{fillRule:\"evenodd\",d:\"M4 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v15.114c0 1.898-2.397 2.729-3.571 1.237L12 15.727l1.571-1.237L18 20.114V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v15.114l4.429-5.624a2 2 0 0 1 3.142 0L12 15.727l-4.429 5.624C6.397 22.843 4 22.012 4 20.114z\",clipRule:\"evenodd\"})]}))},oa=bu});import{jsx as aa,jsxs as yu}from\"react/jsx-runtime\";var Su,la,ia=v(()=>{\"use strict\";Su=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return yu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?aa(\"title\",{id:t,children:e}):null,aa(\"path\",{fillRule:\"evenodd\",d:\"M5 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0m0 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2M8 6a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2zm-1 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1m1 4a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},la=Su});import{jsx as sa,jsxs as Pu}from\"react/jsx-runtime\";var Ru,ca,da=v(()=>{\"use strict\";Ru=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Pu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?sa(\"title\",{id:t,children:e}):null,sa(\"path\",{fillRule:\"evenodd\",d:\"M8 1a1 1 0 0 1 1 1v1h6V2a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h2V2a1 1 0 0 1 1-1m8 4H5a1 1 0 0 0-1 1v1h16V6a1 1 0 0 0-1-1zM4 9v10a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V9z\",clipRule:\"evenodd\"})]}))},ca=Ru});import{jsx as pa,jsxs as Cu}from\"react/jsx-runtime\";var Vu,ua,ma=v(()=>{\"use strict\";Vu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Cu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?pa(\"title\",{id:t,children:e}):null,pa(\"path\",{fillRule:\"evenodd\",d:\"M5 2a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zM4 5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm12-3a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm-1 3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1zm-2 11a3 3 0 0 1 3-3h3a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3h-3a3 3 0 0 1-3-3zm3-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1zM5 13a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3v-3a3 3 0 0 0-3-3zm-1 3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z\",clipRule:\"evenodd\"})]}))},ua=Vu});import{jsx as fa,jsxs as Gu}from\"react/jsx-runtime\";var Iu,wa,ga=v(()=>{\"use strict\";Iu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Gu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?fa(\"title\",{id:t,children:e}):null,fa(\"path\",{fillRule:\"evenodd\",d:\"M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0m9-11C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m4.768 8.64a1 1 0 1 0-1.536-1.28l-4.3 5.159-2.225-2.226a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.475-.067z\",clipRule:\"evenodd\"})]}))},wa=Iu});import{jsx as ha,jsxs as Mu}from\"react/jsx-runtime\";var Eu,ft,va=v(()=>{\"use strict\";Eu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Mu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?ha(\"title\",{id:t,children:e}):null,ha(\"path\",{fillRule:\"evenodd\",d:\"M20.61 5.207a1 1 0 0 1 .183 1.403l-10 13a1 1 0 0 1-1.5.097l-5-5a1 1 0 0 1 1.414-1.414l4.195 4.195L19.207 5.39a1 1 0 0 1 1.403-.183\",clipRule:\"evenodd\"})]}))},ft=Eu});import{jsx as ba,jsxs as Tu}from\"react/jsx-runtime\";var Nu,xa,Sa=v(()=>{\"use strict\";Nu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Tu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?ba(\"title\",{id:t,children:e}):null,ba(\"path\",{fillRule:\"evenodd\",d:\"M7.707 5.293a1 1 0 0 0-1.414 0L5 6.586l-.293-.293a1 1 0 0 0-1.414 1.414l1 1a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0 0-1.414m0 5a1 1 0 0 0-1.414 0L5 11.586l-.293-.293a1 1 0 0 0-1.414 1.414l1 1a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0 0-1.414m-1.414 5a1 1 0 0 1 1.414 1.414l-2 2a1 1 0 0 1-1.414 0l-1-1a1 1 0 1 1 1.414-1.414l.293.293zM11 6a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2zm0 5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2zm0 5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},xa=Nu});import{jsx as ya,jsxs as Lu}from\"react/jsx-runtime\";var ku,jt,Ra=v(()=>{\"use strict\";ku=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Lu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 16 16\",\"aria-labelledby\":t},r),{children:[e?ya(\"title\",{id:t,children:e}):null,ya(\"path\",{fillRule:\"evenodd\",d:\"M12.682 4.269a1 1 0 0 1 .05 1.413l-5.6 6a1 1 0 0 1-1.416.047l-2.4-2.25A1 1 0 0 1 4.684 8.02l1.669 1.565 4.916-5.267a1 1 0 0 1 1.413-.049\",clipRule:\"evenodd\"})]}))},jt=ku});import{jsx as Pa,jsxs as zu}from\"react/jsx-runtime\";var Au,Va,Ca=v(()=>{\"use strict\";Au=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return zu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Pa(\"title\",{id:t,children:e}):null,Pa(\"path\",{fillRule:\"evenodd\",d:\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1z\",clipRule:\"evenodd\"})]}))},Va=Au});import{jsx as Ia,jsxs as Bu}from\"react/jsx-runtime\";var Ou,He,Ga=v(()=>{\"use strict\";Ou=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Bu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Ia(\"title\",{id:t,children:e}):null,Ia(\"path\",{fillRule:\"evenodd\",d:\"M7.293 9.293a1 1 0 0 1 1.414 0L12 12.586l3.293-3.293a1 1 0 1 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 0-1.414\",clipRule:\"evenodd\"})]}))},He=Ou});import{jsx as Ea,jsxs as Fu}from\"react/jsx-runtime\";var Hu,er,Ma=v(()=>{\"use strict\";Hu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Fu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Ea(\"title\",{id:t,children:e}):null,Ea(\"path\",{fillRule:\"evenodd\",d:\"M12.707 2.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 0 0 1.414 1.414L12 4.414l4.293 4.293a1 1 0 1 0 1.414-1.414zm5 14.414-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 1 1 1.414-1.414L12 19.586l4.293-4.293a1 1 0 0 1 1.414 1.414\",clipRule:\"evenodd\"})]}))},er=Hu});import{jsx as Na,jsxs as Wu}from\"react/jsx-runtime\";var Du,tr,Ta=v(()=>{\"use strict\";Du=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Wu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Na(\"title\",{id:t,children:e}):null,Na(\"path\",{fillRule:\"evenodd\",d:\"M14.707 7.293a1 1 0 0 1 0 1.414L11.414 12l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0\",clipRule:\"evenodd\"})]}))},tr=Du});import{jsx as ka,jsxs as Ku}from\"react/jsx-runtime\";var _u,Fe,La=v(()=>{\"use strict\";_u=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Ku(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?ka(\"title\",{id:t,children:e}):null,ka(\"path\",{fillRule:\"evenodd\",d:\"M9.293 16.707a1 1 0 0 1 0-1.414L12.586 12 9.293 8.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414 0\",clipRule:\"evenodd\"})]}))},Fe=_u});import{jsx as Aa,jsxs as $u}from\"react/jsx-runtime\";var Uu,za,Oa=v(()=>{\"use strict\";Uu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return $u(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Aa(\"title\",{id:t,children:e}):null,Aa(\"path\",{fillRule:\"evenodd\",d:\"m17.707 4.707-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 1.414-1.414L12 7.586l4.293-4.293a1 1 0 1 1 1.414 1.414m0 14.586-5-5a1 1 0 0 0-1.414 0l-5 5a1 1 0 1 0 1.414 1.414L12 16.414l4.293 4.293a1 1 0 0 0 1.414-1.414\",clipRule:\"evenodd\"})]}))},za=Uu});import{jsx as Ba,jsxs as Zu}from\"react/jsx-runtime\";var qu,rr,Ha=v(()=>{\"use strict\";qu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Zu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Ba(\"title\",{id:t,children:e}):null,Ba(\"path\",{d:\"M8 7a1 1 0 0 0-.707 1.707L10.586 12l-3.293 3.293a1 1 0 1 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4A1 1 0 0 0 8 7m7 0a1 1 0 0 0-1 1v8a1 1 0 1 0 2 0V8a1 1 0 0 0-1-1\"})]}))},rr=qu});import{jsx as Fa,jsxs as Yu}from\"react/jsx-runtime\";var Xu,or,Da=v(()=>{\"use strict\";Xu=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Yu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Fa(\"title\",{id:t,children:e}):null,Fa(\"path\",{fillRule:\"evenodd\",d:\"M16.707 7.293a1 1 0 0 1 0 1.414L13.414 12l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0M9 7a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1\",clipRule:\"evenodd\"})]}))},or=Xu});import{jsx as Wa,jsxs as Qu}from\"react/jsx-runtime\";var Ju,nr,_a=v(()=>{\"use strict\";Ju=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Qu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Wa(\"title\",{id:t,children:e}):null,Wa(\"path\",{fillRule:\"evenodd\",d:\"M11.293 9.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L12 11.414l-3.293 3.293a1 1 0 0 1-1.414-1.414z\",clipRule:\"evenodd\"})]}))},nr=Ju});import{jsx as Ka,jsxs as em}from\"react/jsx-runtime\";var ju,Ua,$a=v(()=>{\"use strict\";ju=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return em(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Ka(\"title\",{id:t,children:e}):null,Ka(\"path\",{fillRule:\"evenodd\",d:\"M13.014 4.4c1.155-1.154 2.833-1.14 3.754-.218s.936 2.6-.219 3.754l-6.734 6.735c-.411.41-.933.347-1.17.11-.238-.239-.302-.76.11-1.17l6.902-6.903a1 1 0 0 0-1.415-1.415L7.34 12.196c-1.077 1.077-1.239 2.87-.11 3.998 1.13 1.13 2.922.968 4-.109l6.733-6.734c1.821-1.821 2.032-4.77.22-6.583s-4.763-1.602-6.583.219L2.845 11.74c-1.82 1.82-2.032 4.77-.22 6.583 1.21 1.21 2.95 1.518 4.491 1.046a1 1 0 0 0-.585-1.912c-.924.282-1.868.075-2.49-.548-.922-.921-.937-2.6.218-3.755zm4.28 17.307a1 1 0 0 1 0-1.414L18.585 19H13a1 1 0 1 1 0-2h5.586l-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414 0Z\",clipRule:\"evenodd\"})]}))},Ua=ju});import{jsx as qa,jsxs as rm}from\"react/jsx-runtime\";var tm,Za,Xa=v(()=>{\"use strict\";tm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return rm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?qa(\"title\",{id:t,children:e}):null,qa(\"path\",{d:\"M16.887 2.09a5.3 5.3 0 0 0-3.608 1.558L3.65 13.28c-1.995 1.996-2.118 5.222-.134 7.205 1.326 1.326 3.221 1.712 4.916 1.223a1 1 0 0 0-.555-1.922c-1.055.305-2.18.053-2.947-.715-1.141-1.14-1.143-3.1.134-4.377l9.63-9.629c1.277-1.277 3.237-1.275 4.378-.134 1.141 1.14 1.143 3.1-.134 4.377l-7.409 7.408c-.459.459-1.122.426-1.482.066s-.39-1.023.068-1.482l7.592-7.592a1 1 0 1 0-1.414-1.414l-7.592 7.592c-1.177 1.177-1.27 3.108-.068 4.31 1.202 1.203 3.133 1.111 4.31-.066l7.409-7.408c1.995-1.996 2.118-5.222.134-7.205a4.88 4.88 0 0 0-3.6-1.426z\"})]}))},Za=tm});import{jsx as Ya,jsxs as nm}from\"react/jsx-runtime\";var om,Ja,Qa=v(()=>{\"use strict\";om=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return nm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Ya(\"title\",{id:t,children:e}):null,Ya(\"path\",{d:\"M13 2c-5.387 0-9.78 4.26-9.992 9.594l-1.301-1.301a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414l-1.281 1.281A8 8 0 1 1 13 20a7.98 7.98 0 0 1-5.963-2.666 1 1 0 0 0-1.49 1.332A9.98 9.98 0 0 0 13 22c5.523 0 10-4.477 10-10S18.523 2 13 2m0 4a1 1 0 0 0-1 1v4.586A2 2 0 0 0 12.586 13l2.707 2.707a1 1 0 1 0 1.414-1.414L14 11.586V7a1 1 0 0 0-1-1\"})]}))},Ja=om});import{jsx as ja,jsxs as lm}from\"react/jsx-runtime\";var am,el,tl=v(()=>{\"use strict\";am=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return lm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?ja(\"title\",{id:t,children:e}):null,ja(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m0 3a1 1 0 0 0-1 1v4.586A2 2 0 0 0 11.586 13l2.707 2.707a1 1 0 1 0 1.414-1.414L13 11.586V7a1 1 0 0 0-1-1\"})]}))},el=am});import{jsx as rl,jsxs as sm}from\"react/jsx-runtime\";var im,ol,nl=v(()=>{\"use strict\";im=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return sm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?rl(\"title\",{id:t,children:e}):null,rl(\"path\",{fillRule:\"evenodd\",d:\"M14.868 2.957c-.865-2.83-4.871-2.83-5.737 0L8.59 4.73a1 1 0 0 1-1.181.682l-1.805-.417C2.719 4.33.717 7.798 2.734 9.963l1.263 1.355a1 1 0 0 1 0 1.364l-1.263 1.355c-2.017 2.165-.015 5.634 2.869 4.969l1.805-.416a1 1 0 0 1 1.181.681l.542 1.772c.866 2.83 4.872 2.83 5.737 0l.543-1.772a1 1 0 0 1 1.18-.681l1.806.416c2.883.665 4.886-2.804 2.868-4.969l-1.263-1.355a1 1 0 0 1 0-1.364l1.263-1.355c2.018-2.165.015-5.634-2.868-4.969l-1.805.417a1 1 0 0 1-1.181-.682zm-3.825.585c.29-.943 1.624-.943 1.913 0l.542 1.772a3 3 0 0 0 3.543 2.045l1.805-.416c.961-.222 1.629.935.956 1.656L18.54 9.955a3 3 0 0 0 0 4.09l1.263 1.356c.673.721.005 1.878-.956 1.656l-1.805-.416a3 3 0 0 0-3.543 2.045l-.542 1.772c-.289.943-1.624.943-1.912 0l-.543-1.772a3 3 0 0 0-3.542-2.045l-1.806.416c-.96.222-1.628-.935-.956-1.656l1.263-1.355a3 3 0 0 0 0-4.091L4.197 8.599c-.672-.721-.005-1.878.956-1.656l1.806.416A3 3 0 0 0 10.5 5.314zM10 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0m2-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8\",clipRule:\"evenodd\"})]}))},ol=im});import{jsx as al,jsxs as dm}from\"react/jsx-runtime\";var cm,ll,il=v(()=>{\"use strict\";cm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return dm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?al(\"title\",{id:t,children:e}):null,al(\"path\",{d:\"M4 9a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2z\"})]}))},ll=cm});import{jsx as sl,jsxs as um}from\"react/jsx-runtime\";var pm,cl,dl=v(()=>{\"use strict\";pm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return um(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?sl(\"title\",{id:t,children:e}):null,sl(\"path\",{fillRule:\"evenodd\",d:\"M9 2a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm9 14h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v1h7a3 3 0 0 1 3 3zM4 9a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z\",clipRule:\"evenodd\"})]}))},cl=pm});import{jsx as pl,jsxs as fm}from\"react/jsx-runtime\";var mm,ul,ml=v(()=>{\"use strict\";mm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return fm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?pl(\"title\",{id:t,children:e}):null,pl(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3zm2 3a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1m1 3a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},ul=mm});import{jsx as fl,jsxs as gm}from\"react/jsx-runtime\";var wm,wl,gl=v(()=>{\"use strict\";wm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return gm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?fl(\"title\",{id:t,children:e}):null,fl(\"path\",{d:\"M12 2a1 1 0 0 0-1 1v10.586l-3.293-3.293a1 1 0 1 0-1.414 1.414l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 1 0-1.414-1.414L13 13.586V3a1 1 0 0 0-1-1M3 14a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-4a1 1 0 1 0-2 0v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-4a1 1 0 0 0-1-1\"})]}))},wl=wm});import{jsx as hl,jsxs as vm}from\"react/jsx-runtime\";var hm,vl,bl=v(()=>{\"use strict\";hm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return vm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?hl(\"title\",{id:t,children:e}):null,hl(\"path\",{d:\"M4 9a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2z\"})]}))},vl=hm});import{jsx as xl,jsxs as xm}from\"react/jsx-runtime\";var bm,Sl,yl=v(()=>{\"use strict\";bm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return xm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?xl(\"title\",{id:t,children:e}):null,xl(\"path\",{d:\"M9.5 5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m-5 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m-5 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3\"})]}))},Sl=bm});import{jsx as Rl,jsxs as ym}from\"react/jsx-runtime\";var Sm,Pl,Vl=v(()=>{\"use strict\";Sm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return ym(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Rl(\"title\",{id:t,children:e}):null,Rl(\"path\",{d:\"M5 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4\"})]}))},Pl=Sm});import{jsx as Cl,jsxs as Pm}from\"react/jsx-runtime\";var Rm,Il,Gl=v(()=>{\"use strict\";Rm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Pm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Cl(\"title\",{id:t,children:e}):null,Cl(\"path\",{d:\"M12 3a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 7a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 7a2 2 0 1 0 0 4 2 2 0 0 0 0-4\"})]}))},Il=Rm});import{jsx as El,jsxs as Cm}from\"react/jsx-runtime\";var Vm,Ml,Nl=v(()=>{\"use strict\";Vm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Cm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?El(\"title\",{id:t,children:e}):null,El(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18M9 8a1 1 0 1 0 0 2 1 1 0 0 0 0-2m6 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-7.043 5.168a.832.832 0 0 0-.623 1.332v.002h.002l.002.004.006.008.02.025.068.082c.056.067.136.16.24.268.207.215.509.5.9.785.78.567 1.948 1.16 3.428 1.16s2.648-.593 3.428-1.16a7 7 0 0 0 .9-.785q.156-.165.24-.268l.069-.082.02-.025.005-.008.002-.004h.002V14.5a.832.832 0 0 0-1.33-1.002l-.002.002-.004.006-.037.045a5 5 0 0 1-.846.775c-.595.433-1.427.84-2.447.84s-1.852-.407-2.447-.84a5 5 0 0 1-.846-.775l-.037-.045-.006-.008a.83.83 0 0 0-.707-.33\"})]}))},Ml=Vm});import{jsx as Tl,jsxs as Gm}from\"react/jsx-runtime\";var Im,kl,Ll=v(()=>{\"use strict\";Im=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Gm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Tl(\"title\",{id:t,children:e}):null,Tl(\"path\",{fillRule:\"evenodd\",d:\"M4 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zM3 6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v.52l-8.375 6.7a1 1 0 0 1-1.25 0L3 6.52zm0 3.08V18a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V9.08l-7.126 5.701a3 3 0 0 1-3.748 0z\",clipRule:\"evenodd\"})]}))},kl=Im});import{jsx as Al,jsxs as Mm}from\"react/jsx-runtime\";var Em,ar,zl=v(()=>{\"use strict\";Em=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Mm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Al(\"title\",{id:t,children:e}):null,Al(\"path\",{fillRule:\"evenodd\",d:\"M3 12a9 9 0 0 1 14.618-7.032l-12.65 12.65A8.96 8.96 0 0 1 3 12m3.382 7.032a9 9 0 0 0 12.65-12.65zM12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1\",clipRule:\"evenodd\"})]}))},ar=Em});import{jsx as Ol,jsxs as Tm}from\"react/jsx-runtime\";var Nm,De,Bl=v(()=>{\"use strict\";Nm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Tm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Ol(\"title\",{id:t,children:e}):null,Ol(\"path\",{fillRule:\"evenodd\",d:\"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m11-5a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1m0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2\",clipRule:\"evenodd\"})]}))},De=Nm});import{jsx as Hl,jsxs as Lm}from\"react/jsx-runtime\";var km,Fl,Dl=v(()=>{\"use strict\";km=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Lm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Hl(\"title\",{id:t,children:e}):null,Hl(\"path\",{fillRule:\"evenodd\",d:\"M12.866 4.49a1 1 0 0 0-1.731 0L3.604 17.5a1 1 0 0 0 .865 1.5h15.063a1 1 0 0 0 .865-1.501zm-3.462-1c1.156-1.996 4.037-1.996 5.193 0l7.53 13.008c1.159 2-.284 4.503-2.595 4.503H4.469c-2.31 0-3.754-2.503-2.596-4.503zM12 8a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1m0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2\",clipRule:\"evenodd\"})]}))},Fl=km});import{jsx as Wl,jsxs as zm}from\"react/jsx-runtime\";var Am,_l,Kl=v(()=>{\"use strict\";Am=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return zm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Wl(\"title\",{id:t,children:e}):null,Wl(\"path\",{d:\"M14 3a1 1 0 1 0 0 2h3.586l-4.293 4.293a1 1 0 1 0 1.414 1.414L19 6.414V10a1 1 0 1 0 2 0V3.996a1 1 0 0 0-.291-.701l-.004-.004A1 1 0 0 0 20 3zM4 13a1 1 0 0 0-1 1v6.004a1 1 0 0 0 .291.701l.004.004c.18.18.43.291.705.291h6a1 1 0 1 0 0-2H6.414l4.293-4.293a1 1 0 1 0-1.414-1.414L5 17.586V14a1 1 0 0 0-1-1\"})]}))},_l=Am});import{jsx as Ul,jsxs as Bm}from\"react/jsx-runtime\";var Om,$l,ql=v(()=>{\"use strict\";Om=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Bm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Ul(\"title\",{id:t,children:e}):null,Ul(\"path\",{d:\"M12 2a1 1 0 0 0-.707.293l-5 5a1 1 0 1 0 1.414 1.414L11 5.414V16a1 1 0 1 0 2 0V5.414l3.293 3.293a1 1 0 1 0 1.414-1.414l-5-5A1 1 0 0 0 12 2M3 14a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-4a1 1 0 1 0-2 0v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-4a1 1 0 0 0-1-1\"})]}))},$l=Om});import{jsx as Zl,jsxs as Fm}from\"react/jsx-runtime\";var Hm,Xl,Yl=v(()=>{\"use strict\";Hm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Fm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Zl(\"title\",{id:t,children:e}):null,Zl(\"path\",{d:\"M15 2a1 1 0 0 0-1 1 1 1 0 0 0 1 1h3.586l-9.293 9.293a1 1 0 0 0 0 1.414 1 1 0 0 0 1.414 0L20 5.414V9a1 1 0 0 0 1 1 1 1 0 0 0 1-1V3a1 1 0 0 0-.293-.707 1 1 0 0 0-.414 0A1 1 0 0 0 21 2ZM5 5C3.355 5 2 6.355 2 8v11c0 1.645 1.355 3 3 3h11c1.645 0 3-1.355 3-3v-6a1 1 0 0 0-1-1 1 1 0 0 0-1 1v6c0 .564-.436 1-1 1H5c-.564 0-1-.436-1-1V8c0-.564.436-1 1-1h6a1 1 0 0 0 1-1 1 1 0 0 0-1-1Z\"})]}))},Xl=Hm});import{jsx as Jl,jsxs as Wm}from\"react/jsx-runtime\";var Dm,Ql,jl=v(()=>{\"use strict\";Dm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Wm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Jl(\"title\",{id:t,children:e}):null,Jl(\"path\",{d:\"M12 4C5.848 4 2.554 8.882 1.512 10.752a2.55 2.55 0 0 0 0 2.496C2.554 15.118 5.848 20 12 20s9.444-4.882 10.486-6.752a2.55 2.55 0 0 0 0-2.496C21.444 8.882 18.152 4 12 4m0 2c4.98 0 7.761 3.97 8.74 5.727a.55.55 0 0 1 0 .546C19.761 14.03 16.98 18 12 18s-7.761-3.97-8.74-5.727a.55.55 0 0 1 0-.546C4.239 9.97 7.02 6 12 6m0 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8m0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4\"})]}))},Ql=Dm});import{jsx as ei,jsxs as Km}from\"react/jsx-runtime\";var _m,ti,ri=v(()=>{\"use strict\";_m=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Km(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?ei(\"title\",{id:t,children:e}):null,ei(\"path\",{fillRule:\"evenodd\",d:\"M8.707 1.879A3 3 0 0 1 10.828 1H18a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V8.828a3 3 0 0 1 .879-2.12l4.828-4.83ZM5.414 8 10 3.414V7a1 1 0 0 1-1 1zM5 20V10h4a3 3 0 0 0 3-3V3h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1m12.78-6.375a1 1 0 1 0-1.56-1.25l-3.303 4.128-1.21-1.21a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.488-.082z\",clipRule:\"evenodd\"})]}))},ti=_m});import{jsx as oi,jsxs as $m}from\"react/jsx-runtime\";var Um,ni,ai=v(()=>{\"use strict\";Um=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return $m(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?oi(\"title\",{id:t,children:e}):null,oi(\"path\",{fillRule:\"evenodd\",d:\"M12 3h3a1 1 0 1 0 0-2h-4.172a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5a1 1 0 1 0-2 0v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V10h4a3 3 0 0 0 3-3zM5.414 8H9a1 1 0 0 0 1-1V3.414zm12.879-1.879a1 1 0 0 1 1.414 0l.172.172a1 1 0 0 1 0 1.414L19 8.586 17.414 7zM16 8.414l-5.148 5.148-1.057 2.643 2.643-1.057L17.586 10zm5.121-3.707a3 3 0 0 0-4.242 0l-7.586 7.586a1 1 0 0 0-.221.336l-2 5a1 1 0 0 0 1.3 1.3l5-2a1 1 0 0 0 .335-.222l7.586-7.586a3 3 0 0 0 0-4.242z\",clipRule:\"evenodd\"})]}))},ni=Um});import{jsx as li,jsxs as Zm}from\"react/jsx-runtime\";var qm,ii,si=v(()=>{\"use strict\";qm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Zm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?li(\"title\",{id:t,children:e}):null,li(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3z\",clipRule:\"evenodd\"})]}))},ii=qm});import{jsx as ci,jsxs as Ym}from\"react/jsx-runtime\";var Xm,di,pi=v(()=>{\"use strict\";Xm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Ym(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?ci(\"title\",{id:t,children:e}):null,ci(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3zm9 2a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2a1 1 0 0 1 1-1\",clipRule:\"evenodd\"})]}))},di=Xm});import{jsx as ui,jsxs as Qm}from\"react/jsx-runtime\";var Jm,mi,fi=v(()=>{\"use strict\";Jm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Qm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?ui(\"title\",{id:t,children:e}):null,ui(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3zm5.293 2.293a1 1 0 0 1 1.414 0l1.793 1.793 1.793-1.793a1 1 0 0 1 1.414 1.414L14.914 15.5l1.793 1.793a1 1 0 0 1-1.414 1.414L13.5 16.914l-1.793 1.793a1 1 0 0 1-1.414-1.414l1.793-1.793-1.793-1.793a1 1 0 0 1 0-1.414\",clipRule:\"evenodd\"})]}))},mi=Jm});import{jsx as wi,jsxs as ef}from\"react/jsx-runtime\";var jm,gi,hi=v(()=>{\"use strict\";jm=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return ef(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?wi(\"title\",{id:t,children:e}):null,wi(\"path\",{d:\"M4 6a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2zm3 5a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2zm3 5a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2z\"})]}))},gi=jm});import{jsx as vi,jsxs as rf}from\"react/jsx-runtime\";var tf,bi,xi=v(()=>{\"use strict\";tf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return rf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?vi(\"title\",{id:t,children:e}):null,vi(\"path\",{fillRule:\"evenodd\",d:\"M11.17 3.473c.36-.381.64-.473.83-.473s.47.091.83.473c.363.384.736.992 1.07 1.827.581 1.454.986 3.443 1.08 5.7H9.02c.094-2.257.499-4.246 1.08-5.7.334-.835.707-1.443 1.07-1.827M7.019 11c.094-2.467.534-4.718 1.224-6.442q.192-.48.416-.918A9.01 9.01 0 0 0 3.055 11zm-3.964 2h3.964c.094 2.467.534 4.718 1.224 6.442q.192.48.416.918A9.01 9.01 0 0 1 3.055 13m5.966 0h5.958c-.093 2.257-.498 4.246-1.079 5.7-.334.835-.707 1.444-1.07 1.827-.36.381-.641.473-.83.473s-.47-.091-.83-.473c-.363-.384-.736-.992-1.07-1.827-.581-1.454-.986-3.443-1.08-5.7Zm7.96 0c-.094 2.467-.534 4.718-1.224 6.442q-.192.48-.416.918A9.01 9.01 0 0 0 20.945 13zm3.964-2a9.01 9.01 0 0 0-5.604-7.36q.224.436.416.918c.69 1.724 1.13 3.975 1.224 6.442zM23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11\",clipRule:\"evenodd\"})]}))},bi=tf});import{jsx as Si,jsxs as nf}from\"react/jsx-runtime\";var of,yi,Ri=v(()=>{\"use strict\";of=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return nf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Si(\"title\",{id:t,children:e}):null,Si(\"path\",{d:\"M12 2a1 1 0 0 0-1 1v14a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1M8 6a1 1 0 0 0-1 1v10a1 1 0 1 0 2 0V7a1 1 0 0 0-1-1m8 3a1 1 0 0 0-1 1v7a1 1 0 1 0 2 0v-7a1 1 0 0 0-1-1M4 11a1 1 0 0 0-1 1v5a1 1 0 1 0 2 0v-5a1 1 0 0 0-1-1m16 2a1 1 0 0 0-1 1v3a1 1 0 1 0 2 0v-3a1 1 0 0 0-1-1M3 20a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2z\"})]}))},yi=of});import{jsx as Pi,jsxs as lf}from\"react/jsx-runtime\";var af,Vi,Ci=v(()=>{\"use strict\";af=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return lf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Pi(\"title\",{id:t,children:e}):null,Pi(\"path\",{d:\"M11.295 4.11a1 1 0 0 1 1.41 0l7 6.954a1 1 0 0 1 .295.71V19a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-7.226a1 1 0 0 1 .295-.71Zm2.82-1.42a3 3 0 0 0-4.23.001l-7 6.954A3 3 0 0 0 2 11.774V19a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-7.226a3 3 0 0 0-.886-2.129ZM10 14a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v6h2v-6a3 3 0 0 0-3-3h-2a3 3 0 0 0-3 3v6h2z\"})]}))},Vi=af});import{jsx as Ii,jsxs as cf}from\"react/jsx-runtime\";var sf,Gi,Ei=v(()=>{\"use strict\";sf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return cf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Ii(\"title\",{id:t,children:e}):null,Ii(\"path\",{d:\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3Zm3-1a1 1 0 0 0-1 1v8.586L6.586 11a2 2 0 0 1 2.828 0L13 14.586 14.586 13a2 2 0 0 1 2.828 0L20 15.586V5a1 1 0 0 0-1-1Zm15 14.414-4-4L14.414 16a2 2 0 0 1-2.828 0L8 12.414l-4 4V19a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1zM17 8.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0\"})]}))},Gi=sf});import{jsx as Mi,jsxs as pf}from\"react/jsx-runtime\";var df,Ni,Ti=v(()=>{\"use strict\";df=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return pf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Mi(\"title\",{id:t,children:e}):null,Mi(\"path\",{fillRule:\"evenodd\",d:\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8h-4c-1.152 0-1.856.924-2.11 1.655a2.001 2.001 0 0 1-3.78 0C9.855 13.924 9.152 13 8 13H4zm0 10v4a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4h-3.997a.2.2 0 0 0-.054.037.7.7 0 0 0-.168.272 4.001 4.001 0 0 1-7.562 0 .7.7 0 0 0-.168-.272.2.2 0 0 0-.054-.037zm3.997 0h-.004zm8.01 0h-.004z\",clipRule:\"evenodd\"})]}))},Ni=df});import{jsx as ki,jsxs as mf}from\"react/jsx-runtime\";var uf,lr,Li=v(()=>{\"use strict\";uf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return mf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?ki(\"title\",{id:t,children:e}):null,ki(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m0 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-1 3a1 1 0 1 0 0 2v6a1 1 0 1 0 2 0v-7a1 1 0 0 0-1-1z\"})]}))},lr=uf});import{jsx as Ai,jsxs as wf}from\"react/jsx-runtime\";var ff,zi,Oi=v(()=>{\"use strict\";ff=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return wf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Ai(\"title\",{id:t,children:e}):null,Ai(\"path\",{d:\"M1.4 8.305c2.35-2.602 5.839-3.253 9.363-1.547l.341.173q.136-.072.272-.136L12.59 8.25q-.289.111-.575.257v10.649c2.54-.81 4.974-.496 6.974.134V12.29h1.82v9.704c-2.426-1.213-6.065-2.426-9.704-.486l-.341-.173c-3.524-1.691-7.013-.516-9.363.659Zm8.794.204C7.484 7.105 5 7.454 3.22 9.056v10.235c2-.63 4.434-.945 6.975-.134Zm7.624-6.918a.606.606 0 0 1 1.128 0L20 4.265c.062.156.186.28.342.342l2.674 1.054a.606.606 0 0 1 0 1.128l-2.674 1.055a.6.6 0 0 0-.342.341l-1.054 2.674a.606.606 0 0 1-1.128 0l-1.055-2.674a.6.6 0 0 0-.341-.34l-2.674-1.056a.606.606 0 0 1 0-1.128l2.674-1.054a.6.6 0 0 0 .34-.342z\"})]}))},zi=ff});import{jsx as Bi,jsxs as hf}from\"react/jsx-runtime\";var gf,Hi,Fi=v(()=>{\"use strict\";gf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return hf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid\",viewBox:\"0 0 1402 1402\",\"aria-labelledby\":t},r),{children:[e?Bi(\"title\",{id:t,children:e}):null,Bi(\"path\",{d:\"M336.763 1.66c-83.7 4.8-164.1 41.1-228.3 103.1-60.3 58.3-94.2 128.2-105 216.8-2.2 18.3-3.1 58-1.6 75 6.1 69.3 29.5 128.5 72 181.8 13.6 17.1 46.5 52.4 89.5 96l27 27.3-48.5 48.7c-26.7 26.8-52.3 53.4-56.9 59-46.7 57-71.8 115.1-81.6 188.4-2.4 18-2.9 62.2-1 80.5 6.8 64 27.9 119.2 65.9 172.2 50.9 71 119 118 200.7 138.6 67.2 16.9 137.3 16.2 198-2.2 42.1-12.7 82.2-34.5 117-63.7 18.4-15.3 57.2-51.9 97.2-91.5l19.7-19.5 45.3 45c55.4 54.9 70 67.7 98.2 86.3 67.9 44.7 155.3 65 239.6 55.5 76.8-8.7 149.9-44 208.9-100.9 68.7-66.3 104.6-150.5 107.8-253 2.5-81.7-21.7-155.6-72.6-221.2-9.9-12.8-23.4-27.2-73.4-78.3l-43.6-44.5 48.8-49c47-47.2 56.7-57.7 69.7-75 32.9-43.7 55.5-96 65.3-150.9 17.7-99-3.9-195-61.6-274.3-62.2-85.5-143.5-134-247.1-147.3-86.5-11.2-162.3 4.5-232 47.9-31.1 19.4-36.1 23.8-113 99l-40.3 39.4-47.2-47c-26-25.8-52.9-51.6-59.8-57.4-64.5-53.4-132.6-80.1-216.9-84.9-19.1-1.1-20.2-1.1-40.2.1m44 144.9c43.9 4.7 84.6 22.1 120.2 51.5 9.5 7.8 216.3 213.5 215.5 214.3-.2.2-16.5-.4-36.2-1.3-51-2.5-79.5-1.4-115.1 4.6-63.3 10.6-120.1 38.5-172.2 84.5-5.8 5.1-30.5 29.3-54.9 53.8l-44.4 44.4-25.1-24.4c-26.4-25.7-58.8-59.1-71.4-73.4-34.9-39.8-53.1-92.2-50.9-146.5 3-71.8 37-132.7 96.2-172 30.7-20.4 65.3-32.8 100-35.8 9.2-.8 29.2-.6 38.3.3m685.9 1.5c67.5 8.8 122.1 43.9 157.5 101.2 16 25.8 26.1 53.8 30.4 83.8 2.2 16.3 1.5 46.7-1.6 64.5-6.7 38.1-25.1 76-52 106.9-6.4 7.4-211.2 214-211.7 213.7-.1-.1.5-12.5 1.4-27.6 2.7-48.4 2.1-79.7-2.3-111.5-9.3-68.5-35.6-126-82.8-181.5-4.9-5.8-29.9-31.5-55.5-57.3l-46.6-46.7 42-42.1c23.1-23.1 47-46.4 53-51.6 33-28.6 71.2-45.8 115-51.7 13.8-1.9 38.9-1.9 53.2-.1m-331.1 381.9c54 11.3 99.1 46.5 122.9 96 23.4 48.7 22.8 106-1.7 153.8-25.6 50.1-72.3 84.5-127.3 93.8-11.4 2-15.5 2.2-33.5 1.7-15.5-.4-22.8-1-30.2-2.6-57.7-12.5-105.5-52.6-127.4-106.8-15.3-38-16.3-82.6-2.7-121.6 21.4-61.7 76.4-106.9 141.1-116.2 15.1-2.2 43.5-1.3 58.8 1.9m-324.3 187.7c-5 64.6-2.9 101.1 8.2 143.4 13.7 52.5 39.4 100.3 77.8 145 3.4 3.8 27.5 28.5 53.6 54.8l47.6 47.7-37 37.1c-40.9 40.9-60.1 59-73.6 69.1-28.5 21.5-62.9 35.1-100.4 39.8-21.4 2.7-53.5 1-75.5-4.1-21.7-5-50.5-17.1-68.5-28.9-30.3-19.9-56.4-49-74.3-83-34.4-65.2-31.4-143.6 7.9-208.7 14.4-23.7 16.7-26.3 129.8-139.5 58.6-58.7 106.6-106.6 106.8-106.5.1.2-.9 15.4-2.4 33.8m743.6 132.6c24.9 25.2 48.2 49.4 51.8 53.8 32.4 40.1 48.6 85.7 48.6 137 .1 56.6-20.4 108.2-58.7 148.3-35.1 36.7-84.1 60.9-134.1 66.3-13.2 1.4-38.6.7-53.8-1.6-32.2-4.8-67.5-19.7-95.9-40.4-14.9-10.9-35.6-31-137-132.3-92.2-92.2-92.8-92.8-89-92.8 2.1 0 19.1 1.2 37.8 2.6 61.5 4.7 99.5 2 142.4-10.2 34.8-9.9 67.1-24.8 97.6-45 29-19.3 45-33.4 99.4-87.9 23.9-23.9 43.9-43.5 44.5-43.5.5 0 21.4 20.6 46.4 45.7\"})]}))},Hi=gf});import{jsx as Di,jsxs as bf}from\"react/jsx-runtime\";var vf,ir,Wi=v(()=>{\"use strict\";vf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return bf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Di(\"title\",{id:t,children:e}):null,Di(\"path\",{d:\"M16.685 16.084C9.49 24.781 5.738 21.582 4.678 20.672c-1.481-1.26-2.682-2.279-.43-4.998 2.25-2.718 3.442-1.699 4.922-.44 1.481 1.26 2.602 1.28 4.843-1.439s2.172-3.718.56-5.078c-1.61-1.359-2.68-2.279-.43-4.997 2.252-2.72 3.452-1.7 4.933-.44 1.06.92 4.813 4.118-2.391 12.804\"})]}))},ir=vf});import{jsx as _i,jsxs as Sf}from\"react/jsx-runtime\";var xf,sr,Ki=v(()=>{\"use strict\";xf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Sf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?_i(\"title\",{id:t,children:e}):null,_i(\"path\",{fillRule:\"evenodd\",d:\"M19 9.7a8.3 8.3 0 0 0-3.49-.7C11.37 9 8 11.92 8 15.5a5.8 5.8 0 0 0 .36 1.86 5.65 5.65 0 0 1-4 1.64.33.33 0 0 1-.26-.56 5.5 5.5 0 0 0 1.52-2.72A6.72 6.72 0 0 1 2 10c0-3.87 3.92-7 8.51-7S18.84 6 19 9.7M15.5 21c.659 0 1.294-.083 1.893-.237A5 5 0 0 0 20.7 22c.26 0 .4-.26.22-.42a4 4 0 0 1-1.218-1.883C21.108 18.686 22 17.181 22 15.5c0-3.038-2.91-5.5-6.5-5.5S9 12.462 9 15.5s2.91 5.5 6.5 5.5\",clipRule:\"evenodd\"})]}))},sr=xf});import{jsx as Ui,jsxs as Rf}from\"react/jsx-runtime\";var yf,$i,qi=v(()=>{\"use strict\";yf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Rf(\"svg\",c(i({fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Ui(\"title\",{id:t,children:e}):null,Ui(\"path\",{d:\"m7 2-.258.008A5 5 0 0 0 2 7v10a5 5 0 0 0 5 5h5.77l-.463-2H7a3 3 0 0 1-3-3v-7h16v2.307l2 .463V7a5 5 0 0 0-4.744-4.992L17 2zm0 2h10a3 3 0 0 1 3 3v1H4V7a3 3 0 0 1 3-3m0 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2m3 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2m1.986 6.986 3.875 11.625 2.582-5.168 5.168-2.582zm2.371 2.371 5.344 1.782-2.152 1.076-.223.111-.111.223-1.076 2.152z\"})]}))},$i=yf});import{jsx as Zi,jsxs as Vf}from\"react/jsx-runtime\";var Pf,cr,Xi=v(()=>{\"use strict\";Pf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Vf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Zi(\"title\",{id:t,children:e}):null,Zi(\"path\",{d:\"M12 2C6.48 2 2 5.81 2 10.5a8.2 8.2 0 0 0 4.24 6.94 6.63 6.63 0 0 1-2.11 3.86c-.29.27-.06.7.35.7a8 8 0 0 0 6.26-3.07s.83.07 1.26.07c5.52 0 10-3.81 10-8.5S17.52 2 12 2\"})]}))},cr=Pf});import{jsx as Yi,jsxs as If}from\"react/jsx-runtime\";var Cf,Ji,Qi=v(()=>{\"use strict\";Cf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return If(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Yi(\"title\",{id:t,children:e}):null,Yi(\"path\",{d:\"M11.464 2.302a.627.627 0 0 1 1.072 0l2.971 4.915c.087.145.23.248.395.286l5.613 1.294c.46.106.64.66.331 1.015l-3.777 4.333a.62.62 0 0 0-.15.462l.497 5.716a.625.625 0 0 1-.866.627l-5.306-2.238a.63.63 0 0 0-.488 0L6.45 20.95a.625.625 0 0 1-.867-.627l.499-5.716a.62.62 0 0 0-.151-.462L2.154 9.812a.622.622 0 0 1 .33-1.015l5.614-1.294a.63.63 0 0 0 .395-.286z\"})]}))},Ji=Cf});import{jsx as ji,jsxs as Ef}from\"react/jsx-runtime\";var Gf,dr,es=v(()=>{\"use strict\";Gf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Ef(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?ji(\"title\",{id:t,children:e}):null,ji(\"path\",{d:\"M8 3a4 4 0 0 0-4 4v11.5A2.61 2.61 0 0 0 6.71 21a.5.5 0 0 0 0-1 1.51 1.51 0 1 1 0-3H17.3a2.35 2.35 0 0 0 0 3h-3.8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1 1.51 1.51 0 1 1-.014-3q.095 0 .184-.031a.5.5 0 0 0 .287-.272A.5.5 0 0 0 20 16.5V4a1 1 0 0 0-1-1zm.5 15a.5.5 0 0 0-.5.5v4a.48.48 0 0 0 .32.46.4.4 0 0 0 .18 0 .48.48 0 0 0 .36-.16L10 21.63l1.14 1.21a.48.48 0 0 0 .54.12.5.5 0 0 0 .32-.46v-4a.5.5 0 0 0-.5-.5z\"})]}))},dr=Gf});import{jsx as wt,jsxs as Nf}from\"react/jsx-runtime\";var Mf,ts,rs=v(()=>{\"use strict\";Mf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Nf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 84 18\",\"aria-labelledby\":t},r),{children:[e?wt(\"title\",{id:t,children:e}):null,wt(\"g\",{clipPath:\"url(#kundo-logo-icon_svg__a)\",transform:\"translate(0 -.934)\",children:wt(\"path\",{d:\"M67.373 9.934c0-3.747 1.825-8.504 8.281-8.504 5.638 0 8.282 3.632 8.282 8.504s-2.644 8.503-8.282 8.503c-6.456 0-8.281-4.757-8.281-8.503m12.398 0c0-1.471-.187-5.378-4.117-5.378-2.128 0-4.093 1.126-4.093 5.378s1.964 5.378 4.093 5.378c3.93 0 4.117-4.022 4.117-5.378M57.805 1.89c1.567 0 7.953.184 7.953 8.02 0 7.838-5.661 8.068-8.305 8.068h-6.69V1.89Zm-3.182 12.962h2.456c3.018 0 4.515-1.54 4.515-4.872 0-4.459-2.667-4.964-4.28-4.964h-2.691Zm-17.381-6.94v10.066h-3.86V1.89h3.906l6.457 9.997h.07V1.89h3.86v16.087h-3.93L37.288 7.911zm-17.1-6.022v9.377c0 2.666.818 4.045 3.228 4.045s3.228-1.264 3.228-4.045V1.89h3.86v9.997c0 1.632-.257 6.55-7.088 6.55-6.83 0-7.088-4.803-7.088-6.55V1.89zm-10.013 0h4.82L8.375 8.555l7.065 9.423h-4.82l-4.912-6.941-1.848 1.838v5.102H0V1.89h3.86v6.55z\"})}),wt(\"defs\",{children:wt(\"clipPath\",{id:\"kundo-logo-icon_svg__a\",children:wt(\"path\",{d:\"M0 .295h83.935v19.41H0z\"})})})]}))},ts=Mf});import{jsx as os,jsxs as kf}from\"react/jsx-runtime\";var Tf,pr,ns=v(()=>{\"use strict\";Tf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return kf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?os(\"title\",{id:t,children:e}):null,os(\"path\",{fillRule:\"evenodd\",d:\"M12.01 13.503a.4.4 0 0 1-.21-.063L2 6h20l-9.78 7.44a.4.4 0 0 1-.21.063m-.02.997a1.5 1.5 0 0 0 .82-.26L22 7.27V18H2V7.27l9.21 6.99c.23.156.502.24.78.24\",clipRule:\"evenodd\"})]}))},pr=Tf});import{jsx as as,jsxs as Af}from\"react/jsx-runtime\";var Lf,ur,ls=v(()=>{\"use strict\";Lf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Af(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?as(\"title\",{id:t,children:e}):null,as(\"path\",{d:\"M12 2c-2.526.027-4.95.996-6.796 2.715a10.04 10.04 0 0 0-1.061 13.554A10.12 10.12 0 0 0 10.433 22v-7h-2.55v-2.94h2.55V9.84c0-2.52 1.497-3.91 3.786-3.91q1.131.015 2.249.2V8.6h-1.265a1.46 1.46 0 0 0-1.551.932 1.45 1.45 0 0 0-.086.638v1.89h2.791L15.906 15h-2.34v7a10.12 10.12 0 0 0 6.291-3.731 10.043 10.043 0 0 0-1.061-13.554A10.13 10.13 0 0 0 12 2\"})]}))},ur=Lf});import{jsx as is,jsxs as Of}from\"react/jsx-runtime\";var zf,mr,ss=v(()=>{\"use strict\";zf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Of(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?is(\"title\",{id:t,children:e}):null,is(\"path\",{d:\"m19.94 5.28-5.27 15.08a1 1 0 0 1-1.79.07l-2.56-5.77a2 2 0 0 0-1-1l-5.75-2.54a1 1 0 0 1 .07-1.79l15.08-5.27a1 1 0 0 1 1.22 1.22\"})]}))},mr=zf});import{jsx as gt,jsxs as Hf}from\"react/jsx-runtime\";var Bf,fr,cs=v(()=>{\"use strict\";Bf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Hf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?gt(\"title\",{id:t,children:e}):null,gt(\"g\",{clipPath:\"url(#kundo-social-instagram-icon_svg__a)\",children:gt(\"path\",{fillRule:\"evenodd\",d:\"M12 3.8c2.67 0 3 0 4 .06a5.6 5.6 0 0 1 1.86.34 3.33 3.33 0 0 1 1.9 1.9 5.6 5.6 0 0 1 .38 1.9c.05 1 .06 1.37.06 4s0 3-.06 4a5.6 5.6 0 0 1-.34 1.86 3.33 3.33 0 0 1-1.9 1.9 5.6 5.6 0 0 1-1.86.34c-1 .05-1.37.06-4 .06s-3 0-4-.06a5.6 5.6 0 0 1-1.94-.3 3.33 3.33 0 0 1-1.9-1.9 5.6 5.6 0 0 1-.34-1.9c0-.381-.009-.671-.02-1.03-.017-.581-.04-1.343-.04-2.97 0-2.63 0-3 .06-4a5.6 5.6 0 0 1 .34-1.9 3.33 3.33 0 0 1 1.9-1.9A5.6 5.6 0 0 1 8 3.86c.381 0 .671-.009 1.03-.02.581-.017 1.343-.04 2.97-.04M12 2c-2.72 0-3.06 0-4.12.06a7.6 7.6 0 0 0-2.43.46 4.85 4.85 0 0 0-1.77 1.16 4.85 4.85 0 0 0-1.16 1.77 7.6 7.6 0 0 0-.46 2.43C2 8.94 2 9.28 2 12s0 3.06.06 4.12c.02.83.175 1.65.46 2.43a4.85 4.85 0 0 0 1.16 1.77 4.85 4.85 0 0 0 1.77 1.16c.78.285 1.6.44 2.43.46C8.94 22 9.28 22 12 22s3.06 0 4.12-.06a7.6 7.6 0 0 0 2.43-.46 5.2 5.2 0 0 0 2.93-2.93c.285-.78.44-1.6.46-2.43 0-.407.009-.708.02-1.079.017-.594.04-1.366.04-3.041 0-2.72 0-3.06-.06-4.12a7.6 7.6 0 0 0-.46-2.43 4.85 4.85 0 0 0-1.16-1.77 4.85 4.85 0 0 0-1.77-1.16 7.6 7.6 0 0 0-2.43-.46C15.06 2 14.72 2 12 2m0 4.86a5.14 5.14 0 1 0 0 10.28 5.14 5.14 0 0 0 0-10.28m0 8.47a3.33 3.33 0 1 1 0-6.66 3.33 3.33 0 0 1 0 6.66m6.54-8.67a1.2 1.2 0 1 1-2.4 0 1.2 1.2 0 0 1 2.4 0\",clipRule:\"evenodd\"})}),gt(\"defs\",{children:gt(\"clipPath\",{id:\"kundo-social-instagram-icon_svg__a\",children:gt(\"path\",{d:\"M0 0h24v24H0z\"})})})]}))},fr=Bf});import{jsx as ds,jsxs as Df}from\"react/jsx-runtime\";var Ff,wr,ps=v(()=>{\"use strict\";Ff=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Df(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?ds(\"title\",{id:t,children:e}):null,ds(\"path\",{fillRule:\"evenodd\",d:\"M12.153 2.006a9.9 9.9 0 0 0-3.87.636 9.8 9.8 0 0 0-3.307 2.081 9.65 9.65 0 0 0-2.212 3.192 9.5 9.5 0 0 0-.763 3.791 9.3 9.3 0 0 0 .806 3.925 9.5 9.5 0 0 0 2.382 3.245.85.85 0 0 1 .274.57v1.78a.8.8 0 0 0 .384.652.83.83 0 0 0 .763.058l2.03-.88c.178-.06.37-.06.548 0a11.2 11.2 0 0 0 2.965.35 9.92 9.92 0 0 0 6.963-2.84A9.63 9.63 0 0 0 22 11.705a9.63 9.63 0 0 0-2.884-6.859 9.92 9.92 0 0 0-6.963-2.84m6.09 7.46-2.984 4.66a1.5 1.5 0 0 1-1.011.68 1.54 1.54 0 0 1-1.192-.28l-2.375-1.75a.615.615 0 0 0-.731 0l-3.208 2.4a.48.48 0 0 1-.6-.043.47.47 0 0 1-.08-.587l2.974-4.66a1.5 1.5 0 0 1 1.012-.68 1.54 1.54 0 0 1 1.191.28l2.376 1.75a.62.62 0 0 0 .73 0l3.208-2.4a.49.49 0 0 1 .59.055.48.48 0 0 1 .1.575\",clipRule:\"evenodd\"})]}))},wr=Ff});import{jsx as us,jsxs as _f}from\"react/jsx-runtime\";var Wf,gr,ms=v(()=>{\"use strict\";Wf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return _f(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 360 362\",\"aria-labelledby\":t},r),{children:[e?us(\"title\",{id:t,children:e}):null,us(\"path\",{fillRule:\"evenodd\",d:\"M307.546 52.566C273.709 18.684 228.706.017 180.756 0 81.951 0 1.538 80.404 1.504 179.235c-.017 31.594 8.242 62.432 23.928 89.609L0 361.736l95.024-24.925c26.179 14.285 55.659 21.805 85.655 21.814h.077c98.788 0 179.21-80.413 179.244-179.244.017-47.898-18.608-92.926-52.454-126.807zm-126.79 275.788h-.06c-26.73-.008-52.952-7.194-75.831-20.765l-5.44-3.231-56.391 14.791 15.05-54.981-3.542-5.638c-14.912-23.721-22.793-51.139-22.776-79.286.035-82.14 66.867-148.973 149.051-148.973 39.793.017 77.198 15.53 105.328 43.695 28.131 28.157 43.61 65.596 43.593 105.398-.035 82.149-66.867 148.982-148.982 148.982zm81.719-111.577c-4.478-2.243-26.497-13.073-30.606-14.568-4.108-1.496-7.09-2.243-10.073 2.243-2.982 4.487-11.568 14.577-14.181 17.559-2.613 2.991-5.226 3.361-9.704 1.117-4.477-2.243-18.908-6.97-36.02-22.226-13.313-11.878-22.304-26.54-24.916-31.027-2.613-4.486-.275-6.91 1.959-9.136 2.011-2.011 4.478-5.234 6.721-7.847s2.983-4.486 4.478-7.469c1.496-2.991.748-5.603-.369-7.847-1.118-2.243-10.073-24.289-13.812-33.253-3.636-8.732-7.331-7.546-10.073-7.692-2.613-.13-5.595-.155-8.586-.155s-7.839 1.118-11.947 5.604-15.677 15.324-15.677 37.361 16.047 43.344 18.29 46.335 31.585 48.225 76.51 67.632c10.684 4.615 19.029 7.374 25.535 9.437 10.727 3.412 20.49 2.931 28.208 1.779 8.604-1.289 26.498-10.838 30.228-21.298s3.73-19.433 2.613-21.298-4.108-2.991-8.586-5.234z\",clipRule:\"evenodd\"})]}))},gr=Wf});import{jsx as fs,jsxs as Uf}from\"react/jsx-runtime\";var Kf,ws,gs=v(()=>{\"use strict\";Kf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Uf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?fs(\"title\",{id:t,children:e}):null,fs(\"path\",{d:\"M3 2a1 1 0 0 0-1 1v16a3 3 0 0 0 3 3h16a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1v-2.531l4.94-4.115 4.353 4.353a1 1 0 0 0 1.459-.049l7-8a.999.999 0 1 0-1.504-1.316l-6.297 7.195-4.244-4.244a1 1 0 0 0-1.348-.06L4 13.864V3a1 1 0 0 0-1-1\"})]}))},ws=Kf});import{jsx as hs,jsxs as qf}from\"react/jsx-runtime\";var $f,vs,bs=v(()=>{\"use strict\";$f=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return qf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?hs(\"title\",{id:t,children:e}):null,hs(\"path\",{fillRule:\"evenodd\",d:\"M13 4a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-3 1a3 3 0 1 1 5.708 1.293l1.999 2a3 3 0 1 1-1.414 1.414l-2-2a3 3 0 0 1-1.797.25l-4.84 5.647a3 3 0 1 1-1.468-1.36l4.535-5.29A3 3 0 0 1 10 5M4 15a1 1 0 1 1 2 0 1 1 0 0 1-2 0m-1 5a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2zm15-9a1 1 0 1 1 2 0 1 1 0 0 1-2 0\",clipRule:\"evenodd\"})]}))},vs=$f});import{jsx as xs,jsxs as Xf}from\"react/jsx-runtime\";var Zf,Ss,ys=v(()=>{\"use strict\";Zf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Xf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?xs(\"title\",{id:t,children:e}):null,xs(\"path\",{fillRule:\"evenodd\",d:\"M8 8a4 4 0 1 1 8 0v2H8zm-2 2V8a6 6 0 1 1 12 0v2h1a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-6a3 3 0 0 1 3-3zm-2 3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z\",clipRule:\"evenodd\"})]}))},Ss=Zf});import{jsx as Rs,jsxs as Jf}from\"react/jsx-runtime\";var Yf,Ps,Vs=v(()=>{\"use strict\";Yf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Jf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Rs(\"title\",{id:t,children:e}):null,Rs(\"path\",{d:\"M15 2a1 1 0 1 0 0 2h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-4a1 1 0 1 0 0 2h4a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm-5 4a1 1 0 0 0-.707 1.707L12.586 11H3a1 1 0 1 0 0 2h9.586l-3.293 3.293a1 1 0 1 0 1.414 1.414l5-5a1 1 0 0 0 0-1.414l-5-5A1 1 0 0 0 10 6\"})]}))},Ps=Yf});import{jsx as Cs,jsxs as jf}from\"react/jsx-runtime\";var Qf,Is,Gs=v(()=>{\"use strict\";Qf=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return jf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Cs(\"title\",{id:t,children:e}):null,Cs(\"path\",{d:\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h4a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 0 0-2zm11 4a1 1 0 0 0-.707 1.707L18.586 11H9a1 1 0 1 0 0 2h9.586l-3.293 3.293a1 1 0 1 0 1.414 1.414l5-5a1 1 0 0 0 0-1.414l-5-5A1 1 0 0 0 16 6\"})]}))},Is=Qf});import{jsx as Es,jsxs as tw}from\"react/jsx-runtime\";var ew,Ms,Ns=v(()=>{\"use strict\";ew=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return tw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Es(\"title\",{id:t,children:e}):null,Es(\"path\",{d:\"M12 1c-4.47 0-9 3.375-9 9 0 3.879 2.206 7.116 4.271 9.31a24.7 24.7 0 0 0 2.868 2.592 22 22 0 0 0 1.224.877l.076.05.022.013.006.004.002.002L12 22l.531.848.002-.002.006-.004.022-.014.076-.049q.098-.063.273-.183c.232-.16.56-.392.951-.694a24.7 24.7 0 0 0 2.868-2.591C18.794 17.116 21 13.879 21 10c0-5.625-4.53-9-9-9m0 21-.53.848a1 1 0 0 0 1.06 0zm0-19c3.53 0 7 2.639 7 7 0 3.121-1.794 5.884-3.729 7.94A22.7 22.7 0 0 1 12 20.79a22.7 22.7 0 0 1-3.271-2.852C6.794 15.884 5 13.121 5 10c0-4.361 3.47-7 7-7m0 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8m0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4\"})]}))},Ms=ew});import{jsx as Ts,jsxs as ow}from\"react/jsx-runtime\";var rw,ks,Ls=v(()=>{\"use strict\";rw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return ow(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Ts(\"title\",{id:t,children:e}):null,Ts(\"path\",{d:\"M19.836 2.025c-.36.019-.718.138-1.035.375l-.022.016A12 12 0 0 1 11.025 5H5C3.355 5 2 6.355 2 8v4c0 1.645 1.355 3 3 3h.162c.193 2.45.955 4.824 2.438 6.8.55.734 1.342 1.157 2.117 1.221a3.05 3.05 0 0 0 2.084-.62 3.05 3.05 0 0 0 1.18-1.827c.154-.762-.03-1.641-.58-2.375-.7-.932-1.064-2.036-1.235-3.178 2.757-.037 5.448.85 7.613 2.563l.022.016C20.069 18.55 22 17.585 22 16V4c0-1.189-1.086-2.03-2.164-1.975m.184 1.96L20 4v12l.02.016A14 14 0 0 0 10.975 13H9V7h1.975a14 14 0 0 0 9.045-3.016M5 7h2v6H5c-.564 0-1-.436-1-1V8c0-.564.436-1 1-1m2.162 8h2c.18 1.583.676 3.116 1.639 4.4.25.334.264.554.219.776a1.1 1.1 0 0 1-.42.625 1.1 1.1 0 0 1-.717.228c-.225-.018-.434-.096-.684-.43C7.976 18.97 7.35 17.017 7.162 15\"})]}))},ks=rw});import{jsx as As,jsxs as aw}from\"react/jsx-runtime\";var nw,zs,Os=v(()=>{\"use strict\";nw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return aw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?As(\"title\",{id:t,children:e}):null,As(\"path\",{fillRule:\"evenodd\",d:\"M3 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1m0 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1m1 5a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},zs=nw});import{jsx as Bs,jsxs as iw}from\"react/jsx-runtime\";var lw,Hs,Fs=v(()=>{\"use strict\";lw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return iw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Bs(\"title\",{id:t,children:e}):null,Bs(\"path\",{d:\"M14 3a1 1 0 0 0-1 1v6c0 .275.111.524.291.705l.004.004a1 1 0 0 0 .701.291H20a1 1 0 1 0 0-2h-3.586l4.293-4.293a1 1 0 1 0-1.414-1.414L15 7.586V4a1 1 0 0 0-1-1M4 13a1 1 0 1 0 0 2h3.586l-4.293 4.293a1 1 0 1 0 1.414 1.414L9 16.414V20a1 1 0 1 0 2 0v-6.004a1 1 0 0 0-.291-.701l-.004-.004A1 1 0 0 0 10 13z\"})]}))},Hs=lw});import{jsx as Ds,jsxs as cw}from\"react/jsx-runtime\";var sw,Ws,_s=v(()=>{\"use strict\";sw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return cw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Ds(\"title\",{id:t,children:e}):null,Ds(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m-4 8a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2z\"})]}))},Ws=sw});import{jsx as Ks,jsxs as pw}from\"react/jsx-runtime\";var dw,Us,$s=v(()=>{\"use strict\";dw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return pw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?Ks(\"title\",{id:t,children:e}):null,Ks(\"path\",{fillRule:\"evenodd\",d:\"M4 12a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1\",clipRule:\"evenodd\"})]}))},Us=dw});import{jsx as qs,jsxs as mw}from\"react/jsx-runtime\";var uw,hr,Zs=v(()=>{\"use strict\";uw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return mw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 16 16\",\"aria-labelledby\":t},r),{children:[e?qs(\"title\",{id:t,children:e}):null,qs(\"rect\",{width:10,height:2,x:3,y:7,rx:1})]}))},hr=uw});import{jsx as Xs,jsxs as ww}from\"react/jsx-runtime\";var fw,Ys,Js=v(()=>{\"use strict\";fw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return ww(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Xs(\"title\",{id:t,children:e}):null,Xs(\"path\",{d:\"M12 1a1 1 0 0 0-.707.293l-3 3a1 1 0 1 0 1.414 1.414L11 4.414V11H4.414l1.293-1.293a1 1 0 1 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 1 0 1.414-1.414L4.414 13H11v6.586l-1.293-1.293a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414L13 19.586V13h6.586l-1.293 1.293a1 1 0 1 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 1 0-1.414 1.414L19.586 11H13V4.414l1.293 1.293a1 1 0 1 0 1.414-1.414l-3-3A1 1 0 0 0 12 1\"})]}))},Ys=fw});import{jsx as no,jsxs as hw}from\"react/jsx-runtime\";var gw,Qs,js=v(()=>{\"use strict\";gw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return hw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",fillRule:\"evenodd\",viewBox:\"0 0 14 14\",\"aria-labelledby\":t},r),{children:[e?no(\"title\",{id:t,children:e}):null,no(\"path\",{d:\"M10 8a1 1 0 0 0-1 1v3H2V5h3a1 1 0 1 0 0-2H1a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1\"}),no(\"path\",{d:\"M13 0H8a1 1 0 1 0 0 2h2.586L4.293 8.293a.999.999 0 1 0 1.414 1.414L12 3.414V6a1 1 0 1 0 2 0V1a1 1 0 0 0-1-1\"})]}))},Qs=gw});import{jsx as e1,jsxs as bw}from\"react/jsx-runtime\";var vw,t1,r1=v(()=>{\"use strict\";vw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return bw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?e1(\"title\",{id:t,children:e}):null,e1(\"path\",{fillRule:\"evenodd\",d:\"M22 13.207a3 3 0 0 1-.885 2.128l-5.825 5.792a3 3 0 0 1-2.115.873H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3zM20 12h-5a3 3 0 0 0-3 3v5H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1zm-.379 2L14 19.59V15a1 1 0 0 1 1-1z\",clipRule:\"evenodd\"})]}))},t1=vw});import{jsx as o1,jsxs as Sw}from\"react/jsx-runtime\";var xw,n1,a1=v(()=>{\"use strict\";xw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Sw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?o1(\"title\",{id:t,children:e}):null,o1(\"path\",{fillRule:\"evenodd\",d:\"M17.293 5.121a1 1 0 0 1 1.414 0l.172.172a1 1 0 0 1 0 1.414L18 7.586 16.414 6zM15 7.414l-8.148 8.148-1.057 2.643 2.643-1.057L16.586 9zm5.121-3.707a3 3 0 0 0-4.242 0L5.293 14.293a1 1 0 0 0-.221.336l-2 5a1 1 0 0 0 1.3 1.3l5-2a1 1 0 0 0 .335-.222L20.293 8.121a3 3 0 0 0 0-4.242z\",clipRule:\"evenodd\"})]}))},n1=xw});import{jsx as l1,jsxs as Rw}from\"react/jsx-runtime\";var yw,i1,s1=v(()=>{\"use strict\";yw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Rw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-labelledby\":t},r),{children:[e?l1(\"title\",{id:t,children:e}):null,l1(\"path\",{fillRule:\"evenodd\",d:\"M14.6 3.1c-.067-.267-.2-.467-.4-.667s-.4-.333-.6-.466c-.267-.067-.533-.134-.8-.134H11c-.4 0-.867.134-1.267.467a2 2 0 0 0-.666 1.133 5.8 5.8 0 0 1-.4 1.534c-.134.333-.134.666-.067 1.066s.267.667.533.934l.067.066c.2.2.267.467.133.734-.6.8-1.266 1.466-2.066 2.066-.267.2-.534.067-.734-.133l-.066-.067c-.267-.266-.6-.4-.934-.466C5.2 9.1 4.8 9.1 4.467 9.233c-.534.2-1 .334-1.534.4a1.83 1.83 0 0 0-1.2.667c-.266.267-.4.733-.4 1.2v1.8c0 .267.067.533.134.733.133.267.266.467.466.6.2.2.4.334.667.4.2.067.4.134.6.134h.2c1.933-.2 3.867-.867 5.467-1.934 1.533-1 2.866-2.266 3.8-3.8A12.5 12.5 0 0 0 14.6 3.9a1.6 1.6 0 0 0 0-.8m-3 5.6a11.8 11.8 0 0 1-3.4 3.4c-1.533.933-3.2 1.533-4.933 1.733h-.2c-.067 0-.134-.066-.2-.133-.067-.067-.067-.133-.134-.2-.066-.067-.066-.133-.066-.2v-1.8a.5.5 0 0 1 .133-.333c.067-.134.2-.2.333-.2C3.733 10.9 4.4 10.7 5 10.5c.067 0 .133-.067.2-.067h.133c.134 0 .2.067.267.134l.067.066c.666.667 1.666.8 2.4.267a11.4 11.4 0 0 0 2.4-2.333c.533-.734.4-1.734-.267-2.467-.2-.133-.2-.267-.267-.333v-.334c.2-.6.4-1.2.467-1.8 0-.133.067-.266.2-.333s.267-.133.4-.133h1.8c.067 0 .133 0 .2.066.067 0 .133.067.2.134.067.066.067.133.133.2v.2c-.2 1.733-.8 3.4-1.733 4.933\",clipRule:\"evenodd\"})]}))},i1=yw});import{jsx as c1,jsxs as Vw}from\"react/jsx-runtime\";var Pw,d1,p1=v(()=>{\"use strict\";Pw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Vw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?c1(\"title\",{id:t,children:e}):null,c1(\"path\",{fillRule:\"evenodd\",d:\"M21.3 2.9c.3.3.5.6.6 1q.15.6 0 1.2c-.3 3-1.3 5.8-2.9 8.3-1.4 2.3-3.4 4.2-5.7 5.7-2.4 1.6-5.3 2.6-8.2 2.9h-.3c-.3 0-.6-.1-.9-.2-.4-.1-.7-.3-1-.6-.3-.2-.5-.5-.7-.9-.1-.3-.2-.7-.2-1.1v-2.7c0-.7.2-1.4.6-1.8.5-.6 1.1-.9 1.8-1 .8-.1 1.5-.3 2.3-.6.5-.2 1.1-.2 1.6-.1s1 .3 1.4.7l.1.1c.3.3.7.5 1.1.2 1.2-.9 2.2-1.9 3.1-3.1.2-.4.1-.8-.2-1.1l-.1-.1c-.4-.4-.7-.8-.8-1.4s-.1-1.1.1-1.6c.3-.7.5-1.5.6-2.3.1-.6.5-1.3 1-1.7.6-.5 1.3-.7 1.9-.7h2.7c.4 0 .8.1 1.2.2.3.2.6.4.9.7m-9 14.5c2-1.3 3.8-3.1 5.1-5.1 1.4-2.3 2.3-4.8 2.6-7.4v-.3c-.05-.05-.075-.1-.1-.15a.5.5 0 0 0-.1-.15c-.1-.1-.2-.2-.3-.2-.1-.1-.2-.1-.3-.1h-2.7c-.2 0-.4.1-.6.2s-.3.3-.3.5c-.1.9-.4 1.8-.7 2.7v.5a.5.5 0 0 1 .082.13.85.85 0 0 0 .318.37c1 1.1 1.2 2.6.4 3.7-1 1.3-2.2 2.5-3.6 3.5-1.1.8-2.6.6-3.6-.4l-.1-.1c-.1-.1-.2-.2-.4-.2h-.2c-.05 0-.1.025-.15.05s-.1.05-.15.05c-.9.3-1.9.6-2.8.7-.2 0-.4.1-.5.3-.1.1-.2.3-.2.5v2.7c0 .1 0 .2.1.3.05.05.075.1.1.15s.05.1.1.15c.1.1.2.2.3.2h.3c2.6-.3 5.1-1.2 7.4-2.6M5 7H3c-.6 0-1-.4-1-1s.4-1 1-1h2V3c0-.6.4-1 1-1s1 .4 1 1v2h2c.6 0 1 .4 1 1s-.4 1-1 1H7v2c0 .6-.4 1-1 1s-1-.4-1-1z\",clipRule:\"evenodd\"})]}))},d1=Pw});import{jsx as u1,jsxs as Iw}from\"react/jsx-runtime\";var Cw,m1,f1=v(()=>{\"use strict\";Cw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Iw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?u1(\"title\",{id:t,children:e}):null,u1(\"path\",{fillRule:\"evenodd\",d:\"M11 3.055A9.001 9.001 0 0 0 12 21a8.97 8.97 0 0 0 6.14-2.42l-6.092-5.222A3 3 0 0 1 11 11.08zm8.442 14.007A9 9 0 0 0 13 3.055v8.025a1 1 0 0 0 .35.76zM12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1\",clipRule:\"evenodd\"})]}))},m1=Cw});import{jsx as w1,jsxs as Ew}from\"react/jsx-runtime\";var Gw,g1,h1=v(()=>{\"use strict\";Gw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Ew(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?w1(\"title\",{id:t,children:e}):null,w1(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m0 4a1 1 0 0 0-1 1v3H8a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3V8a1 1 0 0 0-1-1\"})]}))},g1=Gw});import{jsx as v1,jsxs as Nw}from\"react/jsx-runtime\";var Mw,b1,x1=v(()=>{\"use strict\";Mw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Nw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?v1(\"title\",{id:t,children:e}):null,v1(\"path\",{fillRule:\"evenodd\",d:\"M13 5a1 1 0 1 0-2 0v6H5a1 1 0 1 0 0 2h6v6a1 1 0 1 0 2 0v-6h6a1 1 0 1 0 0-2h-6z\",clipRule:\"evenodd\"})]}))},b1=Mw});import{jsx as S1,jsxs as kw}from\"react/jsx-runtime\";var Tw,ht,y1=v(()=>{\"use strict\";Tw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return kw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?S1(\"title\",{id:t,children:e}):null,S1(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m-.049 2a4.04 4.04 0 0 0-3.918 2.996 1 1 0 1 0 1.934.508A2.04 2.04 0 0 1 11.95 7C13.097 7 14 7.91 14 9c0 .637-.305 1.208-.791 1.578-.448.34-.995.781-1.43 1.313-.439.536-.828 1.243-.828 2.109v1a1 1 0 1 0 2 0v-1c0-.239.105-.51.377-.842.277-.338.66-.66 1.092-.988A3.98 3.98 0 0 0 16 9c0-2.224-1.828-4-4.049-4M12 17a1 1 0 1 0 0 2 1 1 0 0 0 0-2\"})]}))},ht=Tw});import{jsx as R1,jsxs as Aw}from\"react/jsx-runtime\";var Lw,P1,V1=v(()=>{\"use strict\";Lw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Aw(\"svg\",c(i({fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?R1(\"title\",{id:t,children:e}):null,R1(\"path\",{d:\"M7.614 2.175A5.614 5.614 0 0 0 2 7.79v8.422l.005.29a5.615 5.615 0 0 0 5.321 5.315l.288.009h8.421v-2.106H7.614a3.51 3.51 0 0 1-3.509-3.508V7.789a3.51 3.51 0 0 1 3.509-3.508h8.421a3.51 3.51 0 0 1 3.509 3.508h2.105c0-3.1-2.513-5.614-5.614-5.614zm4.816 4.567c-.268.025-.526.15-.712.373L7.647 12l4.07 4.885a1.054 1.054 0 0 0 1.618-1.349l-2.07-2.483h3.367c2.912 0 4.017.797 4.558 1.798.308.57.497 1.311.598 2.27.1.958.107 2.05.107 3.3a1.053 1.053 0 0 0 2.105 0c0-1.232-.007-2.434-.12-3.52-.115-1.085-.342-2.139-.837-3.053-1.065-1.968-3.12-2.9-6.411-2.9h-3.367l2.07-2.484a1.054 1.054 0 0 0-.905-1.722\"})]}))},P1=Lw});import{jsx as C1,jsxs as Ow}from\"react/jsx-runtime\";var zw,I1,G1=v(()=>{\"use strict\";zw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Ow(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?C1(\"title\",{id:t,children:e}):null,C1(\"path\",{d:\"M13 2c-5.387 0-9.78 4.26-9.992 9.594l-1.301-1.301a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414l-1.281 1.281A8 8 0 1 1 13 20a7.98 7.98 0 0 1-5.963-2.666 1 1 0 0 0-1.49 1.332A9.98 9.98 0 0 0 13 22c5.523 0 10-4.477 10-10S18.523 2 13 2\"})]}))},I1=zw});import{jsx as E1,jsxs as Hw}from\"react/jsx-runtime\";var Bw,M1,N1=v(()=>{\"use strict\";Bw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Hw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?E1(\"title\",{id:t,children:e}):null,E1(\"path\",{d:\"M11 2C5.477 2 1 6.477 1 12s4.477 10 10 10a9.98 9.98 0 0 0 7.453-3.334 1 1 0 0 0-1.49-1.332A7.98 7.98 0 0 1 11 20a8 8 0 1 1 7.988-8.426l-1.281-1.281a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414l-1.3 1.3C20.778 6.26 16.386 2 11 2\"})]}))},M1=Bw});import{jsx as T1,jsxs as Dw}from\"react/jsx-runtime\";var Fw,k1,L1=v(()=>{\"use strict\";Fw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Dw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?T1(\"title\",{id:t,children:e}):null,T1(\"path\",{d:\"M7 8a1.5 1.5 0 0 1 .75 2.798V14H18a4 4 0 0 1 4 4v1a4 4 0 0 1-3.794 3.995L18 23H6l-.206-.005a4 4 0 0 1-3.79-3.789L2 19v-1a4 4 0 0 1 4-4h.25v-3.202A1.498 1.498 0 0 1 7 8m-1 8a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2zm3 1.75a.75.75 0 0 1 0 1.5H8a.75.75 0 0 1 0-1.5zm4 0a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1 0-1.5zM7 4a5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1 0-2m0-4a9 9 0 0 1 9 9 1 1 0 1 1-2 0 7 7 0 0 0-7-7 1 1 0 0 1 0-2\"})]}))},k1=Fw});import{jsx as A1,jsxs as _w}from\"react/jsx-runtime\";var Ww,vr,z1=v(()=>{\"use strict\";Ww=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return _w(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?A1(\"title\",{id:t,children:e}):null,A1(\"path\",{fillRule:\"evenodd\",d:\"M4 11a7 7 0 1 1 14 0 7 7 0 0 1-14 0m7-9a9 9 0 1 0 5.618 16.032l3.675 3.675a1 1 0 0 0 1.414-1.414l-3.675-3.675A9 9 0 0 0 11 2\",clipRule:\"evenodd\"})]}))},vr=Ww});import{jsx as O1,jsxs as Uw}from\"react/jsx-runtime\";var Kw,B1,H1=v(()=>{\"use strict\";Kw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Uw(\"svg\",c(i({fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?O1(\"title\",{id:t,children:e}):null,O1(\"path\",{d:\"M12 1c3.208 2.2 9.625 3.3 9.625 3.3v8.36L21.62 13c-.122 3.495-2.128 6.635-5.236 8.02L12 23l-4.384-1.98c-3.108-1.386-5.114-4.526-5.236-8.021l-.005-.338V4.3S8.792 3.2 12 1m0 2.404c-1.745.934-3.824 1.608-5.47 2.06-.777.212-1.496.382-2.092.516v6.68c0 2.696 1.411 5.084 3.574 6.258l.443.218.01.005L12 20.736l3.536-1.595.009-.005c2.41-1.075 4.017-3.6 4.018-6.475V5.98a46 46 0 0 1-2.093-.518c-1.646-.451-3.725-1.125-5.47-2.06m3.396 5.117a1.031 1.031 0 1 1 1.458 1.458l-6.229 6.23-3.48-3.48a1.031 1.031 0 1 1 1.46-1.458l2.02 2.02z\"})]}))},B1=Kw});import{jsx as F1,jsxs as qw}from\"react/jsx-runtime\";var $w,D1,W1=v(()=>{\"use strict\";$w=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return qw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?F1(\"title\",{id:t,children:e}):null,F1(\"path\",{fillRule:\"evenodd\",d:\"M12 4c-5.19 0-9 3.33-9 7 0 1.916.995 3.941 2.617 5.213.009.007.343.38.441.674.106.318.142.714.048 1.184-.1.494-.34 1.066-.789 1.735l.269-.042c1.484-.248 2.948-.713 3.707-1.471A1 1 0 0 1 10 18h2c5.19 0 9-3.33 9-7s-3.81-7-9-7M2.076 21.383a1 1 0 0 1 .217-1.09c1.568-1.568 1.833-2.42 1.863-2.69C2.208 15.963 1 13.466 1 11c0-5.167 5.145-9 11-9s11 3.833 11 9-5.145 9-11 9h-1.615c-1.251 1.035-3.08 1.505-4.47 1.736a20 20 0 0 1-2.668.26c-.205.005-.961-.107-1.17-.613Z\",clipRule:\"evenodd\"})]}))},D1=$w});import{jsx as _1,jsxs as Xw}from\"react/jsx-runtime\";var Zw,K1,U1=v(()=>{\"use strict\";Zw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Xw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?_1(\"title\",{id:t,children:e}):null,_1(\"path\",{fillRule:\"evenodd\",d:\"M3 9.111C3 5.96 6.37 3 11 3s8 2.959 8 6.111q-.002.712-.21 1.383A8.1 8.1 0 0 0 16 10c-3.434 0-6.601 2.182-6.965 5.29a1.6 1.6 0 0 0-.636.324c-.414.285-1.49.938-3.417 1.235.264-.488.5-1.058.608-1.67.177-.78-.23-1.372-.395-1.61l-.026-.04a1 1 0 0 0-.175-.197C3.759 12.265 3 10.668 3 9.112Zm6.244 8.34C8.276 18.05 6.258 19 2.9 19a1 1 0 0 1-.704-1.71v-.001l.007-.006.034-.036.141-.154a7 7 0 0 0 .46-.582c.356-.503.684-1.11.784-1.69l-.009-.017-.032-.051C1.997 13.332 1 11.24 1 9.11 1 4.441 5.73 1 11 1s10 3.441 10 8.111a6.7 6.7 0 0 1-.42 2.329c1.457 1.053 2.42 2.613 2.42 4.449 0 1.502-.66 2.977-1.724 4.01.078.3.249.621.446.908a5 5 0 0 0 .372.471l.02.022.002.001A1 1 0 0 1 21.4 23c-2.506 0-3.949-.792-4.57-1.222H16c-3.068 0-5.922-1.741-6.756-4.328ZM21 15.888C21 13.934 18.949 12 16 12s-5 1.934-5 3.889 2.051 3.889 5 3.889h.96c.36 0 .716.111.988.342.205.144.686.446 1.51.655a4 4 0 0 1-.18-.659c-.141-.66.196-1.16.307-1.326l.018-.026a1 1 0 0 1 .172-.2C20.532 17.89 21 16.875 21 15.89Z\",clipRule:\"evenodd\"})]}))},K1=Zw});import{jsx as $1,jsxs as Jw}from\"react/jsx-runtime\";var Yw,q1,Z1=v(()=>{\"use strict\";Yw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return Jw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?$1(\"title\",{id:t,children:e}):null,$1(\"path\",{d:\"M12 3a1 1 0 0 0-.895.553l-6 12a1 1 0 0 0 .448 1.342 1 1 0 0 0 1.342-.448L8.617 13h6.766l1.722 3.447a1 1 0 0 0 1.342.448 1 1 0 0 0 .448-1.342l-6-12A1 1 0 0 0 12 3m0 3.236L14.383 11H9.617Zm9.293 11.057L18 20.586l-1.293-1.293a1 1 0 0 0-1.414 0 1 1 0 0 0 0 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0 0-1.414 1 1 0 0 0-1.414 0\"})]}))},q1=Yw});import{jsx as ao,jsxs as jw}from\"react/jsx-runtime\";var Qw,br,X1=v(()=>{\"use strict\";Qw=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return jw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?ao(\"title\",{id:t,children:e}):null,ao(\"path\",{fill:\"#eee\",fillRule:\"evenodd\",d:\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14m0 3c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\",clipRule:\"evenodd\"}),ao(\"path\",{fill:\"currentColor\",d:\"M2 12C2 6.477 6.477 2 12 2v3a7 7 0 0 0-7 7z\"})]}))},br=Qw});import{jsx as Y1,jsxs as t2}from\"react/jsx-runtime\";var e2,J1,Q1=v(()=>{\"use strict\";e2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return t2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Y1(\"title\",{id:t,children:e}):null,Y1(\"path\",{fillRule:\"evenodd\",d:\"M13.794 3.374c-.734-1.486-2.854-1.486-3.587 0L8.246 7.346l-4.387.642c-1.64.24-2.293 2.255-1.106 3.411l3.173 3.09-.749 4.365c-.28 1.634 1.435 2.88 2.902 2.108L12 18.9l3.921 2.062c1.467.771 3.183-.474 2.902-2.108l-.748-4.365 3.172-3.09c1.188-1.156.534-3.172-1.106-3.411l-4.386-.642z\",clipRule:\"evenodd\"})]}))},J1=e2});import{jsx as j1,jsxs as o2}from\"react/jsx-runtime\";var r2,e0,t0=v(()=>{\"use strict\";r2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return o2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?j1(\"title\",{id:t,children:e}):null,j1(\"path\",{fillRule:\"evenodd\",d:\"M10.207 3.374c.733-1.486 2.853-1.486 3.587 0l1.96 3.972 4.387.642c1.64.24 2.294 2.255 1.106 3.411l-3.172 3.09.748 4.365c.28 1.634-1.435 2.88-2.902 2.108l-3.92-2.062-3.922 2.062c-1.467.771-3.182-.474-2.902-2.108l.749-4.365-3.173-3.09C1.566 10.243 2.22 8.227 3.86 7.988l4.387-.642zm3.754 4.858-1.96-3.973-1.962 3.973a2 2 0 0 1-1.504 1.093l-4.386.642 3.172 3.09a2 2 0 0 1 .576 1.77l-.749 4.365 3.921-2.062a2 2 0 0 1 1.862 0l3.921 2.062-.748-4.364a2 2 0 0 1 .575-1.771l3.173-3.09-4.387-.642a2 2 0 0 1-1.504-1.093\",clipRule:\"evenodd\"})]}))},e0=r2});import{jsx as r0,jsxs as a2}from\"react/jsx-runtime\";var n2,o0,n0=v(()=>{\"use strict\";n2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return a2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?r0(\"title\",{id:t,children:e}):null,r0(\"path\",{d:\"M18.229 2.865a1 1 0 0 1 1.543 1.271l-1.156 1.401a9.22 9.22 0 0 1 2.617 5.9l1.06-1.06a1 1 0 0 1 1.414 1.413l-2.75 2.75a1 1 0 0 1-1.414 0l-2.75-2.75a1 1 0 0 1 1.414-1.414l1.017 1.016a7.22 7.22 0 0 0-1.889-4.298L8.207 18.178A7.2 7.2 0 0 0 12 19.25a7.22 7.22 0 0 0 4.833-1.845 1 1 0 0 1 1.334 1.49A9.22 9.22 0 0 1 12 21.25a9.2 9.2 0 0 1-5.074-1.516l-1.154 1.402a1 1 0 0 1-1.543-1.271l1.154-1.403a9.22 9.22 0 0 1-2.615-5.898l-1.06 1.06A1 1 0 0 1 .292 12.21l2.75-2.75a1 1 0 0 1 1.414 0l2.75 2.75a1 1 0 0 1-1.414 1.414L4.777 12.61a7.22 7.22 0 0 0 1.887 4.298l9.128-11.085A7.2 7.2 0 0 0 12 4.75a7.2 7.2 0 0 0-4.556 1.61 1 1 0 0 1-1.258-1.554A9.2 9.2 0 0 1 12 2.75c1.874 0 3.617.558 5.073 1.516z\"})]}))},o0=n2});import{jsx as a0,jsxs as i2}from\"react/jsx-runtime\";var l2,l0,i0=v(()=>{\"use strict\";l2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return i2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?a0(\"title\",{id:t,children:e}):null,a0(\"path\",{d:\"M17 1a1 1 0 0 0-.707 1.707L18.586 5H7a5 5 0 0 0-5 5v2a1 1 0 1 0 2 0v-2a3 3 0 0 1 3-3h11.586l-2.293 2.293a1 1 0 1 0 1.414 1.414l4-4a1 1 0 0 0 .291-.658L22 6l-4.293-4.707A1 1 0 0 0 17 1m4.924 4.617L22 5.99a1 1 0 0 0-.076-.373M21 11a1 1 0 0 0-1 1v2a3 3 0 0 1-3 3H5.414l2.293-2.293a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0-.217.322 1 1 0 0 0 0 .768 1 1 0 0 0 .217.324l4 4a1 1 0 1 0 1.414-1.414L5.414 19H17a5 5 0 0 0 5-5v-2a1 1 0 0 0-1-1\"})]}))},l0=l2});import{jsx as s0,jsxs as c2}from\"react/jsx-runtime\";var s2,c0,d0=v(()=>{\"use strict\";s2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return c2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?s0(\"title\",{id:t,children:e}):null,s0(\"path\",{d:\"M13.828 2a3 3 0 0 0-2.121.879l-9 9a3 3 0 0 0 0 4.242l5.172 5.172a3 3 0 0 0 4.242 0l9-9A3 3 0 0 0 22 10.172V5a3 3 0 0 0-3-3zm-.707 2.293A1 1 0 0 1 13.828 4H19a1 1 0 0 1 1 1v5.172a1 1 0 0 1-.293.707l-9 9a1 1 0 0 1-1.414 0L4.12 14.707a1 1 0 0 1 0-1.414zM17 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"})]}))},c0=s2});import{jsx as p0,jsxs as p2}from\"react/jsx-runtime\";var d2,u0,m0=v(()=>{\"use strict\";d2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return p2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?p0(\"title\",{id:t,children:e}):null,p0(\"path\",{d:\"M7 3a1 1 0 0 0-1 1v13.586l-2.293-2.293a1 1 0 0 0-1.414 0 1 1 0 0 0 0 1.414l4 4A1 1 0 0 0 7 21a1 1 0 0 0 .707-.293l4-4a1 1 0 0 0 0-1.414 1 1 0 0 0-1.414 0L8 17.586V4a1 1 0 0 0-1-1m4 0a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1 1 1 0 0 0-1-1Zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h7a1 1 0 0 0 1-1 1 1 0 0 0-1-1Zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h4a1 1 0 0 0 1-1 1 1 0 0 0-1-1z\"})]}))},u0=d2});import{jsx as f0,jsxs as m2}from\"react/jsx-runtime\";var u2,w0,g0=v(()=>{\"use strict\";u2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return m2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?f0(\"title\",{id:t,children:e}):null,f0(\"path\",{d:\"M7 3a1 1 0 0 0-.707.293l-4 4a1 1 0 0 0 0 1.414 1 1 0 0 0 1.414 0L6 6.414V20a1 1 0 0 0 1 1 1 1 0 0 0 1-1V6.414l2.293 2.293a1 1 0 0 0 1.414 0 1 1 0 0 0 0-1.414l-4-4A1 1 0 0 0 7 3m4 8a1 1 0 0 0-1 1 1 1 0 0 0 1 1h4a1 1 0 0 0 1-1 1 1 0 0 0-1-1zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h7a1 1 0 0 0 1-1 1 1 0 0 0-1-1zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1 1 1 0 0 0-1-1z\"})]}))},w0=u2});import{jsx as h0,jsxs as w2}from\"react/jsx-runtime\";var f2,v0,b0=v(()=>{\"use strict\";f2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return w2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?h0(\"title\",{id:t,children:e}):null,h0(\"path\",{fillRule:\"evenodd\",d:\"M11.798 21.598c1.004.473 2.05-.058 2.47-.899L17.618 14H19a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6.64a3 3 0 0 0-2.942 2.412l-1.2 6A3 3 0 0 0 5.439 14H9v4c0 1.051.505 1.86 1.072 2.427.56.559 1.23.938 1.727 1.171ZM18 4h1a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-1zm-2 0v8.764l-3.48 6.961c-.358-.179-.74-.419-1.035-.713C11.163 18.69 11 18.362 11 18v-4a2 2 0 0 0-2-2H5.44a1 1 0 0 1-.981-1.196l1.2-6A1 1 0 0 1 6.639 4zm-3.48 15.725.129.063a.18.18 0 0 0-.137-.005c-.023.01-.03.02-.032.022z\",clipRule:\"evenodd\"})]}))},v0=f2});import{jsx as x0,jsxs as h2}from\"react/jsx-runtime\";var g2,S0,y0=v(()=>{\"use strict\";g2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return h2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?x0(\"title\",{id:t,children:e}):null,x0(\"path\",{fillRule:\"evenodd\",d:\"M12.202 2.402c-1.004-.473-2.05.058-2.47.899L6.381 10H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h12.36a3 3 0 0 0 2.942-2.412l1.2-6A3 3 0 0 0 18.56 10H15V6c0-1.051-.504-1.86-1.071-2.427-.56-.559-1.23-.938-1.727-1.171M8 20h9.36a1 1 0 0 0 .981-.804l1.2-6a1 1 0 0 0-.98-1.196H15a2 2 0 0 1-2-2V6c0-.361-.163-.69-.485-1.012-.295-.295-.677-.534-1.034-.713l.04-.08c-.002.003-.01.013-.033.022a.18.18 0 0 1-.137-.005q.064.03.13.063L8 11.236zm-2 0v-8H5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1z\",clipRule:\"evenodd\"})]}))},S0=g2});import{jsx as R0,jsxs as b2}from\"react/jsx-runtime\";var v2,P0,V0=v(()=>{\"use strict\";v2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return b2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?R0(\"title\",{id:t,children:e}):null,R0(\"path\",{d:\"M14.63 11.287c.655-1.717 3.085-1.717 3.74 0l3.565 9.358a1 1 0 0 1-1.869.712l-1.14-2.99h-4.852l-1.14 2.99a1 1 0 0 1-1.869-.712zm.206 5.08h3.329L16.5 12zM7.5 2a1 1 0 0 1 1 1v2H12a1 1 0 1 1 0 2h-1.094c-.287 1.61-1.22 3.15-2.339 4.41a14 14 0 0 0 2.835 1.675 1 1 0 1 1-.804 1.83 16 16 0 0 1-3.48-2.1c-1.231 1.03-2.608 1.822-3.864 2.152a1 1 0 1 1-.508-1.934c.851-.223 1.886-.787 2.877-1.579a10.8 10.8 0 0 1-1.486-1.95 1 1 0 0 1 1.726-1.009c.309.527.72 1.062 1.212 1.582C7.96 9.081 8.595 8.008 8.86 7H3a1 1 0 0 1 0-2h3.5V3a1 1 0 0 1 1-1\"})]}))},P0=v2});import{jsx as C0,jsxs as S2}from\"react/jsx-runtime\";var x2,I0,G0=v(()=>{\"use strict\";x2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return S2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?C0(\"title\",{id:t,children:e}):null,C0(\"path\",{fillRule:\"evenodd\",d:\"M9 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1H9zM7 6V5a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v1h4a1 1 0 1 1 0 2h-1v11a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V8H3a1 1 0 0 1 0-2zM6 8h12v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm4 2a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1m5 1a1 1 0 1 0-2 0v6a1 1 0 1 0 2 0z\",clipRule:\"evenodd\"})]}))},I0=x2});import{jsx as E0,jsxs as R2}from\"react/jsx-runtime\";var y2,M0,N0=v(()=>{\"use strict\";y2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return R2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?E0(\"title\",{id:t,children:e}):null,E0(\"path\",{fillRule:\"evenodd\",d:\"M8 8a4 4 0 0 1 7.668-1.6 1 1 0 1 0 1.832-.8A6.001 6.001 0 0 0 6 8v2H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H8zm-1 4H5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1z\",clipRule:\"evenodd\"})]}))},M0=y2});import{jsx as T0,jsxs as V2}from\"react/jsx-runtime\";var P2,k0,L0=v(()=>{\"use strict\";P2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return V2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?T0(\"title\",{id:t,children:e}):null,T0(\"path\",{fillRule:\"evenodd\",d:\"M12.707 1.293a1 1 0 0 0-1.414 0L8.879 3.707A1 1 0 0 1 8.172 4H5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3h-3.172a1 1 0 0 1-.707-.293zM10.293 5.12 12 3.414l1.707 1.707A3 3 0 0 0 15.828 6H19a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1c0-2.386-1.32-5.159-3.982-6.375a4 4 0 1 0-6.036 0C6.32 14.841 5 17.614 5 20a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h3.172a3 3 0 0 0 2.12-.879ZM7 20h10c0-2.339-1.684-5-5-5s-5 2.661-5 5m5-11a2 2 0 1 0 0 4 2 2 0 0 0 0-4\",clipRule:\"evenodd\"})]}))},k0=P2});import{jsx as A0,jsxs as I2}from\"react/jsx-runtime\";var C2,z0,O0=v(()=>{\"use strict\";C2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return I2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?A0(\"title\",{id:t,children:e}):null,A0(\"path\",{d:\"M11 2a6 6 0 0 0-3.77 10.668c-2.867 1.057-5.106 3.286-5.912 6.08a2.42 2.42 0 0 0 .555 2.338A2.9 2.9 0 0 0 4 22h8a1 1 0 0 0 0-2H4a.9.9 0 0 1-.652-.264.43.43 0 0 1-.108-.433C4.097 16.33 7.204 14 11 14c2.074 0 3.96.701 5.377 1.832a1 1 0 0 0 1.248-1.564 10.3 10.3 0 0 0-2.854-1.6A6 6 0 0 0 11 2m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8m11.082 12.004a1 1 0 0 0-.863.371l-3.301 4.127-1.211-1.209a1 1 0 1 0-1.414 1.414l2 2a.998.998 0 0 0 1.488-.082l4-5a1 1 0 0 0-.699-1.621\"})]}))},z0=C2});import{jsx as B0,jsxs as E2}from\"react/jsx-runtime\";var G2,H0,F0=v(()=>{\"use strict\";G2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return E2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?B0(\"title\",{id:t,children:e}):null,B0(\"path\",{d:\"M8 1C4.146 1 1 4.146 1 8s3.146 7 7 7a1 1 0 0 0 1-1 1 1 0 0 0-1-1c-2.773 0-5-2.227-5-5s2.227-5 5-5a4.994 4.994 0 0 1 4.932 4.166 1 1 0 0 0 1.15.82 1 1 0 0 0 .82-1.152A7.01 7.01 0 0 0 8 1m0 3a1 1 0 0 0-1 1v2.752c0 .424.169.831.469 1.13l1.824 1.825a1 1 0 0 0 1.414 0 1 1 0 0 0 0-1.414L9 7.586V5a1 1 0 0 0-1-1m8 5c-2.197 0-4 1.803-4 4 0 1.021.39 1.957 1.027 2.666a7.05 7.05 0 0 0-3.793 4.537 2.2 2.2 0 0 0 .504 2.018c.46.498 1.112.779 1.817.779h8.89c.705 0 1.357-.28 1.817-.78.46-.498.702-1.274.504-2.017a7.05 7.05 0 0 0-3.793-4.537A3.98 3.98 0 0 0 20 13c0-2.197-1.803-4-4-4m0 2c1.116 0 2 .884 2 2s-.884 2-2 2-2-.884-2-2 .884-2 2-2m0 6c2.311 0 4.264 1.59 4.832 3.719.023.087.017.083-.041.146a.5.5 0 0 1-.346.135h-8.89a.5.5 0 0 1-.346-.135c-.058-.063-.064-.06-.041-.146C11.736 18.589 13.688 17 16 17\",color:\"currentColor\"})]}))},H0=G2});import{jsx as D0,jsxs as N2}from\"react/jsx-runtime\";var M2,W0,_0=v(()=>{\"use strict\";M2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return N2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?D0(\"title\",{id:t,children:e}):null,D0(\"path\",{fillRule:\"evenodd\",d:\"M8 8a4 4 0 1 1 8 0 4 4 0 0 1-8 0m4-6a6 6 0 0 0-3.77 10.668c-2.868 1.057-5.106 3.287-5.911 6.08a2.42 2.42 0 0 0 .554 2.338A2.89 2.89 0 0 0 5 22h14c.822 0 1.6-.338 2.127-.914a2.42 2.42 0 0 0 .555-2.337c-.805-2.794-3.044-5.024-5.912-6.081A6 6 0 0 0 12 2M4.24 19.303C5.097 16.33 8.204 14 12 14s6.904 2.33 7.76 5.303a.42.42 0 0 1-.108.433A.9.9 0 0 1 19 20H5a.9.9 0 0 1-.652-.264.42.42 0 0 1-.108-.433\",clipRule:\"evenodd\"})]}))},W0=M2});import{jsx as K0,jsxs as k2}from\"react/jsx-runtime\";var T2,U0,$0=v(()=>{\"use strict\";T2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return k2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?K0(\"title\",{id:t,children:e}):null,K0(\"path\",{d:\"M11 2a6 6 0 0 0-3.77 10.668c-2.867 1.057-5.106 3.286-5.912 6.08a2.42 2.42 0 0 0 .555 2.338A2.9 2.9 0 0 0 4 22h9a1 1 0 0 0 0-2H4a.9.9 0 0 1-.652-.264.43.43 0 0 1-.108-.433C4.097 16.33 7.204 14 11 14c1.665 0 3.209.45 4.486 1.215a1.002 1.002 0 1 0 1.028-1.717 10.4 10.4 0 0 0-1.743-.83A6 6 0 0 0 11 2m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8m8 11a1 1 0 0 0-1 1v2h-2a1 1 0 0 0 0 2h2v2a1 1 0 0 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 0 0-1-1\"})]}))},U0=T2});import{jsx as q0,jsxs as A2}from\"react/jsx-runtime\";var L2,Z0,X0=v(()=>{\"use strict\";L2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return A2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?q0(\"title\",{id:t,children:e}):null,q0(\"path\",{d:\"M11 2a6 6 0 0 0-3.77 10.668c-2.867 1.057-5.106 3.286-5.912 6.08a2.42 2.42 0 0 0 .555 2.338A2.9 2.9 0 0 0 4 22h9a1 1 0 0 0 0-2H4a.9.9 0 0 1-.652-.264.43.43 0 0 1-.108-.433C4.097 16.33 7.204 14 11 14c1.665 0 3.209.45 4.486 1.215a1.002 1.002 0 1 0 1.028-1.717 10.4 10.4 0 0 0-1.743-.83A6 6 0 0 0 11 2m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8m6 12a1 1 0 0 0-.707 1.707l1.793 1.793-1.793 1.793a1 1 0 1 0 1.414 1.414l1.793-1.793 1.793 1.793a1 1 0 1 0 1.414-1.414L20.914 19.5l1.793-1.793a1 1 0 1 0-1.414-1.414L19.5 18.086l-1.793-1.793A1 1 0 0 0 17 16\"})]}))},Z0=L2});import{jsx as Y0,jsxs as O2}from\"react/jsx-runtime\";var z2,J0,Q0=v(()=>{\"use strict\";z2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return O2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?Y0(\"title\",{id:t,children:e}):null,Y0(\"path\",{fillRule:\"evenodd\",d:\"M3 4a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1\",clipRule:\"evenodd\"})]}))},J0=z2});import{jsx as j0,jsxs as H2}from\"react/jsx-runtime\";var B2,ec,tc=v(()=>{\"use strict\";B2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return H2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?j0(\"title\",{id:t,children:e}):null,j0(\"path\",{fillRule:\"evenodd\",d:\"M3 20a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1\",clipRule:\"evenodd\"})]}))},ec=B2});import{jsx as rc,jsxs as D2}from\"react/jsx-runtime\";var F2,xr,oc=v(()=>{\"use strict\";F2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return D2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},r),{children:[e?rc(\"title\",{id:t,children:e}):null,rc(\"path\",{d:\"M8.5 2.727a.98.98 0 0 0-.93.632L6.537 5.975a1 1 0 0 1-.562.562L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.033c.257.101.46.305.562.562l1.033 2.616c.333.844 1.527.844 1.86 0l1.033-2.616a1 1 0 0 1 .562-.562l2.616-1.033c.844-.333.844-1.527 0-1.86l-2.616-1.033a1 1 0 0 1-.562-.562L9.43 3.359a.98.98 0 0 0-.93-.632m8.5 10a.98.98 0 0 0-.93.632l-.607 1.54a1 1 0 0 1-.565.564l-1.539.607c-.844.333-.844 1.527 0 1.86l1.54.607c.257.102.462.307.564.565l.607 1.539c.333.844 1.527.844 1.86 0l.607-1.54c.102-.257.307-.462.565-.564l1.539-.607c.844-.333.844-1.527 0-1.86l-1.54-.607a1 1 0 0 1-.564-.565l-.607-1.539a.98.98 0 0 0-.93-.632\"})]}))},xr=F2});import{jsx as nc,jsxs as _2}from\"react/jsx-runtime\";var W2,We,ac=v(()=>{\"use strict\";W2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return _2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?nc(\"title\",{id:t,children:e}):null,nc(\"path\",{fillRule:\"evenodd\",d:\"M4.707 3.293a1 1 0 0 0-1.414 1.414L10.586 12l-7.293 7.293a1 1 0 1 0 1.414 1.414L12 13.414l7.293 7.293a1 1 0 0 0 1.414-1.414L13.414 12l7.293-7.293a1 1 0 0 0-1.414-1.414L12 10.586z\",clipRule:\"evenodd\"})]}))},We=W2});import{jsx as lc,jsxs as U2}from\"react/jsx-runtime\";var K2,ic,sc=v(()=>{\"use strict\";K2=n=>{var o=n,{title:e,titleId:t}=o,r=d(o,[\"title\",\"titleId\"]);return U2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},r),{children:[e?lc(\"title\",{id:t,children:e}):null,lc(\"path\",{fillRule:\"evenodd\",d:\"M7.293 8.707a1 1 0 0 1 1.414-1.414L12 10.586l3.293-3.293a1 1 0 1 1 1.414 1.414L13.414 12l3.293 3.293a1 1 0 0 1-1.414 1.414L12 13.414l-3.293 3.293a1 1 0 0 1-1.414-1.414L10.586 12z\",clipRule:\"evenodd\"})]}))},ic=K2});var ee={};an(ee,{ActivityIcon:()=>Sn,AiIcon:()=>Rn,AiTwinkleText:()=>Cn,ArrowDownIcon:()=>En,ArrowLeftDownIcon:()=>Tn,ArrowLeftIcon:()=>Jt,ArrowLeftUpIcon:()=>On,ArrowRightDownIcon:()=>Fn,ArrowRightIcon:()=>_n,ArrowRightUpIcon:()=>Qt,ArrowUpIcon:()=>Zn,BellIcon:()=>Jn,BookIcon:()=>ea,BookmarkIcon:()=>oa,BulletedListIcon:()=>la,CalendarIcon:()=>ca,CategoryIcon:()=>ua,CheckCircleIcon:()=>wa,CheckIcon:()=>ft,CheckListIcon:()=>xa,CheckSmallIcon:()=>jt,CheckboxOutlineIcon:()=>Va,ChevronDownIcon:()=>He,ChevronExpandIcon:()=>er,ChevronLeftIcon:()=>tr,ChevronRightIcon:()=>Fe,ChevronShrinkIcon:()=>za,ChevronSkipEndIcon:()=>rr,ChevronSkipStartIcon:()=>or,ChevronUpIcon:()=>nr,ClipsArrowRightIcon:()=>Ua,ClipsIcon:()=>Za,ClockHistoryIcon:()=>Ja,ClockIcon:()=>el,CogIcon:()=>ol,CommentIcon:()=>ll,CopyIcon:()=>cl,DocumentIcon:()=>ul,DownloadIcon:()=>wl,DragHandleIcon:()=>vl,DragIndicatorIcon:()=>Sl,EllipsisHIcon:()=>Pl,EllipsisVIcon:()=>Il,EmojiIcon:()=>Ml,EnvelopeIcon:()=>kl,ErrorIcon:()=>ar,ExclamationCircleIcon:()=>De,ExclamationTriangleIcon:()=>Fl,ExpandIcon:()=>_l,ExportIcon:()=>$l,ExternalLinkIcon:()=>Xl,EyeIcon:()=>Ql,FileCheckIcon:()=>ti,FileEditIcon:()=>ni,FileIcon:()=>ii,FilePlusIcon:()=>di,FileXIcon:()=>mi,FilterIcon:()=>gi,GlobeIcon:()=>bi,HistogramChartIcon:()=>yi,HouseIcon:()=>Vi,ImageIcon:()=>Gi,InboxIcon:()=>Ni,InfoCircleIcon:()=>lr,KundoAiKnowledgeIcon:()=>zi,KundoAvatarShield:()=>Hi,KundoCallsIcon:()=>ir,KundoChatIcon:()=>sr,KundoExternalSourceIcon:()=>$i,KundoForumIcon:()=>cr,KundoHelpcenterIcon:()=>Ji,KundoKnowledgeIcon:()=>dr,KundoLogoIcon:()=>ts,KundoMailIcon:()=>pr,KundoSocialFacebookIcon:()=>ur,KundoSocialInstagramDmIcon:()=>mr,KundoSocialInstagramIcon:()=>fr,KundoSocialMessengerIcon:()=>wr,KundoSocialWhatsappIcon:()=>gr,LineChart1Icon:()=>ws,LineChart2Icon:()=>vs,LockIcon:()=>Ss,LogInIcon:()=>Ps,LogOutIcon:()=>Is,MapPinIcon:()=>Ms,MegaphoneIcon:()=>ks,MenuIcon:()=>zs,MinimizeIcon:()=>Hs,MinusCircleIcon:()=>Ws,MinusIcon:()=>Us,MinusSmallIcon:()=>hr,MoveIcon:()=>Ys,NoExternalIcon:()=>Qs,NoteIcon:()=>t1,PencilIcon:()=>n1,PhoneIcon:()=>i1,PhonePlusIcon:()=>d1,PieChartIcon:()=>m1,PlusCircleIcon:()=>g1,PlusIcon:()=>b1,QuestionCircleIcon:()=>ht,ReplyIcon:()=>P1,RotateLeftIcon:()=>I1,RotateRightIcon:()=>M1,RouterIcon:()=>k1,SearchIcon:()=>vr,Security:()=>B1,SpeechBubbleIcon:()=>D1,SpeechBubblesIcon:()=>K1,SpellCheckIcon:()=>q1,SpinnerIcon:()=>br,StarFilledIcon:()=>J1,StarIcon:()=>e0,StopUpdatesIcon:()=>o0,SwitchIcon:()=>l0,TagIcon:()=>c0,TextLongIcon:()=>u0,TextShortIcon:()=>w0,ThumbDownIcon:()=>v0,ThumbUpIcon:()=>S0,TranslateIcon:()=>P0,TrashCanIcon:()=>I0,UnlockIcon:()=>M0,UserAssignIcon:()=>k0,UserCheckIcon:()=>z0,UserClockIcon:()=>H0,UserIcon:()=>W0,UserPlusIcon:()=>U0,UserXIcon:()=>Z0,WindowMaximizeIcon:()=>J0,WindowMinimizeIcon:()=>ec,WinkleIcon:()=>xr,XIcon:()=>We,XSmallIcon:()=>ic});var F=v(()=>{\"use strict\";yn();Pn();In();Mn();kn();An();Bn();Dn();Kn();$n();Xn();Qn();ta();na();ia();da();ma();ga();va();Sa();Ra();Ca();Ga();Ma();Ta();La();Oa();Ha();Da();_a();$a();Xa();Qa();tl();nl();il();dl();ml();gl();bl();yl();Vl();Gl();Nl();Ll();zl();Bl();Dl();Kl();ql();Yl();jl();ri();ai();si();pi();fi();hi();xi();Ri();Ci();Ei();Ti();Li();Oi();Fi();Wi();Ki();qi();Xi();Qi();es();rs();ns();ls();ss();cs();ps();ms();gs();bs();ys();Vs();Gs();Ns();Ls();Os();Fs();_s();$s();Zs();Js();js();r1();a1();s1();p1();f1();h1();x1();y1();V1();G1();N1();L1();z1();H1();W1();U1();Z1();X1();Q1();t0();n0();i0();d0();m0();g0();b0();y0();V0();G0();N0();L0();O0();F0();_0();$0();X0();Q0();tc();oc();ac();sc()});var hc={};an(hc,{Helper:()=>gc,Tooltip:()=>tt});import{useState as wc}from\"react\";import*as ve from\"@radix-ui/react-tooltip\";import{jsx as _e,jsxs as fc}from\"react/jsx-runtime\";var tt,gc,Vr=v(()=>{\"use strict\";k();F();tt=({children:e,content:t,className:r,open:n=!1,onOpenChange:o,container:a,arrow:l=!1,contentSide:s=\"bottom\",contentAlign:p=\"center\",theme:u=\"light\",sideOffset:m=8,alignOffset:g=0})=>{let[b,f]=wc(n);return _e(ve.Provider,{delayDuration:200,children:fc(ve.Root,{onOpenChange:h=>{f(h),o&&o(h)},open:b,children:[_e(ve.Trigger,{asChild:!0,children:_e(\"div\",{className:w(\"tw-inline-block\",r),\"aria-label\":b?t==null?void 0:t.toString():void 0,children:e})}),_e(ve.Portal,{container:a||document.body,children:fc(ve.Content,{sideOffset:m,side:s,align:p,alignOffset:g,className:w(\"tw-flex tw-items-center\",\"tw-min-h-[28px] tw-w-full tw-max-w-[20rem]\",\"tw-px-3 tw-py-1.5\",\"tw-rounded\",\"tw-text-sm tw-font-normal\",u===\"dark\"?[\"tw-bg-primary-900 tw-text-white\"]:[\"tw-bg-white tw-text-gray-80\",\"tw-shadow-sm\"],\"tw-will-change-[opacity,transform]\",\"data-[side=top]:tw-animate-slideDownAndFade\",\"data-[side=right]:tw-animate-slideLeftAndFade\",\"data-[side=bottom]:tw-animate-slideUpAndFade\",\"data-[side=left]:tw-animate-slideRightAndFade\",\"tw-z-[1000]\"),children:[_e(\"div\",{children:t}),l&&_e(ve.Arrow,{width:\"20\",height:\"8\",className:w(\" -tw-mt-[1px]\",u===\"dark\"?[\"tw-fill-primary-900\"]:[\"tw-fill-white\"])})]})})]})})},gc=({className:e,tooltip:t,tooltipTheme:r=\"light\",sideOffset:n=8,alignOffset:o=4})=>{let[a,l]=wc(!1);return _e(tt,{content:t,open:a,theme:r,contentAlign:\"start\",className:w(\"*:tw-block *:tw-w-4 *:tw-h-4 *:tw-p-0 *:tw-m-0\",\"tw-text-gray-70 *:tw-text-gray-70 *tw-fill-current\",\"tw-cursor-help\",e),onOpenChange:s=>{l(s)},arrow:!1,alignOffset:o,sideOffset:n,children:_e(ht,{role:\"presentation\",className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block tw-mb-1\"})})}});import{jsx as mp}from\"react/jsx-runtime\";var up=()=>mp(\"h1\",{className:\"tw-text-2xl tw-text-blue-500\",children:\"Headings\"});k();import{lazy as cc,Suspense as $2}from\"react\";import{Fragment as Y2,jsx as vt}from\"react/jsx-runtime\";var q2=cc(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoLogoIcon}))),Z2=cc(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoAvatarShield}))),X2=({id:e=\"kundo-logo\",className:t,asAvatar:r=!1})=>vt(\"div\",{id:e,className:w(\"tw-text-0\",t),children:vt($2,{fallback:vt(Y2,{}),children:r?vt(\"div\",{className:\"tw-flex tw-h-[34px] tw-w-[34px] tw-items-center tw-justify-center tw-rounded-md\",children:vt(Z2,{className:\"tw-block tw-w-full tw-h-auto tw-text-primary-900 tw-fill-primary-900\"})}):vt(q2,{className:\"tw-inline-block tw-h-full tw-w-auto tw-object-contain tw-fill-current tw-select-none\"})})});var J2=(x=>(x.Chatflow=\"chatflow\",x.AIAssistant=\"ai_assistant\",x.Activity=\"activity\",x.FacebookMessenger=\"facebook_messenger\",x.WhatsApp=\"whatsapp\",x.FacebookPage=\"facebook_page\",x.Inbox=\"inbox\",x.Knowledgebase=\"knowledgebase\",x.Forum=\"forum\",x.InstagramComments=\"instagram_comments\",x.InstagramMessenger=\"instagram_messenger\",x.Calls=\"calls\",x.Chat=\"chat\",x.Email=\"email\",x.AIKnowledge=\"ai_knowledge\",x.ExternalSource=\"external_source\",x.WebSource=\"web_source\",x))(J2||{});F();k();import Sr,{useMemo as dc,createElement as Q2}from\"react\";import{Fragment as eg,jsx as et,jsxs as lo}from\"react/jsx-runtime\";var j2=(e,t)=>{switch(e){case\"small\":return[\"tw-h-[34px] tw-rounded-[17px] tw-px-5 tw-gap-x-1\",t&&\"tw-pl-2\"];case\"medium\":return[\"tw-h-[44px] tw-rounded-[22px] tw-text-md tw-px-6 tw-gap-x-1.5\",t&&\"tw-pl-3\"];default:case\"large\":return[\"tw-h-[48px] tw-rounded-[24px] tw-text-md tw-px-7 tw-gap-x-2\",t&&\"tw-pl-4\"]}},pc=e=>{switch(e){default:case\"primary\":return w([\"tw-border-0 tw-border-none\",\"tw-bg-primary-700 tw-text-secondary-100\",\"hover:tw-bg-primary-900\",\"active:tw-bg-primary-900\",\"aria-disabled:tw-bg-gray-20 aria-disabled:tw-text-gray-50\"]);case\"secondary\":return w([\"tw-border tw-border-solid tw-border-gray-40\",\"tw-bg-white tw-text-primary-700\",\"hover:tw-bg-white hover:tw-text-primary-900 hover:tw-border-primary-900\",\"active:tw-bg-white active:tw-border-primary-900\",\"aria-disabled:tw-bg-gray-10 aria-disabled:tw-border-gray-30 aria-disabled:tw-text-gray-50\"]);case\"tertiary\":return w([\"tw-border-0 tw-border-none\",\"tw-bg-transparent tw-text-gray-70\",\"hover:tw-bg-secondary-100 hover:tw-text-primary-700\",\"active:tw-bg-secondary-100 active:tw-text-primary-700\",\"aria-disabled:tw-bg-transparent aria-disabled:tw-border-gray-10 aria-disabled:tw-text-gray-50\"]);case\"danger\":return w([\"tw-border-0 tw-border-none\",\"tw-bg-error-700 tw-text-error-100\",\"hover:tw-bg-error-900\",\"active:tw-bg-error-900\",\"aria-disabled:tw-bg-gray-20 aria-disabled:tw-text-gray-50\"])}},uc=\"tw-relative tw-inline-flex tw-group tw-flex tw-items-center tw-cursor-pointer tw-leading-none disabled:tw-cursor-not-allowed tw-text-base tw-leading-5 tw-not-italic tw-font-semibold tw-duration-200\",mc=({variant:e})=>et(\"div\",{className:w(\"tw-absolute tw-top-0 tw-left-0 tw-w-full tw-h-full tw-m-0 tw-p-0\",\"tw-flex tw-justify-center tw-items-center\"),children:lo(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",className:w(\"tw-inline-block tw-w-auto tw-object-contain tw-animate-spin tw-text-xl tw-text-white/30\",e===\"secondary\"||e===\"tertiary\"?\"tw-text-gray-30\":\"tw-text-white/30\"),children:[et(\"path\",{fill:\"currentColor\",fillRule:\"evenodd\",d:\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm0 3c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\",clipRule:\"evenodd\"}),et(\"path\",{fill:e===\"secondary\"||e===\"tertiary\"?\"#815064\":\"#ffffff\",d:\"M2 12C2 6.477 6.477 2 12 2v3a7 7 0 0 0-7 7H2Z\"})]})}),mV=Sr.forwardRef((e,t)=>{let f=e,{variant:r,size:n,label:o,icon:a,className:l,id:s,type:p=\"button\",loading:u=!1,disabled:m=!1}=f,g=d(f,[\"variant\",\"size\",\"label\",\"icon\",\"className\",\"id\",\"type\",\"loading\",\"disabled\"]),b=dc(()=>{let h=pc(r),y=j2(n,a);return w(uc,h,y,l)},[r,n,a,l]);return lo(\"button\",c(i({id:s,type:p,className:b,\"aria-disabled\":m},g),{ref:t,children:[a&&Sr.cloneElement(a,{className:w(\"tw-text-lg tw-fill-current tw-select-none\",u&&\"tw-invisible\")}),o&&et(\"div\",{className:w(\"tw-select-none\",u&&\"tw-invisible\"),children:o}),u&&et(mc,{variant:r})]}))}),bt=Sr.forwardRef((e,t)=>{let x=e,{as:r=\"div\",variant:n,size:o,label:a,icon:l,className:s,iconClassName:p,disabled:u,onClick:m,href:g,loading:b=!1,children:f,type:h=\"button\"}=x,y=d(x,[\"as\",\"variant\",\"size\",\"label\",\"icon\",\"className\",\"iconClassName\",\"disabled\",\"onClick\",\"href\",\"loading\",\"children\",\"type\"]),S=dc(()=>{let I=pc(n);return w(uc,I,s)},[n,o,l,s]);return Q2(r,i({role:\"button\",tabIndex:u?-1:0,\"aria-label\":a?String(a):void 0,\"aria-disabled\":u?!0:void 0,className:w(\"tw-relative tw-inline-flex tw-group tw-items-center tw-justify-center\",\"tw-rounded-full\",S,o===\"small\"&&\"tw-h-[34px] tw-w-[34px]\",o===\"medium\"&&\"tw-h-[44px] tw-w-[44px]\",o===\"large\"&&\"tw-h-[48px] tw-w-[48px]\",u?[\"tw-cursor-not-allowed\"]:[\"tw-cursor-pointer\"],s),ref:t,href:r===\"a\"&&g?String(g):void 0,onClick:m,type:r===\"button\"?h:void 0},y),lo(eg,{children:[l&&Sr.cloneElement(l,{className:w(o===\"small\"&&\"tw-w-[20px] tw-h-[20px]\",o===\"medium\"&&\"tw-w-[20px] tw-h-[20px]\",o===\"large\"&&\"tw-w-[24px] tw-h-[24px]\",\"tw-fill-current tw-select-none\",b&&\"tw-invisible\",p),\"aria-hidden\":u?!0:void 0}),f&&et(\"div\",{className:w(b&&\"tw-invisible\"),children:f}),b&&et(mc,{variant:n})]}))});k();import*as yr from\"@radix-ui/react-switch\";import{forwardRef as tg,useMemo as rg}from\"react\";import{jsx as io,jsxs as ng}from\"react/jsx-runtime\";var og=tg(({id:e,checked:t,label:r,name:n,onChange:o,disabled:a,className:l},s)=>{let p=rg(()=>io(yr.Root,{ref:s,className:w(\"tw-flex tw-items-center tw-justify-start tw-shrink-0\",\"tw-relative tw-w-[34px] tw-h-[20px] tw-px-0.5 tw-py-0 tw-rounded-full\",\"tw-bg-gray-50 hover:tw-bg-gray-60\",\"tw-transition-all tw-duration-200\",a?\"data-[disabled]:tw-cursor-not-allowed data-[disabled]:tw-bg-gray-30\":\"data-[state=checked]:tw-bg-success-700 data-[state=checked]:hover:tw-bg-success-600\",l),id:e,name:n,checked:t,onCheckedChange:o,tabIndex:0,disabled:a,children:io(yr.Thumb,{className:w(\"tw-block tw-flex-initial tw-shrink-0 tw-w-4 tw-h-4\",\"tw-rounded-full\",a?\"tw-bg-gray-10\":\"tw-bg-white\",\"tw-transition-transform tw-will-change-transform tw-duration-200\",\"data-[state=unchecked]:tw-translate-x-0\",\"data-[state=checked]:tw-translate-x-[14px]\")})}),[t,a]);return r?ng(\"div\",{className:\"tw-flex tw-items-center\",children:[io(\"label\",{className:w(\"tw-pr-1.5 tw-cursor-pointer tw-whitespace-nowrap tw-select-none\",a?\"tw-text-gray-50 tw-cursor-not-allowed\":\"tw-cursor-pointer\"),htmlFor:e,children:r}),p]}):p});k();import{useId as dg,forwardRef as pg,useState as ug}from\"react\";k();F();import{useState as ig,lazy as sg}from\"react\";k();import{Fragment as ag,jsx as Rr,jsxs as lg}from\"react/jsx-runtime\";var Pr=({children:e,className:t,id:r})=>Rr(\"div\",{className:w(\"tw-flex tw-text-red-60 tw-space-x-1\",t),children:e&&lg(ag,{children:[Rr(\"div\",{className:\"tw-h-4 tw-text-0\",children:Rr(De,{className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block\"})}),Rr(\"div\",{id:r,className:\"tw-text-sm tw-font-normal tw-mt-[1px]\",children:e})]})});import{jsx as xt,jsxs as vc}from\"react/jsx-runtime\";var cg=sg(()=>Promise.resolve().then(()=>(Vr(),hc)).then(e=>({default:e.Tooltip}))),rt=({children:e,id:t})=>xt(Pr,{className:\"tw-mt-1 tw-grow\",id:t,children:e}),ot=({children:e,id:t})=>xt(\"div\",{className:\"tw-mt-1 tw-text-sm tw-text-gray-60 tw-font-normal tw-grow\",id:t,children:e}),nt=({children:e,label:t,id:r,tooltip:n,className:o,required:a,disabled:l})=>{let[s,p]=ig(!1);return vc(\"div\",{className:w(\"tw-flex tw-flex-col\",\"tw-text-gray-80\",o),children:[t&&vc(\"div\",{className:\"tw-w-full tw-align-middle tw-mb-1 tw-font-0\",children:[xt(\"label\",{htmlFor:r,className:w(\"tw-text-base tw-font-normal\",\"tw-m-0 tw-p-0 tw-inline-block tw-pr-1\",l?\"tw-text-gray-50\":\"tw-text-gray-80\"),children:a?`${t} *`:t}),n&&xt(cg,{content:n,onOpenChange:u=>{p(u)},open:s,className:w(\"tw-inline-block\",\"tw-text-gray-50 tw-h-5 tw-select-none tw-cursor-help\"),children:xt(ht,{role:\"presentation\",className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block tw-mb-1\"})})]}),e]})},Cr=e=>{switch(e){case\"small\":return\"tw-rounded-[17px]\";case\"medium\":return\"tw-rounded-[22px]\";case\"large\":return\"tw-rounded-[24px]\";default:return\"tw-rounded-md\"}},St=({children:e,focus:t,hasError:r,className:n,disabled:o,size:a,isTextArea:l=!1,rounded:s=!1})=>xt(\"div\",{className:w(\"tw-flex tw-items-center tw-box-border\",\"tw-border tw-border-solid tw-overflow-hidden\",\"tw-transition-[border, outline] tw-duration-200\",s?Cr(a):\"tw-rounded-md\",!l&&\"*:tw-flex *:tw-items-center *:tw-truncate\",\"first:*:tw-box-border first:*:tw-bg-transparent first:focus:*:tw-bg-transparent\",\"first:*:tw-border-0 first:*:tw-border-none\",\"first:*:tw-ring-0 first:*:tw-ring-offset-0 first:*:tw-ring-transparent first:focus:*:tw-ring-0 first:focus:*:tw-ring-offset-0 first:focus:*:tw-ring-transparent\",\"first:*:tw-outline-0 first:*:tw-outline-transparent first:*:tw-outline-none first:focus:*:tw-outline-0 first:focus:*:tw-outline-transparent first:focus:*:tw-outline-none\",\"first:*:placeholder:tw-text-gray-50 first:*:placeholder:tw-font-normal first:*:tw-text-gray-70 first:*:tw-text-base first:*:tw-font-normal\",o?[\"tw-cursor-not-allowed \",\"tw-bg-gray-10 tw-border-gray-30\",\"first:*:tw-pointer-events-none\"]:[\"tw-bg-white\",r?[\"tw-border-red-60 hover:tw-border-red-80 active:tw-border-red-80\"]:[\"tw-border-gray-40 hover:tw-border-primary-500 active:tw-border-primary-500\"],t&&[r?\"tw-border-red-80\":[\"tw-border-primary-500 hover:tw-border-primary-500 \",\"tw-outline tw-outline-1 tw-outline-primary-500 tw-outline-offset-0\"]]],n),children:e}),Ir=e=>{switch(e){case\"small\":return[\"tw-h-[34px] tw-px-3\",Cr(e)];case\"medium\":return[\"tw-h-[44px] tw-px-4\",Cr(e)];default:case\"large\":return[\"tw-h-[48px] tw-px-5\",Cr(e)]}};import{jsx as Gr,jsxs as bc}from\"react/jsx-runtime\";var so=pg((S,y)=>{var x=S,{label:e,type:t=\"text\",tooltip:r,hasError:n,errorText:o,className:a,optionalText:l,inputSize:s=\"medium\",onFocus:p,onBlur:u,action:m,required:g,disabled:b,rounded:f=!1}=x,h=d(x,[\"label\",\"type\",\"tooltip\",\"hasError\",\"errorText\",\"className\",\"optionalText\",\"inputSize\",\"onFocus\",\"onBlur\",\"action\",\"required\",\"disabled\",\"rounded\"]);let I=dg(),M=`${I}-error`,N=`${I}-optional`,[C,A]=ug(!1),T=(z,V)=>{let G=[];return z&&G.push(M),V&&G.push(N),G.join(\" \")};return bc(nt,{id:I,label:e,tooltip:r,className:a,required:g,disabled:b,children:[bc(St,{focus:C,hasError:n,className:\"w-full\",size:s,disabled:b,rounded:f,children:[Gr(\"input\",i({ref:y,id:I,type:t,className:w(\"tw-grow tw-box-border\",Ir(s)),\"aria-label\":e,\"aria-invalid\":n,\"aria-describedby\":`${T(n,l)}`||void 0,\"aria-required\":g?\"true\":void 0,required:g||void 0,onFocus:z=>{A(!0),p&&p(z)},onBlur:z=>{A(!1),u&&u(z)},disabled:b},h)),m&&Gr(\"div\",{className:\"tw-flex tw-items-center tw-shrink-0 tw-gap-2\",children:m})]}),l&&!n&&Gr(ot,{id:N,children:l}),n&&Gr(rt,{id:M,children:o})]})});k();import{useId as mg,useState as fg,forwardRef as wg}from\"react\";import{jsx as Bt,jsxs as vg}from\"react/jsx-runtime\";var gg=e=>{switch(e){case\"small\":return[\"tw-pr-[32px]\",\"tw-py-0\"];case\"medium\":return[\"tw-pr-[44px]\",\"tw-py-0\"];default:case\"large\":return[\"tw-pr-[52px]\",\"tw-py-0\"]}},hg=wg((I,x)=>{var M=I,{id:e,name:t,label:r,className:n,options:o,onChange:a,onFocus:l,onBlur:s,value:p,required:u=!0,tooltip:m,hasError:g,errorText:b,optionalText:f,size:h=\"medium\",disabled:y}=M,S=d(M,[\"id\",\"name\",\"label\",\"className\",\"options\",\"onChange\",\"onFocus\",\"onBlur\",\"value\",\"required\",\"tooltip\",\"hasError\",\"errorText\",\"optionalText\",\"size\",\"disabled\"]);let N=e||mg(),C=`${N}-error`,A=`${N}-optional`,[T,z]=fg(!1);return vg(nt,{id:N,label:r,tooltip:m,className:n,required:u,disabled:y,children:[Bt(St,{focus:T,hasError:g,disabled:y,className:\"w-full\",size:h,children:Bt(\"select\",c(i({ref:x,id:N,name:t,title:r||void 0,\"aria-label\":r||void 0,\"aria-invalid\":g,\"aria-required\":u?\"true\":void 0,required:u||void 0,\"aria-describedby\":`${((G,E)=>{let R=[];return G&&R.push(C),E&&R.push(A),R.join(\" \")})(g,f)}`||void 0,className:w(\"tw-grow\",\"tw-appearance-none tw-bg-transparent tw-border-none tw-border-0\",Ir(h),gg(h),y&&\"tw-cursor-not-allowed\"),defaultValue:p,disabled:y,onFocus:G=>{z(!0),l&&l(G)},onBlur:G=>{z(!1),s&&s(G)},onChange:a&&(G=>a(G.target.value))},S),{children:o.map(G=>Bt(\"option\",{value:G.value,children:G.label},G.value))}))}),f&&!g&&Bt(ot,{id:A,children:f}),g&&Bt(rt,{id:C,children:b})]})});import{Fragment as o3,useState as md}from\"react\";import*as Ke from\"react\";import{flushSync as Rg}from\"react-dom\";function at(e,t,r){var l;let n=(l=r.initialDeps)!=null?l:[],o;function a(){var s,p,u,m;let g;r.key&&((s=r.debug)!=null&&s.call(r))&&(g=Date.now());let b=e();if(!(b.length!==n.length||b.some((y,S)=>n[S]!==y)))return o;n=b;let h;if(r.key&&((p=r.debug)!=null&&p.call(r))&&(h=Date.now()),o=t(...b),r.key&&((u=r.debug)!=null&&u.call(r))){let y=Math.round((Date.now()-g)*100)/100,S=Math.round((Date.now()-h)*100)/100,x=S/16,I=(M,N)=>{for(M=String(M);M.length<N;)M=\" \"+M;return M};console.info(`%c\\u23F1 ${I(S,5)} /${I(y,5)} ms`,`\n            font-size: .6rem;\n            font-weight: bold;\n            color: hsl(${Math.max(0,Math.min(120-120*x,120))}deg 100% 31%);`,r==null?void 0:r.key)}return(m=r==null?void 0:r.onChange)==null||m.call(r,o),o}return a.updateDeps=s=>{n=s},a}function Er(e,t){if(e===void 0)throw new Error(`Unexpected undefined${t?`: ${t}`:\"\"}`);return e}var xc=(e,t)=>Math.abs(e-t)<1,Sc=(e,t,r)=>{let n;return function(...o){e.clearTimeout(n),n=e.setTimeout(()=>t.apply(this,o),r)}};var bg=e=>e,xg=e=>{let t=Math.max(e.startIndex-e.overscan,0),r=Math.min(e.endIndex+e.overscan,e.count-1),n=[];for(let o=t;o<=r;o++)n.push(o);return n},Pc=(e,t)=>{let r=e.scrollElement;if(!r)return;let n=e.targetWindow;if(!n)return;let o=l=>{let{width:s,height:p}=l;t({width:Math.round(s),height:Math.round(p)})};if(o(r.getBoundingClientRect()),!n.ResizeObserver)return()=>{};let a=new n.ResizeObserver(l=>{let s=()=>{let p=l[0];if(p!=null&&p.borderBoxSize){let u=p.borderBoxSize[0];if(u){o({width:u.inlineSize,height:u.blockSize});return}}o(r.getBoundingClientRect())};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s()});return a.observe(r,{box:\"border-box\"}),()=>{a.unobserve(r)}},yc={passive:!0};var Rc=typeof window==\"undefined\"?!0:\"onscrollend\"in window,Vc=(e,t)=>{let r=e.scrollElement;if(!r)return;let n=e.targetWindow;if(!n)return;let o=0,a=e.options.useScrollendEvent&&Rc?()=>{}:Sc(n,()=>{t(o,!1)},e.options.isScrollingResetDelay),l=m=>()=>{let{horizontal:g,isRtl:b}=e.options;o=g?r.scrollLeft*(b&&-1||1):r.scrollTop,a(),t(o,m)},s=l(!0),p=l(!1);p(),r.addEventListener(\"scroll\",s,yc);let u=e.options.useScrollendEvent&&Rc;return u&&r.addEventListener(\"scrollend\",p,yc),()=>{r.removeEventListener(\"scroll\",s),u&&r.removeEventListener(\"scrollend\",p)}};var Sg=(e,t,r)=>{if(t!=null&&t.borderBoxSize){let n=t.borderBoxSize[0];if(n)return Math.round(n[r.options.horizontal?\"inlineSize\":\"blockSize\"])}return Math.round(e.getBoundingClientRect()[r.options.horizontal?\"width\":\"height\"])};var Cc=(e,{adjustments:t=0,behavior:r},n)=>{var o,a;let l=e+t;(a=(o=n.scrollElement)==null?void 0:o.scrollTo)==null||a.call(o,{[n.options.horizontal?\"left\":\"top\"]:l,behavior:r})},Mr=class{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let r=null,n=()=>r||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:r=new this.targetWindow.ResizeObserver(o=>{o.forEach(a=>{let l=()=>{this._measureElement(a.target,a)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()})}));return{disconnect:()=>{var o;(o=n())==null||o.disconnect(),r=null},observe:o=>{var a;return(a=n())==null?void 0:a.observe(o,{box:\"border-box\"})},unobserve:o=>{var a;return(a=n())==null?void 0:a.unobserve(o)}}})(),this.range=null,this.setOptions=r=>{Object.entries(r).forEach(([n,o])=>{typeof o==\"undefined\"&&delete r[n]}),this.options=i({debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:bg,rangeExtractor:xg,onChange:()=>{},measureElement:Sg,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:\"data-index\",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1},r)},this.notify=r=>{var n,o;(o=(n=this.options).onChange)==null||o.call(n,this,r)},this.maybeNotify=at(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),r=>{this.notify(r)},{key:process.env.NODE_ENV!==\"production\"&&\"maybeNotify\",debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(r=>r()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var o;var r;let n=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==n){if(this.cleanup(),!n){this.maybeNotify();return}this.scrollElement=n,this.scrollElement&&\"ownerDocument\"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(o=(r=this.scrollElement)==null?void 0:r.window)!=null?o:null,this.elementsCache.forEach(a=>{this.observer.observe(a)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,a=>{this.scrollRect=a,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(a,l)=>{this.scrollAdjustments=0,this.scrollDirection=l?this.getScrollOffset()<a?\"forward\":\"backward\":null,this.scrollOffset=a,this.isScrolling=l,this.maybeNotify()}))}},this.getSize=()=>{var r;return this.options.enabled?(this.scrollRect=(r=this.scrollRect)!=null?r:this.options.initialRect,this.scrollRect[this.options.horizontal?\"width\":\"height\"]):(this.scrollRect=null,0)},this.getScrollOffset=()=>{var r;return this.options.enabled?(this.scrollOffset=(r=this.scrollOffset)!=null?r:typeof this.options.initialOffset==\"function\"?this.options.initialOffset():this.options.initialOffset,this.scrollOffset):(this.scrollOffset=null,0)},this.getFurthestMeasurement=(r,n)=>{let o=new Map,a=new Map;for(let l=n-1;l>=0;l--){let s=r[l];if(o.has(s.lane))continue;let p=a.get(s.lane);if(p==null||s.end>p.end?a.set(s.lane,s):s.end<p.end&&o.set(s.lane,!0),o.size===this.options.lanes)break}return a.size===this.options.lanes?Array.from(a.values()).sort((l,s)=>l.end===s.end?l.index-s.index:l.end-s.end)[0]:void 0},this.getMeasurementOptions=at(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(r,n,o,a,l)=>(this.pendingMeasuredCacheIndexes=[],{count:r,paddingStart:n,scrollMargin:o,getItemKey:a,enabled:l}),{key:!1}),this.getMeasurements=at(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:r,paddingStart:n,scrollMargin:o,getItemKey:a,enabled:l},s)=>{if(!l)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));let p=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];let u=this.measurementsCache.slice(0,p);for(let m=p;m<r;m++){let g=a(m),b=this.options.lanes===1?u[m-1]:this.getFurthestMeasurement(u,m),f=b?b.end+this.options.gap:n+o,h=s.get(g),y=typeof h==\"number\"?h:this.options.estimateSize(m),S=f+y,x=b?b.lane:m%this.options.lanes;u[m]={index:m,start:f,size:y,end:S,key:g,lane:x}}return this.measurementsCache=u,u},{key:process.env.NODE_ENV!==\"production\"&&\"getMeasurements\",debug:()=>this.options.debug}),this.calculateRange=at(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(r,n,o,a)=>this.range=r.length>0&&n>0?yg({measurements:r,outerSize:n,scrollOffset:o,lanes:a}):null,{key:process.env.NODE_ENV!==\"production\"&&\"calculateRange\",debug:()=>this.options.debug}),this.getVirtualIndexes=at(()=>{let r=null,n=null,o=this.calculateRange();return o&&(r=o.startIndex,n=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,r,n]),[this.options.rangeExtractor,this.options.overscan,this.options.count,r,n]},(r,n,o,a,l)=>a===null||l===null?[]:r({startIndex:a,endIndex:l,overscan:n,count:o}),{key:process.env.NODE_ENV!==\"production\"&&\"getVirtualIndexes\",debug:()=>this.options.debug}),this.indexFromElement=r=>{let n=this.options.indexAttribute,o=r.getAttribute(n);return o?parseInt(o,10):(console.warn(`Missing attribute name '${n}={index}' on measured element.`),-1)},this._measureElement=(r,n)=>{let o=this.indexFromElement(r),a=this.measurementsCache[o];if(!a)return;let l=a.key,s=this.elementsCache.get(l);s!==r&&(s&&this.observer.unobserve(s),this.observer.observe(r),this.elementsCache.set(l,r)),r.isConnected&&this.resizeItem(o,this.options.measureElement(r,n,this))},this.resizeItem=(r,n)=>{var s;let o=this.measurementsCache[r];if(!o)return;let a=(s=this.itemSizeCache.get(o.key))!=null?s:o.size,l=n-a;l!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(o,l,this):o.start<this.getScrollOffset()+this.scrollAdjustments)&&(process.env.NODE_ENV!==\"production\"&&this.options.debug&&console.info(\"correction\",l),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=l,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(o.index),this.itemSizeCache=new Map(this.itemSizeCache.set(o.key,n)),this.notify(!1))},this.measureElement=r=>{if(!r){this.elementsCache.forEach((n,o)=>{n.isConnected||(this.observer.unobserve(n),this.elementsCache.delete(o))});return}this._measureElement(r,void 0)},this.getVirtualItems=at(()=>[this.getVirtualIndexes(),this.getMeasurements()],(r,n)=>{let o=[];for(let a=0,l=r.length;a<l;a++){let s=r[a],p=n[s];o.push(p)}return o},{key:process.env.NODE_ENV!==\"production\"&&\"getVirtualItems\",debug:()=>this.options.debug}),this.getVirtualItemForOffset=r=>{let n=this.getMeasurements();if(n.length!==0)return Er(n[Ic(0,n.length-1,o=>Er(n[o]).start,r)])},this.getOffsetForAlignment=(r,n,o=0)=>{let a=this.getSize(),l=this.getScrollOffset();n===\"auto\"&&(n=r>=l+a?\"end\":\"start\"),n===\"center\"?r+=(o-a)/2:n===\"end\"&&(r-=a);let s=this.options.horizontal?\"scrollWidth\":\"scrollHeight\",u=(this.scrollElement?\"document\"in this.scrollElement?this.scrollElement.document.documentElement[s]:this.scrollElement[s]:0)-a;return Math.max(Math.min(u,r),0)},this.getOffsetForIndex=(r,n=\"auto\")=>{r=Math.max(0,Math.min(r,this.options.count-1));let o=this.measurementsCache[r];if(!o)return;let a=this.getSize(),l=this.getScrollOffset();if(n===\"auto\")if(o.end>=l+a-this.options.scrollPaddingEnd)n=\"end\";else if(o.start<=l+this.options.scrollPaddingStart)n=\"start\";else return[l,n];let s=n===\"end\"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(s,n,o.size),n]},this.isDynamicMode=()=>this.elementsCache.size>0,this.cancelScrollToIndex=()=>{this.scrollToIndexTimeoutId!==null&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=(r,{align:n=\"start\",behavior:o}={})=>{this.cancelScrollToIndex(),o===\"smooth\"&&this.isDynamicMode()&&console.warn(\"The `smooth` scroll behavior is not fully supported with dynamic size.\"),this._scrollToOffset(this.getOffsetForAlignment(r,n),{adjustments:void 0,behavior:o})},this.scrollToIndex=(r,{align:n=\"auto\",behavior:o}={})=>{r=Math.max(0,Math.min(r,this.options.count-1)),this.cancelScrollToIndex(),o===\"smooth\"&&this.isDynamicMode()&&console.warn(\"The `smooth` scroll behavior is not fully supported with dynamic size.\");let a=this.getOffsetForIndex(r,n);if(!a)return;let[l,s]=a;this._scrollToOffset(l,{adjustments:void 0,behavior:o}),o!==\"smooth\"&&this.isDynamicMode()&&this.targetWindow&&(this.scrollToIndexTimeoutId=this.targetWindow.setTimeout(()=>{if(this.scrollToIndexTimeoutId=null,this.elementsCache.has(this.options.getItemKey(r))){let[u]=Er(this.getOffsetForIndex(r,s));xc(u,this.getScrollOffset())||this.scrollToIndex(r,{align:s,behavior:o})}else this.scrollToIndex(r,{align:s,behavior:o})}))},this.scrollBy=(r,{behavior:n}={})=>{this.cancelScrollToIndex(),n===\"smooth\"&&this.isDynamicMode()&&console.warn(\"The `smooth` scroll behavior is not fully supported with dynamic size.\"),this._scrollToOffset(this.getScrollOffset()+r,{adjustments:void 0,behavior:n})},this.getTotalSize=()=>{var a;var r;let n=this.getMeasurements(),o;if(n.length===0)o=this.options.paddingStart;else if(this.options.lanes===1)o=(a=(r=n[n.length-1])==null?void 0:r.end)!=null?a:0;else{let l=Array(this.options.lanes).fill(null),s=n.length-1;for(;s>0&&l.some(p=>p===null);){let p=n[s];l[p.lane]===null&&(l[p.lane]=p.end),s--}o=Math.max(...l.filter(p=>p!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(r,{adjustments:n,behavior:o})=>{this.options.scrollToFn(r,{behavior:o,adjustments:n},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(t)}},Ic=(e,t,r,n)=>{for(;e<=t;){let o=(e+t)/2|0,a=r(o);if(a<n)e=o+1;else if(a>n)t=o-1;else return o}return e>0?e-1:0};function yg({measurements:e,outerSize:t,scrollOffset:r,lanes:n}){let o=e.length-1,l=Ic(0,o,p=>e[p].start,r),s=l;if(n===1)for(;s<o&&e[s].end<r+t;)s++;else if(n>1){let p=Array(n).fill(0);for(;s<o&&p.some(m=>m<r+t);){let m=e[s];p[m.lane]=m.end,s++}let u=Array(n).fill(r+t);for(;l>0&&u.some(m=>m>=r);){let m=e[l];u[m.lane]=m.start,l--}l=Math.max(0,l-l%n),s=Math.min(o,s+(n-1-s%n))}return{startIndex:l,endIndex:s}}var Gc=typeof document!=\"undefined\"?Ke.useLayoutEffect:Ke.useEffect;function Pg(e){let t=Ke.useReducer(()=>({}),{})[1],r=c(i({},e),{onChange:(o,a)=>{var l;a?Rg(t):t(),(l=e.onChange)==null||l.call(e,o,a)}}),[n]=Ke.useState(()=>new Mr(r));return n.setOptions(r),Gc(()=>n._didMount(),[]),Gc(()=>n._willUpdate()),n}function Ec(e){return Pg(i({observeElementRect:Pc,observeElementOffset:Vc,scrollToFn:Cc},e))}import Me,{createContext as yo,createRef as u4,Fragment as jc,useCallback as m4,useContext as Ro,useEffect as f4,useMemo as Ne,useReducer as w4,useRef as ye,useState as g4}from\"react\";import{useState as Mg}from\"react\";import{useEffect as Ig,useLayoutEffect as Gg}from\"react\";var Vg=Object.defineProperty,Cg=(e,t,r)=>t in e?Vg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,co=(e,t,r)=>(Cg(e,typeof t!=\"symbol\"?t+\"\":t,r),r),po=class{constructor(){co(this,\"current\",this.detect()),co(this,\"handoffState\",\"pending\"),co(this,\"currentId\",0)}set(t){this.current!==t&&(this.handoffState=\"pending\",this.currentId=0,this.current=t)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}handoff(){this.handoffState===\"pending\"&&(this.handoffState=\"complete\")}get isHandoffComplete(){return this.handoffState===\"complete\"}},xe=new po;var q=(e,t)=>{xe.isServer?Ig(e,t):Gg(e,t)};import{useRef as Eg}from\"react\";function oe(e){let t=Eg(e);return q(()=>{t.current=e},[e]),t}function Nr(e,t){let[r,n]=Mg(e),o=oe(e);return q(()=>n(o.current),[o,n,...t]),r}import{useRef as uo,useState as Tg}from\"react\";import Ng from\"react\";var L=function(e){let t=oe(e);return Ng.useCallback((...r)=>t.current(...r),[t])};function Mc(e,t,r){let[n,o]=Tg(r),a=e!==void 0,l=uo(a),s=uo(!1),p=uo(!1);return a&&!l.current&&!s.current?(s.current=!0,l.current=a,console.error(\"A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.\")):!a&&l.current&&!p.current&&(p.current=!0,l.current=a,console.error(\"A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.\")),[a?e:n,L(u=>(a||o(u),t==null?void 0:t(u)))]}import{useEffect as kg,useState as Lg}from\"react\";function Nc(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}function Se(){let e=[],t={addEventListener(r,n,o,a){return r.addEventListener(n,o,a),t.add(()=>r.removeEventListener(n,o,a))},requestAnimationFrame(...r){let n=requestAnimationFrame(...r);return t.add(()=>cancelAnimationFrame(n))},nextFrame(...r){return t.requestAnimationFrame(()=>t.requestAnimationFrame(...r))},setTimeout(...r){let n=setTimeout(...r);return t.add(()=>clearTimeout(n))},microTask(...r){let n={current:!0};return Nc(()=>{n.current&&r[0]()}),t.add(()=>{n.current=!1})},style(r,n,o){let a=r.style.getPropertyValue(n);return Object.assign(r.style,{[n]:o}),this.add(()=>{Object.assign(r.style,{[n]:a})})},group(r){let n=Se();return r(n),this.add(()=>n.dispose())},add(r){return e.push(r),()=>{let n=e.indexOf(r);if(n>=0)for(let o of e.splice(n,1))o()}},dispose(){for(let r of e.splice(0))r()}};return t}function Ue(){let[e]=Lg(Se);return kg(()=>()=>e.dispose(),[e]),e}import kc from\"react\";import*as lt from\"react\";function Ag(){let e=typeof document==\"undefined\";return\"useSyncExternalStore\"in lt?(t=>t.useSyncExternalStore)(lt)(()=>()=>{},()=>!1,()=>!e):!1}function Ht(){let e=Ag(),[t,r]=lt.useState(xe.isHandoffComplete);return t&&xe.isHandoffComplete===!1&&r(!1),lt.useEffect(()=>{t!==!0&&r(!0)},[t]),lt.useEffect(()=>xe.handoff(),[]),e?!1:t}var Tc,yt=(Tc=kc.useId)!=null?Tc:function(){let e=Ht(),[t,r]=kc.useState(e?()=>xe.nextId():null);return q(()=>{t===null&&r(xe.nextId())},[t]),t!=null?\"\"+t:void 0};import{useEffect as Kg,useRef as Bc}from\"react\";function Q(e,t,...r){if(e in t){let o=t[e];return typeof o==\"function\"?o(...r):o}let n=new Error(`Tried to handle \"${e}\" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(o=>`\"${o}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,Q),n}function Rt(e){return xe.isServer?null:e instanceof Node?e.ownerDocument:e!=null&&e.hasOwnProperty(\"current\")&&e.current instanceof Node?e.current.ownerDocument:document}var Lc=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\"),zg=(e=>(e[e.First=1]=\"First\",e[e.Previous=2]=\"Previous\",e[e.Next=4]=\"Next\",e[e.Last=8]=\"Last\",e[e.WrapAround=16]=\"WrapAround\",e[e.NoScroll=32]=\"NoScroll\",e))(zg||{}),Og=(e=>(e[e.Error=0]=\"Error\",e[e.Overflow=1]=\"Overflow\",e[e.Success=2]=\"Success\",e[e.Underflow=3]=\"Underflow\",e))(Og||{}),Bg=(e=>(e[e.Previous=-1]=\"Previous\",e[e.Next=1]=\"Next\",e))(Bg||{});var mo=(e=>(e[e.Strict=0]=\"Strict\",e[e.Loose=1]=\"Loose\",e))(mo||{});function Ac(e,t=0){var r;return e===((r=Rt(e))==null?void 0:r.body)?!1:Q(t,{0(){return e.matches(Lc)},1(){let n=e;for(;n!==null;){if(n.matches(Lc))return!0;n=n.parentElement}return!1}})}var Hg=(e=>(e[e.Keyboard=0]=\"Keyboard\",e[e.Mouse=1]=\"Mouse\",e))(Hg||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));var jC=[\"textarea\",\"input\"].join(\",\");function zc(e,t=r=>r){return e.slice().sort((r,n)=>{let o=t(r),a=t(n);if(o===null||a===null)return 0;let l=o.compareDocumentPosition(a);return l&Node.DOCUMENT_POSITION_FOLLOWING?-1:l&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Fg(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function Dg(){return/Android/gi.test(window.navigator.userAgent)}function Tr(){return Fg()||Dg()}import{useEffect as Wg}from\"react\";function Ft(e,t,r){let n=oe(t);Wg(()=>{function o(a){n.current(a)}return document.addEventListener(e,o,r),()=>document.removeEventListener(e,o,r)},[e,r])}import{useEffect as _g}from\"react\";function Oc(e,t,r){let n=oe(t);_g(()=>{function o(a){n.current(a)}return window.addEventListener(e,o,r),()=>window.removeEventListener(e,o,r)},[e,r])}function Hc(e,t,r=!0){let n=Bc(!1);Kg(()=>{requestAnimationFrame(()=>{n.current=r})},[r]);function o(l,s){if(!n.current||l.defaultPrevented)return;let p=s(l);if(p===null||!p.getRootNode().contains(p)||!p.isConnected)return;let u=function m(g){return typeof g==\"function\"?m(g()):Array.isArray(g)||g instanceof Set?g:[g]}(e);for(let m of u){if(m===null)continue;let g=m instanceof HTMLElement?m:m.current;if(g!=null&&g.contains(p)||l.composed&&l.composedPath().includes(g))return}return!Ac(p,mo.Loose)&&p.tabIndex!==-1&&l.preventDefault(),t(l,p)}let a=Bc(null);Ft(\"pointerdown\",l=>{var s,p;n.current&&(a.current=((p=(s=l.composedPath)==null?void 0:s.call(l))==null?void 0:p[0])||l.target)},!0),Ft(\"mousedown\",l=>{var s,p;n.current&&(a.current=((p=(s=l.composedPath)==null?void 0:s.call(l))==null?void 0:p[0])||l.target)},!0),Ft(\"click\",l=>{Tr()||a.current&&(o(l,()=>a.current),a.current=null)},!0),Ft(\"touchend\",l=>o(l,()=>l.target instanceof HTMLElement?l.target:null),!0),Oc(\"blur\",l=>o(l,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}import{useMemo as Ug}from\"react\";function Fc(...e){return Ug(()=>Rt(...e),[...e])}import{useState as $g}from\"react\";function Dc(e){var t;if(e.type)return e.type;let r=(t=e.as)!=null?t:\"button\";if(typeof r==\"string\"&&r.toLowerCase()===\"button\")return\"button\"}function Wc(e,t){let[r,n]=$g(()=>Dc(e));return q(()=>{n(Dc(e))},[e.type,e.as]),q(()=>{r||t.current&&t.current instanceof HTMLButtonElement&&!t.current.hasAttribute(\"type\")&&n(\"button\")},[r,t]),r}import{useEffect as qg,useRef as Zg}from\"react\";var Xg=Symbol();function Ge(...e){let t=Zg(e);qg(()=>{t.current=e},[e]);let r=L(n=>{for(let o of t.current)o!=null&&(typeof o==\"function\"?o(n):o.current=n)});return e.every(n=>n==null||(n==null?void 0:n[Xg]))?void 0:r}import{useRef as Yg}from\"react\";function _c(e){return[e.screenX,e.screenY]}function Kc(){let e=Yg([-1,-1]);return{wasMoved(t){let r=_c(t);return e.current[0]===r[0]&&e.current[1]===r[1]?!1:(e.current=r,!0)},update(t){e.current=_c(t)}}}import{useEffect as Jg,useRef as Uc}from\"react\";function $c({container:e,accept:t,walk:r,enabled:n=!0}){let o=Uc(t),a=Uc(r);Jg(()=>{o.current=t,a.current=r},[t,r]),q(()=>{if(!e||!n)return;let l=Rt(e);if(!l)return;let s=o.current,p=a.current,u=Object.assign(g=>s(g),{acceptNode:s}),m=l.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,u,!1);for(;m.nextNode();)p(m.currentNode)},[e,n,o,a])}import{useEffect as Qg,useRef as jg}from\"react\";function fo(e,t){let r=jg([]),n=L(e);Qg(()=>{let o=[...r.current];for(let[a,l]of t.entries())if(r.current[a]!==l){let s=n(t,o);return r.current=t,s}},[n,...t])}import{cloneElement as e4,createElement as t4,forwardRef as r4,Fragment as wo,isValidElement as o4,useCallback as LI,useRef as AI}from\"react\";function Pt(...e){return Array.from(new Set(e.flatMap(t=>typeof t==\"string\"?t.split(\" \"):[]))).filter(Boolean).join(\" \")}var Vt=(e=>(e[e.None=0]=\"None\",e[e.RenderStrategy=1]=\"RenderStrategy\",e[e.Static=2]=\"Static\",e))(Vt||{}),Ee=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(Ee||{});function be({ourProps:e,theirProps:t,slot:r,defaultTag:n,features:o,visible:a=!0,name:l,mergeRefs:s}){s=s!=null?s:n4;let p=qc(t,e);if(a)return kr(p,r,n,l,s);let u=o!=null?o:0;if(u&2){let m=p,{static:b=!1}=m,f=d(m,[\"static\"]);if(b)return kr(f,r,n,l,s)}if(u&1){let g=p,{unmount:b=!0}=g,f=d(g,[\"unmount\"]);return Q(b?0:1,{0(){return null},1(){return kr(c(i({},f),{hidden:!0,style:{display:\"none\"}}),r,n,l,s)}})}return kr(p,r,n,l,s)}function kr(e,t={},r,n,o){let b=go(e,[\"unmount\",\"static\"]),{as:a=r,children:l,refName:s=\"ref\"}=b,p=d(b,[\"as\",\"children\",\"refName\"]),u=e.ref!==void 0?{[s]:e.ref}:{},m=typeof l==\"function\"?l(t):l;\"className\"in p&&p.className&&typeof p.className==\"function\"&&(p.className=p.className(t));let g={};if(t){let f=!1,h=[];for(let[y,S]of Object.entries(t))typeof S==\"boolean\"&&(f=!0),S===!0&&h.push(y);f&&(g[\"data-headlessui-state\"]=h.join(\" \"))}if(a===wo&&Object.keys(Lr(p)).length>0){if(!o4(m)||Array.isArray(m)&&m.length>1)throw new Error(['Passing props on \"Fragment\"!',\"\",`The current component <${n} /> is rendering a \"Fragment\".`,\"However we need to passthrough the following props:\",Object.keys(p).map(S=>`  - ${S}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(S=>`  - ${S}`).join(`\n`)].join(`\n`));let f=m.props,h=typeof(f==null?void 0:f.className)==\"function\"?(...S)=>Pt(f==null?void 0:f.className(...S),p.className):Pt(f==null?void 0:f.className,p.className),y=h?{className:h}:{};return e4(m,Object.assign({},qc(m.props,Lr(go(p,[\"ref\"]))),g,u,{ref:o(m.ref,u.ref)},y))}return t4(a,Object.assign({},go(p,[\"ref\"]),a!==wo&&u,a!==wo&&g),m)}function n4(...e){return e.every(t=>t==null)?void 0:t=>{for(let r of e)r!=null&&(typeof r==\"function\"?r(t):r.current=t)}}function qc(...e){var t;if(e.length===0)return{};if(e.length===1)return e[0];let r={},n={};for(let o of e)for(let a in o)a.startsWith(\"on\")&&typeof o[a]==\"function\"?((t=n[a])!=null||(n[a]=[]),n[a].push(o[a])):r[a]=o[a];if(r.disabled||r[\"aria-disabled\"])return Object.assign(r,Object.fromEntries(Object.keys(n).map(o=>[o,void 0])));for(let o in n)Object.assign(r,{[o](a,...l){let s=n[o];for(let p of s){if((a instanceof Event||(a==null?void 0:a.nativeEvent)instanceof Event)&&a.defaultPrevented)return;p(a,...l)}}});return r}function fe(e){var t;return Object.assign(r4(e),{displayName:(t=e.displayName)!=null?t:e.name})}function Lr(e){let t=Object.assign({},e);for(let r in t)t[r]===void 0&&delete t[r];return t}function go(e,t=[]){let r=Object.assign({},e);for(let n of t)n in r&&delete r[n];return r}var a4=\"div\",ho=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(ho||{});function l4(e,t){var r;let l=e,{features:n=1}=l,o=d(l,[\"features\"]),a={ref:t,\"aria-hidden\":(n&2)===2?!0:(r=o[\"aria-hidden\"])!=null?r:void 0,hidden:(n&4)===4?!0:void 0,style:i({position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"},(n&4)===4&&(n&2)!==2&&{display:\"none\"})};return be({ourProps:a,theirProps:o,slot:{},defaultTag:a4,name:\"Hidden\"})}var Zc=fe(l4);import i4,{createContext as s4,useContext as c4}from\"react\";var vo=s4(null);vo.displayName=\"OpenClosedContext\";var ie=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(ie||{});function Dt(){return c4(vo)}function Ar({value:e,children:t}){return i4.createElement(vo.Provider,{value:e},t)}function Xc(e){function t(){document.readyState!==\"loading\"&&(e(),document.removeEventListener(\"DOMContentLoaded\",t))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",t),t())}var $e=[];Xc(()=>{function e(t){t.target instanceof HTMLElement&&t.target!==document.body&&$e[0]!==t.target&&($e.unshift(t.target),$e=$e.filter(r=>r!=null&&r.isConnected),$e.splice(10))}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});function Yc(e){let t=e.parentElement,r=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(r=t),t=t.parentElement;let n=(t==null?void 0:t.getAttribute(\"disabled\"))===\"\";return n&&d4(r)?!1:n}function d4(e){if(!e)return!1;let t=e.previousElementSibling;for(;t!==null;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}function p4(e){throw new Error(\"Unexpected object: \"+e)}var te=(e=>(e[e.First=0]=\"First\",e[e.Previous=1]=\"Previous\",e[e.Next=2]=\"Next\",e[e.Last=3]=\"Last\",e[e.Specific=4]=\"Specific\",e[e.Nothing=5]=\"Nothing\",e))(te||{});function bo(e,t){let r=t.resolveItems();if(r.length<=0)return null;let n=t.resolveActiveIndex(),o=n!=null?n:-1;switch(e.focus){case 0:{for(let a=0;a<r.length;++a)if(!t.resolveDisabled(r[a],a,r))return a;return n}case 1:{for(let a=o-1;a>=0;--a)if(!t.resolveDisabled(r[a],a,r))return a;return n}case 2:{for(let a=o+1;a<r.length;++a)if(!t.resolveDisabled(r[a],a,r))return a;return n}case 3:{for(let a=r.length-1;a>=0;--a)if(!t.resolveDisabled(r[a],a,r))return a;return n}case 4:{for(let a=0;a<r.length;++a)if(t.resolveId(r[a],a,r)===e.id)return a;return n}case 5:return null;default:p4(e)}}function xo(e={},t=null,r=[]){for(let[n,o]of Object.entries(e))Qc(r,Jc(t,n),o);return r}function Jc(e,t){return e?e+\"[\"+t+\"]\":t}function Qc(e,t,r){if(Array.isArray(r))for(let[n,o]of r.entries())Qc(e,Jc(t,n.toString()),o);else r instanceof Date?e.push([t,r.toISOString()]):typeof r==\"boolean\"?e.push([t,r?\"1\":\"0\"]):typeof r==\"string\"?e.push([t,r]):typeof r==\"number\"?e.push([t,`${r}`]):r==null?e.push([t,\"\"]):xo(r,t,e)}var ce=(e=>(e.Space=\" \",e.Enter=\"Enter\",e.Escape=\"Escape\",e.Backspace=\"Backspace\",e.Delete=\"Delete\",e.ArrowLeft=\"ArrowLeft\",e.ArrowUp=\"ArrowUp\",e.ArrowRight=\"ArrowRight\",e.ArrowDown=\"ArrowDown\",e.Home=\"Home\",e.End=\"End\",e.PageUp=\"PageUp\",e.PageDown=\"PageDown\",e.Tab=\"Tab\",e))(ce||{});var h4=(e=>(e[e.Open=0]=\"Open\",e[e.Closed=1]=\"Closed\",e))(h4||{}),v4=(e=>(e[e.Single=0]=\"Single\",e[e.Multi=1]=\"Multi\",e))(v4||{}),b4=(e=>(e[e.Pointer=0]=\"Pointer\",e[e.Focus=1]=\"Focus\",e[e.Other=2]=\"Other\",e))(b4||{}),x4=(e=>(e[e.OpenCombobox=0]=\"OpenCombobox\",e[e.CloseCombobox=1]=\"CloseCombobox\",e[e.GoToOption=2]=\"GoToOption\",e[e.RegisterOption=3]=\"RegisterOption\",e[e.UnregisterOption=4]=\"UnregisterOption\",e[e.RegisterLabel=5]=\"RegisterLabel\",e[e.SetActivationTrigger=6]=\"SetActivationTrigger\",e[e.UpdateVirtualOptions=7]=\"UpdateVirtualOptions\",e))(x4||{});function So(e,t=r=>r){let r=e.activeOptionIndex!==null?e.options[e.activeOptionIndex]:null,n=t(e.options.slice()),o=n.length>0&&n[0].dataRef.current.order!==null?n.sort((l,s)=>l.dataRef.current.order-s.dataRef.current.order):zc(n,l=>l.dataRef.current.domRef.current),a=r?o.indexOf(r):null;return a===-1&&(a=null),{options:o,activeOptionIndex:a}}var S4={1(e){var t;return(t=e.dataRef.current)!=null&&t.disabled||e.comboboxState===1?e:c(i({},e),{activeOptionIndex:null,comboboxState:1})},0(e){var t,r;if((t=e.dataRef.current)!=null&&t.disabled||e.comboboxState===0)return e;if((r=e.dataRef.current)!=null&&r.value){let n=e.dataRef.current.calculateIndex(e.dataRef.current.value);if(n!==-1)return c(i({},e),{activeOptionIndex:n,comboboxState:0})}return c(i({},e),{comboboxState:0})},2(e,t){var r,n,o,a,l;if((r=e.dataRef.current)!=null&&r.disabled||(n=e.dataRef.current)!=null&&n.optionsRef.current&&!((o=e.dataRef.current)!=null&&o.optionsPropsRef.current.static)&&e.comboboxState===1)return e;if(e.virtual){let m=t.focus===te.Specific?t.idx:bo(t,{resolveItems:()=>e.virtual.options,resolveActiveIndex:()=>{var b,f;return(f=(b=e.activeOptionIndex)!=null?b:e.virtual.options.findIndex(h=>!e.virtual.disabled(h)))!=null?f:null},resolveDisabled:e.virtual.disabled,resolveId(){throw new Error(\"Function not implemented.\")}}),g=(a=t.trigger)!=null?a:2;return e.activeOptionIndex===m&&e.activationTrigger===g?e:c(i({},e),{activeOptionIndex:m,activationTrigger:g})}let s=So(e);if(s.activeOptionIndex===null){let m=s.options.findIndex(g=>!g.dataRef.current.disabled);m!==-1&&(s.activeOptionIndex=m)}let p=t.focus===te.Specific?t.idx:bo(t,{resolveItems:()=>s.options,resolveActiveIndex:()=>s.activeOptionIndex,resolveId:m=>m.id,resolveDisabled:m=>m.dataRef.current.disabled}),u=(l=t.trigger)!=null?l:2;return e.activeOptionIndex===p&&e.activationTrigger===u?e:c(i(i({},e),s),{activeOptionIndex:p,activationTrigger:u})},3:(e,t)=>{var r,n,o;if((r=e.dataRef.current)!=null&&r.virtual)return c(i({},e),{options:[...e.options,t.payload]});let a=t.payload,l=So(e,p=>(p.push(a),p));e.activeOptionIndex===null&&(n=e.dataRef.current)!=null&&n.isSelected(t.payload.dataRef.current.value)&&(l.activeOptionIndex=l.options.indexOf(a));let s=c(i(i({},e),l),{activationTrigger:2});return(o=e.dataRef.current)!=null&&o.__demoMode&&e.dataRef.current.value===void 0&&(s.activeOptionIndex=0),s},4:(e,t)=>{var r;if((r=e.dataRef.current)!=null&&r.virtual)return c(i({},e),{options:e.options.filter(o=>o.id!==t.id)});let n=So(e,o=>{let a=o.findIndex(l=>l.id===t.id);return a!==-1&&o.splice(a,1),o});return c(i(i({},e),n),{activationTrigger:2})},5:(e,t)=>e.labelId===t.id?e:c(i({},e),{labelId:t.id}),6:(e,t)=>e.activationTrigger===t.trigger?e:c(i({},e),{activationTrigger:t.trigger}),7:(e,t)=>{var r;if(((r=e.virtual)==null?void 0:r.options)===t.options)return e;let n=e.activeOptionIndex;if(e.activeOptionIndex!==null){let o=t.options.indexOf(e.virtual.options[e.activeOptionIndex]);o!==-1?n=o:n=null}return c(i({},e),{activeOptionIndex:n,virtual:Object.assign({},e.virtual,{options:t.options})})}},Po=yo(null);Po.displayName=\"ComboboxActionsContext\";function Wt(e){let t=Ro(Po);if(t===null){let r=new Error(`<${e} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Wt),r}return t}var ed=yo(null);function y4(e){var t;let r=it(\"VirtualProvider\"),[n,o]=Ne(()=>{let p=r.optionsRef.current;if(!p)return[0,0];let u=window.getComputedStyle(p);return[parseFloat(u.paddingBlockStart||u.paddingTop),parseFloat(u.paddingBlockEnd||u.paddingBottom)]},[r.optionsRef.current]),a=Ec({scrollPaddingStart:n,scrollPaddingEnd:o,count:r.virtual.options.length,estimateSize(){return 40},getScrollElement(){var p;return(p=r.optionsRef.current)!=null?p:null},overscan:12}),[l,s]=g4(0);return q(()=>{s(p=>p+1)},[(t=r.virtual)==null?void 0:t.options]),Me.createElement(ed.Provider,{value:a},Me.createElement(\"div\",{style:{position:\"relative\",width:\"100%\",height:`${a.getTotalSize()}px`},ref:p=>{if(p){if(typeof process!=\"undefined\"&&process.env.JEST_WORKER_ID!==void 0||r.activationTrigger===0)return;r.activeOptionIndex!==null&&r.virtual.options.length>r.activeOptionIndex&&a.scrollToIndex(r.activeOptionIndex)}}},a.getVirtualItems().map(p=>{var u;return Me.createElement(jc,{key:p.key},Me.cloneElement((u=e.children)==null?void 0:u.call(e,{option:r.virtual.options[p.index],open:r.comboboxState===0}),{key:`${l}-${p.key}`,\"data-index\":p.index,\"aria-setsize\":r.virtual.options.length,\"aria-posinset\":p.index+1,style:{position:\"absolute\",top:0,left:0,transform:`translateY(${p.start}px)`,overflowAnchor:\"none\"}}))})))}var Vo=yo(null);Vo.displayName=\"ComboboxDataContext\";function it(e){let t=Ro(Vo);if(t===null){let r=new Error(`<${e} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,it),r}return t}function R4(e,t){return Q(t.type,S4,e,t)}var P4=jc;function V4(e,t){var r;let en=e,{value:n,defaultValue:o,onChange:a,form:l,name:s,by:p=null,disabled:u=!1,__demoMode:m=!1,nullable:g=!1,multiple:b=!1,immediate:f=!1,virtual:h=null}=en,y=d(en,[\"value\",\"defaultValue\",\"onChange\",\"form\",\"name\",\"by\",\"disabled\",\"__demoMode\",\"nullable\",\"multiple\",\"immediate\",\"virtual\"]),S=!1,x=null,[I=b?[]:void 0,M]=Mc(n,a,o),[N,C]=w4(R4,{dataRef:u4(),comboboxState:m?0:1,options:[],virtual:x?{options:x.options,disabled:(r=x.disabled)!=null?r:()=>!1}:null,activeOptionIndex:null,activationTrigger:2,labelId:null}),A=ye(!1),T=ye({static:!1,hold:!1}),z=ye(null),V=ye(null),G=ye(null),E=ye(null),R=L(typeof p==\"string\"?(H,_)=>{let le=p;return(H==null?void 0:H[le])===(_==null?void 0:_[le])}:p!=null?p:(H,_)=>H===_),B=L(H=>x?p===null?x.options.indexOf(H):x.options.findIndex(_=>R(_,H)):N.options.findIndex(_=>R(_.dataRef.current.value,H))),Z=m4(H=>Q(P.mode,{1:()=>I.some(_=>R(_,H)),0:()=>R(I,H)}),[I]),U=L(H=>N.activeOptionIndex===B(H)),P=Ne(()=>c(i({},N),{immediate:S,optionsPropsRef:T,labelRef:z,inputRef:V,buttonRef:G,optionsRef:E,value:I,defaultValue:o,disabled:u,mode:b?1:0,virtual:N.virtual,get activeOptionIndex(){if(A.current&&N.activeOptionIndex===null&&(x?x.options.length>0:N.options.length>0)){if(x){let _=x.options.findIndex(le=>{var je,Lt;return!((Lt=(je=x==null?void 0:x.disabled)==null?void 0:je.call(x,le))!=null&&Lt)});if(_!==-1)return _}let H=N.options.findIndex(_=>!_.dataRef.current.disabled);if(H!==-1)return H}return N.activeOptionIndex},calculateIndex:B,compare:R,isSelected:Z,isActive:U,nullable:g,__demoMode:m}),[I,o,u,b,g,m,N,x]);q(()=>{x&&C({type:7,options:x.options})},[x,x==null?void 0:x.options]),q(()=>{N.dataRef.current=P},[P]),Hc([P.buttonRef,P.inputRef,P.optionsRef],()=>Qr.closeCombobox(),P.comboboxState===0);let X=Ne(()=>{var H,_,le;return{open:P.comboboxState===0,disabled:u,activeIndex:P.activeOptionIndex,activeOption:P.activeOptionIndex===null?null:P.virtual?P.virtual.options[(H=P.activeOptionIndex)!=null?H:0]:(le=(_=P.options[P.activeOptionIndex])==null?void 0:_.dataRef.current.value)!=null?le:null,value:I}},[P,u,I]),Y=L(()=>{if(P.activeOptionIndex!==null){if(P.virtual)pt(P.virtual.options[P.activeOptionIndex]);else{let{dataRef:H}=P.options[P.activeOptionIndex];pt(H.current.value)}Qr.goToOption(te.Specific,P.activeOptionIndex)}}),D=L(()=>{C({type:0}),A.current=!0}),$=L(()=>{C({type:1}),A.current=!1}),W=L((H,_,le)=>(A.current=!1,H===te.Specific?C({type:2,focus:te.Specific,idx:_,trigger:le}):C({type:2,focus:H,trigger:le}))),se=L((H,_)=>(C({type:3,payload:{id:H,dataRef:_}}),()=>{P.isActive(_.current.value)&&(A.current=!0),C({type:4,id:H})})),Jr=L(H=>(C({type:5,id:H}),()=>C({type:5,id:null}))),pt=L(H=>Q(P.mode,{0(){return M==null?void 0:M(H)},1(){let _=P.value.slice(),le=_.findIndex(je=>R(je,H));return le===-1?_.push(H):_.splice(le,1),M==null?void 0:M(_)}})),Ve=L(H=>{C({type:6,trigger:H})}),Qr=Ne(()=>({onChange:pt,registerOption:se,registerLabel:Jr,goToOption:W,closeCombobox:$,openCombobox:D,setActivationTrigger:Ve,selectActiveOption:Y}),[]),sp=t===null?{}:{ref:t},Zt=ye(null),cp=Ue();return f4(()=>{Zt.current&&o!==void 0&&cp.addEventListener(Zt.current,\"reset\",()=>{M==null||M(o)})},[Zt,M]),Me.createElement(Po.Provider,{value:Qr},Me.createElement(Vo.Provider,{value:P},Me.createElement(Ar,{value:Q(P.comboboxState,{0:ie.Open,1:ie.Closed})},s!=null&&I!=null&&xo({[s]:I}).map(([H,_],le)=>Me.createElement(Zc,i({features:ho.Hidden,ref:le===0?je=>{var Lt;Zt.current=(Lt=je==null?void 0:je.closest(\"form\"))!=null?Lt:null}:void 0},Lr({key:H,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:l,disabled:u,name:H,value:_})))),be({ourProps:sp,theirProps:y,slot:X,defaultTag:P4,name:\"Combobox\"}))))}var C4=\"input\";function I4(e,t){var r,n,o,a,l;let s=yt(),U=e,{id:p=`headlessui-combobox-input-${s}`,onChange:u,displayValue:m,type:g=\"text\"}=U,b=d(U,[\"id\",\"onChange\",\"displayValue\",\"type\"]),f=it(\"Combobox.Input\"),h=Wt(\"Combobox.Input\"),y=Ge(f.inputRef,t),S=Fc(f.inputRef),x=ye(!1),I=Ue(),M=L(()=>{h.onChange(null),f.optionsRef.current&&(f.optionsRef.current.scrollTop=0),h.goToOption(te.Nothing)}),N=function(){var P;return typeof m==\"function\"&&f.value!==void 0?(P=m(f.value))!=null?P:\"\":typeof f.value==\"string\"?f.value:\"\"}();fo(([P,X],[Y,D])=>{if(x.current)return;let $=f.inputRef.current;$&&((D===0&&X===1||P!==Y)&&($.value=P),requestAnimationFrame(()=>{if(x.current||!$||(S==null?void 0:S.activeElement)!==$)return;let{selectionStart:W,selectionEnd:se}=$;Math.abs((se!=null?se:0)-(W!=null?W:0))===0&&W===0&&$.setSelectionRange($.value.length,$.value.length)}))},[N,f.comboboxState,S]),fo(([P],[X])=>{if(P===0&&X===1){if(x.current)return;let Y=f.inputRef.current;if(!Y)return;let D=Y.value,{selectionStart:$,selectionEnd:W,selectionDirection:se}=Y;Y.value=\"\",Y.value=D,se!==null?Y.setSelectionRange($,W,se):Y.setSelectionRange($,W)}},[f.comboboxState]);let C=ye(!1),A=L(()=>{C.current=!0}),T=L(()=>{I.nextFrame(()=>{C.current=!1})}),z=L(P=>{switch(x.current=!0,P.key){case ce.Enter:if(x.current=!1,f.comboboxState!==0||C.current)return;if(P.preventDefault(),P.stopPropagation(),f.activeOptionIndex===null){h.closeCombobox();return}h.selectActiveOption(),f.mode===0&&h.closeCombobox();break;case ce.ArrowDown:return x.current=!1,P.preventDefault(),P.stopPropagation(),Q(f.comboboxState,{0:()=>h.goToOption(te.Next),1:()=>h.openCombobox()});case ce.ArrowUp:return x.current=!1,P.preventDefault(),P.stopPropagation(),Q(f.comboboxState,{0:()=>h.goToOption(te.Previous),1:()=>{h.openCombobox(),I.nextFrame(()=>{f.value||h.goToOption(te.Last)})}});case ce.Home:if(P.shiftKey)break;return x.current=!1,P.preventDefault(),P.stopPropagation(),h.goToOption(te.First);case ce.PageUp:return x.current=!1,P.preventDefault(),P.stopPropagation(),h.goToOption(te.First);case ce.End:if(P.shiftKey)break;return x.current=!1,P.preventDefault(),P.stopPropagation(),h.goToOption(te.Last);case ce.PageDown:return x.current=!1,P.preventDefault(),P.stopPropagation(),h.goToOption(te.Last);case ce.Escape:return x.current=!1,f.comboboxState!==0?void 0:(P.preventDefault(),f.optionsRef.current&&!f.optionsPropsRef.current.static&&P.stopPropagation(),f.nullable&&f.mode===0&&f.value===null&&M(),h.closeCombobox());case ce.Tab:if(x.current=!1,f.comboboxState!==0)return;f.mode===0&&f.activationTrigger!==1&&h.selectActiveOption(),h.closeCombobox();break}}),V=L(P=>{u==null||u(P),f.nullable&&f.mode===0&&P.target.value===\"\"&&M(),h.openCombobox()}),G=L(P=>{var X,Y,D;let $=(X=P.relatedTarget)!=null?X:$e.find(W=>W!==P.currentTarget);if(x.current=!1,!((Y=f.optionsRef.current)!=null&&Y.contains($))&&!((D=f.buttonRef.current)!=null&&D.contains($))&&f.comboboxState===0)return P.preventDefault(),f.mode===0&&(f.nullable&&f.value===null?M():f.activationTrigger!==1&&h.selectActiveOption()),h.closeCombobox()}),E=L(P=>{var X,Y,D;let $=(X=P.relatedTarget)!=null?X:$e.find(W=>W!==P.currentTarget);(Y=f.buttonRef.current)!=null&&Y.contains($)||(D=f.optionsRef.current)!=null&&D.contains($)||f.disabled||f.immediate&&f.comboboxState!==0&&(h.openCombobox(),I.nextFrame(()=>{h.setActivationTrigger(1)}))}),R=Nr(()=>{if(f.labelId)return[f.labelId].join(\" \")},[f.labelId]),B=Ne(()=>({open:f.comboboxState===0,disabled:f.disabled}),[f]),Z={ref:y,id:p,role:\"combobox\",type:g,\"aria-controls\":(r=f.optionsRef.current)==null?void 0:r.id,\"aria-expanded\":f.comboboxState===0,\"aria-activedescendant\":f.activeOptionIndex===null?void 0:f.virtual?(n=f.options.find(P=>{var X;return!((X=f.virtual)!=null&&X.disabled(P.dataRef.current.value))&&f.compare(P.dataRef.current.value,f.virtual.options[f.activeOptionIndex])}))==null?void 0:n.id:(o=f.options[f.activeOptionIndex])==null?void 0:o.id,\"aria-labelledby\":R,\"aria-autocomplete\":\"list\",defaultValue:(l=(a=e.defaultValue)!=null?a:f.defaultValue!==void 0?m==null?void 0:m(f.defaultValue):null)!=null?l:f.defaultValue,disabled:f.disabled,onCompositionStart:A,onCompositionEnd:T,onKeyDown:z,onChange:V,onFocus:E,onBlur:G};return be({ourProps:Z,theirProps:b,slot:B,defaultTag:C4,name:\"Combobox.Input\"})}var G4=\"button\";function E4(e,t){var r;let n=it(\"Combobox.Button\"),o=Wt(\"Combobox.Button\"),a=Ge(n.buttonRef,t),l=yt(),y=e,{id:s=`headlessui-combobox-button-${l}`}=y,p=d(y,[\"id\"]),u=Ue(),m=L(S=>{switch(S.key){case ce.ArrowDown:return S.preventDefault(),S.stopPropagation(),n.comboboxState===1&&o.openCombobox(),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})});case ce.ArrowUp:return S.preventDefault(),S.stopPropagation(),n.comboboxState===1&&(o.openCombobox(),u.nextFrame(()=>{n.value||o.goToOption(te.Last)})),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})});case ce.Escape:return n.comboboxState!==0?void 0:(S.preventDefault(),n.optionsRef.current&&!n.optionsPropsRef.current.static&&S.stopPropagation(),o.closeCombobox(),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})}));default:return}}),g=L(S=>{if(Yc(S.currentTarget))return S.preventDefault();n.comboboxState===0?o.closeCombobox():(S.preventDefault(),o.openCombobox()),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})})}),b=Nr(()=>{if(n.labelId)return[n.labelId,s].join(\" \")},[n.labelId,s]),f=Ne(()=>({open:n.comboboxState===0,disabled:n.disabled,value:n.value}),[n]),h={ref:a,id:s,type:Wc(e,n.buttonRef),tabIndex:-1,\"aria-haspopup\":\"listbox\",\"aria-controls\":(r=n.optionsRef.current)==null?void 0:r.id,\"aria-expanded\":n.comboboxState===0,\"aria-labelledby\":b,disabled:n.disabled,onClick:g,onKeyDown:m};return be({ourProps:h,theirProps:p,slot:f,defaultTag:G4,name:\"Combobox.Button\"})}var M4=\"label\";function N4(e,t){let r=yt(),m=e,{id:n=`headlessui-combobox-label-${r}`}=m,o=d(m,[\"id\"]),a=it(\"Combobox.Label\"),l=Wt(\"Combobox.Label\"),s=Ge(a.labelRef,t);q(()=>l.registerLabel(n),[n]);let p=L(()=>{var g;return(g=a.inputRef.current)==null?void 0:g.focus({preventScroll:!0})}),u=Ne(()=>({open:a.comboboxState===0,disabled:a.disabled}),[a]);return be({ourProps:{ref:s,id:n,onClick:p},theirProps:o,slot:u,defaultTag:M4,name:\"Combobox.Label\"})}var T4=\"ul\",k4=Vt.RenderStrategy|Vt.Static;function L4(e,t){let r=yt(),f=e,{id:n=`headlessui-combobox-options-${r}`,hold:o=!1}=f,a=d(f,[\"id\",\"hold\"]),l=it(\"Combobox.Options\"),s=Ge(l.optionsRef,t),p=Dt(),u=p!==null?(p&ie.Open)===ie.Open:l.comboboxState===0;q(()=>{var h;l.optionsPropsRef.current.static=(h=e.static)!=null?h:!1},[l.optionsPropsRef,e.static]),q(()=>{l.optionsPropsRef.current.hold=o},[l.optionsPropsRef,o]),$c({container:l.optionsRef.current,enabled:l.comboboxState===0,accept(h){return h.getAttribute(\"role\")===\"option\"?NodeFilter.FILTER_REJECT:h.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(h){h.setAttribute(\"role\",\"none\")}});let m=Nr(()=>{var h,y;return(y=l.labelId)!=null?y:(h=l.buttonRef.current)==null?void 0:h.id},[l.labelId,l.buttonRef.current]),g=Ne(()=>({open:l.comboboxState===0,option:void 0}),[l]),b={\"aria-labelledby\":m,role:\"listbox\",\"aria-multiselectable\":l.mode===1?!0:void 0,id:n,ref:s};return l.virtual&&l.comboboxState===0&&Object.assign(a,{children:Me.createElement(y4,null,a.children)}),be({ourProps:b,theirProps:a,slot:g,defaultTag:T4,features:k4,visible:u,name:\"Combobox.Options\"})}var A4=\"li\";function z4(e,t){var r;let n=yt(),G=e,{id:o=`headlessui-combobox-option-${n}`,disabled:a=!1,value:l,order:s=null}=G,p=d(G,[\"id\",\"disabled\",\"value\",\"order\"]),u=it(\"Combobox.Option\"),m=Wt(\"Combobox.Option\"),g=u.virtual?u.activeOptionIndex===u.calculateIndex(l):u.activeOptionIndex===null?!1:((r=u.options[u.activeOptionIndex])==null?void 0:r.id)===o,b=u.isSelected(l),f=ye(null),h=oe({disabled:a,value:l,domRef:f,order:s}),y=Ro(ed),S=Ge(t,f,y?y.measureElement:null),x=L(()=>m.onChange(l));q(()=>m.registerOption(o,h),[h,o]);let I=ye(!(u.virtual||u.__demoMode));q(()=>{if(!u.virtual||!u.__demoMode)return;let E=Se();return E.requestAnimationFrame(()=>{I.current=!0}),E.dispose},[u.virtual,u.__demoMode]),q(()=>{if(!I.current||u.comboboxState!==0||!g||u.activationTrigger===0)return;let E=Se();return E.requestAnimationFrame(()=>{var R,B;(B=(R=f.current)==null?void 0:R.scrollIntoView)==null||B.call(R,{block:\"nearest\"})}),E.dispose},[f,g,u.comboboxState,u.activationTrigger,u.activeOptionIndex]);let M=L(E=>{var R;if(a||(R=u.virtual)!=null&&R.disabled(l))return E.preventDefault();x(),Tr()||requestAnimationFrame(()=>{var B;return(B=u.inputRef.current)==null?void 0:B.focus({preventScroll:!0})}),u.mode===0&&requestAnimationFrame(()=>m.closeCombobox())}),N=L(()=>{var E;if(a||(E=u.virtual)!=null&&E.disabled(l))return m.goToOption(te.Nothing);let R=u.calculateIndex(l);m.goToOption(te.Specific,R)}),C=Kc(),A=L(E=>C.update(E)),T=L(E=>{var R;if(!C.wasMoved(E)||a||(R=u.virtual)!=null&&R.disabled(l)||g)return;let B=u.calculateIndex(l);m.goToOption(te.Specific,B,0)}),z=L(E=>{var R;C.wasMoved(E)&&(a||(R=u.virtual)!=null&&R.disabled(l)||g&&(u.optionsPropsRef.current.hold||m.goToOption(te.Nothing)))}),V=Ne(()=>({active:g,selected:b,disabled:a}),[g,b,a]);return be({ourProps:{id:o,ref:S,role:\"option\",tabIndex:a===!0?void 0:-1,\"aria-disabled\":a===!0?!0:void 0,\"aria-selected\":b,disabled:void 0,onClick:M,onFocus:N,onPointerEnter:A,onMouseEnter:A,onPointerMove:T,onMouseMove:T,onPointerLeave:z,onMouseLeave:z},theirProps:p,slot:V,defaultTag:A4,name:\"Combobox.Option\"})}var O4=fe(V4),B4=fe(E4),H4=fe(I4),F4=fe(N4),D4=fe(L4),W4=fe(z4),Ct=Object.assign(O4,{Input:H4,Button:B4,Label:F4,Options:D4,Option:W4});import{useRef as _4}from\"react\";function It(){let e=_4(!1);return q(()=>(e.current=!0,()=>{e.current=!1}),[]),e}import{useCallback as zr,useState as K4}from\"react\";function td(e=0){let[t,r]=K4(e),n=It(),o=zr(p=>{n.current&&r(u=>u|p)},[t,n]),a=zr(p=>!!(t&p),[t]),l=zr(p=>{n.current&&r(u=>u&~p)},[r,n]),s=zr(p=>{n.current&&r(u=>u^p)},[r]);return{flags:t,addFlag:o,hasFlag:a,removeFlag:l,toggleFlag:s}}import Te,{createContext as id,Fragment as ad,useContext as Mo,useEffect as _t,useMemo as sd,useRef as ke,useState as Go}from\"react\";function rd(e){let t={called:!1};return(...r)=>{if(!t.called)return t.called=!0,e(...r)}}function Co(e,...t){e&&t.length>0&&e.classList.add(...t)}function Io(e,...t){e&&t.length>0&&e.classList.remove(...t)}function U4(e,t){let r=Se();if(!e)return r.dispose;let{transitionDuration:n,transitionDelay:o}=getComputedStyle(e),[a,l]=[n,o].map(p=>{let[u=0]=p.split(\",\").filter(Boolean).map(m=>m.includes(\"ms\")?parseFloat(m):parseFloat(m)*1e3).sort((m,g)=>g-m);return u}),s=a+l;if(s!==0){r.group(u=>{u.setTimeout(()=>{t(),u.dispose()},s),u.addEventListener(e,\"transitionrun\",m=>{m.target===m.currentTarget&&u.dispose()})});let p=r.addEventListener(e,\"transitionend\",u=>{u.target===u.currentTarget&&(t(),p())})}else t();return r.add(()=>t()),r.dispose}function od(e,t,r,n){let o=r?\"enter\":\"leave\",a=Se(),l=n!==void 0?rd(n):()=>{};o===\"enter\"&&(e.removeAttribute(\"hidden\"),e.style.display=\"\");let s=Q(o,{enter:()=>t.enter,leave:()=>t.leave}),p=Q(o,{enter:()=>t.enterTo,leave:()=>t.leaveTo}),u=Q(o,{enter:()=>t.enterFrom,leave:()=>t.leaveFrom});return Io(e,...t.base,...t.enter,...t.enterTo,...t.enterFrom,...t.leave,...t.leaveFrom,...t.leaveTo,...t.entered),Co(e,...t.base,...s,...u),a.nextFrame(()=>{Io(e,...t.base,...s,...u),Co(e,...t.base,...s,...p),U4(e,()=>(Io(e,...t.base,...s),Co(e,...t.base,...t.entered),l()))}),a.dispose}function nd({immediate:e,container:t,direction:r,classes:n,onStart:o,onStop:a}){let l=It(),s=Ue(),p=oe(r);q(()=>{e&&(p.current=\"enter\")},[e]),q(()=>{let u=Se();s.add(u.dispose);let m=t.current;if(m&&p.current!==\"idle\"&&l.current)return u.dispose(),o.current(p.current),u.add(od(m,n.current,p.current===\"enter\",()=>{u.dispose(),a.current(p.current)})),u.dispose},[r])}function qe(e=\"\"){return e.split(/\\s+/).filter(t=>t.length>1)}var Or=id(null);Or.displayName=\"TransitionContext\";var $4=(e=>(e.Visible=\"visible\",e.Hidden=\"hidden\",e))($4||{});function q4(){let e=Mo(Or);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}function Z4(){let e=Mo(Br);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}var Br=id(null);Br.displayName=\"NestingContext\";function Hr(e){return\"children\"in e?Hr(e.children):e.current.filter(({el:t})=>t.current!==null).filter(({state:t})=>t===\"visible\").length>0}function cd(e,t){let r=oe(e),n=ke([]),o=It(),a=Ue(),l=L((f,h=Ee.Hidden)=>{let y=n.current.findIndex(({el:S})=>S===f);y!==-1&&(Q(h,{[Ee.Unmount](){n.current.splice(y,1)},[Ee.Hidden](){n.current[y].state=\"hidden\"}}),a.microTask(()=>{var S;!Hr(n)&&o.current&&((S=r.current)==null||S.call(r))}))}),s=L(f=>{let h=n.current.find(({el:y})=>y===f);return h?h.state!==\"visible\"&&(h.state=\"visible\"):n.current.push({el:f,state:\"visible\"}),()=>l(f,Ee.Unmount)}),p=ke([]),u=ke(Promise.resolve()),m=ke({enter:[],leave:[],idle:[]}),g=L((f,h,y)=>{p.current.splice(0),t&&(t.chains.current[h]=t.chains.current[h].filter(([S])=>S!==f)),t==null||t.chains.current[h].push([f,new Promise(S=>{p.current.push(S)})]),t==null||t.chains.current[h].push([f,new Promise(S=>{Promise.all(m.current[h].map(([x,I])=>I)).then(()=>S())})]),h===\"enter\"?u.current=u.current.then(()=>t==null?void 0:t.wait.current).then(()=>y(h)):y(h)}),b=L((f,h,y)=>{Promise.all(m.current[h].splice(0).map(([S,x])=>x)).then(()=>{var S;(S=p.current.shift())==null||S()}).then(()=>y(h))});return sd(()=>({children:n,register:s,unregister:l,onStart:g,onStop:b,wait:u,chains:m}),[s,l,n,g,b,m,u])}function X4(){}var Y4=[\"beforeEnter\",\"afterEnter\",\"beforeLeave\",\"afterLeave\"];function ld(e){var t;let r={};for(let n of Y4)r[n]=(t=e[n])!=null?t:X4;return r}function J4(e){let t=ke(ld(e));return _t(()=>{t.current=ld(e)},[e]),t}var Q4=\"div\",dd=Vt.RenderStrategy;function j4(e,t){var r,n;let pt=e,{beforeEnter:o,afterEnter:a,beforeLeave:l,afterLeave:s,enter:p,enterFrom:u,enterTo:m,entered:g,leave:b,leaveFrom:f,leaveTo:h}=pt,y=d(pt,[\"beforeEnter\",\"afterEnter\",\"beforeLeave\",\"afterLeave\",\"enter\",\"enterFrom\",\"enterTo\",\"entered\",\"leave\",\"leaveFrom\",\"leaveTo\"]),S=ke(null),x=Ge(S,t),I=(r=y.unmount)==null||r?Ee.Unmount:Ee.Hidden,{show:M,appear:N,initial:C}=q4(),[A,T]=Go(M?\"visible\":\"hidden\"),z=Z4(),{register:V,unregister:G}=z;_t(()=>V(S),[V,S]),_t(()=>{if(I===Ee.Hidden&&S.current){if(M&&A!==\"visible\"){T(\"visible\");return}return Q(A,{hidden:()=>G(S),visible:()=>V(S)})}},[A,S,V,G,M,I]);let E=oe({base:qe(y.className),enter:qe(p),enterFrom:qe(u),enterTo:qe(m),entered:qe(g),leave:qe(b),leaveFrom:qe(f),leaveTo:qe(h)}),R=J4({beforeEnter:o,afterEnter:a,beforeLeave:l,afterLeave:s}),B=Ht();_t(()=>{if(B&&A===\"visible\"&&S.current===null)throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")},[S,A,B]);let Z=C&&!N,U=N&&M&&C,P=!B||Z?\"idle\":M?\"enter\":\"leave\",X=td(0),Y=L(Ve=>Q(Ve,{enter:()=>{X.addFlag(ie.Opening),R.current.beforeEnter()},leave:()=>{X.addFlag(ie.Closing),R.current.beforeLeave()},idle:()=>{}})),D=L(Ve=>Q(Ve,{enter:()=>{X.removeFlag(ie.Opening),R.current.afterEnter()},leave:()=>{X.removeFlag(ie.Closing),R.current.afterLeave()},idle:()=>{}})),$=cd(()=>{T(\"hidden\"),G(S)},z),W=ke(!1);nd({immediate:U,container:S,classes:E,direction:P,onStart:oe(Ve=>{W.current=!0,$.onStart(S,Ve,Y)}),onStop:oe(Ve=>{W.current=!1,$.onStop(S,Ve,D),Ve===\"leave\"&&!Hr($)&&(T(\"hidden\"),G(S))})});let se=y,Jr={ref:x};return U?se=c(i({},se),{className:Pt(y.className,...E.current.enter,...E.current.enterFrom)}):W.current&&(se.className=Pt(y.className,(n=S.current)==null?void 0:n.className),se.className===\"\"&&delete se.className),Te.createElement(Br.Provider,{value:$},Te.createElement(Ar,{value:Q(A,{visible:ie.Open,hidden:ie.Closed})|X.flags},be({ourProps:Jr,theirProps:se,defaultTag:Q4,features:dd,visible:A===\"visible\",name:\"Transition.Child\"})))}function e3(e,t){let M=e,{show:r,appear:n=!1,unmount:o=!0}=M,a=d(M,[\"show\",\"appear\",\"unmount\"]),l=ke(null),s=Ge(l,t);Ht();let p=Dt();if(r===void 0&&p!==null&&(r=(p&ie.Open)===ie.Open),![!0,!1].includes(r))throw new Error(\"A <Transition /> is used but it is missing a `show={true | false}` prop.\");let[u,m]=Go(r?\"visible\":\"hidden\"),g=cd(()=>{m(\"hidden\")}),[b,f]=Go(!0),h=ke([r]);q(()=>{b!==!1&&h.current[h.current.length-1]!==r&&(h.current.push(r),f(!1))},[h,r]);let y=sd(()=>({show:r,appear:n,initial:b}),[r,n,b]);_t(()=>{if(r)m(\"visible\");else if(!Hr(g))m(\"hidden\");else{let N=l.current;if(!N)return;let C=N.getBoundingClientRect();C.x===0&&C.y===0&&C.width===0&&C.height===0&&m(\"hidden\")}},[r,g]);let S={unmount:o},x=L(()=>{var N;b&&f(!1),(N=e.beforeEnter)==null||N.call(e)}),I=L(()=>{var N;b&&f(!1),(N=e.beforeLeave)==null||N.call(e)});return Te.createElement(Br.Provider,{value:g},Te.createElement(Or.Provider,{value:y},be({ourProps:c(i({},S),{as:ad,children:Te.createElement(pd,c(i(i({ref:s},S),a),{beforeEnter:x,beforeLeave:I}))}),theirProps:{},defaultTag:ad,features:dd,visible:u===\"visible\",name:\"Transition\"})))}function t3(e,t){let r=Mo(Or)!==null,n=Dt()!==null;return Te.createElement(Te.Fragment,null,!r&&n?Te.createElement(Eo,i({ref:t},e)):Te.createElement(pd,i({ref:t},e)))}var Eo=fe(e3),pd=fe(j4),r3=fe(t3),ud=Object.assign(Eo,{Child:r3,Root:Eo});F();import{Fragment as a3,jsx as Re,jsxs as To}from\"react/jsx-runtime\";var No=[{id:1,name:\"Wade Cooper\"},{id:2,name:\"Arlene Mccoy\"},{id:3,name:\"Devon Webb\"},{id:4,name:\"Tom Cook\"},{id:5,name:\"Tanya Fox\"},{id:6,name:\"Hellen Schmidt\"}],n3=()=>{let[e,t]=md(No[0]),[r,n]=md(\"\"),o=r===\"\"?No:No.filter(a=>a.name.toLowerCase().replace(/\\s+/g,\"\").includes(r.toLowerCase().replace(/\\s+/g,\"\")));return Re(Ct,{value:e,onChange:t,children:To(\"div\",{className:\"tw-relative tw-mt-1\",children:[To(\"div\",{className:\"tw-relative tw-w-full tw-cursor-default tw-overflow-hidden tw-rounded-lg tw-bg-white tw-text-left tw-shadow-md focus:tw-outline-none focus-visible:tw-ring-2 focus-visible:tw-ring-white focus-visible:tw-ring-opacity-75 focus-visible:tw-ring-offset-2 focus-visible:tw-ring-offset-teal-300 sm:tw-text-base\",children:[Re(Ct.Input,{className:\"tw-w-full tw-border-none tw-py-2 tw-pl-3 tw-pr-10 tw-leading-5 tw-text-gray-900 focus:tw-ring-0\",displayValue:a=>a.name,onChange:a=>n(a.target.value)}),Re(Ct.Button,{className:\"tw-absolute tw-inset-y-0 tw-right-0 tw-flex tw-items-center tw-pr-2\",children:Re(He,{className:\"tw-h-[20px] tw-w-[20px] tw-text-gray-400\",\"aria-hidden\":\"true\"})})]}),Re(ud,{as:o3,leave:\"transition ease-in duration-100\",leaveFrom:\"opacity-100\",leaveTo:\"opacity-0\",afterLeave:()=>n(\"\"),children:Re(Ct.Options,{className:\"tw-absolute tw-mt-1 tw-max-h-[240px] tw-w-full tw-overflow-auto tw-rounded-md tw-bg-white tw-py-1 tw-shadow-lg tw-ring-1 tw-ring-black tw-ring-opacity-5 focus:tw-outline-none\",children:o.length===0&&r!==\"\"?Re(\"div\",{className:\"tw-relative tw-cursor-default tw-select-none tw-py-2 tw-px-4 tw-text-gray-700\",children:\"Nothing found.\"}):o.map(a=>Re(Ct.Option,{className:({active:l})=>`tw-relative tw-cursor-default tw-select-none tw-py-2 tw-pl-10 tw-pr-4 ${l?\"tw-bg-emerald-60 tw-text-white\":\"tw-text-gray-90\"}`,value:a,children:({selected:l,active:s})=>To(a3,{children:[Re(\"span\",{className:`tw-block tw-truncate ${l?\"tw-font-semibold\":\"tw-font-normal\"}`,children:a.name}),l?Re(\"span\",{className:`tw-absolute tw-inset-y-0 tw-left-0 tw-flex tw-items-center tw-pl-3 ${s?\"tw-text-white\":\"tw-text-emerald-60\"}`,children:Re(ft,{className:\"tw-h-[20px] tw-w-[20px]\",\"aria-hidden\":\"true\"})}):null]})},a.id))})})]})})};k();F();import*as Fr from\"@radix-ui/react-checkbox\";import{forwardRef as l3}from\"react\";import{jsx as Gt,jsxs as m3}from\"react/jsx-runtime\";var i3=\"data-[disabled]:tw-bg-gray-10 data-[disabled]:tw-border-gray-30 data-[disabled]:tw-cursor-not-allowed\",s3=\"data-[state=checked]:tw-bg-primary-700 data-[state=checked]:hover:tw-bg-primary-300 data-[state=checked]:tw-border-primary-700 data-[state=checked]:hover:tw-border-primary-300 data-[state=checked]:tw-text-white\",c3=\"data-[state=checked]:tw-bg-gray-30 data-[state=checked]:tw-border-gray-30 data-[state=checked]:hover:tw-bg-gray-30 data-[state=checked]:hover:tw-border-gray-30 data-[disabled]:tw-cursor-not-allowed\",d3=\"data-[state=checked]:tw-bg-error-500 data-[state=checked]:tw-border-error-500 data-[state=checked]:hover:tw-bg-error-500 data-[state=checked]:hover:tw-border-error-500 data-[state=checked]:tw-text-white\",p3=l3(({label:e,id:t,name:r,checked:n,defaultChecked:o,disabled:a,onCheckedChange:l,error:s},p)=>m3(\"div\",{className:\"tw-flex tw-items-center\",children:[Gt(Fr.Root,{ref:p,className:w(\"tw-flex tw-items-center tw-justify-center tw-h-4 tw-w-4 tw-shrink-0 tw-p-0\",\"tw-group tw-appearance-none\",\"tw-duration-200\",\"tw-bg-white\",\" tw-border tw-border-solid tw-border-gray-40 tw-rounded-xs tw-outline-none\",\"tw-leading-[0px]\",[s?d3:s3,a?[n?c3:i3]:[s?\"tw-border-error-500 hover:tw-border-error-500\":\"hover:tw-border-primary-700\"],n===\"indeterminate\"&&[a?\"tw-bg-gray-30 tw-border-gray-30\":\"tw-bg-primary-700 tw-border-primary-700 hover:tw-bg-primary-300 hover:tw-border-primary-300\"]]),checked:n!==void 0?n:void 0,defaultChecked:o,onCheckedChange:l,id:t,name:r,disabled:a,children:Gt(Fr.Indicator,{className:w(\"tw-text-white\"),children:n===\"indeterminate\"?Gt(hr,{}):Gt(jt,{})})}),e&&Gt(\"label\",{className:w(\"tw-text-base tw-font-normal\",\"tw-pl-2\",\"tw-cursor-pointer\",a?\"tw-text-gray-50 tw-cursor-not-allowed\":[s?\"tw-text-error-700\":\"tw-text-gray-80\"]),htmlFor:t,children:e})]})),u3=({children:e,placement:t=\"horizontal\",className:r})=>Gt(\"div\",{className:w(`tw-flex ${t===\"vertical\"?\"tw-flex-col tw-space-y-3\":\"tw-space-x-4 tw-items-center\"}`,r),children:e});k();import{useState as fd,useRef as f3,useMemo as w3,useId as g3,useEffect as h3,forwardRef as v3,useImperativeHandle as b3}from\"react\";import{jsx as Et,jsxs as wd}from\"react/jsx-runtime\";var x3=v3(({id:e,name:t,value:r,defaultValue:n,onChange:o,onFocus:a,onBlur:l,autoHeight:s=!1,disabled:p=!1,readOnly:u=!1,maxLength:m,label:g,tooltip:b,className:f,inputClassName:h,hasError:y,errorText:S,placeholder:x,optionalText:I,blockIfLimitReached:M,tabIndex:N=0,counterText:C},A)=>{let T=e||g3(),z=`${T}-error`,V=`${T}-optional`,[G,E]=fd(!1),R=f3(null);b3(A,()=>R.current,[]);let[B,Z]=fd(0),U=()=>ln(void 0,null,function*(){var D;yield Z(0),R.current?Z(((D=R.current)==null?void 0:D.scrollHeight)+4):Z(0)}),P=w3(()=>m&&r?`${m-r.length}`:`${m}`,[r,m]);h3(()=>(U(),window.addEventListener(\"resize\",U),()=>{window.removeEventListener(\"resize\",U)}),[s]);let X=r&&m?r.length>m:!1,Y=(D,$)=>{let W=[];return D&&W.push(z),$&&W.push(V),W.join(\" \")};return wd(nt,{label:g,id:T,tooltip:b,className:f,disabled:p,children:[Et(St,{isTextArea:!0,focus:G,hasError:y,className:\"w-full\",disabled:p,children:Et(\"textarea\",{name:t,ref:R,id:T,value:r,defaultValue:n,onChange:D=>{!p&&!u&&(o&&o(D),s&&U())},onFocus:D=>{E(!0),a&&a(D)},onBlur:D=>{E(!1),l&&l(D)},style:{\"--content-height\":s?`${B}px`:void 0},className:w(\"tw-grow tw-box-border\",\"tw-block tw-min-h-[64px] tw-px-3 tw-py-2.5\",s&&\"tw-h-[--content-height] tw-resize-none\",h),disabled:p,readOnly:u,maxLength:M?m:void 0,placeholder:x,\"aria-label\":g,\"aria-invalid\":y,\"aria-describedby\":`${Y(y,I)}`||void 0,tabIndex:p?-1:N})}),(y||I||m)&&wd(\"div\",{className:w(\"tw-flex tw-gap-x-8\",!I&&!y&&m&&\"tw-justify-end\"),children:[I&&!y&&Et(ot,{id:V,children:I}),y&&Et(rt,{id:z,children:S}),m&&Et(\"div\",{\"aria-live\":\"polite\",className:\"tw-text-gray-60 tw-text-sm tw-text-right tw-font-normal tw-shrink-0 tw-mt-1\",children:Et(\"span\",{className:w(X&&\"text-red-60\"),children:C?C(P):P})})]})]})});k();import{jsx as y3}from\"react/jsx-runtime\";var S3=({children:e,className:t})=>y3(\"div\",{className:w(\"tw-flex tw-flex-col tw-gap-y-6\",t),children:e});k();import{jsx as P3}from\"react/jsx-runtime\";var R3=({className:e})=>P3(\"div\",{className:w(\"tw-inline-block tw-w-px tw-bg-gray-30\",e)});import{jsx as ko,jsxs as C3}from\"react/jsx-runtime\";var V3=()=>C3(\"div\",{role:\"status\",className:\"tw-max-w-md tw-animate-pulse\",children:[ko(\"div\",{className:\"tw-flex tw-items-center tw-justify-between\",children:ko(\"div\",{className:\"tw-h-4 tw-bg-gray-70 tw-rounded-md tw-w-full tw-mb-2.5\"})}),ko(\"span\",{className:\"tw-sr-only\",children:\"Loading...\"})]});k();F();import I3,{useMemo as gd}from\"react\";import{jsx as we}from\"react/jsx-runtime\";var G3=[\"tw-bg-blue-60\",\"tw-bg-orange-50\",\"tw-bg-pink-50\",\"tw-bg-emerald-50\",\"tw-bg-gray-50\",\"tw-bg-green-80\",\"tw-bg-purple-40\",\"tw-bg-blue-70\",\"tw-bg-yellow-60\",\"tw-bg-gray-60\",\"tw-bg-blue-80\",\"tw-bg-green-50\",\"tw-bg-orange-60\",\"tw-bg-emerald-80\",\"tw-bg-yellow-90\",\"tw-bg-red-60\",\"tw-bg-pink-40\",\"tw-bg-purple-60\",\"tw-bg-yellow-100\",\"tw-bg-emerald-60\",\"tw-bg-yellow-80\",\"tw-bg-green-60\",\"tw-bg-pink-80\",\"tw-bg-purple-80\",\"tw-bg-yellow-70\",\"tw-bg-blue-60\",\"tw-bg-orange-50\",\"tw-bg-pink-50\",\"tw-bg-emerald-50\",\"tw-bg-gray-50\",\"tw-bg-purple-40\",\"tw-bg-yellow-60\",\"tw-bg-gray-60\",\"tw-bg-blue-80\",\"tw-bg-green-50\",\"tw-bg-orange-60\",\"tw-bg-red-60\",\"tw-bg-pink-40\",\"tw-bg-purple-60\",\"tw-bg-emerald-60\",\"tw-bg-green-60\",\"tw-bg-blue-60\",\"tw-bg-orange-50\",\"tw-bg-pink-50\",\"tw-bg-emerald-50\",\"tw-bg-gray-40\",\"tw-bg-green-40\",\"tw-bg-orange-100\",\"tw-bg-red-30\",\"tw-bg-orange-70\",\"tw-bg-green-70\",\"tw-bg-red-40\",\"tw-bg-yellow-50\",\"tw-bg-blue-40\",\"tw-bg-emerald-70\",\"tw-bg-purple-50\",\"tw-bg-gray-30\",\"tw-bg-green-90\",\"tw-bg-red-50\",\"tw-bg-orange-40\",\"tw-bg-orange-80\",\"tw-bg-pink-30\",\"tw-bg-gray-80\",\"tw-bg-blue-30\",\"tw-bg-purple-30\",\"tw-bg-red-80\",\"tw-bg-yellow-40\",\"tw-bg-yellow-100\",\"tw-bg-emerald-40\",\"tw-bg-pink-60\"],E3=e=>{switch(e){case\"activity\":return we(ir,{});case\"ai_assistant\":return we(xr,{});case\"facebook_messenger\":return we(wr,{});case\"whatsapp\":return we(gr,{});case\"chatflow\":return we(sr,{});case\"facebook_page\":return we(ur,{});case\"forum\":return we(cr,{});case\"instagram_comments\":return we(mr,{});case\"instagram_messenger\":return we(fr,{});case\"knowledgebase\":return we(dr,{});case\"inbox\":default:return we(pr,{})}},hd=({icon:e,size:t=\"small\",bgColor:r=\"tw-bg-gray-50\",className:n})=>{let o=s=>{switch(s){case\"small\":default:return\"tw-w-[18px] tw-h-[18px]\";case\"medium\":return\"tw-w-6 tw-h-6\";case\"large\":return\"tw-w-7 tw-h-7\"}},a=gd(()=>{switch(t){case\"small\":default:return\"tw-text-xs\";case\"medium\":return\"tw-text-base\";case\"large\":return\"tw-text-[18px]\"}},[t]),l=gd(()=>w(\"tw-flex tw-items-center tw-justify-center tw-rounded-full\",o(t),r,n),[t,r,n]);return we(\"div\",{className:l,children:e&&I3.cloneElement(e,{className:w(\"tw-fill-white\",a)})})},M3=({channelType:e,channelClass:t,className:r,size:n=\"small\",disabled:o=!1})=>{let a=t.split(\"-\")[2],l=G3[Number(a)-1];return we(hd,{icon:E3(e),bgColor:l,className:w(o&&\"tw-opacity-30 tw-grayscale\",r),size:n})};k();F();import{useRef as N3,useEffect as T3,useMemo as vd,useId as k3,lazy as Lo}from\"react\";import*as pe from\"@radix-ui/react-dialog\";import{jsx as de,jsxs as Dr}from\"react/jsx-runtime\";var L3=Lo(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.ExclamationTriangleIcon}))),A3=Lo(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.ErrorIcon}))),z3=Lo(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.InfoCircleIcon}))),bd=(n=>(n.INFO=\"info\",n.WARNING=\"warning\",n.ERROR=\"error\",n))(bd||{}),O3=({children:e,className:t})=>de(\"div\",{className:w(\"tw-w-full tw-px-6 md:tw-px-8\",\"tw-grow tw-shrink\",\"tw-overflow-y-auto tw-overflow-x-hidden\",\"tw-font-normal tw-text-gray-100\",t),children:e}),B3=({children:e,className:t})=>de(\"div\",{className:w(\"tw-flex tw-w-full tw-flex-wrap tw-justify-end tw-items-center\",\"tw-gap-4\",\"tw-shrink-0 tw-grow-0\",\"tw-px-6 md:tw-px-8 tw-pt-4\",t),children:e}),H3=({children:e,className:t,type:r})=>{let n=vd(()=>{if(e)return e;switch(r){case\"info\":return de(z3,{className:\"tw-text-gray-60\"});case\"warning\":return de(L3,{className:\"tw-text-error-700\"});case\"error\":return de(A3,{className:\"tw-text-error-700\"});default:return null}},[r,e]);return de(\"div\",{className:w(\"*:tw-w-6 *:tw-h-auto tw-mt-0.5\",t),children:n})},F3=({title:e,triggerButton:t,children:r,open:n,onOpenChange:o,className:a,fullscreen:l=!1,size:s=\"small\",container:p,withCloseButton:u=!0,ariaLabel:m,onOpenAutoFocus:g,onCloseAutoFocus:b,onEscapeKeyDown:f,onPointerDownOutside:h,onInteractOutside:y,clickOutsideToClose:S=!0})=>{let x=N3(null),I=(C,A)=>{let z=A.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'),V=z[0],G=z[z.length-1];return(R=>{(R.key===\"Tab\"||R.keyCode===9)&&(R.shiftKey?window.parent.parent.document.activeElement===V&&(G.focus(),R.preventDefault()):window.parent.parent.document.activeElement===G&&(V.focus(),R.preventDefault()))})(C)};T3(()=>(window.parent!=window.top&&setTimeout(()=>{let C=x.current;C&&C.addEventListener(\"keydown\",A=>I(A,C))},1e3),()=>{if(window.parent!=window.top){let C=x.current;C&&C.removeEventListener(\"keydown\",A=>I(A,C))}}),[n]);let M=vd(()=>{switch(s){case\"small\":default:return\"tw-max-w-lg\";case\"medium\":return\"tw-max-w-2xl\";case\"large\":return\"tw-max-w-4xl\"}},[s]),N=k3();return Dr(pe.Root,{open:n,onOpenChange:C=>{o&&o(C),C||(document.body.style.pointerEvents=\"auto\")},children:[t&&de(pe.Trigger,{asChild:!0,children:t}),Dr(pe.Portal,{container:p||(window.parent!=window.top?window.parent.parent.document.body:document.body),children:[!l&&de(pe.Overlay,{className:w(\"tw-fixed tw-inset-0 -tw-top-8 tw-z-[1000]\",\"tw-bg-black tw-bg-opacity-50\",\"data-[state=open]:tw-animate-overlayShow\")}),de(\"div\",{className:w(\"tw-fixed tw-top-0 tw-left-0 tw-w-full tw-h-full tw-z-[1000]\",\"tw-flex tw-flex-col tw-justify-between tw-items-center\",!l&&\"tw-p-4\",!l&&\"before:tw-block before:tw-content-[''] before:tw-w-full before:tw-max-h-[64px] md:before:tw-max-h-[128px] before:tw-h-full before:tw-min-h-[48px]\",!l&&\"after:tw-block after:tw-content-[''] after:tw-w-full after:tw-max-h-[64px] md:after:tw-max-h-[128px] after:tw-h-full after:tw-min-h-[48px]\"),children:de(pe.Content,{asChild:!0,onOpenAutoFocus:C=>{g&&g(C)},onCloseAutoFocus:C=>{b&&b(C)},onEscapeKeyDown:C=>{!S&&C.preventDefault(),f&&f(C)},onPointerDownOutside:C=>{!S&&C.preventDefault(),h&&h(C)},onInteractOutside:C=>{y&&y(C)},children:Dr(\"div\",{ref:x,\"aria-label\":e?void 0:m||void 0,\"aria-describedby\":void 0,\"aria-labelledby\":e?N:void 0,className:w(\"tw-flex tw-flex-col tw-overflow-hidden\",\"tw-bg-white tw-w-full\",l?\"tw-h-full\":\"tw-rounded-xl tw-shadow-lg tw-max-h-full\",!l&&M,\"focus:tw-outline-none\",\"data-[state=open]:tw-animate-overlayShow\",\"tw-pb-6\",a),children:[Dr(\"div\",{className:w(\"tw-flex tw-w-full tw-shrink-0 tw-grow-0 tw-items-start\",e&&\"tw-justify-between\",!e&&\"tw-justify-end\",\"tw-px-6 md:tw-px-8 tw-pt-6 tw-pb-4\"),children:[e&&de(pe.Title,{className:w(\"tw-flex tw-items-start tw-gap-2\",\"tw-m-0 tw-pr-2\",\"tw-text-md md:tw-text-lg tw-font-semibold tw-text-gray-90\"),children:e}),u&&de(pe.Close,{asChild:!0,children:de(\"button\",{type:\"button\",title:\"Close dialog\",className:w(\"tw-flex tw-justify-center tw-items-center tw-shrink-0\",\"-tw-mr-2 -tw-mt-2 tw-w-8 tw-h-8 tw-p-1 tw-text-gray-70\",\"tw-bg-transparent tw-border-0 tw-border-none tw-cursor-pointer\"),children:de(We,{className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block\"})})})]}),r]})})})]})]})};F();k();import{jsx as xd,jsxs as D3}from\"react/jsx-runtime\";var Kt=({className:e,label:t})=>D3(\"div\",{className:\"tw-flex tw-flex-col tw-items-center tw-justify-center tw-space-y-1\",children:[xd(br,{className:w(\"tw-animate-spin tw-text-2xl tw-text-primary-300\",e)}),t&&xd(\"span\",{className:\"tw-text-xs\",children:t})]});k();F();import{createContext as W3,useContext as Sd,forwardRef as _3,useId as K3,useMemo as Ao,Fragment as U3}from\"react\";import{jsx as Mt,jsxs as Vd}from\"react/jsx-runtime\";var zo=W3({}),Wr={},yd=[\"tw-flex tw-justify-center tw-items-center tw-box-border\",\"tw-not-italic tw-font-semibold tw-text-base tw-leading-5 hover:tw-outline-0 active:tw-outline-0 \",\"tw-duration-200\"],Rd=(e,t,r,n)=>{switch(e){default:case\"primary\":return w([t?\"tw-text-gray-50 hover:tw-text-gray-50\":[r?[\"tw-bg-primary-900 tw-text-secondary-100\"]:[\"tw-bg-primary-700 tw-text-secondary-100\",n?[\"tw-cursor-pointer\",\"hover:tw-bg-primary-900 hover:tw-text-secondary-100\",\"active:tw-bg-primary-900 active:tw-text-secondary-100\"]:\"tw-cursor-default\"]]]);case\"secondary\":return w([t?\"tw-text-gray-50 hover:tw-text-gray-50\":[r?[\"tw-bg-secondary-200 tw-text-primary-700\"]:[\"tw-bg-white tw-text-gray-80\",n?[\"tw-cursor-pointer\",\"hover:tw-bg-secondary-100 hover:tw-text-gray-80\",\"active:tw-bg-secondary-100 active:tw-text-gray-80\"]:\"tw-cursor-default\"]]])}},Pd=e=>{switch(e){default:case\"small\":return{button:\"tw-h-full tw-rounded-l-[17px] tw-pl-4 tw-pr-1.5\",trigger:\"tw-h-full tw-w-[34px] tw-rounded-r-[17px] tw-py-1.5\"};case\"medium\":return{button:\"tw-h-full tw-rounded-l-[22px] tw-pl-4 tw-pr-1.5\",trigger:\"tw-h-full tw-w-[44px] tw-rounded-r-[22px]\"};case\"large\":return{button:\"tw-h-full tw-rounded-l-[24px] tw-pl-5 tw-pr-2\",trigger:\"tw-h-full tw-w-[48px] tw-rounded-r-[24px]\"}}};Wr.Root=({id:e,children:t,label:r,disabled:n=!1,variant:o=\"primary\",size:a=\"medium\",className:l})=>{let s=K3(),p=Ao(()=>w(\"tw-flex tw-justify-center tw-items-end tw-box-border\",\"tw-relative tw-group\",o===\"primary\"&&[\"tw-border-0 tw-border-none\",n&&\"tw-bg-gray-20 hover:tw-bg-gray-20\"],o===\"secondary\"&&[\"tw-border tw-border-solid tw-border-gray-40\",n?\"tw-bg-gray-10 tw-border-gray-30 hover:tw-bg-gray-10 hover:tw-border-gray-30 active:tw-border-gray-30\":\"hover:tw-border-primary-900 active:tw-border-primary-900\"],a===\"small\"&&\"tw-h-[34px] tw-rounded-[17px]\",a===\"medium\"&&\"tw-h-[44px] tw-rounded-[22px]\",a===\"large\"&&\"tw-h-[48px] tw-rounded-[24px]\",n&&\"tw-cursor-not-allowed tw-select-none *:tw-pointer-events-none *:tw-select-none\",\"tw-duration-200\"),[a,o,n]);return Mt(zo.Provider,{value:{variant:o,size:a,label:r,disabled:n},children:Mt(\"div\",{id:e||s,role:\"group\",\"aria-label\":r,className:w(p,l),children:t})})};Wr.Content=({id:e,as:t=\"button\",children:r,label:n,className:o,onClick:a})=>{let l=Sd(zo),{variant:s,size:p,disabled:u,label:m}=l,g=Ao(()=>w(yd,Rd(s,u,!1,a!==void 0),Pd(p).button,\"tw-border-r-0\"),[p,s,u,a]);return Vd(\"div\",{id:e,role:t===\"button\"?\"button\":void 0,tabIndex:t===\"button\"?0:void 0,\"aria-label\":t===\"button\"&&n||void 0,\"aria-description\":t===\"button\"&&m||void 0,\"aria-disabled\":u,className:w(g,o),onClick:()=>!u&&a&&a(),children:[n&&Mt(\"div\",{className:\"tw-select-none tw-whitespace-nowrap\",children:n}),r]})};Wr.Trigger=_3((p,s)=>{var u=p,{id:e,label:t,children:r,className:n,onClick:o,isOpen:a}=u,l=d(u,[\"id\",\"label\",\"children\",\"className\",\"onClick\",\"isOpen\"]);let m=Sd(zo),{variant:g,size:b,disabled:f,label:h}=m,y=Ao(()=>w(yd,Rd(g,f,a,!0),Pd(b).trigger,\"tw-border-l-0 tw-visible tw-select-none\"),[b,g,f,a]);return Vd(U3,{children:[Mt(\"div\",c(i({id:e,role:\"button\",\"aria-label\":t||void 0,\"aria-description\":h||void 0,\"aria-disabled\":f,tabIndex:0,className:w(y,n),\"aria-haspopup\":\"menu\",\"aria-expanded\":a,onClick:o},l),{children:r||Mt(He,{className:w(\"tw-w-6 tw-h-6 -tw-ml-1 tw-mt-0.5\",a&&\"tw-rotate-180 tw-mt-0\")})})),Mt(\"div\",i(i({ref:s,className:w(\"tw-flex tw-justify-end tw-items-center\",\"tw-absolute tw-right-0 tw-top-0\",\"tw-w-full tw-h-full\",\"tw-pointer-events-none\")},l.onPointerDown&&{onPointerDown:l.onPointerDown}),l.onKeyDown&&{onKeyDown:l.onKeyDown}))]})});k();import{forwardRef as $3,useId as q3}from\"react\";import{jsx as Z3}from\"react/jsx-runtime\";var Cd=$3((p,s)=>{var u=p,{size:e=\"small\",label:t,icon:r,className:n,id:o,onClick:a}=u,l=d(u,[\"size\",\"label\",\"icon\",\"className\",\"id\",\"onClick\"]);let m=q3();return Z3(bt,i({as:\"div\",ref:s,variant:\"tertiary\",icon:r,size:e,label:t,className:w(\"data-[state=open]:tw-bg-secondary-200\",n),id:o||m,onClick:a},l))});Cd.displayName=\"MenuButton\";k();import{forwardRef as X3,createElement as Y3,useId as J3}from\"react\";import{Fragment as Id,jsx as Q3,jsxs as j3}from\"react/jsx-runtime\";var Gd=X3((S,y)=>{var x=S,{as:e=\"div\",children:t,icon:r,title:n,size:o=\"medium\",isActive:a,ariaRole:l=\"button\",type:s=\"button\",onClick:p,isRounded:u=!1,href:m,id:g,className:b,target:f}=x,h=d(x,[\"as\",\"children\",\"icon\",\"title\",\"size\",\"isActive\",\"ariaRole\",\"type\",\"onClick\",\"isRounded\",\"href\",\"id\",\"className\",\"target\"]);let I=J3();return Y3(m?\"a\":e,i({id:g||I,role:l||\"button\",\"aria-label\":n||void 0,\"aria-current\":a?\"page\":void 0,tabIndex:0,className:w(\"tw-flex tw-items-center tw-justify-center\",o===\"small\"&&\"tw-h-[34px] tw-w-[34px] [&_>svg]:tw-h-5 [&_>svg]:tw-w-5\",o===\"medium\"&&\"tw-h-[40px] tw-w-[40px] [&_>svg]:tw-h-6 [&_>svg]:tw-w-6\",o===\"large\"&&\"tw-h-[52px] tw-w-[52px] [&_>svg]:tw-h-6 [&_>svg]:tw-w-6\",\"[&_>svg]:tw-fill-current\",u&&\"tw-rounded-full\",a?[\"tw-text-secondary-200 tw-bg-primary-900\",\"focus:tw-text-secondary-200 focus:tw-bg-primary-900\"]:[\"tw-text-gray-60 tw-bg-transparent\",\"hover:tw-text-primary-700 hover:tw-bg-secondary-200\",\"active:tw-text-primary-700 active:tw-bg-secondary-200\",\"focus:tw-text-gray-60 focus:tw-bg-transparent\"],\"tw-cursor-pointer tw-select-none tw-duration-200\",e===\"a\"&&m&&\"after:tw-hidden after:tw-content-none\",b),ref:y,href:e===\"a\"&&m?String(m):void 0,target:e===\"a\"&&f?f:void 0,type:m?void 0:e===\"button\"?s:void 0,onClick:p},h),j3(Id,{children:[r||Q3(Id,{}),t]}))});Gd.displayName=\"NavigationButton\";k();import{useMemo as eh}from\"react\";import{jsx as rh}from\"react/jsx-runtime\";var th=e=>{switch(e){case\"primary\":return\"tw-bg-primary-700 tw-text-secondary-200\";case\"secondary\":return\"tw-bg-secondary-200 tw-text-primary-700\";case\"success\":return\"tw-text-success-900 tw-bg-success-400\";case\"warning\":return\"tw-text-warning-900 tw-bg-warning-300\";case\"important\":return\"tw-text-important-900 tw-bg-important-300\";default:return\"tw-bg-gray-10 tw-text-gray-70\"}},UM=a=>{var l=a,{children:e,className:t,color:r,variant:n=\"default\"}=l,o=d(l,[\"children\",\"className\",\"color\",\"variant\"]);let s=eh(()=>w(\"tw-inline-flex tw-items-center tw-justify-center\",\"tw-text-sm tw-font-semibold\",\"tw-px-1.5\",\"tw-rounded-sm tw-min-w-[1.25rem] tw-h-5\",th(n),t),[n,t]);return rh(\"div\",c(i({className:s},o),{children:e}))};Vr();k();import{createElement as lh,memo as Td,useEffect as ih,useRef as Nd,useState as sh}from\"react\";import{useMemo as Ed,useRef as Oo,useState as Md,useEffect as oh}from\"react\";var Ut=({multiple:e=!0,allowedTypes:t,maxFileSize:r=1e6,onChangeCallback:n})=>{let[o,a]=Md([]),[l,s]=Md(!1),p=Ed(()=>{let V=document.createElement(\"input\");return V.setAttribute(\"type\",\"file\"),e&&V.setAttribute(\"multiple\",\"true\"),t&&V.setAttribute(\"accept\",t.join(\",\")),V},[]),u=Oo(p),m=u.current,g=Oo(null),b=()=>{m.click()},f=(V,G)=>{let E=1,R=V,B=V.name.split(\".\"),Z=B.slice(0,-1).join(\".\"),U=B.slice(-1);for(;G.some(P=>P.file.name===`${Z}(${E}).${U}`);)E++;if(E>0){let P=`${Z}(${E}).${U}`;R=new File([V],P,{type:V.type})}return R},h=(V,G)=>{let E=Object.create({}),R=G&&G.filter(Z=>Z.file.name===V.name&&Z.file.size===V.size);R&&R.length>0?E.file=f(V,G):E.file=V;let B=V.name;switch(!0){case(t&&!t.includes(V.type)):E.isValid=!1,E.errorMessages=`File type not allowed (\"${B}\")`;break;case V.size>r:E.isValid=!1,E.errorMessages=`File size too big (\"${B}\")`;break;default:E.isValid=!0,E.errorMessages=null;break}return E},y=()=>{m&&(m.value=\"\")},S=V=>{a(G=>G&&G.length>0?G.filter((E,R)=>R!==V):[])},x=V=>{a(e?G=>[...G,h(V,G)]:[h(V)])},I=V=>{if(V.target){let G=V.target.files;G&&(Array.from(G).forEach(R=>{x(R)}),y(),n&&n())}},M=(V,G)=>{V.preventDefault(),V.stopPropagation(),s(G)},N=V=>{M(V,!0)},C=V=>{M(V,!1)},A=V=>{var G,E;if(M(V,!1),(G=V.dataTransfer)!=null&&G.items){let R=V.dataTransfer.items;R&&Array.from(R).forEach((B,Z)=>{if(B.kind===\"file\"&&B.type!==\"\"){let U=(e||Z===0)&&B.getAsFile();U&&x(U)}})}else{let R=(E=V.dataTransfer)==null?void 0:E.files;R&&Array.from(R).forEach((B,Z)=>{x(B)})}},T=Ed(()=>{let V=[],G=o.filter(E=>E.isValid);return G.length>0&&G.forEach(E=>{V.push(E.file)}),V.length>0?V:null},[o]),z=Oo(!1);return oh(()=>{var V,G,E;if(!z.current)return z.current=!0,u.current.addEventListener(\"change\",R=>{I(R)}),(V=g.current)==null||V.addEventListener(\"dragover\",R=>{N(R)}),(G=g.current)==null||G.addEventListener(\"dragleave\",R=>{C(R)}),(E=g.current)==null||E.addEventListener(\"drop\",R=>{A(R)}),()=>{var R,B,Z;u.current.removeEventListener(\"change\",U=>{I(U)}),(R=g.current)==null||R.removeEventListener(\"dragover\",U=>{N(U)}),(B=g.current)==null||B.removeEventListener(\"dragleave\",U=>{C(U)}),(Z=g.current)==null||Z.removeEventListener(\"drop\",U=>{A(U)})}},[]),{uploadFiles:b,uploadedFiles:o,validFiles:T,deleteFile:S,onChangeCallback:n,refDropArea:g,dropAreaIsActive:l}};import{useState as nh}from\"react\";var ah=e=>{let[t,r]=nh(\"\");if(e){let n=new FileReader;return n.readAsDataURL(e),n.onload=()=>{r(n.result)},t}else return null};import{jsx as Ze,jsxs as Bo}from\"react/jsx-runtime\";var kd=Td(({image:e,title:t,className:r})=>{let[n,o]=sh(\"\"),a=new FileReader;a.readAsDataURL(e),a.onload=()=>{o(a.result)};let l=lh(\"img\",{role:\"img\",\"aria-label\":t,alt:t,src:n,className:\"tw-inline-block tw-w-auto tw-h-full tw-object-contain\"},null);return Ze(\"div\",{className:w(\"tw-flex tw-flex-col tw-items-start\",r),children:Ze(\"div\",{role:\"figure\",\"aria-label\":t,\"aria-live\":\"assertive\",className:\"tw-h-[120px] tw-border tw-border-gray-20 tw-border-solid tw-p-4\",children:l})})}),Ld=Td(({allowedTypes:e=[\"image/jpeg\",\"image/png\"],maxFileSize:t=1e6,onUpload:r,label:n=\"Choose image\"})=>{let o=()=>{setTimeout(()=>{u.current?u.current.focus():m.current&&m.current.focus()},1e3)},{uploadFiles:a,uploadedFiles:l,validFiles:s,deleteFile:p}=Ut({onChangeCallback:()=>o(),multiple:!1,allowedTypes:e,maxFileSize:t}),u=Nd(null),m=Nd(null),g=h=>{h.preventDefault(),a()},b=(h,y)=>{h.preventDefault(),p(y)};ih(()=>{s&&s.length>0?r(s):r(null)},[s]);let f=l&&l.length>0;return Bo(\"div\",{children:[s&&s.length>0?l.map((h,y)=>Bo(\"div\",{role:\"group\",\"aria-label\":h.file.name,children:[Ze(kd,{image:h.file,title:h.file.name}),Bo(\"div\",{className:\"tw-flex tw-space-x-5 tw-py-5\",children:[Ze(\"div\",{role:\"button\",tabIndex:0,onClick:S=>g(S),ref:m,children:\"Change File\"}),Ze(\"div\",{role:\"button\",tabIndex:0,onClick:S=>b(S,y),children:\"Delete File\"})]})]},y)):Ze(\"button\",{ref:u,role:\"button\",\"aria-label\":\"Choose image\",tabIndex:0,onClick:h=>{g(h)},className:w(\"tw-flex tw-w-full tw-justify-center tw-items-center\",\"tw-font-semibold tw-text-md\",\"tw-p-6\",\"tw-border tw-border-solid tw-rounded\",\"tw-border-gray-30 tw-bg-gray-10 tw-text-gray-50\"),children:n}),f&&Ze(\"div\",{className:\"tw-mt-2.5 tw-mb-4 tw-text-red-50 tw-text-sm\",\"aria-live\":\"assertive\",children:l.map((h,y)=>Ze(\"div\",{children:h.errorMessages},y))})]})});kd.displayName=\"ImagePreview\";Ld.displayName=\"ImageUploader\";k();import{useEffect as ch,useRef as dh}from\"react\";k();import{jsx as Nt,jsxs as Ho}from\"react/jsx-runtime\";var ph=({allowedTypes:e,maxFileSize:t,multiple:r,onUpload:n})=>{let{uploadFiles:o,uploadedFiles:a,validFiles:l,deleteFile:s,refDropArea:p,dropAreaIsActive:u}=Ut({onChangeCallback:()=>{var b;return(b=m.current)==null?void 0:b.focus()},multiple:r,allowedTypes:e,maxFileSize:t}),m=dh(null),g=(b,f)=>{b.preventDefault(),s(f)};return ch(()=>{l&&l.length>0?n(l):n(null)},[l]),Ho(\"div\",{children:[Nt(\"div\",{ref:p,className:w(\"tw-outline-dashed tw-outline-offset-4 tw-outline-2 tw-duration-300\",u?\"tw-outline-blue-50 tw-bg-gray-10\":\"tw-outline-transparent\"),children:Nt(\"button\",{ref:m,onClick:b=>{b.preventDefault(),o()},className:\"tw-border tw-border-solid tw-border-gray-30 tw-rounded tw-p-4 tw-text-gray-50 tw-bg-transparent\",children:\"Upload file\"})}),Nt(\"ul\",{role:\"list\",\"aria-live\":\"assertive\",className:\"tw-flex tw-flex-col tw-space-y-2 tw-mt-4\",children:a&&a.length>0&&a.map((b,f)=>Ho(\"li\",{role:\"listitem\",\"aria-label\":b.file.name,className:\"tw-flex tw-flex-col tw-space-y-1.5\",children:[Ho(\"div\",{className:\"tw-flex tw-justify-between tw-space-x-3 tw-w-full tw-rounded tw-bg-gray-20 tw-p-4\",children:[Nt(\"div\",{children:`${b.file.name} (${jr(b.file.size)})`}),Nt(\"button\",{onClick:h=>g(h,f),children:\"Delete\"})]}),!b.isValid&&Nt(\"div\",{className:\"tw-text-sm tw-text-red-50 tw-w-full\",children:b.errorMessages})]},f))})]})};k();import*as ue from\"@radix-ui/react-toast\";import{jsx as Xe,jsxs as _r}from\"react/jsx-runtime\";var uh=({swipeDirection:e=\"right\",open:t,onOpenChange:r,title:n,description:o,buttonText:a,duration:l=8e3,closeButtonText:s,className:p,viewPortClassName:u,onAction:m})=>{let g=f=>{switch(f){case\"left\":return\"tw-justify-start\";case\"up\":return\"tw-items-center\";case\"down\":return\"tw-items-center\";default:return\"tw-items-end\"}},b=w(\"tw-flex tw-items-center\",\"tw-h-[32px] tw-px-3\",\"tw-font-semibold tw-text-base\",\"hover:tw-bg-gray-80 active:tw-bg-gray-100 tw-rounded-md tw-shrink-0 tw-duration-200\");return _r(ue.Provider,{swipeDirection:e,children:[_r(ue.Root,{forceMount:!0,open:t,onOpenChange:f=>{r&&r(f),f||(document.body.style.pointerEvents=\"auto\")},className:w(\"tw-flex tw-items-center tw-gap-x-6\",\"tw-bg-gray-90 tw-text-white tw-rounded\",\"tw-basis-12 tw-w-full md:tw-max-w-[348px]\",\"tw-shadow-[0_0_6px_0_rgba(0,0,0,0.24)]\",\"tw-px-4 tw-py-2.5\",t&&\"tw-pointer-events-auto\",\"tw-opacity-0\",\"tw-transition-[opacity] tw-duration-300 tw-ease-out\",\"data-[state=open]:tw-opacity-100\",\"data-[state=closed]:tw-opacity-0\",\"data-[swipe=move]:tw-translate-x-[var(--radix-toast-swipe-move-x)]\",\"data-[swipe=cancel]:tw-translate-x-0 data-[swipe=cancel]:tw-transition-[transform_200ms_ease-out]\",\"data-[swipe=end]:tw-animate-swipeOut\",p),duration:l,children:[_r(\"div\",{className:w(\"tw-flex tw-flex-col tw-justify-center tw-space-y-[1px] tw-min-h-[32px] tw-grow\"),children:[n&&Xe(ue.Title,{className:\"tw-w-full tw-font-semibold tw-text-base\",children:n}),o&&Xe(ue.Description,{asChild:!0,className:\"tw-text-sm tw-w-full\",children:Xe(\"div\",{children:o})})]}),(a||s)&&_r(\"div\",{className:\"tw-flex tw-items-center tw-gap-x-1 tw-shrink-0 -tw-mr-2\",children:[a&&a.length&&Xe(ue.Action,{className:b,asChild:!0,altText:a||\"\",children:Xe(\"div\",{role:\"button\",tabIndex:0,onClick:()=>m&&m(),children:a})}),s&&Xe(ue.Close,{asChild:!0,className:b,children:Xe(\"div\",{role:\"button\",tabIndex:0,children:s})})]})]}),Xe(ue.Viewport,{className:w(\"[--viewport-padding:_24px]\",\"tw-fixed tw-top-0 tw-left-0 tw-bottom-0 tw-right-0\",\"tw-m-0 tw-p-[--viewport-padding] tw-px-4 md:tw-px-[--viewport-padding] md:tw-pt-[80px]\",\"tw-flex tw-flex-col tw-justify-start\",\"tw-outline-none\",\"tw-pointer-events-none\",\"tw-z-[1001]\",g(e),u)})]})};k();import{useEffect as mh,useState as fh}from\"react\";import{format as wh,formatDistanceToNow as gh,isToday as hh,isThisYear as vh}from\"date-fns\";import{da as bh,de as xh,enGB as Sh,es as yh,fi as Rh,nb as Ph,nl as Vh,pl as Ch,sv as Ih}from\"date-fns/locale\";import{jsx as Mh}from\"react/jsx-runtime\";var Gh=e=>{switch(e){case\"sv-SE\":return Ih;case\"da-DK\":return bh;case\"fi-FI\":return Rh;case\"es-ES\":return yh;case\"de-DE\":return xh;case\"nb-NO\":return Ph;case\"nl-NL\":return Vh;case\"pl-PL\":return Ch;default:case\"en-UK\":return Sh}},Eh=({timestamp:e,locale:t=\"en-UK\",className:r})=>{let[n,o]=fh(\"\"),a=(l,s)=>{let p=new Date(l),u=Gh(s),m=vh(p)?\"d MMM\":\"d MMM yyyy\";o(hh(p)?gh(p,{locale:u,addSuffix:!0,includeSeconds:!1}):wh(p,m,{locale:u}))};return mh(()=>{a(e,t);let l=setInterval(()=>{a(e,t)},6e4);return()=>{clearInterval(l)}},[e,t]),Mh(\"time\",{dateTime:e,className:w(\"tw-text-gray-60 tw-text-base\",r),title:e,children:n})};k();F();import{useRef as Nh,useEffect as Kr,createContext as Th,useState as kh,useContext as Lh,useId as Ad}from\"react\";import{jsx as Ye,jsxs as Fo}from\"react/jsx-runtime\";var Do=Th({type:\"single\",expanded:[],setExpanded:()=>{}}),Ah=({index:e,title:t,children:r,action:n,className:o,onExpanded:a})=>{let l=Nh(null),{type:s,expanded:p,setExpanded:u}=Lh(Do),m=p.includes(e),g=Ad(),b=Ad();Kr(()=>{m&&l.current&&l.current.focus()},[m]),Kr(()=>{a&&m&&l.current&&a(l.current)},[p,m]);let f=()=>{s===\"single\"?u(h=>h.includes(e)?[]:[e]):s===\"multiple\"&&u(h=>h.includes(e)?h.filter(y=>y!==e):[...h,e])};return Fo(\"div\",{className:w(\"tw-border-0 tw-border-y tw-border-solid tw-border-y-gray-30 tw-p-0\",\"tw-m-0 -tw-mt-[1px]\"),children:[Fo(\"div\",{className:w(\"tw-flex tw-justify-between tw-items-stretch tw-min-h-12 tw-p-0 tw-m-0\"),children:[Fo(\"div\",{role:\"button\",tabIndex:0,\"aria-expanded\":m?\"true\":\"false\",\"aria-controls\":b,className:w(\"tw-flex tw-items-center tw-grow tw-gap-x-1.5 tw-group\",\"tw-text-0 tw-text-left tw-text-gray-100\",\"tw-p-0 tw-py-2\",\"tw-cursor-pointer\",o),\"data-state\":m?\"open\":\"closed\",onClick:f,children:[Ye(\"div\",{className:\"tw-shrink-0 group-data-[state=open]:tw-rotate-90 tw-duration-200 -tw-ml-1.5\",children:Ye(Fe,{className:\"tw-text-xl\"})}),Ye(\"h3\",{id:g,className:\"tw-text-base tw-font-semibold tw-m-0 tw-p-0\",children:t})]}),n&&Ye(\"div\",{className:\"tw-flex tw-justify-between tw-items-center tw-shrink-0\",children:n})]}),Ye(\"div\",{ref:l,className:\"tw-pb-5 tw-pt-1.5 tw-group\",\"data-state\":m?\"open\":\"closed\",id:b,role:\"region\",\"aria-labelledby\":g,hidden:!m,tabIndex:m?0:-1,children:Ye(\"div\",{className:\"group-data-[state=closed]:tw-animate-hide group-data-[state=open]:tw-animate-open\",children:r})})]})},zh=({defaultIndex:e=void 0,children:t,className:r,type:n=\"single\",onIndexChange:o})=>{let[a,l]=kh([]);return Kr(()=>{l(e!==void 0?[e]:[])},[e]),Kr(()=>{o&&o(a)},[a]),Ye(\"div\",{className:w(r),children:Ye(Do.Provider,{value:{type:n,expanded:a,setExpanded:l},children:t})})};k();import{jsx as Bh}from\"react/jsx-runtime\";var Oh=({timestamp:e,locale:t,className:r,isNumeric:n=!0,format:o=\"date\"})=>{let a={},l=n?\"2-digit\":\"long\",s=n?\"2-digit\":\"numeric\";switch(o){case\"date\":default:a={year:\"numeric\",month:l,day:s};break;case\"time\":a={hour:\"numeric\",minute:\"numeric\"};break;case\"datetime\":a={year:\"numeric\",month:l,day:s,hour:\"numeric\",minute:\"numeric\"};break}return Bh(\"time\",{dateTime:e,className:w(\"tw-text-base\",r),children:new Intl.DateTimeFormat(t,a).format(new Date(e))})};k();F();import{createElement as Hh}from\"react\";import{Fragment as Dh,jsx as Wo,jsxs as Wh}from\"react/jsx-runtime\";var Fh=({as:e=\"a\",title:t,url:r,className:n,target:o=\"_blank\",onClick:a,ariaLabel:l})=>Hh(e,{href:e===\"a\"?r:void 0,tabIndex:e===\"div\"?0:void 0,\"aria-label\":l||(e===\"div\"?t:void 0),role:e===\"div\"?\"link\":void 0,target:e===\"a\"?o:void 0,className:w(\"tw-inline tw-group\",\"tw-text-gray-80 hover:tw-text-gray-80 active:tw-text-gray-80 visited:tw-text-gray-80 tw-cursor-pointer\",\"tw-no-underline hover:tw-no-underline active:tw-no-underline visited:tw-no-underline\",\"tw-border-none\",'after:tw-hidden after:tw-content-[\"\"]',\"*:tw-align-middle\",n),onClick:s=>{e===\"a\"&&s.stopPropagation(),window.open(r,o),a&&a(s)}},Wh(Dh,{children:[Wo(\"span\",{className:\"tw-border-b-2 tw-border-gray-40 tw-pb-[2px] group-hover:tw-border-primary-300 group-active:tw-border-primary-500\",children:t}),o===\"_blank\"&&Wo(\"span\",{className:\"tw-ml-0\",children:Wo(Qt,{className:\"tw-inline-block tw-shrink-0 tw-mb-0\"})})]}));k();F();import{useMemo as zd}from\"react\";import{Fragment as Kh,jsx as Tt,jsxs as Uh}from\"react/jsx-runtime\";var _h=({variant:e=\"info\",message:t,className:r})=>{let n=zd(()=>w(\"tw-shrink-0 tw-text-md tw-mt-0.5\",e===\"info\"&&\"tw-text-gray-80 tw-fill-gray-80\",e===\"warning\"&&\"tw-text-orange-80 tw-fill-orange-80\",e===\"error\"&&\"tw-text-red-80 tw-fill-red-80\"),[e]),o=zd(()=>{let a=w(\"tw-shrink-0 tw-text-md tw-mt-0.5\",e===\"info\"&&\"tw-text-gray-80 tw-fill-gray-80\",e===\"warning\"&&\"tw-text-orange-80 tw-fill-orange-80\",e===\"error\"&&\"tw-text-red-80 tw-fill-red-80\");switch(e){case\"info\":default:return Tt(lr,{className:a});case\"warning\":return Tt(De,{className:a});case\"error\":return Tt(ar,{className:a})}},[e]);return Tt(\"div\",{role:\"alert\",className:w(\"tw-flex tw-items-start tw-gap-x-2\",\"tw-text-gray-100 tw-text-base tw-font-normal\",e===\"info\"&&\"tw-bg-gray-10\",e===\"warning\"&&\"tw-bg-orange-10\",e===\"error\"&&\"tw-bg-red-10\",t?\"tw-p-4 tw-rounded-md\":\"tw-hidden\",r),children:t&&Uh(Kh,{children:[Tt(\"div\",{className:\"tw-shrink-0\",\"aria-hidden\":\"true\",children:o}),Tt(\"div\",{className:\"tw-grow\",children:t})]})})};k();import $h,{useMemo as Ko,lazy as ge,Suspense as qh}from\"react\";var _o=[[\"tw-bg-blue-60\",\"tw-fill-blue-60\"],[\"tw-bg-orange-50\",\"tw-fill-orange-50\"],[\"tw-bg-pink-50\",\"tw-fill-pink-50\"],[\"tw-bg-emerald-50\",\"tw-fill-emerald-50\"],[\"tw-bg-gray-50\",\"tw-fill-gray-50\"],[\"tw-bg-green-80\",\"tw-fill-green-80\"],[\"tw-bg-purple-40\",\"tw-fill-purple-40\"],[\"tw-bg-blue-70\",\"tw-fill-blue-70\"],[\"tw-bg-yellow-60\",\"tw-fill-yellow-60\"],[\"tw-bg-gray-60\",\"tw-fill-gray-60\"],[\"tw-bg-blue-80\",\"tw-fill-blue-80\"],[\"tw-bg-green-50\",\"tw-fill-green-50\"],[\"tw-bg-orange-60\",\"tw-fill-orange-60\"],[\"tw-bg-emerald-80\",\"tw-fill-emerald-80\"],[\"tw-bg-yellow-90\",\"tw-fill-yellow-90\"],[\"tw-bg-red-60\",\"tw-fill-red-60\"],[\"tw-bg-pink-40\",\"tw-fill-pink-40\"],[\"tw-bg-purple-60\",\"tw-fill-purple-60\"],[\"tw-bg-yellow-100\",\"tw-fill-yellow-100\"],[\"tw-bg-emerald-60\",\"tw-fill-emerald-60\"],[\"tw-bg-yellow-80\",\"tw-fill-yellow-80\"],[\"tw-bg-green-60\",\"tw-fill-green-60\"],[\"tw-bg-pink-80\",\"tw-fill-pink-80\"],[\"tw-bg-purple-80\",\"tw-fill-purple-80\"],[\"tw-bg-yellow-70\",\"tw-fill-yellow-70\"],[\"tw-bg-blue-60\",\"tw-fill-blue-60\"],[\"tw-bg-orange-50\",\"tw-fill-orange-50\"],[\"tw-bg-pink-50\",\"tw-fill-pink-50\"],[\"tw-bg-emerald-50\",\"tw-fill-emerald-50\"],[\"tw-bg-gray-50\",\"tw-fill-gray-50\"],[\"tw-bg-purple-40\",\"tw-fill-purple-40\"],[\"tw-bg-yellow-60\",\"tw-fill-yellow-60\"],[\"tw-bg-gray-60\",\"tw-fill-gray-60\"],[\"tw-bg-blue-80\",\"tw-fill-blue-80\"],[\"tw-bg-green-50\",\"tw-fill-green-50\"],[\"tw-bg-orange-60\",\"tw-fill-orange-60\"],[\"tw-bg-red-60\",\"tw-fill-red-60\"],[\"tw-bg-pink-40\",\"tw-fill-pink-40\"],[\"tw-bg-purple-60\",\"tw-fill-purple-60\"],[\"tw-bg-emerald-60\",\"tw-fill-emerald-60\"],[\"tw-bg-green-60\",\"tw-fill-green-60\"],[\"tw-bg-blue-60\",\"tw-fill-blue-60\"],[\"tw-bg-orange-50\",\"tw-fill-orange-50\"],[\"tw-bg-pink-50\",\"tw-fill-pink-50\"],[\"tw-bg-emerald-50\",\"tw-fill-emerald-50\"],[\"tw-bg-gray-40\",\"tw-fill-gray-40\"],[\"tw-bg-green-40\",\"tw-fill-green-40\"],[\"tw-bg-orange-100\",\"tw-fill-orange-100\"],[\"tw-bg-red-30\",\"tw-fill-red-30\"],[\"tw-bg-orange-70\",\"tw-fill-orange-70\"],[\"tw-bg-green-70\",\"tw-fill-green-70\"],[\"tw-bg-red-40\",\"tw-fill-red-40\"],[\"tw-bg-yellow-50\",\"tw-fill-yellow-50\"],[\"tw-bg-blue-40\",\"tw-fill-blue-40\"],[\"tw-bg-emerald-70\",\"tw-fill-emerald-70\"],[\"tw-bg-purple-50\",\"tw-fill-purple-50\"],[\"tw-bg-gray-30\",\"tw-fill-gray-30\"],[\"tw-bg-green-90\",\"tw-fill-green-90\"],[\"tw-bg-red-50\",\"tw-fill-red-50\"],[\"tw-bg-orange-40\",\"tw-fill-orange-40\"],[\"tw-bg-orange-80\",\"tw-fill-orange-80\"],[\"tw-bg-pink-30\",\"tw-fill-pink-30\"],[\"tw-bg-gray-80\",\"tw-fill-gray-80\"],[\"tw-bg-blue-30\",\"tw-fill-blue-30\"],[\"tw-bg-purple-30\",\"tw-fill-purple-30\"],[\"tw-bg-red-80\",\"tw-fill-red-80\"],[\"tw-bg-yellow-40\",\"tw-fill-yellow-40\"],[\"tw-bg-yellow-100\",\"tw-fill-yellow-100\"],[\"tw-bg-emerald-40\",\"tw-fill-emerald-40\"],[\"tw-bg-pink-60\",\"tw-fill-pink-60\"]];import{Fragment as sv,jsx as ae}from\"react/jsx-runtime\";var Zh=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoCallsIcon}))),Xh=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.WinkleIcon}))),Yh=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoSocialMessengerIcon}))),Jh=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoSocialWhatsappIcon}))),Qh=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoChatIcon}))),jh=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoSocialFacebookIcon}))),ev=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoForumIcon}))),tv=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoSocialInstagramDmIcon}))),rv=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoSocialInstagramIcon}))),ov=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoKnowledgeIcon}))),nv=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoMailIcon}))),av=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoAiKnowledgeIcon}))),lv=ge(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.KundoExternalSourceIcon}))),iv=e=>{switch(e){case\"activity\":case\"calls\":return ae(Zh,{});case\"ai_assistant\":return ae(Xh,{});case\"facebook_messenger\":return ae(Yh,{});case\"whatsapp\":return ae(Jh,{});case\"chatflow\":case\"chat\":return ae(Qh,{});case\"facebook_page\":return ae(jh,{});case\"forum\":return ae(ev,{});case\"instagram_comments\":return ae(rv,{});case\"instagram_messenger\":return ae(tv,{});case\"knowledgebase\":return ae(ov,{});case\"ai_knowledge\":return ae(av,{});case\"external_source\":case\"web_source\":return ae(lv,{});case\"inbox\":case\"email\":default:return ae(nv,{})}},Ur=({channelType:e=\"chat\",channelColor:t,className:r,size:n=\"small\",disabled:o=!1,isWrapped:a=!0})=>{let l=/\\d+$/,s=t==null?void 0:t.match(l),p=_o[Number(s)-1],u=p?p[0]:\"tw-bg-gray-50\",m=p?p[1]:\"tw-fill-gray-50\",g=y=>{switch(y){case\"small\":default:return\"tw-w-[18px] tw-h-[18px]\";case\"medium\":return\"tw-w-6 tw-h-6\";case\"large\":return\"tw-w-7 tw-h-7\"}},b=Ko(()=>{switch(n){case\"small\":default:return\"tw-text-xs\";case\"medium\":return\"tw-text-base\";case\"large\":return\"tw-text-[18px]\"}},[n]),f=Ko(()=>w(\"tw-flex tw-items-center tw-justify-center tw-rounded-full tw-shrink-0\",g(n),a&&u,o&&\"tw-opacity-30 tw-grayscale\",r),[n,u,r,a,o]),h=Ko(()=>iv(e),[e]);return ae(\"div\",{className:f,children:ae(qh,{fallback:ae(sv,{}),children:$h.cloneElement(h,{className:w(a?\"tw-fill-white\":m,b)})})})};k();import{useId as cv,forwardRef as dv}from\"react\";import{jsx as Od}from\"react/jsx-runtime\";var pv=({className:e})=>Od(\"div\",{className:w(e)}),uv=dv(({className:e,id:t,children:r},n)=>{let o=t||cv();return Od(\"div\",{id:o,ref:n,className:w(\"tw-flex tw-flex-col tw-gap-y-2 tw-w-full\",\"tw-animate-pulse\",\"tw-py-1 *:tw-h-3 *:tw-bg-gray-30 *:tw-rounded-[4px]\",e),children:r})});k();import{lazy as mv,useState as fv,useEffect as wv}from\"react\";import{jsx as $r,jsxs as Bd}from\"react/jsx-runtime\";var gv=mv(()=>Promise.resolve().then(()=>(F(),ee)).then(e=>({default:e.XIcon}))),hv=({label:e,value:t,className:r,isToggle:n=!1,onClick:o,onDelete:a,isSelected:l=!1,size:s=\"large\",describedBy:p,disabled:u=!1})=>{let[m,g]=fv(l);return wv(()=>{g(l)},[l]),Bd(\"div\",{role:n||!a?\"button\":\"group\",\"aria-label\":e,\"aria-describedby\":p||void 0,\"data-value\":t,\"aria-pressed\":n?m:void 0,tabIndex:0,className:w(\"tw-inline-flex tw-items-center tw-justify-center\",\"tw-rounded-full tw-box-border\",\"tw-font-semibold\",\"tw-duration-200\",s===\"xsmall\"&&\"tw-h-7 tw-px-3 tw-gap-x-1 tw-text-sm\",s===\"small\"&&\"tw-h-8 tw-px-3 tw-gap-x-1 tw-text-base\",s===\"medium\"&&\"tw-h-[44px] tw-px-3.5 tw-gap-x-1.5 tw-text-base\",s===\"large\"&&\"tw-h-[52px] tw-px-4 tw-gap-x-2 tw-text-base\",n||o?\"tw-cursor-pointer\":\"tw-cursor-default\",n?[\"tw-border tw-border-solid tw-border-primary-500\",m?\"tw-bg-primary-500 tw-text-white\":\"tw-bg-white tw-text-gray-80-500 hover:tw-bg-secondary-100\"]:[\"tw-bg-primary-500 tw-text-white\",o&&\"hover:tw-bg-primary-700\"],r),onClick:()=>{n&&!u&&g(!m),o&&o(t)},children:[$r(\"div\",{className:\"tw-select-none\",children:e}),!n&&a&&$r(\"div\",{role:\"button\",\"aria-label\":\"\",onClick:b=>{b.stopPropagation(),a()},className:w(\"tw-flex tw-items-center tw-justify-center tw-shrink-0\",\"tw-cursor-pointer\",\"tw-rounded-full tw-box-border\",\"tw-duration-200\",\"tw-bg-primary-500 hover:tw-bg-primary-300 tw-text-white\",s===\"xsmall\"&&\"tw-w-6 tw-h-6 -tw-mr-[10px]\",s===\"small\"&&\"tw-w-[28px] tw-h-[28px] -tw-mr-[12px]\",s===\"medium\"&&\"tw-w-9 tw-h-9 -tw-mr-[10px]\",s===\"large\"&&\"tw-w-9 tw-h-9 -tw-mr-[10px]\"),children:$r(gv,{className:w(\"tw-w-4\",s===\"xsmall\"&&\"tw-w-3\",s===\"small\"&&\"tw-w-[14px]\",\"tw-h-auto\")})})]})},vv=({label:e,className:t,children:r,id:n,errorText:o,hasError:a=!1})=>Bd(\"div\",{id:n,role:\"group\",\"aria-label\":e||void 0,className:w(\"tw-flex tw-flex-wrap tw-items-start\",t),children:[r,a&&$r(Pr,{className:\"tw-mt-3 tw-w-full\",children:o})]});k();import{createElement as bv}from\"react\";var xv=({as:e=\"div\",className:t,children:r,label:n})=>bv(e,{className:w(\"tw-border tw-border-solid tw-border-gray-30\",\"tw-px-4 tw-py-3 lg:tw-px-5 lg:tw-py-4\",\"tw-rounded-md\",t),role:\"region\",\"aria-label\":n||void 0},r);k();import{createElement as Sv,useMemo as yv}from\"react\";var Rv=({as:e=\"div\",id:t,children:r,className:n,styledAs:o})=>{let a=yv(()=>{switch(o&&o!==e?o:e){case\"h1\":return\"tw-text-xl md:tw-text-3xl tw-mb-4\";case\"h2\":return\"tw-text-lg md:tw-text-xl tw-mb-3.5\";case\"h3\":return\"tw-text-md md:tw-text-lg tw-mb-3.5\";case\"h4\":return\"tw-text-base md:tw-text-md tw-mb-3\";case\"h5\":case\"h6\":case\"p\":case\"div\":case\"span\":default:return\"tw-text-base tw-mb-3\"}},[e,o]);return Sv(e,{className:w(\"tw-font-semibold tw-text-gray-100\",\"tw-p-0 tw-m-0\",a,n),id:t},r)};k();import*as Je from\"@radix-ui/react-tabs\";import{motion as Pv,AnimatePresence as Vv}from\"motion/react\";import{jsx as st}from\"react/jsx-runtime\";var Cv=({children:e,className:t,dataOrientation:r=\"horizontal\",defaultValue:n,value:o,asChild:a,onValueChange:l,activationMode:s=\"automatic\"})=>st(Je.Root,{\"data-orientation\":r,className:w(t),defaultValue:n,value:o,asChild:a,onValueChange:l,activationMode:s,children:e}),Iv=({children:e,className:t,label:r,dataOrientation:n=\"horizontal\",loop:o=!0})=>st(Je.List,{\"aria-label\":r||void 0,className:w(\"tw-flex tw-flex-wrap tw-gap-2\",t),\"data-orientation\":n,loop:o,children:e}),Gv=({value:e,children:t,className:r,disabled:n=!1})=>st(Je.Trigger,{value:e,disabled:n,asChild:!0,children:st(\"div\",{className:w(\"tw-flex tw-items-center tw-justify-center tw-relative\",\"tw-box-border\",\"tw-min-h-10 tw-h-auto tw-px-2.5 tw-py-1\",\"tw-font-semibold tw-text-base tw-text-center\",\"tw-text-gray-60\",\"tw-cursor-pointer tw-select-none tw-duration-200 tw-outline-none\",\"hover:tw-bg-secondary-100 hover:tw-text-primary-900\",\"after:tw-content-[''] after:tw-block after:tw-w-full after:tw-absolute after:tw-h-[3px] after:tw-left-0 after:-tw-bottom-[1px] after:tw-bg-transparent after:tw-duration-200\",\"hover:after:tw-bg-secondary-200\",\"data-[state=active]:tw-text-primary-900 data-[state=active]:tw-cursor-default data-[state=active]:after:tw-bg-primary-700\",r),children:t})}),Ev=({value:e,children:t,className:r,dataOrientation:n=\"horizontal\"})=>st(Vv,{children:st(Je.Content,{value:e,className:w(\"tw-box-border\",r),\"data-orientation\":n,asChild:!0,children:st(Pv.div,{initial:{opacity:0},animate:{opacity:1,transition:{delay:.2}},exit:{opacity:0},transition:{duration:.4,ease:\"easeInOut\"},children:t})})});k();F();import{forwardRef as Fd,cloneElement as Hd,useMemo as Mv}from\"react\";import*as re from\"@radix-ui/react-dropdown-menu\";import{jsx as me,jsxs as Uo}from\"react/jsx-runtime\";var Nv=Fd((u,p)=>{var m=u,{label:e,className:t,iconBefore:r,iconAfter:n,spacingBefore:o,hasSubMenu:a,isWarning:l}=m,s=d(m,[\"label\",\"className\",\"iconBefore\",\"iconAfter\",\"spacingBefore\",\"hasSubMenu\",\"isWarning\"]);let g=Mv(()=>w(\"tw-flex-none\",\"tw-w-5 tw-h-auto\",\"tw-fill-current\",l?[\"tw-text-error-500\",\"group-hover:tw-text-error-700 group-data-[state=open]:tw-text-error-700\"]:[\"tw-text-gray-60\",\"group-hover:tw-text-primary-700 group-data-[state=open]:tw-text-primary-700\"]),[l]);return me(\"div\",c(i({ref:p,role:\"menuitem\",\"aria-label\":e,className:w(\"tw-group\",\"tw-select-none tw-cursor-pointer\",\"tw-px-2\",t)},s),{children:Uo(\"div\",{className:w(\"tw-flex tw-items-center tw-gap-2.5\",\"tw-rounded tw-px-2 tw-py-1.5 tw-bg-white\",l?[\"tw-text-error-500\",\"group-hover:tw-bg-error-100 group-hover:tw-text-error-700\",\"group-data-[state=open]:tw-bg-error-100 group-data-[state=open]:tw-text-error-700\"]:[\"tw-text-gray-80\",\"group-hover:tw-bg-secondary-100 group-hover:tw-text-primary-700\",\"group-data-[state=open]:tw-bg-secondary-100 group-data-[state=open]:tw-text-primary-700\"],\"tw-duration-200\",\"tw-overflow-hidden\",o&&'before:tw-block before:tw-content-[\"\"] before:tw-w-5'),children:[r&&Hd(r,{className:g,\"aria-hidden\":!0}),me(\"div\",{className:\"tw-grow tw-text-base tw-font-normal\",children:e}),n&&Hd(n,{className:g,\"aria-hidden\":!0}),a&&me(Fe,{className:w(g,\"tw-w-6 -tw-mr-2\")})]})}))}),Dd=Fd((o,n)=>{var a=o,{children:e,className:t}=a,r=d(a,[\"children\",\"className\"]);return me(\"div\",c(i({ref:n,className:w(\"tw-bg-white tw-text-gray-100 tw-rounded-xl tw-shadow-[0_1px_3px_0_rgba(0,0,0,0.12),0_6px_12px_0_rgba(0,0,0,0.08)]\",\"data-[state=open]:tw-animate-open\",\"tw-flex tw-flex-col tw-gap-2\",\"*:tw-grow\",\"tw-py-2\",\"tw-z-[1000]\",\"focus:tw-outline-none focus:tw-outline-0 focus:tw-outline-transparent focus:tw-outline-offset-0\",t)},r),{children:e}))}),Tv=({children:e,onSelect:t,disabled:r=!1,textValue:n,asChild:o=!0})=>me(re.Item,{onSelect:t,asChild:o,disabled:r,textValue:n,children:e}),kv=({className:e})=>me(re.Separator,{className:w(\"tw-h-[1px] tw-bg-gray-20 tw-select-none\",e)}),Lv=({trigger:e,children:t,open:r,onOpenChange:n,defaultOpen:o,disabled:a,textValue:l,className:s,sideOffset:p=-12,alignOffset:u=12,hideWhenDetached:m=!1})=>Uo(re.Sub,{open:r,onOpenChange:n,defaultOpen:o,children:[me(re.SubTrigger,{asChild:!0,disabled:a,textValue:l,children:e}),me(re.Portal,{children:me(re.SubContent,{sideOffset:p,alignOffset:u,hideWhenDetached:m,asChild:!0,children:me(Dd,{className:s,children:t})})})]}),Av=({trigger:e,children:t,open:r,modal:n,defaultOpen:o,container:a,onOpenChange:l,className:s,loop:p=!1,side:u=\"bottom\",align:m=\"start\",alignOffset:g=12,sideOffset:b=5,hideWhenDetached:f=!1})=>Uo(re.Root,{open:r,modal:n,defaultOpen:o,onOpenChange:l,children:[e&&me(re.Trigger,{asChild:!0,children:e}),me(re.Portal,{container:a,children:me(re.Content,{sideOffset:b,loop:p,side:u,align:m,alignOffset:g,hideWhenDetached:f,asChild:!0,children:me(Dd,{className:s,children:t})})})]});k();F();import{forwardRef as zv}from\"react\";import*as Ce from\"@radix-ui/react-popover\";import{jsx as Le,jsxs as $o}from\"react/jsx-runtime\";var Ov=()=>Le(Ce.Close,{asChild:!0,children:Le(\"div\",{role:\"button\",tabIndex:0,\"aria-label\":\"Close\",className:w(\"tw-flex tw-justify-center tw-items-center\",\"tw-w-8 tw-h-8\",\"tw-rounded-full\",\"tw-bg-transparent tw-text-gray-70\",\"hover:tw-bg-secondary-100 hover:tw-text-primary-700\",\"active:tw-bg-secondary-100 active:tw-text-primary-700\"),children:Le(We,{className:\"tw-w-[18px] tw-h-[18px]\"})})}),Bv=zv((l,a)=>{var s=l,{title:e,children:t,className:r,showCloseButton:n=!1}=s,o=d(s,[\"title\",\"children\",\"className\",\"showCloseButton\"]);return $o(\"div\",c(i({ref:a,className:w(\"tw-bg-white tw-text-gray-100 tw-rounded-xl tw-shadow-[0_1px_3px_0_rgba(0,0,0,0.12),0_6px_12px_0_rgba(0,0,0,0.08)]\",\"data-[state=open]:tw-animate-open\",\"tw-flex tw-flex-col tw-gap-2\",\"*:tw-grow\",\"tw-py-2\",\"tw-z-[1000]\",\"focus:tw-outline-none focus:tw-outline-0 focus:tw-outline-transparent focus:tw-outline-offset-0\",\"tw-overflow-hidden\",r)},o),{children:[(e||n)&&$o(\"div\",{className:w(\"tw-flex tw-items-start tw-gap-4\",\"tw-pl-3.5 tw-pr-3\",e?\"tw-justify-between\":\"tw-justify-end\"),children:[Le(\"div\",{className:w(\"tw-text-md tw-font-semibold tw-mt-0.5\"),children:e}),n&&Le(Ov,{})]}),t]}))}),Hv=({open:e=!1,defaultOpen:t=!1,modal:r=!1,trigger:n,container:o=document.body,onOpenChange:a,side:l=\"bottom\",sideOffset:s=8,align:p=\"center\",alignOffset:u=0,arrowPadding:m=0,sticky:g=\"partial\",className:b,children:f,title:h,showCloseButton:y=!1})=>$o(Ce.Root,{open:e,onOpenChange:a,defaultOpen:t,modal:r,children:[n&&Le(Ce.Trigger,{asChild:!0,children:n}),Le(Ce.Portal,{container:o,children:Le(Ce.Content,{side:l,sideOffset:s,align:p,alignOffset:u,arrowPadding:m,sticky:g,asChild:!0,children:Le(Bv,{className:b,title:h,showCloseButton:y,children:f})})})]});k();import{Fragment as Dv,jsx as qr,jsxs as Wv}from\"react/jsx-runtime\";var Fv=({children:e,className:t,id:r})=>qr(\"div\",{className:w(\"tw-flex tw-text-red-60 tw-space-x-1\",t),children:e&&Wv(Dv,{children:[qr(\"div\",{className:\"tw-h-4 tw-text-0\",children:qr(De,{className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block\"})}),qr(\"div\",{id:r,className:\"tw-text-sm tw-font-normal tw-mt-[1px]\",children:e})]})});k();import{useId as Wd,useRef as _d,forwardRef as _v,useImperativeHandle as Kv}from\"react\";import*as kt from\"@radix-ui/react-radio-group\";import{jsx as Ae,jsxs as Zv}from\"react/jsx-runtime\";var Uv=({children:e,defaultValue:t,value:r,onValueChange:n,disabled:o,name:a,required:l,orientation:s,dir:p,loop:u=!0,className:m})=>Ae(kt.Root,{asChild:!0,defaultValue:t,value:r,onValueChange:n,disabled:o,name:a,required:l,orientation:s,dir:p,loop:u,children:Ae(\"div\",{className:w(m),children:e})}),Kd=_v(({children:e,value:t,disabled:r,required:n,className:o,id:a,label:l},s)=>{let p=Wd(),u=_d(null);return Kv(s,()=>({focus:()=>{var m;(m=u.current)==null||m.focus()},click:()=>{var m;(m=u.current)==null||m.click()}})),Ae(kt.Item,{asChild:!0,value:t,disabled:r,required:n,children:Ae(\"div\",{ref:u,id:a!=null?a:p,tabIndex:r?-1:0,\"aria-label\":l||void 0,className:w(\"tw-flex tw-justify-center tw-items-center\",\"tw-w-4 tw-h-4\",\"tw-border tw-border-solid\",\"tw-rounded-full\",r?[\"data-[disabled]:tw-cursor-not-allowed\",\"data-[disabled]:data-[state=unchecked]:tw-bg-gray-10 data-[disabled]:data-[state=checked]:tw-bg-gray-10\",\"data-[disabled]:data-[state=unchecked]:tw-border-gray-30 data-[disabled]:data-[state=checked]:tw-border-gray-30 data-[disabled]:data-[state=checked]:tw-bg-gray-30\"]:[\"tw-cursor-pointer\",\"data-[state=unchecked]:tw-bg-white data-[state=unchecked]:tw-border-gray-40\",\"group-hover:data-[state=unchecked]:tw-border-primary-700\",\"data-[state=checked]:tw-bg-primary-700 data-[state=checked]:tw-border-primary-700\",\"group-hover:data-[state=checked]:tw-bg-primary-300 group-hover:data-[state=checked]:tw-border-primary-300\"],\"tw-duration-200\",o),onClick:m=>{var g;r?m.preventDefault():(g=u.current)==null||g.focus()},children:e})})}),Ud=({className:e})=>Ae(kt.Indicator,{asChild:!0,forceMount:!0,children:Ae(\"div\",{className:w(\"tw-shrink-0\",\"tw-w-2 tw-h-2\",\"tw-bg-white\",\"tw-rounded-full\",\"data-[state=unchecked]:tw-opacity-0 data-[state=checked]:tw-opacity-100\",\"tw-duration-200\",e)})}),$v=({label:e,id:t,value:r,disabled:n,required:o,className:a})=>{let l=Wd(),s=_d(null);return Zv(\"div\",{className:w(\"tw-group\",\"tw-flex tw-items-start tw-gap-2\",a),children:[Ae(Kd,{value:r,disabled:n,required:o,id:t!=null?t:l,ref:s,className:w(\"tw-mt-0.5\",n?[\"\"]:[\"\"]),label:e,children:Ae(Ud,{})}),e&&Ae(\"label\",{className:w(\"tw-text-base tw-font-normal\",n?\"tw-cursor-not-allowed tw-text-gray-50\":\"tw-cursor-pointer tw-text-gray-80\"),onClick:()=>{var p;return!n&&((p=s.current)==null?void 0:p.click())},children:e})]})},qv={Root:Uv,Item:Kd,Indicator:Ud,Button:$v};k();import{createContext as Xv,useContext as Yv,useId as Jv,useState as Qv}from\"react\";import*as Zr from\"@radix-ui/react-toggle-group\";import{motion as jv}from\"motion/react\";import{jsx as $t,jsxs as nb}from\"react/jsx-runtime\";var $d=Xv(null);function eb(){let e=Yv($d);if(!e)throw new Error(\"SegmentedControl.Item must be used within SegmentedControl.Root\");return e}function tb({children:e,defaultValue:t,value:r,onValueChange:n,disabled:o,className:a,\"aria-label\":l}){let s=Jv(),[p,u]=Qv(t),m=r!=null?r:p,g=r!==void 0;function b(f){f&&(g||u(f),n==null||n(f))}return $t($d.Provider,{value:{layoutId:s,selectedValue:m},children:$t(Zr.Root,c(i({type:\"single\"},g?{value:r}:{defaultValue:t}),{onValueChange:b,disabled:o,\"aria-label\":l,orientation:\"horizontal\",asChild:!0,children:$t(\"div\",{className:w(\"tw-inline-flex tw-items-center tw-h-[42px] tw-p-[4px] tw-bg-gray-20 tw-rounded-xl tw-gap-2\",a),children:e})}))})}function rb({children:e,value:t,disabled:r,className:n}){let{layoutId:o,selectedValue:a}=eb(),l=a===t;return nb(Zr.Item,{value:t,disabled:r,className:w(\"tw-relative tw-p-1.5 tw-px-3.5\",\"tw-text-base tw-font-normal tw-leading-[22px]\",\"tw-rounded-lg tw-cursor-pointer\",\"tw-outline-none tw-bg-transparent\",\"tw-transition-colors tw-duration-200\",\"data-[state=off]:tw-text-gray-70\",\"data-[state=on]:tw-text-gray-80\",\"data-[disabled]:tw-cursor-not-allowed data-[disabled]:tw-opacity-50\",\"focus-visible:tw-ring-2 focus-visible:tw-ring-primary-700 focus-visible:tw-ring-offset-1\",n),children:[l&&$t(jv.span,{layoutId:o,className:\"tw-absolute tw-inset-0 tw-bg-white tw-rounded-lg\",transition:{type:\"spring\",bounce:.15,duration:.5}}),$t(\"span\",{className:\"tw-relative tw-z-10\",children:e})]})}var ob={Root:tb,Item:rb};k();F();import ab,{createContext as lb,useContext as ib}from\"react\";import*as K from\"@radix-ui/react-select\";import{jsx as j,jsxs as ct}from\"react/jsx-runtime\";var qd=lb(!1);function Zd(e){return(Array.isArray(e)?e:[e]).reduce((t,r)=>ab.isValidElement(r)?r.type===Yd&&!r.props.disabled?t+1:t+Zd(r.props.children):t,0)}var Xd=\"tw-text-gray-60 *:tw-w-5 *:tw-h-auto *:tw-fill-current\",sb=[\"hover:tw-bg-secondary-100 focus:tw-bg-secondary-100 focus:tw-outline-none\",\"tw-transition-[background-color,color] tw-duration-200\",\"tw-cursor-pointer\"].join(\" \"),cb=[\"hover:tw-bg-secondary-100 hover:tw-text-primary-700\",\"focus:tw-bg-secondary-100 focus:tw-text-primary-700 focus:tw-outline-none\",\"tw-transition-[background-color,color] tw-duration-200\",\"tw-cursor-pointer\"].join(\" \"),db=({children:e,trigger:t,container:r,defaultValue:n,value:o,onValueChange:a,defaultOpen:l,open:s,onOpenChange:p,dir:u,name:m,disabled:g,required:b})=>{let f=Zd(e)<=1;return j(K.Root,{defaultValue:n,value:o,onValueChange:a,defaultOpen:l,open:f?!1:s,onOpenChange:f?void 0:p,dir:u,name:m,disabled:g,required:b,children:ct(qd.Provider,{value:f,children:[t,j(K.Portal,{container:r,children:e})]})})},pb=({placeholder:e,className:t,icon:r,withChannelIcon:n=!1})=>{let o=ib(qd),a=n?void 0:Xd;return j(K.Trigger,{asChild:!0,children:ct(\"div\",{tabIndex:0,className:w(\"tw-flex tw-items-center tw-justify-between tw-gap-2\",\"tw-text-base tw-text-gray-90\",\"tw-px-2 tw-py-1 tw-rounded tw-min-h-10\",sb,o&&\"tw-cursor-default hover:tw-bg-transparent focus:tw-bg-transparent\",\"data-[disabled]:pointer-events-none data-[disabled]:tw-cursor-not-allowed data-[disabled]:tw-bg-gray-10 data-[disabled]:tw-text-gray-50\",\"tw-select-none\",t),children:[ct(\"div\",{className:\"tw-flex tw-items-center tw-gap-2 tw-min-w-0\",children:[r&&j(\"div\",{className:w(a,\"tw-shrink-0\"),children:r}),j(\"div\",{className:\"tw-grow tw-truncate tw-min-w-0\",children:j(K.Value,{placeholder:e})})]}),!o&&j(K.Icon,{asChild:!0,children:j(\"div\",{className:\"tw-shrink-0\",children:j(er,{className:\"tw-w-5 tw-h-auto tw-text-gray-60\"})})})]})})},ub=({children:e,onCloseAutoFocus:t,onEscapeKeyDown:r,onPointerDownOutside:n,position:o=\"popper\",side:a=\"bottom\",sideOffset:l=0,align:s=\"start\",alignOffset:p=0,arrowPadding:u=0,sticky:m=\"partial\",hideWhenDetached:g=!1,className:b})=>ct(K.Content,{onCloseAutoFocus:t,onEscapeKeyDown:r,onPointerDownOutside:n,position:o,side:a,sideOffset:l,align:s,alignOffset:p,arrowPadding:u,sticky:m,hideWhenDetached:g,className:w(\"tw-bg-white tw-rounded-xl\",\"tw-shadow-[0_1px_3px_0_rgba(0,0,0,0.12),0_6px_12px_0_rgba(0,0,0,0.08)]\",\"tw-w-[var(--radix-select-trigger-width)] tw-min-w-max tw-max-w-[var(--radix-popper-available-width)]\",\"tw-max-h-[var(--radix-popper-available-height)]\",\"tw-overflow-hidden tw-z-[1000]\",b),children:[j(K.ScrollUpButton,{className:\"tw-flex tw-items-center tw-justify-center tw-py-1.5\",children:j(nr,{className:\"tw-w-5 tw-h-5 tw-text-gray-60\"})}),j(K.Viewport,{children:e}),j(K.ScrollDownButton,{className:\"tw-flex tw-items-center tw-justify-center tw-py-1.5\",children:j(He,{className:\"tw-w-5 tw-h-5 tw-text-gray-60\"})})]}),mb=({children:e,label:t,className:r})=>ct(K.Group,{className:w(\"tw-flex tw-flex-col tw-gap-y-2 *:tw-w-full tw-py-3.5 tw-px-2\",r),children:[t&&j(K.Label,{className:\"tw-text-sm tw-text-gray-70 tw-font-semibold tw-px-2 tw-pb-1\",children:t}),e]}),Yd=({children:e,value:t,disabled:r=!1,className:n,icon:o,withChannelIcon:a=!1})=>{let l=a?void 0:Xd;return ct(K.Item,{value:t,disabled:r,className:w(\"tw-flex tw-items-center tw-justify-between tw-gap-2\",\"tw-px-2 tw-py-1 tw-min-h-8 tw-rounded\",r?\"tw-cursor-not-allowed\":cb,n),children:[ct(\"div\",{className:w(\"tw-flex tw-items-center tw-gap-2 tw-text-base\",r?\"tw-text-gray-50\":\"tw-text-gray-90\"),children:[o&&j(\"div\",{className:l,children:o}),j(K.ItemText,{children:e})]}),j(\"div\",{className:\"tw-shrink-0 tw-w-5\",children:j(K.ItemIndicator,{asChild:!0,children:j(ft,{className:\"tw-w-full tw-h-auto\"})})})]})},fb=({className:e})=>j(K.Separator,{className:w(\"tw-w-full tw-h-[1px] tw-bg-gray-30\",e)}),he={Root:db,Trigger:pb,Content:ub,Group:mb,Item:Yd,Separator:fb};k();F();import{Children as gb}from\"react\";k();import{jsx as Jd}from\"react/jsx-runtime\";var qo={default:\"tw-max-w-[880px]\",wide:\"tw-max-w-[1024px]\"},wb=({width:e=\"default\",children:t,className:r})=>Jd(\"div\",{className:w(\"tw-w-full tw-px-4 tw-pb-10\",r),children:Jd(\"div\",{className:w(\"tw-w-full tw-mx-auto\",qo[e]),children:t})});import{jsx as ze,jsxs as yb}from\"react/jsx-runtime\";var hb=({backButton:e,breadcrumbs:t,actions:r,contentWidth:n=\"default\",className:o,\"aria-label\":a})=>yb(\"nav\",{className:w(\"tw-relative tw-flex tw-w-full tw-justify-center\",\"tw-bg-white tw-pt-6 tw-pb-4 tw-px-12\",o),\"aria-label\":a,children:[e&&ze(\"div\",{className:\"tw-absolute tw-left-2 tw-bottom-3 tw-flex tw-items-center\",children:e}),ze(\"div\",{className:w(\"tw-flex tw-w-full tw-items-center tw-min-w-0\",qo[n]),children:t}),r&&ze(\"div\",{className:\"tw-absolute tw-right-2 tw-bottom-3 tw-flex tw-items-center\",children:r})]}),vb=({href:e,onClick:t,\"aria-label\":r,className:n})=>ze(bt,{as:e?\"a\":\"button\",href:e,onClick:t,icon:ze(Jt,{}),variant:\"tertiary\",size:\"small\",\"aria-label\":r,className:w(\"tw-flex-shrink-0\",n)}),bb=({children:e,className:t,\"aria-label\":r})=>{let n=gb.toArray(e);return ze(\"ol\",{className:w(\"tw-flex tw-items-center tw-gap-2 tw-min-w-0\",\"tw-text-sm tw-text-gray-70\",\"tw-list-none tw-m-0 tw-p-0\",t),\"aria-label\":r,children:n.map((o,a)=>ze(\"li\",{className:w(\"tw-flex tw-items-center\",a<n.length-1?[\"after:tw-content-['/']\",\"after:tw-ml-2\",\"after:tw-text-gray-40\",\"tw-shrink-0\"]:\"tw-min-w-0\"),children:o},a))})},xb=({href:e,children:t,className:r})=>e?ze(\"a\",{href:e,className:w(\"tw-text-gray-70 hover:tw-text-gray-100\",\"tw-no-underline tw-border-b tw-border-primary-300\",\"tw-transition-colors tw-duration-200\",r),children:t}):ze(\"span\",{className:w(\"tw-text-gray-100 tw-truncate\",r),\"aria-current\":\"page\",children:t}),Sb=Object.assign(hb,{BackButton:vb,Breadcrumbs:bb,Breadcrumb:xb});k();import{createContext as Qd,useContext as jd,useRef as Rb}from\"react\";import{jsx as Qe,jsxs as Nb}from\"react/jsx-runtime\";var ep=Qd({gridCols:0,columns:[]}),Zo=Qd({getNextIndex:()=>0}),Xo=()=>jd(ep),Pb=()=>jd(Zo),tp=()=>{var o;let{columns:e}=Xo(),{getNextIndex:t}=Pb(),r=t(),n=(o=e[r])!=null?o:1;return{index:r,span:n}},rp={1:\"lg:tw-grid-cols-1\",2:\"lg:tw-grid-cols-2\",3:\"lg:tw-grid-cols-3\",4:\"lg:tw-grid-cols-4\",5:\"lg:tw-grid-cols-5\",6:\"lg:tw-grid-cols-6\",7:\"lg:tw-grid-cols-7\",8:\"lg:tw-grid-cols-8\",9:\"lg:tw-grid-cols-9\",10:\"lg:tw-grid-cols-10\",11:\"lg:tw-grid-cols-11\",12:\"lg:tw-grid-cols-12\"},op={1:\"tw-col-span-1\",2:\"tw-col-span-2\",3:\"tw-col-span-3\",4:\"tw-col-span-4\",5:\"tw-col-span-5\",6:\"tw-col-span-6\",7:\"tw-col-span-7\",8:\"tw-col-span-8\",9:\"tw-col-span-9\",10:\"tw-col-span-10\",11:\"tw-col-span-11\",12:\"tw-col-span-12\"},np=()=>{let e=Rb(0);return e.current=0,{getNextIndex:()=>e.current++}},Vb=l=>{var s=l,{children:e,className:t,rowcount:r,colcount:n,columns:o}=s,a=d(s,[\"children\",\"className\",\"rowcount\",\"colcount\",\"columns\"]);let p=o.reduce((u,m)=>u+m,0);return Qe(ep.Provider,{value:{gridCols:p,columns:o},children:Qe(\"div\",c(i({role:\"grid\",\"aria-rowcount\":r!=null?r:void 0,\"aria-colcount\":n!=null?n:o.length,className:t},a),{children:e}))})},Cb=({children:e,className:t,hover:r})=>{let{gridCols:n}=Xo(),o=np();return Qe(Zo.Provider,{value:o,children:Qe(\"div\",{role:\"row\",className:w(\"tw-flex tw-flex-col lg:tw-grid lg:tw-content-center lg:tw-grid-flow-row-dense tw-gap-4\",\"tw-border-0 tw-border-y tw-border-solid tw-border-gray-30\",\"tw-text-gray-100 tw-text-base\",\"tw-min-h-[52px] tw-gap-y-4 -tw-mt-[1px]\",\"tw-pt-5 tw-pb-6 lg:tw-py-0\",r&&\"hover:tw-bg-secondary-100 tw-duration-200 tw-transition\",rp[n],t),children:e})})},Ib=({children:e,className:t})=>{let{gridCols:r}=Xo(),n=np();return Qe(Zo.Provider,{value:n,children:Qe(\"div\",{role:\"row\",className:w(\"tw-hidden lg:tw-grid lg:tw-content-center lg:tw-grid-flow-row-dense tw-gap-4\",\"tw-border-0 tw-border-b tw-border-solid tw-border-gray-30\",\"tw-text-gray-100 tw-text-base\",\"lg:tw-pb-4 tw-font-semibold\",rp[r],t),children:e})})},Gb=({children:e,className:t})=>{let{index:r,span:n}=tp();return Qe(\"div\",{role:\"columnheader\",\"aria-colindex\":r+1,className:w(op[n],\"tw-font-semibold\",t),children:e})},Eb=({children:e,className:t,label:r,rowindex:n})=>{let{index:o,span:a}=tp();return Nb(\"div\",{role:\"gridcell\",\"aria-rowindex\":n!=null?n:void 0,\"aria-colindex\":o+1,className:w(op[a],\"tw-flex tw-flex-wrap tw-gap-x-1 lg:tw-py-4\",t),children:[r&&Qe(\"span\",{className:\"lg:tw-hidden tw-font-semibold\",children:`${r}:`}),e]})},Mb={Root:Vb,Row:Cb,Header:Ib,HeaderCell:Gb,BodyCell:Eb};import{useRef as ap,useId as Tb,useEffect as Yo,memo as kb,useState as Lb,useMemo as Ab,useCallback as zb,forwardRef as Ob,useImperativeHandle as Bb}from\"react\";k();import{jsx as Pe,jsxs as Wb}from\"react/jsx-runtime\";var Hb=kb(({onClick:e,isLoading:t,isEmpty:r=!0,label:n})=>t?Pe(\"div\",{className:w(\"tw-flex tw-items-center tw-justify-center tw-shrink-0\",\"tw-w-[34px] tw-h-[34px]\",\"\"),children:Pe(Kt,{className:\"tw-w-6 tw-h-6 tw-text-primary-500\"})}):Pe(bt,{variant:r?\"tertiary\":\"primary\",size:\"small\",label:n,icon:Pe(vr,{}),onClick:()=>!t&&e()})),Fb=({onClick:e,label:t})=>Pe(tt,{content:t,container:document.body,children:Pe(\"div\",{role:\"button\",\"aria-label\":t,tabIndex:0,onClick:e,className:w(\"tw-flex tw-justify-center tw-shrink-0\",\"tw-w-9 tw-h-9\",\"tw-items-center\",\"tw-bg-transparent tw-text-gray-60 hover:tw-bg-gray-10 active:tw-bg-gray-20\",\"tw-rounded-full tw-duration-200\"),children:Pe(We,{className:\"tw-fill-current tw-w-5 tw-h-5\"})})}),Db=Ob(({className:e,label:t=\"Search\",labelSearchButton:r=\"Search\",labelClearButton:n=\"Clear search\",onQueryChange:o,onSearch:a,onClear:l,isLoading:s,placeholder:p,value:u=\"\",showClearButton:m=!1,size:g=\"large\"},b)=>{let[f,h]=Lb(u),y=ap(null),S=ap(!1),x=Tb(),I=()=>{var T;(T=y.current)==null||T.focus()};Bb(b,()=>({focus:I}));let M=Ab(()=>f.trim(),[f]),N=zb(()=>{M!==\"\"?a(M):I()},[M]),C=T=>{T.key===\"Enter\"&&N()},A=()=>{l(),h(\"\"),setTimeout(I,0)};return Yo(()=>{setTimeout(I,200)},[]),Yo(()=>{h(u)},[u]),Yo(()=>{S.current&&o(f)},[f]),Pe(\"div\",{role:\"search\",\"aria-label\":t!=null?t:void 0,className:w(e),children:Pe(so,{ref:y,id:x,value:f,inputSize:g===\"small\"?\"medium\":g,rounded:!0,placeholder:p,onChange:T=>{h(T.target.value),S.current=!0},disabled:s,autoComplete:\"off\",readOnly:s,onKeyDown:C,autoFocus:!0,action:Wb(\"div\",{className:w(\"tw-flex tw-items-center tw-shrink-0 tw-gap-1\",(g===\"medium\"||g===\"small\")&&\"tw-pr-1.5\",g===\"large\"&&\"tw-pr-2\"),children:[m&&Pe(Fb,{label:n,onClick:A}),Pe(Hb,{isEmpty:f.trim()===\"\",onClick:N,isLoading:s,label:r})]})})})});import{useEffect as Jo,useState as qt}from\"react\";k();import{jsx as dt}from\"react/jsx-runtime\";var _b=({channels:e,currentChannel:t,className:r,defaultValue:n,value:o,onValueChange:a,open:l,onOpenChange:s,name:p,disabled:u=!1})=>{let[m,g]=qt(o||JSON.stringify({url:(t==null?void 0:t.url)||\"\",color:(t==null?void 0:t.color)||\"\",urlIdentifier:t==null?void 0:t.urlIdentifier})),[b,f]=qt((t==null?void 0:t.color)||\"\"),[h,y]=qt(t==null?void 0:t.type),[S,x]=qt((t==null?void 0:t.name)||\"\"),[I,M]=qt(l||!1);Jo(()=>{t!=null&&t.url&&(g(JSON.stringify({url:t.url,color:t.color,urlIdentifier:t.urlIdentifier})),f(t.color),y(t.type),x(t.name))},[t]),Jo(()=>{if(o!==void 0){g(o);try{let T=JSON.parse(o),z=e.find(V=>V.url===T.url);f(T.color),z&&(y(z.type),x(z.name))}catch(T){console.error(\"Failed to parse value:\",T)}}},[o,e]),Jo(()=>{l!==void 0&&M(l)},[l]);let N=T=>{let z=JSON.parse(T),V=e.find(G=>G.url===z.url);g(T),f(z.color),V&&(y(V.type),x(V.name)),a==null||a({url:z.url,color:z.color,urlIdentifier:z.urlIdentifier})},C=T=>{M(T),s==null||s(T)},A=e&&e.length>0;return dt(he.Root,{defaultValue:n,value:m,onValueChange:N,open:I,onOpenChange:C,name:p,disabled:u,trigger:dt(he.Trigger,{placeholder:S,withChannelIcon:!0,icon:dt(Ur,{channelColor:b,size:\"medium\",channelType:h}),className:\"tw-text-md tw-font-semibold\"}),children:dt(he.Content,{className:w(r),children:A&&dt(he.Group,{children:e.map(T=>dt(he.Item,{value:JSON.stringify({url:T.url,color:T.color,urlIdentifier:T.urlIdentifier}),withChannelIcon:!0,icon:dt(Ur,{channelColor:T.color,size:\"medium\",channelType:T.type}),children:T.name},T.url))})})})};k();import{createElement as Kb}from\"react\";Vr();F();import{jsx as ne,jsxs as Yr}from\"react/jsx-runtime\";var Ub={show:\"Show\",of:\"of\",firstPage:\"Go to first page\",previousPage:\"Go to previous page\",nextPage:\"Go to next page\",lastPage:\"Go to last page\"},Xr=({label:e,onClick:t,icon:r,isActive:n})=>ne(tt,{content:e,children:ne(\"div\",{role:\"button\",\"aria-label\":e,tabIndex:n?0:-1,onClick:n?t:void 0,className:w(\"tw-flex tw-justify-center tw-items-center tw-w-9 tw-h-9\",\"tw-bg-transparent tw-duration-200 tw-rounded\",n?\"tw-text-gray-100 hover:tw-bg-gray-10 active:tw-bg-gray-20 tw-cursor-pointer\":\"tw-text-gray-50 tw-cursor-not-allowed\"),children:r&&Kb(r.type,c(i({},r.props),{className:w(\"tw-block tw-w-[1.625rem] tw-h-auto\",\"tw-text-current tw-fill-current\")}))})});function lp(e,t,r){let n=Math.max(1,Math.ceil(e/t)),o=Math.min(Math.max(1,r),n),a=e===0?0:(o-1)*t+1,l=Math.min(o*t,e);return{currentPage:o,itemsPerPage:t,totalPages:n,totalItems:e,firstPage:1,lastPage:n,nextPage:o<n?o+1:null,prevPage:o>1?o-1:null,rangeStart:a,rangeEnd:l}}var $b=({totalItems:e,itemsPerPage:t,currentPage:r,onPaginationChange:n,itemsPerPageOptions:o=[10,25,50,100],labels:a,showFirstLastButtons:l=!0,showPrevNextButtons:s=!0,showItemsPerPageSelector:p=!0,showRangeLabel:u=!0,className:m})=>{let g=i(i({},Ub),a),b=lp(e,t,r),f=b.prevPage!==null,h=b.nextPage!==null,y=(S,x=t)=>{n(lp(e,x,S))};return Yr(\"div\",{className:w(\"tw-flex tw-items-center tw-w-full\",p?\"tw-justify-between\":\"tw-justify-end\",m),children:[p&&Yr(\"div\",{className:\"tw-flex tw-items-center tw-gap-x-2\",children:[ne(\"div\",{className:\"tw-text-base tw-text-gray-70\",children:g.show}),ne(he.Root,{value:String(t),onValueChange:S=>y(1,Number(S)),trigger:ne(he.Trigger,{className:\"tw-min-w-[4.5rem]\"}),children:ne(he.Content,{position:\"popper\",sideOffset:4,children:ne(he.Group,{children:o.map(S=>ne(he.Item,{value:String(S),children:S},S))})})})]}),Yr(\"div\",{className:\"tw-flex tw-items-center tw-gap-x-6\",children:[u&&ne(\"div\",{className:\"tw-text-base tw-text-gray-90\",children:`${b.rangeStart}-${b.rangeEnd} ${g.of} ${e}`}),Yr(\"div\",{className:\"tw-flex tw-items-center\",children:[l&&ne(Xr,{label:g.firstPage,icon:ne(or,{}),isActive:f,onClick:()=>y(b.firstPage)}),s&&ne(Xr,{label:g.previousPage,icon:ne(tr,{}),isActive:f,onClick:()=>y(b.prevPage)}),s&&ne(Xr,{label:g.nextPage,icon:ne(Fe,{}),isActive:h,onClick:()=>y(b.nextPage)}),l&&ne(Xr,{label:g.lastPage,icon:ne(rr,{}),isActive:h,onClick:()=>y(b.lastPage)})]})]})]})};k();import{useEffect as Qo,useRef as jo}from\"react\";import{jsx as ip}from\"react/jsx-runtime\";var qb=({currentPage:e,totalPages:t,itemsPerPage:r=5,container:n,isLoading:o=!1,className:a,onLoad:l})=>{let s=jo(null),p=jo(l),u=jo(o);return Qo(()=>{p.current=l},[l]),Qo(()=>{u.current=o},[o]),Qo(()=>{var b;let m=s.current;if(!m)return;let g=new IntersectionObserver(([f])=>{if(!f.isIntersecting||u.current)return;let h=e+1;h>t||p.current({nextPage:h,itemsPerPage:r})},{root:(b=n==null?void 0:n.current)!=null?b:null,threshold:0});return g.observe(m),()=>g.disconnect()},[e,t,n]),ip(\"div\",{ref:s,className:w(\"tw-flex tw-justify-center\",e<t&&\"tw-py-2\",a),children:o&&ip(Kt,{})})};export{zh as Accordion,Do as AccordionContext,Ah as AccordionItem,Sn as ActivityIcon,Rn as AiIcon,Cn as AiTwinkleText,_h as Alert,En as ArrowDownIcon,Tn as ArrowLeftDownIcon,Jt as ArrowLeftIcon,On as ArrowLeftUpIcon,Fn as ArrowRightDownIcon,_n as ArrowRightIcon,Qt as ArrowRightUpIcon,Zn as ArrowUpIcon,n3 as AutoComplete,UM as Badge,Jn as BellIcon,ea as BookIcon,oa as BookmarkIcon,xv as BorderBox,la as BulletedListIcon,mV as Button,_o as CHANNEL_COLORS,ca as CalendarIcon,ua as CategoryIcon,M3 as ChannelBadge,Ur as ChannelIcon,J2 as ChannelType,_b as ChannelsMenuSelector,u3 as CheckBoxGroup,wa as CheckCircleIcon,ft as CheckIcon,xa as CheckListIcon,jt as CheckSmallIcon,p3 as Checkbox,Va as CheckboxOutlineIcon,He as ChevronDownIcon,er as ChevronExpandIcon,tr as ChevronLeftIcon,Fe as ChevronRightIcon,za as ChevronShrinkIcon,rr as ChevronSkipEndIcon,or as ChevronSkipStartIcon,nr as ChevronUpIcon,hv as Chip,vv as ChipList,Ua as ClipsArrowRightIcon,Za as ClipsIcon,Ja as ClockHistoryIcon,el as ClockIcon,ol as CogIcon,ll as CommentIcon,wb as Container,cl as CopyIcon,F3 as Dialog,B3 as DialogActions,O3 as DialogContent,H3 as DialogTitleIcon,bd as DialogTitleIconType,R3 as Divider,ul as DocumentIcon,wl as DownloadIcon,vl as DragHandleIcon,Sl as DragIndicatorIcon,Pl as EllipsisHIcon,Il as EllipsisVIcon,Ml as EmojiIcon,kl as EnvelopeIcon,ar as ErrorIcon,De as ExclamationCircleIcon,Fl as ExclamationTriangleIcon,_l as ExpandIcon,$l as ExportIcon,Xl as ExternalLinkIcon,Ql as EyeIcon,S3 as Fieldset,ti as FileCheckIcon,ni as FileEditIcon,ii as FileIcon,di as FilePlusIcon,ph as FileUploader,mi as FileXIcon,gi as FilterIcon,bi as GlobeIcon,up as Headings,gc as Helper,yi as HistogramChartIcon,Vi as HouseIcon,hd as IconBadge,bt as IconButton,Gi as ImageIcon,Ld as ImageUploader,Ni as InboxIcon,lr as InfoCircleIcon,so as Input,nt as InputRootElement,rt as InputRootElementError,ot as InputRootOptionalText,zi as KundoAiKnowledgeIcon,Hi as KundoAvatarShield,ir as KundoCallsIcon,sr as KundoChatIcon,$i as KundoExternalSourceIcon,cr as KundoForumIcon,Ji as KundoHelpcenterIcon,dr as KundoKnowledgeIcon,ts as KundoLogoIcon,pr as KundoMailIcon,ur as KundoSocialFacebookIcon,mr as KundoSocialInstagramDmIcon,fr as KundoSocialInstagramIcon,wr as KundoSocialMessengerIcon,gr as KundoSocialWhatsappIcon,ws as LineChart1Icon,vs as LineChart2Icon,Fh as Link,Ss as LockIcon,Ps as LogInIcon,Is as LogOutIcon,X2 as Logo,Ms as MapPinIcon,ks as MegaphoneIcon,Cd as MenuButton,Av as MenuDropdown,Tv as MenuDropdownItem,Nv as MenuDropdownItemContainer,kv as MenuDropdownSeparator,Lv as MenuDropdownSubMenu,zs as MenuIcon,he as MenuSelect,Hs as MinimizeIcon,Ws as MinusCircleIcon,Us as MinusIcon,hr as MinusSmallIcon,Ys as MoveIcon,Gd as NavigationButton,Qs as NoExternalIcon,t1 as NoteIcon,Sb as PageHeader,$b as Pagination,qb as PaginationInfiniteScroll,n1 as PencilIcon,i1 as PhoneIcon,d1 as PhonePlusIcon,m1 as PieChartIcon,g1 as PlusCircleIcon,b1 as PlusIcon,Hv as PopoverMenu,ht as QuestionCircleIcon,qv as RadioGroup,P1 as ReplyIcon,I1 as RotateLeftIcon,M1 as RotateRightIcon,k1 as RouterIcon,Db as SearchBox,vr as SearchIcon,B1 as Security,ob as SegmentedControl,hg as Select,V3 as Skeleton,uv as SkeletonText,pv as SkeletonTextRow,D1 as SpeechBubbleIcon,K1 as SpeechBubblesIcon,q1 as SpellCheckIcon,Kt as Spinner,br as SpinnerIcon,Wr as SplitButton,J1 as StarFilledIcon,e0 as StarIcon,o0 as StopUpdatesIcon,og as Switch,l0 as SwitchIcon,Mb as Table,Ev as TabsContent,Iv as TabsList,Cv as TabsRoot,Gv as TabsTrigger,c0 as TagIcon,x3 as TextArea,u0 as TextLongIcon,w0 as TextShortIcon,v0 as ThumbDownIcon,S0 as ThumbUpIcon,Eh as TimeDistance,Oh as TimeStamp,Rv as Title,uh as Toast,tt as Tooltip,P0 as TranslateIcon,I0 as TrashCanIcon,M0 as UnlockIcon,k0 as UserAssignIcon,z0 as UserCheckIcon,H0 as UserClockIcon,W0 as UserIcon,U0 as UserPlusIcon,Z0 as UserXIcon,Fv as ValidationMessage,J0 as WindowMaximizeIcon,ec as WindowMinimizeIcon,xr as WinkleIcon,We as XIcon,ic as XSmallIcon,j2 as getSizeClasses,pc as getVariantClasses,Ut as useFileUpload,ah as useImageUploadPreview};\n","// src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n  const { children, width = 10, height = 5, ...arrowProps } = props;\n  return /* @__PURE__ */ jsx(\n    Primitive.svg,\n    {\n      ...arrowProps,\n      ref: forwardedRef,\n      width,\n      height,\n      viewBox: \"0 0 30 10\",\n      preserveAspectRatio: \"none\",\n      children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n    }\n  );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n  Arrow,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n  const {\n    __scopeCheckbox,\n    checked: checkedProp,\n    children,\n    defaultChecked,\n    disabled,\n    form,\n    name,\n    onCheckedChange,\n    required,\n    value = \"on\",\n    // @ts-expect-error\n    internal_do_not_use_render\n  } = props;\n  const [checked, setChecked] = useControllableState({\n    prop: checkedProp,\n    defaultProp: defaultChecked ?? false,\n    onChange: onCheckedChange,\n    caller: CHECKBOX_NAME\n  });\n  const [control, setControl] = React.useState(null);\n  const [bubbleInput, setBubbleInput] = React.useState(null);\n  const hasConsumerStoppedPropagationRef = React.useRef(false);\n  const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n    // We set this to true by default so that events bubble to forms without JS (SSR)\n    true\n  );\n  const context = {\n    checked,\n    disabled,\n    setChecked,\n    control,\n    setControl,\n    name,\n    form,\n    value,\n    hasConsumerStoppedPropagationRef,\n    required,\n    defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n    isFormControl,\n    bubbleInput,\n    setBubbleInput\n  };\n  return /* @__PURE__ */ jsx(\n    CheckboxProviderImpl,\n    {\n      scope: __scopeCheckbox,\n      ...context,\n      children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n    }\n  );\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = React.forwardRef(\n  ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n    const {\n      control,\n      value,\n      disabled,\n      checked,\n      required,\n      setControl,\n      setChecked,\n      hasConsumerStoppedPropagationRef,\n      isFormControl,\n      bubbleInput\n    } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n    const composedRefs = useComposedRefs(forwardedRef, setControl);\n    const initialCheckedStateRef = React.useRef(checked);\n    React.useEffect(() => {\n      const form = control?.form;\n      if (form) {\n        const reset = () => setChecked(initialCheckedStateRef.current);\n        form.addEventListener(\"reset\", reset);\n        return () => form.removeEventListener(\"reset\", reset);\n      }\n    }, [control, setChecked]);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        role: \"checkbox\",\n        \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n        \"aria-required\": required,\n        \"data-state\": getState(checked),\n        \"data-disabled\": disabled ? \"\" : void 0,\n        disabled,\n        value,\n        ...checkboxProps,\n        ref: composedRefs,\n        onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n          if (event.key === \"Enter\") event.preventDefault();\n        }),\n        onClick: composeEventHandlers(onClick, (event) => {\n          setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n          if (bubbleInput && isFormControl) {\n            hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n            if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n          }\n        })\n      }\n    );\n  }\n);\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeCheckbox,\n      name,\n      checked,\n      defaultChecked,\n      required,\n      disabled,\n      value,\n      onCheckedChange,\n      form,\n      ...checkboxProps\n    } = props;\n    return /* @__PURE__ */ jsx(\n      CheckboxProvider,\n      {\n        __scopeCheckbox,\n        checked,\n        defaultChecked,\n        disabled,\n        required,\n        onCheckedChange,\n        name,\n        form,\n        value,\n        internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n          /* @__PURE__ */ jsx(\n            CheckboxTrigger,\n            {\n              ...checkboxProps,\n              ref: forwardedRef,\n              __scopeCheckbox\n            }\n          ),\n          isFormControl && /* @__PURE__ */ jsx(\n            CheckboxBubbleInput,\n            {\n              __scopeCheckbox\n            }\n          )\n        ] })\n      }\n    );\n  }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n    const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n    return /* @__PURE__ */ jsx(\n      Presence,\n      {\n        present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            \"data-state\": getState(context.checked),\n            \"data-disabled\": context.disabled ? \"\" : void 0,\n            ...indicatorProps,\n            ref: forwardedRef,\n            style: { pointerEvents: \"none\", ...props.style }\n          }\n        )\n      }\n    );\n  }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = React.forwardRef(\n  ({ __scopeCheckbox, ...props }, forwardedRef) => {\n    const {\n      control,\n      hasConsumerStoppedPropagationRef,\n      checked,\n      defaultChecked,\n      required,\n      disabled,\n      name,\n      value,\n      form,\n      bubbleInput,\n      setBubbleInput\n    } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n    const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n    const prevChecked = usePrevious(checked);\n    const controlSize = useSize(control);\n    React.useEffect(() => {\n      const input = bubbleInput;\n      if (!input) return;\n      const inputProto = window.HTMLInputElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        inputProto,\n        \"checked\"\n      );\n      const setChecked = descriptor.set;\n      const bubbles = !hasConsumerStoppedPropagationRef.current;\n      if (prevChecked !== checked && setChecked) {\n        const event = new Event(\"click\", { bubbles });\n        input.indeterminate = isIndeterminate(checked);\n        setChecked.call(input, isIndeterminate(checked) ? false : checked);\n        input.dispatchEvent(event);\n      }\n    }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n    const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n    return /* @__PURE__ */ jsx(\n      Primitive.input,\n      {\n        type: \"checkbox\",\n        \"aria-hidden\": true,\n        defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n        required,\n        disabled,\n        name,\n        value,\n        form,\n        ...props,\n        tabIndex: -1,\n        ref: composedRefs,\n        style: {\n          ...props.style,\n          ...controlSize,\n          position: \"absolute\",\n          pointerEvents: \"none\",\n          opacity: 0,\n          margin: 0,\n          // We transform because the input is absolutely positioned but we have\n          // rendered it **after** the button. This pulls it back to sit on top\n          // of the button.\n          transform: \"translateX(-100%)\"\n        }\n      }\n    );\n  }\n);\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n  return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n  return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n  return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nexport {\n  Checkbox,\n  CheckboxIndicator,\n  CheckboxIndicator as Indicator,\n  Checkbox as Root,\n  createCheckboxScope,\n  CheckboxBubbleInput as unstable_BubbleInput,\n  CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n  CheckboxProvider as unstable_CheckboxProvider,\n  CheckboxTrigger as unstable_CheckboxTrigger,\n  CheckboxProvider as unstable_Provider,\n  CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n  const PROVIDER_NAME = name + \"CollectionProvider\";\n  const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n  const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n    PROVIDER_NAME,\n    { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n  );\n  const CollectionProvider = (props) => {\n    const { scope, children } = props;\n    const ref = React.useRef(null);\n    const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n    return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n  };\n  CollectionProvider.displayName = PROVIDER_NAME;\n  const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n  const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n  const CollectionSlot = React.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children } = props;\n      const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n      const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n      return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n    }\n  );\n  CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n  const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n  const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n  const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n  const CollectionItemSlot = React.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children, ...itemData } = props;\n      const ref = React.useRef(null);\n      const composedRefs = useComposedRefs(forwardedRef, ref);\n      const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n      React.useEffect(() => {\n        context.itemMap.set(ref, { ref, ...itemData });\n        return () => void context.itemMap.delete(ref);\n      });\n      return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n    }\n  );\n  CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n  function useCollection(scope) {\n    const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n    const getItems = React.useCallback(() => {\n      const collectionNode = context.collectionRef.current;\n      if (!collectionNode) return [];\n      const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n      const items = Array.from(context.itemMap.values());\n      const orderedItems = items.sort(\n        (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n      );\n      return orderedItems;\n    }, [context.collectionRef, context.itemMap]);\n    return getItems;\n  }\n  return [\n    { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n    useCollection,\n    createCollectionScope\n  ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n  #keys;\n  constructor(entries) {\n    super(entries);\n    this.#keys = [...super.keys()];\n    __instanciated.set(this, true);\n  }\n  set(key, value) {\n    if (__instanciated.get(this)) {\n      if (this.has(key)) {\n        this.#keys[this.#keys.indexOf(key)] = key;\n      } else {\n        this.#keys.push(key);\n      }\n    }\n    super.set(key, value);\n    return this;\n  }\n  insert(index, key, value) {\n    const has = this.has(key);\n    const length = this.#keys.length;\n    const relativeIndex = toSafeInteger(index);\n    let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n    const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n    if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n      this.set(key, value);\n      return this;\n    }\n    const size = this.size + (has ? 0 : 1);\n    if (relativeIndex < 0) {\n      actualIndex++;\n    }\n    const keys = [...this.#keys];\n    let nextValue;\n    let shouldSkip = false;\n    for (let i = actualIndex; i < size; i++) {\n      if (actualIndex === i) {\n        let nextKey = keys[i];\n        if (keys[i] === key) {\n          nextKey = keys[i + 1];\n        }\n        if (has) {\n          this.delete(key);\n        }\n        nextValue = this.get(nextKey);\n        this.set(key, value);\n      } else {\n        if (!shouldSkip && keys[i - 1] === key) {\n          shouldSkip = true;\n        }\n        const currentKey = keys[shouldSkip ? i : i - 1];\n        const currentValue = nextValue;\n        nextValue = this.get(currentKey);\n        this.delete(currentKey);\n        this.set(currentKey, currentValue);\n      }\n    }\n    return this;\n  }\n  with(index, key, value) {\n    const copy = new _OrderedDict(this);\n    copy.insert(index, key, value);\n    return copy;\n  }\n  before(key) {\n    const index = this.#keys.indexOf(key) - 1;\n    if (index < 0) {\n      return void 0;\n    }\n    return this.entryAt(index);\n  }\n  /**\n   * Sets a new key-value pair at the position before the given key.\n   */\n  setBefore(key, newKey, value) {\n    const index = this.#keys.indexOf(key);\n    if (index === -1) {\n      return this;\n    }\n    return this.insert(index, newKey, value);\n  }\n  after(key) {\n    let index = this.#keys.indexOf(key);\n    index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n    if (index === -1) {\n      return void 0;\n    }\n    return this.entryAt(index);\n  }\n  /**\n   * Sets a new key-value pair at the position after the given key.\n   */\n  setAfter(key, newKey, value) {\n    const index = this.#keys.indexOf(key);\n    if (index === -1) {\n      return this;\n    }\n    return this.insert(index + 1, newKey, value);\n  }\n  first() {\n    return this.entryAt(0);\n  }\n  last() {\n    return this.entryAt(-1);\n  }\n  clear() {\n    this.#keys = [];\n    return super.clear();\n  }\n  delete(key) {\n    const deleted = super.delete(key);\n    if (deleted) {\n      this.#keys.splice(this.#keys.indexOf(key), 1);\n    }\n    return deleted;\n  }\n  deleteAt(index) {\n    const key = this.keyAt(index);\n    if (key !== void 0) {\n      return this.delete(key);\n    }\n    return false;\n  }\n  at(index) {\n    const key = at(this.#keys, index);\n    if (key !== void 0) {\n      return this.get(key);\n    }\n  }\n  entryAt(index) {\n    const key = at(this.#keys, index);\n    if (key !== void 0) {\n      return [key, this.get(key)];\n    }\n  }\n  indexOf(key) {\n    return this.#keys.indexOf(key);\n  }\n  keyAt(index) {\n    return at(this.#keys, index);\n  }\n  from(key, offset) {\n    const index = this.indexOf(key);\n    if (index === -1) {\n      return void 0;\n    }\n    let dest = index + offset;\n    if (dest < 0) dest = 0;\n    if (dest >= this.size) dest = this.size - 1;\n    return this.at(dest);\n  }\n  keyFrom(key, offset) {\n    const index = this.indexOf(key);\n    if (index === -1) {\n      return void 0;\n    }\n    let dest = index + offset;\n    if (dest < 0) dest = 0;\n    if (dest >= this.size) dest = this.size - 1;\n    return this.keyAt(dest);\n  }\n  find(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return entry;\n      }\n      index++;\n    }\n    return void 0;\n  }\n  findIndex(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return index;\n      }\n      index++;\n    }\n    return -1;\n  }\n  filter(predicate, thisArg) {\n    const entries = [];\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        entries.push(entry);\n      }\n      index++;\n    }\n    return new _OrderedDict(entries);\n  }\n  map(callbackfn, thisArg) {\n    const entries = [];\n    let index = 0;\n    for (const entry of this) {\n      entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n      index++;\n    }\n    return new _OrderedDict(entries);\n  }\n  reduce(...args) {\n    const [callbackfn, initialValue] = args;\n    let index = 0;\n    let accumulator = initialValue ?? this.at(0);\n    for (const entry of this) {\n      if (index === 0 && args.length === 1) {\n        accumulator = entry;\n      } else {\n        accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n      }\n      index++;\n    }\n    return accumulator;\n  }\n  reduceRight(...args) {\n    const [callbackfn, initialValue] = args;\n    let accumulator = initialValue ?? this.at(-1);\n    for (let index = this.size - 1; index >= 0; index--) {\n      const entry = this.at(index);\n      if (index === this.size - 1 && args.length === 1) {\n        accumulator = entry;\n      } else {\n        accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n      }\n    }\n    return accumulator;\n  }\n  toSorted(compareFn) {\n    const entries = [...this.entries()].sort(compareFn);\n    return new _OrderedDict(entries);\n  }\n  toReversed() {\n    const reversed = new _OrderedDict();\n    for (let index = this.size - 1; index >= 0; index--) {\n      const key = this.keyAt(index);\n      const element = this.get(key);\n      reversed.set(key, element);\n    }\n    return reversed;\n  }\n  toSpliced(...args) {\n    const entries = [...this.entries()];\n    entries.splice(...args);\n    return new _OrderedDict(entries);\n  }\n  slice(start, end) {\n    const result = new _OrderedDict();\n    let stop = this.size - 1;\n    if (start === void 0) {\n      return result;\n    }\n    if (start < 0) {\n      start = start + this.size;\n    }\n    if (end !== void 0 && end > 0) {\n      stop = end - 1;\n    }\n    for (let index = start; index <= stop; index++) {\n      const key = this.keyAt(index);\n      const element = this.get(key);\n      result.set(key, element);\n    }\n    return result;\n  }\n  every(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return false;\n      }\n      index++;\n    }\n    return true;\n  }\n  some(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return true;\n      }\n      index++;\n    }\n    return false;\n  }\n};\nfunction at(array, index) {\n  if (\"at\" in Array.prototype) {\n    return Array.prototype.at.call(array, index);\n  }\n  const actualIndex = toSafeIndex(array, index);\n  return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n  const length = array.length;\n  const relativeIndex = toSafeInteger(index);\n  const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n  return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n  return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n  const PROVIDER_NAME = name + \"CollectionProvider\";\n  const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n  const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n    PROVIDER_NAME,\n    {\n      collectionElement: null,\n      collectionRef: { current: null },\n      collectionRefObject: { current: null },\n      itemMap: new OrderedDict(),\n      setItemMap: () => void 0\n    }\n  );\n  const CollectionProvider = ({ state, ...props }) => {\n    return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n  };\n  CollectionProvider.displayName = PROVIDER_NAME;\n  const CollectionInit = (props) => {\n    const state = useInitCollection();\n    return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n  };\n  CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n  const CollectionProviderImpl = (props) => {\n    const { scope, children, state } = props;\n    const ref = React2.useRef(null);\n    const [collectionElement, setCollectionElement] = React2.useState(\n      null\n    );\n    const composeRefs = useComposedRefs2(ref, setCollectionElement);\n    const [itemMap, setItemMap] = state;\n    React2.useEffect(() => {\n      if (!collectionElement) return;\n      const observer = getChildListObserver(() => {\n      });\n      observer.observe(collectionElement, {\n        childList: true,\n        subtree: true\n      });\n      return () => {\n        observer.disconnect();\n      };\n    }, [collectionElement]);\n    return /* @__PURE__ */ jsx2(\n      CollectionContextProvider,\n      {\n        scope,\n        itemMap,\n        setItemMap,\n        collectionRef: composeRefs,\n        collectionRefObject: ref,\n        collectionElement,\n        children\n      }\n    );\n  };\n  CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n  const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n  const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n  const CollectionSlot = React2.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children } = props;\n      const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n      const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n      return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n    }\n  );\n  CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n  const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n  const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n  const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n  const CollectionItemSlot = React2.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children, ...itemData } = props;\n      const ref = React2.useRef(null);\n      const [element, setElement] = React2.useState(null);\n      const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n      const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n      const { setItemMap } = context;\n      const itemDataRef = React2.useRef(itemData);\n      if (!shallowEqual(itemDataRef.current, itemData)) {\n        itemDataRef.current = itemData;\n      }\n      const memoizedItemData = itemDataRef.current;\n      React2.useEffect(() => {\n        const itemData2 = memoizedItemData;\n        setItemMap((map) => {\n          if (!element) {\n            return map;\n          }\n          if (!map.has(element)) {\n            map.set(element, { ...itemData2, element });\n            return map.toSorted(sortByDocumentPosition);\n          }\n          return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n        });\n        return () => {\n          setItemMap((map) => {\n            if (!element || !map.has(element)) {\n              return map;\n            }\n            map.delete(element);\n            return new OrderedDict(map);\n          });\n        };\n      }, [element, memoizedItemData, setItemMap]);\n      return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n    }\n  );\n  CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n  function useInitCollection() {\n    return React2.useState(new OrderedDict());\n  }\n  function useCollection(scope) {\n    const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n    return itemMap;\n  }\n  const functions = {\n    createCollectionScope,\n    useCollection,\n    useInitCollection\n  };\n  return [\n    { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n    functions\n  ];\n}\nfunction shallowEqual(a, b) {\n  if (a === b) return true;\n  if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n  if (a == null || b == null) return false;\n  const keysA = Object.keys(a);\n  const keysB = Object.keys(b);\n  if (keysA.length !== keysB.length) return false;\n  for (const key of keysA) {\n    if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n    if (a[key] !== b[key]) return false;\n  }\n  return true;\n}\nfunction isElementPreceding(a, b) {\n  return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n  return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n  const observer = new MutationObserver((mutationsList) => {\n    for (const mutation of mutationsList) {\n      if (mutation.type === \"childList\") {\n        callback();\n        return;\n      }\n    }\n  });\n  return observer;\n}\nexport {\n  createCollection,\n  createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n  const {\n    __scopeDialog,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = true\n  } = props;\n  const triggerRef = React.useRef(null);\n  const contentRef = React.useRef(null);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: DIALOG_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    DialogProvider,\n    {\n      scope: __scopeDialog,\n      triggerRef,\n      contentRef,\n      contentId: useId(),\n      titleId: useId(),\n      descriptionId: useId(),\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      modal,\n      children\n    }\n  );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...triggerProps } = props;\n    const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n    const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        \"aria-haspopup\": \"dialog\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.contentId,\n        \"data-state\": getState(context.open),\n        ...triggerProps,\n        ref: composedTriggerRef,\n        onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n      }\n    );\n  }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar DialogPortal = (props) => {\n  const { __scopeDialog, forceMount, children, container } = props;\n  const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n    const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n    const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n    return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n  }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar Slot = createSlot(\"DialogOverlay.RemoveScroll\");\nvar DialogOverlayImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...overlayProps } = props;\n    const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n    return (\n      // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n      // ie. when `Overlay` and `Content` are siblings\n      /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          \"data-state\": getState(context.open),\n          ...overlayProps,\n          ref: forwardedRef,\n          style: { pointerEvents: \"auto\", ...overlayProps.style }\n        }\n      ) })\n    );\n  }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n  }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n    React.useEffect(() => {\n      const content = contentRef.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      DialogContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: true,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          event.preventDefault();\n          context.triggerRef.current?.focus();\n        }),\n        onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n          const originalEvent = event.detail.originalEvent;\n          const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n          const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n          if (isRightClick) event.preventDefault();\n        }),\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault()\n        )\n      }\n    );\n  }\n);\nvar DialogContentNonModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n    const hasInteractedOutsideRef = React.useRef(false);\n    const hasPointerDownOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      DialogContentImpl,\n      {\n        ...props,\n        ref: forwardedRef,\n        trapFocus: false,\n        disableOutsidePointerEvents: false,\n        onCloseAutoFocus: (event) => {\n          props.onCloseAutoFocus?.(event);\n          if (!event.defaultPrevented) {\n            if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n            event.preventDefault();\n          }\n          hasInteractedOutsideRef.current = false;\n          hasPointerDownOutsideRef.current = false;\n        },\n        onInteractOutside: (event) => {\n          props.onInteractOutside?.(event);\n          if (!event.defaultPrevented) {\n            hasInteractedOutsideRef.current = true;\n            if (event.detail.originalEvent.type === \"pointerdown\") {\n              hasPointerDownOutsideRef.current = true;\n            }\n          }\n          const target = event.target;\n          const targetIsTrigger = context.triggerRef.current?.contains(target);\n          if (targetIsTrigger) event.preventDefault();\n          if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n            event.preventDefault();\n          }\n        }\n      }\n    );\n  }\n);\nvar DialogContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n    const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef);\n    useFocusGuards();\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(\n        FocusScope,\n        {\n          asChild: true,\n          loop: true,\n          trapped: trapFocus,\n          onMountAutoFocus: onOpenAutoFocus,\n          onUnmountAutoFocus: onCloseAutoFocus,\n          children: /* @__PURE__ */ jsx(\n            DismissableLayer,\n            {\n              role: \"dialog\",\n              id: context.contentId,\n              \"aria-describedby\": context.descriptionId,\n              \"aria-labelledby\": context.titleId,\n              \"data-state\": getState(context.open),\n              ...contentProps,\n              ref: composedRefs,\n              onDismiss: () => context.onOpenChange(false)\n            }\n          )\n        }\n      ),\n      /* @__PURE__ */ jsxs(Fragment, { children: [\n        /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n        /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n      ] })\n    ] });\n  }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...titleProps } = props;\n    const context = useDialogContext(TITLE_NAME, __scopeDialog);\n    return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n  }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...descriptionProps } = props;\n    const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n    return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n  }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...closeProps } = props;\n    const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        ...closeProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n      }\n    );\n  }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n  return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n  contentName: CONTENT_NAME,\n  titleName: TITLE_NAME,\n  docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n  const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n  const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n  React.useEffect(() => {\n    if (titleId) {\n      const hasTitle = document.getElementById(titleId);\n      if (!hasTitle) console.error(MESSAGE);\n    }\n  }, [MESSAGE, titleId]);\n  return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n  const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n  const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n  React.useEffect(() => {\n    const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n    if (descriptionId && describedById) {\n      const hasDescription = document.getElementById(descriptionId);\n      if (!hasDescription) console.warn(MESSAGE);\n    }\n  }, [MESSAGE, contentRef, descriptionId]);\n  return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n  Close,\n  Content,\n  Description,\n  Dialog,\n  DialogClose,\n  DialogContent,\n  DialogDescription,\n  DialogOverlay,\n  DialogPortal,\n  DialogTitle,\n  DialogTrigger,\n  Overlay,\n  Portal,\n  Root,\n  Title,\n  Trigger,\n  WarningProvider,\n  createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n  layers: /* @__PURE__ */ new Set(),\n  layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n  branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      disableOutsidePointerEvents = false,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      onDismiss,\n      ...layerProps\n    } = props;\n    const context = React.useContext(DismissableLayerContext);\n    const [node, setNode] = React.useState(null);\n    const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n    const [, force] = React.useState({});\n    const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n    const layers = Array.from(context.layers);\n    const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n    const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n    const index = node ? layers.indexOf(node) : -1;\n    const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n    const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n    const pointerDownOutside = usePointerDownOutside((event) => {\n      const target = event.target;\n      const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n      if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n      onPointerDownOutside?.(event);\n      onInteractOutside?.(event);\n      if (!event.defaultPrevented) onDismiss?.();\n    }, ownerDocument);\n    const focusOutside = useFocusOutside((event) => {\n      const target = event.target;\n      const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n      if (isFocusInBranch) return;\n      onFocusOutside?.(event);\n      onInteractOutside?.(event);\n      if (!event.defaultPrevented) onDismiss?.();\n    }, ownerDocument);\n    useEscapeKeydown((event) => {\n      const isHighestLayer = index === context.layers.size - 1;\n      if (!isHighestLayer) return;\n      onEscapeKeyDown?.(event);\n      if (!event.defaultPrevented && onDismiss) {\n        event.preventDefault();\n        onDismiss();\n      }\n    }, ownerDocument);\n    React.useEffect(() => {\n      if (!node) return;\n      if (disableOutsidePointerEvents) {\n        if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n          originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n          ownerDocument.body.style.pointerEvents = \"none\";\n        }\n        context.layersWithOutsidePointerEventsDisabled.add(node);\n      }\n      context.layers.add(node);\n      dispatchUpdate();\n      return () => {\n        if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n          ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n        }\n      };\n    }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n    React.useEffect(() => {\n      return () => {\n        if (!node) return;\n        context.layers.delete(node);\n        context.layersWithOutsidePointerEventsDisabled.delete(node);\n        dispatchUpdate();\n      };\n    }, [node, context]);\n    React.useEffect(() => {\n      const handleUpdate = () => force({});\n      document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n      return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        ...layerProps,\n        ref: composedRefs,\n        style: {\n          pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n          ...props.style\n        },\n        onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n        onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n        onPointerDownCapture: composeEventHandlers(\n          props.onPointerDownCapture,\n          pointerDownOutside.onPointerDownCapture\n        )\n      }\n    );\n  }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n  const context = React.useContext(DismissableLayerContext);\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  React.useEffect(() => {\n    const node = ref.current;\n    if (node) {\n      context.branches.add(node);\n      return () => {\n        context.branches.delete(node);\n      };\n    }\n  }, [context.branches]);\n  return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n  const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n  const isPointerInsideReactTreeRef = React.useRef(false);\n  const handleClickRef = React.useRef(() => {\n  });\n  React.useEffect(() => {\n    const handlePointerDown = (event) => {\n      if (event.target && !isPointerInsideReactTreeRef.current) {\n        let handleAndDispatchPointerDownOutsideEvent2 = function() {\n          handleAndDispatchCustomEvent(\n            POINTER_DOWN_OUTSIDE,\n            handlePointerDownOutside,\n            eventDetail,\n            { discrete: true }\n          );\n        };\n        var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n        const eventDetail = { originalEvent: event };\n        if (event.pointerType === \"touch\") {\n          ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n          handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n          ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n        } else {\n          handleAndDispatchPointerDownOutsideEvent2();\n        }\n      } else {\n        ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n      }\n      isPointerInsideReactTreeRef.current = false;\n    };\n    const timerId = window.setTimeout(() => {\n      ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n    }, 0);\n    return () => {\n      window.clearTimeout(timerId);\n      ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n      ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n    };\n  }, [ownerDocument, handlePointerDownOutside]);\n  return {\n    // ensures we check React component tree (not just DOM tree)\n    onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n  };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n  const handleFocusOutside = useCallbackRef(onFocusOutside);\n  const isFocusInsideReactTreeRef = React.useRef(false);\n  React.useEffect(() => {\n    const handleFocus = (event) => {\n      if (event.target && !isFocusInsideReactTreeRef.current) {\n        const eventDetail = { originalEvent: event };\n        handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n          discrete: false\n        });\n      }\n    };\n    ownerDocument.addEventListener(\"focusin\", handleFocus);\n    return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n  }, [ownerDocument, handleFocusOutside]);\n  return {\n    onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n    onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n  };\n}\nfunction dispatchUpdate() {\n  const event = new CustomEvent(CONTEXT_UPDATE);\n  document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n  const target = detail.originalEvent.target;\n  const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n  if (handler) target.addEventListener(name, handler, { once: true });\n  if (discrete) {\n    dispatchDiscreteCustomEvent(target, event);\n  } else {\n    target.dispatchEvent(event);\n  }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n  Branch,\n  DismissableLayer,\n  DismissableLayerBranch,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n  ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n  rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n  ltr: [\"ArrowLeft\"],\n  rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n  createCollectionScope,\n  createPopperScope,\n  createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n  const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n  const popperScope = usePopperScope(__scopeMenu);\n  const [content, setContent] = React.useState(null);\n  const isUsingKeyboardRef = React.useRef(false);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  const direction = useDirection(dir);\n  React.useEffect(() => {\n    const handleKeyDown = () => {\n      isUsingKeyboardRef.current = true;\n      document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n      document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n    };\n    const handlePointer = () => isUsingKeyboardRef.current = false;\n    document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n    return () => {\n      document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n      document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n      document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n    };\n  }, []);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuRootProvider,\n        {\n          scope: __scopeMenu,\n          onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n          isUsingKeyboardRef,\n          dir: direction,\n          modal,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...anchorProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n  }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar MenuPortal = (props) => {\n  const { __scopeMenu, forceMount, children, container } = props;\n  const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n  }\n);\nvar MenuRootContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    React.useEffect(() => {\n      const content = ref.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: context.open,\n        disableOutsideScroll: true,\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault(),\n          { checkForDefaultPrevented: false }\n        ),\n        onDismiss: () => context.onOpenChange(false)\n      }\n    );\n  }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n  const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n  return /* @__PURE__ */ jsx(\n    MenuContentImpl,\n    {\n      ...props,\n      ref: forwardedRef,\n      trapFocus: false,\n      disableOutsidePointerEvents: false,\n      disableOutsideScroll: false,\n      onDismiss: () => context.onOpenChange(false)\n    }\n  );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeMenu,\n      loop = false,\n      trapFocus,\n      onOpenAutoFocus,\n      onCloseAutoFocus,\n      disableOutsidePointerEvents,\n      onEntryFocus,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      onDismiss,\n      disableOutsideScroll,\n      ...contentProps\n    } = props;\n    const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n    const popperScope = usePopperScope(__scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const getItems = useCollection(__scopeMenu);\n    const [currentItemId, setCurrentItemId] = React.useState(null);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n    const timerRef = React.useRef(0);\n    const searchRef = React.useRef(\"\");\n    const pointerGraceTimerRef = React.useRef(0);\n    const pointerGraceIntentRef = React.useRef(null);\n    const pointerDirRef = React.useRef(\"right\");\n    const lastPointerXRef = React.useRef(0);\n    const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n    const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n    const handleTypeaheadSearch = (key) => {\n      const search = searchRef.current + key;\n      const items = getItems().filter((item) => !item.disabled);\n      const currentItem = document.activeElement;\n      const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n      const values = items.map((item) => item.textValue);\n      const nextMatch = getNextMatch(values, search, currentMatch);\n      const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n      (function updateSearch(value) {\n        searchRef.current = value;\n        window.clearTimeout(timerRef.current);\n        if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n      })(search);\n      if (newItem) {\n        setTimeout(() => newItem.focus());\n      }\n    };\n    React.useEffect(() => {\n      return () => window.clearTimeout(timerRef.current);\n    }, []);\n    useFocusGuards();\n    const isPointerMovingToSubmenu = React.useCallback((event) => {\n      const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n      return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentProvider,\n      {\n        scope: __scopeMenu,\n        searchRef,\n        onItemEnter: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onItemLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) return;\n            contentRef.current?.focus();\n            setCurrentItemId(null);\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onTriggerLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        pointerGraceTimerRef,\n        onPointerGraceIntentChange: React.useCallback((intent) => {\n          pointerGraceIntentRef.current = intent;\n        }, []),\n        children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n          FocusScope,\n          {\n            asChild: true,\n            trapped: trapFocus,\n            onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n              event.preventDefault();\n              contentRef.current?.focus({ preventScroll: true });\n            }),\n            onUnmountAutoFocus: onCloseAutoFocus,\n            children: /* @__PURE__ */ jsx(\n              DismissableLayer,\n              {\n                asChild: true,\n                disableOutsidePointerEvents,\n                onEscapeKeyDown,\n                onPointerDownOutside,\n                onFocusOutside,\n                onInteractOutside,\n                onDismiss,\n                children: /* @__PURE__ */ jsx(\n                  RovingFocusGroup.Root,\n                  {\n                    asChild: true,\n                    ...rovingFocusGroupScope,\n                    dir: rootContext.dir,\n                    orientation: \"vertical\",\n                    loop,\n                    currentTabStopId: currentItemId,\n                    onCurrentTabStopIdChange: setCurrentItemId,\n                    onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n                      if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n                    }),\n                    preventScrollOnEntryFocus: true,\n                    children: /* @__PURE__ */ jsx(\n                      PopperPrimitive.Content,\n                      {\n                        role: \"menu\",\n                        \"aria-orientation\": \"vertical\",\n                        \"data-state\": getOpenState(context.open),\n                        \"data-radix-menu-content\": \"\",\n                        dir: rootContext.dir,\n                        ...popperScope,\n                        ...contentProps,\n                        ref: composedRefs,\n                        style: { outline: \"none\", ...contentProps.style },\n                        onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n                          const target = event.target;\n                          const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n                          const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n                          const isCharacterKey = event.key.length === 1;\n                          if (isKeyDownInside) {\n                            if (event.key === \"Tab\") event.preventDefault();\n                            if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n                          }\n                          const content = contentRef.current;\n                          if (event.target !== content) return;\n                          if (!FIRST_LAST_KEYS.includes(event.key)) return;\n                          event.preventDefault();\n                          const items = getItems().filter((item) => !item.disabled);\n                          const candidateNodes = items.map((item) => item.ref.current);\n                          if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n                          focusFirst(candidateNodes);\n                        }),\n                        onBlur: composeEventHandlers(props.onBlur, (event) => {\n                          if (!event.currentTarget.contains(event.target)) {\n                            window.clearTimeout(timerRef.current);\n                            searchRef.current = \"\";\n                          }\n                        }),\n                        onPointerMove: composeEventHandlers(\n                          props.onPointerMove,\n                          whenMouse((event) => {\n                            const target = event.target;\n                            const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n                            if (event.currentTarget.contains(target) && pointerXHasChanged) {\n                              const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n                              pointerDirRef.current = newDir;\n                              lastPointerXRef.current = event.clientX;\n                            }\n                          })\n                        )\n                      }\n                    )\n                  }\n                )\n              }\n            )\n          }\n        ) })\n      }\n    );\n  }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...groupProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n  }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...labelProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n  }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { disabled = false, onSelect, ...itemProps } = props;\n    const ref = React.useRef(null);\n    const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const isPointerDownRef = React.useRef(false);\n    const handleSelect = () => {\n      const menuItem = ref.current;\n      if (!disabled && menuItem) {\n        const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n        menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n        dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n        if (itemSelectEvent.defaultPrevented) {\n          isPointerDownRef.current = false;\n        } else {\n          rootContext.onClose();\n        }\n      }\n    };\n    return /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        ...itemProps,\n        ref: composedRefs,\n        disabled,\n        onClick: composeEventHandlers(props.onClick, handleSelect),\n        onPointerDown: (event) => {\n          props.onPointerDown?.(event);\n          isPointerDownRef.current = true;\n        },\n        onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n          if (!isPointerDownRef.current) event.currentTarget?.click();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (disabled || isTypingAhead && event.key === \" \") return;\n          if (SELECTION_KEYS.includes(event.key)) {\n            event.currentTarget.click();\n            event.preventDefault();\n          }\n        })\n      }\n    );\n  }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n    const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const [isFocused, setIsFocused] = React.useState(false);\n    const [textContent, setTextContent] = React.useState(\"\");\n    React.useEffect(() => {\n      const menuItem = ref.current;\n      if (menuItem) {\n        setTextContent((menuItem.textContent ?? \"\").trim());\n      }\n    }, [itemProps.children]);\n    return /* @__PURE__ */ jsx(\n      Collection.ItemSlot,\n      {\n        scope: __scopeMenu,\n        disabled,\n        textValue: textValue ?? textContent,\n        children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            role: \"menuitem\",\n            \"data-highlighted\": isFocused ? \"\" : void 0,\n            \"aria-disabled\": disabled || void 0,\n            \"data-disabled\": disabled ? \"\" : void 0,\n            ...itemProps,\n            ref: composedRefs,\n            onPointerMove: composeEventHandlers(\n              props.onPointerMove,\n              whenMouse((event) => {\n                if (disabled) {\n                  contentContext.onItemLeave(event);\n                } else {\n                  contentContext.onItemEnter(event);\n                  if (!event.defaultPrevented) {\n                    const item = event.currentTarget;\n                    item.focus({ preventScroll: true });\n                  }\n                }\n              })\n            ),\n            onPointerLeave: composeEventHandlers(\n              props.onPointerLeave,\n              whenMouse((event) => contentContext.onItemLeave(event))\n            ),\n            onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n            onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n          }\n        ) })\n      }\n    );\n  }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemcheckbox\",\n        \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n        ...checkboxItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          checkboxItemProps.onSelect,\n          () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n  RADIO_GROUP_NAME,\n  { value: void 0, onValueChange: () => {\n  } }\n);\nvar MenuRadioGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, onValueChange, ...groupProps } = props;\n    const handleValueChange = useCallbackRef(onValueChange);\n    return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n  }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, ...radioItemProps } = props;\n    const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n    const checked = value === context.value;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemradio\",\n        \"aria-checked\": checked,\n        ...radioItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          radioItemProps.onSelect,\n          () => context.onValueChange?.(value),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n  ITEM_INDICATOR_NAME,\n  { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n    const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n    return /* @__PURE__ */ jsx(\n      Presence,\n      {\n        present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            ...itemIndicatorProps,\n            ref: forwardedRef,\n            \"data-state\": getCheckedState(indicatorContext.checked)\n          }\n        )\n      }\n    );\n  }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...separatorProps } = props;\n    return /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        role: \"separator\",\n        \"aria-orientation\": \"horizontal\",\n        ...separatorProps,\n        ref: forwardedRef\n      }\n    );\n  }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n  const { __scopeMenu, children, open = false, onOpenChange } = props;\n  const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n  const popperScope = usePopperScope(__scopeMenu);\n  const [trigger, setTrigger] = React.useState(null);\n  const [content, setContent] = React.useState(null);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  React.useEffect(() => {\n    if (parentMenuContext.open === false) handleOpenChange(false);\n    return () => handleOpenChange(false);\n  }, [parentMenuContext.open, handleOpenChange]);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuSubProvider,\n        {\n          scope: __scopeMenu,\n          contentId: useId(),\n          triggerId: useId(),\n          trigger,\n          onTriggerChange: setTrigger,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const openTimerRef = React.useRef(null);\n    const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n    const scope = { __scopeMenu: props.__scopeMenu };\n    const clearOpenTimer = React.useCallback(() => {\n      if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n      openTimerRef.current = null;\n    }, []);\n    React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n    React.useEffect(() => {\n      const pointerGraceTimer = pointerGraceTimerRef.current;\n      return () => {\n        window.clearTimeout(pointerGraceTimer);\n        onPointerGraceIntentChange(null);\n      };\n    }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n    return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        id: subContext.triggerId,\n        \"aria-haspopup\": \"menu\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": subContext.contentId,\n        \"data-state\": getOpenState(context.open),\n        ...props,\n        ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n        onClick: (event) => {\n          props.onClick?.(event);\n          if (props.disabled || event.defaultPrevented) return;\n          event.currentTarget.focus();\n          if (!context.open) context.onOpenChange(true);\n        },\n        onPointerMove: composeEventHandlers(\n          props.onPointerMove,\n          whenMouse((event) => {\n            contentContext.onItemEnter(event);\n            if (event.defaultPrevented) return;\n            if (!props.disabled && !context.open && !openTimerRef.current) {\n              contentContext.onPointerGraceIntentChange(null);\n              openTimerRef.current = window.setTimeout(() => {\n                context.onOpenChange(true);\n                clearOpenTimer();\n              }, 100);\n            }\n          })\n        ),\n        onPointerLeave: composeEventHandlers(\n          props.onPointerLeave,\n          whenMouse((event) => {\n            clearOpenTimer();\n            const contentRect = context.content?.getBoundingClientRect();\n            if (contentRect) {\n              const side = context.content?.dataset.side;\n              const rightSide = side === \"right\";\n              const bleed = rightSide ? -5 : 5;\n              const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n              const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n              contentContext.onPointerGraceIntentChange({\n                area: [\n                  // Apply a bleed on clientX to ensure that our exit point is\n                  // consistently within polygon bounds\n                  { x: event.clientX + bleed, y: event.clientY },\n                  { x: contentNearEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.bottom },\n                  { x: contentNearEdge, y: contentRect.bottom }\n                ],\n                side\n              });\n              window.clearTimeout(pointerGraceTimerRef.current);\n              pointerGraceTimerRef.current = window.setTimeout(\n                () => contentContext.onPointerGraceIntentChange(null),\n                300\n              );\n            } else {\n              contentContext.onTriggerLeave(event);\n              if (event.defaultPrevented) return;\n              contentContext.onPointerGraceIntentChange(null);\n            }\n          })\n        ),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (props.disabled || isTypingAhead && event.key === \" \") return;\n          if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n            context.onOpenChange(true);\n            context.content?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) });\n  }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        id: subContext.contentId,\n        \"aria-labelledby\": subContext.triggerId,\n        ...subContentProps,\n        ref: composedRefs,\n        align: \"start\",\n        side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n        disableOutsidePointerEvents: false,\n        disableOutsideScroll: false,\n        trapFocus: false,\n        onOpenAutoFocus: (event) => {\n          if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n          event.preventDefault();\n        },\n        onCloseAutoFocus: (event) => event.preventDefault(),\n        onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n          if (event.target !== subContext.trigger) context.onOpenChange(false);\n        }),\n        onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n          rootContext.onClose();\n          event.preventDefault();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isKeyDownInside = event.currentTarget.contains(event.target);\n          const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n          if (isKeyDownInside && isCloseKey) {\n            context.onOpenChange(false);\n            subContext.trigger?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) }) }) });\n  }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n  return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n  return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n  return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n  for (const candidate of candidates) {\n    if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n    candidate.focus();\n    if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n  }\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n  const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n  const normalizedSearch = isRepeated ? search[0] : search;\n  const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n  let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n  const excludeCurrentMatch = normalizedSearch.length === 1;\n  if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n  const nextMatch = wrappedValues.find(\n    (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n  );\n  return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n  const { x, y } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const ii = polygon[i];\n    const jj = polygon[j];\n    const xi = ii.x;\n    const yi = ii.y;\n    const xj = jj.x;\n    const yj = jj.y;\n    const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) inside = !inside;\n  }\n  return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n  if (!area) return false;\n  const cursorPos = { x: event.clientX, y: event.clientY };\n  return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n  return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n  Anchor2 as Anchor,\n  Arrow2 as Arrow,\n  CheckboxItem,\n  Content2 as Content,\n  Group,\n  Item2 as Item,\n  ItemIndicator,\n  Label,\n  Menu,\n  MenuAnchor,\n  MenuArrow,\n  MenuCheckboxItem,\n  MenuContent,\n  MenuGroup,\n  MenuItem,\n  MenuItemIndicator,\n  MenuLabel,\n  MenuPortal,\n  MenuRadioGroup,\n  MenuRadioItem,\n  MenuSeparator,\n  MenuSub,\n  MenuSubContent,\n  MenuSubTrigger,\n  Portal,\n  RadioGroup,\n  RadioItem,\n  Root3 as Root,\n  Separator,\n  Sub,\n  SubContent,\n  SubTrigger,\n  createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n  DROPDOWN_MENU_NAME,\n  [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n  const {\n    __scopeDropdownMenu,\n    children,\n    dir,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = true\n  } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  const triggerRef = React.useRef(null);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: DROPDOWN_MENU_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    DropdownMenuProvider,\n    {\n      scope: __scopeDropdownMenu,\n      triggerId: useId(),\n      triggerRef,\n      contentId: useId(),\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      modal,\n      children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n    }\n  );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n    const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        id: context.triggerId,\n        \"aria-haspopup\": \"menu\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.open ? context.contentId : void 0,\n        \"data-state\": context.open ? \"open\" : \"closed\",\n        \"data-disabled\": disabled ? \"\" : void 0,\n        disabled,\n        ...triggerProps,\n        ref: composeRefs(forwardedRef, context.triggerRef),\n        onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n          if (!disabled && event.button === 0 && event.ctrlKey === false) {\n            context.onOpenToggle();\n            if (!context.open) event.preventDefault();\n          }\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          if (disabled) return;\n          if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n          if (event.key === \"ArrowDown\") context.onOpenChange(true);\n          if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n        })\n      }\n    ) });\n  }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n  const { __scopeDropdownMenu, ...portalProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...contentProps } = props;\n    const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    const hasInteractedOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      MenuPrimitive.Content,\n      {\n        id: context.contentId,\n        \"aria-labelledby\": context.triggerId,\n        ...menuScope,\n        ...contentProps,\n        ref: forwardedRef,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n          hasInteractedOutsideRef.current = false;\n          event.preventDefault();\n        }),\n        onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n          const originalEvent = event.detail.originalEvent;\n          const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n          const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n          if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n        }),\n        style: {\n          ...props.style,\n          // re-namespace exposed content custom properties\n          ...{\n            \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n            \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n            \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n            \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n            \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n          }\n        }\n      }\n    );\n  }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...groupProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n  }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...labelProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n  }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...itemProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n  }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...radioGroupProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...radioItemProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...separatorProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...arrowProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n  const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: \"DropdownMenuSub\"\n  });\n  return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...subTriggerProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...subContentProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(\n    MenuPrimitive.SubContent,\n    {\n      ...menuScope,\n      ...subContentProps,\n      ref: forwardedRef,\n      style: {\n        ...props.style,\n        // re-namespace exposed content custom properties\n        ...{\n          \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n          \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n          \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n          \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n          \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n        }\n      }\n    }\n  );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n  Arrow2 as Arrow,\n  CheckboxItem2 as CheckboxItem,\n  Content2 as Content,\n  DropdownMenu,\n  DropdownMenuArrow,\n  DropdownMenuCheckboxItem,\n  DropdownMenuContent,\n  DropdownMenuGroup,\n  DropdownMenuItem,\n  DropdownMenuItemIndicator,\n  DropdownMenuLabel,\n  DropdownMenuPortal,\n  DropdownMenuRadioGroup,\n  DropdownMenuRadioItem,\n  DropdownMenuSeparator,\n  DropdownMenuSub,\n  DropdownMenuSubContent,\n  DropdownMenuSubTrigger,\n  DropdownMenuTrigger,\n  Group2 as Group,\n  Item2 as Item,\n  ItemIndicator2 as ItemIndicator,\n  Label2 as Label,\n  Portal2 as Portal,\n  RadioGroup2 as RadioGroup,\n  RadioItem2 as RadioItem,\n  Root2 as Root,\n  Separator2 as Separator,\n  Sub2 as Sub,\n  SubContent2 as SubContent,\n  SubTrigger2 as SubTrigger,\n  Trigger,\n  createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/focus-guards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n  useFocusGuards();\n  return props.children;\n}\nfunction useFocusGuards() {\n  React.useEffect(() => {\n    const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n    document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n    document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n    count++;\n    return () => {\n      if (count === 1) {\n        document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n      }\n      count--;\n    };\n  }, []);\n}\nfunction createFocusGuard() {\n  const element = document.createElement(\"span\");\n  element.setAttribute(\"data-radix-focus-guard\", \"\");\n  element.tabIndex = 0;\n  element.style.outline = \"none\";\n  element.style.opacity = \"0\";\n  element.style.position = \"fixed\";\n  element.style.pointerEvents = \"none\";\n  return element;\n}\nexport {\n  FocusGuards,\n  FocusGuards as Root,\n  useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n  const {\n    loop = false,\n    trapped = false,\n    onMountAutoFocus: onMountAutoFocusProp,\n    onUnmountAutoFocus: onUnmountAutoFocusProp,\n    ...scopeProps\n  } = props;\n  const [container, setContainer] = React.useState(null);\n  const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n  const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n  const lastFocusedElementRef = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n  const focusScope = React.useRef({\n    paused: false,\n    pause() {\n      this.paused = true;\n    },\n    resume() {\n      this.paused = false;\n    }\n  }).current;\n  React.useEffect(() => {\n    if (trapped) {\n      let handleFocusIn2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const target = event.target;\n        if (container.contains(target)) {\n          lastFocusedElementRef.current = target;\n        } else {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleFocusOut2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const relatedTarget = event.relatedTarget;\n        if (relatedTarget === null) return;\n        if (!container.contains(relatedTarget)) {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleMutations2 = function(mutations) {\n        const focusedElement = document.activeElement;\n        if (focusedElement !== document.body) return;\n        for (const mutation of mutations) {\n          if (mutation.removedNodes.length > 0) focus(container);\n        }\n      };\n      var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n      document.addEventListener(\"focusin\", handleFocusIn2);\n      document.addEventListener(\"focusout\", handleFocusOut2);\n      const mutationObserver = new MutationObserver(handleMutations2);\n      if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n      return () => {\n        document.removeEventListener(\"focusin\", handleFocusIn2);\n        document.removeEventListener(\"focusout\", handleFocusOut2);\n        mutationObserver.disconnect();\n      };\n    }\n  }, [trapped, container, focusScope.paused]);\n  React.useEffect(() => {\n    if (container) {\n      focusScopesStack.add(focusScope);\n      const previouslyFocusedElement = document.activeElement;\n      const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n      if (!hasFocusedCandidate) {\n        const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n        container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        container.dispatchEvent(mountEvent);\n        if (!mountEvent.defaultPrevented) {\n          focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n          if (document.activeElement === previouslyFocusedElement) {\n            focus(container);\n          }\n        }\n      }\n      return () => {\n        container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        setTimeout(() => {\n          const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n          container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          container.dispatchEvent(unmountEvent);\n          if (!unmountEvent.defaultPrevented) {\n            focus(previouslyFocusedElement ?? document.body, { select: true });\n          }\n          container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          focusScopesStack.remove(focusScope);\n        }, 0);\n      };\n    }\n  }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n  const handleKeyDown = React.useCallback(\n    (event) => {\n      if (!loop && !trapped) return;\n      if (focusScope.paused) return;\n      const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n      const focusedElement = document.activeElement;\n      if (isTabKey && focusedElement) {\n        const container2 = event.currentTarget;\n        const [first, last] = getTabbableEdges(container2);\n        const hasTabbableElementsInside = first && last;\n        if (!hasTabbableElementsInside) {\n          if (focusedElement === container2) event.preventDefault();\n        } else {\n          if (!event.shiftKey && focusedElement === last) {\n            event.preventDefault();\n            if (loop) focus(first, { select: true });\n          } else if (event.shiftKey && focusedElement === first) {\n            event.preventDefault();\n            if (loop) focus(last, { select: true });\n          }\n        }\n      }\n    },\n    [loop, trapped, focusScope.paused]\n  );\n  return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n  const previouslyFocusedElement = document.activeElement;\n  for (const candidate of candidates) {\n    focus(candidate, { select });\n    if (document.activeElement !== previouslyFocusedElement) return;\n  }\n}\nfunction getTabbableEdges(container) {\n  const candidates = getTabbableCandidates(container);\n  const first = findVisible(candidates, container);\n  const last = findVisible(candidates.reverse(), container);\n  return [first, last];\n}\nfunction getTabbableCandidates(container) {\n  const nodes = [];\n  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (node) => {\n      const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n      if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n      return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  while (walker.nextNode()) nodes.push(walker.currentNode);\n  return nodes;\n}\nfunction findVisible(elements, container) {\n  for (const element of elements) {\n    if (!isHidden(element, { upTo: container })) return element;\n  }\n}\nfunction isHidden(node, { upTo }) {\n  if (getComputedStyle(node).visibility === \"hidden\") return true;\n  while (node) {\n    if (upTo !== void 0 && node === upTo) return false;\n    if (getComputedStyle(node).display === \"none\") return true;\n    node = node.parentElement;\n  }\n  return false;\n}\nfunction isSelectableInput(element) {\n  return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n  if (element && element.focus) {\n    const previouslyFocusedElement = document.activeElement;\n    element.focus({ preventScroll: true });\n    if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n      element.select();\n  }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n  let stack = [];\n  return {\n    add(focusScope) {\n      const activeFocusScope = stack[0];\n      if (focusScope !== activeFocusScope) {\n        activeFocusScope?.pause();\n      }\n      stack = arrayRemove(stack, focusScope);\n      stack.unshift(focusScope);\n    },\n    remove(focusScope) {\n      stack = arrayRemove(stack, focusScope);\n      stack[0]?.resume();\n    }\n  };\n}\nfunction arrayRemove(array, item) {\n  const updatedArray = [...array];\n  const index = updatedArray.indexOf(item);\n  if (index !== -1) {\n    updatedArray.splice(index, 1);\n  }\n  return updatedArray;\n}\nfunction removeLinks(items) {\n  return items.filter((item) => item.tagName !== \"A\");\n}\nvar Root = FocusScope;\nexport {\n  FocusScope,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n  const [id, setId] = React.useState(useReactId());\n  useLayoutEffect(() => {\n    if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n  }, [deterministicId]);\n  return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n  useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n  const {\n    __scopePopover,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = false\n  } = props;\n  const popperScope = usePopperScope(__scopePopover);\n  const triggerRef = React.useRef(null);\n  const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: POPOVER_NAME\n  });\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    PopoverProvider,\n    {\n      scope: __scopePopover,\n      contentId: useId(),\n      triggerRef,\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      hasCustomAnchor,\n      onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n      onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n      modal,\n      children\n    }\n  ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...anchorProps } = props;\n    const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n    const popperScope = usePopperScope(__scopePopover);\n    const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n    React.useEffect(() => {\n      onCustomAnchorAdd();\n      return () => onCustomAnchorRemove();\n    }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n  }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...triggerProps } = props;\n    const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n    const popperScope = usePopperScope(__scopePopover);\n    const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n    const trigger = /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        \"aria-haspopup\": \"dialog\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.contentId,\n        \"data-state\": getState(context.open),\n        ...triggerProps,\n        ref: composedTriggerRef,\n        onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n      }\n    );\n    return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n  }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n  const { __scopePopover, forceMount, children, container } = props;\n  const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n  }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef);\n    const isRightClickOutsideRef = React.useRef(false);\n    React.useEffect(() => {\n      const content = contentRef.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n      PopoverContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: true,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          event.preventDefault();\n          if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n        }),\n        onPointerDownOutside: composeEventHandlers(\n          props.onPointerDownOutside,\n          (event) => {\n            const originalEvent = event.detail.originalEvent;\n            const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n            const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n            isRightClickOutsideRef.current = isRightClick;\n          },\n          { checkForDefaultPrevented: false }\n        ),\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault(),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nvar PopoverContentNonModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n    const hasInteractedOutsideRef = React.useRef(false);\n    const hasPointerDownOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      PopoverContentImpl,\n      {\n        ...props,\n        ref: forwardedRef,\n        trapFocus: false,\n        disableOutsidePointerEvents: false,\n        onCloseAutoFocus: (event) => {\n          props.onCloseAutoFocus?.(event);\n          if (!event.defaultPrevented) {\n            if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n            event.preventDefault();\n          }\n          hasInteractedOutsideRef.current = false;\n          hasPointerDownOutsideRef.current = false;\n        },\n        onInteractOutside: (event) => {\n          props.onInteractOutside?.(event);\n          if (!event.defaultPrevented) {\n            hasInteractedOutsideRef.current = true;\n            if (event.detail.originalEvent.type === \"pointerdown\") {\n              hasPointerDownOutsideRef.current = true;\n            }\n          }\n          const target = event.target;\n          const targetIsTrigger = context.triggerRef.current?.contains(target);\n          if (targetIsTrigger) event.preventDefault();\n          if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n            event.preventDefault();\n          }\n        }\n      }\n    );\n  }\n);\nvar PopoverContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopePopover,\n      trapFocus,\n      onOpenAutoFocus,\n      onCloseAutoFocus,\n      disableOutsidePointerEvents,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      ...contentProps\n    } = props;\n    const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n    const popperScope = usePopperScope(__scopePopover);\n    useFocusGuards();\n    return /* @__PURE__ */ jsx(\n      FocusScope,\n      {\n        asChild: true,\n        loop: true,\n        trapped: trapFocus,\n        onMountAutoFocus: onOpenAutoFocus,\n        onUnmountAutoFocus: onCloseAutoFocus,\n        children: /* @__PURE__ */ jsx(\n          DismissableLayer,\n          {\n            asChild: true,\n            disableOutsidePointerEvents,\n            onInteractOutside,\n            onEscapeKeyDown,\n            onPointerDownOutside,\n            onFocusOutside,\n            onDismiss: () => context.onOpenChange(false),\n            children: /* @__PURE__ */ jsx(\n              PopperPrimitive.Content,\n              {\n                \"data-state\": getState(context.open),\n                role: \"dialog\",\n                id: context.contentId,\n                ...popperScope,\n                ...contentProps,\n                ref: forwardedRef,\n                style: {\n                  ...contentProps.style,\n                  // re-namespace exposed content custom properties\n                  ...{\n                    \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n                    \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n                    \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n                    \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n                    \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n                  }\n                }\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...closeProps } = props;\n    const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        ...closeProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n      }\n    );\n  }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopePopover);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n  return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n  Anchor2 as Anchor,\n  Arrow2 as Arrow,\n  Close,\n  Content2 as Content,\n  Popover,\n  PopoverAnchor,\n  PopoverArrow,\n  PopoverClose,\n  PopoverContent,\n  PopoverPortal,\n  PopoverTrigger,\n  Portal,\n  Root2 as Root,\n  Trigger,\n  createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popper.tsx\nimport * as React from \"react\";\nimport {\n  useFloating,\n  autoUpdate,\n  offset,\n  shift,\n  limitShift,\n  hide,\n  arrow as floatingUIarrow,\n  flip,\n  size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n  const { __scopePopper, children } = props;\n  const [anchor, setAnchor] = React.useState(null);\n  return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopper, virtualRef, ...anchorProps } = props;\n    const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const anchorRef = React.useRef(null);\n    React.useEffect(() => {\n      const previousAnchor = anchorRef.current;\n      anchorRef.current = virtualRef?.current || ref.current;\n      if (previousAnchor !== anchorRef.current) {\n        context.onAnchorChange(anchorRef.current);\n      }\n    });\n    return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n  }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopePopper,\n      side = \"bottom\",\n      sideOffset = 0,\n      align = \"center\",\n      alignOffset = 0,\n      arrowPadding = 0,\n      avoidCollisions = true,\n      collisionBoundary = [],\n      collisionPadding: collisionPaddingProp = 0,\n      sticky = \"partial\",\n      hideWhenDetached = false,\n      updatePositionStrategy = \"optimized\",\n      onPlaced,\n      ...contentProps\n    } = props;\n    const context = usePopperContext(CONTENT_NAME, __scopePopper);\n    const [content, setContent] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n    const [arrow, setArrow] = React.useState(null);\n    const arrowSize = useSize(arrow);\n    const arrowWidth = arrowSize?.width ?? 0;\n    const arrowHeight = arrowSize?.height ?? 0;\n    const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n    const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n    const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n    const hasExplicitBoundaries = boundary.length > 0;\n    const detectOverflowOptions = {\n      padding: collisionPadding,\n      boundary: boundary.filter(isNotNull),\n      // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n      altBoundary: hasExplicitBoundaries\n    };\n    const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n      // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n      strategy: \"fixed\",\n      placement: desiredPlacement,\n      whileElementsMounted: (...args) => {\n        const cleanup = autoUpdate(...args, {\n          animationFrame: updatePositionStrategy === \"always\"\n        });\n        return cleanup;\n      },\n      elements: {\n        reference: context.anchor\n      },\n      middleware: [\n        offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n        avoidCollisions && shift({\n          mainAxis: true,\n          crossAxis: false,\n          limiter: sticky === \"partial\" ? limitShift() : void 0,\n          ...detectOverflowOptions\n        }),\n        avoidCollisions && flip({ ...detectOverflowOptions }),\n        size({\n          ...detectOverflowOptions,\n          apply: ({ elements, rects, availableWidth, availableHeight }) => {\n            const { width: anchorWidth, height: anchorHeight } = rects.reference;\n            const contentStyle = elements.floating.style;\n            contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n            contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n            contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n            contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n          }\n        }),\n        arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n        transformOrigin({ arrowWidth, arrowHeight }),\n        hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n      ]\n    });\n    const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n    const handlePlaced = useCallbackRef(onPlaced);\n    useLayoutEffect(() => {\n      if (isPositioned) {\n        handlePlaced?.();\n      }\n    }, [isPositioned, handlePlaced]);\n    const arrowX = middlewareData.arrow?.x;\n    const arrowY = middlewareData.arrow?.y;\n    const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n    const [contentZIndex, setContentZIndex] = React.useState();\n    useLayoutEffect(() => {\n      if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n    }, [content]);\n    return /* @__PURE__ */ jsx(\n      \"div\",\n      {\n        ref: refs.setFloating,\n        \"data-radix-popper-content-wrapper\": \"\",\n        style: {\n          ...floatingStyles,\n          transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n          // keep off the page when measuring\n          minWidth: \"max-content\",\n          zIndex: contentZIndex,\n          [\"--radix-popper-transform-origin\"]: [\n            middlewareData.transformOrigin?.x,\n            middlewareData.transformOrigin?.y\n          ].join(\" \"),\n          // hide the content if using the hide middleware and should be hidden\n          // set visibility to hidden and disable pointer events so the UI behaves\n          // as if the PopperContent isn't there at all\n          ...middlewareData.hide?.referenceHidden && {\n            visibility: \"hidden\",\n            pointerEvents: \"none\"\n          }\n        },\n        dir: props.dir,\n        children: /* @__PURE__ */ jsx(\n          PopperContentProvider,\n          {\n            scope: __scopePopper,\n            placedSide,\n            onArrowChange: setArrow,\n            arrowX,\n            arrowY,\n            shouldHideArrow: cannotCenterArrow,\n            children: /* @__PURE__ */ jsx(\n              Primitive.div,\n              {\n                \"data-side\": placedSide,\n                \"data-align\": placedAlign,\n                ...contentProps,\n                ref: composedRefs,\n                style: {\n                  ...contentProps.style,\n                  // if the PopperContent hasn't been placed yet (not all measurements done)\n                  // we prevent animations so that users's animation don't kick in too early referring wrong sides\n                  animation: !isPositioned ? \"none\" : void 0\n                }\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n  top: \"bottom\",\n  right: \"left\",\n  bottom: \"top\",\n  left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n  const { __scopePopper, ...arrowProps } = props;\n  const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n  const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n  return (\n    // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n    // doesn't report size as we'd expect on SVG elements.\n    // it reports their bounding box which is effectively the largest path inside the SVG.\n    /* @__PURE__ */ jsx(\n      \"span\",\n      {\n        ref: contentContext.onArrowChange,\n        style: {\n          position: \"absolute\",\n          left: contentContext.arrowX,\n          top: contentContext.arrowY,\n          [baseSide]: 0,\n          transformOrigin: {\n            top: \"\",\n            right: \"0 0\",\n            bottom: \"center 0\",\n            left: \"100% 0\"\n          }[contentContext.placedSide],\n          transform: {\n            top: \"translateY(100%)\",\n            right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n            bottom: `rotate(180deg)`,\n            left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n          }[contentContext.placedSide],\n          visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n        },\n        children: /* @__PURE__ */ jsx(\n          ArrowPrimitive.Root,\n          {\n            ...arrowProps,\n            ref: forwardedRef,\n            style: {\n              ...arrowProps.style,\n              // ensures the element can be measured correctly (mostly for if SVG)\n              display: \"block\"\n            }\n          }\n        )\n      }\n    )\n  );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n  return value !== null;\n}\nvar transformOrigin = (options) => ({\n  name: \"transformOrigin\",\n  options,\n  fn(data) {\n    const { placement, rects, middlewareData } = data;\n    const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n    const isArrowHidden = cannotCenterArrow;\n    const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n    const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n    const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n    const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n    const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n    const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n    let x = \"\";\n    let y = \"\";\n    if (placedSide === \"bottom\") {\n      x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n      y = `${-arrowHeight}px`;\n    } else if (placedSide === \"top\") {\n      x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n      y = `${rects.floating.height + arrowHeight}px`;\n    } else if (placedSide === \"right\") {\n      x = `${-arrowHeight}px`;\n      y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n    } else if (placedSide === \"left\") {\n      x = `${rects.floating.width + arrowHeight}px`;\n      y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n    }\n    return { data: { x, y } };\n  }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n  const [side, align = \"center\"] = placement.split(\"-\");\n  return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n  ALIGN_OPTIONS,\n  Anchor,\n  Arrow,\n  Content,\n  Popper,\n  PopperAnchor,\n  PopperArrow,\n  PopperContent,\n  Root2 as Root,\n  SIDE_OPTIONS,\n  createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { computePosition, arrow as arrow$2, autoPlacement as autoPlacement$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n  if (a === b) {\n    return true;\n  }\n  if (typeof a !== typeof b) {\n    return false;\n  }\n  if (typeof a === 'function' && a.toString() === b.toString()) {\n    return true;\n  }\n  let length;\n  let i;\n  let keys;\n  if (a && b && typeof a === 'object') {\n    if (Array.isArray(a)) {\n      length = a.length;\n      if (length !== b.length) return false;\n      for (i = length; i-- !== 0;) {\n        if (!deepEqual(a[i], b[i])) {\n          return false;\n        }\n      }\n      return true;\n    }\n    keys = Object.keys(a);\n    length = keys.length;\n    if (length !== Object.keys(b).length) {\n      return false;\n    }\n    for (i = length; i-- !== 0;) {\n      if (!{}.hasOwnProperty.call(b, keys[i])) {\n        return false;\n      }\n    }\n    for (i = length; i-- !== 0;) {\n      const key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        continue;\n      }\n      if (!deepEqual(a[key], b[key])) {\n        return false;\n      }\n    }\n    return true;\n  }\n  return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n  if (typeof window === 'undefined') {\n    return 1;\n  }\n  const win = element.ownerDocument.defaultView || window;\n  return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n  const dpr = getDPR(element);\n  return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n  const ref = React.useRef(value);\n  index(() => {\n    ref.current = value;\n  });\n  return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform,\n    elements: {\n      reference: externalReference,\n      floating: externalFloating\n    } = {},\n    transform = true,\n    whileElementsMounted,\n    open\n  } = options;\n  const [data, setData] = React.useState({\n    x: 0,\n    y: 0,\n    strategy,\n    placement,\n    middlewareData: {},\n    isPositioned: false\n  });\n  const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n  if (!deepEqual(latestMiddleware, middleware)) {\n    setLatestMiddleware(middleware);\n  }\n  const [_reference, _setReference] = React.useState(null);\n  const [_floating, _setFloating] = React.useState(null);\n  const setReference = React.useCallback(node => {\n    if (node !== referenceRef.current) {\n      referenceRef.current = node;\n      _setReference(node);\n    }\n  }, []);\n  const setFloating = React.useCallback(node => {\n    if (node !== floatingRef.current) {\n      floatingRef.current = node;\n      _setFloating(node);\n    }\n  }, []);\n  const referenceEl = externalReference || _reference;\n  const floatingEl = externalFloating || _floating;\n  const referenceRef = React.useRef(null);\n  const floatingRef = React.useRef(null);\n  const dataRef = React.useRef(data);\n  const hasWhileElementsMounted = whileElementsMounted != null;\n  const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n  const platformRef = useLatestRef(platform);\n  const openRef = useLatestRef(open);\n  const update = React.useCallback(() => {\n    if (!referenceRef.current || !floatingRef.current) {\n      return;\n    }\n    const config = {\n      placement,\n      strategy,\n      middleware: latestMiddleware\n    };\n    if (platformRef.current) {\n      config.platform = platformRef.current;\n    }\n    computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n      const fullData = {\n        ...data,\n        // The floating element's position may be recomputed while it's closed\n        // but still mounted (such as when transitioning out). To ensure\n        // `isPositioned` will be `false` initially on the next open, avoid\n        // setting it to `true` when `open === false` (must be specified).\n        isPositioned: openRef.current !== false\n      };\n      if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n        dataRef.current = fullData;\n        ReactDOM.flushSync(() => {\n          setData(fullData);\n        });\n      }\n    });\n  }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n  index(() => {\n    if (open === false && dataRef.current.isPositioned) {\n      dataRef.current.isPositioned = false;\n      setData(data => ({\n        ...data,\n        isPositioned: false\n      }));\n    }\n  }, [open]);\n  const isMountedRef = React.useRef(false);\n  index(() => {\n    isMountedRef.current = true;\n    return () => {\n      isMountedRef.current = false;\n    };\n  }, []);\n  index(() => {\n    if (referenceEl) referenceRef.current = referenceEl;\n    if (floatingEl) floatingRef.current = floatingEl;\n    if (referenceEl && floatingEl) {\n      if (whileElementsMountedRef.current) {\n        return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n      }\n      update();\n    }\n  }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n  const refs = React.useMemo(() => ({\n    reference: referenceRef,\n    floating: floatingRef,\n    setReference,\n    setFloating\n  }), [setReference, setFloating]);\n  const elements = React.useMemo(() => ({\n    reference: referenceEl,\n    floating: floatingEl\n  }), [referenceEl, floatingEl]);\n  const floatingStyles = React.useMemo(() => {\n    const initialStyles = {\n      position: strategy,\n      left: 0,\n      top: 0\n    };\n    if (!elements.floating) {\n      return initialStyles;\n    }\n    const x = roundByDPR(elements.floating, data.x);\n    const y = roundByDPR(elements.floating, data.y);\n    if (transform) {\n      return {\n        ...initialStyles,\n        transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n        ...(getDPR(elements.floating) >= 1.5 && {\n          willChange: 'transform'\n        })\n      };\n    }\n    return {\n      position: strategy,\n      left: x,\n      top: y\n    };\n  }, [strategy, transform, elements.floating, data.x, data.y]);\n  return React.useMemo(() => ({\n    ...data,\n    update,\n    refs,\n    elements,\n    floatingStyles\n  }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n  function isRef(value) {\n    return {}.hasOwnProperty.call(value, 'current');\n  }\n  return {\n    name: 'arrow',\n    options,\n    fn(state) {\n      const {\n        element,\n        padding\n      } = typeof options === 'function' ? options(state) : options;\n      if (element && isRef(element)) {\n        if (element.current != null) {\n          return arrow$2({\n            element: element.current,\n            padding\n          }).fn(state);\n        }\n        return {};\n      }\n      if (element) {\n        return arrow$2({\n          element,\n          padding\n        }).fn(state);\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n  ...offset$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n  ...shift$1(options),\n  options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n  ...limitShift$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n  ...flip$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n  ...size$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n  ...autoPlacement$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n  ...hide$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n  ...inline$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n  ...arrow$1(options),\n  options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n  const { container: containerProp, ...portalProps } = props;\n  const [mounted, setMounted] = React.useState(false);\n  useLayoutEffect(() => setMounted(true), []);\n  const container = containerProp || mounted && globalThis?.document?.body;\n  return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n  Portal,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/radio-group.tsx\nimport * as React2 from \"react\";\nimport { composeEventHandlers as composeEventHandlers2 } from \"@radix-ui/primitive\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { Primitive as Primitive2 } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\n\n// src/radio.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar RADIO_NAME = \"Radio\";\nvar [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\nvar [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME);\nvar Radio = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRadio,\n      name,\n      checked = false,\n      required,\n      disabled,\n      value = \"on\",\n      onCheck,\n      form,\n      ...radioProps\n    } = props;\n    const [button, setButton] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n    const hasConsumerStoppedPropagationRef = React.useRef(false);\n    const isFormControl = button ? form || !!button.closest(\"form\") : true;\n    return /* @__PURE__ */ jsxs(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [\n      /* @__PURE__ */ jsx(\n        Primitive.button,\n        {\n          type: \"button\",\n          role: \"radio\",\n          \"aria-checked\": checked,\n          \"data-state\": getState(checked),\n          \"data-disabled\": disabled ? \"\" : void 0,\n          disabled,\n          value,\n          ...radioProps,\n          ref: composedRefs,\n          onClick: composeEventHandlers(props.onClick, (event) => {\n            if (!checked) onCheck?.();\n            if (isFormControl) {\n              hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n              if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n            }\n          })\n        }\n      ),\n      isFormControl && /* @__PURE__ */ jsx(\n        RadioBubbleInput,\n        {\n          control: button,\n          bubbles: !hasConsumerStoppedPropagationRef.current,\n          name,\n          value,\n          checked,\n          required,\n          disabled,\n          form,\n          style: { transform: \"translateX(-100%)\" }\n        }\n      )\n    ] });\n  }\n);\nRadio.displayName = RADIO_NAME;\nvar INDICATOR_NAME = \"RadioIndicator\";\nvar RadioIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeRadio, forceMount, ...indicatorProps } = props;\n    const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        \"data-state\": getState(context.checked),\n        \"data-disabled\": context.disabled ? \"\" : void 0,\n        ...indicatorProps,\n        ref: forwardedRef\n      }\n    ) });\n  }\n);\nRadioIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar RadioBubbleInput = React.forwardRef(\n  ({\n    __scopeRadio,\n    control,\n    checked,\n    bubbles = true,\n    ...props\n  }, forwardedRef) => {\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(ref, forwardedRef);\n    const prevChecked = usePrevious(checked);\n    const controlSize = useSize(control);\n    React.useEffect(() => {\n      const input = ref.current;\n      if (!input) return;\n      const inputProto = window.HTMLInputElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        inputProto,\n        \"checked\"\n      );\n      const setChecked = descriptor.set;\n      if (prevChecked !== checked && setChecked) {\n        const event = new Event(\"click\", { bubbles });\n        setChecked.call(input, checked);\n        input.dispatchEvent(event);\n      }\n    }, [prevChecked, checked, bubbles]);\n    return /* @__PURE__ */ jsx(\n      Primitive.input,\n      {\n        type: \"radio\",\n        \"aria-hidden\": true,\n        defaultChecked: checked,\n        ...props,\n        tabIndex: -1,\n        ref: composedRefs,\n        style: {\n          ...props.style,\n          ...controlSize,\n          position: \"absolute\",\n          pointerEvents: \"none\",\n          opacity: 0,\n          margin: 0\n        }\n      }\n    );\n  }\n);\nRadioBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n  return checked ? \"checked\" : \"unchecked\";\n}\n\n// src/radio-group.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar RADIO_GROUP_NAME = \"RadioGroup\";\nvar [createRadioGroupContext, createRadioGroupScope] = createContextScope2(RADIO_GROUP_NAME, [\n  createRovingFocusGroupScope,\n  createRadioScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar useRadioScope = createRadioScope();\nvar [RadioGroupProvider, useRadioGroupContext] = createRadioGroupContext(RADIO_GROUP_NAME);\nvar RadioGroup = React2.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRadioGroup,\n      name,\n      defaultValue,\n      value: valueProp,\n      required = false,\n      disabled = false,\n      orientation,\n      dir,\n      loop = true,\n      onValueChange,\n      ...groupProps\n    } = props;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n    const direction = useDirection(dir);\n    const [value, setValue] = useControllableState({\n      prop: valueProp,\n      defaultProp: defaultValue ?? null,\n      onChange: onValueChange,\n      caller: RADIO_GROUP_NAME\n    });\n    return /* @__PURE__ */ jsx2(\n      RadioGroupProvider,\n      {\n        scope: __scopeRadioGroup,\n        name,\n        required,\n        disabled,\n        value,\n        onValueChange: setValue,\n        children: /* @__PURE__ */ jsx2(\n          RovingFocusGroup.Root,\n          {\n            asChild: true,\n            ...rovingFocusGroupScope,\n            orientation,\n            dir: direction,\n            loop,\n            children: /* @__PURE__ */ jsx2(\n              Primitive2.div,\n              {\n                role: \"radiogroup\",\n                \"aria-required\": required,\n                \"aria-orientation\": orientation,\n                \"data-disabled\": disabled ? \"\" : void 0,\n                dir: direction,\n                ...groupProps,\n                ref: forwardedRef\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nRadioGroup.displayName = RADIO_GROUP_NAME;\nvar ITEM_NAME = \"RadioGroupItem\";\nvar RadioGroupItem = React2.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeRadioGroup, disabled, ...itemProps } = props;\n    const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n    const isDisabled = context.disabled || disabled;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n    const radioScope = useRadioScope(__scopeRadioGroup);\n    const ref = React2.useRef(null);\n    const composedRefs = useComposedRefs2(forwardedRef, ref);\n    const checked = context.value === itemProps.value;\n    const isArrowKeyPressedRef = React2.useRef(false);\n    React2.useEffect(() => {\n      const handleKeyDown = (event) => {\n        if (ARROW_KEYS.includes(event.key)) {\n          isArrowKeyPressedRef.current = true;\n        }\n      };\n      const handleKeyUp = () => isArrowKeyPressedRef.current = false;\n      document.addEventListener(\"keydown\", handleKeyDown);\n      document.addEventListener(\"keyup\", handleKeyUp);\n      return () => {\n        document.removeEventListener(\"keydown\", handleKeyDown);\n        document.removeEventListener(\"keyup\", handleKeyUp);\n      };\n    }, []);\n    return /* @__PURE__ */ jsx2(\n      RovingFocusGroup.Item,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        focusable: !isDisabled,\n        active: checked,\n        children: /* @__PURE__ */ jsx2(\n          Radio,\n          {\n            disabled: isDisabled,\n            required: context.required,\n            checked,\n            ...radioScope,\n            ...itemProps,\n            name: context.name,\n            ref: composedRefs,\n            onCheck: () => context.onValueChange(itemProps.value),\n            onKeyDown: composeEventHandlers2((event) => {\n              if (event.key === \"Enter\") event.preventDefault();\n            }),\n            onFocus: composeEventHandlers2(itemProps.onFocus, () => {\n              if (isArrowKeyPressedRef.current) ref.current?.click();\n            })\n          }\n        )\n      }\n    );\n  }\n);\nRadioGroupItem.displayName = ITEM_NAME;\nvar INDICATOR_NAME2 = \"RadioGroupIndicator\";\nvar RadioGroupIndicator = React2.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeRadioGroup, ...indicatorProps } = props;\n    const radioScope = useRadioScope(__scopeRadioGroup);\n    return /* @__PURE__ */ jsx2(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef });\n  }\n);\nRadioGroupIndicator.displayName = INDICATOR_NAME2;\nvar Root2 = RadioGroup;\nvar Item2 = RadioGroupItem;\nvar Indicator = RadioGroupIndicator;\nexport {\n  Indicator,\n  Item2 as Item,\n  RadioGroup,\n  RadioGroupIndicator,\n  RadioGroupItem,\n  Root2 as Root,\n  createRadioGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n  GROUP_NAME,\n  [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n  }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n  const {\n    __scopeRovingFocusGroup,\n    orientation,\n    loop = false,\n    dir,\n    currentTabStopId: currentTabStopIdProp,\n    defaultCurrentTabStopId,\n    onCurrentTabStopIdChange,\n    onEntryFocus,\n    preventScrollOnEntryFocus = false,\n    ...groupProps\n  } = props;\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  const direction = useDirection(dir);\n  const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n    prop: currentTabStopIdProp,\n    defaultProp: defaultCurrentTabStopId ?? null,\n    onChange: onCurrentTabStopIdChange,\n    caller: GROUP_NAME\n  });\n  const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n  const handleEntryFocus = useCallbackRef(onEntryFocus);\n  const getItems = useCollection(__scopeRovingFocusGroup);\n  const isClickFocusRef = React.useRef(false);\n  const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n  React.useEffect(() => {\n    const node = ref.current;\n    if (node) {\n      node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n      return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n    }\n  }, [handleEntryFocus]);\n  return /* @__PURE__ */ jsx(\n    RovingFocusProvider,\n    {\n      scope: __scopeRovingFocusGroup,\n      orientation,\n      dir: direction,\n      loop,\n      currentTabStopId,\n      onItemFocus: React.useCallback(\n        (tabStopId) => setCurrentTabStopId(tabStopId),\n        [setCurrentTabStopId]\n      ),\n      onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n      onFocusableItemAdd: React.useCallback(\n        () => setFocusableItemsCount((prevCount) => prevCount + 1),\n        []\n      ),\n      onFocusableItemRemove: React.useCallback(\n        () => setFocusableItemsCount((prevCount) => prevCount - 1),\n        []\n      ),\n      children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n          \"data-orientation\": orientation,\n          ...groupProps,\n          ref: composedRefs,\n          style: { outline: \"none\", ...props.style },\n          onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n            isClickFocusRef.current = true;\n          }),\n          onFocus: composeEventHandlers(props.onFocus, (event) => {\n            const isKeyboardFocus = !isClickFocusRef.current;\n            if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n              const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n              event.currentTarget.dispatchEvent(entryFocusEvent);\n              if (!entryFocusEvent.defaultPrevented) {\n                const items = getItems().filter((item) => item.focusable);\n                const activeItem = items.find((item) => item.active);\n                const currentItem = items.find((item) => item.id === currentTabStopId);\n                const candidateItems = [activeItem, currentItem, ...items].filter(\n                  Boolean\n                );\n                const candidateNodes = candidateItems.map((item) => item.ref.current);\n                focusFirst(candidateNodes, preventScrollOnEntryFocus);\n              }\n            }\n            isClickFocusRef.current = false;\n          }),\n          onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n        }\n      )\n    }\n  );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRovingFocusGroup,\n      focusable = true,\n      active = false,\n      tabStopId,\n      children,\n      ...itemProps\n    } = props;\n    const autoId = useId();\n    const id = tabStopId || autoId;\n    const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n    const isCurrentTabStop = context.currentTabStopId === id;\n    const getItems = useCollection(__scopeRovingFocusGroup);\n    const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n    React.useEffect(() => {\n      if (focusable) {\n        onFocusableItemAdd();\n        return () => onFocusableItemRemove();\n      }\n    }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n    return /* @__PURE__ */ jsx(\n      Collection.ItemSlot,\n      {\n        scope: __scopeRovingFocusGroup,\n        id,\n        focusable,\n        active,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            tabIndex: isCurrentTabStop ? 0 : -1,\n            \"data-orientation\": context.orientation,\n            ...itemProps,\n            ref: forwardedRef,\n            onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n              if (!focusable) event.preventDefault();\n              else context.onItemFocus(id);\n            }),\n            onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n            onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n              if (event.key === \"Tab\" && event.shiftKey) {\n                context.onItemShiftTab();\n                return;\n              }\n              if (event.target !== event.currentTarget) return;\n              const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n              if (focusIntent !== void 0) {\n                if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n                event.preventDefault();\n                const items = getItems().filter((item) => item.focusable);\n                let candidateNodes = items.map((item) => item.ref.current);\n                if (focusIntent === \"last\") candidateNodes.reverse();\n                else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n                  if (focusIntent === \"prev\") candidateNodes.reverse();\n                  const currentIndex = candidateNodes.indexOf(event.currentTarget);\n                  candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n                }\n                setTimeout(() => focusFirst(candidateNodes));\n              }\n            }),\n            children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n          }\n        )\n      }\n    );\n  }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n  ArrowLeft: \"prev\",\n  ArrowUp: \"prev\",\n  ArrowRight: \"next\",\n  ArrowDown: \"next\",\n  PageUp: \"first\",\n  Home: \"first\",\n  PageDown: \"last\",\n  End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n  if (dir !== \"rtl\") return key;\n  return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n  const key = getDirectionAwareKey(event.key, dir);\n  if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n  if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n  return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n  for (const candidate of candidates) {\n    if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n    candidate.focus({ preventScroll });\n    if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n  }\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n  Item,\n  Root,\n  RovingFocusGroup,\n  RovingFocusGroupItem,\n  createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n  createCollectionScope,\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n  const {\n    __scopeSelect,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    value: valueProp,\n    defaultValue,\n    onValueChange,\n    dir,\n    name,\n    autoComplete,\n    disabled,\n    required,\n    form\n  } = props;\n  const popperScope = usePopperScope(__scopeSelect);\n  const [trigger, setTrigger] = React.useState(null);\n  const [valueNode, setValueNode] = React.useState(null);\n  const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n  const direction = useDirection(dir);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: SELECT_NAME\n  });\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue,\n    onChange: onValueChange,\n    caller: SELECT_NAME\n  });\n  const triggerPointerDownPosRef = React.useRef(null);\n  const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n  const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n    SelectProvider,\n    {\n      required,\n      scope: __scopeSelect,\n      trigger,\n      onTriggerChange: setTrigger,\n      valueNode,\n      onValueNodeChange: setValueNode,\n      valueNodeHasChildren,\n      onValueNodeHasChildrenChange: setValueNodeHasChildren,\n      contentId: useId(),\n      value,\n      onValueChange: setValue,\n      open,\n      onOpenChange: setOpen,\n      dir: direction,\n      triggerPointerDownPosRef,\n      disabled,\n      children: [\n        /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n          SelectNativeOptionsProvider,\n          {\n            scope: props.__scopeSelect,\n            onNativeOptionAdd: React.useCallback((option) => {\n              setNativeOptionsSet((prev) => new Set(prev).add(option));\n            }, []),\n            onNativeOptionRemove: React.useCallback((option) => {\n              setNativeOptionsSet((prev) => {\n                const optionsSet = new Set(prev);\n                optionsSet.delete(option);\n                return optionsSet;\n              });\n            }, []),\n            children\n          }\n        ) }),\n        isFormControl ? /* @__PURE__ */ jsxs(\n          SelectBubbleInput,\n          {\n            \"aria-hidden\": true,\n            required,\n            tabIndex: -1,\n            name,\n            autoComplete,\n            value,\n            onChange: (event) => setValue(event.target.value),\n            disabled,\n            form,\n            children: [\n              value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n              Array.from(nativeOptionsSet)\n            ]\n          },\n          nativeSelectKey\n        ) : null\n      ]\n    }\n  ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, disabled = false, ...triggerProps } = props;\n    const popperScope = usePopperScope(__scopeSelect);\n    const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n    const isDisabled = context.disabled || disabled;\n    const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n    const getItems = useCollection(__scopeSelect);\n    const pointerTypeRef = React.useRef(\"touch\");\n    const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n      const enabledItems = getItems().filter((item) => !item.disabled);\n      const currentItem = enabledItems.find((item) => item.value === context.value);\n      const nextItem = findNextItem(enabledItems, search, currentItem);\n      if (nextItem !== void 0) {\n        context.onValueChange(nextItem.value);\n      }\n    });\n    const handleOpen = (pointerEvent) => {\n      if (!isDisabled) {\n        context.onOpenChange(true);\n        resetTypeahead();\n      }\n      if (pointerEvent) {\n        context.triggerPointerDownPosRef.current = {\n          x: Math.round(pointerEvent.pageX),\n          y: Math.round(pointerEvent.pageY)\n        };\n      }\n    };\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        role: \"combobox\",\n        \"aria-controls\": context.contentId,\n        \"aria-expanded\": context.open,\n        \"aria-required\": context.required,\n        \"aria-autocomplete\": \"none\",\n        dir: context.dir,\n        \"data-state\": context.open ? \"open\" : \"closed\",\n        disabled: isDisabled,\n        \"data-disabled\": isDisabled ? \"\" : void 0,\n        \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n        ...triggerProps,\n        ref: composedRefs,\n        onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n          event.currentTarget.focus();\n          if (pointerTypeRef.current !== \"mouse\") {\n            handleOpen(event);\n          }\n        }),\n        onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n          pointerTypeRef.current = event.pointerType;\n          const target = event.target;\n          if (target.hasPointerCapture(event.pointerId)) {\n            target.releasePointerCapture(event.pointerId);\n          }\n          if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n            handleOpen(event);\n            event.preventDefault();\n          }\n        }),\n        onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n          const isTypingAhead = searchRef.current !== \"\";\n          const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n          if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n          if (isTypingAhead && event.key === \" \") return;\n          if (OPEN_KEYS.includes(event.key)) {\n            handleOpen();\n            event.preventDefault();\n          }\n        })\n      }\n    ) });\n  }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n    const context = useSelectContext(VALUE_NAME, __scopeSelect);\n    const { onValueNodeHasChildrenChange } = context;\n    const hasChildren = children !== void 0;\n    const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n    useLayoutEffect(() => {\n      onValueNodeHasChildrenChange(hasChildren);\n    }, [onValueNodeHasChildrenChange, hasChildren]);\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        ...valueProps,\n        ref: composedRefs,\n        style: { pointerEvents: \"none\" },\n        children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n      }\n    );\n  }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, children, ...iconProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n  }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n  return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n    const [fragment, setFragment] = React.useState();\n    useLayoutEffect(() => {\n      setFragment(new DocumentFragment());\n    }, []);\n    if (!context.open) {\n      const frag = fragment;\n      return frag ? ReactDOM.createPortal(\n        /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n        frag\n      ) : null;\n    }\n    return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n  }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeSelect,\n      position = \"item-aligned\",\n      onCloseAutoFocus,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      //\n      // PopperContent props\n      side,\n      sideOffset,\n      align,\n      alignOffset,\n      arrowPadding,\n      collisionBoundary,\n      collisionPadding,\n      sticky,\n      hideWhenDetached,\n      avoidCollisions,\n      //\n      ...contentProps\n    } = props;\n    const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n    const [content, setContent] = React.useState(null);\n    const [viewport, setViewport] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n    const [selectedItem, setSelectedItem] = React.useState(null);\n    const [selectedItemText, setSelectedItemText] = React.useState(\n      null\n    );\n    const getItems = useCollection(__scopeSelect);\n    const [isPositioned, setIsPositioned] = React.useState(false);\n    const firstValidItemFoundRef = React.useRef(false);\n    React.useEffect(() => {\n      if (content) return hideOthers(content);\n    }, [content]);\n    useFocusGuards();\n    const focusFirst = React.useCallback(\n      (candidates) => {\n        const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n        const [lastItem] = restItems.slice(-1);\n        const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n        for (const candidate of candidates) {\n          if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n          candidate?.scrollIntoView({ block: \"nearest\" });\n          if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n          if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n          candidate?.focus();\n          if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n        }\n      },\n      [getItems, viewport]\n    );\n    const focusSelectedItem = React.useCallback(\n      () => focusFirst([selectedItem, content]),\n      [focusFirst, selectedItem, content]\n    );\n    React.useEffect(() => {\n      if (isPositioned) {\n        focusSelectedItem();\n      }\n    }, [isPositioned, focusSelectedItem]);\n    const { onOpenChange, triggerPointerDownPosRef } = context;\n    React.useEffect(() => {\n      if (content) {\n        let pointerMoveDelta = { x: 0, y: 0 };\n        const handlePointerMove = (event) => {\n          pointerMoveDelta = {\n            x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n            y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n          };\n        };\n        const handlePointerUp = (event) => {\n          if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n            event.preventDefault();\n          } else {\n            if (!content.contains(event.target)) {\n              onOpenChange(false);\n            }\n          }\n          document.removeEventListener(\"pointermove\", handlePointerMove);\n          triggerPointerDownPosRef.current = null;\n        };\n        if (triggerPointerDownPosRef.current !== null) {\n          document.addEventListener(\"pointermove\", handlePointerMove);\n          document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n        }\n        return () => {\n          document.removeEventListener(\"pointermove\", handlePointerMove);\n          document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n        };\n      }\n    }, [content, onOpenChange, triggerPointerDownPosRef]);\n    React.useEffect(() => {\n      const close = () => onOpenChange(false);\n      window.addEventListener(\"blur\", close);\n      window.addEventListener(\"resize\", close);\n      return () => {\n        window.removeEventListener(\"blur\", close);\n        window.removeEventListener(\"resize\", close);\n      };\n    }, [onOpenChange]);\n    const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n      const enabledItems = getItems().filter((item) => !item.disabled);\n      const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n      const nextItem = findNextItem(enabledItems, search, currentItem);\n      if (nextItem) {\n        setTimeout(() => nextItem.ref.current.focus());\n      }\n    });\n    const itemRefCallback = React.useCallback(\n      (node, value, disabled) => {\n        const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n        const isSelectedItem = context.value !== void 0 && context.value === value;\n        if (isSelectedItem || isFirstValidItem) {\n          setSelectedItem(node);\n          if (isFirstValidItem) firstValidItemFoundRef.current = true;\n        }\n      },\n      [context.value]\n    );\n    const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n    const itemTextRefCallback = React.useCallback(\n      (node, value, disabled) => {\n        const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n        const isSelectedItem = context.value !== void 0 && context.value === value;\n        if (isSelectedItem || isFirstValidItem) {\n          setSelectedItemText(node);\n        }\n      },\n      [context.value]\n    );\n    const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n    const popperContentProps = SelectPosition === SelectPopperPosition ? {\n      side,\n      sideOffset,\n      align,\n      alignOffset,\n      arrowPadding,\n      collisionBoundary,\n      collisionPadding,\n      sticky,\n      hideWhenDetached,\n      avoidCollisions\n    } : {};\n    return /* @__PURE__ */ jsx(\n      SelectContentProvider,\n      {\n        scope: __scopeSelect,\n        content,\n        viewport,\n        onViewportChange: setViewport,\n        itemRefCallback,\n        selectedItem,\n        onItemLeave: handleItemLeave,\n        itemTextRefCallback,\n        focusSelectedItem,\n        selectedItemText,\n        position,\n        isPositioned,\n        searchRef,\n        children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n          FocusScope,\n          {\n            asChild: true,\n            trapped: context.open,\n            onMountAutoFocus: (event) => {\n              event.preventDefault();\n            },\n            onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n              context.trigger?.focus({ preventScroll: true });\n              event.preventDefault();\n            }),\n            children: /* @__PURE__ */ jsx(\n              DismissableLayer,\n              {\n                asChild: true,\n                disableOutsidePointerEvents: true,\n                onEscapeKeyDown,\n                onPointerDownOutside,\n                onFocusOutside: (event) => event.preventDefault(),\n                onDismiss: () => context.onOpenChange(false),\n                children: /* @__PURE__ */ jsx(\n                  SelectPosition,\n                  {\n                    role: \"listbox\",\n                    id: context.contentId,\n                    \"data-state\": context.open ? \"open\" : \"closed\",\n                    dir: context.dir,\n                    onContextMenu: (event) => event.preventDefault(),\n                    ...contentProps,\n                    ...popperContentProps,\n                    onPlaced: () => setIsPositioned(true),\n                    ref: composedRefs,\n                    style: {\n                      // flex layout so we can place the scroll buttons properly\n                      display: \"flex\",\n                      flexDirection: \"column\",\n                      // reset the outline by default as the content MAY get focused\n                      outline: \"none\",\n                      ...contentProps.style\n                    },\n                    onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n                      const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n                      if (event.key === \"Tab\") event.preventDefault();\n                      if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n                      if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n                        const items = getItems().filter((item) => !item.disabled);\n                        let candidateNodes = items.map((item) => item.ref.current);\n                        if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n                          candidateNodes = candidateNodes.slice().reverse();\n                        }\n                        if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n                          const currentElement = event.target;\n                          const currentIndex = candidateNodes.indexOf(currentElement);\n                          candidateNodes = candidateNodes.slice(currentIndex + 1);\n                        }\n                        setTimeout(() => focusFirst(candidateNodes));\n                        event.preventDefault();\n                      }\n                    })\n                  }\n                )\n              }\n            )\n          }\n        ) })\n      }\n    );\n  }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n  const { __scopeSelect, onPlaced, ...popperProps } = props;\n  const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n  const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n  const [contentWrapper, setContentWrapper] = React.useState(null);\n  const [content, setContent] = React.useState(null);\n  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n  const getItems = useCollection(__scopeSelect);\n  const shouldExpandOnScrollRef = React.useRef(false);\n  const shouldRepositionRef = React.useRef(true);\n  const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n  const position = React.useCallback(() => {\n    if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n      const triggerRect = context.trigger.getBoundingClientRect();\n      const contentRect = content.getBoundingClientRect();\n      const valueNodeRect = context.valueNode.getBoundingClientRect();\n      const itemTextRect = selectedItemText.getBoundingClientRect();\n      if (context.dir !== \"rtl\") {\n        const itemTextOffset = itemTextRect.left - contentRect.left;\n        const left = valueNodeRect.left - itemTextOffset;\n        const leftDelta = triggerRect.left - left;\n        const minContentWidth = triggerRect.width + leftDelta;\n        const contentWidth = Math.max(minContentWidth, contentRect.width);\n        const rightEdge = window.innerWidth - CONTENT_MARGIN;\n        const clampedLeft = clamp(left, [\n          CONTENT_MARGIN,\n          // Prevents the content from going off the starting edge of the\n          // viewport. It may still go off the ending edge, but this can be\n          // controlled by the user since they may want to manage overflow in a\n          // specific way.\n          // https://github.com/radix-ui/primitives/issues/2049\n          Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n        ]);\n        contentWrapper.style.minWidth = minContentWidth + \"px\";\n        contentWrapper.style.left = clampedLeft + \"px\";\n      } else {\n        const itemTextOffset = contentRect.right - itemTextRect.right;\n        const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n        const rightDelta = window.innerWidth - triggerRect.right - right;\n        const minContentWidth = triggerRect.width + rightDelta;\n        const contentWidth = Math.max(minContentWidth, contentRect.width);\n        const leftEdge = window.innerWidth - CONTENT_MARGIN;\n        const clampedRight = clamp(right, [\n          CONTENT_MARGIN,\n          Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n        ]);\n        contentWrapper.style.minWidth = minContentWidth + \"px\";\n        contentWrapper.style.right = clampedRight + \"px\";\n      }\n      const items = getItems();\n      const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n      const itemsHeight = viewport.scrollHeight;\n      const contentStyles = window.getComputedStyle(content);\n      const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n      const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n      const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n      const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n      const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n      const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n      const viewportStyles = window.getComputedStyle(viewport);\n      const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n      const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n      const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n      const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n      const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n      const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n      const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n      const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n      const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n      if (willAlignWithoutTopOverflow) {\n        const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n        contentWrapper.style.bottom = \"0px\";\n        const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n        const clampedTriggerMiddleToBottomEdge = Math.max(\n          triggerMiddleToBottomEdge,\n          selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n          (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n        );\n        const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n        contentWrapper.style.height = height + \"px\";\n      } else {\n        const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n        contentWrapper.style.top = \"0px\";\n        const clampedTopEdgeToTriggerMiddle = Math.max(\n          topEdgeToTriggerMiddle,\n          contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n          (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n        );\n        const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n        contentWrapper.style.height = height + \"px\";\n        viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n      }\n      contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n      contentWrapper.style.minHeight = minContentHeight + \"px\";\n      contentWrapper.style.maxHeight = availableHeight + \"px\";\n      onPlaced?.();\n      requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n    }\n  }, [\n    getItems,\n    context.trigger,\n    context.valueNode,\n    contentWrapper,\n    content,\n    viewport,\n    selectedItem,\n    selectedItemText,\n    context.dir,\n    onPlaced\n  ]);\n  useLayoutEffect(() => position(), [position]);\n  const [contentZIndex, setContentZIndex] = React.useState();\n  useLayoutEffect(() => {\n    if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n  }, [content]);\n  const handleScrollButtonChange = React.useCallback(\n    (node) => {\n      if (node && shouldRepositionRef.current === true) {\n        position();\n        focusSelectedItem?.();\n        shouldRepositionRef.current = false;\n      }\n    },\n    [position, focusSelectedItem]\n  );\n  return /* @__PURE__ */ jsx(\n    SelectViewportProvider,\n    {\n      scope: __scopeSelect,\n      contentWrapper,\n      shouldExpandOnScrollRef,\n      onScrollButtonChange: handleScrollButtonChange,\n      children: /* @__PURE__ */ jsx(\n        \"div\",\n        {\n          ref: setContentWrapper,\n          style: {\n            display: \"flex\",\n            flexDirection: \"column\",\n            position: \"fixed\",\n            zIndex: contentZIndex\n          },\n          children: /* @__PURE__ */ jsx(\n            Primitive.div,\n            {\n              ...popperProps,\n              ref: composedRefs,\n              style: {\n                // When we get the height of the content, it includes borders. If we were to set\n                // the height without having `boxSizing: 'border-box'` it would be too big.\n                boxSizing: \"border-box\",\n                // We need to ensure the content doesn't get taller than the wrapper\n                maxHeight: \"100%\",\n                ...popperProps.style\n              }\n            }\n          )\n        }\n      )\n    }\n  );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n  const {\n    __scopeSelect,\n    align = \"start\",\n    collisionPadding = CONTENT_MARGIN,\n    ...popperProps\n  } = props;\n  const popperScope = usePopperScope(__scopeSelect);\n  return /* @__PURE__ */ jsx(\n    PopperPrimitive.Content,\n    {\n      ...popperScope,\n      ...popperProps,\n      ref: forwardedRef,\n      align,\n      collisionPadding,\n      style: {\n        // Ensure border-box for floating-ui calculations\n        boxSizing: \"border-box\",\n        ...popperProps.style,\n        // re-namespace exposed content custom properties\n        ...{\n          \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n          \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n          \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n          \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n          \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n        }\n      }\n    }\n  );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, nonce, ...viewportProps } = props;\n    const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n    const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n    const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n    const prevScrollTopRef = React.useRef(0);\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(\n        \"style\",\n        {\n          dangerouslySetInnerHTML: {\n            __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n          },\n          nonce\n        }\n      ),\n      /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          \"data-radix-select-viewport\": \"\",\n          role: \"presentation\",\n          ...viewportProps,\n          ref: composedRefs,\n          style: {\n            // we use position: 'relative' here on the `viewport` so that when we call\n            // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n            // (independent of the scrollUpButton).\n            position: \"relative\",\n            flex: 1,\n            // Viewport should only be scrollable in the vertical direction.\n            // This won't work in vertical writing modes, so we'll need to\n            // revisit this if/when that is supported\n            // https://developer.chrome.com/blog/vertical-form-controls\n            overflow: \"hidden auto\",\n            ...viewportProps.style\n          },\n          onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n            const viewport = event.currentTarget;\n            const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n            if (shouldExpandOnScrollRef?.current && contentWrapper) {\n              const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n              if (scrolledBy > 0) {\n                const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n                const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n                const cssHeight = parseFloat(contentWrapper.style.height);\n                const prevHeight = Math.max(cssMinHeight, cssHeight);\n                if (prevHeight < availableHeight) {\n                  const nextHeight = prevHeight + scrolledBy;\n                  const clampedNextHeight = Math.min(availableHeight, nextHeight);\n                  const heightDiff = nextHeight - clampedNextHeight;\n                  contentWrapper.style.height = clampedNextHeight + \"px\";\n                  if (contentWrapper.style.bottom === \"0px\") {\n                    viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n                    contentWrapper.style.justifyContent = \"flex-end\";\n                  }\n                }\n              }\n            }\n            prevScrollTopRef.current = viewport.scrollTop;\n          })\n        }\n      ) })\n    ] });\n  }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...groupProps } = props;\n    const groupId = useId();\n    return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n  }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...labelProps } = props;\n    const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n    return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n  }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeSelect,\n      value,\n      disabled = false,\n      textValue: textValueProp,\n      ...itemProps\n    } = props;\n    const context = useSelectContext(ITEM_NAME, __scopeSelect);\n    const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n    const isSelected = context.value === value;\n    const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n    const [isFocused, setIsFocused] = React.useState(false);\n    const composedRefs = useComposedRefs(\n      forwardedRef,\n      (node) => contentContext.itemRefCallback?.(node, value, disabled)\n    );\n    const textId = useId();\n    const pointerTypeRef = React.useRef(\"touch\");\n    const handleSelect = () => {\n      if (!disabled) {\n        context.onValueChange(value);\n        context.onOpenChange(false);\n      }\n    };\n    if (value === \"\") {\n      throw new Error(\n        \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n      );\n    }\n    return /* @__PURE__ */ jsx(\n      SelectItemContextProvider,\n      {\n        scope: __scopeSelect,\n        value,\n        disabled,\n        textId,\n        isSelected,\n        onItemTextChange: React.useCallback((node) => {\n          setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n        }, []),\n        children: /* @__PURE__ */ jsx(\n          Collection.ItemSlot,\n          {\n            scope: __scopeSelect,\n            value,\n            disabled,\n            textValue,\n            children: /* @__PURE__ */ jsx(\n              Primitive.div,\n              {\n                role: \"option\",\n                \"aria-labelledby\": textId,\n                \"data-highlighted\": isFocused ? \"\" : void 0,\n                \"aria-selected\": isSelected && isFocused,\n                \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n                \"aria-disabled\": disabled || void 0,\n                \"data-disabled\": disabled ? \"\" : void 0,\n                tabIndex: disabled ? void 0 : -1,\n                ...itemProps,\n                ref: composedRefs,\n                onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n                onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n                onClick: composeEventHandlers(itemProps.onClick, () => {\n                  if (pointerTypeRef.current !== \"mouse\") handleSelect();\n                }),\n                onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n                  if (pointerTypeRef.current === \"mouse\") handleSelect();\n                }),\n                onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n                  pointerTypeRef.current = event.pointerType;\n                }),\n                onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n                  pointerTypeRef.current = event.pointerType;\n                  if (disabled) {\n                    contentContext.onItemLeave?.();\n                  } else if (pointerTypeRef.current === \"mouse\") {\n                    event.currentTarget.focus({ preventScroll: true });\n                  }\n                }),\n                onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n                  if (event.currentTarget === document.activeElement) {\n                    contentContext.onItemLeave?.();\n                  }\n                }),\n                onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n                  const isTypingAhead = contentContext.searchRef?.current !== \"\";\n                  if (isTypingAhead && event.key === \" \") return;\n                  if (SELECTION_KEYS.includes(event.key)) handleSelect();\n                  if (event.key === \" \") event.preventDefault();\n                })\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, className, style, ...itemTextProps } = props;\n    const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n    const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n    const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n    const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n    const [itemTextNode, setItemTextNode] = React.useState(null);\n    const composedRefs = useComposedRefs(\n      forwardedRef,\n      (node) => setItemTextNode(node),\n      itemContext.onItemTextChange,\n      (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n    );\n    const textContent = itemTextNode?.textContent;\n    const nativeOption = React.useMemo(\n      () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n      [itemContext.disabled, itemContext.value, textContent]\n    );\n    const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n    useLayoutEffect(() => {\n      onNativeOptionAdd(nativeOption);\n      return () => onNativeOptionRemove(nativeOption);\n    }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n      itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n    ] });\n  }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...itemIndicatorProps } = props;\n    const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n    return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n  }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n  const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n  const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n  const [canScrollUp, setCanScrollUp] = React.useState(false);\n  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n  useLayoutEffect(() => {\n    if (contentContext.viewport && contentContext.isPositioned) {\n      let handleScroll2 = function() {\n        const canScrollUp2 = viewport.scrollTop > 0;\n        setCanScrollUp(canScrollUp2);\n      };\n      var handleScroll = handleScroll2;\n      const viewport = contentContext.viewport;\n      handleScroll2();\n      viewport.addEventListener(\"scroll\", handleScroll2);\n      return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n    }\n  }, [contentContext.viewport, contentContext.isPositioned]);\n  return canScrollUp ? /* @__PURE__ */ jsx(\n    SelectScrollButtonImpl,\n    {\n      ...props,\n      ref: composedRefs,\n      onAutoScroll: () => {\n        const { viewport, selectedItem } = contentContext;\n        if (viewport && selectedItem) {\n          viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n        }\n      }\n    }\n  ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n  const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n  const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n  const [canScrollDown, setCanScrollDown] = React.useState(false);\n  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n  useLayoutEffect(() => {\n    if (contentContext.viewport && contentContext.isPositioned) {\n      let handleScroll2 = function() {\n        const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n        const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n        setCanScrollDown(canScrollDown2);\n      };\n      var handleScroll = handleScroll2;\n      const viewport = contentContext.viewport;\n      handleScroll2();\n      viewport.addEventListener(\"scroll\", handleScroll2);\n      return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n    }\n  }, [contentContext.viewport, contentContext.isPositioned]);\n  return canScrollDown ? /* @__PURE__ */ jsx(\n    SelectScrollButtonImpl,\n    {\n      ...props,\n      ref: composedRefs,\n      onAutoScroll: () => {\n        const { viewport, selectedItem } = contentContext;\n        if (viewport && selectedItem) {\n          viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n        }\n      }\n    }\n  ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n  const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n  const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n  const autoScrollTimerRef = React.useRef(null);\n  const getItems = useCollection(__scopeSelect);\n  const clearAutoScrollTimer = React.useCallback(() => {\n    if (autoScrollTimerRef.current !== null) {\n      window.clearInterval(autoScrollTimerRef.current);\n      autoScrollTimerRef.current = null;\n    }\n  }, []);\n  React.useEffect(() => {\n    return () => clearAutoScrollTimer();\n  }, [clearAutoScrollTimer]);\n  useLayoutEffect(() => {\n    const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n    activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n  }, [getItems]);\n  return /* @__PURE__ */ jsx(\n    Primitive.div,\n    {\n      \"aria-hidden\": true,\n      ...scrollIndicatorProps,\n      ref: forwardedRef,\n      style: { flexShrink: 0, ...scrollIndicatorProps.style },\n      onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n        if (autoScrollTimerRef.current === null) {\n          autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n        }\n      }),\n      onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n        contentContext.onItemLeave?.();\n        if (autoScrollTimerRef.current === null) {\n          autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n        }\n      }),\n      onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n        clearAutoScrollTimer();\n      })\n    }\n  );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...separatorProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n  }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeSelect);\n    const context = useSelectContext(ARROW_NAME, __scopeSelect);\n    const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n    return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n  }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n  ({ __scopeSelect, value, ...props }, forwardedRef) => {\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const prevValue = usePrevious(value);\n    React.useEffect(() => {\n      const select = ref.current;\n      if (!select) return;\n      const selectProto = window.HTMLSelectElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        selectProto,\n        \"value\"\n      );\n      const setValue = descriptor.set;\n      if (prevValue !== value && setValue) {\n        const event = new Event(\"change\", { bubbles: true });\n        setValue.call(select, value);\n        select.dispatchEvent(event);\n      }\n    }, [prevValue, value]);\n    return /* @__PURE__ */ jsx(\n      Primitive.select,\n      {\n        ...props,\n        style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n        ref: composedRefs,\n        defaultValue: value\n      }\n    );\n  }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n  return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n  const handleSearchChange = useCallbackRef(onSearchChange);\n  const searchRef = React.useRef(\"\");\n  const timerRef = React.useRef(0);\n  const handleTypeaheadSearch = React.useCallback(\n    (key) => {\n      const search = searchRef.current + key;\n      handleSearchChange(search);\n      (function updateSearch(value) {\n        searchRef.current = value;\n        window.clearTimeout(timerRef.current);\n        if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n      })(search);\n    },\n    [handleSearchChange]\n  );\n  const resetTypeahead = React.useCallback(() => {\n    searchRef.current = \"\";\n    window.clearTimeout(timerRef.current);\n  }, []);\n  React.useEffect(() => {\n    return () => window.clearTimeout(timerRef.current);\n  }, []);\n  return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n  const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n  const normalizedSearch = isRepeated ? search[0] : search;\n  const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n  let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n  const excludeCurrentItem = normalizedSearch.length === 1;\n  if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n  const nextItem = wrappedItems.find(\n    (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n  );\n  return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n  Arrow2 as Arrow,\n  Content2 as Content,\n  Group,\n  Icon,\n  Item,\n  ItemIndicator,\n  ItemText,\n  Label,\n  Portal,\n  Root2 as Root,\n  ScrollDownButton,\n  ScrollUpButton,\n  Select,\n  SelectArrow,\n  SelectContent,\n  SelectGroup,\n  SelectIcon,\n  SelectItem,\n  SelectItemIndicator,\n  SelectItemText,\n  SelectLabel,\n  SelectPortal,\n  SelectScrollDownButton,\n  SelectScrollUpButton,\n  SelectSeparator,\n  SelectTrigger,\n  SelectValue,\n  SelectViewport,\n  Separator,\n  Trigger,\n  Value,\n  Viewport,\n  createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n  return Math.min(max, Math.max(min, value));\n}\nexport {\n  clamp\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeSwitch,\n      name,\n      checked: checkedProp,\n      defaultChecked,\n      required,\n      disabled,\n      value = \"on\",\n      onCheckedChange,\n      form,\n      ...switchProps\n    } = props;\n    const [button, setButton] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n    const hasConsumerStoppedPropagationRef = React.useRef(false);\n    const isFormControl = button ? form || !!button.closest(\"form\") : true;\n    const [checked, setChecked] = useControllableState({\n      prop: checkedProp,\n      defaultProp: defaultChecked ?? false,\n      onChange: onCheckedChange,\n      caller: SWITCH_NAME\n    });\n    return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n      /* @__PURE__ */ jsx(\n        Primitive.button,\n        {\n          type: \"button\",\n          role: \"switch\",\n          \"aria-checked\": checked,\n          \"aria-required\": required,\n          \"data-state\": getState(checked),\n          \"data-disabled\": disabled ? \"\" : void 0,\n          disabled,\n          value,\n          ...switchProps,\n          ref: composedRefs,\n          onClick: composeEventHandlers(props.onClick, (event) => {\n            setChecked((prevChecked) => !prevChecked);\n            if (isFormControl) {\n              hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n              if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n            }\n          })\n        }\n      ),\n      isFormControl && /* @__PURE__ */ jsx(\n        SwitchBubbleInput,\n        {\n          control: button,\n          bubbles: !hasConsumerStoppedPropagationRef.current,\n          name,\n          value,\n          checked,\n          required,\n          disabled,\n          form,\n          style: { transform: \"translateX(-100%)\" }\n        }\n      )\n    ] });\n  }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSwitch, ...thumbProps } = props;\n    const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        \"data-state\": getState(context.checked),\n        \"data-disabled\": context.disabled ? \"\" : void 0,\n        ...thumbProps,\n        ref: forwardedRef\n      }\n    );\n  }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"SwitchBubbleInput\";\nvar SwitchBubbleInput = React.forwardRef(\n  ({\n    __scopeSwitch,\n    control,\n    checked,\n    bubbles = true,\n    ...props\n  }, forwardedRef) => {\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(ref, forwardedRef);\n    const prevChecked = usePrevious(checked);\n    const controlSize = useSize(control);\n    React.useEffect(() => {\n      const input = ref.current;\n      if (!input) return;\n      const inputProto = window.HTMLInputElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        inputProto,\n        \"checked\"\n      );\n      const setChecked = descriptor.set;\n      if (prevChecked !== checked && setChecked) {\n        const event = new Event(\"click\", { bubbles });\n        setChecked.call(input, checked);\n        input.dispatchEvent(event);\n      }\n    }, [prevChecked, checked, bubbles]);\n    return /* @__PURE__ */ jsx(\n      \"input\",\n      {\n        type: \"checkbox\",\n        \"aria-hidden\": true,\n        defaultChecked: checked,\n        ...props,\n        tabIndex: -1,\n        ref: composedRefs,\n        style: {\n          ...props.style,\n          ...controlSize,\n          position: \"absolute\",\n          pointerEvents: \"none\",\n          opacity: 0,\n          margin: 0\n        }\n      }\n    );\n  }\n);\nSwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n  return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n  Root,\n  Switch,\n  SwitchThumb,\n  Thumb,\n  createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n  createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeTabs,\n      value: valueProp,\n      onValueChange,\n      defaultValue,\n      orientation = \"horizontal\",\n      dir,\n      activationMode = \"automatic\",\n      ...tabsProps\n    } = props;\n    const direction = useDirection(dir);\n    const [value, setValue] = useControllableState({\n      prop: valueProp,\n      onChange: onValueChange,\n      defaultProp: defaultValue ?? \"\",\n      caller: TABS_NAME\n    });\n    return /* @__PURE__ */ jsx(\n      TabsProvider,\n      {\n        scope: __scopeTabs,\n        baseId: useId(),\n        value,\n        onValueChange: setValue,\n        orientation,\n        dir: direction,\n        activationMode,\n        children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            dir: direction,\n            \"data-orientation\": orientation,\n            ...tabsProps,\n            ref: forwardedRef\n          }\n        )\n      }\n    );\n  }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTabs, loop = true, ...listProps } = props;\n    const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n    return /* @__PURE__ */ jsx(\n      RovingFocusGroup.Root,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        orientation: context.orientation,\n        dir: context.dir,\n        loop,\n        children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            role: \"tablist\",\n            \"aria-orientation\": context.orientation,\n            ...listProps,\n            ref: forwardedRef\n          }\n        )\n      }\n    );\n  }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n    const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n    const triggerId = makeTriggerId(context.baseId, value);\n    const contentId = makeContentId(context.baseId, value);\n    const isSelected = value === context.value;\n    return /* @__PURE__ */ jsx(\n      RovingFocusGroup.Item,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        focusable: !disabled,\n        active: isSelected,\n        children: /* @__PURE__ */ jsx(\n          Primitive.button,\n          {\n            type: \"button\",\n            role: \"tab\",\n            \"aria-selected\": isSelected,\n            \"aria-controls\": contentId,\n            \"data-state\": isSelected ? \"active\" : \"inactive\",\n            \"data-disabled\": disabled ? \"\" : void 0,\n            disabled,\n            id: triggerId,\n            ...triggerProps,\n            ref: forwardedRef,\n            onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n              if (!disabled && event.button === 0 && event.ctrlKey === false) {\n                context.onValueChange(value);\n              } else {\n                event.preventDefault();\n              }\n            }),\n            onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n              if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n            }),\n            onFocus: composeEventHandlers(props.onFocus, () => {\n              const isAutomaticActivation = context.activationMode !== \"manual\";\n              if (!isSelected && !disabled && isAutomaticActivation) {\n                context.onValueChange(value);\n              }\n            })\n          }\n        )\n      }\n    );\n  }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n    const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n    const triggerId = makeTriggerId(context.baseId, value);\n    const contentId = makeContentId(context.baseId, value);\n    const isSelected = value === context.value;\n    const isMountAnimationPreventedRef = React.useRef(isSelected);\n    React.useEffect(() => {\n      const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n      return () => cancelAnimationFrame(rAF);\n    }, []);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        \"data-state\": isSelected ? \"active\" : \"inactive\",\n        \"data-orientation\": context.orientation,\n        role: \"tabpanel\",\n        \"aria-labelledby\": triggerId,\n        hidden: !present,\n        id: contentId,\n        tabIndex: 0,\n        ...contentProps,\n        ref: forwardedRef,\n        style: {\n          ...props.style,\n          animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n        },\n        children: present && children\n      }\n    ) });\n  }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n  return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n  return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n  Content,\n  List,\n  Root2 as Root,\n  Tabs,\n  TabsContent,\n  TabsList,\n  TabsTrigger,\n  Trigger,\n  createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toast.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport * as DismissableLayer from \"@radix-ui/react-dismissable-layer\";\nimport { Portal } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar PROVIDER_NAME = \"ToastProvider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(\"Toast\");\nvar [createToastContext, createToastScope] = createContextScope(\"Toast\", [createCollectionScope]);\nvar [ToastProviderProvider, useToastProviderContext] = createToastContext(PROVIDER_NAME);\nvar ToastProvider = (props) => {\n  const {\n    __scopeToast,\n    label = \"Notification\",\n    duration = 5e3,\n    swipeDirection = \"right\",\n    swipeThreshold = 50,\n    children\n  } = props;\n  const [viewport, setViewport] = React.useState(null);\n  const [toastCount, setToastCount] = React.useState(0);\n  const isFocusedToastEscapeKeyDownRef = React.useRef(false);\n  const isClosePausedRef = React.useRef(false);\n  if (!label.trim()) {\n    console.error(\n      `Invalid prop \\`label\\` supplied to \\`${PROVIDER_NAME}\\`. Expected non-empty \\`string\\`.`\n    );\n  }\n  return /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeToast, children: /* @__PURE__ */ jsx(\n    ToastProviderProvider,\n    {\n      scope: __scopeToast,\n      label,\n      duration,\n      swipeDirection,\n      swipeThreshold,\n      toastCount,\n      viewport,\n      onViewportChange: setViewport,\n      onToastAdd: React.useCallback(() => setToastCount((prevCount) => prevCount + 1), []),\n      onToastRemove: React.useCallback(() => setToastCount((prevCount) => prevCount - 1), []),\n      isFocusedToastEscapeKeyDownRef,\n      isClosePausedRef,\n      children\n    }\n  ) });\n};\nToastProvider.displayName = PROVIDER_NAME;\nvar VIEWPORT_NAME = \"ToastViewport\";\nvar VIEWPORT_DEFAULT_HOTKEY = [\"F8\"];\nvar VIEWPORT_PAUSE = \"toast.viewportPause\";\nvar VIEWPORT_RESUME = \"toast.viewportResume\";\nvar ToastViewport = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeToast,\n      hotkey = VIEWPORT_DEFAULT_HOTKEY,\n      label = \"Notifications ({hotkey})\",\n      ...viewportProps\n    } = props;\n    const context = useToastProviderContext(VIEWPORT_NAME, __scopeToast);\n    const getItems = useCollection(__scopeToast);\n    const wrapperRef = React.useRef(null);\n    const headFocusProxyRef = React.useRef(null);\n    const tailFocusProxyRef = React.useRef(null);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n    const hotkeyLabel = hotkey.join(\"+\").replace(/Key/g, \"\").replace(/Digit/g, \"\");\n    const hasToasts = context.toastCount > 0;\n    React.useEffect(() => {\n      const handleKeyDown = (event) => {\n        const isHotkeyPressed = hotkey.length !== 0 && hotkey.every((key) => event[key] || event.code === key);\n        if (isHotkeyPressed) ref.current?.focus();\n      };\n      document.addEventListener(\"keydown\", handleKeyDown);\n      return () => document.removeEventListener(\"keydown\", handleKeyDown);\n    }, [hotkey]);\n    React.useEffect(() => {\n      const wrapper = wrapperRef.current;\n      const viewport = ref.current;\n      if (hasToasts && wrapper && viewport) {\n        const handlePause = () => {\n          if (!context.isClosePausedRef.current) {\n            const pauseEvent = new CustomEvent(VIEWPORT_PAUSE);\n            viewport.dispatchEvent(pauseEvent);\n            context.isClosePausedRef.current = true;\n          }\n        };\n        const handleResume = () => {\n          if (context.isClosePausedRef.current) {\n            const resumeEvent = new CustomEvent(VIEWPORT_RESUME);\n            viewport.dispatchEvent(resumeEvent);\n            context.isClosePausedRef.current = false;\n          }\n        };\n        const handleFocusOutResume = (event) => {\n          const isFocusMovingOutside = !wrapper.contains(event.relatedTarget);\n          if (isFocusMovingOutside) handleResume();\n        };\n        const handlePointerLeaveResume = () => {\n          const isFocusInside = wrapper.contains(document.activeElement);\n          if (!isFocusInside) handleResume();\n        };\n        wrapper.addEventListener(\"focusin\", handlePause);\n        wrapper.addEventListener(\"focusout\", handleFocusOutResume);\n        wrapper.addEventListener(\"pointermove\", handlePause);\n        wrapper.addEventListener(\"pointerleave\", handlePointerLeaveResume);\n        window.addEventListener(\"blur\", handlePause);\n        window.addEventListener(\"focus\", handleResume);\n        return () => {\n          wrapper.removeEventListener(\"focusin\", handlePause);\n          wrapper.removeEventListener(\"focusout\", handleFocusOutResume);\n          wrapper.removeEventListener(\"pointermove\", handlePause);\n          wrapper.removeEventListener(\"pointerleave\", handlePointerLeaveResume);\n          window.removeEventListener(\"blur\", handlePause);\n          window.removeEventListener(\"focus\", handleResume);\n        };\n      }\n    }, [hasToasts, context.isClosePausedRef]);\n    const getSortedTabbableCandidates = React.useCallback(\n      ({ tabbingDirection }) => {\n        const toastItems = getItems();\n        const tabbableCandidates = toastItems.map((toastItem) => {\n          const toastNode = toastItem.ref.current;\n          const toastTabbableCandidates = [toastNode, ...getTabbableCandidates(toastNode)];\n          return tabbingDirection === \"forwards\" ? toastTabbableCandidates : toastTabbableCandidates.reverse();\n        });\n        return (tabbingDirection === \"forwards\" ? tabbableCandidates.reverse() : tabbableCandidates).flat();\n      },\n      [getItems]\n    );\n    React.useEffect(() => {\n      const viewport = ref.current;\n      if (viewport) {\n        const handleKeyDown = (event) => {\n          const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n          const isTabKey = event.key === \"Tab\" && !isMetaKey;\n          if (isTabKey) {\n            const focusedElement = document.activeElement;\n            const isTabbingBackwards = event.shiftKey;\n            const targetIsViewport = event.target === viewport;\n            if (targetIsViewport && isTabbingBackwards) {\n              headFocusProxyRef.current?.focus();\n              return;\n            }\n            const tabbingDirection = isTabbingBackwards ? \"backwards\" : \"forwards\";\n            const sortedCandidates = getSortedTabbableCandidates({ tabbingDirection });\n            const index = sortedCandidates.findIndex((candidate) => candidate === focusedElement);\n            if (focusFirst(sortedCandidates.slice(index + 1))) {\n              event.preventDefault();\n            } else {\n              isTabbingBackwards ? headFocusProxyRef.current?.focus() : tailFocusProxyRef.current?.focus();\n            }\n          }\n        };\n        viewport.addEventListener(\"keydown\", handleKeyDown);\n        return () => viewport.removeEventListener(\"keydown\", handleKeyDown);\n      }\n    }, [getItems, getSortedTabbableCandidates]);\n    return /* @__PURE__ */ jsxs(\n      DismissableLayer.Branch,\n      {\n        ref: wrapperRef,\n        role: \"region\",\n        \"aria-label\": label.replace(\"{hotkey}\", hotkeyLabel),\n        tabIndex: -1,\n        style: { pointerEvents: hasToasts ? void 0 : \"none\" },\n        children: [\n          hasToasts && /* @__PURE__ */ jsx(\n            FocusProxy,\n            {\n              ref: headFocusProxyRef,\n              onFocusFromOutsideViewport: () => {\n                const tabbableCandidates = getSortedTabbableCandidates({\n                  tabbingDirection: \"forwards\"\n                });\n                focusFirst(tabbableCandidates);\n              }\n            }\n          ),\n          /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeToast, children: /* @__PURE__ */ jsx(Primitive.ol, { tabIndex: -1, ...viewportProps, ref: composedRefs }) }),\n          hasToasts && /* @__PURE__ */ jsx(\n            FocusProxy,\n            {\n              ref: tailFocusProxyRef,\n              onFocusFromOutsideViewport: () => {\n                const tabbableCandidates = getSortedTabbableCandidates({\n                  tabbingDirection: \"backwards\"\n                });\n                focusFirst(tabbableCandidates);\n              }\n            }\n          )\n        ]\n      }\n    );\n  }\n);\nToastViewport.displayName = VIEWPORT_NAME;\nvar FOCUS_PROXY_NAME = \"ToastFocusProxy\";\nvar FocusProxy = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, onFocusFromOutsideViewport, ...proxyProps } = props;\n    const context = useToastProviderContext(FOCUS_PROXY_NAME, __scopeToast);\n    return /* @__PURE__ */ jsx(\n      VisuallyHidden,\n      {\n        tabIndex: 0,\n        ...proxyProps,\n        ref: forwardedRef,\n        style: { position: \"fixed\" },\n        onFocus: (event) => {\n          const prevFocusedElement = event.relatedTarget;\n          const isFocusFromOutsideViewport = !context.viewport?.contains(prevFocusedElement);\n          if (isFocusFromOutsideViewport) onFocusFromOutsideViewport();\n        }\n      }\n    );\n  }\n);\nFocusProxy.displayName = FOCUS_PROXY_NAME;\nvar TOAST_NAME = \"Toast\";\nvar TOAST_SWIPE_START = \"toast.swipeStart\";\nvar TOAST_SWIPE_MOVE = \"toast.swipeMove\";\nvar TOAST_SWIPE_CANCEL = \"toast.swipeCancel\";\nvar TOAST_SWIPE_END = \"toast.swipeEnd\";\nvar Toast = React.forwardRef(\n  (props, forwardedRef) => {\n    const { forceMount, open: openProp, defaultOpen, onOpenChange, ...toastProps } = props;\n    const [open, setOpen] = useControllableState({\n      prop: openProp,\n      defaultProp: defaultOpen ?? true,\n      onChange: onOpenChange,\n      caller: TOAST_NAME\n    });\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(\n      ToastImpl,\n      {\n        open,\n        ...toastProps,\n        ref: forwardedRef,\n        onClose: () => setOpen(false),\n        onPause: useCallbackRef(props.onPause),\n        onResume: useCallbackRef(props.onResume),\n        onSwipeStart: composeEventHandlers(props.onSwipeStart, (event) => {\n          event.currentTarget.setAttribute(\"data-swipe\", \"start\");\n        }),\n        onSwipeMove: composeEventHandlers(props.onSwipeMove, (event) => {\n          const { x, y } = event.detail.delta;\n          event.currentTarget.setAttribute(\"data-swipe\", \"move\");\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-move-x\", `${x}px`);\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-move-y\", `${y}px`);\n        }),\n        onSwipeCancel: composeEventHandlers(props.onSwipeCancel, (event) => {\n          event.currentTarget.setAttribute(\"data-swipe\", \"cancel\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-x\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-y\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-end-x\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-end-y\");\n        }),\n        onSwipeEnd: composeEventHandlers(props.onSwipeEnd, (event) => {\n          const { x, y } = event.detail.delta;\n          event.currentTarget.setAttribute(\"data-swipe\", \"end\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-x\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-y\");\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-end-x\", `${x}px`);\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-end-y\", `${y}px`);\n          setOpen(false);\n        })\n      }\n    ) });\n  }\n);\nToast.displayName = TOAST_NAME;\nvar [ToastInteractiveProvider, useToastInteractiveContext] = createToastContext(TOAST_NAME, {\n  onClose() {\n  }\n});\nvar ToastImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeToast,\n      type = \"foreground\",\n      duration: durationProp,\n      open,\n      onClose,\n      onEscapeKeyDown,\n      onPause,\n      onResume,\n      onSwipeStart,\n      onSwipeMove,\n      onSwipeCancel,\n      onSwipeEnd,\n      ...toastProps\n    } = props;\n    const context = useToastProviderContext(TOAST_NAME, __scopeToast);\n    const [node, setNode] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n    const pointerStartRef = React.useRef(null);\n    const swipeDeltaRef = React.useRef(null);\n    const duration = durationProp || context.duration;\n    const closeTimerStartTimeRef = React.useRef(0);\n    const closeTimerRemainingTimeRef = React.useRef(duration);\n    const closeTimerRef = React.useRef(0);\n    const { onToastAdd, onToastRemove } = context;\n    const handleClose = useCallbackRef(() => {\n      const isFocusInToast = node?.contains(document.activeElement);\n      if (isFocusInToast) context.viewport?.focus();\n      onClose();\n    });\n    const startTimer = React.useCallback(\n      (duration2) => {\n        if (!duration2 || duration2 === Infinity) return;\n        window.clearTimeout(closeTimerRef.current);\n        closeTimerStartTimeRef.current = (/* @__PURE__ */ new Date()).getTime();\n        closeTimerRef.current = window.setTimeout(handleClose, duration2);\n      },\n      [handleClose]\n    );\n    React.useEffect(() => {\n      const viewport = context.viewport;\n      if (viewport) {\n        const handleResume = () => {\n          startTimer(closeTimerRemainingTimeRef.current);\n          onResume?.();\n        };\n        const handlePause = () => {\n          const elapsedTime = (/* @__PURE__ */ new Date()).getTime() - closeTimerStartTimeRef.current;\n          closeTimerRemainingTimeRef.current = closeTimerRemainingTimeRef.current - elapsedTime;\n          window.clearTimeout(closeTimerRef.current);\n          onPause?.();\n        };\n        viewport.addEventListener(VIEWPORT_PAUSE, handlePause);\n        viewport.addEventListener(VIEWPORT_RESUME, handleResume);\n        return () => {\n          viewport.removeEventListener(VIEWPORT_PAUSE, handlePause);\n          viewport.removeEventListener(VIEWPORT_RESUME, handleResume);\n        };\n      }\n    }, [context.viewport, duration, onPause, onResume, startTimer]);\n    React.useEffect(() => {\n      if (open && !context.isClosePausedRef.current) startTimer(duration);\n    }, [open, duration, context.isClosePausedRef, startTimer]);\n    React.useEffect(() => {\n      onToastAdd();\n      return () => onToastRemove();\n    }, [onToastAdd, onToastRemove]);\n    const announceTextContent = React.useMemo(() => {\n      return node ? getAnnounceTextContent(node) : null;\n    }, [node]);\n    if (!context.viewport) return null;\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      announceTextContent && /* @__PURE__ */ jsx(\n        ToastAnnounce,\n        {\n          __scopeToast,\n          role: \"status\",\n          \"aria-live\": type === \"foreground\" ? \"assertive\" : \"polite\",\n          children: announceTextContent\n        }\n      ),\n      /* @__PURE__ */ jsx(ToastInteractiveProvider, { scope: __scopeToast, onClose: handleClose, children: ReactDOM.createPortal(\n        /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeToast, children: /* @__PURE__ */ jsx(\n          DismissableLayer.Root,\n          {\n            asChild: true,\n            onEscapeKeyDown: composeEventHandlers(onEscapeKeyDown, () => {\n              if (!context.isFocusedToastEscapeKeyDownRef.current) handleClose();\n              context.isFocusedToastEscapeKeyDownRef.current = false;\n            }),\n            children: /* @__PURE__ */ jsx(\n              Primitive.li,\n              {\n                tabIndex: 0,\n                \"data-state\": open ? \"open\" : \"closed\",\n                \"data-swipe-direction\": context.swipeDirection,\n                ...toastProps,\n                ref: composedRefs,\n                style: { userSelect: \"none\", touchAction: \"none\", ...props.style },\n                onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n                  if (event.key !== \"Escape\") return;\n                  onEscapeKeyDown?.(event.nativeEvent);\n                  if (!event.nativeEvent.defaultPrevented) {\n                    context.isFocusedToastEscapeKeyDownRef.current = true;\n                    handleClose();\n                  }\n                }),\n                onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n                  if (event.button !== 0) return;\n                  pointerStartRef.current = { x: event.clientX, y: event.clientY };\n                }),\n                onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n                  if (!pointerStartRef.current) return;\n                  const x = event.clientX - pointerStartRef.current.x;\n                  const y = event.clientY - pointerStartRef.current.y;\n                  const hasSwipeMoveStarted = Boolean(swipeDeltaRef.current);\n                  const isHorizontalSwipe = [\"left\", \"right\"].includes(context.swipeDirection);\n                  const clamp = [\"left\", \"up\"].includes(context.swipeDirection) ? Math.min : Math.max;\n                  const clampedX = isHorizontalSwipe ? clamp(0, x) : 0;\n                  const clampedY = !isHorizontalSwipe ? clamp(0, y) : 0;\n                  const moveStartBuffer = event.pointerType === \"touch\" ? 10 : 2;\n                  const delta = { x: clampedX, y: clampedY };\n                  const eventDetail = { originalEvent: event, delta };\n                  if (hasSwipeMoveStarted) {\n                    swipeDeltaRef.current = delta;\n                    handleAndDispatchCustomEvent(TOAST_SWIPE_MOVE, onSwipeMove, eventDetail, {\n                      discrete: false\n                    });\n                  } else if (isDeltaInDirection(delta, context.swipeDirection, moveStartBuffer)) {\n                    swipeDeltaRef.current = delta;\n                    handleAndDispatchCustomEvent(TOAST_SWIPE_START, onSwipeStart, eventDetail, {\n                      discrete: false\n                    });\n                    event.target.setPointerCapture(event.pointerId);\n                  } else if (Math.abs(x) > moveStartBuffer || Math.abs(y) > moveStartBuffer) {\n                    pointerStartRef.current = null;\n                  }\n                }),\n                onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n                  const delta = swipeDeltaRef.current;\n                  const target = event.target;\n                  if (target.hasPointerCapture(event.pointerId)) {\n                    target.releasePointerCapture(event.pointerId);\n                  }\n                  swipeDeltaRef.current = null;\n                  pointerStartRef.current = null;\n                  if (delta) {\n                    const toast = event.currentTarget;\n                    const eventDetail = { originalEvent: event, delta };\n                    if (isDeltaInDirection(delta, context.swipeDirection, context.swipeThreshold)) {\n                      handleAndDispatchCustomEvent(TOAST_SWIPE_END, onSwipeEnd, eventDetail, {\n                        discrete: true\n                      });\n                    } else {\n                      handleAndDispatchCustomEvent(\n                        TOAST_SWIPE_CANCEL,\n                        onSwipeCancel,\n                        eventDetail,\n                        {\n                          discrete: true\n                        }\n                      );\n                    }\n                    toast.addEventListener(\"click\", (event2) => event2.preventDefault(), {\n                      once: true\n                    });\n                  }\n                })\n              }\n            )\n          }\n        ) }),\n        context.viewport\n      ) })\n    ] });\n  }\n);\nvar ToastAnnounce = (props) => {\n  const { __scopeToast, children, ...announceProps } = props;\n  const context = useToastProviderContext(TOAST_NAME, __scopeToast);\n  const [renderAnnounceText, setRenderAnnounceText] = React.useState(false);\n  const [isAnnounced, setIsAnnounced] = React.useState(false);\n  useNextFrame(() => setRenderAnnounceText(true));\n  React.useEffect(() => {\n    const timer = window.setTimeout(() => setIsAnnounced(true), 1e3);\n    return () => window.clearTimeout(timer);\n  }, []);\n  return isAnnounced ? null : /* @__PURE__ */ jsx(Portal, { asChild: true, children: /* @__PURE__ */ jsx(VisuallyHidden, { ...announceProps, children: renderAnnounceText && /* @__PURE__ */ jsxs(Fragment, { children: [\n    context.label,\n    \" \",\n    children\n  ] }) }) });\n};\nvar TITLE_NAME = \"ToastTitle\";\nvar ToastTitle = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, ...titleProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...titleProps, ref: forwardedRef });\n  }\n);\nToastTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"ToastDescription\";\nvar ToastDescription = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, ...descriptionProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...descriptionProps, ref: forwardedRef });\n  }\n);\nToastDescription.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"ToastAction\";\nvar ToastAction = React.forwardRef(\n  (props, forwardedRef) => {\n    const { altText, ...actionProps } = props;\n    if (!altText.trim()) {\n      console.error(\n        `Invalid prop \\`altText\\` supplied to \\`${ACTION_NAME}\\`. Expected non-empty \\`string\\`.`\n      );\n      return null;\n    }\n    return /* @__PURE__ */ jsx(ToastAnnounceExclude, { altText, asChild: true, children: /* @__PURE__ */ jsx(ToastClose, { ...actionProps, ref: forwardedRef }) });\n  }\n);\nToastAction.displayName = ACTION_NAME;\nvar CLOSE_NAME = \"ToastClose\";\nvar ToastClose = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, ...closeProps } = props;\n    const interactiveContext = useToastInteractiveContext(CLOSE_NAME, __scopeToast);\n    return /* @__PURE__ */ jsx(ToastAnnounceExclude, { asChild: true, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        ...closeProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(props.onClick, interactiveContext.onClose)\n      }\n    ) });\n  }\n);\nToastClose.displayName = CLOSE_NAME;\nvar ToastAnnounceExclude = React.forwardRef((props, forwardedRef) => {\n  const { __scopeToast, altText, ...announceExcludeProps } = props;\n  return /* @__PURE__ */ jsx(\n    Primitive.div,\n    {\n      \"data-radix-toast-announce-exclude\": \"\",\n      \"data-radix-toast-announce-alt\": altText || void 0,\n      ...announceExcludeProps,\n      ref: forwardedRef\n    }\n  );\n});\nfunction getAnnounceTextContent(container) {\n  const textContent = [];\n  const childNodes = Array.from(container.childNodes);\n  childNodes.forEach((node) => {\n    if (node.nodeType === node.TEXT_NODE && node.textContent) textContent.push(node.textContent);\n    if (isHTMLElement(node)) {\n      const isHidden = node.ariaHidden || node.hidden || node.style.display === \"none\";\n      const isExcluded = node.dataset.radixToastAnnounceExclude === \"\";\n      if (!isHidden) {\n        if (isExcluded) {\n          const altText = node.dataset.radixToastAnnounceAlt;\n          if (altText) textContent.push(altText);\n        } else {\n          textContent.push(...getAnnounceTextContent(node));\n        }\n      }\n    }\n  });\n  return textContent;\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n  const currentTarget = detail.originalEvent.currentTarget;\n  const event = new CustomEvent(name, { bubbles: true, cancelable: true, detail });\n  if (handler) currentTarget.addEventListener(name, handler, { once: true });\n  if (discrete) {\n    dispatchDiscreteCustomEvent(currentTarget, event);\n  } else {\n    currentTarget.dispatchEvent(event);\n  }\n}\nvar isDeltaInDirection = (delta, direction, threshold = 0) => {\n  const deltaX = Math.abs(delta.x);\n  const deltaY = Math.abs(delta.y);\n  const isDeltaX = deltaX > deltaY;\n  if (direction === \"left\" || direction === \"right\") {\n    return isDeltaX && deltaX > threshold;\n  } else {\n    return !isDeltaX && deltaY > threshold;\n  }\n};\nfunction useNextFrame(callback = () => {\n}) {\n  const fn = useCallbackRef(callback);\n  useLayoutEffect(() => {\n    let raf1 = 0;\n    let raf2 = 0;\n    raf1 = window.requestAnimationFrame(() => raf2 = window.requestAnimationFrame(fn));\n    return () => {\n      window.cancelAnimationFrame(raf1);\n      window.cancelAnimationFrame(raf2);\n    };\n  }, [fn]);\n}\nfunction isHTMLElement(node) {\n  return node.nodeType === node.ELEMENT_NODE;\n}\nfunction getTabbableCandidates(container) {\n  const nodes = [];\n  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (node) => {\n      const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n      if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n      return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  while (walker.nextNode()) nodes.push(walker.currentNode);\n  return nodes;\n}\nfunction focusFirst(candidates) {\n  const previouslyFocusedElement = document.activeElement;\n  return candidates.some((candidate) => {\n    if (candidate === previouslyFocusedElement) return true;\n    candidate.focus();\n    return document.activeElement !== previouslyFocusedElement;\n  });\n}\nvar Provider = ToastProvider;\nvar Viewport = ToastViewport;\nvar Root2 = Toast;\nvar Title = ToastTitle;\nvar Description = ToastDescription;\nvar Action = ToastAction;\nvar Close = ToastClose;\nexport {\n  Action,\n  Close,\n  Description,\n  Provider,\n  Root2 as Root,\n  Title,\n  Toast,\n  ToastAction,\n  ToastClose,\n  ToastDescription,\n  ToastProvider,\n  ToastTitle,\n  ToastViewport,\n  Viewport,\n  createToastScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toggle-group.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Toggle } from \"@radix-ui/react-toggle\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TOGGLE_GROUP_NAME = \"ToggleGroup\";\nvar [createToggleGroupContext, createToggleGroupScope] = createContextScope(TOGGLE_GROUP_NAME, [\n  createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar ToggleGroup = React.forwardRef((props, forwardedRef) => {\n  const { type, ...toggleGroupProps } = props;\n  if (type === \"single\") {\n    const singleProps = toggleGroupProps;\n    return /* @__PURE__ */ jsx(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n  }\n  if (type === \"multiple\") {\n    const multipleProps = toggleGroupProps;\n    return /* @__PURE__ */ jsx(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n  }\n  throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupValueProvider, useToggleGroupValueContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImplSingle = React.forwardRef((props, forwardedRef) => {\n  const {\n    value: valueProp,\n    defaultValue,\n    onValueChange = () => {\n    },\n    ...toggleGroupSingleProps\n  } = props;\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue ?? \"\",\n    onChange: onValueChange,\n    caller: TOGGLE_GROUP_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    ToggleGroupValueProvider,\n    {\n      scope: props.__scopeToggleGroup,\n      type: \"single\",\n      value: React.useMemo(() => value ? [value] : [], [value]),\n      onItemActivate: setValue,\n      onItemDeactivate: React.useCallback(() => setValue(\"\"), [setValue]),\n      children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef })\n    }\n  );\n});\nvar ToggleGroupImplMultiple = React.forwardRef((props, forwardedRef) => {\n  const {\n    value: valueProp,\n    defaultValue,\n    onValueChange = () => {\n    },\n    ...toggleGroupMultipleProps\n  } = props;\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue ?? [],\n    onChange: onValueChange,\n    caller: TOGGLE_GROUP_NAME\n  });\n  const handleButtonActivate = React.useCallback(\n    (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n    [setValue]\n  );\n  const handleButtonDeactivate = React.useCallback(\n    (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n    [setValue]\n  );\n  return /* @__PURE__ */ jsx(\n    ToggleGroupValueProvider,\n    {\n      scope: props.__scopeToggleGroup,\n      type: \"multiple\",\n      value,\n      onItemActivate: handleButtonActivate,\n      onItemDeactivate: handleButtonDeactivate,\n      children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef })\n    }\n  );\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupContext, useToggleGroupContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeToggleGroup,\n      disabled = false,\n      rovingFocus = true,\n      orientation,\n      dir,\n      loop = true,\n      ...toggleGroupProps\n    } = props;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToggleGroup);\n    const direction = useDirection(dir);\n    const commonProps = { role: \"group\", dir: direction, ...toggleGroupProps };\n    return /* @__PURE__ */ jsx(ToggleGroupContext, { scope: __scopeToggleGroup, rovingFocus, disabled, children: rovingFocus ? /* @__PURE__ */ jsx(\n      RovingFocusGroup.Root,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        orientation,\n        dir: direction,\n        loop,\n        children: /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef })\n      }\n    ) : /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef }) });\n  }\n);\nvar ITEM_NAME = \"ToggleGroupItem\";\nvar ToggleGroupItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const valueContext = useToggleGroupValueContext(ITEM_NAME, props.__scopeToggleGroup);\n    const context = useToggleGroupContext(ITEM_NAME, props.__scopeToggleGroup);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(props.__scopeToggleGroup);\n    const pressed = valueContext.value.includes(props.value);\n    const disabled = context.disabled || props.disabled;\n    const commonProps = { ...props, pressed, disabled };\n    const ref = React.useRef(null);\n    return context.rovingFocus ? /* @__PURE__ */ jsx(\n      RovingFocusGroup.Item,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        focusable: !disabled,\n        active: pressed,\n        ref,\n        children: /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef })\n      }\n    ) : /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef });\n  }\n);\nToggleGroupItem.displayName = ITEM_NAME;\nvar ToggleGroupItemImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToggleGroup, value, ...itemProps } = props;\n    const valueContext = useToggleGroupValueContext(ITEM_NAME, __scopeToggleGroup);\n    const singleProps = { role: \"radio\", \"aria-checked\": props.pressed, \"aria-pressed\": void 0 };\n    const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n    return /* @__PURE__ */ jsx(\n      Toggle,\n      {\n        ...typeProps,\n        ...itemProps,\n        ref: forwardedRef,\n        onPressedChange: (pressed) => {\n          if (pressed) {\n            valueContext.onItemActivate(value);\n          } else {\n            valueContext.onItemDeactivate(value);\n          }\n        }\n      }\n    );\n  }\n);\nvar Root2 = ToggleGroup;\nvar Item2 = ToggleGroupItem;\nexport {\n  Item2 as Item,\n  Root2 as Root,\n  ToggleGroup,\n  ToggleGroupItem,\n  createToggleGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toggle.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Toggle\";\nvar Toggle = React.forwardRef((props, forwardedRef) => {\n  const { pressed: pressedProp, defaultPressed, onPressedChange, ...buttonProps } = props;\n  const [pressed, setPressed] = useControllableState({\n    prop: pressedProp,\n    onChange: onPressedChange,\n    defaultProp: defaultPressed ?? false,\n    caller: NAME\n  });\n  return /* @__PURE__ */ jsx(\n    Primitive.button,\n    {\n      type: \"button\",\n      \"aria-pressed\": pressed,\n      \"data-state\": pressed ? \"on\" : \"off\",\n      \"data-disabled\": props.disabled ? \"\" : void 0,\n      ...buttonProps,\n      ref: forwardedRef,\n      onClick: composeEventHandlers(props.onClick, () => {\n        if (!props.disabled) {\n          setPressed(!pressed);\n        }\n      })\n    }\n  );\n});\nToggle.displayName = NAME;\nvar Root = Toggle;\nexport {\n  Root,\n  Toggle\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n  const {\n    __scopeTooltip,\n    delayDuration = DEFAULT_DELAY_DURATION,\n    skipDelayDuration = 300,\n    disableHoverableContent = false,\n    children\n  } = props;\n  const isOpenDelayedRef = React.useRef(true);\n  const isPointerInTransitRef = React.useRef(false);\n  const skipDelayTimerRef = React.useRef(0);\n  React.useEffect(() => {\n    const skipDelayTimer = skipDelayTimerRef.current;\n    return () => window.clearTimeout(skipDelayTimer);\n  }, []);\n  return /* @__PURE__ */ jsx(\n    TooltipProviderContextProvider,\n    {\n      scope: __scopeTooltip,\n      isOpenDelayedRef,\n      delayDuration,\n      onOpen: React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        isOpenDelayedRef.current = false;\n      }, []),\n      onClose: React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        skipDelayTimerRef.current = window.setTimeout(\n          () => isOpenDelayedRef.current = true,\n          skipDelayDuration\n        );\n      }, [skipDelayDuration]),\n      isPointerInTransitRef,\n      onPointerInTransitChange: React.useCallback((inTransit) => {\n        isPointerInTransitRef.current = inTransit;\n      }, []),\n      disableHoverableContent,\n      children\n    }\n  );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n  const {\n    __scopeTooltip,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    disableHoverableContent: disableHoverableContentProp,\n    delayDuration: delayDurationProp\n  } = props;\n  const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n  const popperScope = usePopperScope(__scopeTooltip);\n  const [trigger, setTrigger] = React.useState(null);\n  const contentId = useId();\n  const openTimerRef = React.useRef(0);\n  const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n  const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n  const wasOpenDelayedRef = React.useRef(false);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: (open2) => {\n      if (open2) {\n        providerContext.onOpen();\n        document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n      } else {\n        providerContext.onClose();\n      }\n      onOpenChange?.(open2);\n    },\n    caller: TOOLTIP_NAME\n  });\n  const stateAttribute = React.useMemo(() => {\n    return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n  }, [open]);\n  const handleOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = 0;\n    wasOpenDelayedRef.current = false;\n    setOpen(true);\n  }, [setOpen]);\n  const handleClose = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = 0;\n    setOpen(false);\n  }, [setOpen]);\n  const handleDelayedOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = window.setTimeout(() => {\n      wasOpenDelayedRef.current = true;\n      setOpen(true);\n      openTimerRef.current = 0;\n    }, delayDuration);\n  }, [delayDuration, setOpen]);\n  React.useEffect(() => {\n    return () => {\n      if (openTimerRef.current) {\n        window.clearTimeout(openTimerRef.current);\n        openTimerRef.current = 0;\n      }\n    };\n  }, []);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    TooltipContextProvider,\n    {\n      scope: __scopeTooltip,\n      contentId,\n      open,\n      stateAttribute,\n      trigger,\n      onTriggerChange: setTrigger,\n      onTriggerEnter: React.useCallback(() => {\n        if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n        else handleOpen();\n      }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n      onTriggerLeave: React.useCallback(() => {\n        if (disableHoverableContent) {\n          handleClose();\n        } else {\n          window.clearTimeout(openTimerRef.current);\n          openTimerRef.current = 0;\n        }\n      }, [handleClose, disableHoverableContent]),\n      onOpen: handleOpen,\n      onClose: handleClose,\n      disableHoverableContent,\n      children\n    }\n  ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTooltip, ...triggerProps } = props;\n    const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n    const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n    const popperScope = usePopperScope(__scopeTooltip);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n    const isPointerDownRef = React.useRef(false);\n    const hasPointerMoveOpenedRef = React.useRef(false);\n    const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n    React.useEffect(() => {\n      return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n    }, [handlePointerUp]);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        \"aria-describedby\": context.open ? context.contentId : void 0,\n        \"data-state\": context.stateAttribute,\n        ...triggerProps,\n        ref: composedRefs,\n        onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n          if (event.pointerType === \"touch\") return;\n          if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n            context.onTriggerEnter();\n            hasPointerMoveOpenedRef.current = true;\n          }\n        }),\n        onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n          context.onTriggerLeave();\n          hasPointerMoveOpenedRef.current = false;\n        }),\n        onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n          if (context.open) {\n            context.onClose();\n          }\n          isPointerDownRef.current = true;\n          document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n        }),\n        onFocus: composeEventHandlers(props.onFocus, () => {\n          if (!isPointerDownRef.current) context.onOpen();\n        }),\n        onBlur: composeEventHandlers(props.onBlur, context.onClose),\n        onClick: composeEventHandlers(props.onClick, context.onClose)\n      }\n    ) });\n  }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n  const { __scopeTooltip, forceMount, children, container } = props;\n  const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n    const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n    const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n  }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n  const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n  const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n  const { trigger, onClose } = context;\n  const content = ref.current;\n  const { onPointerInTransitChange } = providerContext;\n  const handleRemoveGraceArea = React.useCallback(() => {\n    setPointerGraceArea(null);\n    onPointerInTransitChange(false);\n  }, [onPointerInTransitChange]);\n  const handleCreateGraceArea = React.useCallback(\n    (event, hoverTarget) => {\n      const currentTarget = event.currentTarget;\n      const exitPoint = { x: event.clientX, y: event.clientY };\n      const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n      const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n      const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n      const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n      setPointerGraceArea(graceArea);\n      onPointerInTransitChange(true);\n    },\n    [onPointerInTransitChange]\n  );\n  React.useEffect(() => {\n    return () => handleRemoveGraceArea();\n  }, [handleRemoveGraceArea]);\n  React.useEffect(() => {\n    if (trigger && content) {\n      const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n      const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n      trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n      content.addEventListener(\"pointerleave\", handleContentLeave);\n      return () => {\n        trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n        content.removeEventListener(\"pointerleave\", handleContentLeave);\n      };\n    }\n  }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n  React.useEffect(() => {\n    if (pointerGraceArea) {\n      const handleTrackPointerGrace = (event) => {\n        const target = event.target;\n        const pointerPosition = { x: event.clientX, y: event.clientY };\n        const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n        const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n        if (hasEnteredTarget) {\n          handleRemoveGraceArea();\n        } else if (isPointerOutsideGraceArea) {\n          handleRemoveGraceArea();\n          onClose();\n        }\n      };\n      document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n      return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n    }\n  }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n  return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeTooltip,\n      children,\n      \"aria-label\": ariaLabel,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      ...contentProps\n    } = props;\n    const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n    const popperScope = usePopperScope(__scopeTooltip);\n    const { onClose } = context;\n    React.useEffect(() => {\n      document.addEventListener(TOOLTIP_OPEN, onClose);\n      return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n    }, [onClose]);\n    React.useEffect(() => {\n      if (context.trigger) {\n        const handleScroll = (event) => {\n          const target = event.target;\n          if (target?.contains(context.trigger)) onClose();\n        };\n        window.addEventListener(\"scroll\", handleScroll, { capture: true });\n        return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n      }\n    }, [context.trigger, onClose]);\n    return /* @__PURE__ */ jsx(\n      DismissableLayer,\n      {\n        asChild: true,\n        disableOutsidePointerEvents: false,\n        onEscapeKeyDown,\n        onPointerDownOutside,\n        onFocusOutside: (event) => event.preventDefault(),\n        onDismiss: onClose,\n        children: /* @__PURE__ */ jsxs(\n          PopperPrimitive.Content,\n          {\n            \"data-state\": context.stateAttribute,\n            ...popperScope,\n            ...contentProps,\n            ref: forwardedRef,\n            style: {\n              ...contentProps.style,\n              // re-namespace exposed content custom properties\n              ...{\n                \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n                \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n                \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n                \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n                \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n              }\n            },\n            children: [\n              /* @__PURE__ */ jsx(Slottable, { children }),\n              /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n            ]\n          }\n        )\n      }\n    );\n  }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTooltip, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeTooltip);\n    const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n      ARROW_NAME,\n      __scopeTooltip\n    );\n    return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n  const top = Math.abs(rect.top - point.y);\n  const bottom = Math.abs(rect.bottom - point.y);\n  const right = Math.abs(rect.right - point.x);\n  const left = Math.abs(rect.left - point.x);\n  switch (Math.min(top, bottom, right, left)) {\n    case left:\n      return \"left\";\n    case right:\n      return \"right\";\n    case top:\n      return \"top\";\n    case bottom:\n      return \"bottom\";\n    default:\n      throw new Error(\"unreachable\");\n  }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n  const paddedExitPoints = [];\n  switch (exitSide) {\n    case \"top\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y + padding },\n        { x: exitPoint.x + padding, y: exitPoint.y + padding }\n      );\n      break;\n    case \"bottom\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y - padding },\n        { x: exitPoint.x + padding, y: exitPoint.y - padding }\n      );\n      break;\n    case \"left\":\n      paddedExitPoints.push(\n        { x: exitPoint.x + padding, y: exitPoint.y - padding },\n        { x: exitPoint.x + padding, y: exitPoint.y + padding }\n      );\n      break;\n    case \"right\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y - padding },\n        { x: exitPoint.x - padding, y: exitPoint.y + padding }\n      );\n      break;\n  }\n  return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n  const { top, right, bottom, left } = rect;\n  return [\n    { x: left, y: top },\n    { x: right, y: top },\n    { x: right, y: bottom },\n    { x: left, y: bottom }\n  ];\n}\nfunction isPointInPolygon(point, polygon) {\n  const { x, y } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const ii = polygon[i];\n    const jj = polygon[j];\n    const xi = ii.x;\n    const yi = ii.y;\n    const xj = jj.x;\n    const yj = jj.y;\n    const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) inside = !inside;\n  }\n  return inside;\n}\nfunction getHull(points) {\n  const newPoints = points.slice();\n  newPoints.sort((a, b) => {\n    if (a.x < b.x) return -1;\n    else if (a.x > b.x) return 1;\n    else if (a.y < b.y) return -1;\n    else if (a.y > b.y) return 1;\n    else return 0;\n  });\n  return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n  if (points.length <= 1) return points.slice();\n  const upperHull = [];\n  for (let i = 0; i < points.length; i++) {\n    const p = points[i];\n    while (upperHull.length >= 2) {\n      const q = upperHull[upperHull.length - 1];\n      const r = upperHull[upperHull.length - 2];\n      if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n      else break;\n    }\n    upperHull.push(p);\n  }\n  upperHull.pop();\n  const lowerHull = [];\n  for (let i = points.length - 1; i >= 0; i--) {\n    const p = points[i];\n    while (lowerHull.length >= 2) {\n      const q = lowerHull[lowerHull.length - 1];\n      const r = lowerHull[lowerHull.length - 2];\n      if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n      else break;\n    }\n    lowerHull.push(p);\n  }\n  lowerHull.pop();\n  if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n    return upperHull;\n  } else {\n    return upperHull.concat(lowerHull);\n  }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n  Arrow2 as Arrow,\n  Content2 as Content,\n  Portal,\n  Provider,\n  Root3 as Root,\n  Tooltip,\n  TooltipArrow,\n  TooltipContent,\n  TooltipPortal,\n  TooltipProvider,\n  TooltipTrigger,\n  Trigger,\n  createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n  prop,\n  defaultProp,\n  onChange = () => {\n  },\n  caller\n}) {\n  const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n    defaultProp,\n    onChange\n  });\n  const isControlled = prop !== void 0;\n  const value = isControlled ? prop : uncontrolledProp;\n  if (true) {\n    const isControlledRef = React.useRef(prop !== void 0);\n    React.useEffect(() => {\n      const wasControlled = isControlledRef.current;\n      if (wasControlled !== isControlled) {\n        const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n        const to = isControlled ? \"controlled\" : \"uncontrolled\";\n        console.warn(\n          `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n        );\n      }\n      isControlledRef.current = isControlled;\n    }, [isControlled, caller]);\n  }\n  const setValue = React.useCallback(\n    (nextValue) => {\n      if (isControlled) {\n        const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n        if (value2 !== prop) {\n          onChangeRef.current?.(value2);\n        }\n      } else {\n        setUncontrolledProp(nextValue);\n      }\n    },\n    [isControlled, prop, setUncontrolledProp, onChangeRef]\n  );\n  return [value, setValue];\n}\nfunction useUncontrolledState({\n  defaultProp,\n  onChange\n}) {\n  const [value, setValue] = React.useState(defaultProp);\n  const prevValueRef = React.useRef(value);\n  const onChangeRef = React.useRef(onChange);\n  useInsertionEffect(() => {\n    onChangeRef.current = onChange;\n  }, [onChange]);\n  React.useEffect(() => {\n    if (prevValueRef.current !== value) {\n      onChangeRef.current?.(value);\n      prevValueRef.current = value;\n    }\n  }, [value, prevValueRef]);\n  return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n  return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n  const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n  const isControlled = controlledState !== void 0;\n  const onChange = useEffectEvent(onChangeProp);\n  if (true) {\n    const isControlledRef = React2.useRef(controlledState !== void 0);\n    React2.useEffect(() => {\n      const wasControlled = isControlledRef.current;\n      if (wasControlled !== isControlled) {\n        const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n        const to = isControlled ? \"controlled\" : \"uncontrolled\";\n        console.warn(\n          `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n        );\n      }\n      isControlledRef.current = isControlled;\n    }, [isControlled, caller]);\n  }\n  const args = [{ ...initialArg, state: defaultProp }];\n  if (init) {\n    args.push(init);\n  }\n  const [internalState, dispatch] = React2.useReducer(\n    (state2, action) => {\n      if (action.type === SYNC_STATE) {\n        return { ...state2, state: action.state };\n      }\n      const next = reducer(state2, action);\n      if (isControlled && !Object.is(next.state, state2.state)) {\n        onChange(next.state);\n      }\n      return next;\n    },\n    ...args\n  );\n  const uncontrolledState = internalState.state;\n  const prevValueRef = React2.useRef(uncontrolledState);\n  React2.useEffect(() => {\n    if (prevValueRef.current !== uncontrolledState) {\n      prevValueRef.current = uncontrolledState;\n      if (!isControlled) {\n        onChange(uncontrolledState);\n      }\n    }\n  }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n  const state = React2.useMemo(() => {\n    const isControlled2 = controlledState !== void 0;\n    if (isControlled2) {\n      return { ...internalState, state: controlledState };\n    }\n    return internalState;\n  }, [internalState, controlledState]);\n  React2.useEffect(() => {\n    if (isControlled && !Object.is(controlledState, internalState.state)) {\n      dispatch({ type: SYNC_STATE, state: controlledState });\n    }\n  }, [controlledState, internalState.state, isControlled]);\n  return [state, dispatch];\n}\nexport {\n  useControllableState,\n  useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/use-escape-keydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n  const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n  React.useEffect(() => {\n    const handleKeyDown = (event) => {\n      if (event.key === \"Escape\") {\n        onEscapeKeyDown(event);\n      }\n    };\n    ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n    return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n  }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n  useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n  const ref = React.useRef({ value, previous: value });\n  return React.useMemo(() => {\n    if (ref.current.value !== value) {\n      ref.current.previous = ref.current.value;\n      ref.current.value = value;\n    }\n    return ref.current.previous;\n  }, [value]);\n}\nexport {\n  usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n  const [size, setSize] = React.useState(void 0);\n  useLayoutEffect(() => {\n    if (element) {\n      setSize({ width: element.offsetWidth, height: element.offsetHeight });\n      const resizeObserver = new ResizeObserver((entries) => {\n        if (!Array.isArray(entries)) {\n          return;\n        }\n        if (!entries.length) {\n          return;\n        }\n        const entry = entries[0];\n        let width;\n        let height;\n        if (\"borderBoxSize\" in entry) {\n          const borderSizeEntry = entry[\"borderBoxSize\"];\n          const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n          width = borderSize[\"inlineSize\"];\n          height = borderSize[\"blockSize\"];\n        } else {\n          width = element.offsetWidth;\n          height = element.offsetHeight;\n        }\n        setSize({ width, height });\n      });\n      resizeObserver.observe(element, { box: \"border-box\" });\n      return () => resizeObserver.unobserve(element);\n    } else {\n      setSize(void 0);\n    }\n  }, [element]);\n  return size;\n}\nexport {\n  useSize\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n  // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n  position: \"absolute\",\n  border: 0,\n  width: 1,\n  height: 1,\n  padding: 0,\n  margin: -1,\n  overflow: \"hidden\",\n  clip: \"rect(0, 0, 0, 0)\",\n  whiteSpace: \"nowrap\",\n  wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n  (props, forwardedRef) => {\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        ...props,\n        ref: forwardedRef,\n        style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n      }\n    );\n  }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n  Root,\n  VISUALLY_HIDDEN_STYLES,\n  VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n  return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n  defaultOptions = newOptions;\n}\n","import { toDate } from \"../toDate.mjs\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n  const _date = toDate(date);\n  const utcDate = new Date(\n    Date.UTC(\n      _date.getFullYear(),\n      _date.getMonth(),\n      _date.getDate(),\n      _date.getHours(),\n      _date.getMinutes(),\n      _date.getSeconds(),\n      _date.getMilliseconds(),\n    ),\n  );\n  utcDate.setUTCFullYear(_date.getFullYear());\n  return +date - +utcDate;\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n *   return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n","/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from 'date-fns'\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date(date: DateType): DateType {\n *   return constructFrom(\n *     date, // Use contrustor from the given date\n *     date.getTime() // Use the date value to create a new date\n *   )\n * }\n */\nexport function constructFrom(date, value) {\n  if (date instanceof Date) {\n    return new date.constructor(value);\n  } else {\n    return new Date(value);\n  }\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n *   date: DateType | number | string,\n * ): boolean {\n *   // If we were to use `new Date()` directly, the function would  behave\n *   // differently in different timezones and return false for the same date.\n *   return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n  return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { millisecondsInDay } from \"./constants.mjs\";\nimport { startOfDay } from \"./startOfDay.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n *   new Date(2012, 6, 2, 0, 0),\n *   new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n *   new Date(2011, 6, 3, 0, 1),\n *   new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(dateLeft, dateRight) {\n  const startOfDayLeft = startOfDay(dateLeft);\n  const startOfDayRight = startOfDay(dateRight);\n\n  const timestampLeft =\n    +startOfDayLeft - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n  const timestampRight =\n    +startOfDayRight - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n  // Round the number of days to the nearest integer because the number of\n  // milliseconds in a day is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round((timestampLeft - timestampRight) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.mjs\";\nimport { startOfYear } from \"./startOfYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date) {\n  const _date = toDate(date);\n  const diff = differenceInCalendarDays(_date, startOfYear(_date));\n  const dayOfYear = diff + 1;\n  return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date) {\n  const cleanDate = toDate(date);\n  const _date = constructFrom(date, 0);\n  _date.setFullYear(cleanDate.getFullYear(), 0, 1);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date) {\n  return startOfWeek(date, { weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date) {\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n\n  const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\n  fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n  fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n  const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\n  fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n  fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date) {\n  const _date = toDate(date);\n  const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n  // Round the number of weeks to the nearest integer because the number of\n  // milliseconds in a week is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { getISOWeekYear } from \"./getISOWeekYear.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date) {\n  const year = getISOWeekYear(date);\n  const fourthOfJanuary = constructFrom(date, 0);\n  fourthOfJanuary.setFullYear(year, 0, 4);\n  fourthOfJanuary.setHours(0, 0, 0, 0);\n  return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const firstWeekOfNextYear = constructFrom(date, 0);\n  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n  firstWeekOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n  const firstWeekOfThisYear = constructFrom(date, 0);\n  firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeekOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { startOfWeekYear } from \"./startOfWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport function getWeek(date, options) {\n  const _date = toDate(date);\n  const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n  // Round the number of weeks to the nearest integer because the number of\n  // milliseconds in a week is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getWeekYear } from \"./getWeekYear.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const year = getWeekYear(date, options);\n  const firstWeek = constructFrom(date, 0);\n  firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeek.setHours(0, 0, 0, 0);\n  const _date = startOfWeek(firstWeek, options);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","export function addLeadingZeros(number, targetLength) {\n  const sign = number < 0 ? \"-\" : \"\";\n  const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n  return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.mjs\";\n\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* |                                |\n * |  d  | Day of month                   |  D  |                                |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  m  | Minute                         |  M  | Month                          |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  y  | Year (abs)                     |  Y  |                                |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n  // Year\n  y(date, token) {\n    // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n    // | Year     |     y | yy |   yyy |  yyyy | yyyyy |\n    // |----------|-------|----|-------|-------|-------|\n    // | AD 1     |     1 | 01 |   001 |  0001 | 00001 |\n    // | AD 12    |    12 | 12 |   012 |  0012 | 00012 |\n    // | AD 123   |   123 | 23 |   123 |  0123 | 00123 |\n    // | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |\n    // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n    const signedYear = date.getFullYear();\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    const year = signedYear > 0 ? signedYear : 1 - signedYear;\n    return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n  },\n\n  // Month\n  M(date, token) {\n    const month = date.getMonth();\n    return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n  },\n\n  // Day of the month\n  d(date, token) {\n    return addLeadingZeros(date.getDate(), token.length);\n  },\n\n  // AM or PM\n  a(date, token) {\n    const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return dayPeriodEnumValue.toUpperCase();\n      case \"aaa\":\n        return dayPeriodEnumValue;\n      case \"aaaaa\":\n        return dayPeriodEnumValue[0];\n      case \"aaaa\":\n      default:\n        return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n    }\n  },\n\n  // Hour [1-12]\n  h(date, token) {\n    return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n  },\n\n  // Hour [0-23]\n  H(date, token) {\n    return addLeadingZeros(date.getHours(), token.length);\n  },\n\n  // Minute\n  m(date, token) {\n    return addLeadingZeros(date.getMinutes(), token.length);\n  },\n\n  // Second\n  s(date, token) {\n    return addLeadingZeros(date.getSeconds(), token.length);\n  },\n\n  // Fraction of second\n  S(date, token) {\n    const numberOfDigits = token.length;\n    const milliseconds = date.getMilliseconds();\n    const fractionalSeconds = Math.trunc(\n      milliseconds * Math.pow(10, numberOfDigits - 3),\n    );\n    return addLeadingZeros(fractionalSeconds, token.length);\n  },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.mjs\";\nimport { getISOWeek } from \"../../getISOWeek.mjs\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.mjs\";\nimport { getWeek } from \"../../getWeek.mjs\";\nimport { getWeekYear } from \"../../getWeekYear.mjs\";\nimport { addLeadingZeros } from \"../addLeadingZeros.mjs\";\nimport { lightFormatters } from \"./lightFormatters.mjs\";\n\nconst dayPeriodEnum = {\n  am: \"am\",\n  pm: \"pm\",\n  midnight: \"midnight\",\n  noon: \"noon\",\n  morning: \"morning\",\n  afternoon: \"afternoon\",\n  evening: \"evening\",\n  night: \"night\",\n};\n\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* | Milliseconds in day            |\n * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |\n * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |\n * |  d  | Day of month                   |  D  | Day of year                    |\n * |  e  | Local day of week              |  E  | Day of week                    |\n * |  f  |                                |  F* | Day of week in month           |\n * |  g* | Modified Julian day            |  G  | Era                            |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  i! | ISO day of week                |  I! | ISO week of year               |\n * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |\n * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |\n * |  l* | (deprecated)                   |  L  | Stand-alone month              |\n * |  m  | Minute                         |  M  | Month                          |\n * |  n  |                                |  N  |                                |\n * |  o! | Ordinal number modifier        |  O  | Timezone (GMT)                 |\n * |  p! | Long localized time            |  P! | Long localized date            |\n * |  q  | Stand-alone quarter            |  Q  | Quarter                        |\n * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |\n * |  u  | Extended year                  |  U* | Cyclic year                    |\n * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |\n * |  w  | Local week of year             |  W* | Week of month                  |\n * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |\n * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |\n * |  z  | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n *   i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n *   `R` is supposed to be used in conjunction with `I` and `i`\n *   for universal ISO week-numbering date, whereas\n *   `Y` is supposed to be used in conjunction with `w` and `e`\n *   for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n  // Era\n  G: function (date, token, localize) {\n    const era = date.getFullYear() > 0 ? 1 : 0;\n    switch (token) {\n      // AD, BC\n      case \"G\":\n      case \"GG\":\n      case \"GGG\":\n        return localize.era(era, { width: \"abbreviated\" });\n      // A, B\n      case \"GGGGG\":\n        return localize.era(era, { width: \"narrow\" });\n      // Anno Domini, Before Christ\n      case \"GGGG\":\n      default:\n        return localize.era(era, { width: \"wide\" });\n    }\n  },\n\n  // Year\n  y: function (date, token, localize) {\n    // Ordinal number\n    if (token === \"yo\") {\n      const signedYear = date.getFullYear();\n      // Returns 1 for 1 BC (which is year 0 in JavaScript)\n      const year = signedYear > 0 ? signedYear : 1 - signedYear;\n      return localize.ordinalNumber(year, { unit: \"year\" });\n    }\n\n    return lightFormatters.y(date, token);\n  },\n\n  // Local week-numbering year\n  Y: function (date, token, localize, options) {\n    const signedWeekYear = getWeekYear(date, options);\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n    // Two digit year\n    if (token === \"YY\") {\n      const twoDigitYear = weekYear % 100;\n      return addLeadingZeros(twoDigitYear, 2);\n    }\n\n    // Ordinal number\n    if (token === \"Yo\") {\n      return localize.ordinalNumber(weekYear, { unit: \"year\" });\n    }\n\n    // Padding\n    return addLeadingZeros(weekYear, token.length);\n  },\n\n  // ISO week-numbering year\n  R: function (date, token) {\n    const isoWeekYear = getISOWeekYear(date);\n\n    // Padding\n    return addLeadingZeros(isoWeekYear, token.length);\n  },\n\n  // Extended year. This is a single number designating the year of this calendar system.\n  // The main difference between `y` and `u` localizers are B.C. years:\n  // | Year | `y` | `u` |\n  // |------|-----|-----|\n  // | AC 1 |   1 |   1 |\n  // | BC 1 |   1 |   0 |\n  // | BC 2 |   2 |  -1 |\n  // Also `yy` always returns the last two digits of a year,\n  // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n  u: function (date, token) {\n    const year = date.getFullYear();\n    return addLeadingZeros(year, token.length);\n  },\n\n  // Quarter\n  Q: function (date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"Q\":\n        return String(quarter);\n      // 01, 02, 03, 04\n      case \"QQ\":\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case \"Qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"QQQ\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"QQQQQ\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"QQQQ\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Stand-alone quarter\n  q: function (date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"q\":\n        return String(quarter);\n      // 01, 02, 03, 04\n      case \"qq\":\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case \"qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"qqq\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"qqqqq\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"qqqq\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"standalone\",\n        });\n    }\n  },\n\n  // Month\n  M: function (date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      case \"M\":\n      case \"MM\":\n        return lightFormatters.M(date, token);\n      // 1st, 2nd, ..., 12th\n      case \"Mo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      // Jan, Feb, ..., Dec\n      case \"MMM\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // J, F, ..., D\n      case \"MMMMM\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // January, February, ..., December\n      case \"MMMM\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"formatting\" });\n    }\n  },\n\n  // Stand-alone month\n  L: function (date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      // 1, 2, ..., 12\n      case \"L\":\n        return String(month + 1);\n      // 01, 02, ..., 12\n      case \"LL\":\n        return addLeadingZeros(month + 1, 2);\n      // 1st, 2nd, ..., 12th\n      case \"Lo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      // Jan, Feb, ..., Dec\n      case \"LLL\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // J, F, ..., D\n      case \"LLLLL\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // January, February, ..., December\n      case \"LLLL\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"standalone\" });\n    }\n  },\n\n  // Local week of year\n  w: function (date, token, localize, options) {\n    const week = getWeek(date, options);\n\n    if (token === \"wo\") {\n      return localize.ordinalNumber(week, { unit: \"week\" });\n    }\n\n    return addLeadingZeros(week, token.length);\n  },\n\n  // ISO week of year\n  I: function (date, token, localize) {\n    const isoWeek = getISOWeek(date);\n\n    if (token === \"Io\") {\n      return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n    }\n\n    return addLeadingZeros(isoWeek, token.length);\n  },\n\n  // Day of the month\n  d: function (date, token, localize) {\n    if (token === \"do\") {\n      return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n    }\n\n    return lightFormatters.d(date, token);\n  },\n\n  // Day of year\n  D: function (date, token, localize) {\n    const dayOfYear = getDayOfYear(date);\n\n    if (token === \"Do\") {\n      return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n    }\n\n    return addLeadingZeros(dayOfYear, token.length);\n  },\n\n  // Day of week\n  E: function (date, token, localize) {\n    const dayOfWeek = date.getDay();\n    switch (token) {\n      // Tue\n      case \"E\":\n      case \"EE\":\n      case \"EEE\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"EEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"EEEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"EEEE\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Local day of week\n  e: function (date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (Nth day of week with current locale or weekStartsOn)\n      case \"e\":\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case \"ee\":\n        return addLeadingZeros(localDayOfWeek, 2);\n      // 1st, 2nd, ..., 7th\n      case \"eo\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"eee\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"eeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"eeeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"eeee\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Stand-alone local day of week\n  c: function (date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (same as in `e`)\n      case \"c\":\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case \"cc\":\n        return addLeadingZeros(localDayOfWeek, token.length);\n      // 1st, 2nd, ..., 7th\n      case \"co\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"ccc\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // T\n      case \"ccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // Tu\n      case \"cccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"standalone\",\n        });\n      // Tuesday\n      case \"cccc\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"standalone\",\n        });\n    }\n  },\n\n  // ISO day of week\n  i: function (date, token, localize) {\n    const dayOfWeek = date.getDay();\n    const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n    switch (token) {\n      // 2\n      case \"i\":\n        return String(isoDayOfWeek);\n      // 02\n      case \"ii\":\n        return addLeadingZeros(isoDayOfWeek, token.length);\n      // 2nd\n      case \"io\":\n        return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n      // Tue\n      case \"iii\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"iiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"iiiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"iiii\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // AM or PM\n  a: function (date, token, localize) {\n    const hours = date.getHours();\n    const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"aaa\":\n        return localize\n          .dayPeriod(dayPeriodEnumValue, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          })\n          .toLowerCase();\n      case \"aaaaa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"aaaa\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // AM, PM, midnight, noon\n  b: function (date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours === 12) {\n      dayPeriodEnumValue = dayPeriodEnum.noon;\n    } else if (hours === 0) {\n      dayPeriodEnumValue = dayPeriodEnum.midnight;\n    } else {\n      dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n    }\n\n    switch (token) {\n      case \"b\":\n      case \"bb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"bbb\":\n        return localize\n          .dayPeriod(dayPeriodEnumValue, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          })\n          .toLowerCase();\n      case \"bbbbb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"bbbb\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // in the morning, in the afternoon, in the evening, at night\n  B: function (date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours >= 17) {\n      dayPeriodEnumValue = dayPeriodEnum.evening;\n    } else if (hours >= 12) {\n      dayPeriodEnumValue = dayPeriodEnum.afternoon;\n    } else if (hours >= 4) {\n      dayPeriodEnumValue = dayPeriodEnum.morning;\n    } else {\n      dayPeriodEnumValue = dayPeriodEnum.night;\n    }\n\n    switch (token) {\n      case \"B\":\n      case \"BB\":\n      case \"BBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"BBBBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"BBBB\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Hour [1-12]\n  h: function (date, token, localize) {\n    if (token === \"ho\") {\n      let hours = date.getHours() % 12;\n      if (hours === 0) hours = 12;\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return lightFormatters.h(date, token);\n  },\n\n  // Hour [0-23]\n  H: function (date, token, localize) {\n    if (token === \"Ho\") {\n      return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n    }\n\n    return lightFormatters.H(date, token);\n  },\n\n  // Hour [0-11]\n  K: function (date, token, localize) {\n    const hours = date.getHours() % 12;\n\n    if (token === \"Ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return addLeadingZeros(hours, token.length);\n  },\n\n  // Hour [1-24]\n  k: function (date, token, localize) {\n    let hours = date.getHours();\n    if (hours === 0) hours = 24;\n\n    if (token === \"ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return addLeadingZeros(hours, token.length);\n  },\n\n  // Minute\n  m: function (date, token, localize) {\n    if (token === \"mo\") {\n      return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n    }\n\n    return lightFormatters.m(date, token);\n  },\n\n  // Second\n  s: function (date, token, localize) {\n    if (token === \"so\") {\n      return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n    }\n\n    return lightFormatters.s(date, token);\n  },\n\n  // Fraction of second\n  S: function (date, token) {\n    return lightFormatters.S(date, token);\n  },\n\n  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n  X: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    if (timezoneOffset === 0) {\n      return \"Z\";\n    }\n\n    switch (token) {\n      // Hours and optional minutes\n      case \"X\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XX`\n      case \"XXXX\":\n      case \"XX\": // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XXX`\n      case \"XXXXX\":\n      case \"XXX\": // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n  x: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Hours and optional minutes\n      case \"x\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xx`\n      case \"xxxx\":\n      case \"xx\": // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xxx`\n      case \"xxxxx\":\n      case \"xxx\": // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (GMT)\n  O: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Short\n      case \"O\":\n      case \"OO\":\n      case \"OOO\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      // Long\n      case \"OOOO\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (specific non-location)\n  z: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Short\n      case \"z\":\n      case \"zz\":\n      case \"zzz\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      // Long\n      case \"zzzz\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Seconds timestamp\n  t: function (date, token, _localize) {\n    const timestamp = Math.trunc(date.getTime() / 1000);\n    return addLeadingZeros(timestamp, token.length);\n  },\n\n  // Milliseconds timestamp\n  T: function (date, token, _localize) {\n    const timestamp = date.getTime();\n    return addLeadingZeros(timestamp, token.length);\n  },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = Math.trunc(absOffset / 60);\n  const minutes = absOffset % 60;\n  if (minutes === 0) {\n    return sign + String(hours);\n  }\n  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n  if (offset % 60 === 0) {\n    const sign = offset > 0 ? \"-\" : \"+\";\n    return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n  }\n  return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n  const minutes = addLeadingZeros(absOffset % 60, 2);\n  return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"P\":\n      return formatLong.date({ width: \"short\" });\n    case \"PP\":\n      return formatLong.date({ width: \"medium\" });\n    case \"PPP\":\n      return formatLong.date({ width: \"long\" });\n    case \"PPPP\":\n    default:\n      return formatLong.date({ width: \"full\" });\n  }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"p\":\n      return formatLong.time({ width: \"short\" });\n    case \"pp\":\n      return formatLong.time({ width: \"medium\" });\n    case \"ppp\":\n      return formatLong.time({ width: \"long\" });\n    case \"pppp\":\n    default:\n      return formatLong.time({ width: \"full\" });\n  }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n  const matchResult = pattern.match(/(P+)(p+)?/) || [];\n  const datePattern = matchResult[1];\n  const timePattern = matchResult[2];\n\n  if (!timePattern) {\n    return dateLongFormatter(pattern, formatLong);\n  }\n\n  let dateTimeFormat;\n\n  switch (datePattern) {\n    case \"P\":\n      dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n      break;\n    case \"PP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n      break;\n    case \"PPP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n      break;\n    case \"PPPP\":\n    default:\n      dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n      break;\n  }\n\n  return dateTimeFormat\n    .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n    .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n  p: timeLongFormatter,\n  P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n  return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n  return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n  const _message = message(token, format, input);\n  console.warn(_message);\n  if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n  const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n  return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { isDate } from \"./isDate.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n  if (!isDate(date) && typeof date !== \"number\") {\n    return false;\n  }\n  const _date = toDate(date);\n  return !isNaN(Number(_date));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n  return (\n    value instanceof Date ||\n    (typeof value === \"object\" &&\n      Object.prototype.toString.call(value) === \"[object Date]\")\n  );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { formatters } from \"./_lib/format/formatters.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n  isProtectedDayOfYearToken,\n  isProtectedWeekYearToken,\n  warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { isValid } from \"./isValid.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n//   (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n//   except a single quote symbol, which ends the sequence.\n//   Two quote characters do not end the sequence.\n//   If there is no matching single quote\n//   then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n  /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit                            | Pattern | Result examples                   | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era                             | G..GGG  | AD, BC                            |       |\n * |                                 | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 | GGGGG   | A, B                              |       |\n * | Calendar year                   | y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | yo      | 44th, 1st, 0th, 17th              | 5,7   |\n * |                                 | yy      | 44, 01, 00, 17                    | 5     |\n * |                                 | yyy     | 044, 001, 1900, 2017              | 5     |\n * |                                 | yyyy    | 0044, 0001, 1900, 2017            | 5     |\n * |                                 | yyyyy   | ...                               | 3,5   |\n * | Local week-numbering year       | Y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | Yo      | 44th, 1st, 1900th, 2017th         | 5,7   |\n * |                                 | YY      | 44, 01, 00, 17                    | 5,8   |\n * |                                 | YYY     | 044, 001, 1900, 2017              | 5     |\n * |                                 | YYYY    | 0044, 0001, 1900, 2017            | 5,8   |\n * |                                 | YYYYY   | ...                               | 3,5   |\n * | ISO week-numbering year         | R       | -43, 0, 1, 1900, 2017             | 5,7   |\n * |                                 | RR      | -43, 00, 01, 1900, 2017           | 5,7   |\n * |                                 | RRR     | -043, 000, 001, 1900, 2017        | 5,7   |\n * |                                 | RRRR    | -0043, 0000, 0001, 1900, 2017     | 5,7   |\n * |                                 | RRRRR   | ...                               | 3,5,7 |\n * | Extended year                   | u       | -43, 0, 1, 1900, 2017             | 5     |\n * |                                 | uu      | -43, 01, 1900, 2017               | 5     |\n * |                                 | uuu     | -043, 001, 1900, 2017             | 5     |\n * |                                 | uuuu    | -0043, 0001, 1900, 2017           | 5     |\n * |                                 | uuuuu   | ...                               | 3,5   |\n * | Quarter (formatting)            | Q       | 1, 2, 3, 4                        |       |\n * |                                 | Qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | QQ      | 01, 02, 03, 04                    |       |\n * |                                 | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | q       | 1, 2, 3, 4                        |       |\n * |                                 | qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | qq      | 01, 02, 03, 04                    |       |\n * |                                 | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | qqqqq   | 1, 2, 3, 4                        | 4     |\n * | Month (formatting)              | M       | 1, 2, ..., 12                     |       |\n * |                                 | Mo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | MM      | 01, 02, ..., 12                   |       |\n * |                                 | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 | MMMM    | January, February, ..., December  | 2     |\n * |                                 | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | L       | 1, 2, ..., 12                     |       |\n * |                                 | Lo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | LL      | 01, 02, ..., 12                   |       |\n * |                                 | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 | LLLL    | January, February, ..., December  | 2     |\n * |                                 | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | w       | 1, 2, ..., 53                     |       |\n * |                                 | wo      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | I       | 1, 2, ..., 53                     | 7     |\n * |                                 | Io      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | II      | 01, 02, ..., 53                   | 7     |\n * | Day of month                    | d       | 1, 2, ..., 31                     |       |\n * |                                 | do      | 1st, 2nd, ..., 31st               | 7     |\n * |                                 | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     | D       | 1, 2, ..., 365, 366               | 9     |\n * |                                 | Do      | 1st, 2nd, ..., 365th, 366th       | 7     |\n * |                                 | DD      | 01, 02, ..., 365, 366             | 9     |\n * |                                 | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 | DDDD    | ...                               | 3     |\n * | Day of week (formatting)        | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    | i       | 1, 2, 3, ..., 7                   | 7     |\n * |                                 | io      | 1st, 2nd, ..., 7th                | 7     |\n * |                                 | ii      | 01, 02, ..., 07                   | 7     |\n * |                                 | iii     | Mon, Tue, Wed, ..., Sun           | 7     |\n * |                                 | iiii    | Monday, Tuesday, ..., Sunday      | 2,7   |\n * |                                 | iiiii   | M, T, W, T, F, S, S               | 7     |\n * |                                 | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 7     |\n * | Local day of week (formatting)  | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 | eo      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | ee      | 02, 03, ..., 01                   |       |\n * |                                 | eee     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 | co      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | cc      | 02, 03, ..., 01                   |       |\n * |                                 | ccc     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          | a..aa   | AM, PM                            |       |\n * |                                 | aaa     | am, pm                            |       |\n * |                                 | aaaa    | a.m., p.m.                        | 2     |\n * |                                 | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          | b..bb   | AM, PM, noon, midnight            |       |\n * |                                 | bbb     | am, pm, noon, midnight            |       |\n * |                                 | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             | B..BBB  | at night, in the morning, ...     |       |\n * |                                 | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 | ho      | 1st, 2nd, ..., 11th, 12th         | 7     |\n * |                                 | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 | Ho      | 0th, 1st, 2nd, ..., 23rd          | 7     |\n * |                                 | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 | Ko      | 1st, 2nd, ..., 11th, 0th          | 7     |\n * |                                 | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 | ko      | 24th, 1st, 2nd, ..., 23rd         | 7     |\n * |                                 | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          | m       | 0, 1, ..., 59                     |       |\n * |                                 | mo      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | mm      | 00, 01, ..., 59                   |       |\n * | Second                          | s       | 0, 1, ..., 59                     |       |\n * |                                 | so      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | ss      | 00, 01, ..., 59                   |       |\n * | Fraction of second              | S       | 0, 1, ..., 9                      |       |\n * |                                 | SS      | 00, 01, ..., 99                   |       |\n * |                                 | SSS     | 000, 001, ..., 999                |       |\n * |                                 | SSSS    | ...                               | 3     |\n * | Timezone (ISO-8601 w/ Z)        | X       | -08, +0530, Z                     |       |\n * |                                 | XX      | -0800, +0530, Z                   |       |\n * |                                 | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       | x       | -08, +0530, +00                   |       |\n * |                                 | xx      | -0800, +0530, +0000               |       |\n * |                                 | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Timezone (GMT)                  | O...OOO | GMT-8, GMT+5:30, GMT+0            |       |\n * |                                 | OOOO    | GMT-08:00, GMT+05:30, GMT+00:00   | 2     |\n * | Timezone (specific non-locat.)  | z...zzz | GMT-8, GMT+5:30, GMT+0            | 6     |\n * |                                 | zzzz    | GMT-08:00, GMT+05:30, GMT+00:00   | 2,6   |\n * | Seconds timestamp               | t       | 512969520                         | 7     |\n * |                                 | tt      | ...                               | 3,7   |\n * | Milliseconds timestamp          | T       | 512969520900                      | 7     |\n * |                                 | TT      | ...                               | 3,7   |\n * | Long localized date             | P       | 04/29/1453                        | 7     |\n * |                                 | PP      | Apr 29, 1453                      | 7     |\n * |                                 | PPP     | April 29th, 1453                  | 7     |\n * |                                 | PPPP    | Friday, April 29th, 1453          | 2,7   |\n * | Long localized time             | p       | 12:00 AM                          | 7     |\n * |                                 | pp      | 12:00:00 AM                       | 7     |\n * |                                 | ppp     | 12:00:00 AM GMT+2                 | 7     |\n * |                                 | pppp    | 12:00:00 AM GMT+02:00             | 2,7   |\n * | Combination of date and time    | Pp      | 04/29/1453, 12:00 AM              | 7     |\n * |                                 | PPpp    | Apr 29, 1453, 12:00:00 AM         | 7     |\n * |                                 | PPPppp  | April 29th, 1453 at ...           | 7     |\n * |                                 | PPPPpppp| Friday, April 29th, 1453 at ...   | 2,7   |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n *    the output will be the same as default pattern for this unit, usually\n *    the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n *    are marked with \"2\" in the last column of the table.\n *\n *    `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n *    The output will be padded with zeros to match the length of the pattern.\n *\n *    `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` always returns the last two digits of a year,\n *    while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n *    | Year | `yy` | `uu` |\n *    |------|------|------|\n *    | 1    |   01 |   01 |\n *    | 14   |   14 |   14 |\n *    | 376  |   76 |  376 |\n *    | 1453 |   53 | 1453 |\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n *    and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n *    so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `t`: seconds timestamp\n *    - `T`: milliseconds timestamp\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n *   locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n  const defaultOptions = getDefaultOptions();\n  const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  const originalDate = toDate(date);\n\n  if (!isValid(originalDate)) {\n    throw new RangeError(\"Invalid time value\");\n  }\n\n  let parts = formatStr\n    .match(longFormattingTokensRegExp)\n    .map((substring) => {\n      const firstCharacter = substring[0];\n      if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n        const longFormatter = longFormatters[firstCharacter];\n        return longFormatter(substring, locale.formatLong);\n      }\n      return substring;\n    })\n    .join(\"\")\n    .match(formattingTokensRegExp)\n    .map((substring) => {\n      // Replace two single quote characters with one single quote character\n      if (substring === \"''\") {\n        return { isToken: false, value: \"'\" };\n      }\n\n      const firstCharacter = substring[0];\n      if (firstCharacter === \"'\") {\n        return { isToken: false, value: cleanEscapedString(substring) };\n      }\n\n      if (formatters[firstCharacter]) {\n        return { isToken: true, value: substring };\n      }\n\n      if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n        throw new RangeError(\n          \"Format string contains an unescaped latin alphabet character `\" +\n            firstCharacter +\n            \"`\",\n        );\n      }\n\n      return { isToken: false, value: substring };\n    });\n\n  // invoke localize preprocessor (only for french locales at the moment)\n  if (locale.localize.preprocessor) {\n    parts = locale.localize.preprocessor(originalDate, parts);\n  }\n\n  const formatterOptions = {\n    firstWeekContainsDate,\n    weekStartsOn,\n    locale,\n  };\n\n  return parts\n    .map((part) => {\n      if (!part.isToken) return part.value;\n\n      const token = part.value;\n\n      if (\n        (!options?.useAdditionalWeekYearTokens &&\n          isProtectedWeekYearToken(token)) ||\n        (!options?.useAdditionalDayOfYearTokens &&\n          isProtectedDayOfYearToken(token))\n      ) {\n        warnOrThrowProtectedError(token, formatStr, String(date));\n      }\n\n      const formatter = formatters[token[0]];\n      return formatter(originalDate, token, locale.localize, formatterOptions);\n    })\n    .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n  const matched = input.match(escapedStringRegExp);\n\n  if (!matched) {\n    return input;\n  }\n\n  return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * //   Wed Feb 11 1987 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport function compareAsc(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n\n  const diff = _dateLeft.getTime() - _dateRight.getTime();\n\n  if (diff < 0) {\n    return -1;\n  } else if (diff > 0) {\n    return 1;\n    // Return 0 if diff is 0; return NaN if diff is NaN\n  } else {\n    return diff;\n  }\n}\n\n// Fallback for modularized imports:\nexport default compareAsc;\n","import { endOfDay } from \"./endOfDay.mjs\";\nimport { endOfMonth } from \"./endOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n\n * @returns The date is the last day of a month\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport function isLastDayOfMonth(date) {\n  const _date = toDate(date);\n  return +endOfDay(_date) === +endOfMonth(_date);\n}\n\n// Fallback for modularized imports:\nexport default isLastDayOfMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a day\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport function endOfDay(date) {\n  const _date = toDate(date);\n  _date.setHours(23, 59, 59, 999);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfDay;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date) {\n  const _date = toDate(date);\n  const month = _date.getMonth();\n  _date.setFullYear(_date.getFullYear(), month + 1, 0);\n  _date.setHours(23, 59, 59, 999);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { differenceInCalendarMonths } from \"./differenceInCalendarMonths.mjs\";\nimport { isLastDayOfMonth } from \"./isLastDayOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport function differenceInMonths(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n\n  const sign = compareAsc(_dateLeft, _dateRight);\n  const difference = Math.abs(\n    differenceInCalendarMonths(_dateLeft, _dateRight),\n  );\n  let result;\n\n  // Check for the difference of less than month\n  if (difference < 1) {\n    result = 0;\n  } else {\n    if (_dateLeft.getMonth() === 1 && _dateLeft.getDate() > 27) {\n      // This will check if the date is end of Feb and assign a higher end of month date\n      // to compare it with Jan\n      _dateLeft.setDate(30);\n    }\n\n    _dateLeft.setMonth(_dateLeft.getMonth() - sign * difference);\n\n    // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n    // If so, result must be decreased by 1 in absolute value\n    let isLastMonthNotFull = compareAsc(_dateLeft, _dateRight) === -sign;\n\n    // Check for cases of one full calendar month\n    if (\n      isLastDayOfMonth(toDate(dateLeft)) &&\n      difference === 1 &&\n      compareAsc(dateLeft, _dateRight) === 1\n    ) {\n      isLastMonthNotFull = false;\n    }\n\n    result = sign * (difference - Number(isLastMonthNotFull));\n  }\n\n  // Prevent negative zero\n  return result === 0 ? 0 : result;\n}\n\n// Fallback for modularized imports:\nexport default differenceInMonths;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n\n  const yearDiff = _dateLeft.getFullYear() - _dateRight.getFullYear();\n  const monthDiff = _dateLeft.getMonth() - _dateRight.getMonth();\n\n  return yearDiff * 12 + monthDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n","import { getRoundingMethod } from \"./_lib/getRoundingMethod.mjs\";\nimport { differenceInMilliseconds } from \"./differenceInMilliseconds.mjs\";\n\n/**\n * The {@link differenceInSeconds} function options.\n */\n\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n * @param options - An object with options.\n *\n * @returns The number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n *   new Date(2014, 6, 2, 12, 30, 20, 0),\n *   new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport function differenceInSeconds(dateLeft, dateRight, options) {\n  const diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n  return getRoundingMethod(options?.roundingMethod)(diff);\n}\n\n// Fallback for modularized imports:\nexport default differenceInSeconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n *   new Date(2014, 6, 2, 12, 30, 21, 700),\n *   new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport function differenceInMilliseconds(dateLeft, dateRight) {\n  return +toDate(dateLeft) - +toDate(dateRight);\n}\n\n// Fallback for modularized imports:\nexport default differenceInMilliseconds;\n","export function getRoundingMethod(method) {\n  return (number) => {\n    const round = method ? Math[method] : Math.trunc;\n    const result = round(number);\n    // Prevent negative zero\n    return result === 0 ? 0 : result;\n  };\n}\n","import { constructNow } from \"./constructNow.mjs\";\nimport { formatDistance } from \"./formatDistance.mjs\";\n\n/**\n * The {@link formatDistanceToNow} function options.\n */\n\n/**\n * @name formatDistanceToNow\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now                                                   | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now     | Result               |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs   | less than 5 seconds  |\n * | 5 secs ... 10 secs  | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute        |\n * | 40 secs ... 60 secs | less than a minute   |\n * | 60 secs ... 90 secs | 1 minute             |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - The object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * const result = formatDistanceToNow(\n *   new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * const result = formatDistanceToNow(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * const result = formatDistanceToNow(\n *   new Date(2016, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * const eoLocale = require('date-fns/locale/eo')\n * const result = formatDistanceToNow(\n *   new Date(2016, 7, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nexport function formatDistanceToNow(date, options) {\n  return formatDistance(date, constructNow(date), options);\n}\n\n// Fallback for modularized imports:\nexport default formatDistanceToNow;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { minutesInDay, minutesInMonth } from \"./constants.mjs\";\nimport { differenceInMonths } from \"./differenceInMonths.mjs\";\nimport { differenceInSeconds } from \"./differenceInSeconds.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * The {@link formatDistance} function options.\n */\n\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates                                            | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result               |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs      | less than 5 seconds  |\n * | 5 secs ... 10 secs     | less than 10 seconds |\n * | 10 secs ... 20 secs    | less than 20 seconds |\n * | 20 secs ... 40 secs    | half a minute        |\n * | 40 secs ... 60 secs    | less than a minute   |\n * | 60 secs ... 90 secs    | 1 minute             |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date\n * @param baseDate - The date to compare with\n * @param options - An object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `baseDate` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   new Date(2015, 0, 1, 0, 0, 0),\n *   { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n *   addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n *   locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport function formatDistance(date, baseDate, options) {\n  const defaultOptions = getDefaultOptions();\n  const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n  const minutesInAlmostTwoDays = 2520;\n\n  const comparison = compareAsc(date, baseDate);\n\n  if (isNaN(comparison)) {\n    throw new RangeError(\"Invalid time value\");\n  }\n\n  const localizeOptions = Object.assign({}, options, {\n    addSuffix: options?.addSuffix,\n    comparison: comparison,\n  });\n\n  let dateLeft;\n  let dateRight;\n  if (comparison > 0) {\n    dateLeft = toDate(baseDate);\n    dateRight = toDate(date);\n  } else {\n    dateLeft = toDate(date);\n    dateRight = toDate(baseDate);\n  }\n\n  const seconds = differenceInSeconds(dateRight, dateLeft);\n  const offsetInSeconds =\n    (getTimezoneOffsetInMilliseconds(dateRight) -\n      getTimezoneOffsetInMilliseconds(dateLeft)) /\n    1000;\n  const minutes = Math.round((seconds - offsetInSeconds) / 60);\n  let months;\n\n  // 0 up to 2 mins\n  if (minutes < 2) {\n    if (options?.includeSeconds) {\n      if (seconds < 5) {\n        return locale.formatDistance(\"lessThanXSeconds\", 5, localizeOptions);\n      } else if (seconds < 10) {\n        return locale.formatDistance(\"lessThanXSeconds\", 10, localizeOptions);\n      } else if (seconds < 20) {\n        return locale.formatDistance(\"lessThanXSeconds\", 20, localizeOptions);\n      } else if (seconds < 40) {\n        return locale.formatDistance(\"halfAMinute\", 0, localizeOptions);\n      } else if (seconds < 60) {\n        return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n      } else {\n        return locale.formatDistance(\"xMinutes\", 1, localizeOptions);\n      }\n    } else {\n      if (minutes === 0) {\n        return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n      } else {\n        return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n      }\n    }\n\n    // 2 mins up to 0.75 hrs\n  } else if (minutes < 45) {\n    return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n\n    // 0.75 hrs up to 1.5 hrs\n  } else if (minutes < 90) {\n    return locale.formatDistance(\"aboutXHours\", 1, localizeOptions);\n\n    // 1.5 hrs up to 24 hrs\n  } else if (minutes < minutesInDay) {\n    const hours = Math.round(minutes / 60);\n    return locale.formatDistance(\"aboutXHours\", hours, localizeOptions);\n\n    // 1 day up to 1.75 days\n  } else if (minutes < minutesInAlmostTwoDays) {\n    return locale.formatDistance(\"xDays\", 1, localizeOptions);\n\n    // 1.75 days up to 30 days\n  } else if (minutes < minutesInMonth) {\n    const days = Math.round(minutes / minutesInDay);\n    return locale.formatDistance(\"xDays\", days, localizeOptions);\n\n    // 1 month up to 2 months\n  } else if (minutes < minutesInMonth * 2) {\n    months = Math.round(minutes / minutesInMonth);\n    return locale.formatDistance(\"aboutXMonths\", months, localizeOptions);\n  }\n\n  months = differenceInMonths(dateRight, dateLeft);\n\n  // 2 months up to 12 months\n  if (months < 12) {\n    const nearestMonth = Math.round(minutes / minutesInMonth);\n    return locale.formatDistance(\"xMonths\", nearestMonth, localizeOptions);\n\n    // 1 year up to max Date\n  } else {\n    const monthsSinceStartOfYear = months % 12;\n    const years = Math.trunc(months / 12);\n\n    // N years up to 1 years 3 months\n    if (monthsSinceStartOfYear < 3) {\n      return locale.formatDistance(\"aboutXYears\", years, localizeOptions);\n\n      // N years 3 months up to N years 9 months\n    } else if (monthsSinceStartOfYear < 9) {\n      return locale.formatDistance(\"overXYears\", years, localizeOptions);\n\n      // N years 9 months up to N year 12 months\n    } else {\n      return locale.formatDistance(\"almostXYears\", years + 1, localizeOptions);\n    }\n  }\n}\n\n// Fallback for modularized imports:\nexport default formatDistance;\n","import { constructNow } from \"./constructNow.mjs\";\nimport { isSameYear } from \"./isSameYear.mjs\";\n\n/**\n * @name isThisYear\n * @category Year Helpers\n * @summary Is the given date in the same year as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same year as the current date?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is in this year\n *\n * @example\n * // If today is 25 September 2014, is 2 July 2014 in this year?\n * const result = isThisYear(new Date(2014, 6, 2))\n * //=> true\n */\nexport function isThisYear(date) {\n  return isSameYear(date, constructNow(date));\n}\n\n// Fallback for modularized imports:\nexport default isThisYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n *\n * @returns The dates are in the same year\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\nexport function isSameYear(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n  return _dateLeft.getFullYear() === _dateRight.getFullYear();\n}\n\n// Fallback for modularized imports:\nexport default isSameYear;\n","import { constructNow } from \"./constructNow.mjs\";\nimport { isSameDay } from \"./isSameDay.mjs\";\n\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is today\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\nexport function isToday(date) {\n  return isSameDay(date, constructNow(date));\n}\n\n// Fallback for modularized imports:\nexport default isToday;\n","import { startOfDay } from \"./startOfDay.mjs\";\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(dateLeft, dateRight) {\n  const dateLeftStartOfDay = startOfDay(dateLeft);\n  const dateRightStartOfDay = startOfDay(dateRight);\n\n  return +dateLeftStartOfDay === +dateRightStartOfDay;\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","export function buildFormatLongFn(args) {\n  return (options = {}) => {\n    // TODO: Remove String()\n    const width = options.width ? String(options.width) : args.defaultWidth;\n    const format = args.formats[width] || args.formats[args.defaultWidth];\n    return format;\n  };\n}\n","/* eslint-disable no-unused-vars */\n\n/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n  return (value, options) => {\n    const context = options?.context ? String(options.context) : \"standalone\";\n\n    let valuesArray;\n    if (context === \"formatting\" && args.formattingValues) {\n      const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n      const width = options?.width ? String(options.width) : defaultWidth;\n\n      valuesArray =\n        args.formattingValues[width] || args.formattingValues[defaultWidth];\n    } else {\n      const defaultWidth = args.defaultWidth;\n      const width = options?.width ? String(options.width) : args.defaultWidth;\n\n      valuesArray = args.values[width] || args.values[defaultWidth];\n    }\n    const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n    // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n    return valuesArray[index];\n  };\n}\n","export function buildMatchFn(args) {\n  return (string, options = {}) => {\n    const width = options.width;\n\n    const matchPattern =\n      (width && args.matchPatterns[width]) ||\n      args.matchPatterns[args.defaultMatchWidth];\n    const matchResult = string.match(matchPattern);\n\n    if (!matchResult) {\n      return null;\n    }\n    const matchedString = matchResult[0];\n\n    const parsePatterns =\n      (width && args.parsePatterns[width]) ||\n      args.parsePatterns[args.defaultParseWidth];\n\n    const key = Array.isArray(parsePatterns)\n      ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n      : // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n        findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n    let value;\n\n    value = args.valueCallback ? args.valueCallback(key) : key;\n    value = options.valueCallback\n      ? // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n        options.valueCallback(value)\n      : value;\n\n    const rest = string.slice(matchedString.length);\n\n    return { value, rest };\n  };\n}\n\nfunction findKey(object, predicate) {\n  for (const key in object) {\n    if (\n      Object.prototype.hasOwnProperty.call(object, key) &&\n      predicate(object[key])\n    ) {\n      return key;\n    }\n  }\n  return undefined;\n}\n\nfunction findIndex(array, predicate) {\n  for (let key = 0; key < array.length; key++) {\n    if (predicate(array[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}\n","export function buildMatchPatternFn(args) {\n  return (string, options = {}) => {\n    const matchResult = string.match(args.matchPattern);\n    if (!matchResult) return null;\n    const matchedString = matchResult[0];\n\n    const parseResult = string.match(args.parsePattern);\n    if (!parseResult) return null;\n    let value = args.valueCallback\n      ? args.valueCallback(parseResult[0])\n      : parseResult[0];\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n    value = options.valueCallback ? options.valueCallback(value) : value;\n\n    const rest = string.slice(matchedString.length);\n\n    return { value, rest };\n  };\n}\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"mindre end ét sekund\",\n    other: \"mindre end {{count}} sekunder\",\n  },\n\n  xSeconds: {\n    one: \"1 sekund\",\n    other: \"{{count}} sekunder\",\n  },\n\n  halfAMinute: \"ét halvt minut\",\n\n  lessThanXMinutes: {\n    one: \"mindre end ét minut\",\n    other: \"mindre end {{count}} minutter\",\n  },\n\n  xMinutes: {\n    one: \"1 minut\",\n    other: \"{{count}} minutter\",\n  },\n\n  aboutXHours: {\n    one: \"cirka 1 time\",\n    other: \"cirka {{count}} timer\",\n  },\n\n  xHours: {\n    one: \"1 time\",\n    other: \"{{count}} timer\",\n  },\n\n  xDays: {\n    one: \"1 dag\",\n    other: \"{{count}} dage\",\n  },\n\n  aboutXWeeks: {\n    one: \"cirka 1 uge\",\n    other: \"cirka {{count}} uger\",\n  },\n\n  xWeeks: {\n    one: \"1 uge\",\n    other: \"{{count}} uger\",\n  },\n\n  aboutXMonths: {\n    one: \"cirka 1 måned\",\n    other: \"cirka {{count}} måneder\",\n  },\n\n  xMonths: {\n    one: \"1 måned\",\n    other: \"{{count}} måneder\",\n  },\n\n  aboutXYears: {\n    one: \"cirka 1 år\",\n    other: \"cirka {{count}} år\",\n  },\n\n  xYears: {\n    one: \"1 år\",\n    other: \"{{count}} år\",\n  },\n\n  overXYears: {\n    one: \"over 1 år\",\n    other: \"over {{count}} år\",\n  },\n\n  almostXYears: {\n    one: \"næsten 1 år\",\n    other: \"næsten {{count}} år\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"om \" + result;\n    } else {\n      return result + \" siden\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE 'den' d. MMMM y\",\n  long: \"d. MMMM y\",\n  medium: \"d. MMM y\",\n  short: \"dd/MM/y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'kl'. {{time}}\",\n  long: \"{{date}} 'kl'. {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'sidste' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgen kl.' p\",\n  nextWeek: \"'på' eeee 'kl.' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"fvt\", \"vt\"],\n  abbreviated: [\"f.v.t.\", \"v.t.\"],\n  wide: [\"før vesterlandsk tidsregning\", \"vesterlandsk tidsregning\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"1. kvt.\", \"2. kvt.\", \"3. kvt.\", \"4. kvt.\"],\n  wide: [\"1. kvartal\", \"2. kvartal\", \"3. kvartal\", \"4. kvartal\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mar.\",\n    \"apr.\",\n    \"maj\",\n    \"jun.\",\n    \"jul.\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"dec.\",\n  ],\n\n  wide: [\n    \"januar\",\n    \"februar\",\n    \"marts\",\n    \"april\",\n    \"maj\",\n    \"juni\",\n    \"juli\",\n    \"august\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"december\",\n  ],\n};\n\n// Note that 'Days - abbreviated - Formatting' has periods at the end.\n// https://www.unicode.org/cldr/charts/32/summary/da.html#1760\n// This makes grammatical sense in danish, as most abbreviations have periods.\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n  short: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"],\n  abbreviated: [\"søn.\", \"man.\", \"tir.\", \"ons.\", \"tor.\", \"fre.\", \"lør.\"],\n\n  wide: [\n    \"søndag\",\n    \"mandag\",\n    \"tirsdag\",\n    \"onsdag\",\n    \"torsdag\",\n    \"fredag\",\n    \"lørdag\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"morgen\",\n    afternoon: \"eftermiddag\",\n    evening: \"aften\",\n    night: \"nat\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"morgen\",\n    afternoon: \"eftermiddag\",\n    evening: \"aften\",\n    night: \"nat\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"morgen\",\n    afternoon: \"eftermiddag\",\n    evening: \"aften\",\n    night: \"nat\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"om morgenen\",\n    afternoon: \"om eftermiddagen\",\n    evening: \"om aftenen\",\n    night: \"om natten\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"om morgenen\",\n    afternoon: \"om eftermiddagen\",\n    evening: \"om aftenen\",\n    night: \"om natten\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"om morgenen\",\n    afternoon: \"om eftermiddagen\",\n    evening: \"om aftenen\",\n    night: \"om natten\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(fKr|fvt|eKr|vt)/i,\n  abbreviated: /^(f\\.Kr\\.?|f\\.v\\.t\\.?|e\\.Kr\\.?|v\\.t\\.)/i,\n  wide: /^(f.Kr.|før vesterlandsk tidsregning|e.Kr.|vesterlandsk tidsregning)/i,\n};\nconst parseEraPatterns = {\n  any: [/^f/i, /^(v|e)/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234]. kvt\\./i,\n  wide: /^[1234]\\.? kvartal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan.|feb.|mar.|apr.|maj|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n  wide: /^(januar|februar|marts|april|maj|juni|juli|august|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^maj/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(søn.|man.|tir.|ons.|tor.|fre.|lør.)/i,\n  abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n  wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^o/i, /^t/i, /^f/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /midnat/i,\n    noon: /middag/i,\n    morning: /morgen/i,\n    afternoon: /eftermiddag/i,\n    evening: /aften/i,\n    night: /nat/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./da/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./da/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./da/_lib/formatRelative.mjs\";\nimport { localize } from \"./da/_lib/localize.mjs\";\nimport { match } from \"./da/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Danish locale.\n * @language Danish\n * @iso-639-2 dan\n * @author Mathias Wøbbe [@MathiasKandelborg](https://github.com/MathiasKandelborg)\n * @author Anders B. Hansen [@Andersbiha](https://github.com/Andersbiha)\n * @author [@kgram](https://github.com/kgram)\n * @author [@stefanbugge](https://github.com/stefanbugge)\n */\nexport const da = {\n  code: \"da\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default da;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    standalone: {\n      one: \"weniger als 1 Sekunde\",\n      other: \"weniger als {{count}} Sekunden\",\n    },\n    withPreposition: {\n      one: \"weniger als 1 Sekunde\",\n      other: \"weniger als {{count}} Sekunden\",\n    },\n  },\n\n  xSeconds: {\n    standalone: {\n      one: \"1 Sekunde\",\n      other: \"{{count}} Sekunden\",\n    },\n    withPreposition: {\n      one: \"1 Sekunde\",\n      other: \"{{count}} Sekunden\",\n    },\n  },\n\n  halfAMinute: {\n    standalone: \"eine halbe Minute\",\n    withPreposition: \"einer halben Minute\",\n  },\n\n  lessThanXMinutes: {\n    standalone: {\n      one: \"weniger als 1 Minute\",\n      other: \"weniger als {{count}} Minuten\",\n    },\n    withPreposition: {\n      one: \"weniger als 1 Minute\",\n      other: \"weniger als {{count}} Minuten\",\n    },\n  },\n\n  xMinutes: {\n    standalone: {\n      one: \"1 Minute\",\n      other: \"{{count}} Minuten\",\n    },\n    withPreposition: {\n      one: \"1 Minute\",\n      other: \"{{count}} Minuten\",\n    },\n  },\n\n  aboutXHours: {\n    standalone: {\n      one: \"etwa 1 Stunde\",\n      other: \"etwa {{count}} Stunden\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Stunde\",\n      other: \"etwa {{count}} Stunden\",\n    },\n  },\n\n  xHours: {\n    standalone: {\n      one: \"1 Stunde\",\n      other: \"{{count}} Stunden\",\n    },\n    withPreposition: {\n      one: \"1 Stunde\",\n      other: \"{{count}} Stunden\",\n    },\n  },\n\n  xDays: {\n    standalone: {\n      one: \"1 Tag\",\n      other: \"{{count}} Tage\",\n    },\n    withPreposition: {\n      one: \"1 Tag\",\n      other: \"{{count}} Tagen\",\n    },\n  },\n\n  aboutXWeeks: {\n    standalone: {\n      one: \"etwa 1 Woche\",\n      other: \"etwa {{count}} Wochen\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Woche\",\n      other: \"etwa {{count}} Wochen\",\n    },\n  },\n\n  xWeeks: {\n    standalone: {\n      one: \"1 Woche\",\n      other: \"{{count}} Wochen\",\n    },\n    withPreposition: {\n      one: \"1 Woche\",\n      other: \"{{count}} Wochen\",\n    },\n  },\n\n  aboutXMonths: {\n    standalone: {\n      one: \"etwa 1 Monat\",\n      other: \"etwa {{count}} Monate\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Monat\",\n      other: \"etwa {{count}} Monaten\",\n    },\n  },\n\n  xMonths: {\n    standalone: {\n      one: \"1 Monat\",\n      other: \"{{count}} Monate\",\n    },\n    withPreposition: {\n      one: \"1 Monat\",\n      other: \"{{count}} Monaten\",\n    },\n  },\n\n  aboutXYears: {\n    standalone: {\n      one: \"etwa 1 Jahr\",\n      other: \"etwa {{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Jahr\",\n      other: \"etwa {{count}} Jahren\",\n    },\n  },\n\n  xYears: {\n    standalone: {\n      one: \"1 Jahr\",\n      other: \"{{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"1 Jahr\",\n      other: \"{{count}} Jahren\",\n    },\n  },\n\n  overXYears: {\n    standalone: {\n      one: \"mehr als 1 Jahr\",\n      other: \"mehr als {{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"mehr als 1 Jahr\",\n      other: \"mehr als {{count}} Jahren\",\n    },\n  },\n\n  almostXYears: {\n    standalone: {\n      one: \"fast 1 Jahr\",\n      other: \"fast {{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"fast 1 Jahr\",\n      other: \"fast {{count}} Jahren\",\n    },\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = options?.addSuffix\n    ? formatDistanceLocale[token].withPreposition\n    : formatDistanceLocale[token].standalone;\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"in \" + result;\n    } else {\n      return \"vor \" + result;\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\n// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\nconst dateFormats = {\n  full: \"EEEE, do MMMM y\", // Montag, 7. Januar 2018\n  long: \"do MMMM y\", // 7. Januar 2018\n  medium: \"do MMM y\", // 7. Jan. 2018\n  short: \"dd.MM.y\", // 07.01.2018\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'um' {{time}}\",\n  long: \"{{date}} 'um' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'letzten' eeee 'um' p\",\n  yesterday: \"'gestern um' p\",\n  today: \"'heute um' p\",\n  tomorrow: \"'morgen um' p\",\n  nextWeek: \"eeee 'um' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"v.Chr.\", \"n.Chr.\"],\n  abbreviated: [\"v.Chr.\", \"n.Chr.\"],\n  wide: [\"vor Christus\", \"nach Christus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1. Quartal\", \"2. Quartal\", \"3. Quartal\", \"4. Quartal\"],\n};\n\n// Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"Jan\",\n    \"Feb\",\n    \"Mär\",\n    \"Apr\",\n    \"Mai\",\n    \"Jun\",\n    \"Jul\",\n    \"Aug\",\n    \"Sep\",\n    \"Okt\",\n    \"Nov\",\n    \"Dez\",\n  ],\n\n  wide: [\n    \"Januar\",\n    \"Februar\",\n    \"März\",\n    \"April\",\n    \"Mai\",\n    \"Juni\",\n    \"Juli\",\n    \"August\",\n    \"September\",\n    \"Oktober\",\n    \"November\",\n    \"Dezember\",\n  ],\n};\n\n// https://st.unicode.org/cldr-apps/v#/de/Gregorian/\nconst formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: [\n    \"Jan.\",\n    \"Feb.\",\n    \"März\",\n    \"Apr.\",\n    \"Mai\",\n    \"Juni\",\n    \"Juli\",\n    \"Aug.\",\n    \"Sep.\",\n    \"Okt.\",\n    \"Nov.\",\n    \"Dez.\",\n  ],\n\n  wide: monthValues.wide,\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"D\", \"M\", \"D\", \"F\", \"S\"],\n  short: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n  abbreviated: [\"So.\", \"Mo.\", \"Di.\", \"Mi.\", \"Do.\", \"Fr.\", \"Sa.\"],\n  wide: [\n    \"Sonntag\",\n    \"Montag\",\n    \"Dienstag\",\n    \"Mittwoch\",\n    \"Donnerstag\",\n    \"Freitag\",\n    \"Samstag\",\n  ],\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/de.html#1881\nconst dayPeriodValues = {\n  narrow: {\n    am: \"vm.\",\n    pm: \"nm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"Morgen\",\n    afternoon: \"Nachm.\",\n    evening: \"Abend\",\n    night: \"Nacht\",\n  },\n  abbreviated: {\n    am: \"vorm.\",\n    pm: \"nachm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"Morgen\",\n    afternoon: \"Nachmittag\",\n    evening: \"Abend\",\n    night: \"Nacht\",\n  },\n  wide: {\n    am: \"vormittags\",\n    pm: \"nachmittags\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"Morgen\",\n    afternoon: \"Nachmittag\",\n    evening: \"Abend\",\n    night: \"Nacht\",\n  },\n};\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"vm.\",\n    pm: \"nm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"morgens\",\n    afternoon: \"nachm.\",\n    evening: \"abends\",\n    night: \"nachts\",\n  },\n  abbreviated: {\n    am: \"vorm.\",\n    pm: \"nachm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"morgens\",\n    afternoon: \"nachmittags\",\n    evening: \"abends\",\n    night: \"nachts\",\n  },\n  wide: {\n    am: \"vormittags\",\n    pm: \"nachmittags\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"morgens\",\n    afternoon: \"nachmittags\",\n    evening: \"abends\",\n    night: \"nachts\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber) => {\n  const number = Number(dirtyNumber);\n\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    formattingValues: formattingMonthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i,\n};\nconst parseEraPatterns = {\n  any: [/^v/i, /^n/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? Quartal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated:\n    /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\\.?/i,\n  wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^j[aä]/i,\n    /^f/i,\n    /^mär/i,\n    /^ap/i,\n    /^mai/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smdmf]/i,\n  short: /^(so|mo|di|mi|do|fr|sa)/i,\n  abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\\.?/i,\n  wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i,\n};\nconst parseDayPatterns = {\n  any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(vm\\.?|nm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  abbreviated:\n    /^(vorm\\.?|nachm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^v/i,\n    pm: /^n/i,\n    midnight: /^Mitte/i,\n    noon: /^Mitta/i,\n    morning: /morgens/i,\n    afternoon: /nachmittags/i, // will never be matched. Afternoon is matched by `pm`\n    evening: /abends/i,\n    night: /nachts/i, // will never be matched. Night is matched by `pm`\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./de/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./de/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./de/_lib/formatRelative.mjs\";\nimport { localize } from \"./de/_lib/localize.mjs\";\nimport { match } from \"./de/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary German locale.\n * @language German\n * @iso-639-2 deu\n * @author Thomas Eilmsteiner [@DeMuu](https://github.com/DeMuu)\n * @author Asia [@asia-t](https://github.com/asia-t)\n * @author Van Vuong Ngo [@vanvuongngo](https://github.com/vanvuongngo)\n * @author RomanErnst [@pex](https://github.com/pex)\n * @author Philipp Keck [@Philipp91](https://github.com/Philipp91)\n */\nexport const de = {\n  code: \"de\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default de;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, d MMMM yyyy\",\n  long: \"d MMMM yyyy\",\n  medium: \"d MMM yyyy\",\n  short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\nimport { formatLong } from \"./en-GB/_lib/formatLong.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik](https://github.com/glintik)\n */\nexport const enGB = {\n  code: \"en-GB\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default enGB;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, MMMM do, y\",\n  long: \"MMMM do, y\",\n  medium: \"MMM d, y\",\n  short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n  full: \"h:mm:ss a zzzz\",\n  long: \"h:mm:ss a z\",\n  medium: \"h:mm:ss a\",\n  short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./en-US/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n  code: \"en-US\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1,\n  },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"less than a second\",\n    other: \"less than {{count}} seconds\",\n  },\n\n  xSeconds: {\n    one: \"1 second\",\n    other: \"{{count}} seconds\",\n  },\n\n  halfAMinute: \"half a minute\",\n\n  lessThanXMinutes: {\n    one: \"less than a minute\",\n    other: \"less than {{count}} minutes\",\n  },\n\n  xMinutes: {\n    one: \"1 minute\",\n    other: \"{{count}} minutes\",\n  },\n\n  aboutXHours: {\n    one: \"about 1 hour\",\n    other: \"about {{count}} hours\",\n  },\n\n  xHours: {\n    one: \"1 hour\",\n    other: \"{{count}} hours\",\n  },\n\n  xDays: {\n    one: \"1 day\",\n    other: \"{{count}} days\",\n  },\n\n  aboutXWeeks: {\n    one: \"about 1 week\",\n    other: \"about {{count}} weeks\",\n  },\n\n  xWeeks: {\n    one: \"1 week\",\n    other: \"{{count}} weeks\",\n  },\n\n  aboutXMonths: {\n    one: \"about 1 month\",\n    other: \"about {{count}} months\",\n  },\n\n  xMonths: {\n    one: \"1 month\",\n    other: \"{{count}} months\",\n  },\n\n  aboutXYears: {\n    one: \"about 1 year\",\n    other: \"about {{count}} years\",\n  },\n\n  xYears: {\n    one: \"1 year\",\n    other: \"{{count}} years\",\n  },\n\n  overXYears: {\n    one: \"over 1 year\",\n    other: \"over {{count}} years\",\n  },\n\n  almostXYears: {\n    one: \"almost 1 year\",\n    other: \"almost {{count}} years\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", count.toString());\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"in \" + result;\n    } else {\n      return result + \" ago\";\n    }\n  }\n\n  return result;\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'last' eeee 'at' p\",\n  yesterday: \"'yesterday at' p\",\n  today: \"'today at' p\",\n  tomorrow: \"'tomorrow at' p\",\n  nextWeek: \"eeee 'at' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"B\", \"A\"],\n  abbreviated: [\"BC\", \"AD\"],\n  wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"Jan\",\n    \"Feb\",\n    \"Mar\",\n    \"Apr\",\n    \"May\",\n    \"Jun\",\n    \"Jul\",\n    \"Aug\",\n    \"Sep\",\n    \"Oct\",\n    \"Nov\",\n    \"Dec\",\n  ],\n\n  wide: [\n    \"January\",\n    \"February\",\n    \"March\",\n    \"April\",\n    \"May\",\n    \"June\",\n    \"July\",\n    \"August\",\n    \"September\",\n    \"October\",\n    \"November\",\n    \"December\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n  short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n  abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n  wide: [\n    \"Sunday\",\n    \"Monday\",\n    \"Tuesday\",\n    \"Wednesday\",\n    \"Thursday\",\n    \"Friday\",\n    \"Saturday\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n\n  // If ordinal numbers depend on context, for example,\n  // if they are different for different grammatical genders,\n  // use `options.unit`.\n  //\n  // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n  // 'day', 'hour', 'minute', 'second'.\n\n  const rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + \"st\";\n      case 2:\n        return number + \"nd\";\n      case 3:\n        return number + \"rd\";\n    }\n  }\n  return number + \"th\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(b|a)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n  any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^may/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtwf]/i,\n  short: /^(su|mo|tu|we|th|fr|sa)/i,\n  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mi/i,\n    noon: /^no/i,\n    morning: /morning/i,\n    afternoon: /afternoon/i,\n    evening: /evening/i,\n    night: /night/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"menos de un segundo\",\n    other: \"menos de {{count}} segundos\",\n  },\n\n  xSeconds: {\n    one: \"1 segundo\",\n    other: \"{{count}} segundos\",\n  },\n\n  halfAMinute: \"medio minuto\",\n\n  lessThanXMinutes: {\n    one: \"menos de un minuto\",\n    other: \"menos de {{count}} minutos\",\n  },\n\n  xMinutes: {\n    one: \"1 minuto\",\n    other: \"{{count}} minutos\",\n  },\n\n  aboutXHours: {\n    one: \"alrededor de 1 hora\",\n    other: \"alrededor de {{count}} horas\",\n  },\n\n  xHours: {\n    one: \"1 hora\",\n    other: \"{{count}} horas\",\n  },\n\n  xDays: {\n    one: \"1 día\",\n    other: \"{{count}} días\",\n  },\n\n  aboutXWeeks: {\n    one: \"alrededor de 1 semana\",\n    other: \"alrededor de {{count}} semanas\",\n  },\n\n  xWeeks: {\n    one: \"1 semana\",\n    other: \"{{count}} semanas\",\n  },\n\n  aboutXMonths: {\n    one: \"alrededor de 1 mes\",\n    other: \"alrededor de {{count}} meses\",\n  },\n\n  xMonths: {\n    one: \"1 mes\",\n    other: \"{{count}} meses\",\n  },\n\n  aboutXYears: {\n    one: \"alrededor de 1 año\",\n    other: \"alrededor de {{count}} años\",\n  },\n\n  xYears: {\n    one: \"1 año\",\n    other: \"{{count}} años\",\n  },\n\n  overXYears: {\n    one: \"más de 1 año\",\n    other: \"más de {{count}} años\",\n  },\n\n  almostXYears: {\n    one: \"casi 1 año\",\n    other: \"casi {{count}} años\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", count.toString());\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"en \" + result;\n    } else {\n      return \"hace \" + result;\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, d 'de' MMMM 'de' y\",\n  long: \"d 'de' MMMM 'de' y\",\n  medium: \"d MMM y\",\n  short: \"dd/MM/y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'a las' {{time}}\",\n  long: \"{{date}} 'a las' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'el' eeee 'pasado a la' p\",\n  yesterday: \"'ayer a la' p\",\n  today: \"'hoy a la' p\",\n  tomorrow: \"'mañana a la' p\",\n  nextWeek: \"eeee 'a la' p\",\n  other: \"P\",\n};\n\nconst formatRelativeLocalePlural = {\n  lastWeek: \"'el' eeee 'pasado a las' p\",\n  yesterday: \"'ayer a las' p\",\n  today: \"'hoy a las' p\",\n  tomorrow: \"'mañana a las' p\",\n  nextWeek: \"eeee 'a las' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, date, _baseDate, _options) => {\n  if (date.getHours() !== 1) {\n    return formatRelativeLocalePlural[token];\n  } else {\n    return formatRelativeLocale[token];\n  }\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"AC\", \"DC\"],\n  abbreviated: [\"AC\", \"DC\"],\n  wide: [\"antes de cristo\", \"después de cristo\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n  wide: [\"1º trimestre\", \"2º trimestre\", \"3º trimestre\", \"4º trimestre\"],\n};\n\nconst monthValues = {\n  narrow: [\"e\", \"f\", \"m\", \"a\", \"m\", \"j\", \"j\", \"a\", \"s\", \"o\", \"n\", \"d\"],\n  abbreviated: [\n    \"ene\",\n    \"feb\",\n    \"mar\",\n    \"abr\",\n    \"may\",\n    \"jun\",\n    \"jul\",\n    \"ago\",\n    \"sep\",\n    \"oct\",\n    \"nov\",\n    \"dic\",\n  ],\n\n  wide: [\n    \"enero\",\n    \"febrero\",\n    \"marzo\",\n    \"abril\",\n    \"mayo\",\n    \"junio\",\n    \"julio\",\n    \"agosto\",\n    \"septiembre\",\n    \"octubre\",\n    \"noviembre\",\n    \"diciembre\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"d\", \"l\", \"m\", \"m\", \"j\", \"v\", \"s\"],\n  short: [\"do\", \"lu\", \"ma\", \"mi\", \"ju\", \"vi\", \"sá\"],\n  abbreviated: [\"dom\", \"lun\", \"mar\", \"mié\", \"jue\", \"vie\", \"sáb\"],\n  wide: [\n    \"domingo\",\n    \"lunes\",\n    \"martes\",\n    \"miércoles\",\n    \"jueves\",\n    \"viernes\",\n    \"sábado\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mn\",\n    noon: \"md\",\n    morning: \"mañana\",\n    afternoon: \"tarde\",\n    evening: \"tarde\",\n    night: \"noche\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"mañana\",\n    afternoon: \"tarde\",\n    evening: \"tarde\",\n    night: \"noche\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"mañana\",\n    afternoon: \"tarde\",\n    evening: \"tarde\",\n    night: \"noche\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mn\",\n    noon: \"md\",\n    morning: \"de la mañana\",\n    afternoon: \"de la tarde\",\n    evening: \"de la tarde\",\n    night: \"de la noche\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"de la mañana\",\n    afternoon: \"de la tarde\",\n    evening: \"de la tarde\",\n    night: \"de la noche\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"de la mañana\",\n    afternoon: \"de la tarde\",\n    evening: \"de la tarde\",\n    night: \"de la noche\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \"º\";\n};\n\nexport const localize = {\n  ordinalNumber: ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => Number(quarter) - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\nimport { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(ac|dc|a|d)/i,\n  abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n  wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i,\n};\nconst parseEraPatterns = {\n  any: [/^ac/i, /^dc/i],\n  wide: [\n    /^(antes de cristo|antes de la era com[uú]n)/i,\n    /^(despu[eé]s de cristo|era com[uú]n)/i,\n  ],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^T[1234]/i,\n  wide: /^[1234](º)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[efmajsond]/i,\n  abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,\n  wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^e/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^en/i,\n    /^feb/i,\n    /^mar/i,\n    /^abr/i,\n    /^may/i,\n    /^jun/i,\n    /^jul/i,\n    /^ago/i,\n    /^sep/i,\n    /^oct/i,\n    /^nov/i,\n    /^dic/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[dlmjvs]/i,\n  short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,\n  abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,\n  wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n  any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,\n  any: /^([ap]\\.?\\s?m\\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mn/i,\n    noon: /^md/i,\n    morning: /mañana/i,\n    afternoon: /tarde/i,\n    evening: /tarde/i,\n    night: /noche/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function (value) {\n      return parseInt(value, 10);\n    },\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./es/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./es/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./es/_lib/formatRelative.mjs\";\nimport { localize } from \"./es/_lib/localize.mjs\";\nimport { match } from \"./es/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Spanish locale.\n * @language Spanish\n * @iso-639-2 spa\n * @author Juan Angosto [@juanangosto](https://github.com/juanangosto)\n * @author Guillermo Grau [@guigrpa](https://github.com/guigrpa)\n * @author Fernando Agüero [@fjaguero](https://github.com/fjaguero)\n * @author Gastón Haro [@harogaston](https://github.com/harogaston)\n * @author Yago Carballo [@YagoCarballo](https://github.com/YagoCarballo)\n */\nexport const es = {\n  code: \"es\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 1,\n  },\n};\n\n// Fallback for modularized imports:\nexport default es;\n","function futureSeconds(text) {\n  return text.replace(/sekuntia?/, \"sekunnin\");\n}\n\nfunction futureMinutes(text) {\n  return text.replace(/minuuttia?/, \"minuutin\");\n}\n\nfunction futureHours(text) {\n  return text.replace(/tuntia?/, \"tunnin\");\n}\n\nfunction futureDays(text) {\n  return text.replace(/päivää?/, \"päivän\");\n}\n\nfunction futureWeeks(text) {\n  return text.replace(/(viikko|viikkoa)/, \"viikon\");\n}\n\nfunction futureMonths(text) {\n  return text.replace(/(kuukausi|kuukautta)/, \"kuukauden\");\n}\n\nfunction futureYears(text) {\n  return text.replace(/(vuosi|vuotta)/, \"vuoden\");\n}\n\nconst formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"alle sekunti\",\n    other: \"alle {{count}} sekuntia\",\n    futureTense: futureSeconds,\n  },\n\n  xSeconds: {\n    one: \"sekunti\",\n    other: \"{{count}} sekuntia\",\n    futureTense: futureSeconds,\n  },\n\n  halfAMinute: {\n    one: \"puoli minuuttia\",\n    other: \"puoli minuuttia\",\n    futureTense: (_text) => \"puolen minuutin\",\n  },\n\n  lessThanXMinutes: {\n    one: \"alle minuutti\",\n    other: \"alle {{count}} minuuttia\",\n    futureTense: futureMinutes,\n  },\n\n  xMinutes: {\n    one: \"minuutti\",\n    other: \"{{count}} minuuttia\",\n    futureTense: futureMinutes,\n  },\n\n  aboutXHours: {\n    one: \"noin tunti\",\n    other: \"noin {{count}} tuntia\",\n    futureTense: futureHours,\n  },\n\n  xHours: {\n    one: \"tunti\",\n    other: \"{{count}} tuntia\",\n    futureTense: futureHours,\n  },\n\n  xDays: {\n    one: \"päivä\",\n    other: \"{{count}} päivää\",\n    futureTense: futureDays,\n  },\n\n  aboutXWeeks: {\n    one: \"noin viikko\",\n    other: \"noin {{count}} viikkoa\",\n    futureTense: futureWeeks,\n  },\n\n  xWeeks: {\n    one: \"viikko\",\n    other: \"{{count}} viikkoa\",\n    futureTense: futureWeeks,\n  },\n\n  aboutXMonths: {\n    one: \"noin kuukausi\",\n    other: \"noin {{count}} kuukautta\",\n    futureTense: futureMonths,\n  },\n\n  xMonths: {\n    one: \"kuukausi\",\n    other: \"{{count}} kuukautta\",\n    futureTense: futureMonths,\n  },\n\n  aboutXYears: {\n    one: \"noin vuosi\",\n    other: \"noin {{count}} vuotta\",\n    futureTense: futureYears,\n  },\n\n  xYears: {\n    one: \"vuosi\",\n    other: \"{{count}} vuotta\",\n    futureTense: futureYears,\n  },\n\n  overXYears: {\n    one: \"yli vuosi\",\n    other: \"yli {{count}} vuotta\",\n    futureTense: futureYears,\n  },\n\n  almostXYears: {\n    one: \"lähes vuosi\",\n    other: \"lähes {{count}} vuotta\",\n    futureTense: futureYears,\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  const tokenValue = formatDistanceLocale[token];\n  const result =\n    count === 1\n      ? tokenValue.one\n      : tokenValue.other.replace(\"{{count}}\", String(count));\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return tokenValue.futureTense(result) + \" kuluttua\";\n    } else {\n      return result + \" sitten\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"eeee d. MMMM y\",\n  long: \"d. MMMM y\",\n  medium: \"d. MMM y\",\n  short: \"d.M.y\",\n};\n\nconst timeFormats = {\n  full: \"HH.mm.ss zzzz\",\n  long: \"HH.mm.ss z\",\n  medium: \"HH.mm.ss\",\n  short: \"HH.mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'klo' {{time}}\",\n  long: \"{{date}} 'klo' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'viime' eeee 'klo' p\",\n  yesterday: \"'eilen klo' p\",\n  today: \"'tänään klo' p\",\n  tomorrow: \"'huomenna klo' p\",\n  nextWeek: \"'ensi' eeee 'klo' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"eaa.\", \"jaa.\"],\n  abbreviated: [\"eaa.\", \"jaa.\"],\n  wide: [\"ennen ajanlaskun alkua\", \"jälkeen ajanlaskun alun\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1. kvartaali\", \"2. kvartaali\", \"3. kvartaali\", \"4. kvartaali\"],\n};\n\nconst monthValues = {\n  narrow: [\"T\", \"H\", \"M\", \"H\", \"T\", \"K\", \"H\", \"E\", \"S\", \"L\", \"M\", \"J\"],\n  abbreviated: [\n    \"tammi\",\n    \"helmi\",\n    \"maalis\",\n    \"huhti\",\n    \"touko\",\n    \"kesä\",\n    \"heinä\",\n    \"elo\",\n    \"syys\",\n    \"loka\",\n    \"marras\",\n    \"joulu\",\n  ],\n\n  wide: [\n    \"tammikuu\",\n    \"helmikuu\",\n    \"maaliskuu\",\n    \"huhtikuu\",\n    \"toukokuu\",\n    \"kesäkuu\",\n    \"heinäkuu\",\n    \"elokuu\",\n    \"syyskuu\",\n    \"lokakuu\",\n    \"marraskuu\",\n    \"joulukuu\",\n  ],\n};\n\nconst formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: monthValues.abbreviated,\n  wide: [\n    \"tammikuuta\",\n    \"helmikuuta\",\n    \"maaliskuuta\",\n    \"huhtikuuta\",\n    \"toukokuuta\",\n    \"kesäkuuta\",\n    \"heinäkuuta\",\n    \"elokuuta\",\n    \"syyskuuta\",\n    \"lokakuuta\",\n    \"marraskuuta\",\n    \"joulukuuta\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"K\", \"T\", \"P\", \"L\"],\n  short: [\"su\", \"ma\", \"ti\", \"ke\", \"to\", \"pe\", \"la\"],\n  abbreviated: [\"sunn.\", \"maan.\", \"tiis.\", \"kesk.\", \"torst.\", \"perj.\", \"la\"],\n\n  wide: [\n    \"sunnuntai\",\n    \"maanantai\",\n    \"tiistai\",\n    \"keskiviikko\",\n    \"torstai\",\n    \"perjantai\",\n    \"lauantai\",\n  ],\n};\n\nconst formattingDayValues = {\n  narrow: dayValues.narrow,\n  short: dayValues.short,\n  abbreviated: dayValues.abbreviated,\n  wide: [\n    \"sunnuntaina\",\n    \"maanantaina\",\n    \"tiistaina\",\n    \"keskiviikkona\",\n    \"torstaina\",\n    \"perjantaina\",\n    \"lauantaina\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"ap\",\n    pm: \"ip\",\n    midnight: \"keskiyö\",\n    noon: \"keskipäivä\",\n    morning: \"ap\",\n    afternoon: \"ip\",\n    evening: \"illalla\",\n    night: \"yöllä\",\n  },\n  abbreviated: {\n    am: \"ap\",\n    pm: \"ip\",\n    midnight: \"keskiyö\",\n    noon: \"keskipäivä\",\n    morning: \"ap\",\n    afternoon: \"ip\",\n    evening: \"illalla\",\n    night: \"yöllä\",\n  },\n  wide: {\n    am: \"ap\",\n    pm: \"ip\",\n    midnight: \"keskiyöllä\",\n    noon: \"keskipäivällä\",\n    morning: \"aamupäivällä\",\n    afternoon: \"iltapäivällä\",\n    evening: \"illalla\",\n    night: \"yöllä\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingMonthValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(e|j)/i,\n  abbreviated: /^(eaa.|jaa.)/i,\n  wide: /^(ennen ajanlaskun alkua|jälkeen ajanlaskun alun)/i,\n};\nconst parseEraPatterns = {\n  any: [/^e/i, /^j/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234]\\.? kvartaali/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[thmkeslj]/i,\n  abbreviated:\n    /^(tammi|helmi|maalis|huhti|touko|kesä|heinä|elo|syys|loka|marras|joulu)/i,\n  wide: /^(tammikuu|helmikuu|maaliskuu|huhtikuu|toukokuu|kesäkuu|heinäkuu|elokuu|syyskuu|lokakuu|marraskuu|joulukuu)(ta)?/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^t/i,\n    /^h/i,\n    /^m/i,\n    /^h/i,\n    /^t/i,\n    /^k/i,\n    /^h/i,\n    /^e/i,\n    /^s/i,\n    /^l/i,\n    /^m/i,\n    /^j/i,\n  ],\n\n  any: [\n    /^ta/i,\n    /^hel/i,\n    /^maa/i,\n    /^hu/i,\n    /^to/i,\n    /^k/i,\n    /^hei/i,\n    /^e/i,\n    /^s/i,\n    /^l/i,\n    /^mar/i,\n    /^j/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtkpl]/i,\n  short: /^(su|ma|ti|ke|to|pe|la)/i,\n  abbreviated: /^(sunn.|maan.|tiis.|kesk.|torst.|perj.|la)/i,\n  wide: /^(sunnuntai|maanantai|tiistai|keskiviikko|torstai|perjantai|lauantai)(na)?/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^k/i, /^t/i, /^p/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^k/i, /^to/i, /^p/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow:\n    /^(ap|ip|keskiyö|keskipäivä|aamupäivällä|iltapäivällä|illalla|yöllä)/i,\n  any: /^(ap|ip|keskiyöllä|keskipäivällä|aamupäivällä|iltapäivällä|illalla|yöllä)/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^ap/i,\n    pm: /^ip/i,\n    midnight: /^keskiyö/i,\n    noon: /^keskipäivä/i,\n    morning: /aamupäivällä/i,\n    afternoon: /iltapäivällä/i,\n    evening: /illalla/i,\n    night: /yöllä/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./fi/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./fi/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./fi/_lib/formatRelative.mjs\";\nimport { localize } from \"./fi/_lib/localize.mjs\";\nimport { match } from \"./fi/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Finnish locale.\n * @language Finnish\n * @iso-639-2 fin\n * @author Pyry-Samuli Lahti [@Pyppe](https://github.com/Pyppe)\n * @author Edo Rivai [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Samu Juvonen [@sjuvonen](https://github.com/sjuvonen)\n */\nexport const fi = {\n  code: \"fi\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default fi;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"mindre enn ett sekund\",\n    other: \"mindre enn {{count}} sekunder\",\n  },\n\n  xSeconds: {\n    one: \"ett sekund\",\n    other: \"{{count}} sekunder\",\n  },\n\n  halfAMinute: \"et halvt minutt\",\n\n  lessThanXMinutes: {\n    one: \"mindre enn ett minutt\",\n    other: \"mindre enn {{count}} minutter\",\n  },\n\n  xMinutes: {\n    one: \"ett minutt\",\n    other: \"{{count}} minutter\",\n  },\n\n  aboutXHours: {\n    one: \"omtrent en time\",\n    other: \"omtrent {{count}} timer\",\n  },\n\n  xHours: {\n    one: \"en time\",\n    other: \"{{count}} timer\",\n  },\n\n  xDays: {\n    one: \"en dag\",\n    other: \"{{count}} dager\",\n  },\n\n  aboutXWeeks: {\n    one: \"omtrent en uke\",\n    other: \"omtrent {{count}} uker\",\n  },\n\n  xWeeks: {\n    one: \"en uke\",\n    other: \"{{count}} uker\",\n  },\n\n  aboutXMonths: {\n    one: \"omtrent en måned\",\n    other: \"omtrent {{count}} måneder\",\n  },\n\n  xMonths: {\n    one: \"en måned\",\n    other: \"{{count}} måneder\",\n  },\n\n  aboutXYears: {\n    one: \"omtrent ett år\",\n    other: \"omtrent {{count}} år\",\n  },\n\n  xYears: {\n    one: \"ett år\",\n    other: \"{{count}} år\",\n  },\n\n  overXYears: {\n    one: \"over ett år\",\n    other: \"over {{count}} år\",\n  },\n\n  almostXYears: {\n    one: \"nesten ett år\",\n    other: \"nesten {{count}} år\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"om \" + result;\n    } else {\n      return result + \" siden\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE d. MMMM y\",\n  long: \"d. MMMM y\",\n  medium: \"d. MMM y\",\n  short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'forrige' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgen kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"f.Kr.\", \"e.Kr.\"],\n  abbreviated: [\"f.Kr.\", \"e.Kr.\"],\n  wide: [\"før Kristus\", \"etter Kristus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1. kvartal\", \"2. kvartal\", \"3. kvartal\", \"4. kvartal\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mars\",\n    \"apr.\",\n    \"mai\",\n    \"juni\",\n    \"juli\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"des.\",\n  ],\n\n  wide: [\n    \"januar\",\n    \"februar\",\n    \"mars\",\n    \"april\",\n    \"mai\",\n    \"juni\",\n    \"juli\",\n    \"august\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"desember\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n  short: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"],\n  abbreviated: [\"søn\", \"man\", \"tir\", \"ons\", \"tor\", \"fre\", \"lør\"],\n  wide: [\n    \"søndag\",\n    \"mandag\",\n    \"tirsdag\",\n    \"onsdag\",\n    \"torsdag\",\n    \"fredag\",\n    \"lørdag\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på etterm.\",\n    evening: \"på kvelden\",\n    night: \"på natten\",\n  },\n  abbreviated: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på etterm.\",\n    evening: \"på kvelden\",\n    night: \"på natten\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morgenen\",\n    afternoon: \"på ettermiddagen\",\n    evening: \"på kvelden\",\n    night: \"på natten\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i,\n};\nconst parseEraPatterns = {\n  any: [/^f/i, /^e/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? kvartal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\\.?/i,\n  wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^mai/i,\n    /^jun/i,\n    /^jul/i,\n    /^aug/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(sø|ma|ti|on|to|fr|lø)/i,\n  abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n  wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i,\n};\nconst parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow:\n    /^(midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten)|[ap])/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a(\\.?\\s?m\\.?)?$/i,\n    pm: /^p(\\.?\\s?m\\.?)?$/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgen/i,\n    afternoon: /ettermiddag/i,\n    evening: /kveld/i,\n    night: /natt/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./nb/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./nb/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./nb/_lib/formatRelative.mjs\";\nimport { localize } from \"./nb/_lib/localize.mjs\";\nimport { match } from \"./nb/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Norwegian Bokmål locale.\n * @language Norwegian Bokmål\n * @iso-639-2 nob\n * @author Hans-Kristian Koren [@Hanse](https://github.com/Hanse)\n * @author Mikolaj Grzyb [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Dag Stuan [@dagstuan](https://github.com/dagstuan)\n */\nexport const nb = {\n  code: \"nb\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default nb;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"minder dan een seconde\",\n    other: \"minder dan {{count}} seconden\",\n  },\n\n  xSeconds: {\n    one: \"1 seconde\",\n    other: \"{{count}} seconden\",\n  },\n\n  halfAMinute: \"een halve minuut\",\n\n  lessThanXMinutes: {\n    one: \"minder dan een minuut\",\n    other: \"minder dan {{count}} minuten\",\n  },\n\n  xMinutes: {\n    one: \"een minuut\",\n    other: \"{{count}} minuten\",\n  },\n\n  aboutXHours: {\n    one: \"ongeveer 1 uur\",\n    other: \"ongeveer {{count}} uur\",\n  },\n\n  xHours: {\n    one: \"1 uur\",\n    other: \"{{count}} uur\",\n  },\n\n  xDays: {\n    one: \"1 dag\",\n    other: \"{{count}} dagen\",\n  },\n\n  aboutXWeeks: {\n    one: \"ongeveer 1 week\",\n    other: \"ongeveer {{count}} weken\",\n  },\n\n  xWeeks: {\n    one: \"1 week\",\n    other: \"{{count}} weken\",\n  },\n\n  aboutXMonths: {\n    one: \"ongeveer 1 maand\",\n    other: \"ongeveer {{count}} maanden\",\n  },\n\n  xMonths: {\n    one: \"1 maand\",\n    other: \"{{count}} maanden\",\n  },\n\n  aboutXYears: {\n    one: \"ongeveer 1 jaar\",\n    other: \"ongeveer {{count}} jaar\",\n  },\n\n  xYears: {\n    one: \"1 jaar\",\n    other: \"{{count}} jaar\",\n  },\n\n  overXYears: {\n    one: \"meer dan 1 jaar\",\n    other: \"meer dan {{count}} jaar\",\n  },\n\n  almostXYears: {\n    one: \"bijna 1 jaar\",\n    other: \"bijna {{count}} jaar\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"over \" + result;\n    } else {\n      return result + \" geleden\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE d MMMM y\",\n  long: \"d MMMM y\",\n  medium: \"d MMM y\",\n  short: \"dd-MM-y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'om' {{time}}\",\n  long: \"{{date}} 'om' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'afgelopen' eeee 'om' p\",\n  yesterday: \"'gisteren om' p\",\n  today: \"'vandaag om' p\",\n  tomorrow: \"'morgen om' p\",\n  nextWeek: \"eeee 'om' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"v.C.\", \"n.C.\"],\n  abbreviated: [\"v.Chr.\", \"n.Chr.\"],\n  wide: [\"voor Christus\", \"na Christus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"K1\", \"K2\", \"K3\", \"K4\"],\n  wide: [\"1e kwartaal\", \"2e kwartaal\", \"3e kwartaal\", \"4e kwartaal\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mrt.\",\n    \"apr.\",\n    \"mei\",\n    \"jun.\",\n    \"jul.\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"dec.\",\n  ],\n\n  wide: [\n    \"januari\",\n    \"februari\",\n    \"maart\",\n    \"april\",\n    \"mei\",\n    \"juni\",\n    \"juli\",\n    \"augustus\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"december\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"Z\", \"M\", \"D\", \"W\", \"D\", \"V\", \"Z\"],\n  short: [\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"],\n  abbreviated: [\"zon\", \"maa\", \"din\", \"woe\", \"don\", \"vri\", \"zat\"],\n  wide: [\n    \"zondag\",\n    \"maandag\",\n    \"dinsdag\",\n    \"woensdag\",\n    \"donderdag\",\n    \"vrijdag\",\n    \"zaterdag\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"middernacht\",\n    noon: \"het middaguur\",\n    morning: \"'s ochtends\",\n    afternoon: \"'s middags\",\n    evening: \"'s avonds\",\n    night: \"'s nachts\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"middernacht\",\n    noon: \"het middaguur\",\n    morning: \"'s ochtends\",\n    afternoon: \"'s middags\",\n    evening: \"'s avonds\",\n    night: \"'s nachts\",\n  },\n  wide: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"middernacht\",\n    noon: \"het middaguur\",\n    morning: \"'s ochtends\",\n    afternoon: \"'s middags\",\n    evening: \"'s avonds\",\n    night: \"'s nachts\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \"e\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)e?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^([vn]\\.? ?C\\.?)/,\n  abbreviated: /^([vn]\\. ?Chr\\.?)/,\n  wide: /^((voor|na) Christus)/,\n};\nconst parseEraPatterns = {\n  any: [/^v/, /^n/],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^K[1234]/i,\n  wide: /^[1234]e kwartaal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n  wide: /^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^jan/i,\n    /^feb/i,\n    /^m(r|a)/i,\n    /^apr/i,\n    /^mei/i,\n    /^jun/i,\n    /^jul/i,\n    /^aug/i,\n    /^sep/i,\n    /^okt/i,\n    /^nov/i,\n    /^dec/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[zmdwv]/i,\n  short: /^(zo|ma|di|wo|do|vr|za)/i,\n  abbreviated: /^(zon|maa|din|woe|don|vri|zat)/i,\n  wide: /^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^z/i, /^m/i, /^d/i, /^w/i, /^d/i, /^v/i, /^z/i],\n  any: [/^zo/i, /^ma/i, /^di/i, /^wo/i, /^do/i, /^vr/i, /^za/i],\n};\n\nconst matchDayPeriodPatterns = {\n  any: /^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^am/i,\n    pm: /^pm/i,\n    midnight: /^middernacht/i,\n    noon: /^het middaguur/i,\n    morning: /ochtend/i,\n    afternoon: /middag/i,\n    evening: /avond/i,\n    night: /nacht/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./nl/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./nl/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./nl/_lib/formatRelative.mjs\";\nimport { localize } from \"./nl/_lib/localize.mjs\";\nimport { match } from \"./nl/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Dutch locale.\n * @language Dutch\n * @iso-639-2 nld\n * @author Jorik Tangelder [@jtangelder](https://github.com/jtangelder)\n * @author Ruben Stolk [@rubenstolk](https://github.com/rubenstolk)\n * @author Lode Vanhove [@bitcrumb](https://github.com/bitcrumb)\n * @author Edo Rivai [@edorivai](https://github.com/edorivai)\n * @author Niels Keurentjes [@curry684](https://github.com/curry684)\n * @author Stefan Vermaas [@stefanvermaas](https://github.com/stefanvermaas)\n */\nexport const nl = {\n  code: \"nl\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default nl;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: {\n      regular: \"mniej niż sekunda\",\n      past: \"mniej niż sekundę\",\n      future: \"mniej niż sekundę\",\n    },\n    twoFour: \"mniej niż {{count}} sekundy\",\n    other: \"mniej niż {{count}} sekund\",\n  },\n\n  xSeconds: {\n    one: {\n      regular: \"sekunda\",\n      past: \"sekundę\",\n      future: \"sekundę\",\n    },\n    twoFour: \"{{count}} sekundy\",\n    other: \"{{count}} sekund\",\n  },\n\n  halfAMinute: {\n    one: \"pół minuty\",\n    twoFour: \"pół minuty\",\n    other: \"pół minuty\",\n  },\n\n  lessThanXMinutes: {\n    one: {\n      regular: \"mniej niż minuta\",\n      past: \"mniej niż minutę\",\n      future: \"mniej niż minutę\",\n    },\n    twoFour: \"mniej niż {{count}} minuty\",\n    other: \"mniej niż {{count}} minut\",\n  },\n\n  xMinutes: {\n    one: {\n      regular: \"minuta\",\n      past: \"minutę\",\n      future: \"minutę\",\n    },\n    twoFour: \"{{count}} minuty\",\n    other: \"{{count}} minut\",\n  },\n\n  aboutXHours: {\n    one: {\n      regular: \"około godziny\",\n      past: \"około godziny\",\n      future: \"około godzinę\",\n    },\n    twoFour: \"około {{count}} godziny\",\n    other: \"około {{count}} godzin\",\n  },\n\n  xHours: {\n    one: {\n      regular: \"godzina\",\n      past: \"godzinę\",\n      future: \"godzinę\",\n    },\n    twoFour: \"{{count}} godziny\",\n    other: \"{{count}} godzin\",\n  },\n\n  xDays: {\n    one: {\n      regular: \"dzień\",\n      past: \"dzień\",\n      future: \"1 dzień\",\n    },\n    twoFour: \"{{count}} dni\",\n    other: \"{{count}} dni\",\n  },\n\n  aboutXWeeks: {\n    one: \"około tygodnia\",\n    twoFour: \"około {{count}} tygodni\",\n    other: \"około {{count}} tygodni\",\n  },\n\n  xWeeks: {\n    one: \"tydzień\",\n    twoFour: \"{{count}} tygodnie\",\n    other: \"{{count}} tygodni\",\n  },\n\n  aboutXMonths: {\n    one: \"około miesiąc\",\n    twoFour: \"około {{count}} miesiące\",\n    other: \"około {{count}} miesięcy\",\n  },\n\n  xMonths: {\n    one: \"miesiąc\",\n    twoFour: \"{{count}} miesiące\",\n    other: \"{{count}} miesięcy\",\n  },\n\n  aboutXYears: {\n    one: \"około rok\",\n    twoFour: \"około {{count}} lata\",\n    other: \"około {{count}} lat\",\n  },\n\n  xYears: {\n    one: \"rok\",\n    twoFour: \"{{count}} lata\",\n    other: \"{{count}} lat\",\n  },\n\n  overXYears: {\n    one: \"ponad rok\",\n    twoFour: \"ponad {{count}} lata\",\n    other: \"ponad {{count}} lat\",\n  },\n\n  almostXYears: {\n    one: \"prawie rok\",\n    twoFour: \"prawie {{count}} lata\",\n    other: \"prawie {{count}} lat\",\n  },\n};\n\nfunction declensionGroup(scheme, count) {\n  if (count === 1) {\n    return scheme.one;\n  }\n\n  const rem100 = count % 100;\n\n  // ends with 11-20\n  if (rem100 <= 20 && rem100 > 10) {\n    return scheme.other;\n  }\n\n  const rem10 = rem100 % 10;\n\n  // ends with 2, 3, 4\n  if (rem10 >= 2 && rem10 <= 4) {\n    return scheme.twoFour;\n  }\n\n  return scheme.other;\n}\n\nfunction declension(scheme, count, time) {\n  const group = declensionGroup(scheme, count);\n  const finalText = typeof group === \"string\" ? group : group[time];\n  return finalText.replace(\"{{count}}\", String(count));\n}\n\nexport const formatDistance = (token, count, options) => {\n  const scheme = formatDistanceLocale[token];\n  if (!options?.addSuffix) {\n    return declension(scheme, count, \"regular\");\n  }\n\n  if (options.comparison && options.comparison > 0) {\n    return \"za \" + declension(scheme, count, \"future\");\n  } else {\n    return declension(scheme, count, \"past\") + \" temu\";\n  }\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, do MMMM y\",\n  long: \"do MMMM y\",\n  medium: \"do MMM y\",\n  short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} {{time}}\",\n  long: \"{{date}} {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","import { isSameWeek } from \"../../../isSameWeek.mjs\";\n\nconst adjectivesLastWeek = {\n  masculine: \"ostatni\",\n  feminine: \"ostatnia\",\n};\n\nconst adjectivesThisWeek = {\n  masculine: \"ten\",\n  feminine: \"ta\",\n};\n\nconst adjectivesNextWeek = {\n  masculine: \"następny\",\n  feminine: \"następna\",\n};\n\nconst dayGrammaticalGender = {\n  0: \"feminine\",\n  1: \"masculine\",\n  2: \"masculine\",\n  3: \"feminine\",\n  4: \"masculine\",\n  5: \"masculine\",\n  6: \"feminine\",\n};\n\nfunction dayAndTimeWithAdjective(token, date, baseDate, options) {\n  let adjectives;\n  if (isSameWeek(date, baseDate, options)) {\n    adjectives = adjectivesThisWeek;\n  } else if (token === \"lastWeek\") {\n    adjectives = adjectivesLastWeek;\n  } else if (token === \"nextWeek\") {\n    adjectives = adjectivesNextWeek;\n  } else {\n    throw new Error(`Cannot determine adjectives for token ${token}`);\n  }\n\n  const day = date.getDay();\n  const grammaticalGender = dayGrammaticalGender[day];\n\n  const adjective = adjectives[grammaticalGender];\n\n  return `'${adjective}' eeee 'o' p`;\n}\n\nconst formatRelativeLocale = {\n  lastWeek: dayAndTimeWithAdjective,\n  yesterday: \"'wczoraj o' p\",\n  today: \"'dzisiaj o' p\",\n  tomorrow: \"'jutro o' p\",\n  nextWeek: dayAndTimeWithAdjective,\n  other: \"P\",\n};\n\nexport const formatRelative = (token, date, baseDate, options) => {\n  const format = formatRelativeLocale[token];\n\n  if (typeof format === \"function\") {\n    return format(token, date, baseDate, options);\n  }\n\n  return format;\n};\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * The {@link isSameWeek} function options.\n */\n\n/**\n * @name isSameWeek\n * @category Week Helpers\n * @summary Are the given dates in the same week (and month and year)?\n *\n * @description\n * Are the given dates in the same week (and month and year)?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same week (and month and year)\n *\n * @example\n * // Are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))\n * //=> true\n *\n * @example\n * // If week starts with Monday,\n * // are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {\n *   weekStartsOn: 1\n * })\n * //=> false\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same week?\n * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport function isSameWeek(dateLeft, dateRight, options) {\n  const dateLeftStartOfWeek = startOfWeek(dateLeft, options);\n  const dateRightStartOfWeek = startOfWeek(dateRight, options);\n\n  return +dateLeftStartOfWeek === +dateRightStartOfWeek;\n}\n\n// Fallback for modularized imports:\nexport default isSameWeek;\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"p.n.e.\", \"n.e.\"],\n  abbreviated: [\"p.n.e.\", \"n.e.\"],\n  wide: [\"przed naszą erą\", \"naszej ery\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"I kw.\", \"II kw.\", \"III kw.\", \"IV kw.\"],\n  wide: [\"I kwartał\", \"II kwartał\", \"III kwartał\", \"IV kwartał\"],\n};\n\nconst monthValues = {\n  narrow: [\"S\", \"L\", \"M\", \"K\", \"M\", \"C\", \"L\", \"S\", \"W\", \"P\", \"L\", \"G\"],\n  abbreviated: [\n    \"sty\",\n    \"lut\",\n    \"mar\",\n    \"kwi\",\n    \"maj\",\n    \"cze\",\n    \"lip\",\n    \"sie\",\n    \"wrz\",\n    \"paź\",\n    \"lis\",\n    \"gru\",\n  ],\n\n  wide: [\n    \"styczeń\",\n    \"luty\",\n    \"marzec\",\n    \"kwiecień\",\n    \"maj\",\n    \"czerwiec\",\n    \"lipiec\",\n    \"sierpień\",\n    \"wrzesień\",\n    \"październik\",\n    \"listopad\",\n    \"grudzień\",\n  ],\n};\nconst monthFormattingValues = {\n  narrow: [\"s\", \"l\", \"m\", \"k\", \"m\", \"c\", \"l\", \"s\", \"w\", \"p\", \"l\", \"g\"],\n  abbreviated: [\n    \"sty\",\n    \"lut\",\n    \"mar\",\n    \"kwi\",\n    \"maj\",\n    \"cze\",\n    \"lip\",\n    \"sie\",\n    \"wrz\",\n    \"paź\",\n    \"lis\",\n    \"gru\",\n  ],\n\n  wide: [\n    \"stycznia\",\n    \"lutego\",\n    \"marca\",\n    \"kwietnia\",\n    \"maja\",\n    \"czerwca\",\n    \"lipca\",\n    \"sierpnia\",\n    \"września\",\n    \"października\",\n    \"listopada\",\n    \"grudnia\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"N\", \"P\", \"W\", \"Ś\", \"C\", \"P\", \"S\"],\n  short: [\"nie\", \"pon\", \"wto\", \"śro\", \"czw\", \"pią\", \"sob\"],\n  abbreviated: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"],\n  wide: [\n    \"niedziela\",\n    \"poniedziałek\",\n    \"wtorek\",\n    \"środa\",\n    \"czwartek\",\n    \"piątek\",\n    \"sobota\",\n  ],\n};\nconst dayFormattingValues = {\n  narrow: [\"n\", \"p\", \"w\", \"ś\", \"c\", \"p\", \"s\"],\n  short: [\"nie\", \"pon\", \"wto\", \"śro\", \"czw\", \"pią\", \"sob\"],\n  abbreviated: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"],\n  wide: [\n    \"niedziela\",\n    \"poniedziałek\",\n    \"wtorek\",\n    \"środa\",\n    \"czwartek\",\n    \"piątek\",\n    \"sobota\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"półn.\",\n    noon: \"poł\",\n    morning: \"rano\",\n    afternoon: \"popoł.\",\n    evening: \"wiecz.\",\n    night: \"noc\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"północ\",\n    noon: \"południe\",\n    morning: \"rano\",\n    afternoon: \"popołudnie\",\n    evening: \"wieczór\",\n    night: \"noc\",\n  },\n  wide: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"północ\",\n    noon: \"południe\",\n    morning: \"rano\",\n    afternoon: \"popołudnie\",\n    evening: \"wieczór\",\n    night: \"noc\",\n  },\n};\n\nconst dayPeriodFormattingValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"o półn.\",\n    noon: \"w poł.\",\n    morning: \"rano\",\n    afternoon: \"po poł.\",\n    evening: \"wiecz.\",\n    night: \"w nocy\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"o północy\",\n    noon: \"w południe\",\n    morning: \"rano\",\n    afternoon: \"po południu\",\n    evening: \"wieczorem\",\n    night: \"w nocy\",\n  },\n  wide: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"o północy\",\n    noon: \"w południe\",\n    morning: \"rano\",\n    afternoon: \"po południu\",\n    evening: \"wieczorem\",\n    night: \"w nocy\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  return String(dirtyNumber);\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n    formattingValues: monthFormattingValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n    formattingValues: dayFormattingValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: dayPeriodFormattingValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  abbreviated: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  wide: /^(przed\\s*nasz(ą|a)\\s*er(ą|a)|naszej\\s*ery)/i,\n};\nconst parseEraPatterns = {\n  any: [/^p/i, /^n/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^(I|II|III|IV)\\s*kw\\.?/i,\n  wide: /^(I|II|III|IV)\\s*kwarta(ł|l)/i,\n};\nconst parseQuarterPatterns = {\n  narrow: [/1/i, /2/i, /3/i, /4/i],\n  any: [/^I kw/i, /^II kw/i, /^III kw/i, /^IV kw/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[slmkcwpg]/i,\n  abbreviated: /^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i,\n  wide: /^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^s/i,\n    /^l/i,\n    /^m/i,\n    /^k/i,\n    /^m/i,\n    /^c/i,\n    /^l/i,\n    /^s/i,\n    /^w/i,\n    /^p/i,\n    /^l/i,\n    /^g/i,\n  ],\n\n  any: [\n    /^st/i,\n    /^lu/i,\n    /^mar/i,\n    /^k/i,\n    /^maj/i,\n    /^c/i,\n    /^lip/i,\n    /^si/i,\n    /^w/i,\n    /^p/i,\n    /^lis/i,\n    /^g/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[npwścs]/i,\n  short: /^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i,\n  abbreviated: /^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\\.?/i,\n  wide: /^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^n/i, /^p/i, /^w/i, /^ś/i, /^c/i, /^p/i, /^s/i],\n  abbreviated: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pt/i, /^so/i],\n\n  any: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pi/i, /^so/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow:\n    /^(^a$|^p$|pó(ł|l)n\\.?|o\\s*pó(ł|l)n\\.?|po(ł|l)\\.?|w\\s*po(ł|l)\\.?|po\\s*po(ł|l)\\.?|rano|wiecz\\.?|noc|w\\s*nocy)/i,\n  any: /^(am|pm|pó(ł|l)noc|o\\s*pó(ł|l)nocy|po(ł|l)udnie|w\\s*po(ł|l)udnie|popo(ł|l)udnie|po\\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\\s*nocy)/i,\n};\nconst parseDayPeriodPatterns = {\n  narrow: {\n    am: /^a$/i,\n    pm: /^p$/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i,\n  },\n  any: {\n    am: /^am/i,\n    pm: /^pm/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./pl/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./pl/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./pl/_lib/formatRelative.mjs\";\nimport { localize } from \"./pl/_lib/localize.mjs\";\nimport { match } from \"./pl/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Polish locale.\n * @language Polish\n * @iso-639-2 pol\n * @author Mateusz Derks [@ertrzyiks](https://github.com/ertrzyiks)\n * @author Just RAG [@justrag](https://github.com/justrag)\n * @author Mikolaj Grzyb [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Mateusz Tokarski [@mutisz](https://github.com/mutisz)\n */\nexport const pl = {\n  code: \"pl\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default pl;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"mindre än en sekund\",\n    other: \"mindre än {{count}} sekunder\",\n  },\n\n  xSeconds: {\n    one: \"en sekund\",\n    other: \"{{count}} sekunder\",\n  },\n\n  halfAMinute: \"en halv minut\",\n\n  lessThanXMinutes: {\n    one: \"mindre än en minut\",\n    other: \"mindre än {{count}} minuter\",\n  },\n\n  xMinutes: {\n    one: \"en minut\",\n    other: \"{{count}} minuter\",\n  },\n\n  aboutXHours: {\n    one: \"ungefär en timme\",\n    other: \"ungefär {{count}} timmar\",\n  },\n\n  xHours: {\n    one: \"en timme\",\n    other: \"{{count}} timmar\",\n  },\n\n  xDays: {\n    one: \"en dag\",\n    other: \"{{count}} dagar\",\n  },\n\n  aboutXWeeks: {\n    one: \"ungefär en vecka\",\n    other: \"ungefär {{count}} veckor\",\n  },\n\n  xWeeks: {\n    one: \"en vecka\",\n    other: \"{{count}} veckor\",\n  },\n\n  aboutXMonths: {\n    one: \"ungefär en månad\",\n    other: \"ungefär {{count}} månader\",\n  },\n\n  xMonths: {\n    one: \"en månad\",\n    other: \"{{count}} månader\",\n  },\n\n  aboutXYears: {\n    one: \"ungefär ett år\",\n    other: \"ungefär {{count}} år\",\n  },\n\n  xYears: {\n    one: \"ett år\",\n    other: \"{{count}} år\",\n  },\n\n  overXYears: {\n    one: \"över ett år\",\n    other: \"över {{count}} år\",\n  },\n\n  almostXYears: {\n    one: \"nästan ett år\",\n    other: \"nästan {{count}} år\",\n  },\n};\n\nconst wordMapping = [\n  \"noll\",\n  \"en\",\n  \"två\",\n  \"tre\",\n  \"fyra\",\n  \"fem\",\n  \"sex\",\n  \"sju\",\n  \"åtta\",\n  \"nio\",\n  \"tio\",\n  \"elva\",\n  \"tolv\",\n];\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\n      \"{{count}}\",\n      count < 13 ? wordMapping[count] : String(count),\n    );\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"om \" + result;\n    } else {\n      return result + \" sedan\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE d MMMM y\",\n  long: \"d MMMM y\",\n  medium: \"d MMM y\",\n  short: \"y-MM-dd\",\n};\n\nconst timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'i' EEEE's kl.' p\",\n  yesterday: \"'igår kl.' p\",\n  today: \"'idag kl.' p\",\n  tomorrow: \"'imorgon kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"f.Kr.\", \"e.Kr.\"],\n  abbreviated: [\"f.Kr.\", \"e.Kr.\"],\n  wide: [\"före Kristus\", \"efter Kristus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1:a kvartalet\", \"2:a kvartalet\", \"3:e kvartalet\", \"4:e kvartalet\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mars\",\n    \"apr.\",\n    \"maj\",\n    \"juni\",\n    \"juli\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"dec.\",\n  ],\n\n  wide: [\n    \"januari\",\n    \"februari\",\n    \"mars\",\n    \"april\",\n    \"maj\",\n    \"juni\",\n    \"juli\",\n    \"augusti\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"december\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n  short: [\"sö\", \"må\", \"ti\", \"on\", \"to\", \"fr\", \"lö\"],\n  abbreviated: [\"sön\", \"mån\", \"tis\", \"ons\", \"tors\", \"fre\", \"lör\"],\n  wide: [\"söndag\", \"måndag\", \"tisdag\", \"onsdag\", \"torsdag\", \"fredag\", \"lördag\"],\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/sv.html#1888\nconst dayPeriodValues = {\n  narrow: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"morg.\",\n    afternoon: \"efterm.\",\n    evening: \"kväll\",\n    night: \"natt\",\n  },\n  abbreviated: {\n    am: \"f.m.\",\n    pm: \"e.m.\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"morgon\",\n    afternoon: \"efterm.\",\n    evening: \"kväll\",\n    night: \"natt\",\n  },\n  wide: {\n    am: \"förmiddag\",\n    pm: \"eftermiddag\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"morgon\",\n    afternoon: \"eftermiddag\",\n    evening: \"kväll\",\n    night: \"natt\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på efterm.\",\n    evening: \"på kvällen\",\n    night: \"på natten\",\n  },\n  abbreviated: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på efterm.\",\n    evening: \"på kvällen\",\n    night: \"på natten\",\n  },\n  wide: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morgonen\",\n    afternoon: \"på eftermiddagen\",\n    evening: \"på kvällen\",\n    night: \"på natten\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n\n  const rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n      case 2:\n        return number + \":a\";\n    }\n  }\n  return number + \":e\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(:a|:e)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i,\n};\nconst parseEraPatterns = {\n  any: [/^f/i, /^[ev]/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](:a|:e)? kvartalet/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated:\n    /^(jan|feb|mar[s]?|apr|maj|jun[i]?|jul[i]?|aug|sep|okt|nov|dec)\\.?/i,\n  wide: /^(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^maj/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(sö|må|ti|on|to|fr|lö)/i,\n  abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i,\n  wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i,\n};\nconst parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  any: /^([fe]\\.?\\s?m\\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^f/i,\n    pm: /^e/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgon/i,\n    afternoon: /eftermiddag/i,\n    evening: /kväll/i,\n    night: /natt/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./sv/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./sv/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./sv/_lib/formatRelative.mjs\";\nimport { localize } from \"./sv/_lib/localize.mjs\";\nimport { match } from \"./sv/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Swedish locale.\n * @language Swedish\n * @iso-639-2 swe\n * @author Johannes Ulén [@ejulen](https://github.com/ejulen)\n * @author Alexander Nanberg [@alexandernanberg](https://github.com/alexandernanberg)\n * @author Henrik Andersson [@limelights](https://github.com/limelights)\n */\nexport const sv = {\n  code: \"sv\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default sv;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date) {\n  const _date = toDate(date);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n  const defaultOptions = getDefaultOptions();\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  const _date = toDate(date);\n  const day = _date.getDay();\n  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n  _date.setDate(_date.getDate() - diff);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n  const argStr = Object.prototype.toString.call(argument);\n\n  // Clone the date\n  if (\n    argument instanceof Date ||\n    (typeof argument === \"object\" && argStr === \"[object Date]\")\n  ) {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new argument.constructor(+argument);\n  } else if (\n    typeof argument === \"number\" ||\n    argStr === \"[object Number]\" ||\n    typeof argument === \"string\" ||\n    argStr === \"[object String]\"\n  ) {\n    // TODO: Can we get rid of as?\n    return new Date(argument);\n  } else {\n    // TODO: Can we get rid of as?\n    return new Date(NaN);\n  }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import * as React from 'react';\n\n/**\n * Taken from https://github.com/radix-ui/primitives/blob/main/packages/react/compose-refs/src/compose-refs.tsx\n */\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef(ref, value) {\n    if (typeof ref === \"function\") {\n        return ref(value);\n    }\n    else if (ref !== null && ref !== undefined) {\n        ref.current = value;\n    }\n}\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs(...refs) {\n    return (node) => {\n        let hasCleanup = false;\n        const cleanups = refs.map((ref) => {\n            const cleanup = setRef(ref, node);\n            if (!hasCleanup && typeof cleanup === \"function\") {\n                hasCleanup = true;\n            }\n            return cleanup;\n        });\n        // React <19 will log an error to the console if a callback ref returns a\n        // value. We don't use ref cleanups internally so this will only happen if a\n        // user's ref callback returns a value, which we only expect if they are\n        // using the cleanup functionality added in React 19.\n        if (hasCleanup) {\n            return () => {\n                for (let i = 0; i < cleanups.length; i++) {\n                    const cleanup = cleanups[i];\n                    if (typeof cleanup === \"function\") {\n                        cleanup();\n                    }\n                    else {\n                        setRef(refs[i], null);\n                    }\n                }\n            };\n        }\n    };\n}\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs(...refs) {\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { useComposedRefs };\n//# sourceMappingURL=use-composed-ref.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { isHTMLElement } from 'motion-dom';\nimport * as React from 'react';\nimport { useId, useRef, useContext, useInsertionEffect } from 'react';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { useComposedRefs } from '../../utils/use-composed-ref.mjs';\n\n/**\n * Measurement functionality has to be within a separate component\n * to leverage snapshot lifecycle.\n */\nclass PopChildMeasure extends React.Component {\n    getSnapshotBeforeUpdate(prevProps) {\n        const element = this.props.childRef.current;\n        if (isHTMLElement(element) && prevProps.isPresent && !this.props.isPresent && this.props.pop !== false) {\n            const parent = element.offsetParent;\n            const parentWidth = isHTMLElement(parent)\n                ? parent.offsetWidth || 0\n                : 0;\n            const parentHeight = isHTMLElement(parent)\n                ? parent.offsetHeight || 0\n                : 0;\n            const computedStyle = getComputedStyle(element);\n            const size = this.props.sizeRef.current;\n            size.height = parseFloat(computedStyle.height);\n            size.width = parseFloat(computedStyle.width);\n            size.top = element.offsetTop;\n            size.left = element.offsetLeft;\n            size.right = parentWidth - size.width - size.left;\n            size.bottom = parentHeight - size.height - size.top;\n        }\n        return null;\n    }\n    /**\n     * Required with getSnapshotBeforeUpdate to stop React complaining.\n     */\n    componentDidUpdate() { }\n    render() {\n        return this.props.children;\n    }\n}\nfunction PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {\n    const id = useId();\n    const ref = useRef(null);\n    const size = useRef({\n        width: 0,\n        height: 0,\n        top: 0,\n        left: 0,\n        right: 0,\n        bottom: 0,\n    });\n    const { nonce } = useContext(MotionConfigContext);\n    /**\n     * In React 19, refs are passed via props.ref instead of element.ref.\n     * We check props.ref first (React 19) and fall back to element.ref (React 18).\n     */\n    const childRef = children.props?.ref ??\n        children?.ref;\n    const composedRef = useComposedRefs(ref, childRef);\n    /**\n     * We create and inject a style block so we can apply this explicit\n     * sizing in a non-destructive manner by just deleting the style block.\n     *\n     * We can't apply size via render as the measurement happens\n     * in getSnapshotBeforeUpdate (post-render), likewise if we apply the\n     * styles directly on the DOM node, we might be overwriting\n     * styles set via the style prop.\n     */\n    useInsertionEffect(() => {\n        const { width, height, top, left, right, bottom } = size.current;\n        if (isPresent || pop === false || !ref.current || !width || !height)\n            return;\n        const x = anchorX === \"left\" ? `left: ${left}` : `right: ${right}`;\n        const y = anchorY === \"bottom\" ? `bottom: ${bottom}` : `top: ${top}`;\n        ref.current.dataset.motionPopId = id;\n        const style = document.createElement(\"style\");\n        if (nonce)\n            style.nonce = nonce;\n        const parent = root ?? document.head;\n        parent.appendChild(style);\n        if (style.sheet) {\n            style.sheet.insertRule(`\n          [data-motion-pop-id=\"${id}\"] {\n            position: absolute !important;\n            width: ${width}px !important;\n            height: ${height}px !important;\n            ${x}px !important;\n            ${y}px !important;\n          }\n        `);\n        }\n        return () => {\n            ref.current?.removeAttribute(\"data-motion-pop-id\");\n            if (parent.contains(style)) {\n                parent.removeChild(style);\n            }\n        };\n    }, [isPresent]);\n    return (jsx(PopChildMeasure, { isPresent: isPresent, childRef: ref, sizeRef: size, pop: pop, children: pop === false\n            ? children\n            : React.cloneElement(children, { ref: composedRef }) }));\n}\n\nexport { PopChild };\n//# sourceMappingURL=PopChild.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport * as React from 'react';\nimport { useId, useMemo } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { PopChild } from './PopChild.mjs';\n\nconst PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {\n    const presenceChildren = useConstant(newChildrenMap);\n    const id = useId();\n    let isReusedContext = true;\n    let context = useMemo(() => {\n        isReusedContext = false;\n        return {\n            id,\n            initial,\n            isPresent,\n            custom,\n            onExitComplete: (childId) => {\n                presenceChildren.set(childId, true);\n                for (const isComplete of presenceChildren.values()) {\n                    if (!isComplete)\n                        return; // can stop searching when any is incomplete\n                }\n                onExitComplete && onExitComplete();\n            },\n            register: (childId) => {\n                presenceChildren.set(childId, false);\n                return () => presenceChildren.delete(childId);\n            },\n        };\n    }, [isPresent, presenceChildren, onExitComplete]);\n    /**\n     * If the presence of a child affects the layout of the components around it,\n     * we want to make a new context value to ensure they get re-rendered\n     * so they can detect that layout change.\n     */\n    if (presenceAffectsLayout && isReusedContext) {\n        context = { ...context };\n    }\n    useMemo(() => {\n        presenceChildren.forEach((_, key) => presenceChildren.set(key, false));\n    }, [isPresent]);\n    /**\n     * If there's no `motion` components to fire exit animations, we want to remove this\n     * component immediately.\n     */\n    React.useEffect(() => {\n        !isPresent &&\n            !presenceChildren.size &&\n            onExitComplete &&\n            onExitComplete();\n    }, [isPresent]);\n    children = (jsx(PopChild, { pop: mode === \"popLayout\", isPresent: isPresent, anchorX: anchorX, anchorY: anchorY, root: root, children: children }));\n    return (jsx(PresenceContext.Provider, { value: context, children: children }));\n};\nfunction newChildrenMap() {\n    return new Map();\n}\n\nexport { PresenceChild };\n//# sourceMappingURL=PresenceChild.mjs.map\n","import { Children, isValidElement } from 'react';\n\nconst getChildKey = (child) => child.key || \"\";\nfunction onlyElements(children) {\n    const filtered = [];\n    // We use forEach here instead of map as map mutates the component key by preprending `.$`\n    Children.forEach(children, (child) => {\n        if (isValidElement(child))\n            filtered.push(child);\n    });\n    return filtered;\n}\n\nexport { getChildKey, onlyElements };\n//# sourceMappingURL=utils.mjs.map\n","\"use client\";\nimport { jsx, Fragment } from 'react/jsx-runtime';\nimport { useMemo, useRef, useState, useContext } from 'react';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { PresenceChild } from './PresenceChild.mjs';\nimport { usePresence } from './use-presence.mjs';\nimport { onlyElements, getChildKey } from './utils.mjs';\n\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n *   <AnimatePresence>\n *     {items.map(item => (\n *       <motion.div\n *         key={item.id}\n *         initial={{ opacity: 0 }}\n *         animate={{ opacity: 1 }}\n *         exit={{ opacity: 0 }}\n *       />\n *     ))}\n *   </AnimatePresence>\n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nconst AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = \"sync\", propagate = false, anchorX = \"left\", anchorY = \"top\", root }) => {\n    const [isParentPresent, safeToRemove] = usePresence(propagate);\n    /**\n     * Filter any children that aren't ReactElements. We can only track components\n     * between renders with a props.key.\n     */\n    const presentChildren = useMemo(() => onlyElements(children), [children]);\n    /**\n     * Track the keys of the currently rendered children. This is used to\n     * determine which children are exiting.\n     */\n    const presentKeys = propagate && !isParentPresent ? [] : presentChildren.map(getChildKey);\n    /**\n     * If `initial={false}` we only want to pass this to components in the first render.\n     */\n    const isInitialRender = useRef(true);\n    /**\n     * A ref containing the currently present children. When all exit animations\n     * are complete, we use this to re-render the component with the latest children\n     * *committed* rather than the latest children *rendered*.\n     */\n    const pendingPresentChildren = useRef(presentChildren);\n    /**\n     * Track which exiting children have finished animating out.\n     */\n    const exitComplete = useConstant(() => new Map());\n    /**\n     * Track which components are currently processing exit to prevent duplicate processing.\n     */\n    const exitingComponents = useRef(new Set());\n    /**\n     * Save children to render as React state. To ensure this component is concurrent-safe,\n     * we check for exiting children via an effect.\n     */\n    const [diffedChildren, setDiffedChildren] = useState(presentChildren);\n    const [renderedChildren, setRenderedChildren] = useState(presentChildren);\n    useIsomorphicLayoutEffect(() => {\n        isInitialRender.current = false;\n        pendingPresentChildren.current = presentChildren;\n        /**\n         * Update complete status of exiting children.\n         */\n        for (let i = 0; i < renderedChildren.length; i++) {\n            const key = getChildKey(renderedChildren[i]);\n            if (!presentKeys.includes(key)) {\n                if (exitComplete.get(key) !== true) {\n                    exitComplete.set(key, false);\n                }\n            }\n            else {\n                exitComplete.delete(key);\n                exitingComponents.current.delete(key);\n            }\n        }\n    }, [renderedChildren, presentKeys.length, presentKeys.join(\"-\")]);\n    const exitingChildren = [];\n    if (presentChildren !== diffedChildren) {\n        let nextChildren = [...presentChildren];\n        /**\n         * Loop through all the currently rendered components and decide which\n         * are exiting.\n         */\n        for (let i = 0; i < renderedChildren.length; i++) {\n            const child = renderedChildren[i];\n            const key = getChildKey(child);\n            if (!presentKeys.includes(key)) {\n                nextChildren.splice(i, 0, child);\n                exitingChildren.push(child);\n            }\n        }\n        /**\n         * If we're in \"wait\" mode, and we have exiting children, we want to\n         * only render these until they've all exited.\n         */\n        if (mode === \"wait\" && exitingChildren.length) {\n            nextChildren = exitingChildren;\n        }\n        setRenderedChildren(onlyElements(nextChildren));\n        setDiffedChildren(presentChildren);\n        /**\n         * Early return to ensure once we've set state with the latest diffed\n         * children, we can immediately re-render.\n         */\n        return null;\n    }\n    if (process.env.NODE_ENV !== \"production\" &&\n        mode === \"wait\" &&\n        renderedChildren.length > 1) {\n        console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to \"wait\". This will lead to odd visual behaviour.`);\n    }\n    /**\n     * If we've been provided a forceRender function by the LayoutGroupContext,\n     * we can use it to force a re-render amongst all surrounding components once\n     * all components have finished animating out.\n     */\n    const { forceRender } = useContext(LayoutGroupContext);\n    return (jsx(Fragment, { children: renderedChildren.map((child) => {\n            const key = getChildKey(child);\n            const isPresent = propagate && !isParentPresent\n                ? false\n                : presentChildren === renderedChildren ||\n                    presentKeys.includes(key);\n            const onExit = () => {\n                if (exitingComponents.current.has(key)) {\n                    return;\n                }\n                if (exitComplete.has(key)) {\n                    exitingComponents.current.add(key);\n                    exitComplete.set(key, true);\n                }\n                else {\n                    return;\n                }\n                let isEveryExitComplete = true;\n                exitComplete.forEach((isExitComplete) => {\n                    if (!isExitComplete)\n                        isEveryExitComplete = false;\n                });\n                if (isEveryExitComplete) {\n                    forceRender?.();\n                    setRenderedChildren(pendingPresentChildren.current);\n                    propagate && safeToRemove?.();\n                    onExitComplete && onExitComplete();\n                }\n            };\n            return (jsx(PresenceChild, { isPresent: isPresent, initial: !isInitialRender.current || initial\n                    ? undefined\n                    : false, custom: custom, presenceAffectsLayout: presenceAffectsLayout, mode: mode, root: root, onExitComplete: isPresent ? undefined : onExit, anchorX: anchorX, anchorY: anchorY, children: child }, key));\n        }) }));\n};\n\nexport { AnimatePresence };\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nimport { useContext, useId, useEffect, useCallback } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n *   const [isPresent, safeToRemove] = usePresence()\n *\n *   useEffect(() => {\n *     !isPresent && setTimeout(safeToRemove, 1000)\n *   }, [isPresent])\n *\n *   return <div />\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed from the tree,\n * but `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence(subscribe = true) {\n    const context = useContext(PresenceContext);\n    if (context === null)\n        return [true, null];\n    const { isPresent, onExitComplete, register } = context;\n    // It's safe to call the following hooks conditionally (after an early return) because the context will always\n    // either be null or non-null for the lifespan of the component.\n    const id = useId();\n    useEffect(() => {\n        if (subscribe) {\n            return register(id);\n        }\n    }, [subscribe]);\n    const safeToRemove = useCallback(() => subscribe && onExitComplete && onExitComplete(id), [id, onExitComplete, subscribe]);\n    return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n *   const isPresent = useIsPresent()\n *\n *   useEffect(() => {\n *     !isPresent && console.log(\"I've been removed!\")\n *   }, [isPresent])\n *\n *   return <div />\n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n    return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n    return context === null ? true : context.isPresent;\n}\n\nexport { isPresent, useIsPresent, usePresence };\n//# sourceMappingURL=use-presence.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n//# sourceMappingURL=LayoutGroupContext.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n//# sourceMappingURL=LazyContext.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst MotionConfigContext = createContext({\n    transformPagePoint: (p) => p,\n    isStatic: false,\n    reducedMotion: \"never\",\n});\n\nexport { MotionConfigContext };\n//# sourceMappingURL=MotionConfigContext.mjs.map\n","\"use client\";\nimport { useContext, useMemo } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n    const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));\n    return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n    return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n//# sourceMappingURL=create.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst MotionContext = /* @__PURE__ */ createContext({});\n\nexport { MotionContext };\n//# sourceMappingURL=index.mjs.map\n","import { isControllingVariants, isVariantLabel } from 'motion-dom';\n\nfunction getCurrentTreeVariants(props, context) {\n    if (isControllingVariants(props)) {\n        const { initial, animate } = props;\n        return {\n            initial: initial === false || isVariantLabel(initial)\n                ? initial\n                : undefined,\n            animate: isVariantLabel(animate) ? animate : undefined,\n        };\n    }\n    return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n//# sourceMappingURL=utils.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst PresenceContext = \n/* @__PURE__ */ createContext(null);\n\nexport { PresenceContext };\n//# sourceMappingURL=PresenceContext.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nconst SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n//# sourceMappingURL=SwitchLayoutGroupContext.mjs.map\n","import { addDomEvent } from 'motion-dom';\nimport { addPointerInfo } from './event-info.mjs';\n\nfunction addPointerEvent(target, eventName, handler, options) {\n    return addDomEvent(target, eventName, addPointerInfo(handler), options);\n}\n\nexport { addPointerEvent };\n//# sourceMappingURL=add-pointer-event.mjs.map\n","import { isPrimaryPointer } from 'motion-dom';\n\nfunction extractEventInfo(event) {\n    return {\n        point: {\n            x: event.pageX,\n            y: event.pageY,\n        },\n    };\n}\nconst addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));\n\nexport { addPointerInfo, extractEventInfo };\n//# sourceMappingURL=event-info.mjs.map\n","import { createBox, frame, eachAxis, measurePageBox, convertBoxToBoundingBox, convertBoundingBoxToBox, addValueToWillChange, animateMotionValue, mixNumber, addDomEvent, setDragLock, percent, calcLength, resize, isElementTextInput } from 'motion-dom';\nimport { invariant } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { PanSession } from '../pan/PanSession.mjs';\nimport { applyConstraints, calcRelativeConstraints, resolveDragElastic, rebaseAxisConstraints, calcViewportConstraints, calcOrigin, defaultElastic } from './utils/constraints.mjs';\n\nconst elementDragControls = new WeakMap();\nclass VisualElementDragControls {\n    constructor(visualElement) {\n        this.openDragLock = null;\n        this.isDragging = false;\n        this.currentDirection = null;\n        this.originPoint = { x: 0, y: 0 };\n        /**\n         * The permitted boundaries of travel, in pixels.\n         */\n        this.constraints = false;\n        this.hasMutatedConstraints = false;\n        /**\n         * The per-axis resolved elastic values.\n         */\n        this.elastic = createBox();\n        /**\n         * The latest pointer event. Used as fallback when the `cancel` and `stop` functions are called without arguments.\n         */\n        this.latestPointerEvent = null;\n        /**\n         * The latest pan info. Used as fallback when the `cancel` and `stop` functions are called without arguments.\n         */\n        this.latestPanInfo = null;\n        this.visualElement = visualElement;\n    }\n    start(originEvent, { snapToCursor = false, distanceThreshold } = {}) {\n        /**\n         * Don't start dragging if this component is exiting\n         */\n        const { presenceContext } = this.visualElement;\n        if (presenceContext && presenceContext.isPresent === false)\n            return;\n        const onSessionStart = (event) => {\n            if (snapToCursor) {\n                this.snapToCursor(extractEventInfo(event).point);\n            }\n            this.stopAnimation();\n        };\n        const onStart = (event, info) => {\n            // Attempt to grab the global drag gesture lock - maybe make this part of PanSession\n            const { drag, dragPropagation, onDragStart } = this.getProps();\n            if (drag && !dragPropagation) {\n                if (this.openDragLock)\n                    this.openDragLock();\n                this.openDragLock = setDragLock(drag);\n                // If we don 't have the lock, don't start dragging\n                if (!this.openDragLock)\n                    return;\n            }\n            this.latestPointerEvent = event;\n            this.latestPanInfo = info;\n            this.isDragging = true;\n            this.currentDirection = null;\n            this.resolveConstraints();\n            if (this.visualElement.projection) {\n                this.visualElement.projection.isAnimationBlocked = true;\n                this.visualElement.projection.target = undefined;\n            }\n            /**\n             * Record gesture origin and pointer offset\n             */\n            eachAxis((axis) => {\n                let current = this.getAxisMotionValue(axis).get() || 0;\n                /**\n                 * If the MotionValue is a percentage value convert to px\n                 */\n                if (percent.test(current)) {\n                    const { projection } = this.visualElement;\n                    if (projection && projection.layout) {\n                        const measuredAxis = projection.layout.layoutBox[axis];\n                        if (measuredAxis) {\n                            const length = calcLength(measuredAxis);\n                            current = length * (parseFloat(current) / 100);\n                        }\n                    }\n                }\n                this.originPoint[axis] = current;\n            });\n            // Fire onDragStart event\n            if (onDragStart) {\n                frame.update(() => onDragStart(event, info), false, true);\n            }\n            addValueToWillChange(this.visualElement, \"transform\");\n            const { animationState } = this.visualElement;\n            animationState && animationState.setActive(\"whileDrag\", true);\n        };\n        const onMove = (event, info) => {\n            this.latestPointerEvent = event;\n            this.latestPanInfo = info;\n            const { dragPropagation, dragDirectionLock, onDirectionLock, onDrag, } = this.getProps();\n            // If we didn't successfully receive the gesture lock, early return.\n            if (!dragPropagation && !this.openDragLock)\n                return;\n            const { offset } = info;\n            // Attempt to detect drag direction if directionLock is true\n            if (dragDirectionLock && this.currentDirection === null) {\n                this.currentDirection = getCurrentDirection(offset);\n                // If we've successfully set a direction, notify listener\n                if (this.currentDirection !== null) {\n                    onDirectionLock && onDirectionLock(this.currentDirection);\n                }\n                return;\n            }\n            // Update each point with the latest position\n            this.updateAxis(\"x\", info.point, offset);\n            this.updateAxis(\"y\", info.point, offset);\n            /**\n             * Ideally we would leave the renderer to fire naturally at the end of\n             * this frame but if the element is about to change layout as the result\n             * of a re-render we want to ensure the browser can read the latest\n             * bounding box to ensure the pointer and element don't fall out of sync.\n             */\n            this.visualElement.render();\n            /**\n             * This must fire after the render call as it might trigger a state\n             * change which itself might trigger a layout update.\n             */\n            if (onDrag) {\n                frame.update(() => onDrag(event, info), false, true);\n            }\n        };\n        const onSessionEnd = (event, info) => {\n            this.latestPointerEvent = event;\n            this.latestPanInfo = info;\n            this.stop(event, info);\n            this.latestPointerEvent = null;\n            this.latestPanInfo = null;\n        };\n        const resumeAnimation = () => {\n            const { dragSnapToOrigin: snap } = this.getProps();\n            if (snap || this.constraints) {\n                this.startAnimation({ x: 0, y: 0 });\n            }\n        };\n        const { dragSnapToOrigin } = this.getProps();\n        this.panSession = new PanSession(originEvent, {\n            onSessionStart,\n            onStart,\n            onMove,\n            onSessionEnd,\n            resumeAnimation,\n        }, {\n            transformPagePoint: this.visualElement.getTransformPagePoint(),\n            dragSnapToOrigin,\n            distanceThreshold,\n            contextWindow: getContextWindow(this.visualElement),\n            element: this.visualElement.current,\n        });\n    }\n    /**\n     * @internal\n     */\n    stop(event, panInfo) {\n        const finalEvent = event || this.latestPointerEvent;\n        const finalPanInfo = panInfo || this.latestPanInfo;\n        const isDragging = this.isDragging;\n        this.cancel();\n        if (!isDragging || !finalPanInfo || !finalEvent)\n            return;\n        const { velocity } = finalPanInfo;\n        this.startAnimation(velocity);\n        const { onDragEnd } = this.getProps();\n        if (onDragEnd) {\n            frame.postRender(() => onDragEnd(finalEvent, finalPanInfo));\n        }\n    }\n    /**\n     * @internal\n     */\n    cancel() {\n        this.isDragging = false;\n        const { projection, animationState } = this.visualElement;\n        if (projection) {\n            projection.isAnimationBlocked = false;\n        }\n        this.endPanSession();\n        const { dragPropagation } = this.getProps();\n        if (!dragPropagation && this.openDragLock) {\n            this.openDragLock();\n            this.openDragLock = null;\n        }\n        animationState && animationState.setActive(\"whileDrag\", false);\n    }\n    /**\n     * Clean up the pan session without modifying other drag state.\n     * This is used during unmount to ensure event listeners are removed\n     * without affecting projection animations or drag locks.\n     * @internal\n     */\n    endPanSession() {\n        this.panSession && this.panSession.end();\n        this.panSession = undefined;\n    }\n    updateAxis(axis, _point, offset) {\n        const { drag } = this.getProps();\n        // If we're not dragging this axis, do an early return.\n        if (!offset || !shouldDrag(axis, drag, this.currentDirection))\n            return;\n        const axisValue = this.getAxisMotionValue(axis);\n        let next = this.originPoint[axis] + offset[axis];\n        // Apply constraints\n        if (this.constraints && this.constraints[axis]) {\n            next = applyConstraints(next, this.constraints[axis], this.elastic[axis]);\n        }\n        axisValue.set(next);\n    }\n    resolveConstraints() {\n        const { dragConstraints, dragElastic } = this.getProps();\n        const layout = this.visualElement.projection &&\n            !this.visualElement.projection.layout\n            ? this.visualElement.projection.measure(false)\n            : this.visualElement.projection?.layout;\n        const prevConstraints = this.constraints;\n        if (dragConstraints && isRefObject(dragConstraints)) {\n            if (!this.constraints) {\n                this.constraints = this.resolveRefConstraints();\n            }\n        }\n        else {\n            if (dragConstraints && layout) {\n                this.constraints = calcRelativeConstraints(layout.layoutBox, dragConstraints);\n            }\n            else {\n                this.constraints = false;\n            }\n        }\n        this.elastic = resolveDragElastic(dragElastic);\n        /**\n         * If we're outputting to external MotionValues, we want to rebase the measured constraints\n         * from viewport-relative to component-relative. This only applies to relative (non-ref)\n         * constraints, as ref-based constraints from calcViewportConstraints are already in the\n         * correct coordinate space for the motion value transform offset.\n         */\n        if (prevConstraints !== this.constraints &&\n            !isRefObject(dragConstraints) &&\n            layout &&\n            this.constraints &&\n            !this.hasMutatedConstraints) {\n            eachAxis((axis) => {\n                if (this.constraints !== false &&\n                    this.getAxisMotionValue(axis)) {\n                    this.constraints[axis] = rebaseAxisConstraints(layout.layoutBox[axis], this.constraints[axis]);\n                }\n            });\n        }\n    }\n    resolveRefConstraints() {\n        const { dragConstraints: constraints, onMeasureDragConstraints } = this.getProps();\n        if (!constraints || !isRefObject(constraints))\n            return false;\n        const constraintsElement = constraints.current;\n        invariant(constraintsElement !== null, \"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\", \"drag-constraints-ref\");\n        const { projection } = this.visualElement;\n        // TODO\n        if (!projection || !projection.layout)\n            return false;\n        const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());\n        let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);\n        /**\n         * If there's an onMeasureDragConstraints listener we call it and\n         * if different constraints are returned, set constraints to that\n         */\n        if (onMeasureDragConstraints) {\n            const userConstraints = onMeasureDragConstraints(convertBoxToBoundingBox(measuredConstraints));\n            this.hasMutatedConstraints = !!userConstraints;\n            if (userConstraints) {\n                measuredConstraints = convertBoundingBoxToBox(userConstraints);\n            }\n        }\n        return measuredConstraints;\n    }\n    startAnimation(velocity) {\n        const { drag, dragMomentum, dragElastic, dragTransition, dragSnapToOrigin, onDragTransitionEnd, } = this.getProps();\n        const constraints = this.constraints || {};\n        const momentumAnimations = eachAxis((axis) => {\n            if (!shouldDrag(axis, drag, this.currentDirection)) {\n                return;\n            }\n            let transition = (constraints && constraints[axis]) || {};\n            if (dragSnapToOrigin === true ||\n                dragSnapToOrigin === axis)\n                transition = { min: 0, max: 0 };\n            /**\n             * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame\n             * of spring animations so we should look into adding a disable spring option to `inertia`.\n             * We could do something here where we affect the `bounceStiffness` and `bounceDamping`\n             * using the value of `dragElastic`.\n             */\n            const bounceStiffness = dragElastic ? 200 : 1000000;\n            const bounceDamping = dragElastic ? 40 : 10000000;\n            const inertia = {\n                type: \"inertia\",\n                velocity: dragMomentum ? velocity[axis] : 0,\n                bounceStiffness,\n                bounceDamping,\n                timeConstant: 750,\n                restDelta: 1,\n                restSpeed: 10,\n                ...dragTransition,\n                ...transition,\n            };\n            // If we're not animating on an externally-provided `MotionValue` we can use the\n            // component's animation controls which will handle interactions with whileHover (etc),\n            // otherwise we just have to animate the `MotionValue` itself.\n            return this.startAxisValueAnimation(axis, inertia);\n        });\n        // Run all animations and then resolve the new drag constraints.\n        return Promise.all(momentumAnimations).then(onDragTransitionEnd);\n    }\n    startAxisValueAnimation(axis, transition) {\n        const axisValue = this.getAxisMotionValue(axis);\n        addValueToWillChange(this.visualElement, axis);\n        return axisValue.start(animateMotionValue(axis, axisValue, 0, transition, this.visualElement, false));\n    }\n    stopAnimation() {\n        eachAxis((axis) => this.getAxisMotionValue(axis).stop());\n    }\n    /**\n     * Drag works differently depending on which props are provided.\n     *\n     * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.\n     * - Otherwise, we apply the delta to the x/y motion values.\n     */\n    getAxisMotionValue(axis) {\n        const dragKey = `_drag${axis.toUpperCase()}`;\n        const props = this.visualElement.getProps();\n        const externalMotionValue = props[dragKey];\n        return externalMotionValue\n            ? externalMotionValue\n            : this.visualElement.getValue(axis, (props.initial\n                ? props.initial[axis]\n                : undefined) || 0);\n    }\n    snapToCursor(point) {\n        eachAxis((axis) => {\n            const { drag } = this.getProps();\n            // If we're not dragging this axis, do an early return.\n            if (!shouldDrag(axis, drag, this.currentDirection))\n                return;\n            const { projection } = this.visualElement;\n            const axisValue = this.getAxisMotionValue(axis);\n            if (projection && projection.layout) {\n                const { min, max } = projection.layout.layoutBox[axis];\n                /**\n                 * The layout measurement includes the current transform value,\n                 * so we need to add it back to get the correct snap position.\n                 * This fixes an issue where elements with initial coordinates\n                 * would snap to the wrong position on the first drag.\n                 */\n                const current = axisValue.get() || 0;\n                axisValue.set(point[axis] - mixNumber(min, max, 0.5) + current);\n            }\n        });\n    }\n    /**\n     * When the viewport resizes we want to check if the measured constraints\n     * have changed and, if so, reposition the element within those new constraints\n     * relative to where it was before the resize.\n     */\n    scalePositionWithinConstraints() {\n        if (!this.visualElement.current)\n            return;\n        const { drag, dragConstraints } = this.getProps();\n        const { projection } = this.visualElement;\n        if (!isRefObject(dragConstraints) || !projection || !this.constraints)\n            return;\n        /**\n         * Stop current animations as there can be visual glitching if we try to do\n         * this mid-animation\n         */\n        this.stopAnimation();\n        /**\n         * Record the relative position of the dragged element relative to the\n         * constraints box and save as a progress value.\n         */\n        const boxProgress = { x: 0, y: 0 };\n        eachAxis((axis) => {\n            const axisValue = this.getAxisMotionValue(axis);\n            if (axisValue && this.constraints !== false) {\n                const latest = axisValue.get();\n                boxProgress[axis] = calcOrigin({ min: latest, max: latest }, this.constraints[axis]);\n            }\n        });\n        /**\n         * Update the layout of this element and resolve the latest drag constraints\n         */\n        const { transformTemplate } = this.visualElement.getProps();\n        this.visualElement.current.style.transform = transformTemplate\n            ? transformTemplate({}, \"\")\n            : \"none\";\n        projection.root && projection.root.updateScroll();\n        projection.updateLayout();\n        /**\n         * Reset constraints so resolveConstraints() will recalculate them\n         * with the freshly measured layout rather than returning the cached value.\n         */\n        this.constraints = false;\n        this.resolveConstraints();\n        /**\n         * For each axis, calculate the current progress of the layout axis\n         * within the new constraints.\n         */\n        eachAxis((axis) => {\n            if (!shouldDrag(axis, drag, null))\n                return;\n            /**\n             * Calculate a new transform based on the previous box progress\n             */\n            const axisValue = this.getAxisMotionValue(axis);\n            const { min, max } = this.constraints[axis];\n            axisValue.set(mixNumber(min, max, boxProgress[axis]));\n        });\n        /**\n         * Flush the updated transform to the DOM synchronously to prevent\n         * a visual flash at the element's CSS layout position (0,0) when\n         * the transform was stripped for measurement.\n         */\n        this.visualElement.render();\n    }\n    addListeners() {\n        if (!this.visualElement.current)\n            return;\n        elementDragControls.set(this.visualElement, this);\n        const element = this.visualElement.current;\n        /**\n         * Attach a pointerdown event listener on this DOM element to initiate drag tracking.\n         */\n        const stopPointerListener = addPointerEvent(element, \"pointerdown\", (event) => {\n            const { drag, dragListener = true } = this.getProps();\n            const target = event.target;\n            /**\n             * Only block drag if clicking on a text input child element\n             * (input, textarea, select, contenteditable) where users might\n             * want to select text or interact with the control.\n             *\n             * Buttons and links don't block drag since they don't have\n             * click-and-move actions of their own.\n             */\n            const isClickingTextInputChild = target !== element && isElementTextInput(target);\n            if (drag && dragListener && !isClickingTextInputChild) {\n                this.start(event);\n            }\n        });\n        /**\n         * If using ref-based constraints, observe both the draggable element\n         * and the constraint container for size changes via ResizeObserver.\n         * Setup is deferred because dragConstraints.current is null when\n         * addListeners first runs (React hasn't committed the ref yet).\n         */\n        let stopResizeObservers;\n        const measureDragConstraints = () => {\n            const { dragConstraints } = this.getProps();\n            if (isRefObject(dragConstraints) && dragConstraints.current) {\n                this.constraints = this.resolveRefConstraints();\n                if (!stopResizeObservers) {\n                    stopResizeObservers = startResizeObservers(element, dragConstraints.current, () => this.scalePositionWithinConstraints());\n                }\n            }\n        };\n        const { projection } = this.visualElement;\n        const stopMeasureLayoutListener = projection.addEventListener(\"measure\", measureDragConstraints);\n        if (projection && !projection.layout) {\n            projection.root && projection.root.updateScroll();\n            projection.updateLayout();\n        }\n        frame.read(measureDragConstraints);\n        /**\n         * Attach a window resize listener to scale the draggable target within its defined\n         * constraints as the window resizes.\n         */\n        const stopResizeListener = addDomEvent(window, \"resize\", () => this.scalePositionWithinConstraints());\n        /**\n         * If the element's layout changes, calculate the delta and apply that to\n         * the drag gesture's origin point.\n         */\n        const stopLayoutUpdateListener = projection.addEventListener(\"didUpdate\", (({ delta, hasLayoutChanged }) => {\n            if (this.isDragging && hasLayoutChanged) {\n                eachAxis((axis) => {\n                    const motionValue = this.getAxisMotionValue(axis);\n                    if (!motionValue)\n                        return;\n                    this.originPoint[axis] += delta[axis].translate;\n                    motionValue.set(motionValue.get() + delta[axis].translate);\n                });\n                this.visualElement.render();\n            }\n        }));\n        return () => {\n            stopResizeListener();\n            stopPointerListener();\n            stopMeasureLayoutListener();\n            stopLayoutUpdateListener && stopLayoutUpdateListener();\n            stopResizeObservers && stopResizeObservers();\n        };\n    }\n    getProps() {\n        const props = this.visualElement.getProps();\n        const { drag = false, dragDirectionLock = false, dragPropagation = false, dragConstraints = false, dragElastic = defaultElastic, dragMomentum = true, } = props;\n        return {\n            ...props,\n            drag,\n            dragDirectionLock,\n            dragPropagation,\n            dragConstraints,\n            dragElastic,\n            dragMomentum,\n        };\n    }\n}\nfunction skipFirstCall(callback) {\n    let isFirst = true;\n    return () => {\n        if (isFirst) {\n            isFirst = false;\n            return;\n        }\n        callback();\n    };\n}\nfunction startResizeObservers(element, constraintsElement, onResize) {\n    const stopElement = resize(element, skipFirstCall(onResize));\n    const stopContainer = resize(constraintsElement, skipFirstCall(onResize));\n    return () => {\n        stopElement();\n        stopContainer();\n    };\n}\nfunction shouldDrag(direction, drag, currentDirection) {\n    return ((drag === true || drag === direction) &&\n        (currentDirection === null || currentDirection === direction));\n}\n/**\n * Based on an x/y offset determine the current drag direction. If both axis' offsets are lower\n * than the provided threshold, return `null`.\n *\n * @param offset - The x/y offset from origin.\n * @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction.\n */\nfunction getCurrentDirection(offset, lockThreshold = 10) {\n    let direction = null;\n    if (Math.abs(offset.y) > lockThreshold) {\n        direction = \"y\";\n    }\n    else if (Math.abs(offset.x) > lockThreshold) {\n        direction = \"x\";\n    }\n    return direction;\n}\n\nexport { VisualElementDragControls, elementDragControls };\n//# sourceMappingURL=VisualElementDragControls.mjs.map\n","import { Feature } from 'motion-dom';\nimport { noop } from 'motion-utils';\nimport { VisualElementDragControls } from './VisualElementDragControls.mjs';\n\nclass DragGesture extends Feature {\n    constructor(node) {\n        super(node);\n        this.removeGroupControls = noop;\n        this.removeListeners = noop;\n        this.controls = new VisualElementDragControls(node);\n    }\n    mount() {\n        // If we've been provided a DragControls for manual control over the drag gesture,\n        // subscribe this component to it on mount.\n        const { dragControls } = this.node.getProps();\n        if (dragControls) {\n            this.removeGroupControls = dragControls.subscribe(this.controls);\n        }\n        this.removeListeners = this.controls.addListeners() || noop;\n    }\n    update() {\n        const { dragControls } = this.node.getProps();\n        const { dragControls: prevDragControls } = this.node.prevProps || {};\n        if (dragControls !== prevDragControls) {\n            this.removeGroupControls();\n            if (dragControls) {\n                this.removeGroupControls = dragControls.subscribe(this.controls);\n            }\n        }\n    }\n    unmount() {\n        this.removeGroupControls();\n        this.removeListeners();\n        /**\n         * In React 19, during list reorder reconciliation, components may\n         * briefly unmount and remount while the drag is still active. If we're\n         * actively dragging, we should NOT end the pan session - it will\n         * continue tracking pointer events via its window-level listeners.\n         *\n         * The pan session will be properly cleaned up when:\n         * 1. The drag ends naturally (pointerup/pointercancel)\n         * 2. The component is truly removed from the DOM\n         */\n        if (!this.controls.isDragging) {\n            this.controls.endPanSession();\n        }\n    }\n}\n\nexport { DragGesture };\n//# sourceMappingURL=index.mjs.map\n","import { mixNumber, calcLength } from 'motion-dom';\nimport { progress, clamp } from 'motion-utils';\n\n/**\n * Apply constraints to a point. These constraints are both physical along an\n * axis, and an elastic factor that determines how much to constrain the point\n * by if it does lie outside the defined parameters.\n */\nfunction applyConstraints(point, { min, max }, elastic) {\n    if (min !== undefined && point < min) {\n        // If we have a min point defined, and this is outside of that, constrain\n        point = elastic\n            ? mixNumber(min, point, elastic.min)\n            : Math.max(point, min);\n    }\n    else if (max !== undefined && point > max) {\n        // If we have a max point defined, and this is outside of that, constrain\n        point = elastic\n            ? mixNumber(max, point, elastic.max)\n            : Math.min(point, max);\n    }\n    return point;\n}\n/**\n * Calculate constraints in terms of the viewport when defined relatively to the\n * measured axis. This is measured from the nearest edge, so a max constraint of 200\n * on an axis with a max value of 300 would return a constraint of 500 - axis length\n */\nfunction calcRelativeAxisConstraints(axis, min, max) {\n    return {\n        min: min !== undefined ? axis.min + min : undefined,\n        max: max !== undefined\n            ? axis.max + max - (axis.max - axis.min)\n            : undefined,\n    };\n}\n/**\n * Calculate constraints in terms of the viewport when\n * defined relatively to the measured bounding box.\n */\nfunction calcRelativeConstraints(layoutBox, { top, left, bottom, right }) {\n    return {\n        x: calcRelativeAxisConstraints(layoutBox.x, left, right),\n        y: calcRelativeAxisConstraints(layoutBox.y, top, bottom),\n    };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative axis\n */\nfunction calcViewportAxisConstraints(layoutAxis, constraintsAxis) {\n    let min = constraintsAxis.min - layoutAxis.min;\n    let max = constraintsAxis.max - layoutAxis.max;\n    // If the constraints axis is actually smaller than the layout axis then we can\n    // flip the constraints\n    if (constraintsAxis.max - constraintsAxis.min <\n        layoutAxis.max - layoutAxis.min) {\n        [min, max] = [max, min];\n    }\n    return { min, max };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative box\n */\nfunction calcViewportConstraints(layoutBox, constraintsBox) {\n    return {\n        x: calcViewportAxisConstraints(layoutBox.x, constraintsBox.x),\n        y: calcViewportAxisConstraints(layoutBox.y, constraintsBox.y),\n    };\n}\n/**\n * Calculate a transform origin relative to the source axis, between 0-1, that results\n * in an asthetically pleasing scale/transform needed to project from source to target.\n */\nfunction calcOrigin(source, target) {\n    let origin = 0.5;\n    const sourceLength = calcLength(source);\n    const targetLength = calcLength(target);\n    if (targetLength > sourceLength) {\n        origin = progress(target.min, target.max - sourceLength, source.min);\n    }\n    else if (sourceLength > targetLength) {\n        origin = progress(source.min, source.max - targetLength, target.min);\n    }\n    return clamp(0, 1, origin);\n}\n/**\n * Rebase the calculated viewport constraints relative to the layout.min point.\n */\nfunction rebaseAxisConstraints(layout, constraints) {\n    const relativeConstraints = {};\n    if (constraints.min !== undefined) {\n        relativeConstraints.min = constraints.min - layout.min;\n    }\n    if (constraints.max !== undefined) {\n        relativeConstraints.max = constraints.max - layout.min;\n    }\n    return relativeConstraints;\n}\nconst defaultElastic = 0.35;\n/**\n * Accepts a dragElastic prop and returns resolved elastic values for each axis.\n */\nfunction resolveDragElastic(dragElastic = defaultElastic) {\n    if (dragElastic === false) {\n        dragElastic = 0;\n    }\n    else if (dragElastic === true) {\n        dragElastic = defaultElastic;\n    }\n    return {\n        x: resolveAxisElastic(dragElastic, \"left\", \"right\"),\n        y: resolveAxisElastic(dragElastic, \"top\", \"bottom\"),\n    };\n}\nfunction resolveAxisElastic(dragElastic, minLabel, maxLabel) {\n    return {\n        min: resolvePointElastic(dragElastic, minLabel),\n        max: resolvePointElastic(dragElastic, maxLabel),\n    };\n}\nfunction resolvePointElastic(dragElastic, label) {\n    return typeof dragElastic === \"number\"\n        ? dragElastic\n        : dragElastic[label] || 0;\n}\n\nexport { applyConstraints, calcOrigin, calcRelativeAxisConstraints, calcRelativeConstraints, calcViewportAxisConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveAxisElastic, resolveDragElastic, resolvePointElastic };\n//# sourceMappingURL=constraints.mjs.map\n","import { Feature, addDomEvent } from 'motion-dom';\nimport { pipe } from 'motion-utils';\n\nclass FocusGesture extends Feature {\n    constructor() {\n        super(...arguments);\n        this.isActive = false;\n    }\n    onFocus() {\n        let isFocusVisible = false;\n        /**\n         * If this element doesn't match focus-visible then don't\n         * apply whileHover. But, if matches throws that focus-visible\n         * is not a valid selector then in that browser outline styles will be applied\n         * to the element by default and we want to match that behaviour with whileFocus.\n         */\n        try {\n            isFocusVisible = this.node.current.matches(\":focus-visible\");\n        }\n        catch (e) {\n            isFocusVisible = true;\n        }\n        if (!isFocusVisible || !this.node.animationState)\n            return;\n        this.node.animationState.setActive(\"whileFocus\", true);\n        this.isActive = true;\n    }\n    onBlur() {\n        if (!this.isActive || !this.node.animationState)\n            return;\n        this.node.animationState.setActive(\"whileFocus\", false);\n        this.isActive = false;\n    }\n    mount() {\n        this.unmount = pipe(addDomEvent(this.node.current, \"focus\", () => this.onFocus()), addDomEvent(this.node.current, \"blur\", () => this.onBlur()));\n    }\n    unmount() { }\n}\n\nexport { FocusGesture };\n//# sourceMappingURL=focus.mjs.map\n","import { Feature, hover, frame } from 'motion-dom';\nimport { extractEventInfo } from '../events/event-info.mjs';\n\nfunction handleHoverEvent(node, event, lifecycle) {\n    const { props } = node;\n    if (node.animationState && props.whileHover) {\n        node.animationState.setActive(\"whileHover\", lifecycle === \"Start\");\n    }\n    const eventName = (\"onHover\" + lifecycle);\n    const callback = props[eventName];\n    if (callback) {\n        frame.postRender(() => callback(event, extractEventInfo(event)));\n    }\n}\nclass HoverGesture extends Feature {\n    mount() {\n        const { current } = this.node;\n        if (!current)\n            return;\n        this.unmount = hover(current, (_element, startEvent) => {\n            handleHoverEvent(this.node, startEvent, \"Start\");\n            return (endEvent) => handleHoverEvent(this.node, endEvent, \"End\");\n        });\n    }\n    unmount() { }\n}\n\nexport { HoverGesture };\n//# sourceMappingURL=hover.mjs.map\n","import { frameData, frame, isPrimaryPointer, cancelFrame } from 'motion-dom';\nimport { pipe, secondsToMilliseconds, millisecondsToSeconds } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { distance2D } from '../../utils/distance.mjs';\n\nconst overflowStyles = /*#__PURE__*/ new Set([\"auto\", \"scroll\"]);\n/**\n * @internal\n */\nclass PanSession {\n    constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element, } = {}) {\n        /**\n         * @internal\n         */\n        this.startEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEventInfo = null;\n        /**\n         * Raw (untransformed) event info, re-transformed each frame\n         * so transformPagePoint sees the current parent matrix.\n         * @internal\n         */\n        this.lastRawMoveEventInfo = null;\n        /**\n         * @internal\n         */\n        this.handlers = {};\n        /**\n         * @internal\n         */\n        this.contextWindow = window;\n        /**\n         * Scroll positions of scrollable ancestors and window.\n         * @internal\n         */\n        this.scrollPositions = new Map();\n        /**\n         * Cleanup function for scroll listeners.\n         * @internal\n         */\n        this.removeScrollListeners = null;\n        this.onElementScroll = (event) => {\n            this.handleScroll(event.target);\n        };\n        this.onWindowScroll = () => {\n            this.handleScroll(window);\n        };\n        this.updatePoint = () => {\n            if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n                return;\n            // Re-transform raw point through current transformPagePoint so\n            // animated parent transforms (e.g. rotation) are picked up each frame\n            if (this.lastRawMoveEventInfo) {\n                this.lastMoveEventInfo = transformPoint(this.lastRawMoveEventInfo, this.transformPagePoint);\n            }\n            const info = getPanInfo(this.lastMoveEventInfo, this.history);\n            const isPanStarted = this.startEvent !== null;\n            // Only start panning if the offset is larger than 3 pixels. If we make it\n            // any larger than this we'll want to reset the pointer history\n            // on the first update to avoid visual snapping to the cursor.\n            const isDistancePastThreshold = distance2D(info.offset, { x: 0, y: 0 }) >= this.distanceThreshold;\n            if (!isPanStarted && !isDistancePastThreshold)\n                return;\n            const { point } = info;\n            const { timestamp } = frameData;\n            this.history.push({ ...point, timestamp });\n            const { onStart, onMove } = this.handlers;\n            if (!isPanStarted) {\n                onStart && onStart(this.lastMoveEvent, info);\n                this.startEvent = this.lastMoveEvent;\n            }\n            onMove && onMove(this.lastMoveEvent, info);\n        };\n        this.handlePointerMove = (event, info) => {\n            this.lastMoveEvent = event;\n            this.lastRawMoveEventInfo = info;\n            this.lastMoveEventInfo = transformPoint(info, this.transformPagePoint);\n            // Throttle mouse move event to once per frame\n            frame.update(this.updatePoint, true);\n        };\n        this.handlePointerUp = (event, info) => {\n            this.end();\n            const { onEnd, onSessionEnd, resumeAnimation } = this.handlers;\n            // Resume animation if dragSnapToOrigin is set OR if no drag started (user just clicked)\n            // This ensures constraint animations continue when interrupted by a click\n            if (this.dragSnapToOrigin || !this.startEvent) {\n                resumeAnimation && resumeAnimation();\n            }\n            if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n                return;\n            const panInfo = getPanInfo(event.type === \"pointercancel\"\n                ? this.lastMoveEventInfo\n                : transformPoint(info, this.transformPagePoint), this.history);\n            if (this.startEvent && onEnd) {\n                onEnd(event, panInfo);\n            }\n            onSessionEnd && onSessionEnd(event, panInfo);\n        };\n        // If we have more than one touch, don't start detecting this gesture\n        if (!isPrimaryPointer(event))\n            return;\n        this.dragSnapToOrigin = dragSnapToOrigin;\n        this.handlers = handlers;\n        this.transformPagePoint = transformPagePoint;\n        this.distanceThreshold = distanceThreshold;\n        this.contextWindow = contextWindow || window;\n        const info = extractEventInfo(event);\n        const initialInfo = transformPoint(info, this.transformPagePoint);\n        const { point } = initialInfo;\n        const { timestamp } = frameData;\n        this.history = [{ ...point, timestamp }];\n        const { onSessionStart } = handlers;\n        onSessionStart &&\n            onSessionStart(event, getPanInfo(initialInfo, this.history));\n        this.removeListeners = pipe(addPointerEvent(this.contextWindow, \"pointermove\", this.handlePointerMove), addPointerEvent(this.contextWindow, \"pointerup\", this.handlePointerUp), addPointerEvent(this.contextWindow, \"pointercancel\", this.handlePointerUp));\n        // Start scroll tracking if element provided\n        if (element) {\n            this.startScrollTracking(element);\n        }\n    }\n    /**\n     * Start tracking scroll on ancestors and window.\n     */\n    startScrollTracking(element) {\n        // Store initial scroll positions for scrollable ancestors\n        let current = element.parentElement;\n        while (current) {\n            const style = getComputedStyle(current);\n            if (overflowStyles.has(style.overflowX) ||\n                overflowStyles.has(style.overflowY)) {\n                this.scrollPositions.set(current, {\n                    x: current.scrollLeft,\n                    y: current.scrollTop,\n                });\n            }\n            current = current.parentElement;\n        }\n        // Track window scroll\n        this.scrollPositions.set(window, {\n            x: window.scrollX,\n            y: window.scrollY,\n        });\n        // Capture listener catches element scroll events as they bubble\n        window.addEventListener(\"scroll\", this.onElementScroll, {\n            capture: true,\n        });\n        // Direct window scroll listener (window scroll doesn't bubble)\n        window.addEventListener(\"scroll\", this.onWindowScroll);\n        this.removeScrollListeners = () => {\n            window.removeEventListener(\"scroll\", this.onElementScroll, {\n                capture: true,\n            });\n            window.removeEventListener(\"scroll\", this.onWindowScroll);\n        };\n    }\n    /**\n     * Handle scroll compensation during drag.\n     *\n     * For element scroll: adjusts history origin since pageX/pageY doesn't change.\n     * For window scroll: adjusts lastMoveEventInfo since pageX/pageY would change.\n     */\n    handleScroll(target) {\n        const initial = this.scrollPositions.get(target);\n        if (!initial)\n            return;\n        const isWindow = target === window;\n        const current = isWindow\n            ? { x: window.scrollX, y: window.scrollY }\n            : {\n                x: target.scrollLeft,\n                y: target.scrollTop,\n            };\n        const delta = { x: current.x - initial.x, y: current.y - initial.y };\n        if (delta.x === 0 && delta.y === 0)\n            return;\n        if (isWindow) {\n            // Window scroll: pageX/pageY changes, so update lastMoveEventInfo\n            if (this.lastMoveEventInfo) {\n                this.lastMoveEventInfo.point.x += delta.x;\n                this.lastMoveEventInfo.point.y += delta.y;\n            }\n        }\n        else {\n            // Element scroll: pageX/pageY unchanged, so adjust history origin\n            if (this.history.length > 0) {\n                this.history[0].x -= delta.x;\n                this.history[0].y -= delta.y;\n            }\n        }\n        this.scrollPositions.set(target, current);\n        frame.update(this.updatePoint, true);\n    }\n    updateHandlers(handlers) {\n        this.handlers = handlers;\n    }\n    end() {\n        this.removeListeners && this.removeListeners();\n        this.removeScrollListeners && this.removeScrollListeners();\n        this.scrollPositions.clear();\n        cancelFrame(this.updatePoint);\n    }\n}\nfunction transformPoint(info, transformPagePoint) {\n    return transformPagePoint ? { point: transformPagePoint(info.point) } : info;\n}\nfunction subtractPoint(a, b) {\n    return { x: a.x - b.x, y: a.y - b.y };\n}\nfunction getPanInfo({ point }, history) {\n    return {\n        point,\n        delta: subtractPoint(point, lastDevicePoint(history)),\n        offset: subtractPoint(point, startDevicePoint(history)),\n        velocity: getVelocity(history, 0.1),\n    };\n}\nfunction startDevicePoint(history) {\n    return history[0];\n}\nfunction lastDevicePoint(history) {\n    return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n    if (history.length < 2) {\n        return { x: 0, y: 0 };\n    }\n    let i = history.length - 1;\n    let timestampedPoint = null;\n    const lastPoint = lastDevicePoint(history);\n    while (i >= 0) {\n        timestampedPoint = history[i];\n        if (lastPoint.timestamp - timestampedPoint.timestamp >\n            secondsToMilliseconds(timeDelta)) {\n            break;\n        }\n        i--;\n    }\n    if (!timestampedPoint) {\n        return { x: 0, y: 0 };\n    }\n    /**\n     * If the selected point is the pointer-down origin (history[0]),\n     * there are better movement points available, and the time gap\n     * is suspiciously large (>2x timeDelta), use the next point instead.\n     * This prevents stale pointer-down points from diluting velocity\n     * in hold-then-flick gestures.\n     */\n    if (timestampedPoint === history[0] &&\n        history.length > 2 &&\n        lastPoint.timestamp - timestampedPoint.timestamp >\n            secondsToMilliseconds(timeDelta) * 2) {\n        timestampedPoint = history[1];\n    }\n    const time = millisecondsToSeconds(lastPoint.timestamp - timestampedPoint.timestamp);\n    if (time === 0) {\n        return { x: 0, y: 0 };\n    }\n    const currentVelocity = {\n        x: (lastPoint.x - timestampedPoint.x) / time,\n        y: (lastPoint.y - timestampedPoint.y) / time,\n    };\n    if (currentVelocity.x === Infinity) {\n        currentVelocity.x = 0;\n    }\n    if (currentVelocity.y === Infinity) {\n        currentVelocity.y = 0;\n    }\n    return currentVelocity;\n}\n\nexport { PanSession };\n//# sourceMappingURL=PanSession.mjs.map\n","import { Feature, frame } from 'motion-dom';\nimport { noop } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { PanSession } from './PanSession.mjs';\n\nconst asyncHandler = (handler) => (event, info) => {\n    if (handler) {\n        frame.update(() => handler(event, info), false, true);\n    }\n};\nclass PanGesture extends Feature {\n    constructor() {\n        super(...arguments);\n        this.removePointerDownListener = noop;\n    }\n    onPointerDown(pointerDownEvent) {\n        this.session = new PanSession(pointerDownEvent, this.createPanHandlers(), {\n            transformPagePoint: this.node.getTransformPagePoint(),\n            contextWindow: getContextWindow(this.node),\n        });\n    }\n    createPanHandlers() {\n        const { onPanSessionStart, onPanStart, onPan, onPanEnd } = this.node.getProps();\n        return {\n            onSessionStart: asyncHandler(onPanSessionStart),\n            onStart: asyncHandler(onPanStart),\n            onMove: asyncHandler(onPan),\n            onEnd: (event, info) => {\n                delete this.session;\n                if (onPanEnd) {\n                    frame.postRender(() => onPanEnd(event, info));\n                }\n            },\n        };\n    }\n    mount() {\n        this.removePointerDownListener = addPointerEvent(this.node.current, \"pointerdown\", (event) => this.onPointerDown(event));\n    }\n    update() {\n        this.session && this.session.updateHandlers(this.createPanHandlers());\n    }\n    unmount() {\n        this.removePointerDownListener();\n        this.session && this.session.end();\n    }\n}\n\nexport { PanGesture };\n//# sourceMappingURL=index.mjs.map\n","import { Feature, press, frame } from 'motion-dom';\nimport { extractEventInfo } from '../events/event-info.mjs';\n\nfunction handlePressEvent(node, event, lifecycle) {\n    const { props } = node;\n    if (node.current instanceof HTMLButtonElement && node.current.disabled) {\n        return;\n    }\n    if (node.animationState && props.whileTap) {\n        node.animationState.setActive(\"whileTap\", lifecycle === \"Start\");\n    }\n    const eventName = (\"onTap\" + (lifecycle === \"End\" ? \"\" : lifecycle));\n    const callback = props[eventName];\n    if (callback) {\n        frame.postRender(() => callback(event, extractEventInfo(event)));\n    }\n}\nclass PressGesture extends Feature {\n    mount() {\n        const { current } = this.node;\n        if (!current)\n            return;\n        const { globalTapTarget, propagate } = this.node.props;\n        this.unmount = press(current, (_element, startEvent) => {\n            handlePressEvent(this.node, startEvent, \"Start\");\n            return (endEvent, { success }) => handlePressEvent(this.node, endEvent, success ? \"End\" : \"Cancel\");\n        }, {\n            useGlobalTarget: globalTapTarget,\n            stopPropagation: propagate?.tap === false,\n        });\n    }\n    unmount() { }\n}\n\nexport { PressGesture };\n//# sourceMappingURL=press.mjs.map\n","import { Feature, resolveVariant } from 'motion-dom';\n\nlet id = 0;\nclass ExitAnimationFeature extends Feature {\n    constructor() {\n        super(...arguments);\n        this.id = id++;\n        this.isExitComplete = false;\n    }\n    update() {\n        if (!this.node.presenceContext)\n            return;\n        const { isPresent, onExitComplete } = this.node.presenceContext;\n        const { isPresent: prevIsPresent } = this.node.prevPresenceContext || {};\n        if (!this.node.animationState || isPresent === prevIsPresent) {\n            return;\n        }\n        if (isPresent && prevIsPresent === false) {\n            /**\n             * When re-entering, if the exit animation already completed\n             * (element is at rest), reset to initial values so the enter\n             * animation replays from the correct position.\n             */\n            if (this.isExitComplete) {\n                const { initial, custom } = this.node.getProps();\n                if (typeof initial === \"string\") {\n                    const resolved = resolveVariant(this.node, initial, custom);\n                    if (resolved) {\n                        const { transition, transitionEnd, ...target } = resolved;\n                        for (const key in target) {\n                            this.node\n                                .getValue(key)\n                                ?.jump(target[key]);\n                        }\n                    }\n                }\n                this.node.animationState.reset();\n                this.node.animationState.animateChanges();\n            }\n            else {\n                this.node.animationState.setActive(\"exit\", false);\n            }\n            this.isExitComplete = false;\n            return;\n        }\n        const exitAnimation = this.node.animationState.setActive(\"exit\", !isPresent);\n        if (onExitComplete && !isPresent) {\n            exitAnimation.then(() => {\n                this.isExitComplete = true;\n                onExitComplete(this.id);\n            });\n        }\n    }\n    mount() {\n        const { register, onExitComplete } = this.node.presenceContext || {};\n        if (onExitComplete) {\n            onExitComplete(this.id);\n        }\n        if (register) {\n            this.unmount = register(this.id);\n        }\n    }\n    unmount() { }\n}\n\nexport { ExitAnimationFeature };\n//# sourceMappingURL=exit.mjs.map\n","import { Feature, createAnimationState, isAnimationControls } from 'motion-dom';\n\nclass AnimationFeature extends Feature {\n    /**\n     * We dynamically generate the AnimationState manager as it contains a reference\n     * to the underlying animation library. We only want to load that if we load this,\n     * so people can optionally code split it out using the `m` component.\n     */\n    constructor(node) {\n        super(node);\n        node.animationState || (node.animationState = createAnimationState(node));\n    }\n    updateAnimationControlsSubscription() {\n        const { animate } = this.node.getProps();\n        if (isAnimationControls(animate)) {\n            this.unmountControls = animate.subscribe(this.node);\n        }\n    }\n    /**\n     * Subscribe any provided AnimationControls to the component's VisualElement\n     */\n    mount() {\n        this.updateAnimationControlsSubscription();\n    }\n    update() {\n        const { animate } = this.node.getProps();\n        const { animate: prevAnimate } = this.node.prevProps || {};\n        if (animate !== prevAnimate) {\n            this.updateAnimationControlsSubscription();\n        }\n    }\n    unmount() {\n        this.node.animationState.reset();\n        this.unmountControls?.();\n    }\n}\n\nexport { AnimationFeature };\n//# sourceMappingURL=index.mjs.map\n","import { AnimationFeature } from './animation/index.mjs';\nimport { ExitAnimationFeature } from './animation/exit.mjs';\n\nconst animations = {\n    animation: {\n        Feature: AnimationFeature,\n    },\n    exit: {\n        Feature: ExitAnimationFeature,\n    },\n};\n\nexport { animations };\n//# sourceMappingURL=animations.mjs.map\n","import { getFeatureDefinitions, setFeatureDefinitions } from 'motion-dom';\n\nconst featureProps = {\n    animation: [\n        \"animate\",\n        \"variants\",\n        \"whileHover\",\n        \"whileTap\",\n        \"exit\",\n        \"whileInView\",\n        \"whileFocus\",\n        \"whileDrag\",\n    ],\n    exit: [\"exit\"],\n    drag: [\"drag\", \"dragControls\"],\n    focus: [\"whileFocus\"],\n    hover: [\"whileHover\", \"onHoverStart\", \"onHoverEnd\"],\n    tap: [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"],\n    pan: [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"],\n    inView: [\"whileInView\", \"onViewportEnter\", \"onViewportLeave\"],\n    layout: [\"layout\", \"layoutId\"],\n};\nlet isInitialized = false;\n/**\n * Initialize feature definitions with isEnabled checks.\n * This must be called before any motion components are rendered.\n */\nfunction initFeatureDefinitions() {\n    if (isInitialized)\n        return;\n    const initialFeatureDefinitions = {};\n    for (const key in featureProps) {\n        initialFeatureDefinitions[key] = {\n            isEnabled: (props) => featureProps[key].some((name) => !!props[name]),\n        };\n    }\n    setFeatureDefinitions(initialFeatureDefinitions);\n    isInitialized = true;\n}\n/**\n * Get the current feature definitions, initializing if needed.\n */\nfunction getInitializedFeatureDefinitions() {\n    initFeatureDefinitions();\n    return getFeatureDefinitions();\n}\n\nexport { getInitializedFeatureDefinitions, initFeatureDefinitions };\n//# sourceMappingURL=definitions.mjs.map\n","import { DragGesture } from '../../gestures/drag/index.mjs';\nimport { PanGesture } from '../../gestures/pan/index.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\nimport { HTMLProjectionNode } from 'motion-dom';\n\nconst drag = {\n    pan: {\n        Feature: PanGesture,\n    },\n    drag: {\n        Feature: DragGesture,\n        ProjectionNode: HTMLProjectionNode,\n        MeasureLayout,\n    },\n};\n\nexport { drag };\n//# sourceMappingURL=drag.mjs.map\n","import { HoverGesture } from '../../gestures/hover.mjs';\nimport { FocusGesture } from '../../gestures/focus.mjs';\nimport { PressGesture } from '../../gestures/press.mjs';\nimport { InViewFeature } from './viewport/index.mjs';\n\nconst gestureAnimations = {\n    inView: {\n        Feature: InViewFeature,\n    },\n    tap: {\n        Feature: PressGesture,\n    },\n    focus: {\n        Feature: FocusGesture,\n    },\n    hover: {\n        Feature: HoverGesture,\n    },\n};\n\nexport { gestureAnimations };\n//# sourceMappingURL=gestures.mjs.map\n","import { HTMLProjectionNode } from 'motion-dom';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\n\nconst layout = {\n    layout: {\n        ProjectionNode: HTMLProjectionNode,\n        MeasureLayout,\n    },\n};\n\nexport { layout };\n//# sourceMappingURL=layout.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { globalProjectionState, frame, microtask } from 'motion-dom';\nimport { useContext, Component } from 'react';\nimport { usePresence } from '../../../components/AnimatePresence/use-presence.mjs';\nimport { LayoutGroupContext } from '../../../context/LayoutGroupContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../../context/SwitchLayoutGroupContext.mjs';\n\n/**\n * Track whether we've taken any snapshots yet. If not,\n * we can safely skip notification of didUpdate.\n *\n * Difficult to capture in a test but to prevent flickering\n * we must set this to true either on update or unmount.\n * Running `next-env/layout-id` in Safari will show this behaviour if broken.\n */\nlet hasTakenAnySnapshot = false;\nclass MeasureLayoutWithContext extends Component {\n    /**\n     * This only mounts projection nodes for components that\n     * need measuring, we might want to do it for all components\n     * in order to incorporate transforms\n     */\n    componentDidMount() {\n        const { visualElement, layoutGroup, switchLayoutGroup, layoutId } = this.props;\n        const { projection } = visualElement;\n        if (projection) {\n            if (layoutGroup.group)\n                layoutGroup.group.add(projection);\n            if (switchLayoutGroup && switchLayoutGroup.register && layoutId) {\n                switchLayoutGroup.register(projection);\n            }\n            if (hasTakenAnySnapshot) {\n                projection.root.didUpdate();\n            }\n            projection.addEventListener(\"animationComplete\", () => {\n                this.safeToRemove();\n            });\n            projection.setOptions({\n                ...projection.options,\n                layoutDependency: this.props.layoutDependency,\n                onExitComplete: () => this.safeToRemove(),\n            });\n        }\n        globalProjectionState.hasEverUpdated = true;\n    }\n    getSnapshotBeforeUpdate(prevProps) {\n        const { layoutDependency, visualElement, drag, isPresent } = this.props;\n        const { projection } = visualElement;\n        if (!projection)\n            return null;\n        /**\n         * TODO: We use this data in relegate to determine whether to\n         * promote a previous element. There's no guarantee its presence data\n         * will have updated by this point - if a bug like this arises it will\n         * have to be that we markForRelegation and then find a new lead some other way,\n         * perhaps in didUpdate\n         */\n        projection.isPresent = isPresent;\n        if (prevProps.layoutDependency !== layoutDependency) {\n            projection.setOptions({\n                ...projection.options,\n                layoutDependency,\n            });\n        }\n        hasTakenAnySnapshot = true;\n        if (drag ||\n            prevProps.layoutDependency !== layoutDependency ||\n            layoutDependency === undefined ||\n            prevProps.isPresent !== isPresent) {\n            projection.willUpdate();\n        }\n        else {\n            this.safeToRemove();\n        }\n        if (prevProps.isPresent !== isPresent) {\n            if (isPresent) {\n                projection.promote();\n            }\n            else if (!projection.relegate()) {\n                /**\n                 * If there's another stack member taking over from this one,\n                 * it's in charge of the exit animation and therefore should\n                 * be in charge of the safe to remove. Otherwise we call it here.\n                 */\n                frame.postRender(() => {\n                    const stack = projection.getStack();\n                    if (!stack || !stack.members.length) {\n                        this.safeToRemove();\n                    }\n                });\n            }\n        }\n        return null;\n    }\n    componentDidUpdate() {\n        const { visualElement, layoutAnchor } = this.props;\n        const { projection } = visualElement;\n        if (projection) {\n            projection.options.layoutAnchor = layoutAnchor;\n            projection.root.didUpdate();\n            microtask.postRender(() => {\n                if (!projection.currentAnimation && projection.isLead()) {\n                    this.safeToRemove();\n                }\n            });\n        }\n    }\n    componentWillUnmount() {\n        const { visualElement, layoutGroup, switchLayoutGroup: promoteContext, } = this.props;\n        const { projection } = visualElement;\n        hasTakenAnySnapshot = true;\n        if (projection) {\n            projection.scheduleCheckAfterUnmount();\n            if (layoutGroup && layoutGroup.group)\n                layoutGroup.group.remove(projection);\n            if (promoteContext && promoteContext.deregister)\n                promoteContext.deregister(projection);\n        }\n    }\n    safeToRemove() {\n        const { safeToRemove } = this.props;\n        safeToRemove && safeToRemove();\n    }\n    render() {\n        return null;\n    }\n}\nfunction MeasureLayout(props) {\n    const [isPresent, safeToRemove] = usePresence();\n    const layoutGroup = useContext(LayoutGroupContext);\n    return (jsx(MeasureLayoutWithContext, { ...props, layoutGroup: layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent: isPresent, safeToRemove: safeToRemove }));\n}\n\nexport { MeasureLayout };\n//# sourceMappingURL=MeasureLayout.mjs.map\n","import { setFeatureDefinitions } from 'motion-dom';\nimport { getInitializedFeatureDefinitions } from './definitions.mjs';\n\nfunction loadFeatures(features) {\n    const featureDefinitions = getInitializedFeatureDefinitions();\n    for (const key in features) {\n        featureDefinitions[key] = {\n            ...featureDefinitions[key],\n            ...features[key],\n        };\n    }\n    setFeatureDefinitions(featureDefinitions);\n}\n\nexport { loadFeatures };\n//# sourceMappingURL=load-features.mjs.map\n","import { Feature } from 'motion-dom';\nimport { observeIntersection } from './observers.mjs';\n\nconst thresholdNames = {\n    some: 0,\n    all: 1,\n};\nclass InViewFeature extends Feature {\n    constructor() {\n        super(...arguments);\n        this.hasEnteredView = false;\n        this.isInView = false;\n    }\n    startObserver() {\n        this.stopObserver?.();\n        const { viewport = {} } = this.node.getProps();\n        const { root, margin: rootMargin, amount = \"some\", once } = viewport;\n        const options = {\n            root: root ? root.current : undefined,\n            rootMargin,\n            threshold: typeof amount === \"number\" ? amount : thresholdNames[amount],\n        };\n        const onIntersectionUpdate = (entry) => {\n            const { isIntersecting } = entry;\n            /**\n             * If there's been no change in the viewport state, early return.\n             */\n            if (this.isInView === isIntersecting)\n                return;\n            this.isInView = isIntersecting;\n            /**\n             * Handle hasEnteredView. If this is only meant to run once, and\n             * element isn't visible, early return. Otherwise set hasEnteredView to true.\n             */\n            if (once && !isIntersecting && this.hasEnteredView) {\n                return;\n            }\n            else if (isIntersecting) {\n                this.hasEnteredView = true;\n            }\n            if (this.node.animationState) {\n                this.node.animationState.setActive(\"whileInView\", isIntersecting);\n            }\n            /**\n             * Use the latest committed props rather than the ones in scope\n             * when this observer is created\n             */\n            const { onViewportEnter, onViewportLeave } = this.node.getProps();\n            const callback = isIntersecting ? onViewportEnter : onViewportLeave;\n            callback && callback(entry);\n        };\n        this.stopObserver = observeIntersection(this.node.current, options, onIntersectionUpdate);\n    }\n    mount() {\n        this.startObserver();\n    }\n    update() {\n        if (typeof IntersectionObserver === \"undefined\")\n            return;\n        const { props, prevProps } = this.node;\n        const hasOptionsChanged = [\"amount\", \"margin\", \"root\"].some(hasViewportOptionChanged(props, prevProps));\n        if (hasOptionsChanged) {\n            this.startObserver();\n        }\n    }\n    unmount() {\n        this.stopObserver?.();\n        this.hasEnteredView = false;\n        this.isInView = false;\n    }\n}\nfunction hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport = {} } = {}) {\n    return (name) => viewport[name] !== prevViewport[name];\n}\n\nexport { InViewFeature };\n//# sourceMappingURL=index.mjs.map\n","/**\n * Map an IntersectionHandler callback to an element. We only ever make one handler for one\n * element, so even though these handlers might all be triggered by different\n * observers, we can keep them in the same map.\n */\nconst observerCallbacks = new WeakMap();\n/**\n * Multiple observers can be created for multiple element/document roots. Each with\n * different settings. So here we store dictionaries of observers to each root,\n * using serialised settings (threshold/margin) as lookup keys.\n */\nconst observers = new WeakMap();\nconst fireObserverCallback = (entry) => {\n    const callback = observerCallbacks.get(entry.target);\n    callback && callback(entry);\n};\nconst fireAllObserverCallbacks = (entries) => {\n    entries.forEach(fireObserverCallback);\n};\nfunction initIntersectionObserver({ root, ...options }) {\n    const lookupRoot = root || document;\n    /**\n     * If we don't have an observer lookup map for this root, create one.\n     */\n    if (!observers.has(lookupRoot)) {\n        observers.set(lookupRoot, {});\n    }\n    const rootObservers = observers.get(lookupRoot);\n    const key = JSON.stringify(options);\n    /**\n     * If we don't have an observer for this combination of root and settings,\n     * create one.\n     */\n    if (!rootObservers[key]) {\n        rootObservers[key] = new IntersectionObserver(fireAllObserverCallbacks, { root, ...options });\n    }\n    return rootObservers[key];\n}\nfunction observeIntersection(element, options, callback) {\n    const rootInteresectionObserver = initIntersectionObserver(options);\n    observerCallbacks.set(element, callback);\n    rootInteresectionObserver.observe(element);\n    return () => {\n        observerCallbacks.delete(element);\n        rootInteresectionObserver.unobserve(element);\n    };\n}\n\nexport { observeIntersection };\n//# sourceMappingURL=observers.mjs.map\n","\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { warning, invariant } from 'motion-utils';\nimport { forwardRef, useContext } from 'react';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { LazyContext } from '../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { useRender } from '../render/dom/use-render.mjs';\nimport { isSVGComponent } from '../render/dom/utils/is-svg-component.mjs';\nimport { useHTMLVisualState } from '../render/html/use-html-visual-state.mjs';\nimport { useSVGVisualState } from '../render/svg/use-svg-visual-state.mjs';\nimport { getInitializedFeatureDefinitions } from './features/definitions.mjs';\nimport { loadFeatures } from './features/load-features.mjs';\nimport { motionComponentSymbol } from './utils/symbol.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nfunction createMotionComponent(Component, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {\n    preloadedFeatures && loadFeatures(preloadedFeatures);\n    /**\n     * Determine whether to use SVG or HTML rendering based on:\n     * 1. Explicit `type` option (highest priority)\n     * 2. Auto-detection via `isSVGComponent`\n     */\n    const isSVG = type ? type === \"svg\" : isSVGComponent(Component);\n    const useVisualState = isSVG ? useSVGVisualState : useHTMLVisualState;\n    function MotionDOMComponent(props, externalRef) {\n        /**\n         * If we need to measure the element we load this functionality in a\n         * separate class component in order to gain access to getSnapshotBeforeUpdate.\n         */\n        let MeasureLayout;\n        const configAndProps = {\n            ...useContext(MotionConfigContext),\n            ...props,\n            layoutId: useLayoutId(props),\n        };\n        const { isStatic } = configAndProps;\n        const context = useCreateMotionContext(props);\n        const visualState = useVisualState(props, isStatic);\n        if (!isStatic && typeof window !== \"undefined\") {\n            useStrictMode(configAndProps, preloadedFeatures);\n            const layoutProjection = getProjectionFunctionality(configAndProps);\n            MeasureLayout = layoutProjection.MeasureLayout;\n            /**\n             * Create a VisualElement for this component. A VisualElement provides a common\n             * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n             * providing a way of rendering to these APIs outside of the React render loop\n             * for more performant animations and interactions\n             */\n            context.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);\n        }\n        /**\n         * The mount order and hierarchy is specific to ensure our element ref\n         * is hydrated by the time features fire their effects.\n         */\n        return (jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout && context.visualElement ? (jsx(MeasureLayout, { visualElement: context.visualElement, ...configAndProps })) : null, useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] }));\n    }\n    MotionDOMComponent.displayName = `motion.${typeof Component === \"string\"\n        ? Component\n        : `create(${Component.displayName ?? Component.name ?? \"\"})`}`;\n    const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);\n    ForwardRefMotionComponent[motionComponentSymbol] = Component;\n    return ForwardRefMotionComponent;\n}\nfunction useLayoutId({ layoutId }) {\n    const layoutGroupId = useContext(LayoutGroupContext).id;\n    return layoutGroupId && layoutId !== undefined\n        ? layoutGroupId + \"-\" + layoutId\n        : layoutId;\n}\nfunction useStrictMode(configAndProps, preloadedFeatures) {\n    const isStrict = useContext(LazyContext).strict;\n    /**\n     * If we're in development mode, check to make sure we're not rendering a motion component\n     * as a child of LazyMotion, as this will break the file-size benefits of using it.\n     */\n    if (process.env.NODE_ENV !== \"production\" &&\n        preloadedFeatures &&\n        isStrict) {\n        const strictMessage = \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\";\n        configAndProps.ignoreStrict\n            ? warning(false, strictMessage, \"lazy-strict-mode\")\n            : invariant(false, strictMessage, \"lazy-strict-mode\");\n    }\n}\nfunction getProjectionFunctionality(props) {\n    const featureDefinitions = getInitializedFeatureDefinitions();\n    const { drag, layout } = featureDefinitions;\n    if (!drag && !layout)\n        return {};\n    const combined = { ...drag, ...layout };\n    return {\n        MeasureLayout: drag?.isEnabled(props) || layout?.isEnabled(props)\n            ? combined.MeasureLayout\n            : undefined,\n        ProjectionNode: combined.ProjectionNode,\n    };\n}\n\nexport { createMotionComponent };\n//# sourceMappingURL=index.mjs.map\n","const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\");\n\nexport { motionComponentSymbol };\n//# sourceMappingURL=symbol.mjs.map\n","\"use client\";\nimport { useRef, useInsertionEffect, useCallback } from 'react';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n    /**\n     * Store externalRef in a ref to avoid including it in the useCallback\n     * dependency array. Including externalRef in dependencies causes issues\n     * with libraries like Radix UI that create new callback refs on each render\n     * when using asChild - this would cause the callback to be recreated,\n     * triggering element remounts and breaking AnimatePresence exit animations.\n     */\n    const externalRefContainer = useRef(externalRef);\n    useInsertionEffect(() => {\n        externalRefContainer.current = externalRef;\n    });\n    // Store cleanup function returned by callback refs (React 19 feature)\n    const refCleanup = useRef(null);\n    return useCallback((instance) => {\n        if (instance) {\n            visualState.onMount?.(instance);\n        }\n        const ref = externalRefContainer.current;\n        if (typeof ref === \"function\") {\n            if (instance) {\n                const cleanup = ref(instance);\n                if (typeof cleanup === \"function\") {\n                    refCleanup.current = cleanup;\n                }\n            }\n            else if (refCleanup.current) {\n                refCleanup.current();\n                refCleanup.current = null;\n            }\n            else {\n                ref(instance);\n            }\n        }\n        else if (ref) {\n            ref.current = instance;\n        }\n        if (visualElement) {\n            instance ? visualElement.mount(instance) : visualElement.unmount();\n        }\n    }, [visualElement]);\n}\n\nexport { useMotionRef };\n//# sourceMappingURL=use-motion-ref.mjs.map\n","\"use client\";\nimport { optimizedAppearDataAttribute } from 'motion-dom';\nimport { useContext, useRef, useInsertionEffect, useEffect } from 'react';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../context/SwitchLayoutGroupContext.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {\n    const { visualElement: parent } = useContext(MotionContext);\n    const lazyContext = useContext(LazyContext);\n    const presenceContext = useContext(PresenceContext);\n    const motionConfig = useContext(MotionConfigContext);\n    const reducedMotionConfig = motionConfig.reducedMotion;\n    const skipAnimations = motionConfig.skipAnimations;\n    const visualElementRef = useRef(null);\n    /**\n     * Track whether the component has been through React's commit phase.\n     * Used to detect when LazyMotion features load after the component has mounted.\n     */\n    const hasMountedOnce = useRef(false);\n    /**\n     * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n     */\n    createVisualElement =\n        createVisualElement ||\n            lazyContext.renderer;\n    if (!visualElementRef.current && createVisualElement) {\n        visualElementRef.current = createVisualElement(Component, {\n            visualState,\n            parent,\n            props,\n            presenceContext,\n            blockInitialAnimation: presenceContext\n                ? presenceContext.initial === false\n                : false,\n            reducedMotionConfig,\n            skipAnimations,\n            isSVG,\n        });\n        /**\n         * If the component has already mounted before features loaded (e.g. via\n         * LazyMotion with async feature loading), we need to force the initial\n         * animation to run. Otherwise state changes that occurred before features\n         * loaded will be lost and the element will snap to its final state.\n         */\n        if (hasMountedOnce.current && visualElementRef.current) {\n            visualElementRef.current.manuallyAnimateOnMount = true;\n        }\n    }\n    const visualElement = visualElementRef.current;\n    /**\n     * Load Motion gesture and animation features. These are rendered as renderless\n     * components so each feature can optionally make use of React lifecycle methods.\n     */\n    const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);\n    if (visualElement &&\n        !visualElement.projection &&\n        ProjectionNodeConstructor &&\n        (visualElement.type === \"html\" || visualElement.type === \"svg\")) {\n        createProjectionNode(visualElementRef.current, props, ProjectionNodeConstructor, initialLayoutGroupConfig);\n    }\n    const isMounted = useRef(false);\n    useInsertionEffect(() => {\n        /**\n         * Check the component has already mounted before calling\n         * `update` unnecessarily. This ensures we skip the initial update.\n         */\n        if (visualElement && isMounted.current) {\n            visualElement.update(props, presenceContext);\n        }\n    });\n    /**\n     * Cache this value as we want to know whether HandoffAppearAnimations\n     * was present on initial render - it will be deleted after this.\n     */\n    const optimisedAppearId = props[optimizedAppearDataAttribute];\n    const wantsHandoff = useRef(Boolean(optimisedAppearId) &&\n        typeof window !== \"undefined\" &&\n        !window.MotionHandoffIsComplete?.(optimisedAppearId) &&\n        window.MotionHasOptimisedAnimation?.(optimisedAppearId));\n    useIsomorphicLayoutEffect(() => {\n        /**\n         * Track that this component has mounted. This is used to detect when\n         * LazyMotion features load after the component has already committed.\n         */\n        hasMountedOnce.current = true;\n        if (!visualElement)\n            return;\n        isMounted.current = true;\n        window.MotionIsMounted = true;\n        visualElement.updateFeatures();\n        visualElement.scheduleRenderMicrotask();\n        /**\n         * Ideally this function would always run in a useEffect.\n         *\n         * However, if we have optimised appear animations to handoff from,\n         * it needs to happen synchronously to ensure there's no flash of\n         * incorrect styles in the event of a hydration error.\n         *\n         * So if we detect a situtation where optimised appear animations\n         * are running, we use useLayoutEffect to trigger animations.\n         */\n        if (wantsHandoff.current && visualElement.animationState) {\n            visualElement.animationState.animateChanges();\n        }\n    });\n    useEffect(() => {\n        if (!visualElement)\n            return;\n        if (!wantsHandoff.current && visualElement.animationState) {\n            visualElement.animationState.animateChanges();\n        }\n        if (wantsHandoff.current) {\n            // This ensures all future calls to animateChanges() in this component will run in useEffect\n            queueMicrotask(() => {\n                window.MotionHandoffMarkAsComplete?.(optimisedAppearId);\n            });\n            wantsHandoff.current = false;\n        }\n        /**\n         * Now we've finished triggering animations for this element we\n         * can wipe the enteringChildren set for the next render.\n         */\n        visualElement.enteringChildren = undefined;\n    });\n    return visualElement;\n}\nfunction createProjectionNode(visualElement, props, ProjectionNodeConstructor, initialPromotionConfig) {\n    const { layoutId, layout, drag, dragConstraints, layoutScroll, layoutRoot, layoutAnchor, layoutCrossfade, } = props;\n    visualElement.projection = new ProjectionNodeConstructor(visualElement.latestValues, props[\"data-framer-portal-id\"]\n        ? undefined\n        : getClosestProjectingNode(visualElement.parent));\n    visualElement.projection.setOptions({\n        layoutId,\n        layout,\n        alwaysMeasureLayout: Boolean(drag) || (dragConstraints && isRefObject(dragConstraints)),\n        visualElement,\n        /**\n         * TODO: Update options in an effect. This could be tricky as it'll be too late\n         * to update by the time layout animations run.\n         * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,\n         * ensuring it gets called if there's no potential layout animations.\n         *\n         */\n        animationType: typeof layout === \"string\" ? layout : \"both\",\n        initialPromotionConfig,\n        crossfade: layoutCrossfade,\n        layoutScroll,\n        layoutRoot,\n        layoutAnchor,\n    });\n}\nfunction getClosestProjectingNode(visualElement) {\n    if (!visualElement)\n        return undefined;\n    return visualElement.options.allowProjection !== false\n        ? visualElement.projection\n        : getClosestProjectingNode(visualElement.parent);\n}\n\nexport { useVisualElement };\n//# sourceMappingURL=use-visual-element.mjs.map\n","\"use client\";\nimport { resolveMotionValue, isControllingVariants, isVariantNode, isAnimationControls, resolveVariantFromProps } from 'motion-dom';\nimport { useContext } from 'react';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\n\nfunction makeState({ scrapeMotionValuesFromProps, createRenderState, }, props, context, presenceContext) {\n    const state = {\n        latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n        renderState: createRenderState(),\n    };\n    return state;\n}\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n    const values = {};\n    const motionValues = scrapeMotionValues(props, {});\n    for (const key in motionValues) {\n        values[key] = resolveMotionValue(motionValues[key]);\n    }\n    let { initial, animate } = props;\n    const isControllingVariants$1 = isControllingVariants(props);\n    const isVariantNode$1 = isVariantNode(props);\n    if (context &&\n        isVariantNode$1 &&\n        !isControllingVariants$1 &&\n        props.inherit !== false) {\n        if (initial === undefined)\n            initial = context.initial;\n        if (animate === undefined)\n            animate = context.animate;\n    }\n    let isInitialAnimationBlocked = presenceContext\n        ? presenceContext.initial === false\n        : false;\n    isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false;\n    const variantToSet = isInitialAnimationBlocked ? animate : initial;\n    if (variantToSet &&\n        typeof variantToSet !== \"boolean\" &&\n        !isAnimationControls(variantToSet)) {\n        const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n        for (let i = 0; i < list.length; i++) {\n            const resolved = resolveVariantFromProps(props, list[i]);\n            if (resolved) {\n                const { transitionEnd, transition, ...target } = resolved;\n                for (const key in target) {\n                    let valueTarget = target[key];\n                    if (Array.isArray(valueTarget)) {\n                        /**\n                         * Take final keyframe if the initial animation is blocked because\n                         * we want to initialise at the end of that blocked animation.\n                         */\n                        const index = isInitialAnimationBlocked\n                            ? valueTarget.length - 1\n                            : 0;\n                        valueTarget = valueTarget[index];\n                    }\n                    if (valueTarget !== null) {\n                        values[key] = valueTarget;\n                    }\n                }\n                for (const key in transitionEnd) {\n                    values[key] = transitionEnd[key];\n                }\n            }\n        }\n    }\n    return values;\n}\nconst makeUseVisualState = (config) => (props, isStatic) => {\n    const context = useContext(MotionContext);\n    const presenceContext = useContext(PresenceContext);\n    const make = () => makeState(config, props, context, presenceContext);\n    return isStatic ? make() : useConstant(make);\n};\n\nexport { makeUseVisualState };\n//# sourceMappingURL=use-visual-state.mjs.map\n","/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set([\n    \"animate\",\n    \"exit\",\n    \"variants\",\n    \"initial\",\n    \"style\",\n    \"values\",\n    \"variants\",\n    \"transition\",\n    \"transformTemplate\",\n    \"custom\",\n    \"inherit\",\n    \"onBeforeLayoutMeasure\",\n    \"onAnimationStart\",\n    \"onAnimationComplete\",\n    \"onUpdate\",\n    \"onDragStart\",\n    \"onDrag\",\n    \"onDragEnd\",\n    \"onMeasureDragConstraints\",\n    \"onDirectionLock\",\n    \"onDragTransitionEnd\",\n    \"_dragX\",\n    \"_dragY\",\n    \"onHoverStart\",\n    \"onHoverEnd\",\n    \"onViewportEnter\",\n    \"onViewportLeave\",\n    \"globalTapTarget\",\n    \"propagate\",\n    \"ignoreStrict\",\n    \"viewport\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n    return (key.startsWith(\"while\") ||\n        (key.startsWith(\"drag\") && key !== \"draggable\") ||\n        key.startsWith(\"layout\") ||\n        key.startsWith(\"onTap\") ||\n        key.startsWith(\"onPan\") ||\n        key.startsWith(\"onLayout\") ||\n        validMotionProps.has(key));\n}\n\nexport { isValidMotionProp };\n//# sourceMappingURL=valid-prop.mjs.map\n","import { warnOnce } from 'motion-utils';\nimport { createMotionComponent } from '../../motion/index.mjs';\n\nfunction createMotionProxy(preloadedFeatures, createVisualElement) {\n    if (typeof Proxy === \"undefined\") {\n        return createMotionComponent;\n    }\n    /**\n     * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n     * Rather than generating them anew every render.\n     */\n    const componentCache = new Map();\n    const factory = (Component, options) => {\n        return createMotionComponent(Component, options, preloadedFeatures, createVisualElement);\n    };\n    /**\n     * Support for deprecated`motion(Component)` pattern\n     */\n    const deprecatedFactoryFunction = (Component, options) => {\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(false, \"motion() is deprecated. Use motion.create() instead.\");\n        }\n        return factory(Component, options);\n    };\n    return new Proxy(deprecatedFactoryFunction, {\n        /**\n         * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n         * The prop name is passed through as `key` and we can use that to generate a `motion`\n         * DOM component with that name.\n         */\n        get: (_target, key) => {\n            if (key === \"create\")\n                return factory;\n            /**\n             * If this element doesn't exist in the component cache, create it and cache.\n             */\n            if (!componentCache.has(key)) {\n                componentCache.set(key, createMotionComponent(key, undefined, preloadedFeatures, createVisualElement));\n            }\n            return componentCache.get(key);\n        },\n    });\n}\n\nexport { createMotionProxy };\n//# sourceMappingURL=create-proxy.mjs.map\n","import { animations } from '../../../motion/features/animations.mjs';\nimport { drag } from '../../../motion/features/drag.mjs';\nimport { gestureAnimations } from '../../../motion/features/gestures.mjs';\nimport { layout } from '../../../motion/features/layout.mjs';\n\nconst featureBundle = {\n    ...animations,\n    ...gestureAnimations,\n    ...drag,\n    ...layout,\n};\n\nexport { featureBundle };\n//# sourceMappingURL=feature-bundle.mjs.map\n","import { createDomVisualElement } from '../../dom/create-visual-element.mjs';\nimport { createMotionProxy } from '../create-proxy.mjs';\nimport { featureBundle } from './feature-bundle.mjs';\n\nconst motion = /*@__PURE__*/ createMotionProxy(featureBundle, createDomVisualElement);\n\nexport { motion };\n//# sourceMappingURL=proxy.mjs.map\n","import { SVGVisualElement, HTMLVisualElement } from 'motion-dom';\nimport { Fragment } from 'react';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nconst createDomVisualElement = (Component, options) => {\n    /**\n     * Use explicit isSVG override if provided, otherwise auto-detect\n     */\n    const isSVG = options.isSVG ?? isSVGComponent(Component);\n    return isSVG\n        ? new SVGVisualElement(options)\n        : new HTMLVisualElement(options, {\n            allowProjection: Component !== Fragment,\n        });\n};\n\nexport { createDomVisualElement };\n//# sourceMappingURL=create-visual-element.mjs.map\n","\"use client\";\nimport { isMotionValue } from 'motion-dom';\nimport { Fragment, useMemo, createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.mjs';\nimport { useSVGProps } from '../svg/use-props.mjs';\nimport { filterProps } from './utils/filter-props.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nfunction useRender(Component, props, ref, { latestValues, }, isStatic, forwardMotionProps = false, isSVG) {\n    const useVisualProps = (isSVG ?? isSVGComponent(Component)) ? useSVGProps : useHTMLProps;\n    const visualProps = useVisualProps(props, latestValues, isStatic, Component);\n    const filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n    const elementProps = Component !== Fragment ? { ...filteredProps, ...visualProps, ref } : {};\n    /**\n     * If component has been handed a motion value as its child,\n     * memoise its initial value and render that. Subsequent updates\n     * will be handled by the onChange handler\n     */\n    const { children } = props;\n    const renderedChildren = useMemo(() => (isMotionValue(children) ? children.get() : children), [children]);\n    return createElement(Component, {\n        ...elementProps,\n        children: renderedChildren,\n    });\n}\n\nexport { useRender };\n//# sourceMappingURL=use-render.mjs.map\n","import { isMotionValue } from 'motion-dom';\nimport { isValidMotionProp } from '../../../motion/utils/valid-prop.mjs';\n\nlet shouldForward = (key) => !isValidMotionProp(key);\nfunction loadExternalIsValidProp(isValidProp) {\n    if (typeof isValidProp !== \"function\")\n        return;\n    // Explicitly filter our events\n    shouldForward = (key) => key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key);\n}\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n    /**\n     * We attempt to import this package but require won't be defined in esm environments, in that case\n     * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n     * in favour of explicit injection.\n     *\n     * String concatenation prevents bundlers like webpack (e.g. Storybook)\n     * from statically resolving this optional dependency at build time.\n     */\n    const emotionPkg = \"@emotion/is-prop-\" + \"valid\";\n    loadExternalIsValidProp(require(emotionPkg).default);\n}\ncatch {\n    // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n    const filteredProps = {};\n    for (const key in props) {\n        /**\n         * values is considered a valid prop by Emotion, so if it's present\n         * this will be rendered out to the DOM unless explicitly filtered.\n         *\n         * We check the type as it could be used with the `feColorMatrix`\n         * element, which we support.\n         */\n        if (key === \"values\" && typeof props.values === \"object\")\n            continue;\n        if (isMotionValue(props[key]))\n            continue;\n        if (shouldForward(key) ||\n            (forwardMotionProps === true && isValidMotionProp(key)) ||\n            (!isDom && !isValidMotionProp(key)) ||\n            // If trying to use native HTML drag events, forward drag listeners\n            (props[\"draggable\"] &&\n                key.startsWith(\"onDrag\"))) {\n            filteredProps[key] =\n                props[key];\n        }\n    }\n    return filteredProps;\n}\n\nexport { filterProps, loadExternalIsValidProp };\n//# sourceMappingURL=filter-props.mjs.map\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.mjs';\n\nfunction isSVGComponent(Component) {\n    if (\n    /**\n     * If it's not a string, it's a custom React component. Currently we only support\n     * HTML custom React components.\n     */\n    typeof Component !== \"string\" ||\n        /**\n         * If it contains a dash, the element is a custom HTML webcomponent.\n         */\n        Component.includes(\"-\")) {\n        return false;\n    }\n    else if (\n    /**\n     * If it's in our list of lowercase SVG tags, it's an SVG component\n     */\n    lowercaseSVGElements.indexOf(Component) > -1 ||\n        /**\n         * If it contains a capital letter, it's an SVG component\n         */\n        /[A-Z]/u.test(Component)) {\n        return true;\n    }\n    return false;\n}\n\nexport { isSVGComponent };\n//# sourceMappingURL=is-svg-component.mjs.map\n","\"use client\";\nimport { scrapeHTMLMotionValuesFromProps } from 'motion-dom';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nconst useHTMLVisualState = /*@__PURE__*/ makeUseVisualState({\n    scrapeMotionValuesFromProps: scrapeHTMLMotionValuesFromProps,\n    createRenderState: createHtmlRenderState,\n});\n\nexport { useHTMLVisualState };\n//# sourceMappingURL=use-html-visual-state.mjs.map\n","\"use client\";\nimport { isMotionValue, isForcedMotionValue, buildHTMLStyles } from 'motion-dom';\nimport { useMemo } from 'react';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nfunction copyRawValuesOnly(target, source, props) {\n    for (const key in source) {\n        if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n            target[key] = source[key];\n        }\n    }\n}\nfunction useInitialMotionValues({ transformTemplate }, visualState) {\n    return useMemo(() => {\n        const state = createHtmlRenderState();\n        buildHTMLStyles(state, visualState, transformTemplate);\n        return Object.assign({}, state.vars, state.style);\n    }, [visualState]);\n}\nfunction useStyle(props, visualState) {\n    const styleProp = props.style || {};\n    const style = {};\n    /**\n     * Copy non-Motion Values straight into style\n     */\n    copyRawValuesOnly(style, styleProp, props);\n    Object.assign(style, useInitialMotionValues(props, visualState));\n    return style;\n}\nfunction useHTMLProps(props, visualState) {\n    // The `any` isn't ideal but it is the type of createElement props argument\n    const htmlProps = {};\n    const style = useStyle(props, visualState);\n    if (props.drag && props.dragListener !== false) {\n        // Disable the ghost element when a user drags\n        htmlProps.draggable = false;\n        // Disable text selection\n        style.userSelect =\n            style.WebkitUserSelect =\n                style.WebkitTouchCallout =\n                    \"none\";\n        // Disable scrolling on the draggable direction\n        style.touchAction =\n            props.drag === true\n                ? \"none\"\n                : `pan-${props.drag === \"x\" ? \"y\" : \"x\"}`;\n    }\n    if (props.tabIndex === undefined &&\n        (props.onTap || props.onTapStart || props.whileTap)) {\n        htmlProps.tabIndex = 0;\n    }\n    htmlProps.style = style;\n    return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps };\n//# sourceMappingURL=use-props.mjs.map\n","const createHtmlRenderState = () => ({\n    style: {},\n    transform: {},\n    transformOrigin: {},\n    vars: {},\n});\n\nexport { createHtmlRenderState };\n//# sourceMappingURL=create-render-state.mjs.map\n","/**\n * We keep these listed separately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nconst lowercaseSVGElements = [\n    \"animate\",\n    \"circle\",\n    \"defs\",\n    \"desc\",\n    \"ellipse\",\n    \"g\",\n    \"image\",\n    \"line\",\n    \"filter\",\n    \"marker\",\n    \"mask\",\n    \"metadata\",\n    \"path\",\n    \"pattern\",\n    \"polygon\",\n    \"polyline\",\n    \"rect\",\n    \"stop\",\n    \"switch\",\n    \"symbol\",\n    \"svg\",\n    \"text\",\n    \"tspan\",\n    \"use\",\n    \"view\",\n];\n\nexport { lowercaseSVGElements };\n//# sourceMappingURL=lowercase-elements.mjs.map\n","\"use client\";\nimport { buildSVGAttrs, isSVGTag } from 'motion-dom';\nimport { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\n\nfunction useSVGProps(props, visualState, _isStatic, Component) {\n    const visualProps = useMemo(() => {\n        const state = createSvgRenderState();\n        buildSVGAttrs(state, visualState, isSVGTag(Component), props.transformTemplate, props.style);\n        return {\n            ...state.attrs,\n            style: { ...state.style },\n        };\n    }, [visualState]);\n    if (props.style) {\n        const rawStyles = {};\n        copyRawValuesOnly(rawStyles, props.style, props);\n        visualProps.style = { ...rawStyles, ...visualProps.style };\n    }\n    return visualProps;\n}\n\nexport { useSVGProps };\n//# sourceMappingURL=use-props.mjs.map\n","\"use client\";\nimport { scrapeSVGMotionValuesFromProps } from 'motion-dom';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\n\nconst useSVGVisualState = /*@__PURE__*/ makeUseVisualState({\n    scrapeMotionValuesFromProps: scrapeSVGMotionValuesFromProps,\n    createRenderState: createSvgRenderState,\n});\n\nexport { useSVGVisualState };\n//# sourceMappingURL=use-svg-visual-state.mjs.map\n","import { createHtmlRenderState } from '../../html/utils/create-render-state.mjs';\n\nconst createSvgRenderState = () => ({\n    ...createHtmlRenderState(),\n    attrs: {},\n});\n\nexport { createSvgRenderState };\n//# sourceMappingURL=create-render-state.mjs.map\n","const distance = (a, b) => Math.abs(a - b);\nfunction distance2D(a, b) {\n    // Multi-dimensional\n    const xDelta = distance(a.x, b.x);\n    const yDelta = distance(a.y, b.y);\n    return Math.sqrt(xDelta ** 2 + yDelta ** 2);\n}\n\nexport { distance, distance2D };\n//# sourceMappingURL=distance.mjs.map\n","// Fixes https://github.com/motiondivision/motion/issues/2270\nconst getContextWindow = ({ current }) => {\n    return current ? current.ownerDocument.defaultView : null;\n};\n\nexport { getContextWindow };\n//# sourceMappingURL=get-context-window.mjs.map\n","const isBrowser = typeof window !== \"undefined\";\n\nexport { isBrowser };\n//# sourceMappingURL=is-browser.mjs.map\n","function isRefObject(ref) {\n    return (ref &&\n        typeof ref === \"object\" &&\n        Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n//# sourceMappingURL=is-ref-object.mjs.map\n","\"use client\";\nimport { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport { useConstant };\n//# sourceMappingURL=use-constant.mjs.map\n","\"use client\";\nimport { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.mjs';\n\nconst useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n//# sourceMappingURL=use-isomorphic-effect.mjs.map\n","import { MotionGlobalConfig, noop } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { JSAnimation } from './JSAnimation.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { KeyframeResolver, flushKeyframeResolvers } from './keyframes/KeyframesResolver.mjs';\nimport { NativeAnimationExtended } from './NativeAnimationExtended.mjs';\nimport { canAnimate } from './utils/can-animate.mjs';\nimport { makeAnimationInstant } from './utils/make-animation-instant.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\nimport { supportsBrowserAnimation } from './waapi/supports/waapi.mjs';\n\n/**\n * Maximum time allowed between an animation being created and it being\n * resolved for us to use the latter as the start time.\n *\n * This is to ensure that while we prefer to \"start\" an animation as soon\n * as it's triggered, we also want to avoid a visual jump if there's a big delay\n * between these two moments.\n */\nconst MAX_RESOLVE_DELAY = 40;\nclass AsyncMotionValueAnimation extends WithPromise {\n    constructor({ autoplay = true, delay = 0, type = \"keyframes\", repeat = 0, repeatDelay = 0, repeatType = \"loop\", keyframes, name, motionValue, element, ...options }) {\n        super();\n        /**\n         * Bound to support return animation.stop pattern\n         */\n        this.stop = () => {\n            if (this._animation) {\n                this._animation.stop();\n                this.stopTimeline?.();\n            }\n            this.keyframeResolver?.cancel();\n        };\n        this.createdAt = time.now();\n        const optionsWithDefaults = {\n            autoplay,\n            delay,\n            type,\n            repeat,\n            repeatDelay,\n            repeatType,\n            name,\n            motionValue,\n            element,\n            ...options,\n        };\n        const KeyframeResolver$1 = element?.KeyframeResolver || KeyframeResolver;\n        this.keyframeResolver = new KeyframeResolver$1(keyframes, (resolvedKeyframes, finalKeyframe, forced) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe, optionsWithDefaults, !forced), name, motionValue, element);\n        this.keyframeResolver?.scheduleResolve();\n    }\n    onKeyframesResolved(keyframes, finalKeyframe, options, sync) {\n        this.keyframeResolver = undefined;\n        const { name, type, velocity, delay, isHandoff, onUpdate } = options;\n        this.resolvedAt = time.now();\n        /**\n         * If we can't animate this value with the resolved keyframes\n         * then we should complete it immediately.\n         */\n        let canAnimateValue = true;\n        if (!canAnimate(keyframes, name, type, velocity)) {\n            canAnimateValue = false;\n            if (MotionGlobalConfig.instantAnimations || !delay) {\n                onUpdate?.(getFinalKeyframe(keyframes, options, finalKeyframe));\n            }\n            keyframes[0] = keyframes[keyframes.length - 1];\n            makeAnimationInstant(options);\n            options.repeat = 0;\n        }\n        /**\n         * Resolve startTime for the animation.\n         *\n         * This method uses the createdAt and resolvedAt to calculate the\n         * animation startTime. *Ideally*, we would use the createdAt time as t=0\n         * as the following frame would then be the first frame of the animation in\n         * progress, which would feel snappier.\n         *\n         * However, if there's a delay (main thread work) between the creation of\n         * the animation and the first committed frame, we prefer to use resolvedAt\n         * to avoid a sudden jump into the animation.\n         */\n        const startTime = sync\n            ? !this.resolvedAt\n                ? this.createdAt\n                : this.resolvedAt - this.createdAt > MAX_RESOLVE_DELAY\n                    ? this.resolvedAt\n                    : this.createdAt\n            : undefined;\n        const resolvedOptions = {\n            startTime,\n            finalKeyframe,\n            ...options,\n            keyframes,\n        };\n        /**\n         * Animate via WAAPI if possible. If this is a handoff animation, the optimised animation will be running via\n         * WAAPI. Therefore, this animation must be JS to ensure it runs \"under\" the\n         * optimised animation.\n         *\n         * Also skip WAAPI when keyframes aren't animatable, as the resolved\n         * values may not be valid CSS and would trigger browser warnings.\n         */\n        const useWaapi = canAnimateValue &&\n            !isHandoff &&\n            supportsBrowserAnimation(resolvedOptions);\n        const element = resolvedOptions.motionValue?.owner?.current;\n        let animation;\n        if (useWaapi) {\n            try {\n                animation = new NativeAnimationExtended({\n                    ...resolvedOptions,\n                    element,\n                });\n            }\n            catch {\n                animation = new JSAnimation(resolvedOptions);\n            }\n        }\n        else {\n            animation = new JSAnimation(resolvedOptions);\n        }\n        animation.finished.then(() => {\n            this.notifyFinished();\n        }).catch(noop);\n        if (this.pendingTimeline) {\n            this.stopTimeline = animation.attachTimeline(this.pendingTimeline);\n            this.pendingTimeline = undefined;\n        }\n        this._animation = animation;\n    }\n    get finished() {\n        if (!this._animation) {\n            return this._finished;\n        }\n        else {\n            return this.animation.finished;\n        }\n    }\n    then(onResolve, _onReject) {\n        return this.finished.finally(onResolve).then(() => { });\n    }\n    get animation() {\n        if (!this._animation) {\n            this.keyframeResolver?.resume();\n            flushKeyframeResolvers();\n        }\n        return this._animation;\n    }\n    get duration() {\n        return this.animation.duration;\n    }\n    get iterationDuration() {\n        return this.animation.iterationDuration;\n    }\n    get time() {\n        return this.animation.time;\n    }\n    set time(newTime) {\n        this.animation.time = newTime;\n    }\n    get speed() {\n        return this.animation.speed;\n    }\n    get state() {\n        return this.animation.state;\n    }\n    set speed(newSpeed) {\n        this.animation.speed = newSpeed;\n    }\n    get startTime() {\n        return this.animation.startTime;\n    }\n    attachTimeline(timeline) {\n        if (this._animation) {\n            this.stopTimeline = this.animation.attachTimeline(timeline);\n        }\n        else {\n            this.pendingTimeline = timeline;\n        }\n        return () => this.stop();\n    }\n    play() {\n        this.animation.play();\n    }\n    pause() {\n        this.animation.pause();\n    }\n    complete() {\n        this.animation.complete();\n    }\n    cancel() {\n        if (this._animation) {\n            this.animation.cancel();\n        }\n        this.keyframeResolver?.cancel();\n    }\n}\n\nexport { AsyncMotionValueAnimation };\n//# sourceMappingURL=AsyncMotionValueAnimation.mjs.map\n","import { invariant, pipe, clamp, millisecondsToSeconds, secondsToMilliseconds } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { activeAnimations } from '../stats/animation-count.mjs';\nimport { mix } from '../utils/mix/index.mjs';\nimport { frameloopDriver } from './drivers/frame.mjs';\nimport { inertia } from './generators/inertia.mjs';\nimport { keyframes } from './generators/keyframes.mjs';\nimport { calcGeneratorDuration } from './generators/utils/calc-duration.mjs';\nimport { getGeneratorVelocity } from './generators/utils/velocity.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { replaceTransitionType } from './utils/replace-transition-type.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\n\nconst percentToProgress = (percent) => percent / 100;\nclass JSAnimation extends WithPromise {\n    constructor(options) {\n        super();\n        this.state = \"idle\";\n        this.startTime = null;\n        this.isStopped = false;\n        /**\n         * The current time of the animation.\n         */\n        this.currentTime = 0;\n        /**\n         * The time at which the animation was paused.\n         */\n        this.holdTime = null;\n        /**\n         * Playback speed as a factor. 0 would be stopped, -1 reverse and 2 double speed.\n         */\n        this.playbackSpeed = 1;\n        /**\n         * Reusable state object for the delay phase to avoid\n         * allocating a new object every frame.\n         */\n        this.delayState = {\n            done: false,\n            value: undefined,\n        };\n        /**\n         * This method is bound to the instance to fix a pattern where\n         * animation.stop is returned as a reference from a useEffect.\n         */\n        this.stop = () => {\n            const { motionValue } = this.options;\n            if (motionValue && motionValue.updatedAt !== time.now()) {\n                this.tick(time.now());\n            }\n            this.isStopped = true;\n            if (this.state === \"idle\")\n                return;\n            this.teardown();\n            this.options.onStop?.();\n        };\n        activeAnimations.mainThread++;\n        this.options = options;\n        this.initAnimation();\n        this.play();\n        if (options.autoplay === false)\n            this.pause();\n    }\n    initAnimation() {\n        const { options } = this;\n        replaceTransitionType(options);\n        const { type = keyframes, repeat = 0, repeatDelay = 0, repeatType, velocity = 0, } = options;\n        let { keyframes: keyframes$1 } = options;\n        const generatorFactory = type || keyframes;\n        if (process.env.NODE_ENV !== \"production\" &&\n            generatorFactory !== keyframes) {\n            invariant(keyframes$1.length <= 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${keyframes$1}`, \"spring-two-frames\");\n        }\n        if (generatorFactory !== keyframes &&\n            typeof keyframes$1[0] !== \"number\") {\n            this.mixKeyframes = pipe(percentToProgress, mix(keyframes$1[0], keyframes$1[1]));\n            keyframes$1 = [0, 100];\n        }\n        const generator = generatorFactory({ ...options, keyframes: keyframes$1 });\n        /**\n         * If we have a mirror repeat type we need to create a second generator that outputs the\n         * mirrored (not reversed) animation and later ping pong between the two generators.\n         */\n        if (repeatType === \"mirror\") {\n            this.mirroredGenerator = generatorFactory({\n                ...options,\n                keyframes: [...keyframes$1].reverse(),\n                velocity: -velocity,\n            });\n        }\n        /**\n         * If duration is undefined and we have repeat options,\n         * we need to calculate a duration from the generator.\n         *\n         * We set it to the generator itself to cache the duration.\n         * Any timeline resolver will need to have already precalculated\n         * the duration by this step.\n         */\n        if (generator.calculatedDuration === null) {\n            generator.calculatedDuration = calcGeneratorDuration(generator);\n        }\n        const { calculatedDuration } = generator;\n        this.calculatedDuration = calculatedDuration;\n        this.resolvedDuration = calculatedDuration + repeatDelay;\n        this.totalDuration = this.resolvedDuration * (repeat + 1) - repeatDelay;\n        this.generator = generator;\n    }\n    updateTime(timestamp) {\n        const animationTime = Math.round(timestamp - this.startTime) * this.playbackSpeed;\n        // Update currentTime\n        if (this.holdTime !== null) {\n            this.currentTime = this.holdTime;\n        }\n        else {\n            // Rounding the time because floating point arithmetic is not always accurate, e.g. 3000.367 - 1000.367 =\n            // 2000.0000000000002. This is a problem when we are comparing the currentTime with the duration, for\n            // example.\n            this.currentTime = animationTime;\n        }\n    }\n    tick(timestamp, sample = false) {\n        const { generator, totalDuration, mixKeyframes, mirroredGenerator, resolvedDuration, calculatedDuration, } = this;\n        if (this.startTime === null)\n            return generator.next(0);\n        const { delay = 0, keyframes, repeat, repeatType, repeatDelay, type, onUpdate, finalKeyframe, } = this.options;\n        /**\n         * requestAnimationFrame timestamps can come through as lower than\n         * the startTime as set by performance.now(). Here we prevent this,\n         * though in the future it could be possible to make setting startTime\n         * a pending operation that gets resolved here.\n         */\n        if (this.speed > 0) {\n            this.startTime = Math.min(this.startTime, timestamp);\n        }\n        else if (this.speed < 0) {\n            this.startTime = Math.min(timestamp - totalDuration / this.speed, this.startTime);\n        }\n        if (sample) {\n            this.currentTime = timestamp;\n        }\n        else {\n            this.updateTime(timestamp);\n        }\n        // Rebase on delay\n        const timeWithoutDelay = this.currentTime - delay * (this.playbackSpeed >= 0 ? 1 : -1);\n        const isInDelayPhase = this.playbackSpeed >= 0\n            ? timeWithoutDelay < 0\n            : timeWithoutDelay > totalDuration;\n        this.currentTime = Math.max(timeWithoutDelay, 0);\n        // If this animation has finished, set the current time  to the total duration.\n        if (this.state === \"finished\" && this.holdTime === null) {\n            this.currentTime = totalDuration;\n        }\n        let elapsed = this.currentTime;\n        let frameGenerator = generator;\n        if (repeat) {\n            /**\n             * Get the current progress (0-1) of the animation. If t is >\n             * than duration we'll get values like 2.5 (midway through the\n             * third iteration)\n             */\n            const progress = Math.min(this.currentTime, totalDuration) / resolvedDuration;\n            /**\n             * Get the current iteration (0 indexed). For instance the floor of\n             * 2.5 is 2.\n             */\n            let currentIteration = Math.floor(progress);\n            /**\n             * Get the current progress of the iteration by taking the remainder\n             * so 2.5 is 0.5 through iteration 2\n             */\n            let iterationProgress = progress % 1.0;\n            /**\n             * If iteration progress is 1 we count that as the end\n             * of the previous iteration.\n             */\n            if (!iterationProgress && progress >= 1) {\n                iterationProgress = 1;\n            }\n            iterationProgress === 1 && currentIteration--;\n            currentIteration = Math.min(currentIteration, repeat + 1);\n            /**\n             * Reverse progress if we're not running in \"normal\" direction\n             */\n            const isOddIteration = Boolean(currentIteration % 2);\n            if (isOddIteration) {\n                if (repeatType === \"reverse\") {\n                    iterationProgress = 1 - iterationProgress;\n                    if (repeatDelay) {\n                        iterationProgress -= repeatDelay / resolvedDuration;\n                    }\n                }\n                else if (repeatType === \"mirror\") {\n                    frameGenerator = mirroredGenerator;\n                }\n            }\n            elapsed = clamp(0, 1, iterationProgress) * resolvedDuration;\n        }\n        /**\n         * If we're in negative time, set state as the initial keyframe.\n         * This prevents delay: x, duration: 0 animations from finishing\n         * instantly.\n         */\n        let state;\n        if (isInDelayPhase) {\n            this.delayState.value = keyframes[0];\n            state = this.delayState;\n        }\n        else {\n            state = frameGenerator.next(elapsed);\n        }\n        if (mixKeyframes && !isInDelayPhase) {\n            state.value = mixKeyframes(state.value);\n        }\n        let { done } = state;\n        if (!isInDelayPhase && calculatedDuration !== null) {\n            done =\n                this.playbackSpeed >= 0\n                    ? this.currentTime >= totalDuration\n                    : this.currentTime <= 0;\n        }\n        const isAnimationFinished = this.holdTime === null &&\n            (this.state === \"finished\" || (this.state === \"running\" && done));\n        // TODO: The exception for inertia could be cleaner here\n        if (isAnimationFinished && type !== inertia) {\n            state.value = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed);\n        }\n        if (onUpdate) {\n            onUpdate(state.value);\n        }\n        if (isAnimationFinished) {\n            this.finish();\n        }\n        return state;\n    }\n    /**\n     * Allows the returned animation to be awaited or promise-chained. Currently\n     * resolves when the animation finishes at all but in a future update could/should\n     * reject if its cancels.\n     */\n    then(resolve, reject) {\n        return this.finished.then(resolve, reject);\n    }\n    get duration() {\n        return millisecondsToSeconds(this.calculatedDuration);\n    }\n    get iterationDuration() {\n        const { delay = 0 } = this.options || {};\n        return this.duration + millisecondsToSeconds(delay);\n    }\n    get time() {\n        return millisecondsToSeconds(this.currentTime);\n    }\n    set time(newTime) {\n        newTime = secondsToMilliseconds(newTime);\n        this.currentTime = newTime;\n        if (this.startTime === null ||\n            this.holdTime !== null ||\n            this.playbackSpeed === 0) {\n            this.holdTime = newTime;\n        }\n        else if (this.driver) {\n            this.startTime = this.driver.now() - newTime / this.playbackSpeed;\n        }\n        if (this.driver) {\n            this.driver.start(false);\n        }\n        else {\n            this.startTime = 0;\n            this.state = \"paused\";\n            this.holdTime = newTime;\n            this.tick(newTime);\n        }\n    }\n    /**\n     * Returns the generator's velocity at the current time in units/second.\n     * Uses the analytical derivative when available (springs), avoiding\n     * the MotionValue's frame-dependent velocity estimation.\n     */\n    getGeneratorVelocity() {\n        const t = this.currentTime;\n        if (t <= 0)\n            return this.options.velocity || 0;\n        if (this.generator.velocity) {\n            return this.generator.velocity(t);\n        }\n        // Fallback: finite difference\n        const current = this.generator.next(t).value;\n        return getGeneratorVelocity((s) => this.generator.next(s).value, t, current);\n    }\n    get speed() {\n        return this.playbackSpeed;\n    }\n    set speed(newSpeed) {\n        const hasChanged = this.playbackSpeed !== newSpeed;\n        if (hasChanged && this.driver) {\n            this.updateTime(time.now());\n        }\n        this.playbackSpeed = newSpeed;\n        if (hasChanged && this.driver) {\n            this.time = millisecondsToSeconds(this.currentTime);\n        }\n    }\n    play() {\n        if (this.isStopped)\n            return;\n        const { driver = frameloopDriver, startTime } = this.options;\n        if (!this.driver) {\n            this.driver = driver((timestamp) => this.tick(timestamp));\n        }\n        this.options.onPlay?.();\n        const now = this.driver.now();\n        if (this.state === \"finished\") {\n            this.updateFinished();\n            this.startTime = now;\n        }\n        else if (this.holdTime !== null) {\n            this.startTime = now - this.holdTime;\n        }\n        else if (!this.startTime) {\n            this.startTime = startTime ?? now;\n        }\n        if (this.state === \"finished\" && this.speed < 0) {\n            this.startTime += this.calculatedDuration;\n        }\n        this.holdTime = null;\n        /**\n         * Set playState to running only after we've used it in\n         * the previous logic.\n         */\n        this.state = \"running\";\n        this.driver.start();\n    }\n    pause() {\n        this.state = \"paused\";\n        this.updateTime(time.now());\n        this.holdTime = this.currentTime;\n    }\n    complete() {\n        if (this.state !== \"running\") {\n            this.play();\n        }\n        this.state = \"finished\";\n        this.holdTime = null;\n    }\n    finish() {\n        this.notifyFinished();\n        this.teardown();\n        this.state = \"finished\";\n        this.options.onComplete?.();\n    }\n    cancel() {\n        this.holdTime = null;\n        this.startTime = 0;\n        this.tick(0);\n        this.teardown();\n        this.options.onCancel?.();\n    }\n    teardown() {\n        this.state = \"idle\";\n        this.stopDriver();\n        this.startTime = this.holdTime = null;\n        activeAnimations.mainThread--;\n    }\n    stopDriver() {\n        if (!this.driver)\n            return;\n        this.driver.stop();\n        this.driver = undefined;\n    }\n    sample(sampleTime) {\n        this.startTime = 0;\n        return this.tick(sampleTime, true);\n    }\n    attachTimeline(timeline) {\n        if (this.options.allowFlatten) {\n            this.options.type = \"keyframes\";\n            this.options.ease = \"linear\";\n            this.initAnimation();\n        }\n        this.driver?.stop();\n        return timeline.observe(this);\n    }\n}\n// Legacy function support\nfunction animateValue(options) {\n    return new JSAnimation(options);\n}\n\nexport { JSAnimation, animateValue };\n//# sourceMappingURL=JSAnimation.mjs.map\n","import { invariant, millisecondsToSeconds, secondsToMilliseconds, noop } from 'motion-utils';\nimport { setStyle } from '../render/dom/style-set.mjs';\nimport { supportsScrollTimeline } from '../utils/supports/scroll-timeline.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\nimport { startWaapiAnimation } from './waapi/start-waapi-animation.mjs';\nimport { applyGeneratorOptions } from './waapi/utils/apply-generator.mjs';\n\n/**\n * NativeAnimation implements AnimationPlaybackControls for the browser's Web Animations API.\n */\nclass NativeAnimation extends WithPromise {\n    constructor(options) {\n        super();\n        this.finishedTime = null;\n        this.isStopped = false;\n        /**\n         * Tracks a manually-set start time that takes precedence over WAAPI's\n         * dynamic startTime. This is cleared when play() or time setter is called,\n         * allowing WAAPI to take over timing.\n         */\n        this.manualStartTime = null;\n        if (!options)\n            return;\n        const { element, name, keyframes, pseudoElement, allowFlatten = false, finalKeyframe, onComplete, } = options;\n        this.isPseudoElement = Boolean(pseudoElement);\n        this.allowFlatten = allowFlatten;\n        this.options = options;\n        invariant(typeof options.type !== \"string\", `Mini animate() doesn't support \"type\" as a string.`, \"mini-spring\");\n        const transition = applyGeneratorOptions(options);\n        this.animation = startWaapiAnimation(element, name, keyframes, transition, pseudoElement);\n        if (transition.autoplay === false) {\n            this.animation.pause();\n        }\n        this.animation.onfinish = () => {\n            this.finishedTime = this.time;\n            if (!pseudoElement) {\n                const keyframe = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed);\n                if (this.updateMotionValue) {\n                    this.updateMotionValue(keyframe);\n                }\n                /**\n                 * If we can, we want to commit the final style as set by the user,\n                 * rather than the computed keyframe value supplied by the animation.\n                 * We always do this, even when a motion value is present, to prevent\n                 * a visual flash in Firefox where the WAAPI animation's fill is removed\n                 * during cancel() before the scheduled render can apply the correct value.\n                 */\n                setStyle(element, name, keyframe);\n                this.animation.cancel();\n            }\n            onComplete?.();\n            this.notifyFinished();\n        };\n    }\n    play() {\n        if (this.isStopped)\n            return;\n        this.manualStartTime = null;\n        this.animation.play();\n        if (this.state === \"finished\") {\n            this.updateFinished();\n        }\n    }\n    pause() {\n        this.animation.pause();\n    }\n    complete() {\n        this.animation.finish?.();\n    }\n    cancel() {\n        try {\n            this.animation.cancel();\n        }\n        catch (e) { }\n    }\n    stop() {\n        if (this.isStopped)\n            return;\n        this.isStopped = true;\n        const { state } = this;\n        if (state === \"idle\" || state === \"finished\") {\n            return;\n        }\n        if (this.updateMotionValue) {\n            this.updateMotionValue();\n        }\n        else {\n            this.commitStyles();\n        }\n        if (!this.isPseudoElement)\n            this.cancel();\n    }\n    /**\n     * WAAPI doesn't natively have any interruption capabilities.\n     *\n     * In this method, we commit styles back to the DOM before cancelling\n     * the animation.\n     *\n     * This is designed to be overridden by NativeAnimationExtended, which\n     * will create a renderless JS animation and sample it twice to calculate\n     * its current value, \"previous\" value, and therefore allow\n     * Motion to also correctly calculate velocity for any subsequent animation\n     * while deferring the commit until the next animation frame.\n     */\n    commitStyles() {\n        const element = this.options?.element;\n        if (!this.isPseudoElement && element?.isConnected) {\n            this.animation.commitStyles?.();\n        }\n    }\n    get duration() {\n        const duration = this.animation.effect?.getComputedTiming?.().duration || 0;\n        return millisecondsToSeconds(Number(duration));\n    }\n    get iterationDuration() {\n        const { delay = 0 } = this.options || {};\n        return this.duration + millisecondsToSeconds(delay);\n    }\n    get time() {\n        return millisecondsToSeconds(Number(this.animation.currentTime) || 0);\n    }\n    set time(newTime) {\n        const wasFinished = this.finishedTime !== null;\n        this.manualStartTime = null;\n        this.finishedTime = null;\n        this.animation.currentTime = secondsToMilliseconds(newTime);\n        if (wasFinished) {\n            this.animation.pause();\n        }\n    }\n    /**\n     * The playback speed of the animation.\n     * 1 = normal speed, 2 = double speed, 0.5 = half speed.\n     */\n    get speed() {\n        return this.animation.playbackRate;\n    }\n    set speed(newSpeed) {\n        // Allow backwards playback after finishing\n        if (newSpeed < 0)\n            this.finishedTime = null;\n        this.animation.playbackRate = newSpeed;\n    }\n    get state() {\n        return this.finishedTime !== null\n            ? \"finished\"\n            : this.animation.playState;\n    }\n    get startTime() {\n        return this.manualStartTime ?? Number(this.animation.startTime);\n    }\n    set startTime(newStartTime) {\n        this.manualStartTime = this.animation.startTime = newStartTime;\n    }\n    /**\n     * Attaches a timeline to the animation, for instance the `ScrollTimeline`.\n     */\n    attachTimeline({ timeline, rangeStart, rangeEnd, observe, }) {\n        if (this.allowFlatten) {\n            this.animation.effect?.updateTiming({ easing: \"linear\" });\n        }\n        this.animation.onfinish = null;\n        if (timeline && supportsScrollTimeline()) {\n            this.animation.timeline = timeline;\n            if (rangeStart)\n                this.animation.rangeStart = rangeStart;\n            if (rangeEnd)\n                this.animation.rangeEnd = rangeEnd;\n            return noop;\n        }\n        else {\n            return observe(this);\n        }\n    }\n}\n\nexport { NativeAnimation };\n//# sourceMappingURL=NativeAnimation.mjs.map\n","import { clamp } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { setStyle } from '../render/dom/style-set.mjs';\nimport { JSAnimation } from './JSAnimation.mjs';\nimport { NativeAnimation } from './NativeAnimation.mjs';\nimport { replaceTransitionType } from './utils/replace-transition-type.mjs';\nimport { replaceStringEasing } from './waapi/utils/unsupported-easing.mjs';\n\n/**\n * 10ms is chosen here as it strikes a balance between smooth\n * results (more than one keyframe per frame at 60fps) and\n * keyframe quantity.\n */\nconst sampleDelta = 10; //ms\nclass NativeAnimationExtended extends NativeAnimation {\n    constructor(options) {\n        /**\n         * The base NativeAnimation function only supports a subset\n         * of Motion easings, and WAAPI also only supports some\n         * easing functions via string/cubic-bezier definitions.\n         *\n         * This function replaces those unsupported easing functions\n         * with a JS easing function. This will later get compiled\n         * to a linear() easing function.\n         */\n        replaceStringEasing(options);\n        /**\n         * Ensure we replace the transition type with a generator function\n         * before passing to WAAPI.\n         *\n         * TODO: Does this have a better home? It could be shared with\n         * JSAnimation.\n         */\n        replaceTransitionType(options);\n        super(options);\n        /**\n         * Only set startTime when the animation should autoplay.\n         * Setting startTime on a paused WAAPI animation unpauses it\n         * (per the WAAPI spec), which breaks autoplay: false.\n         */\n        if (options.startTime !== undefined && options.autoplay !== false) {\n            this.startTime = options.startTime;\n        }\n        this.options = options;\n    }\n    /**\n     * WAAPI doesn't natively have any interruption capabilities.\n     *\n     * Rather than read committed styles back out of the DOM, we can\n     * create a renderless JS animation and sample it twice to calculate\n     * its current value, \"previous\" value, and therefore allow\n     * Motion to calculate velocity for any subsequent animation.\n     */\n    updateMotionValue(value) {\n        const { motionValue, onUpdate, onComplete, element, ...options } = this.options;\n        if (!motionValue)\n            return;\n        if (value !== undefined) {\n            motionValue.set(value);\n            return;\n        }\n        const sampleAnimation = new JSAnimation({\n            ...options,\n            autoplay: false,\n        });\n        /**\n         * Use wall-clock elapsed time for sampling.\n         * Under CPU load, WAAPI's currentTime may not reflect actual\n         * elapsed time, causing incorrect sampling and visual jumps.\n         */\n        const sampleTime = Math.max(sampleDelta, time.now() - this.startTime);\n        const delta = clamp(0, sampleDelta, sampleTime - sampleDelta);\n        const current = sampleAnimation.sample(sampleTime).value;\n        /**\n         * Write the estimated value to inline style so it persists\n         * after cancel(), covering the async gap before the next\n         * animation starts.\n         */\n        const { name } = this.options;\n        if (element && name)\n            setStyle(element, name, current);\n        motionValue.setWithVelocity(sampleAnimation.sample(Math.max(0, sampleTime - delta)).value, current, delta);\n        sampleAnimation.stop();\n    }\n}\n\nexport { NativeAnimationExtended };\n//# sourceMappingURL=NativeAnimationExtended.mjs.map\n","import { animateMotionValue } from '../interfaces/motion-value.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction animateSingleValue(value, keyframes, options) {\n    const motionValue$1 = isMotionValue(value) ? value : motionValue(value);\n    motionValue$1.start(animateMotionValue(\"\", motionValue$1, keyframes, options));\n    return motionValue$1.animation;\n}\n\nexport { animateSingleValue };\n//# sourceMappingURL=single-value.mjs.map\n","import { time } from '../../frameloop/sync-time.mjs';\nimport { frameData, cancelFrame, frame } from '../../frameloop/frame.mjs';\n\nconst frameloopDriver = (update) => {\n    const passTimestamp = ({ timestamp }) => update(timestamp);\n    return {\n        start: (keepAlive = true) => frame.update(passTimestamp, keepAlive),\n        stop: () => cancelFrame(passTimestamp),\n        /**\n         * If we're processing this frame we can use the\n         * framelocked timestamp to keep things in sync.\n         */\n        now: () => (frameData.isProcessing ? frameData.timestamp : time.now()),\n    };\n};\n\nexport { frameloopDriver };\n//# sourceMappingURL=frame.mjs.map\n","import { spring } from './spring.mjs';\nimport { getGeneratorVelocity } from './utils/velocity.mjs';\n\nfunction inertia({ keyframes, velocity = 0.0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed, }) {\n    const origin = keyframes[0];\n    const state = {\n        done: false,\n        value: origin,\n    };\n    const isOutOfBounds = (v) => (min !== undefined && v < min) || (max !== undefined && v > max);\n    const nearestBoundary = (v) => {\n        if (min === undefined)\n            return max;\n        if (max === undefined)\n            return min;\n        return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n    };\n    let amplitude = power * velocity;\n    const ideal = origin + amplitude;\n    const target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n    /**\n     * If the target has changed we need to re-calculate the amplitude, otherwise\n     * the animation will start from the wrong position.\n     */\n    if (target !== ideal)\n        amplitude = target - origin;\n    const calcDelta = (t) => -amplitude * Math.exp(-t / timeConstant);\n    const calcLatest = (t) => target + calcDelta(t);\n    const applyFriction = (t) => {\n        const delta = calcDelta(t);\n        const latest = calcLatest(t);\n        state.done = Math.abs(delta) <= restDelta;\n        state.value = state.done ? target : latest;\n    };\n    /**\n     * Ideally this would resolve for t in a stateless way, we could\n     * do that by always precalculating the animation but as we know\n     * this will be done anyway we can assume that spring will\n     * be discovered during that.\n     */\n    let timeReachedBoundary;\n    let spring$1;\n    const checkCatchBoundary = (t) => {\n        if (!isOutOfBounds(state.value))\n            return;\n        timeReachedBoundary = t;\n        spring$1 = spring({\n            keyframes: [state.value, nearestBoundary(state.value)],\n            velocity: getGeneratorVelocity(calcLatest, t, state.value), // TODO: This should be passing * 1000\n            damping: bounceDamping,\n            stiffness: bounceStiffness,\n            restDelta,\n            restSpeed,\n        });\n    };\n    checkCatchBoundary(0);\n    return {\n        calculatedDuration: null,\n        next: (t) => {\n            /**\n             * We need to resolve the friction to figure out if we need a\n             * spring but we don't want to do this twice per frame. So here\n             * we flag if we updated for this frame and later if we did\n             * we can skip doing it again.\n             */\n            let hasUpdatedFrame = false;\n            if (!spring$1 && timeReachedBoundary === undefined) {\n                hasUpdatedFrame = true;\n                applyFriction(t);\n                checkCatchBoundary(t);\n            }\n            /**\n             * If we have a spring and the provided t is beyond the moment the friction\n             * animation crossed the min/max boundary, use the spring.\n             */\n            if (timeReachedBoundary !== undefined && t >= timeReachedBoundary) {\n                return spring$1.next(t - timeReachedBoundary);\n            }\n            else {\n                !hasUpdatedFrame && applyFriction(t);\n                return state;\n            }\n        },\n    };\n}\n\nexport { inertia };\n//# sourceMappingURL=inertia.mjs.map\n","import { easeInOut, isEasingArray, easingDefinitionToFunction } from 'motion-utils';\nimport { interpolate } from '../../utils/interpolate.mjs';\nimport { defaultOffset } from '../keyframes/offsets/default.mjs';\nimport { convertOffsetToTimes } from '../keyframes/offsets/time.mjs';\n\nfunction defaultEasing(values, easing) {\n    return values.map(() => easing || easeInOut).splice(0, values.length - 1);\n}\nfunction keyframes({ duration = 300, keyframes: keyframeValues, times, ease = \"easeInOut\", }) {\n    /**\n     * Easing functions can be externally defined as strings. Here we convert them\n     * into actual functions.\n     */\n    const easingFunctions = isEasingArray(ease)\n        ? ease.map(easingDefinitionToFunction)\n        : easingDefinitionToFunction(ease);\n    /**\n     * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n     * to reduce GC during animation.\n     */\n    const state = {\n        done: false,\n        value: keyframeValues[0],\n    };\n    /**\n     * Create a times array based on the provided 0-1 offsets\n     */\n    const absoluteTimes = convertOffsetToTimes(\n    // Only use the provided offsets if they're the correct length\n    // TODO Maybe we should warn here if there's a length mismatch\n    times && times.length === keyframeValues.length\n        ? times\n        : defaultOffset(keyframeValues), duration);\n    const mapTimeToKeyframe = interpolate(absoluteTimes, keyframeValues, {\n        ease: Array.isArray(easingFunctions)\n            ? easingFunctions\n            : defaultEasing(keyframeValues, easingFunctions),\n    });\n    return {\n        calculatedDuration: duration,\n        next: (t) => {\n            state.value = mapTimeToKeyframe(t);\n            state.done = t >= duration;\n            return state;\n        },\n    };\n}\n\nexport { defaultEasing, keyframes };\n//# sourceMappingURL=keyframes.mjs.map\n","import { millisecondsToSeconds, clamp, secondsToMilliseconds, warning } from 'motion-utils';\nimport { generateLinearEasing } from '../waapi/utils/linear.mjs';\nimport { calcGeneratorDuration, maxGeneratorDuration } from './utils/calc-duration.mjs';\nimport { createGeneratorEasing } from './utils/create-generator-easing.mjs';\n\nconst springDefaults = {\n    // Default spring physics\n    stiffness: 100,\n    damping: 10,\n    mass: 1.0,\n    velocity: 0.0,\n    // Default duration/bounce-based options\n    duration: 800, // in ms\n    bounce: 0.3,\n    visualDuration: 0.3, // in seconds\n    // Rest thresholds\n    restSpeed: {\n        granular: 0.01,\n        default: 2,\n    },\n    restDelta: {\n        granular: 0.005,\n        default: 0.5,\n    },\n    // Limits\n    minDuration: 0.01, // in seconds\n    maxDuration: 10.0, // in seconds\n    minDamping: 0.05,\n    maxDamping: 1,\n};\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n    return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\nconst rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n    let result = initialGuess;\n    for (let i = 1; i < rootIterations; i++) {\n        result = result - envelope(result) / derivative(result);\n    }\n    return result;\n}\n/**\n * This is ported from the Framer implementation of duration-based spring resolution.\n */\nconst safeMin = 0.001;\nfunction findSpring({ duration = springDefaults.duration, bounce = springDefaults.bounce, velocity = springDefaults.velocity, mass = springDefaults.mass, }) {\n    let envelope;\n    let derivative;\n    warning(duration <= secondsToMilliseconds(springDefaults.maxDuration), \"Spring duration must be 10 seconds or less\", \"spring-duration-limit\");\n    let dampingRatio = 1 - bounce;\n    /**\n     * Restrict dampingRatio and duration to within acceptable ranges.\n     */\n    dampingRatio = clamp(springDefaults.minDamping, springDefaults.maxDamping, dampingRatio);\n    duration = clamp(springDefaults.minDuration, springDefaults.maxDuration, millisecondsToSeconds(duration));\n    if (dampingRatio < 1) {\n        /**\n         * Underdamped spring\n         */\n        envelope = (undampedFreq) => {\n            const exponentialDecay = undampedFreq * dampingRatio;\n            const delta = exponentialDecay * duration;\n            const a = exponentialDecay - velocity;\n            const b = calcAngularFreq(undampedFreq, dampingRatio);\n            const c = Math.exp(-delta);\n            return safeMin - (a / b) * c;\n        };\n        derivative = (undampedFreq) => {\n            const exponentialDecay = undampedFreq * dampingRatio;\n            const delta = exponentialDecay * duration;\n            const d = delta * velocity + velocity;\n            const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n            const f = Math.exp(-delta);\n            const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n            const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n            return (factor * ((d - e) * f)) / g;\n        };\n    }\n    else {\n        /**\n         * Critically-damped spring\n         */\n        envelope = (undampedFreq) => {\n            const a = Math.exp(-undampedFreq * duration);\n            const b = (undampedFreq - velocity) * duration + 1;\n            return -safeMin + a * b;\n        };\n        derivative = (undampedFreq) => {\n            const a = Math.exp(-undampedFreq * duration);\n            const b = (velocity - undampedFreq) * (duration * duration);\n            return a * b;\n        };\n    }\n    const initialGuess = 5 / duration;\n    const undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n    duration = secondsToMilliseconds(duration);\n    if (isNaN(undampedFreq)) {\n        return {\n            stiffness: springDefaults.stiffness,\n            damping: springDefaults.damping,\n            duration,\n        };\n    }\n    else {\n        const stiffness = Math.pow(undampedFreq, 2) * mass;\n        return {\n            stiffness,\n            damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n            duration,\n        };\n    }\n}\nconst durationKeys = [\"duration\", \"bounce\"];\nconst physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n    return keys.some((key) => options[key] !== undefined);\n}\nfunction getSpringOptions(options) {\n    let springOptions = {\n        velocity: springDefaults.velocity,\n        stiffness: springDefaults.stiffness,\n        damping: springDefaults.damping,\n        mass: springDefaults.mass,\n        isResolvedFromDuration: false,\n        ...options,\n    };\n    // stiffness/damping/mass overrides duration/bounce\n    if (!isSpringType(options, physicsKeys) &&\n        isSpringType(options, durationKeys)) {\n        // Time-defined springs should ignore inherited velocity.\n        // Velocity from interrupted animations can cause findSpring()\n        // to compute wildly different spring parameters, leading to\n        // massive oscillation on small-range animations.\n        springOptions.velocity = 0;\n        if (options.visualDuration) {\n            const visualDuration = options.visualDuration;\n            const root = (2 * Math.PI) / (visualDuration * 1.2);\n            const stiffness = root * root;\n            const damping = 2 *\n                clamp(0.05, 1, 1 - (options.bounce || 0)) *\n                Math.sqrt(stiffness);\n            springOptions = {\n                ...springOptions,\n                mass: springDefaults.mass,\n                stiffness,\n                damping,\n            };\n        }\n        else {\n            const derived = findSpring({ ...options, velocity: 0 });\n            springOptions = {\n                ...springOptions,\n                ...derived,\n                mass: springDefaults.mass,\n            };\n            springOptions.isResolvedFromDuration = true;\n        }\n    }\n    return springOptions;\n}\nfunction spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce = springDefaults.bounce) {\n    const options = typeof optionsOrVisualDuration !== \"object\"\n        ? {\n            visualDuration: optionsOrVisualDuration,\n            keyframes: [0, 1],\n            bounce,\n        }\n        : optionsOrVisualDuration;\n    let { restSpeed, restDelta } = options;\n    const origin = options.keyframes[0];\n    const target = options.keyframes[options.keyframes.length - 1];\n    /**\n     * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n     * to reduce GC during animation.\n     */\n    const state = { done: false, value: origin };\n    const { stiffness, damping, mass, duration, velocity, isResolvedFromDuration, } = getSpringOptions({\n        ...options,\n        velocity: -millisecondsToSeconds(options.velocity || 0),\n    });\n    const initialVelocity = velocity || 0.0;\n    const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n    const initialDelta = target - origin;\n    const undampedAngularFreq = millisecondsToSeconds(Math.sqrt(stiffness / mass));\n    /**\n     * If we're working on a granular scale, use smaller defaults for determining\n     * when the spring is finished.\n     *\n     * These defaults have been selected emprically based on what strikes a good\n     * ratio between feeling good and finishing as soon as changes are imperceptible.\n     */\n    const isGranularScale = Math.abs(initialDelta) < 5;\n    restSpeed || (restSpeed = isGranularScale\n        ? springDefaults.restSpeed.granular\n        : springDefaults.restSpeed.default);\n    restDelta || (restDelta = isGranularScale\n        ? springDefaults.restDelta.granular\n        : springDefaults.restDelta.default);\n    let resolveSpring;\n    let resolveVelocity;\n    // Underdamped coefficients, hoisted for use in the inlined next() hot path\n    let angularFreq;\n    let A;\n    let sinCoeff;\n    let cosCoeff;\n    if (dampingRatio < 1) {\n        angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);\n        A =\n            (initialVelocity +\n                dampingRatio * undampedAngularFreq * initialDelta) /\n                angularFreq;\n        // Underdamped spring\n        resolveSpring = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            return (target -\n                envelope *\n                    (A * Math.sin(angularFreq * t) +\n                        initialDelta * Math.cos(angularFreq * t)));\n        };\n        // Analytical derivative of underdamped spring (px/ms)\n        sinCoeff =\n            dampingRatio * undampedAngularFreq * A + initialDelta * angularFreq;\n        cosCoeff =\n            dampingRatio * undampedAngularFreq * initialDelta - A * angularFreq;\n        resolveVelocity = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            return envelope *\n                (sinCoeff * Math.sin(angularFreq * t) +\n                    cosCoeff * Math.cos(angularFreq * t));\n        };\n    }\n    else if (dampingRatio === 1) {\n        // Critically damped spring\n        resolveSpring = (t) => target -\n            Math.exp(-undampedAngularFreq * t) *\n                (initialDelta +\n                    (initialVelocity + undampedAngularFreq * initialDelta) * t);\n        // Analytical derivative of critically damped spring (px/ms)\n        const C = initialVelocity + undampedAngularFreq * initialDelta;\n        resolveVelocity = (t) => Math.exp(-undampedAngularFreq * t) *\n            (undampedAngularFreq * C * t - initialVelocity);\n    }\n    else {\n        // Overdamped spring\n        const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n        resolveSpring = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            // When performing sinh or cosh values can hit Infinity so we cap them here\n            const freqForT = Math.min(dampedAngularFreq * t, 300);\n            return (target -\n                (envelope *\n                    ((initialVelocity +\n                        dampingRatio * undampedAngularFreq * initialDelta) *\n                        Math.sinh(freqForT) +\n                        dampedAngularFreq *\n                            initialDelta *\n                            Math.cosh(freqForT))) /\n                    dampedAngularFreq);\n        };\n        // Analytical derivative of overdamped spring (px/ms)\n        const P = (initialVelocity +\n            dampingRatio * undampedAngularFreq * initialDelta) /\n            dampedAngularFreq;\n        const sinhCoeff = dampingRatio * undampedAngularFreq * P - initialDelta * dampedAngularFreq;\n        const coshCoeff = dampingRatio * undampedAngularFreq * initialDelta - P * dampedAngularFreq;\n        resolveVelocity = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            const freqForT = Math.min(dampedAngularFreq * t, 300);\n            return envelope *\n                (sinhCoeff * Math.sinh(freqForT) +\n                    coshCoeff * Math.cosh(freqForT));\n        };\n    }\n    const generator = {\n        calculatedDuration: isResolvedFromDuration ? duration || null : null,\n        velocity: (t) => secondsToMilliseconds(resolveVelocity(t)),\n        next: (t) => {\n            /**\n             * For underdamped physics springs we need both position and\n             * velocity each tick. Compute shared trig values once to avoid\n             * duplicate Math.exp/sin/cos calls on the hot path.\n             */\n            if (!isResolvedFromDuration && dampingRatio < 1) {\n                const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n                const sin = Math.sin(angularFreq * t);\n                const cos = Math.cos(angularFreq * t);\n                const current = target -\n                    envelope *\n                        (A * sin + initialDelta * cos);\n                const currentVelocity = secondsToMilliseconds(envelope *\n                    (sinCoeff * sin + cosCoeff * cos));\n                state.done =\n                    Math.abs(currentVelocity) <= restSpeed &&\n                        Math.abs(target - current) <= restDelta;\n                state.value = state.done ? target : current;\n                return state;\n            }\n            const current = resolveSpring(t);\n            if (!isResolvedFromDuration) {\n                const currentVelocity = secondsToMilliseconds(resolveVelocity(t));\n                state.done =\n                    Math.abs(currentVelocity) <= restSpeed &&\n                        Math.abs(target - current) <= restDelta;\n            }\n            else {\n                state.done = t >= duration;\n            }\n            state.value = state.done ? target : current;\n            return state;\n        },\n        toString: () => {\n            const calculatedDuration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);\n            const easing = generateLinearEasing((progress) => generator.next(calculatedDuration * progress).value, calculatedDuration, 30);\n            return calculatedDuration + \"ms \" + easing;\n        },\n        toTransition: () => { },\n    };\n    return generator;\n}\nspring.applyToOptions = (options) => {\n    const generatorOptions = createGeneratorEasing(options, 100, spring);\n    options.ease = generatorOptions.ease;\n    options.duration = secondsToMilliseconds(generatorOptions.duration);\n    options.type = \"keyframes\";\n    return options;\n};\n\nexport { spring };\n//# sourceMappingURL=spring.mjs.map\n","/**\n * Implement a practical max duration for keyframe generation\n * to prevent infinite loops\n */\nconst maxGeneratorDuration = 20000;\nfunction calcGeneratorDuration(generator) {\n    let duration = 0;\n    const timeStep = 50;\n    let state = generator.next(duration);\n    while (!state.done && duration < maxGeneratorDuration) {\n        duration += timeStep;\n        state = generator.next(duration);\n    }\n    return duration >= maxGeneratorDuration ? Infinity : duration;\n}\n\nexport { calcGeneratorDuration, maxGeneratorDuration };\n//# sourceMappingURL=calc-duration.mjs.map\n","import { millisecondsToSeconds } from 'motion-utils';\nimport { calcGeneratorDuration, maxGeneratorDuration } from './calc-duration.mjs';\n\n/**\n * Create a progress => progress easing function from a generator.\n */\nfunction createGeneratorEasing(options, scale = 100, createGenerator) {\n    const generator = createGenerator({ ...options, keyframes: [0, scale] });\n    const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);\n    return {\n        type: \"keyframes\",\n        ease: (progress) => {\n            return generator.next(duration * progress).value / scale;\n        },\n        duration: millisecondsToSeconds(duration),\n    };\n}\n\nexport { createGeneratorEasing };\n//# sourceMappingURL=create-generator-easing.mjs.map\n","function isGenerator(type) {\n    return typeof type === \"function\" && \"applyToOptions\" in type;\n}\n\nexport { isGenerator };\n//# sourceMappingURL=is-generator.mjs.map\n","import { velocityPerSecond } from 'motion-utils';\n\nconst velocitySampleDuration = 5; // ms\nfunction getGeneratorVelocity(resolveValue, t, current) {\n    const prevT = Math.max(t - velocitySampleDuration, 0);\n    return velocityPerSecond(current - resolveValue(prevT), t - prevT);\n}\n\nexport { getGeneratorVelocity };\n//# sourceMappingURL=velocity.mjs.map\n","import { secondsToMilliseconds, MotionGlobalConfig } from 'motion-utils';\nimport { AsyncMotionValueAnimation } from '../AsyncMotionValueAnimation.mjs';\nimport { JSAnimation } from '../JSAnimation.mjs';\nimport { getValueTransition } from '../utils/get-value-transition.mjs';\nimport { makeAnimationInstant } from '../utils/make-animation-instant.mjs';\nimport { getDefaultTransition } from '../utils/default-transitions.mjs';\nimport { getFinalKeyframe } from '../keyframes/get-final.mjs';\nimport { isTransitionDefined } from '../utils/is-transition-defined.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {\n    const valueTransition = getValueTransition(transition, name) || {};\n    /**\n     * Most transition values are currently completely overwritten by value-specific\n     * transitions. In the future it'd be nicer to blend these transitions. But for now\n     * delay actually does inherit from the root transition if not value-specific.\n     */\n    const delay = valueTransition.delay || transition.delay || 0;\n    /**\n     * Elapsed isn't a public transition option but can be passed through from\n     * optimized appear effects in milliseconds.\n     */\n    let { elapsed = 0 } = transition;\n    elapsed = elapsed - secondsToMilliseconds(delay);\n    const options = {\n        keyframes: Array.isArray(target) ? target : [null, target],\n        ease: \"easeOut\",\n        velocity: value.getVelocity(),\n        ...valueTransition,\n        delay: -elapsed,\n        onUpdate: (v) => {\n            value.set(v);\n            valueTransition.onUpdate && valueTransition.onUpdate(v);\n        },\n        onComplete: () => {\n            onComplete();\n            valueTransition.onComplete && valueTransition.onComplete();\n        },\n        name,\n        motionValue: value,\n        element: isHandoff ? undefined : element,\n    };\n    /**\n     * If there's no transition defined for this value, we can generate\n     * unique transition settings for this value.\n     */\n    if (!isTransitionDefined(valueTransition)) {\n        Object.assign(options, getDefaultTransition(name, options));\n    }\n    /**\n     * Both WAAPI and our internal animation functions use durations\n     * as defined by milliseconds, while our external API defines them\n     * as seconds.\n     */\n    options.duration && (options.duration = secondsToMilliseconds(options.duration));\n    options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));\n    /**\n     * Support deprecated way to set initial value. Prefer keyframe syntax.\n     */\n    if (options.from !== undefined) {\n        options.keyframes[0] = options.from;\n    }\n    let shouldSkip = false;\n    if (options.type === false ||\n        (options.duration === 0 && !options.repeatDelay)) {\n        makeAnimationInstant(options);\n        if (options.delay === 0) {\n            shouldSkip = true;\n        }\n    }\n    if (MotionGlobalConfig.instantAnimations ||\n        MotionGlobalConfig.skipAnimations ||\n        element?.shouldSkipAnimations) {\n        shouldSkip = true;\n        makeAnimationInstant(options);\n        options.delay = 0;\n    }\n    /**\n     * If the transition type or easing has been explicitly set by the user\n     * then we don't want to allow flattening the animation.\n     */\n    options.allowFlatten = !valueTransition.type && !valueTransition.ease;\n    /**\n     * If we can or must skip creating the animation, and apply only\n     * the final keyframe, do so. We also check once keyframes are resolved but\n     * this early check prevents the need to create an animation at all.\n     */\n    if (shouldSkip && !isHandoff && value.get() !== undefined) {\n        const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);\n        if (finalKeyframe !== undefined) {\n            frame.update(() => {\n                options.onUpdate(finalKeyframe);\n                options.onComplete();\n            });\n            return;\n        }\n    }\n    return valueTransition.isSync\n        ? new JSAnimation(options)\n        : new AsyncMotionValueAnimation(options);\n};\n\nexport { animateMotionValue };\n//# sourceMappingURL=motion-value.mjs.map\n","import { getValueTransition } from '../utils/get-value-transition.mjs';\nimport { resolveTransition } from '../utils/resolve-transition.mjs';\nimport { positionalKeys } from '../../render/utils/keys-position.mjs';\nimport { setTarget } from '../../render/utils/setters.mjs';\nimport { addValueToWillChange } from '../../value/will-change/add-will-change.mjs';\nimport { getOptimisedAppearId } from '../optimized-appear/get-appear-id.mjs';\nimport { animateMotionValue } from './motion-value.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\n/**\n * Decide whether we should block this animation. Previously, we achieved this\n * just by checking whether the key was listed in protectedKeys, but this\n * posed problems if an animation was triggered by afterChildren and protectedKeys\n * had been set to true in the meantime.\n */\nfunction shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {\n    const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;\n    needsAnimating[key] = false;\n    return shouldBlock;\n}\nfunction animateTarget(visualElement, targetAndTransition, { delay = 0, transitionOverride, type } = {}) {\n    let { transition, transitionEnd, ...target } = targetAndTransition;\n    const defaultTransition = visualElement.getDefaultTransition();\n    transition = transition\n        ? resolveTransition(transition, defaultTransition)\n        : defaultTransition;\n    const reduceMotion = transition?.reduceMotion;\n    if (transitionOverride)\n        transition = transitionOverride;\n    const animations = [];\n    const animationTypeState = type &&\n        visualElement.animationState &&\n        visualElement.animationState.getState()[type];\n    for (const key in target) {\n        const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);\n        const valueTarget = target[key];\n        if (valueTarget === undefined ||\n            (animationTypeState &&\n                shouldBlockAnimation(animationTypeState, key))) {\n            continue;\n        }\n        const valueTransition = {\n            delay,\n            ...getValueTransition(transition || {}, key),\n        };\n        /**\n         * If the value is already at the defined target, skip the animation.\n         * We still re-assert the value via frame.update to take precedence\n         * over any stale transitionEnd callbacks from previous animations.\n         */\n        const currentValue = value.get();\n        if (currentValue !== undefined &&\n            !value.isAnimating() &&\n            !Array.isArray(valueTarget) &&\n            valueTarget === currentValue &&\n            !valueTransition.velocity) {\n            frame.update(() => value.set(valueTarget));\n            continue;\n        }\n        /**\n         * If this is the first time a value is being animated, check\n         * to see if we're handling off from an existing animation.\n         */\n        let isHandoff = false;\n        if (window.MotionHandoffAnimation) {\n            const appearId = getOptimisedAppearId(visualElement);\n            if (appearId) {\n                const startTime = window.MotionHandoffAnimation(appearId, key, frame);\n                if (startTime !== null) {\n                    valueTransition.startTime = startTime;\n                    isHandoff = true;\n                }\n            }\n        }\n        addValueToWillChange(visualElement, key);\n        const shouldReduceMotion = reduceMotion ?? visualElement.shouldReduceMotion;\n        value.start(animateMotionValue(key, value, valueTarget, shouldReduceMotion && positionalKeys.has(key)\n            ? { type: false }\n            : valueTransition, visualElement, isHandoff));\n        const animation = value.animation;\n        if (animation) {\n            animations.push(animation);\n        }\n    }\n    if (transitionEnd) {\n        const applyTransitionEnd = () => frame.update(() => {\n            transitionEnd && setTarget(visualElement, transitionEnd);\n        });\n        if (animations.length) {\n            Promise.all(animations).then(applyTransitionEnd);\n        }\n        else {\n            applyTransitionEnd();\n        }\n    }\n    return animations;\n}\n\nexport { animateTarget };\n//# sourceMappingURL=visual-element-target.mjs.map\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { calcChildStagger } from '../utils/calc-child-stagger.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\n\nfunction animateVariant(visualElement, variant, options = {}) {\n    const resolved = resolveVariant(visualElement, variant, options.type === \"exit\"\n        ? visualElement.presenceContext?.custom\n        : undefined);\n    let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};\n    if (options.transitionOverride) {\n        transition = options.transitionOverride;\n    }\n    /**\n     * If we have a variant, create a callback that runs it as an animation.\n     * Otherwise, we resolve a Promise immediately for a composable no-op.\n     */\n    const getAnimation = resolved\n        ? () => Promise.all(animateTarget(visualElement, resolved, options))\n        : () => Promise.resolve();\n    /**\n     * If we have children, create a callback that runs all their animations.\n     * Otherwise, we resolve a Promise immediately for a composable no-op.\n     */\n    const getChildAnimations = visualElement.variantChildren && visualElement.variantChildren.size\n        ? (forwardDelay = 0) => {\n            const { delayChildren = 0, staggerChildren, staggerDirection, } = transition;\n            return animateChildren(visualElement, variant, forwardDelay, delayChildren, staggerChildren, staggerDirection, options);\n        }\n        : () => Promise.resolve();\n    /**\n     * If the transition explicitly defines a \"when\" option, we need to resolve either\n     * this animation or all children animations before playing the other.\n     */\n    const { when } = transition;\n    if (when) {\n        const [first, last] = when === \"beforeChildren\"\n            ? [getAnimation, getChildAnimations]\n            : [getChildAnimations, getAnimation];\n        return first().then(() => last());\n    }\n    else {\n        return Promise.all([getAnimation(), getChildAnimations(options.delay)]);\n    }\n}\nfunction animateChildren(visualElement, variant, delay = 0, delayChildren = 0, staggerChildren = 0, staggerDirection = 1, options) {\n    const animations = [];\n    for (const child of visualElement.variantChildren) {\n        child.notify(\"AnimationStart\", variant);\n        animations.push(animateVariant(child, variant, {\n            ...options,\n            delay: delay +\n                (typeof delayChildren === \"function\" ? 0 : delayChildren) +\n                calcChildStagger(visualElement.variantChildren, child, delayChildren, staggerChildren, staggerDirection),\n        }).then(() => child.notify(\"AnimationComplete\", variant)));\n    }\n    return Promise.all(animations);\n}\n\nexport { animateVariant };\n//# sourceMappingURL=visual-element-variant.mjs.map\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\nimport { animateVariant } from './visual-element-variant.mjs';\n\nfunction animateVisualElement(visualElement, definition, options = {}) {\n    visualElement.notify(\"AnimationStart\", definition);\n    let animation;\n    if (Array.isArray(definition)) {\n        const animations = definition.map((variant) => animateVariant(visualElement, variant, options));\n        animation = Promise.all(animations);\n    }\n    else if (typeof definition === \"string\") {\n        animation = animateVariant(visualElement, definition, options);\n    }\n    else {\n        const resolvedDefinition = typeof definition === \"function\"\n            ? resolveVariant(visualElement, definition, options.custom)\n            : definition;\n        animation = Promise.all(animateTarget(visualElement, resolvedDefinition, options));\n    }\n    return animation.then(() => {\n        visualElement.notify(\"AnimationComplete\", definition);\n    });\n}\n\nexport { animateVisualElement };\n//# sourceMappingURL=visual-element.mjs.map\n","import { positionalKeys } from '../../render/utils/keys-position.mjs';\nimport { findDimensionValueType } from '../../value/types/dimensions.mjs';\nimport { getVariableValue } from '../utils/css-variables-conversion.mjs';\nimport { isCSSVariableToken, containsCSSVariable } from '../utils/is-css-variable.mjs';\nimport { KeyframeResolver } from './KeyframesResolver.mjs';\nimport { isNone } from './utils/is-none.mjs';\nimport { makeNoneKeyframesAnimatable } from './utils/make-none-animatable.mjs';\nimport { positionalValues, isNumOrPxType } from './utils/unit-conversion.mjs';\n\nclass DOMKeyframesResolver extends KeyframeResolver {\n    constructor(unresolvedKeyframes, onComplete, name, motionValue, element) {\n        super(unresolvedKeyframes, onComplete, name, motionValue, element, true);\n    }\n    readKeyframes() {\n        const { unresolvedKeyframes, element, name } = this;\n        if (!element || !element.current)\n            return;\n        super.readKeyframes();\n        /**\n         * If any keyframe is a CSS variable, we need to find its value by sampling the element\n         */\n        for (let i = 0; i < unresolvedKeyframes.length; i++) {\n            let keyframe = unresolvedKeyframes[i];\n            if (typeof keyframe === \"string\") {\n                keyframe = keyframe.trim();\n                if (isCSSVariableToken(keyframe)) {\n                    const resolved = getVariableValue(keyframe, element.current);\n                    if (resolved !== undefined) {\n                        unresolvedKeyframes[i] = resolved;\n                    }\n                    if (i === unresolvedKeyframes.length - 1) {\n                        this.finalKeyframe = keyframe;\n                    }\n                }\n            }\n        }\n        /**\n         * Resolve \"none\" values. We do this potentially twice - once before and once after measuring keyframes.\n         * This could be seen as inefficient but it's a trade-off to avoid measurements in more situations, which\n         * have a far bigger performance impact.\n         */\n        this.resolveNoneKeyframes();\n        /**\n         * Check to see if unit type has changed. If so schedule jobs that will\n         * temporarily set styles to the destination keyframes.\n         * Skip if we have more than two keyframes or this isn't a positional value.\n         * TODO: We can throw if there are multiple keyframes and the value type changes.\n         */\n        if (!positionalKeys.has(name) || unresolvedKeyframes.length !== 2) {\n            return;\n        }\n        const [origin, target] = unresolvedKeyframes;\n        const originType = findDimensionValueType(origin);\n        const targetType = findDimensionValueType(target);\n        /**\n         * If one keyframe contains embedded CSS variables (e.g. in calc()) and the other\n         * doesn't, we need to measure to convert to pixels. This handles GitHub issue #3410.\n         */\n        const originHasVar = containsCSSVariable(origin);\n        const targetHasVar = containsCSSVariable(target);\n        if (originHasVar !== targetHasVar && positionalValues[name]) {\n            this.needsMeasurement = true;\n            return;\n        }\n        /**\n         * Either we don't recognise these value types or we can animate between them.\n         */\n        if (originType === targetType)\n            return;\n        /**\n         * If both values are numbers or pixels, we can animate between them by\n         * converting them to numbers.\n         */\n        if (isNumOrPxType(originType) && isNumOrPxType(targetType)) {\n            for (let i = 0; i < unresolvedKeyframes.length; i++) {\n                const value = unresolvedKeyframes[i];\n                if (typeof value === \"string\") {\n                    unresolvedKeyframes[i] = parseFloat(value);\n                }\n            }\n        }\n        else if (positionalValues[name]) {\n            /**\n             * Else, the only way to resolve this is by measuring the element.\n             */\n            this.needsMeasurement = true;\n        }\n    }\n    resolveNoneKeyframes() {\n        const { unresolvedKeyframes, name } = this;\n        const noneKeyframeIndexes = [];\n        for (let i = 0; i < unresolvedKeyframes.length; i++) {\n            if (unresolvedKeyframes[i] === null ||\n                isNone(unresolvedKeyframes[i])) {\n                noneKeyframeIndexes.push(i);\n            }\n        }\n        if (noneKeyframeIndexes.length) {\n            makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name);\n        }\n    }\n    measureInitialState() {\n        const { element, unresolvedKeyframes, name } = this;\n        if (!element || !element.current)\n            return;\n        if (name === \"height\") {\n            this.suspendedScrollY = window.pageYOffset;\n        }\n        this.measuredOrigin = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n        unresolvedKeyframes[0] = this.measuredOrigin;\n        // Set final key frame to measure after next render\n        const measureKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n        if (measureKeyframe !== undefined) {\n            element.getValue(name, measureKeyframe).jump(measureKeyframe, false);\n        }\n    }\n    measureEndState() {\n        const { element, name, unresolvedKeyframes } = this;\n        if (!element || !element.current)\n            return;\n        const value = element.getValue(name);\n        value && value.jump(this.measuredOrigin, false);\n        const finalKeyframeIndex = unresolvedKeyframes.length - 1;\n        const finalKeyframe = unresolvedKeyframes[finalKeyframeIndex];\n        unresolvedKeyframes[finalKeyframeIndex] = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n        if (finalKeyframe !== null && this.finalKeyframe === undefined) {\n            this.finalKeyframe = finalKeyframe;\n        }\n        // If we removed transform values, reapply them before the next render\n        if (this.removedTransforms?.length) {\n            this.removedTransforms.forEach(([unsetTransformName, unsetTransformValue]) => {\n                element\n                    .getValue(unsetTransformName)\n                    .set(unsetTransformValue);\n            });\n        }\n        this.resolveNoneKeyframes();\n    }\n}\n\nexport { DOMKeyframesResolver };\n//# sourceMappingURL=DOMKeyframesResolver.mjs.map\n","import { fillWildcards } from './utils/fill-wildcards.mjs';\nimport { removeNonTranslationalTransform } from './utils/unit-conversion.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst toResolve = new Set();\nlet isScheduled = false;\nlet anyNeedsMeasurement = false;\nlet isForced = false;\nfunction measureAllKeyframes() {\n    if (anyNeedsMeasurement) {\n        const resolversToMeasure = Array.from(toResolve).filter((resolver) => resolver.needsMeasurement);\n        const elementsToMeasure = new Set(resolversToMeasure.map((resolver) => resolver.element));\n        const transformsToRestore = new Map();\n        /**\n         * Write pass\n         * If we're measuring elements we want to remove bounding box-changing transforms.\n         */\n        elementsToMeasure.forEach((element) => {\n            const removedTransforms = removeNonTranslationalTransform(element);\n            if (!removedTransforms.length)\n                return;\n            transformsToRestore.set(element, removedTransforms);\n            element.render();\n        });\n        // Read\n        resolversToMeasure.forEach((resolver) => resolver.measureInitialState());\n        // Write\n        elementsToMeasure.forEach((element) => {\n            element.render();\n            const restore = transformsToRestore.get(element);\n            if (restore) {\n                restore.forEach(([key, value]) => {\n                    element.getValue(key)?.set(value);\n                });\n            }\n        });\n        // Read\n        resolversToMeasure.forEach((resolver) => resolver.measureEndState());\n        // Write\n        resolversToMeasure.forEach((resolver) => {\n            if (resolver.suspendedScrollY !== undefined) {\n                window.scrollTo(0, resolver.suspendedScrollY);\n            }\n        });\n    }\n    anyNeedsMeasurement = false;\n    isScheduled = false;\n    toResolve.forEach((resolver) => resolver.complete(isForced));\n    toResolve.clear();\n}\nfunction readAllKeyframes() {\n    toResolve.forEach((resolver) => {\n        resolver.readKeyframes();\n        if (resolver.needsMeasurement) {\n            anyNeedsMeasurement = true;\n        }\n    });\n}\nfunction flushKeyframeResolvers() {\n    isForced = true;\n    readAllKeyframes();\n    measureAllKeyframes();\n    isForced = false;\n}\nclass KeyframeResolver {\n    constructor(unresolvedKeyframes, onComplete, name, motionValue, element, isAsync = false) {\n        this.state = \"pending\";\n        /**\n         * Track whether this resolver is async. If it is, it'll be added to the\n         * resolver queue and flushed in the next frame. Resolvers that aren't going\n         * to trigger read/write thrashing don't need to be async.\n         */\n        this.isAsync = false;\n        /**\n         * Track whether this resolver needs to perform a measurement\n         * to resolve its keyframes.\n         */\n        this.needsMeasurement = false;\n        this.unresolvedKeyframes = [...unresolvedKeyframes];\n        this.onComplete = onComplete;\n        this.name = name;\n        this.motionValue = motionValue;\n        this.element = element;\n        this.isAsync = isAsync;\n    }\n    scheduleResolve() {\n        this.state = \"scheduled\";\n        if (this.isAsync) {\n            toResolve.add(this);\n            if (!isScheduled) {\n                isScheduled = true;\n                frame.read(readAllKeyframes);\n                frame.resolveKeyframes(measureAllKeyframes);\n            }\n        }\n        else {\n            this.readKeyframes();\n            this.complete();\n        }\n    }\n    readKeyframes() {\n        const { unresolvedKeyframes, name, element, motionValue } = this;\n        // If initial keyframe is null we need to read it from the DOM\n        if (unresolvedKeyframes[0] === null) {\n            const currentValue = motionValue?.get();\n            // TODO: This doesn't work if the final keyframe is a wildcard\n            const finalKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n            if (currentValue !== undefined) {\n                unresolvedKeyframes[0] = currentValue;\n            }\n            else if (element && name) {\n                const valueAsRead = element.readValue(name, finalKeyframe);\n                if (valueAsRead !== undefined && valueAsRead !== null) {\n                    unresolvedKeyframes[0] = valueAsRead;\n                }\n            }\n            if (unresolvedKeyframes[0] === undefined) {\n                unresolvedKeyframes[0] = finalKeyframe;\n            }\n            if (motionValue && currentValue === undefined) {\n                motionValue.set(unresolvedKeyframes[0]);\n            }\n        }\n        fillWildcards(unresolvedKeyframes);\n    }\n    setFinalKeyframe() { }\n    measureInitialState() { }\n    renderEndStyles() { }\n    measureEndState() { }\n    complete(isForcedComplete = false) {\n        this.state = \"complete\";\n        this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, isForcedComplete);\n        toResolve.delete(this);\n    }\n    cancel() {\n        if (this.state === \"scheduled\") {\n            toResolve.delete(this);\n            this.state = \"pending\";\n        }\n    }\n    resume() {\n        if (this.state === \"pending\")\n            this.scheduleResolve();\n    }\n}\n\nexport { KeyframeResolver, flushKeyframeResolvers };\n//# sourceMappingURL=KeyframesResolver.mjs.map\n","const isNotNull = (value) => value !== null;\nfunction getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }, finalKeyframe, speed = 1) {\n    const resolvedKeyframes = keyframes.filter(isNotNull);\n    const useFirstKeyframe = speed < 0 || (repeat && repeatType !== \"loop\" && repeat % 2 === 1);\n    const index = useFirstKeyframe ? 0 : resolvedKeyframes.length - 1;\n    return !index || finalKeyframe === undefined\n        ? resolvedKeyframes[index]\n        : finalKeyframe;\n}\n\nexport { getFinalKeyframe };\n//# sourceMappingURL=get-final.mjs.map\n","import { fillOffset } from './fill.mjs';\n\nfunction defaultOffset(arr) {\n    const offset = [0];\n    fillOffset(offset, arr.length - 1);\n    return offset;\n}\n\nexport { defaultOffset };\n//# sourceMappingURL=default.mjs.map\n","import { progress } from 'motion-utils';\nimport { mixNumber } from '../../../utils/mix/number.mjs';\n\nfunction fillOffset(offset, remaining) {\n    const min = offset[offset.length - 1];\n    for (let i = 1; i <= remaining; i++) {\n        const offsetProgress = progress(0, remaining, i);\n        offset.push(mixNumber(min, 1, offsetProgress));\n    }\n}\n\nexport { fillOffset };\n//# sourceMappingURL=fill.mjs.map\n","function convertOffsetToTimes(offset, duration) {\n    return offset.map((o) => o * duration);\n}\n\nexport { convertOffsetToTimes };\n//# sourceMappingURL=time.mjs.map\n","function fillWildcards(keyframes) {\n    for (let i = 1; i < keyframes.length; i++) {\n        keyframes[i] ?? (keyframes[i] = keyframes[i - 1]);\n    }\n}\n\nexport { fillWildcards };\n//# sourceMappingURL=fill-wildcards.mjs.map\n","import { isZeroValueString } from 'motion-utils';\n\nfunction isNone(value) {\n    if (typeof value === \"number\") {\n        return value === 0;\n    }\n    else if (value !== null) {\n        return value === \"none\" || value === \"0\" || isZeroValueString(value);\n    }\n    else {\n        return true;\n    }\n}\n\nexport { isNone };\n//# sourceMappingURL=is-none.mjs.map\n","import { analyseComplexValue } from '../../../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../../../value/types/utils/animatable-none.mjs';\n\n/**\n * If we encounter keyframes like \"none\" or \"0\" and we also have keyframes like\n * \"#fff\" or \"200px 200px\" we want to find a keyframe to serve as a template for\n * the \"none\" keyframes. In this case \"#fff\" or \"200px 200px\" - then these get turned into\n * zero equivalents, i.e. \"#fff0\" or \"0px 0px\".\n */\nconst invalidTemplates = new Set([\"auto\", \"none\", \"0\"]);\nfunction makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {\n    let i = 0;\n    let animatableTemplate = undefined;\n    while (i < unresolvedKeyframes.length && !animatableTemplate) {\n        const keyframe = unresolvedKeyframes[i];\n        if (typeof keyframe === \"string\" &&\n            !invalidTemplates.has(keyframe) &&\n            analyseComplexValue(keyframe).values.length) {\n            animatableTemplate = unresolvedKeyframes[i];\n        }\n        i++;\n    }\n    if (animatableTemplate && name) {\n        for (const noneIndex of noneKeyframeIndexes) {\n            unresolvedKeyframes[noneIndex] = getAnimatableNone(name, animatableTemplate);\n        }\n    }\n}\n\nexport { makeNoneKeyframesAnimatable };\n//# sourceMappingURL=make-none-animatable.mjs.map\n","import { parseValueFromTransform } from '../../../render/dom/parse-transform.mjs';\nimport { transformPropOrder } from '../../../render/utils/keys-transform.mjs';\nimport { number } from '../../../value/types/numbers/index.mjs';\nimport { px } from '../../../value/types/numbers/units.mjs';\n\nconst isNumOrPxType = (v) => v === number || v === px;\nconst transformKeys = new Set([\"x\", \"y\", \"z\"]);\nconst nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));\nfunction removeNonTranslationalTransform(visualElement) {\n    const removedTransforms = [];\n    nonTranslationalTransformKeys.forEach((key) => {\n        const value = visualElement.getValue(key);\n        if (value !== undefined) {\n            removedTransforms.push([key, value.get()]);\n            value.set(key.startsWith(\"scale\") ? 1 : 0);\n        }\n    });\n    return removedTransforms;\n}\nconst positionalValues = {\n    // Dimensions\n    width: ({ x }, { paddingLeft = \"0\", paddingRight = \"0\", boxSizing }) => {\n        const width = x.max - x.min;\n        return boxSizing === \"border-box\"\n            ? width\n            : width - parseFloat(paddingLeft) - parseFloat(paddingRight);\n    },\n    height: ({ y }, { paddingTop = \"0\", paddingBottom = \"0\", boxSizing }) => {\n        const height = y.max - y.min;\n        return boxSizing === \"border-box\"\n            ? height\n            : height - parseFloat(paddingTop) - parseFloat(paddingBottom);\n    },\n    top: (_bbox, { top }) => parseFloat(top),\n    left: (_bbox, { left }) => parseFloat(left),\n    bottom: ({ y }, { top }) => parseFloat(top) + (y.max - y.min),\n    right: ({ x }, { left }) => parseFloat(left) + (x.max - x.min),\n    // Transform\n    x: (_bbox, { transform }) => parseValueFromTransform(transform, \"x\"),\n    y: (_bbox, { transform }) => parseValueFromTransform(transform, \"y\"),\n};\n// Alias translate longform names\npositionalValues.translateX = positionalValues.x;\npositionalValues.translateY = positionalValues.y;\n\nexport { isNumOrPxType, positionalValues, removeNonTranslationalTransform };\n//# sourceMappingURL=unit-conversion.mjs.map\n","import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs';\n\nconst optimizedAppearDataId = \"framerAppearId\";\nconst optimizedAppearDataAttribute = \"data-\" + camelToDash(optimizedAppearDataId);\n\nexport { optimizedAppearDataAttribute, optimizedAppearDataId };\n//# sourceMappingURL=data-id.mjs.map\n","import { optimizedAppearDataAttribute } from './data-id.mjs';\n\nfunction getOptimisedAppearId(visualElement) {\n    return visualElement.props[optimizedAppearDataAttribute];\n}\n\nexport { getOptimisedAppearId };\n//# sourceMappingURL=get-appear-id.mjs.map\n","class WithPromise {\n    constructor() {\n        this.updateFinished();\n    }\n    get finished() {\n        return this._finished;\n    }\n    updateFinished() {\n        this._finished = new Promise((resolve) => {\n            this.resolve = resolve;\n        });\n    }\n    notifyFinished() {\n        this.resolve();\n    }\n    /**\n     * Allows the animation to be awaited.\n     *\n     * @deprecated Use `finished` instead.\n     */\n    then(onResolve, onReject) {\n        return this.finished.then(onResolve, onReject);\n    }\n}\n\nexport { WithPromise };\n//# sourceMappingURL=WithPromise.mjs.map\n","function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {\n    const index = Array.from(children)\n        .sort((a, b) => a.sortNodePosition(b))\n        .indexOf(child);\n    const numChildren = children.size;\n    const maxStaggerDuration = (numChildren - 1) * staggerChildren;\n    const delayIsFunction = typeof delayChildren === \"function\";\n    return delayIsFunction\n        ? delayChildren(index, numChildren)\n        : staggerDirection === 1\n            ? index * staggerChildren\n            : maxStaggerDuration - index * staggerChildren;\n}\n\nexport { calcChildStagger };\n//# sourceMappingURL=calc-child-stagger.mjs.map\n","import { warning } from 'motion-utils';\nimport { isGenerator } from '../generators/utils/is-generator.mjs';\nimport { isAnimatable } from './is-animatable.mjs';\n\nfunction hasKeyframesChanged(keyframes) {\n    const current = keyframes[0];\n    if (keyframes.length === 1)\n        return true;\n    for (let i = 0; i < keyframes.length; i++) {\n        if (keyframes[i] !== current)\n            return true;\n    }\n}\nfunction canAnimate(keyframes, name, type, velocity) {\n    /**\n     * Check if we're able to animate between the start and end keyframes,\n     * and throw a warning if we're attempting to animate between one that's\n     * animatable and another that isn't.\n     */\n    const originKeyframe = keyframes[0];\n    if (originKeyframe === null) {\n        return false;\n    }\n    /**\n     * These aren't traditionally animatable but we do support them.\n     * In future we could look into making this more generic or replacing\n     * this function with mix() === mixImmediate\n     */\n    if (name === \"display\" || name === \"visibility\")\n        return true;\n    const targetKeyframe = keyframes[keyframes.length - 1];\n    const isOriginAnimatable = isAnimatable(originKeyframe, name);\n    const isTargetAnimatable = isAnimatable(targetKeyframe, name);\n    warning(isOriginAnimatable === isTargetAnimatable, `You are trying to animate ${name} from \"${originKeyframe}\" to \"${targetKeyframe}\". \"${isOriginAnimatable ? targetKeyframe : originKeyframe}\" is not an animatable value.`, \"value-not-animatable\");\n    // Always skip if any of these are true\n    if (!isOriginAnimatable || !isTargetAnimatable) {\n        return false;\n    }\n    return (hasKeyframesChanged(keyframes) ||\n        ((type === \"spring\" || isGenerator(type)) && velocity));\n}\n\nexport { canAnimate };\n//# sourceMappingURL=can-animate.mjs.map\n","import { invariant, isNumericalString } from 'motion-utils';\nimport { isCSSVariableToken } from './is-css-variable.mjs';\n\n/**\n * Parse Framer's special CSS variable format into a CSS token and a fallback.\n *\n * ```\n * `var(--foo, #fff)` => [`--foo`, '#fff']\n * ```\n *\n * @param current\n */\nconst splitCSSVariableRegex = \n// eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words\n/^var\\(--(?:([\\w-]+)|([\\w-]+), ?([a-zA-Z\\d ()%#.,-]+))\\)/u;\nfunction parseCSSVariable(current) {\n    const match = splitCSSVariableRegex.exec(current);\n    if (!match)\n        return [,];\n    const [, token1, token2, fallback] = match;\n    return [`--${token1 ?? token2}`, fallback];\n}\nconst maxDepth = 4;\nfunction getVariableValue(current, element, depth = 1) {\n    invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property \"${current}\". This may indicate a circular fallback dependency.`, \"max-css-var-depth\");\n    const [token, fallback] = parseCSSVariable(current);\n    // No CSS variable detected\n    if (!token)\n        return;\n    // Attempt to read this CSS variable off the element\n    const resolved = window.getComputedStyle(element).getPropertyValue(token);\n    if (resolved) {\n        const trimmed = resolved.trim();\n        return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;\n    }\n    return isCSSVariableToken(fallback)\n        ? getVariableValue(fallback, element, depth + 1)\n        : fallback;\n}\n\nexport { getVariableValue, parseCSSVariable };\n//# sourceMappingURL=css-variables-conversion.mjs.map\n","import { transformProps } from '../../render/utils/keys-transform.mjs';\n\nconst underDampedSpring = {\n    type: \"spring\",\n    stiffness: 500,\n    damping: 25,\n    restSpeed: 10,\n};\nconst criticallyDampedSpring = (target) => ({\n    type: \"spring\",\n    stiffness: 550,\n    damping: target === 0 ? 2 * Math.sqrt(550) : 30,\n    restSpeed: 10,\n});\nconst keyframesTransition = {\n    type: \"keyframes\",\n    duration: 0.8,\n};\n/**\n * Default easing curve is a slightly shallower version of\n * the default browser easing curve.\n */\nconst ease = {\n    type: \"keyframes\",\n    ease: [0.25, 0.1, 0.35, 1],\n    duration: 0.3,\n};\nconst getDefaultTransition = (valueKey, { keyframes }) => {\n    if (keyframes.length > 2) {\n        return keyframesTransition;\n    }\n    else if (transformProps.has(valueKey)) {\n        return valueKey.startsWith(\"scale\")\n            ? criticallyDampedSpring(keyframes[1])\n            : underDampedSpring;\n    }\n    return ease;\n};\n\nexport { getDefaultTransition };\n//# sourceMappingURL=default-transitions.mjs.map\n","import { resolveTransition } from './resolve-transition.mjs';\n\nfunction getValueTransition(transition, key) {\n    const valueTransition = transition?.[key] ??\n        transition?.[\"default\"] ??\n        transition;\n    if (valueTransition !== transition) {\n        return resolveTransition(valueTransition, transition);\n    }\n    return valueTransition;\n}\n\nexport { getValueTransition };\n//# sourceMappingURL=get-value-transition.mjs.map\n","import { complex } from '../../value/types/complex/index.mjs';\n\n/**\n * Check if a value is animatable. Examples:\n *\n * ✅: 100, \"100px\", \"#fff\"\n * ❌: \"block\", \"url(2.jpg)\"\n * @param value\n *\n * @internal\n */\nconst isAnimatable = (value, name) => {\n    // If the list of keys that might be non-animatable grows, replace with Set\n    if (name === \"zIndex\")\n        return false;\n    // If it's a number or a keyframes array, we can animate it. We might at some point\n    // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this,\n    // but for now lets leave it like this for performance reasons\n    if (typeof value === \"number\" || Array.isArray(value))\n        return true;\n    if (typeof value === \"string\" && // It's animatable if we have a string\n        (complex.test(value) || value === \"0\") && // And it contains numbers and/or colors\n        !value.startsWith(\"url(\") // Unless it starts with \"url(\"\n    ) {\n        return true;\n    }\n    return false;\n};\n\nexport { isAnimatable };\n//# sourceMappingURL=is-animatable.mjs.map\n","const checkStringStartsWith = (token) => (key) => typeof key === \"string\" && key.startsWith(token);\nconst isCSSVariableName = \n/*@__PURE__*/ checkStringStartsWith(\"--\");\nconst startsAsVariableToken = \n/*@__PURE__*/ checkStringStartsWith(\"var(--\");\nconst isCSSVariableToken = (value) => {\n    const startsWithToken = startsAsVariableToken(value);\n    if (!startsWithToken)\n        return false;\n    // Ensure any comments are stripped from the value as this can harm performance of the regex.\n    return singleCssVariableRegex.test(value.split(\"/*\")[0].trim());\n};\nconst singleCssVariableRegex = /var\\(--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)$/iu;\n/**\n * Check if a value contains a CSS variable anywhere (e.g. inside calc()).\n * Unlike isCSSVariableToken which checks if the value IS a var() token,\n * this checks if the value CONTAINS var() somewhere in the string.\n */\nfunction containsCSSVariable(value) {\n    if (typeof value !== \"string\")\n        return false;\n    // Strip comments to avoid false positives\n    return value.split(\"/*\")[0].includes(\"var(--\");\n}\n\nexport { containsCSSVariable, isCSSVariableName, isCSSVariableToken };\n//# sourceMappingURL=is-css-variable.mjs.map\n","const orchestrationKeys = new Set([\n    \"when\",\n    \"delay\",\n    \"delayChildren\",\n    \"staggerChildren\",\n    \"staggerDirection\",\n    \"repeat\",\n    \"repeatType\",\n    \"repeatDelay\",\n    \"from\",\n    \"elapsed\",\n]);\n/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined(transition) {\n    for (const key in transition) {\n        if (!orchestrationKeys.has(key))\n            return true;\n    }\n    return false;\n}\n\nexport { isTransitionDefined };\n//# sourceMappingURL=is-transition-defined.mjs.map\n","function makeAnimationInstant(options) {\n    options.duration = 0;\n    options.type = \"keyframes\";\n}\n\nexport { makeAnimationInstant };\n//# sourceMappingURL=make-animation-instant.mjs.map\n","import { inertia } from '../generators/inertia.mjs';\nimport { keyframes } from '../generators/keyframes.mjs';\nimport { spring } from '../generators/spring.mjs';\n\nconst transitionTypeMap = {\n    decay: inertia,\n    inertia,\n    tween: keyframes,\n    keyframes: keyframes,\n    spring,\n};\nfunction replaceTransitionType(transition) {\n    if (typeof transition.type === \"string\") {\n        transition.type = transitionTypeMap[transition.type];\n    }\n}\n\nexport { replaceTransitionType };\n//# sourceMappingURL=replace-transition-type.mjs.map\n","/**\n * If `transition` has `inherit: true`, shallow-merge it with\n * `parentTransition` (child keys win) and strip the `inherit` key.\n * Otherwise return `transition` unchanged.\n */\nfunction resolveTransition(transition, parentTransition) {\n    if (transition?.inherit && parentTransition) {\n        const { inherit: _, ...rest } = transition;\n        return { ...parentTransition, ...rest };\n    }\n    return transition;\n}\n\nexport { resolveTransition };\n//# sourceMappingURL=resolve-transition.mjs.map\n","const cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\n\nexport { cubicBezierAsString };\n//# sourceMappingURL=cubic-bezier.mjs.map\n","import { isBezierDefinition } from 'motion-utils';\nimport { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs';\nimport { generateLinearEasing } from '../utils/linear.mjs';\nimport { cubicBezierAsString } from './cubic-bezier.mjs';\nimport { supportedWaapiEasing } from './supported.mjs';\n\nfunction mapEasingToNativeEasing(easing, duration) {\n    if (!easing) {\n        return undefined;\n    }\n    else if (typeof easing === \"function\") {\n        return supportsLinearEasing()\n            ? generateLinearEasing(easing, duration)\n            : \"ease-out\";\n    }\n    else if (isBezierDefinition(easing)) {\n        return cubicBezierAsString(easing);\n    }\n    else if (Array.isArray(easing)) {\n        return easing.map((segmentEasing) => mapEasingToNativeEasing(segmentEasing, duration) ||\n            supportedWaapiEasing.easeOut);\n    }\n    else {\n        return supportedWaapiEasing[easing];\n    }\n}\n\nexport { mapEasingToNativeEasing };\n//# sourceMappingURL=map-easing.mjs.map\n","import { cubicBezierAsString } from './cubic-bezier.mjs';\n\nconst supportedWaapiEasing = {\n    linear: \"linear\",\n    ease: \"ease\",\n    easeIn: \"ease-in\",\n    easeOut: \"ease-out\",\n    easeInOut: \"ease-in-out\",\n    circIn: /*@__PURE__*/ cubicBezierAsString([0, 0.65, 0.55, 1]),\n    circOut: /*@__PURE__*/ cubicBezierAsString([0.55, 0, 1, 0.45]),\n    backIn: /*@__PURE__*/ cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),\n    backOut: /*@__PURE__*/ cubicBezierAsString([0.33, 1.53, 0.69, 0.99]),\n};\n\nexport { supportedWaapiEasing };\n//# sourceMappingURL=supported.mjs.map\n","import { activeAnimations } from '../../stats/animation-count.mjs';\nimport { statsBuffer } from '../../stats/buffer.mjs';\nimport { mapEasingToNativeEasing } from './easing/map-easing.mjs';\n\nfunction startWaapiAnimation(element, valueName, keyframes, { delay = 0, duration = 300, repeat = 0, repeatType = \"loop\", ease = \"easeOut\", times, } = {}, pseudoElement = undefined) {\n    const keyframeOptions = {\n        [valueName]: keyframes,\n    };\n    if (times)\n        keyframeOptions.offset = times;\n    const easing = mapEasingToNativeEasing(ease, duration);\n    /**\n     * If this is an easing array, apply to keyframes, not animation as a whole\n     */\n    if (Array.isArray(easing))\n        keyframeOptions.easing = easing;\n    if (statsBuffer.value) {\n        activeAnimations.waapi++;\n    }\n    const options = {\n        delay,\n        duration,\n        easing: !Array.isArray(easing) ? easing : \"linear\",\n        fill: \"both\",\n        iterations: repeat + 1,\n        direction: repeatType === \"reverse\" ? \"alternate\" : \"normal\",\n    };\n    if (pseudoElement)\n        options.pseudoElement = pseudoElement;\n    const animation = element.animate(keyframeOptions, options);\n    if (statsBuffer.value) {\n        animation.finished.finally(() => {\n            activeAnimations.waapi--;\n        });\n    }\n    return animation;\n}\n\nexport { startWaapiAnimation };\n//# sourceMappingURL=start-waapi-animation.mjs.map\n","import { memo } from 'motion-utils';\nimport { acceleratedValues } from '../utils/accelerated-values.mjs';\nimport { hasBrowserOnlyColors } from '../utils/is-browser-color.mjs';\n\nconst colorProperties = new Set([\n    \"color\",\n    \"backgroundColor\",\n    \"outlineColor\",\n    \"fill\",\n    \"stroke\",\n    \"borderColor\",\n    \"borderTopColor\",\n    \"borderRightColor\",\n    \"borderBottomColor\",\n    \"borderLeftColor\",\n]);\nconst supportsWaapi = /*@__PURE__*/ memo(() => Object.hasOwnProperty.call(Element.prototype, \"animate\"));\nfunction supportsBrowserAnimation(options) {\n    const { motionValue, name, repeatDelay, repeatType, damping, type, keyframes, } = options;\n    const subject = motionValue?.owner?.current;\n    /**\n     * We use this check instead of isHTMLElement() because we explicitly\n     * **don't** want elements in different timing contexts (i.e. popups)\n     * to be accelerated, as it's not possible to sync these animations\n     * properly with those driven from the main window frameloop.\n     */\n    if (!(subject instanceof HTMLElement)) {\n        return false;\n    }\n    const { onUpdate, transformTemplate } = motionValue.owner.getProps();\n    return (supportsWaapi() &&\n        name &&\n        /**\n         * Force WAAPI for color properties with browser-only color formats\n         * (oklch, oklab, lab, lch, etc.) that the JS animation path can't parse.\n         */\n        (acceleratedValues.has(name) ||\n            (colorProperties.has(name) &&\n                hasBrowserOnlyColors(keyframes))) &&\n        (name !== \"transform\" || !transformTemplate) &&\n        /**\n         * If we're outputting values to onUpdate then we can't use WAAPI as there's\n         * no way to read the value from WAAPI every frame.\n         */\n        !onUpdate &&\n        !repeatDelay &&\n        repeatType !== \"mirror\" &&\n        damping !== 0 &&\n        type !== \"inertia\");\n}\n\nexport { supportsBrowserAnimation };\n//# sourceMappingURL=waapi.mjs.map\n","/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\n    \"opacity\",\n    \"clipPath\",\n    \"filter\",\n    \"transform\",\n    // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved\n    // or until we implement support for linear() easing.\n    // \"background-color\"\n]);\n\nexport { acceleratedValues };\n//# sourceMappingURL=accelerated-values.mjs.map\n","import { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs';\nimport { isGenerator } from '../../generators/utils/is-generator.mjs';\n\nfunction applyGeneratorOptions({ type, ...options }) {\n    if (isGenerator(type) && supportsLinearEasing()) {\n        return type.applyToOptions(options);\n    }\n    else {\n        options.duration ?? (options.duration = 300);\n        options.ease ?? (options.ease = \"easeOut\");\n    }\n    return options;\n}\n\nexport { applyGeneratorOptions };\n//# sourceMappingURL=apply-generator.mjs.map\n","const browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\\(/;\nfunction hasBrowserOnlyColors(keyframes) {\n    for (let i = 0; i < keyframes.length; i++) {\n        if (typeof keyframes[i] === \"string\" &&\n            browserColorFunctions.test(keyframes[i])) {\n            return true;\n        }\n    }\n    return false;\n}\n\nexport { hasBrowserOnlyColors };\n//# sourceMappingURL=is-browser-color.mjs.map\n","const generateLinearEasing = (easing, duration, // as milliseconds\nresolution = 10 // as milliseconds\n) => {\n    let points = \"\";\n    const numPoints = Math.max(Math.round(duration / resolution), 2);\n    for (let i = 0; i < numPoints; i++) {\n        points += Math.round(easing(i / (numPoints - 1)) * 10000) / 10000 + \", \";\n    }\n    return `linear(${points.substring(0, points.length - 2)})`;\n};\n\nexport { generateLinearEasing };\n//# sourceMappingURL=linear.mjs.map\n","import { circInOut, backInOut, anticipate } from 'motion-utils';\n\nconst unsupportedEasingFunctions = {\n    anticipate,\n    backInOut,\n    circInOut,\n};\nfunction isUnsupportedEase(key) {\n    return key in unsupportedEasingFunctions;\n}\nfunction replaceStringEasing(transition) {\n    if (typeof transition.ease === \"string\" &&\n        isUnsupportedEase(transition.ease)) {\n        transition.ease = unsupportedEasingFunctions[transition.ease];\n    }\n}\n\nexport { replaceStringEasing };\n//# sourceMappingURL=unsupported-easing.mjs.map\n","function addDomEvent(target, eventName, handler, options = { passive: true }) {\n    target.addEventListener(eventName, handler, options);\n    return () => target.removeEventListener(eventName, handler);\n}\n\nexport { addDomEvent };\n//# sourceMappingURL=add-dom-event.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { stepsOrder } from './order.mjs';\nimport { createRenderStep } from './render-step.mjs';\n\nconst maxElapsed = 40;\nfunction createRenderBatcher(scheduleNextBatch, allowKeepAlive) {\n    let runNextFrame = false;\n    let useDefaultElapsed = true;\n    const state = {\n        delta: 0.0,\n        timestamp: 0.0,\n        isProcessing: false,\n    };\n    const flagRunNextFrame = () => (runNextFrame = true);\n    const steps = stepsOrder.reduce((acc, key) => {\n        acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);\n        return acc;\n    }, {});\n    const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;\n    const processBatch = () => {\n        const useManualTiming = MotionGlobalConfig.useManualTiming;\n        const timestamp = useManualTiming\n            ? state.timestamp\n            : performance.now();\n        runNextFrame = false;\n        if (!useManualTiming) {\n            state.delta = useDefaultElapsed\n                ? 1000 / 60\n                : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1);\n        }\n        state.timestamp = timestamp;\n        state.isProcessing = true;\n        // Unrolled render loop for better per-frame performance\n        setup.process(state);\n        read.process(state);\n        resolveKeyframes.process(state);\n        preUpdate.process(state);\n        update.process(state);\n        preRender.process(state);\n        render.process(state);\n        postRender.process(state);\n        state.isProcessing = false;\n        if (runNextFrame && allowKeepAlive) {\n            useDefaultElapsed = false;\n            scheduleNextBatch(processBatch);\n        }\n    };\n    const wake = () => {\n        runNextFrame = true;\n        useDefaultElapsed = true;\n        if (!state.isProcessing) {\n            scheduleNextBatch(processBatch);\n        }\n    };\n    const schedule = stepsOrder.reduce((acc, key) => {\n        const step = steps[key];\n        acc[key] = (process, keepAlive = false, immediate = false) => {\n            if (!runNextFrame)\n                wake();\n            return step.schedule(process, keepAlive, immediate);\n        };\n        return acc;\n    }, {});\n    const cancel = (process) => {\n        for (let i = 0; i < stepsOrder.length; i++) {\n            steps[stepsOrder[i]].cancel(process);\n        }\n    };\n    return { schedule, cancel, state, steps };\n}\n\nexport { createRenderBatcher };\n//# sourceMappingURL=batcher.mjs.map\n","import { noop } from 'motion-utils';\nimport { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps, } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : noop, true);\n\nexport { cancelFrame, frame, frameData, frameSteps };\n//# sourceMappingURL=frame.mjs.map\n","import { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: microtask, cancel: cancelMicrotask } = \n/* @__PURE__ */ createRenderBatcher(queueMicrotask, false);\n\nexport { cancelMicrotask, microtask };\n//# sourceMappingURL=microtask.mjs.map\n","const stepsOrder = [\n    \"setup\", // Compute\n    \"read\", // Read\n    \"resolveKeyframes\", // Write/Read/Write/Read\n    \"preUpdate\", // Compute\n    \"update\", // Compute\n    \"preRender\", // Compute\n    \"render\", // Write\n    \"postRender\", // Compute\n];\n\nexport { stepsOrder };\n//# sourceMappingURL=order.mjs.map\n","import { statsBuffer } from '../stats/buffer.mjs';\n\nfunction createRenderStep(runNextFrame, stepName) {\n    /**\n     * We create and reuse two queues, one to queue jobs for the current frame\n     * and one for the next. We reuse to avoid triggering GC after x frames.\n     */\n    let thisFrame = new Set();\n    let nextFrame = new Set();\n    /**\n     * Track whether we're currently processing jobs in this step. This way\n     * we can decide whether to schedule new jobs for this frame or next.\n     */\n    let isProcessing = false;\n    let flushNextFrame = false;\n    /**\n     * A set of processes which were marked keepAlive when scheduled.\n     */\n    const toKeepAlive = new WeakSet();\n    let latestFrameData = {\n        delta: 0.0,\n        timestamp: 0.0,\n        isProcessing: false,\n    };\n    let numCalls = 0;\n    function triggerCallback(callback) {\n        if (toKeepAlive.has(callback)) {\n            step.schedule(callback);\n            runNextFrame();\n        }\n        numCalls++;\n        callback(latestFrameData);\n    }\n    const step = {\n        /**\n         * Schedule a process to run on the next frame.\n         */\n        schedule: (callback, keepAlive = false, immediate = false) => {\n            const addToCurrentFrame = immediate && isProcessing;\n            const queue = addToCurrentFrame ? thisFrame : nextFrame;\n            if (keepAlive)\n                toKeepAlive.add(callback);\n            queue.add(callback);\n            return callback;\n        },\n        /**\n         * Cancel the provided callback from running on the next frame.\n         */\n        cancel: (callback) => {\n            nextFrame.delete(callback);\n            toKeepAlive.delete(callback);\n        },\n        /**\n         * Execute all schedule callbacks.\n         */\n        process: (frameData) => {\n            latestFrameData = frameData;\n            /**\n             * If we're already processing we've probably been triggered by a flushSync\n             * inside an existing process. Instead of executing, mark flushNextFrame\n             * as true and ensure we flush the following frame at the end of this one.\n             */\n            if (isProcessing) {\n                flushNextFrame = true;\n                return;\n            }\n            isProcessing = true;\n            // Swap this frame and the next to avoid GC\n            const prevFrame = thisFrame;\n            thisFrame = nextFrame;\n            nextFrame = prevFrame;\n            // Execute this frame\n            thisFrame.forEach(triggerCallback);\n            /**\n             * If we're recording stats then\n             */\n            if (stepName && statsBuffer.value) {\n                statsBuffer.value.frameloop[stepName].push(numCalls);\n            }\n            numCalls = 0;\n            // Clear the frame so no callbacks remain. This is to avoid\n            // memory leaks should this render step not run for a while.\n            thisFrame.clear();\n            isProcessing = false;\n            if (flushNextFrame) {\n                flushNextFrame = false;\n                step.process(frameData);\n            }\n        },\n    };\n    return step;\n}\n\nexport { createRenderStep };\n//# sourceMappingURL=render-step.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { frameData } from './frame.mjs';\n\nlet now;\nfunction clearTime() {\n    now = undefined;\n}\n/**\n * An eventloop-synchronous alternative to performance.now().\n *\n * Ensures that time measurements remain consistent within a synchronous context.\n * Usually calling performance.now() twice within the same synchronous context\n * will return different values which isn't useful for animations when we're usually\n * trying to sync animations to the same frame.\n */\nconst time = {\n    now: () => {\n        if (now === undefined) {\n            time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming\n                ? frameData.timestamp\n                : performance.now());\n        }\n        return now;\n    },\n    set: (newTime) => {\n        now = newTime;\n        queueMicrotask(clearTime);\n    },\n};\n\nexport { time };\n//# sourceMappingURL=sync-time.mjs.map\n","const isDragging = {\n    x: false,\n    y: false,\n};\nfunction isDragActive() {\n    return isDragging.x || isDragging.y;\n}\n\nexport { isDragActive, isDragging };\n//# sourceMappingURL=is-active.mjs.map\n","import { isDragging } from './is-active.mjs';\n\nfunction setDragLock(axis) {\n    if (axis === \"x\" || axis === \"y\") {\n        if (isDragging[axis]) {\n            return null;\n        }\n        else {\n            isDragging[axis] = true;\n            return () => {\n                isDragging[axis] = false;\n            };\n        }\n    }\n    else {\n        if (isDragging.x || isDragging.y) {\n            return null;\n        }\n        else {\n            isDragging.x = isDragging.y = true;\n            return () => {\n                isDragging.x = isDragging.y = false;\n            };\n        }\n    }\n}\n\nexport { setDragLock };\n//# sourceMappingURL=set-active.mjs.map\n","import { isDragActive } from './drag/state/is-active.mjs';\nimport { setupGesture } from './utils/setup.mjs';\n\nfunction isValidHover(event) {\n    return !(event.pointerType === \"touch\" || isDragActive());\n}\n/**\n * Create a hover gesture. hover() is different to .addEventListener(\"pointerenter\")\n * in that it has an easier syntax, filters out polyfilled touch events, interoperates\n * with drag gestures, and automatically removes the \"pointerennd\" event listener when the hover ends.\n *\n * @public\n */\nfunction hover(elementOrSelector, onHoverStart, options = {}) {\n    const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options);\n    elements.forEach((element) => {\n        let isPressed = false;\n        let deferredHoverEnd = false;\n        let hoverEndCallback;\n        const removePointerLeave = () => {\n            element.removeEventListener(\"pointerleave\", onPointerLeave);\n        };\n        const endHover = (event) => {\n            if (hoverEndCallback) {\n                hoverEndCallback(event);\n                hoverEndCallback = undefined;\n            }\n            removePointerLeave();\n        };\n        const onPointerUp = (event) => {\n            isPressed = false;\n            window.removeEventListener(\"pointerup\", onPointerUp);\n            window.removeEventListener(\"pointercancel\", onPointerUp);\n            if (deferredHoverEnd) {\n                deferredHoverEnd = false;\n                endHover(event);\n            }\n        };\n        const onPointerDown = () => {\n            isPressed = true;\n            window.addEventListener(\"pointerup\", onPointerUp, eventOptions);\n            window.addEventListener(\"pointercancel\", onPointerUp, eventOptions);\n        };\n        const onPointerLeave = (leaveEvent) => {\n            if (leaveEvent.pointerType === \"touch\")\n                return;\n            if (isPressed) {\n                deferredHoverEnd = true;\n                return;\n            }\n            endHover(leaveEvent);\n        };\n        const onPointerEnter = (enterEvent) => {\n            if (!isValidHover(enterEvent))\n                return;\n            deferredHoverEnd = false;\n            const onHoverEnd = onHoverStart(element, enterEvent);\n            if (typeof onHoverEnd !== \"function\")\n                return;\n            hoverEndCallback = onHoverEnd;\n            element.addEventListener(\"pointerleave\", onPointerLeave, eventOptions);\n        };\n        element.addEventListener(\"pointerenter\", onPointerEnter, eventOptions);\n        element.addEventListener(\"pointerdown\", onPointerDown, eventOptions);\n    });\n    return cancel;\n}\n\nexport { hover };\n//# sourceMappingURL=hover.mjs.map\n","import { isHTMLElement } from '../../utils/is-html-element.mjs';\nimport { isDragActive } from '../drag/state/is-active.mjs';\nimport { isNodeOrChild } from '../utils/is-node-or-child.mjs';\nimport { isPrimaryPointer } from '../utils/is-primary-pointer.mjs';\nimport { setupGesture } from '../utils/setup.mjs';\nimport { isElementKeyboardAccessible } from './utils/is-keyboard-accessible.mjs';\nimport { enableKeyboardPress } from './utils/keyboard.mjs';\nimport { isPressing } from './utils/state.mjs';\n\n/**\n * Filter out events that are not primary pointer events, or are triggering\n * while a Motion gesture is active.\n */\nfunction isValidPressEvent(event) {\n    return isPrimaryPointer(event) && !isDragActive();\n}\nconst claimedPointerDownEvents = new WeakSet();\n/**\n * Create a press gesture.\n *\n * Press is different to `\"pointerdown\"`, `\"pointerup\"` in that it\n * automatically filters out secondary pointer events like right\n * click and multitouch.\n *\n * It also adds accessibility support for keyboards, where\n * an element with a press gesture will receive focus and\n *  trigger on Enter `\"keydown\"` and `\"keyup\"` events.\n *\n * This is different to a browser's `\"click\"` event, which does\n * respond to keyboards but only for the `\"click\"` itself, rather\n * than the press start and end/cancel. The element also needs\n * to be focusable for this to work, whereas a press gesture will\n * make an element focusable by default.\n *\n * @public\n */\nfunction press(targetOrSelector, onPressStart, options = {}) {\n    const [targets, eventOptions, cancelEvents] = setupGesture(targetOrSelector, options);\n    const startPress = (startEvent) => {\n        const target = startEvent.currentTarget;\n        if (!isValidPressEvent(startEvent))\n            return;\n        if (claimedPointerDownEvents.has(startEvent))\n            return;\n        isPressing.add(target);\n        if (options.stopPropagation) {\n            claimedPointerDownEvents.add(startEvent);\n        }\n        const onPressEnd = onPressStart(target, startEvent);\n        const onPointerEnd = (endEvent, success) => {\n            window.removeEventListener(\"pointerup\", onPointerUp);\n            window.removeEventListener(\"pointercancel\", onPointerCancel);\n            if (isPressing.has(target)) {\n                isPressing.delete(target);\n            }\n            if (!isValidPressEvent(endEvent)) {\n                return;\n            }\n            if (typeof onPressEnd === \"function\") {\n                onPressEnd(endEvent, { success });\n            }\n        };\n        const onPointerUp = (upEvent) => {\n            onPointerEnd(upEvent, target === window ||\n                target === document ||\n                options.useGlobalTarget ||\n                isNodeOrChild(target, upEvent.target));\n        };\n        const onPointerCancel = (cancelEvent) => {\n            onPointerEnd(cancelEvent, false);\n        };\n        window.addEventListener(\"pointerup\", onPointerUp, eventOptions);\n        window.addEventListener(\"pointercancel\", onPointerCancel, eventOptions);\n    };\n    targets.forEach((target) => {\n        const pointerDownTarget = options.useGlobalTarget ? window : target;\n        pointerDownTarget.addEventListener(\"pointerdown\", startPress, eventOptions);\n        if (isHTMLElement(target)) {\n            target.addEventListener(\"focus\", (event) => enableKeyboardPress(event, eventOptions));\n            if (!isElementKeyboardAccessible(target) &&\n                !target.hasAttribute(\"tabindex\")) {\n                target.tabIndex = 0;\n            }\n        }\n    });\n    return cancelEvents;\n}\n\nexport { press };\n//# sourceMappingURL=index.mjs.map\n","const keyboardAccessibleElements = new Set([\n    \"BUTTON\",\n    \"INPUT\",\n    \"SELECT\",\n    \"TEXTAREA\",\n    \"A\",\n]);\n/**\n * Checks if an element is natively keyboard accessible (focusable).\n * Used by the press gesture to determine if we need to add tabIndex.\n */\nfunction isElementKeyboardAccessible(element) {\n    return (keyboardAccessibleElements.has(element.tagName) ||\n        element.isContentEditable === true);\n}\nconst textInputElements = new Set([\"INPUT\", \"SELECT\", \"TEXTAREA\"]);\n/**\n * Checks if an element has text selection or direct interaction behavior\n * that should block drag gestures from starting.\n *\n * This specifically targets form controls where the user might want to select\n * text or interact with the control (e.g., sliders, dropdowns).\n *\n * Buttons and links are NOT included because they don't have click-and-move\n * actions of their own - they only respond to click events, so dragging\n * should still work when initiated from these elements.\n */\nfunction isElementTextInput(element) {\n    return (textInputElements.has(element.tagName) ||\n        element.isContentEditable === true);\n}\n\nexport { isElementKeyboardAccessible, isElementTextInput };\n//# sourceMappingURL=is-keyboard-accessible.mjs.map\n","import { isPressing } from './state.mjs';\n\n/**\n * Filter out events that are not \"Enter\" keys.\n */\nfunction filterEvents(callback) {\n    return (event) => {\n        if (event.key !== \"Enter\")\n            return;\n        callback(event);\n    };\n}\nfunction firePointerEvent(target, type) {\n    target.dispatchEvent(new PointerEvent(\"pointer\" + type, { isPrimary: true, bubbles: true }));\n}\nconst enableKeyboardPress = (focusEvent, eventOptions) => {\n    const element = focusEvent.currentTarget;\n    if (!element)\n        return;\n    const handleKeydown = filterEvents(() => {\n        if (isPressing.has(element))\n            return;\n        firePointerEvent(element, \"down\");\n        const handleKeyup = filterEvents(() => {\n            firePointerEvent(element, \"up\");\n        });\n        const handleBlur = () => firePointerEvent(element, \"cancel\");\n        element.addEventListener(\"keyup\", handleKeyup, eventOptions);\n        element.addEventListener(\"blur\", handleBlur, eventOptions);\n    });\n    element.addEventListener(\"keydown\", handleKeydown, eventOptions);\n    /**\n     * Add an event listener that fires on blur to remove the keydown events.\n     */\n    element.addEventListener(\"blur\", () => element.removeEventListener(\"keydown\", handleKeydown), eventOptions);\n};\n\nexport { enableKeyboardPress };\n//# sourceMappingURL=keyboard.mjs.map\n","const isPressing = new WeakSet();\n\nexport { isPressing };\n//# sourceMappingURL=state.mjs.map\n","/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nconst isNodeOrChild = (parent, child) => {\n    if (!child) {\n        return false;\n    }\n    else if (parent === child) {\n        return true;\n    }\n    else {\n        return isNodeOrChild(parent, child.parentElement);\n    }\n};\n\nexport { isNodeOrChild };\n//# sourceMappingURL=is-node-or-child.mjs.map\n","const isPrimaryPointer = (event) => {\n    if (event.pointerType === \"mouse\") {\n        return typeof event.button !== \"number\" || event.button <= 0;\n    }\n    else {\n        /**\n         * isPrimary is true for all mice buttons, whereas every touch point\n         * is regarded as its own input. So subsequent concurrent touch points\n         * will be false.\n         *\n         * Specifically match against false here as incomplete versions of\n         * PointerEvents in very old browser might have it set as undefined.\n         */\n        return event.isPrimary !== false;\n    }\n};\n\nexport { isPrimaryPointer };\n//# sourceMappingURL=is-primary-pointer.mjs.map\n","import { resolveElements } from '../../utils/resolve-elements.mjs';\n\nfunction setupGesture(elementOrSelector, options) {\n    const elements = resolveElements(elementOrSelector);\n    const gestureAbortController = new AbortController();\n    const eventOptions = {\n        passive: true,\n        ...options,\n        signal: gestureAbortController.signal,\n    };\n    const cancel = () => gestureAbortController.abort();\n    return [elements, eventOptions, cancel];\n}\n\nexport { setupGesture };\n//# sourceMappingURL=setup.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent, px } from '../../value/types/numbers/units.mjs';\nimport { progress, circOut, noop } from 'motion-utils';\n\nconst borderLabels = [\n    \"borderTopLeftRadius\",\n    \"borderTopRightRadius\",\n    \"borderBottomLeftRadius\",\n    \"borderBottomRightRadius\",\n];\nconst numBorders = borderLabels.length;\nconst asNumber = (value) => typeof value === \"string\" ? parseFloat(value) : value;\nconst isPx = (value) => typeof value === \"number\" || px.test(value);\nfunction mixValues(target, follow, lead, progress, shouldCrossfadeOpacity, isOnlyMember) {\n    if (shouldCrossfadeOpacity) {\n        target.opacity = mixNumber(0, lead.opacity ?? 1, easeCrossfadeIn(progress));\n        target.opacityExit = mixNumber(follow.opacity ?? 1, 0, easeCrossfadeOut(progress));\n    }\n    else if (isOnlyMember) {\n        target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress);\n    }\n    /**\n     * Mix border radius\n     */\n    for (let i = 0; i < numBorders; i++) {\n        const borderLabel = borderLabels[i];\n        let followRadius = getRadius(follow, borderLabel);\n        let leadRadius = getRadius(lead, borderLabel);\n        if (followRadius === undefined && leadRadius === undefined)\n            continue;\n        followRadius || (followRadius = 0);\n        leadRadius || (leadRadius = 0);\n        const canMix = followRadius === 0 ||\n            leadRadius === 0 ||\n            isPx(followRadius) === isPx(leadRadius);\n        if (canMix) {\n            target[borderLabel] = Math.max(mixNumber(asNumber(followRadius), asNumber(leadRadius), progress), 0);\n            if (percent.test(leadRadius) || percent.test(followRadius)) {\n                target[borderLabel] += \"%\";\n            }\n        }\n        else {\n            target[borderLabel] = leadRadius;\n        }\n    }\n    /**\n     * Mix rotation\n     */\n    if (follow.rotate || lead.rotate) {\n        target.rotate = mixNumber(follow.rotate || 0, lead.rotate || 0, progress);\n    }\n}\nfunction getRadius(values, radiusName) {\n    return values[radiusName] !== undefined\n        ? values[radiusName]\n        : values.borderRadius;\n}\nconst easeCrossfadeIn = /*@__PURE__*/ compress(0, 0.5, circOut);\nconst easeCrossfadeOut = /*@__PURE__*/ compress(0.5, 0.95, noop);\nfunction compress(min, max, easing) {\n    return (p) => {\n        // Could replace ifs with clamp\n        if (p < min)\n            return 0;\n        if (p > max)\n            return 1;\n        return easing(progress(min, max, p));\n    };\n}\n\nexport { mixValues };\n//# sourceMappingURL=mix-values.mjs.map\n","/**\n * Bounding boxes tend to be defined as top, left, right, bottom. For various operations\n * it's easier to consider each axis individually. This function returns a bounding box\n * as a map of single-axis min/max values.\n */\nfunction convertBoundingBoxToBox({ top, left, right, bottom, }) {\n    return {\n        x: { min: left, max: right },\n        y: { min: top, max: bottom },\n    };\n}\nfunction convertBoxToBoundingBox({ x, y }) {\n    return { top: y.min, right: x.max, bottom: y.max, left: x.min };\n}\n/**\n * Applies a TransformPoint function to a bounding box. TransformPoint is usually a function\n * provided by Framer to allow measured points to be corrected for device scaling. This is used\n * when measuring DOM elements and DOM event points.\n */\nfunction transformBoxPoints(point, transformPoint) {\n    if (!transformPoint)\n        return point;\n    const topLeft = transformPoint({ x: point.left, y: point.top });\n    const bottomRight = transformPoint({ x: point.right, y: point.bottom });\n    return {\n        top: topLeft.y,\n        left: topLeft.x,\n        bottom: bottomRight.y,\n        right: bottomRight.x,\n    };\n}\n\nexport { convertBoundingBoxToBox, convertBoxToBoundingBox, transformBoxPoints };\n//# sourceMappingURL=conversion.mjs.map\n","/**\n * Reset an axis to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisInto(axis, originAxis) {\n    axis.min = originAxis.min;\n    axis.max = originAxis.max;\n}\n/**\n * Reset a box to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyBoxInto(box, originBox) {\n    copyAxisInto(box.x, originBox.x);\n    copyAxisInto(box.y, originBox.y);\n}\n/**\n * Reset a delta to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisDeltaInto(delta, originDelta) {\n    delta.translate = originDelta.translate;\n    delta.scale = originDelta.scale;\n    delta.originPoint = originDelta.originPoint;\n    delta.origin = originDelta.origin;\n}\n\nexport { copyAxisDeltaInto, copyAxisInto, copyBoxInto };\n//# sourceMappingURL=copy.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { hasTransform } from '../utils/has-transform.mjs';\n\n/**\n * Scales a point based on a factor and an originPoint\n */\nfunction scalePoint(point, scale, originPoint) {\n    const distanceFromOrigin = point - originPoint;\n    const scaled = scale * distanceFromOrigin;\n    return originPoint + scaled;\n}\n/**\n * Applies a translate/scale delta to a point\n */\nfunction applyPointDelta(point, translate, scale, originPoint, boxScale) {\n    if (boxScale !== undefined) {\n        point = scalePoint(point, boxScale, originPoint);\n    }\n    return scalePoint(point, scale, originPoint) + translate;\n}\n/**\n * Applies a translate/scale delta to an axis\n */\nfunction applyAxisDelta(axis, translate = 0, scale = 1, originPoint, boxScale) {\n    axis.min = applyPointDelta(axis.min, translate, scale, originPoint, boxScale);\n    axis.max = applyPointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Applies a translate/scale delta to a box\n */\nfunction applyBoxDelta(box, { x, y }) {\n    applyAxisDelta(box.x, x.translate, x.scale, x.originPoint);\n    applyAxisDelta(box.y, y.translate, y.scale, y.originPoint);\n}\nconst TREE_SCALE_SNAP_MIN = 0.999999999999;\nconst TREE_SCALE_SNAP_MAX = 1.0000000000001;\n/**\n * Apply a tree of deltas to a box. We do this to calculate the effect of all the transforms\n * in a tree upon our box before then calculating how to project it into our desired viewport-relative box\n *\n * This is the final nested loop within updateLayoutDelta for future refactoring\n */\nfunction applyTreeDeltas(box, treeScale, treePath, isSharedTransition = false) {\n    const treeLength = treePath.length;\n    if (!treeLength)\n        return;\n    // Reset the treeScale\n    treeScale.x = treeScale.y = 1;\n    let node;\n    let delta;\n    for (let i = 0; i < treeLength; i++) {\n        node = treePath[i];\n        delta = node.projectionDelta;\n        /**\n         * TODO: Prefer to remove this, but currently we have motion components with\n         * display: contents in Framer.\n         */\n        const { visualElement } = node.options;\n        if (visualElement &&\n            visualElement.props.style &&\n            visualElement.props.style.display === \"contents\") {\n            continue;\n        }\n        if (isSharedTransition &&\n            node.options.layoutScroll &&\n            node.scroll &&\n            node !== node.root) {\n            translateAxis(box.x, -node.scroll.offset.x);\n            translateAxis(box.y, -node.scroll.offset.y);\n        }\n        if (delta) {\n            // Incoporate each ancestor's scale into a cumulative treeScale for this component\n            treeScale.x *= delta.x.scale;\n            treeScale.y *= delta.y.scale;\n            // Apply each ancestor's calculated delta into this component's recorded layout box\n            applyBoxDelta(box, delta);\n        }\n        if (isSharedTransition && hasTransform(node.latestValues)) {\n            transformBox(box, node.latestValues, node.layout?.layoutBox);\n        }\n    }\n    /**\n     * Snap tree scale back to 1 if it's within a non-perceivable threshold.\n     * This will help reduce useless scales getting rendered.\n     */\n    if (treeScale.x < TREE_SCALE_SNAP_MAX &&\n        treeScale.x > TREE_SCALE_SNAP_MIN) {\n        treeScale.x = 1.0;\n    }\n    if (treeScale.y < TREE_SCALE_SNAP_MAX &&\n        treeScale.y > TREE_SCALE_SNAP_MIN) {\n        treeScale.y = 1.0;\n    }\n}\nfunction translateAxis(axis, distance) {\n    axis.min += distance;\n    axis.max += distance;\n}\n/**\n * Apply a transform to an axis from the latest resolved motion values.\n * This function basically acts as a bridge between a flat motion value map\n * and applyAxisDelta\n */\nfunction transformAxis(axis, axisTranslate, axisScale, boxScale, axisOrigin = 0.5) {\n    const originPoint = mixNumber(axis.min, axis.max, axisOrigin);\n    // Apply the axis delta to the final axis\n    applyAxisDelta(axis, axisTranslate, axisScale, originPoint, boxScale);\n}\nfunction resolveAxisTranslate(value, axis) {\n    if (typeof value === \"string\") {\n        return (parseFloat(value) / 100) * (axis.max - axis.min);\n    }\n    return value;\n}\n/**\n * Apply a transform to a box from the latest resolved motion values.\n */\nfunction transformBox(box, transform, sourceBox) {\n    const resolveBox = sourceBox ?? box;\n    transformAxis(box.x, resolveAxisTranslate(transform.x, resolveBox.x), transform.scaleX, transform.scale, transform.originX);\n    transformAxis(box.y, resolveAxisTranslate(transform.y, resolveBox.y), transform.scaleY, transform.scale, transform.originY);\n}\n\nexport { applyAxisDelta, applyBoxDelta, applyPointDelta, applyTreeDeltas, scalePoint, transformAxis, transformBox, translateAxis };\n//# sourceMappingURL=delta-apply.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\n\nconst SCALE_PRECISION = 0.0001;\nconst SCALE_MIN = 1 - SCALE_PRECISION;\nconst SCALE_MAX = 1 + SCALE_PRECISION;\nconst TRANSLATE_PRECISION = 0.01;\nconst TRANSLATE_MIN = 0 - TRANSLATE_PRECISION;\nconst TRANSLATE_MAX = 0 + TRANSLATE_PRECISION;\nfunction calcLength(axis) {\n    return axis.max - axis.min;\n}\nfunction isNear(value, target, maxDistance) {\n    return Math.abs(value - target) <= maxDistance;\n}\nfunction calcAxisDelta(delta, source, target, origin = 0.5) {\n    delta.origin = origin;\n    delta.originPoint = mixNumber(source.min, source.max, delta.origin);\n    delta.scale = calcLength(target) / calcLength(source);\n    delta.translate =\n        mixNumber(target.min, target.max, delta.origin) - delta.originPoint;\n    if ((delta.scale >= SCALE_MIN && delta.scale <= SCALE_MAX) ||\n        isNaN(delta.scale)) {\n        delta.scale = 1.0;\n    }\n    if ((delta.translate >= TRANSLATE_MIN &&\n        delta.translate <= TRANSLATE_MAX) ||\n        isNaN(delta.translate)) {\n        delta.translate = 0.0;\n    }\n}\nfunction calcBoxDelta(delta, source, target, origin) {\n    calcAxisDelta(delta.x, source.x, target.x, origin ? origin.originX : undefined);\n    calcAxisDelta(delta.y, source.y, target.y, origin ? origin.originY : undefined);\n}\nfunction calcRelativeAxis(target, relative, parent, anchor = 0) {\n    const anchorPoint = anchor\n        ? mixNumber(parent.min, parent.max, anchor)\n        : parent.min;\n    target.min = anchorPoint + relative.min;\n    target.max = target.min + calcLength(relative);\n}\nfunction calcRelativeBox(target, relative, parent, anchor) {\n    calcRelativeAxis(target.x, relative.x, parent.x, anchor?.x);\n    calcRelativeAxis(target.y, relative.y, parent.y, anchor?.y);\n}\nfunction calcRelativeAxisPosition(target, layout, parent, anchor = 0) {\n    const anchorPoint = anchor\n        ? mixNumber(parent.min, parent.max, anchor)\n        : parent.min;\n    target.min = layout.min - anchorPoint;\n    target.max = target.min + calcLength(layout);\n}\nfunction calcRelativePosition(target, layout, parent, anchor) {\n    calcRelativeAxisPosition(target.x, layout.x, parent.x, anchor?.x);\n    calcRelativeAxisPosition(target.y, layout.y, parent.y, anchor?.y);\n}\n\nexport { calcAxisDelta, calcBoxDelta, calcLength, calcRelativeAxis, calcRelativeAxisPosition, calcRelativeBox, calcRelativePosition, isNear };\n//# sourceMappingURL=delta-calc.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { scalePoint } from './delta-apply.mjs';\n\n/**\n * Remove a delta from a point. This is essentially the steps of applyPointDelta in reverse\n */\nfunction removePointDelta(point, translate, scale, originPoint, boxScale) {\n    point -= translate;\n    point = scalePoint(point, 1 / scale, originPoint);\n    if (boxScale !== undefined) {\n        point = scalePoint(point, 1 / boxScale, originPoint);\n    }\n    return point;\n}\n/**\n * Remove a delta from an axis. This is essentially the steps of applyAxisDelta in reverse\n */\nfunction removeAxisDelta(axis, translate = 0, scale = 1, origin = 0.5, boxScale, originAxis = axis, sourceAxis = axis) {\n    if (percent.test(translate)) {\n        translate = parseFloat(translate);\n        const relativeProgress = mixNumber(sourceAxis.min, sourceAxis.max, translate / 100);\n        translate = relativeProgress - sourceAxis.min;\n    }\n    if (typeof translate !== \"number\")\n        return;\n    let originPoint = mixNumber(originAxis.min, originAxis.max, origin);\n    if (axis === originAxis)\n        originPoint -= translate;\n    axis.min = removePointDelta(axis.min, translate, scale, originPoint, boxScale);\n    axis.max = removePointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Remove a transforms from an axis. This is essentially the steps of applyAxisTransforms in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeAxisTransforms(axis, transforms, [key, scaleKey, originKey], origin, sourceAxis) {\n    removeAxisDelta(axis, transforms[key], transforms[scaleKey], transforms[originKey], transforms.scale, origin, sourceAxis);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nconst xKeys = [\"x\", \"scaleX\", \"originX\"];\nconst yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Remove a transforms from an box. This is essentially the steps of applyAxisBox in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeBoxTransforms(box, transforms, originBox, sourceBox) {\n    removeAxisTransforms(box.x, transforms, xKeys, originBox ? originBox.x : undefined, sourceBox ? sourceBox.x : undefined);\n    removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : undefined, sourceBox ? sourceBox.y : undefined);\n}\n\nexport { removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta };\n//# sourceMappingURL=delta-remove.mjs.map\n","const createAxisDelta = () => ({\n    translate: 0,\n    scale: 1,\n    origin: 0,\n    originPoint: 0,\n});\nconst createDelta = () => ({\n    x: createAxisDelta(),\n    y: createAxisDelta(),\n});\nconst createAxis = () => ({ min: 0, max: 0 });\nconst createBox = () => ({\n    x: createAxis(),\n    y: createAxis(),\n});\n\nexport { createAxis, createAxisDelta, createBox, createDelta };\n//# sourceMappingURL=models.mjs.map\n","import { calcLength } from './delta-calc.mjs';\n\nfunction isAxisDeltaZero(delta) {\n    return delta.translate === 0 && delta.scale === 1;\n}\nfunction isDeltaZero(delta) {\n    return isAxisDeltaZero(delta.x) && isAxisDeltaZero(delta.y);\n}\nfunction axisEquals(a, b) {\n    return a.min === b.min && a.max === b.max;\n}\nfunction boxEquals(a, b) {\n    return axisEquals(a.x, b.x) && axisEquals(a.y, b.y);\n}\nfunction axisEqualsRounded(a, b) {\n    return (Math.round(a.min) === Math.round(b.min) &&\n        Math.round(a.max) === Math.round(b.max));\n}\nfunction boxEqualsRounded(a, b) {\n    return axisEqualsRounded(a.x, b.x) && axisEqualsRounded(a.y, b.y);\n}\nfunction aspectRatio(box) {\n    return calcLength(box.x) / calcLength(box.y);\n}\nfunction axisDeltaEquals(a, b) {\n    return (a.translate === b.translate &&\n        a.scale === b.scale &&\n        a.originPoint === b.originPoint);\n}\n\nexport { aspectRatio, axisDeltaEquals, axisEquals, axisEqualsRounded, boxEquals, boxEqualsRounded, isDeltaZero };\n//# sourceMappingURL=utils.mjs.map\n","import { addDomEvent } from '../../events/add-dom-event.mjs';\nimport { createProjectionNode } from './create-projection-node.mjs';\n\nconst DocumentProjectionNode = createProjectionNode({\n    attachResizeListener: (ref, notify) => addDomEvent(ref, \"resize\", notify),\n    measureScroll: () => ({\n        x: document.documentElement.scrollLeft || document.body?.scrollLeft || 0,\n        y: document.documentElement.scrollTop || document.body?.scrollTop || 0,\n    }),\n    checkIsScrollRoot: () => true,\n});\n\nexport { DocumentProjectionNode };\n//# sourceMappingURL=DocumentProjectionNode.mjs.map\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { DocumentProjectionNode } from './DocumentProjectionNode.mjs';\n\nconst rootProjectionNode = {\n    current: undefined,\n};\nconst HTMLProjectionNode = createProjectionNode({\n    measureScroll: (instance) => ({\n        x: instance.scrollLeft,\n        y: instance.scrollTop,\n    }),\n    defaultParent: () => {\n        if (!rootProjectionNode.current) {\n            const documentNode = new DocumentProjectionNode({});\n            documentNode.mount(window);\n            documentNode.setOptions({ layoutScroll: true });\n            rootProjectionNode.current = documentNode;\n        }\n        return rootProjectionNode.current;\n    },\n    resetTransform: (instance, value) => {\n        instance.style.transform = value !== undefined ? value : \"none\";\n    },\n    checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === \"fixed\"),\n});\n\nexport { HTMLProjectionNode, rootProjectionNode };\n//# sourceMappingURL=HTMLProjectionNode.mjs.map\n","import { SubscriptionManager, clamp, noop } from 'motion-utils';\nimport { animateSingleValue } from '../../animation/animate/single-value.mjs';\nimport { getOptimisedAppearId } from '../../animation/optimized-appear/get-appear-id.mjs';\nimport { getValueTransition } from '../../animation/utils/get-value-transition.mjs';\nimport { microtask } from '../../frameloop/microtask.mjs';\nimport { time } from '../../frameloop/sync-time.mjs';\nimport { scaleCorrectors } from '../styles/scale-correction.mjs';\nimport { activeAnimations } from '../../stats/animation-count.mjs';\nimport { statsBuffer } from '../../stats/buffer.mjs';\nimport { delay } from '../../utils/delay.mjs';\nimport { isSVGElement } from '../../utils/is-svg-element.mjs';\nimport { isSVGSVGElement } from '../../utils/is-svg-svg-element.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { mixValues } from '../animation/mix-values.mjs';\nimport { copyBoxInto, copyAxisDeltaInto, copyAxisInto } from '../geometry/copy.mjs';\nimport { translateAxis, transformBox, applyBoxDelta, applyTreeDeltas } from '../geometry/delta-apply.mjs';\nimport { calcLength, calcRelativeBox, calcRelativePosition, calcBoxDelta, isNear } from '../geometry/delta-calc.mjs';\nimport { removeBoxTransforms } from '../geometry/delta-remove.mjs';\nimport { createBox, createDelta } from '../geometry/models.mjs';\nimport { boxEqualsRounded, isDeltaZero, axisDeltaEquals, boxEquals, aspectRatio } from '../geometry/utils.mjs';\nimport { NodeStack } from '../shared/stack.mjs';\nimport { buildProjectionTransform } from '../styles/transform.mjs';\nimport { eachAxis } from '../utils/each-axis.mjs';\nimport { FlatTree } from '../utils/flat-tree.mjs';\nimport { hasTransform, hasScale, has2DTranslate } from '../utils/has-transform.mjs';\nimport { globalProjectionState } from './state.mjs';\nimport { frame, cancelFrame, frameData, frameSteps } from '../../frameloop/frame.mjs';\n\nconst metrics = {\n    nodes: 0,\n    calculatedTargetDeltas: 0,\n    calculatedProjections: 0,\n};\nconst transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * We use 1000 as the animation target as 0-1000 maps better to pixels than 0-1\n * which has a noticeable difference in spring animations\n */\nconst animationTarget = 1000;\nlet id = 0;\nfunction resetDistortingTransform(key, visualElement, values, sharedAnimationValues) {\n    const { latestValues } = visualElement;\n    // Record the distorting transform and then temporarily set it to 0\n    if (latestValues[key]) {\n        values[key] = latestValues[key];\n        visualElement.setStaticValue(key, 0);\n        if (sharedAnimationValues) {\n            sharedAnimationValues[key] = 0;\n        }\n    }\n}\nfunction cancelTreeOptimisedTransformAnimations(projectionNode) {\n    projectionNode.hasCheckedOptimisedAppear = true;\n    if (projectionNode.root === projectionNode)\n        return;\n    const { visualElement } = projectionNode.options;\n    if (!visualElement)\n        return;\n    const appearId = getOptimisedAppearId(visualElement);\n    if (window.MotionHasOptimisedAnimation(appearId, \"transform\")) {\n        const { layout, layoutId } = projectionNode.options;\n        window.MotionCancelOptimisedAnimation(appearId, \"transform\", frame, !(layout || layoutId));\n    }\n    const { parent } = projectionNode;\n    if (parent && !parent.hasCheckedOptimisedAppear) {\n        cancelTreeOptimisedTransformAnimations(parent);\n    }\n}\nfunction createProjectionNode({ attachResizeListener, defaultParent, measureScroll, checkIsScrollRoot, resetTransform, }) {\n    return class ProjectionNode {\n        constructor(latestValues = {}, parent = defaultParent?.()) {\n            /**\n             * A unique ID generated for every projection node.\n             */\n            this.id = id++;\n            /**\n             * An id that represents a unique session instigated by startUpdate.\n             */\n            this.animationId = 0;\n            this.animationCommitId = 0;\n            /**\n             * A Set containing all this component's children. This is used to iterate\n             * through the children.\n             *\n             * TODO: This could be faster to iterate as a flat array stored on the root node.\n             */\n            this.children = new Set();\n            /**\n             * Options for the node. We use this to configure what kind of layout animations\n             * we should perform (if any).\n             */\n            this.options = {};\n            /**\n             * We use this to detect when its safe to shut down part of a projection tree.\n             * We have to keep projecting children for scale correction and relative projection\n             * until all their parents stop performing layout animations.\n             */\n            this.isTreeAnimating = false;\n            this.isAnimationBlocked = false;\n            /**\n             * Flag to true if we think this layout has been changed. We can't always know this,\n             * currently we set it to true every time a component renders, or if it has a layoutDependency\n             * if that has changed between renders. Additionally, components can be grouped by LayoutGroup\n             * and if one node is dirtied, they all are.\n             */\n            this.isLayoutDirty = false;\n            /**\n             * Flag to true if we think the projection calculations for this node needs\n             * recalculating as a result of an updated transform or layout animation.\n             */\n            this.isProjectionDirty = false;\n            /**\n             * Flag to true if the layout *or* transform has changed. This then gets propagated\n             * throughout the projection tree, forcing any element below to recalculate on the next frame.\n             */\n            this.isSharedProjectionDirty = false;\n            /**\n             * Flag transform dirty. This gets propagated throughout the whole tree but is only\n             * respected by shared nodes.\n             */\n            this.isTransformDirty = false;\n            /**\n             * Block layout updates for instant layout transitions throughout the tree.\n             */\n            this.updateManuallyBlocked = false;\n            this.updateBlockedByResize = false;\n            /**\n             * Set to true between the start of the first `willUpdate` call and the end of the `didUpdate`\n             * call.\n             */\n            this.isUpdating = false;\n            /**\n             * If this is an SVG element we currently disable projection transforms\n             */\n            this.isSVG = false;\n            /**\n             * Flag to true (during promotion) if a node doing an instant layout transition needs to reset\n             * its projection styles.\n             */\n            this.needsReset = false;\n            /**\n             * Flags whether this node should have its transform reset prior to measuring.\n             */\n            this.shouldResetTransform = false;\n            /**\n             * Store whether this node has been checked for optimised appear animations. As\n             * effects fire bottom-up, and we want to look up the tree for appear animations,\n             * this makes sure we only check each path once, stopping at nodes that\n             * have already been checked.\n             */\n            this.hasCheckedOptimisedAppear = false;\n            /**\n             * An object representing the calculated contextual/accumulated/tree scale.\n             * This will be used to scale calculcated projection transforms, as these are\n             * calculated in screen-space but need to be scaled for elements to layoutly\n             * make it to their calculated destinations.\n             *\n             * TODO: Lazy-init\n             */\n            this.treeScale = { x: 1, y: 1 };\n            /**\n             *\n             */\n            this.eventHandlers = new Map();\n            this.hasTreeAnimated = false;\n            this.layoutVersion = 0;\n            // Note: Currently only running on root node\n            this.updateScheduled = false;\n            this.scheduleUpdate = () => this.update();\n            this.projectionUpdateScheduled = false;\n            this.checkUpdateFailed = () => {\n                if (this.isUpdating) {\n                    this.isUpdating = false;\n                    this.clearAllSnapshots();\n                }\n            };\n            /**\n             * This is a multi-step process as shared nodes might be of different depths. Nodes\n             * are sorted by depth order, so we need to resolve the entire tree before moving to\n             * the next step.\n             */\n            this.updateProjection = () => {\n                this.projectionUpdateScheduled = false;\n                /**\n                 * Reset debug counts. Manually resetting rather than creating a new\n                 * object each frame.\n                 */\n                if (statsBuffer.value) {\n                    metrics.nodes =\n                        metrics.calculatedTargetDeltas =\n                            metrics.calculatedProjections =\n                                0;\n                }\n                this.nodes.forEach(propagateDirtyNodes);\n                this.nodes.forEach(resolveTargetDelta);\n                this.nodes.forEach(calcProjection);\n                this.nodes.forEach(cleanDirtyNodes);\n                if (statsBuffer.addProjectionMetrics) {\n                    statsBuffer.addProjectionMetrics(metrics);\n                }\n            };\n            /**\n             * Frame calculations\n             */\n            this.resolvedRelativeTargetAt = 0.0;\n            this.linkedParentVersion = 0;\n            this.hasProjected = false;\n            this.isVisible = true;\n            this.animationProgress = 0;\n            /**\n             * Shared layout\n             */\n            // TODO Only running on root node\n            this.sharedNodes = new Map();\n            this.latestValues = latestValues;\n            this.root = parent ? parent.root || parent : this;\n            this.path = parent ? [...parent.path, parent] : [];\n            this.parent = parent;\n            this.depth = parent ? parent.depth + 1 : 0;\n            for (let i = 0; i < this.path.length; i++) {\n                this.path[i].shouldResetTransform = true;\n            }\n            if (this.root === this)\n                this.nodes = new FlatTree();\n        }\n        addEventListener(name, handler) {\n            if (!this.eventHandlers.has(name)) {\n                this.eventHandlers.set(name, new SubscriptionManager());\n            }\n            return this.eventHandlers.get(name).add(handler);\n        }\n        notifyListeners(name, ...args) {\n            const subscriptionManager = this.eventHandlers.get(name);\n            subscriptionManager && subscriptionManager.notify(...args);\n        }\n        hasListeners(name) {\n            return this.eventHandlers.has(name);\n        }\n        /**\n         * Lifecycles\n         */\n        mount(instance) {\n            if (this.instance)\n                return;\n            this.isSVG = isSVGElement(instance) && !isSVGSVGElement(instance);\n            this.instance = instance;\n            const { layoutId, layout, visualElement } = this.options;\n            if (visualElement && !visualElement.current) {\n                visualElement.mount(instance);\n            }\n            this.root.nodes.add(this);\n            this.parent && this.parent.children.add(this);\n            if (this.root.hasTreeAnimated && (layout || layoutId)) {\n                this.isLayoutDirty = true;\n            }\n            if (attachResizeListener) {\n                let cancelDelay;\n                let innerWidth = 0;\n                const resizeUnblockUpdate = () => (this.root.updateBlockedByResize = false);\n                // Set initial innerWidth in a frame.read callback to batch the read\n                frame.read(() => {\n                    innerWidth = window.innerWidth;\n                });\n                attachResizeListener(instance, () => {\n                    const newInnerWidth = window.innerWidth;\n                    if (newInnerWidth === innerWidth)\n                        return;\n                    innerWidth = newInnerWidth;\n                    this.root.updateBlockedByResize = true;\n                    cancelDelay && cancelDelay();\n                    cancelDelay = delay(resizeUnblockUpdate, 250);\n                    if (globalProjectionState.hasAnimatedSinceResize) {\n                        globalProjectionState.hasAnimatedSinceResize = false;\n                        this.nodes.forEach(finishAnimation);\n                    }\n                });\n            }\n            if (layoutId) {\n                this.root.registerSharedNode(layoutId, this);\n            }\n            // Only register the handler if it requires layout animation\n            if (this.options.animate !== false &&\n                visualElement &&\n                (layoutId || layout)) {\n                this.addEventListener(\"didUpdate\", ({ delta, hasLayoutChanged, hasRelativeLayoutChanged, layout: newLayout, }) => {\n                    if (this.isTreeAnimationBlocked()) {\n                        this.target = undefined;\n                        this.relativeTarget = undefined;\n                        return;\n                    }\n                    // TODO: Check here if an animation exists\n                    const layoutTransition = this.options.transition ||\n                        visualElement.getDefaultTransition() ||\n                        defaultLayoutTransition;\n                    const { onLayoutAnimationStart, onLayoutAnimationComplete, } = visualElement.getProps();\n                    /**\n                     * The target layout of the element might stay the same,\n                     * but its position relative to its parent has changed.\n                     */\n                    const hasTargetChanged = !this.targetLayout ||\n                        !boxEqualsRounded(this.targetLayout, newLayout);\n                    /*\n                     * Note: Disabled to fix relative animations always triggering new\n                     * layout animations. If this causes further issues, we can try\n                     * a different approach to detecting relative target changes.\n                     */\n                    // || hasRelativeLayoutChanged\n                    /**\n                     * If the layout hasn't seemed to have changed, it might be that the\n                     * element is visually in the same place in the document but its position\n                     * relative to its parent has indeed changed. So here we check for that.\n                     */\n                    const hasOnlyRelativeTargetChanged = !hasLayoutChanged && hasRelativeLayoutChanged;\n                    if (this.options.layoutRoot ||\n                        this.resumeFrom ||\n                        hasOnlyRelativeTargetChanged ||\n                        (hasLayoutChanged &&\n                            (hasTargetChanged || !this.currentAnimation))) {\n                        if (this.resumeFrom) {\n                            this.resumingFrom = this.resumeFrom;\n                            this.resumingFrom.resumingFrom = undefined;\n                        }\n                        const animationOptions = {\n                            ...getValueTransition(layoutTransition, \"layout\"),\n                            onPlay: onLayoutAnimationStart,\n                            onComplete: onLayoutAnimationComplete,\n                        };\n                        if (visualElement.shouldReduceMotion ||\n                            this.options.layoutRoot) {\n                            animationOptions.delay = 0;\n                            animationOptions.type = false;\n                        }\n                        this.startAnimation(animationOptions);\n                        /**\n                         * Set animation origin after starting animation to avoid layout jump\n                         * caused by stopping previous layout animation\n                         */\n                        this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);\n                    }\n                    else {\n                        /**\n                         * If the layout hasn't changed and we have an animation that hasn't started yet,\n                         * finish it immediately. Otherwise it will be animating from a location\n                         * that was probably never committed to screen and look like a jumpy box.\n                         */\n                        if (!hasLayoutChanged) {\n                            finishAnimation(this);\n                        }\n                        if (this.isLead() && this.options.onExitComplete) {\n                            this.options.onExitComplete();\n                        }\n                    }\n                    this.targetLayout = newLayout;\n                });\n            }\n        }\n        unmount() {\n            this.options.layoutId && this.willUpdate();\n            this.root.nodes.remove(this);\n            const stack = this.getStack();\n            stack && stack.remove(this);\n            this.parent && this.parent.children.delete(this);\n            this.instance = undefined;\n            this.eventHandlers.clear();\n            cancelFrame(this.updateProjection);\n        }\n        // only on the root\n        blockUpdate() {\n            this.updateManuallyBlocked = true;\n        }\n        unblockUpdate() {\n            this.updateManuallyBlocked = false;\n        }\n        isUpdateBlocked() {\n            return this.updateManuallyBlocked || this.updateBlockedByResize;\n        }\n        isTreeAnimationBlocked() {\n            return (this.isAnimationBlocked ||\n                (this.parent && this.parent.isTreeAnimationBlocked()) ||\n                false);\n        }\n        // Note: currently only running on root node\n        startUpdate() {\n            if (this.isUpdateBlocked())\n                return;\n            this.isUpdating = true;\n            this.nodes && this.nodes.forEach(resetSkewAndRotation);\n            this.animationId++;\n        }\n        getTransformTemplate() {\n            const { visualElement } = this.options;\n            return visualElement && visualElement.getProps().transformTemplate;\n        }\n        willUpdate(shouldNotifyListeners = true) {\n            this.root.hasTreeAnimated = true;\n            if (this.root.isUpdateBlocked()) {\n                this.options.onExitComplete && this.options.onExitComplete();\n                return;\n            }\n            /**\n             * If we're running optimised appear animations then these must be\n             * cancelled before measuring the DOM. This is so we can measure\n             * the true layout of the element rather than the WAAPI animation\n             * which will be unaffected by the resetSkewAndRotate step.\n             *\n             * Note: This is a DOM write. Worst case scenario is this is sandwiched\n             * between other snapshot reads which will cause unnecessary style recalculations.\n             * This has to happen here though, as we don't yet know which nodes will need\n             * snapshots in startUpdate(), but we only want to cancel optimised animations\n             * if a layout animation measurement is actually going to be affected by them.\n             */\n            if (window.MotionCancelOptimisedAnimation &&\n                !this.hasCheckedOptimisedAppear) {\n                cancelTreeOptimisedTransformAnimations(this);\n            }\n            !this.root.isUpdating && this.root.startUpdate();\n            if (this.isLayoutDirty)\n                return;\n            this.isLayoutDirty = true;\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                node.shouldResetTransform = true;\n                /**\n                 * Percentage translates resolve against layoutBox dimensions,\n                 * so ancestors with them must be re-measured after transform reset.\n                 */\n                if (typeof node.latestValues.x === \"string\" ||\n                    typeof node.latestValues.y === \"string\") {\n                    node.isLayoutDirty = true;\n                }\n                node.updateScroll(\"snapshot\");\n                if (node.options.layoutRoot) {\n                    node.willUpdate(false);\n                }\n            }\n            const { layoutId, layout } = this.options;\n            if (layoutId === undefined && !layout)\n                return;\n            const transformTemplate = this.getTransformTemplate();\n            this.prevTransformTemplateValue = transformTemplate\n                ? transformTemplate(this.latestValues, \"\")\n                : undefined;\n            this.updateSnapshot();\n            shouldNotifyListeners && this.notifyListeners(\"willUpdate\");\n        }\n        update() {\n            this.updateScheduled = false;\n            const updateWasBlocked = this.isUpdateBlocked();\n            // When doing an instant transition, we skip the layout update,\n            // but should still clean up the measurements so that the next\n            // snapshot could be taken correctly.\n            if (updateWasBlocked) {\n                const wasBlockedByResize = this.updateBlockedByResize;\n                this.unblockUpdate();\n                this.updateBlockedByResize = false;\n                this.clearAllSnapshots();\n                /**\n                 * When blocked by resize, still measure layouts so\n                 * callbacks like onLayoutMeasure fire (e.g. Reorder).\n                 * Skip notifyLayoutUpdate to prevent animations.\n                 */\n                if (wasBlockedByResize) {\n                    this.nodes.forEach(forceLayoutMeasure);\n                }\n                this.nodes.forEach(clearMeasurements);\n                return;\n            }\n            /**\n             * If this is a repeat of didUpdate then ignore the animation.\n             */\n            if (this.animationId <= this.animationCommitId) {\n                this.nodes.forEach(clearIsLayoutDirty);\n                return;\n            }\n            this.animationCommitId = this.animationId;\n            if (!this.isUpdating) {\n                this.nodes.forEach(clearIsLayoutDirty);\n            }\n            else {\n                this.isUpdating = false;\n                /**\n                 * Ensure animation-blocked nodes (e.g. during drag)\n                 * get measured even when memoized (willUpdate skipped).\n                 */\n                this.nodes.forEach(ensureDraggedNodesSnapshotted);\n                /**\n                 * Write\n                 */\n                this.nodes.forEach(resetTransformStyle);\n                /**\n                 * Read ==================\n                 */\n                // Update layout measurements of updated children\n                this.nodes.forEach(updateLayout);\n                /**\n                 * Write\n                 */\n                // Notify listeners that the layout is updated\n                this.nodes.forEach(notifyLayoutUpdate);\n            }\n            this.clearAllSnapshots();\n            /**\n             * Manually flush any pending updates. Ideally\n             * we could leave this to the following requestAnimationFrame but this seems\n             * to leave a flash of incorrectly styled content.\n             */\n            const now = time.now();\n            frameData.delta = clamp(0, 1000 / 60, now - frameData.timestamp);\n            frameData.timestamp = now;\n            frameData.isProcessing = true;\n            frameSteps.update.process(frameData);\n            frameSteps.preRender.process(frameData);\n            frameSteps.render.process(frameData);\n            frameData.isProcessing = false;\n        }\n        didUpdate() {\n            if (!this.updateScheduled) {\n                this.updateScheduled = true;\n                microtask.read(this.scheduleUpdate);\n            }\n        }\n        clearAllSnapshots() {\n            this.nodes.forEach(clearSnapshot);\n            this.sharedNodes.forEach(removeLeadSnapshots);\n        }\n        scheduleUpdateProjection() {\n            if (!this.projectionUpdateScheduled) {\n                this.projectionUpdateScheduled = true;\n                frame.preRender(this.updateProjection, false, true);\n            }\n        }\n        scheduleCheckAfterUnmount() {\n            /**\n             * If the unmounting node is in a layoutGroup and did trigger a willUpdate,\n             * we manually call didUpdate to give a chance to the siblings to animate.\n             * Otherwise, cleanup all snapshots to prevents future nodes from reusing them.\n             */\n            frame.postRender(() => {\n                if (this.isLayoutDirty) {\n                    this.root.didUpdate();\n                }\n                else {\n                    this.root.checkUpdateFailed();\n                }\n            });\n        }\n        /**\n         * Update measurements\n         */\n        updateSnapshot() {\n            if (this.snapshot || !this.instance)\n                return;\n            this.snapshot = this.measure();\n            if (this.snapshot &&\n                !calcLength(this.snapshot.measuredBox.x) &&\n                !calcLength(this.snapshot.measuredBox.y)) {\n                this.snapshot = undefined;\n            }\n        }\n        updateLayout() {\n            if (!this.instance)\n                return;\n            this.updateScroll();\n            if (!(this.options.alwaysMeasureLayout && this.isLead()) &&\n                !this.isLayoutDirty) {\n                return;\n            }\n            /**\n             * When a node is mounted, it simply resumes from the prevLead's\n             * snapshot instead of taking a new one, but the ancestors scroll\n             * might have updated while the prevLead is unmounted. We need to\n             * update the scroll again to make sure the layout we measure is\n             * up to date.\n             */\n            if (this.resumeFrom && !this.resumeFrom.instance) {\n                for (let i = 0; i < this.path.length; i++) {\n                    const node = this.path[i];\n                    node.updateScroll();\n                }\n            }\n            const prevLayout = this.layout;\n            this.layout = this.measure(false);\n            this.layoutVersion++;\n            if (!this.layoutCorrected)\n                this.layoutCorrected = createBox();\n            this.isLayoutDirty = false;\n            this.projectionDelta = undefined;\n            this.notifyListeners(\"measure\", this.layout.layoutBox);\n            const { visualElement } = this.options;\n            visualElement &&\n                visualElement.notify(\"LayoutMeasure\", this.layout.layoutBox, prevLayout ? prevLayout.layoutBox : undefined);\n        }\n        updateScroll(phase = \"measure\") {\n            let needsMeasurement = Boolean(this.options.layoutScroll && this.instance);\n            if (this.scroll &&\n                this.scroll.animationId === this.root.animationId &&\n                this.scroll.phase === phase) {\n                needsMeasurement = false;\n            }\n            if (needsMeasurement && this.instance) {\n                const isRoot = checkIsScrollRoot(this.instance);\n                this.scroll = {\n                    animationId: this.root.animationId,\n                    phase,\n                    isRoot,\n                    offset: measureScroll(this.instance),\n                    wasRoot: this.scroll ? this.scroll.isRoot : isRoot,\n                };\n            }\n        }\n        resetTransform() {\n            if (!resetTransform)\n                return;\n            const isResetRequested = this.isLayoutDirty ||\n                this.shouldResetTransform ||\n                this.options.alwaysMeasureLayout;\n            const hasProjection = this.projectionDelta && !isDeltaZero(this.projectionDelta);\n            const transformTemplate = this.getTransformTemplate();\n            const transformTemplateValue = transformTemplate\n                ? transformTemplate(this.latestValues, \"\")\n                : undefined;\n            const transformTemplateHasChanged = transformTemplateValue !== this.prevTransformTemplateValue;\n            if (isResetRequested &&\n                this.instance &&\n                (hasProjection ||\n                    hasTransform(this.latestValues) ||\n                    transformTemplateHasChanged)) {\n                resetTransform(this.instance, transformTemplateValue);\n                this.shouldResetTransform = false;\n                this.scheduleRender();\n            }\n        }\n        measure(removeTransform = true) {\n            const pageBox = this.measurePageBox();\n            let layoutBox = this.removeElementScroll(pageBox);\n            /**\n             * Measurements taken during the pre-render stage\n             * still have transforms applied so we remove them\n             * via calculation.\n             */\n            if (removeTransform) {\n                layoutBox = this.removeTransform(layoutBox);\n            }\n            roundBox(layoutBox);\n            return {\n                animationId: this.root.animationId,\n                measuredBox: pageBox,\n                layoutBox,\n                latestValues: {},\n                source: this.id,\n            };\n        }\n        measurePageBox() {\n            const { visualElement } = this.options;\n            if (!visualElement)\n                return createBox();\n            const box = visualElement.measureViewportBox();\n            const wasInScrollRoot = this.scroll?.wasRoot || this.path.some(checkNodeWasScrollRoot);\n            if (!wasInScrollRoot) {\n                // Remove viewport scroll to give page-relative coordinates\n                const { scroll } = this.root;\n                if (scroll) {\n                    translateAxis(box.x, scroll.offset.x);\n                    translateAxis(box.y, scroll.offset.y);\n                }\n            }\n            return box;\n        }\n        removeElementScroll(box) {\n            const boxWithoutScroll = createBox();\n            copyBoxInto(boxWithoutScroll, box);\n            if (this.scroll?.wasRoot) {\n                return boxWithoutScroll;\n            }\n            /**\n             * Performance TODO: Keep a cumulative scroll offset down the tree\n             * rather than loop back up the path.\n             */\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                const { scroll, options } = node;\n                if (node !== this.root && scroll && options.layoutScroll) {\n                    /**\n                     * If this is a new scroll root, we want to remove all previous scrolls\n                     * from the viewport box.\n                     */\n                    if (scroll.wasRoot) {\n                        copyBoxInto(boxWithoutScroll, box);\n                    }\n                    translateAxis(boxWithoutScroll.x, scroll.offset.x);\n                    translateAxis(boxWithoutScroll.y, scroll.offset.y);\n                }\n            }\n            return boxWithoutScroll;\n        }\n        applyTransform(box, transformOnly = false, output) {\n            const withTransforms = output || createBox();\n            copyBoxInto(withTransforms, box);\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                if (!transformOnly &&\n                    node.options.layoutScroll &&\n                    node.scroll &&\n                    node !== node.root) {\n                    translateAxis(withTransforms.x, -node.scroll.offset.x);\n                    translateAxis(withTransforms.y, -node.scroll.offset.y);\n                }\n                if (!hasTransform(node.latestValues))\n                    continue;\n                transformBox(withTransforms, node.latestValues, node.layout?.layoutBox);\n            }\n            if (hasTransform(this.latestValues)) {\n                transformBox(withTransforms, this.latestValues, this.layout?.layoutBox);\n            }\n            return withTransforms;\n        }\n        removeTransform(box) {\n            const boxWithoutTransform = createBox();\n            copyBoxInto(boxWithoutTransform, box);\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                if (!hasTransform(node.latestValues))\n                    continue;\n                let sourceBox;\n                if (node.instance) {\n                    hasScale(node.latestValues) && node.updateSnapshot();\n                    sourceBox = createBox();\n                    copyBoxInto(sourceBox, node.measurePageBox());\n                }\n                removeBoxTransforms(boxWithoutTransform, node.latestValues, node.snapshot?.layoutBox, sourceBox);\n            }\n            if (hasTransform(this.latestValues)) {\n                removeBoxTransforms(boxWithoutTransform, this.latestValues);\n            }\n            return boxWithoutTransform;\n        }\n        setTargetDelta(delta) {\n            this.targetDelta = delta;\n            this.root.scheduleUpdateProjection();\n            this.isProjectionDirty = true;\n        }\n        setOptions(options) {\n            this.options = {\n                ...this.options,\n                ...options,\n                crossfade: options.crossfade !== undefined ? options.crossfade : true,\n            };\n        }\n        clearMeasurements() {\n            this.scroll = undefined;\n            this.layout = undefined;\n            this.snapshot = undefined;\n            this.prevTransformTemplateValue = undefined;\n            this.targetDelta = undefined;\n            this.target = undefined;\n            this.isLayoutDirty = false;\n        }\n        forceRelativeParentToResolveTarget() {\n            if (!this.relativeParent)\n                return;\n            /**\n             * If the parent target isn't up-to-date, force it to update.\n             * This is an unfortunate de-optimisation as it means any updating relative\n             * projection will cause all the relative parents to recalculate back\n             * up the tree.\n             */\n            if (this.relativeParent.resolvedRelativeTargetAt !==\n                frameData.timestamp) {\n                this.relativeParent.resolveTargetDelta(true);\n            }\n        }\n        resolveTargetDelta(forceRecalculation = false) {\n            /**\n             * Once the dirty status of nodes has been spread through the tree, we also\n             * need to check if we have a shared node of a different depth that has itself\n             * been dirtied.\n             */\n            const lead = this.getLead();\n            this.isProjectionDirty || (this.isProjectionDirty = lead.isProjectionDirty);\n            this.isTransformDirty || (this.isTransformDirty = lead.isTransformDirty);\n            this.isSharedProjectionDirty || (this.isSharedProjectionDirty = lead.isSharedProjectionDirty);\n            const isShared = Boolean(this.resumingFrom) || this !== lead;\n            /**\n             * We don't use transform for this step of processing so we don't\n             * need to check whether any nodes have changed transform.\n             */\n            const canSkip = !(forceRecalculation ||\n                (isShared && this.isSharedProjectionDirty) ||\n                this.isProjectionDirty ||\n                this.parent?.isProjectionDirty ||\n                this.attemptToResolveRelativeTarget ||\n                this.root.updateBlockedByResize);\n            if (canSkip)\n                return;\n            const { layout, layoutId } = this.options;\n            /**\n             * If we have no layout, we can't perform projection, so early return\n             */\n            if (!this.layout || !(layout || layoutId))\n                return;\n            this.resolvedRelativeTargetAt = frameData.timestamp;\n            const relativeParent = this.getClosestProjectingParent();\n            if (relativeParent &&\n                this.linkedParentVersion !== relativeParent.layoutVersion &&\n                !relativeParent.options.layoutRoot) {\n                this.removeRelativeTarget();\n            }\n            /**\n             * If we don't have a targetDelta but do have a layout, we can attempt to resolve\n             * a relativeParent. This will allow a component to perform scale correction\n             * even if no animation has started.\n             */\n            if (!this.targetDelta && !this.relativeTarget) {\n                if (this.options.layoutAnchor !== false &&\n                    relativeParent &&\n                    relativeParent.layout) {\n                    this.createRelativeTarget(relativeParent, this.layout.layoutBox, relativeParent.layout.layoutBox);\n                }\n                else {\n                    this.removeRelativeTarget();\n                }\n            }\n            /**\n             * If we have no relative target or no target delta our target isn't valid\n             * for this frame.\n             */\n            if (!this.relativeTarget && !this.targetDelta)\n                return;\n            /**\n             * Lazy-init target data structure\n             */\n            if (!this.target) {\n                this.target = createBox();\n                this.targetWithTransforms = createBox();\n            }\n            /**\n             * If we've got a relative box for this component, resolve it into a target relative to the parent.\n             */\n            if (this.relativeTarget &&\n                this.relativeTargetOrigin &&\n                this.relativeParent &&\n                this.relativeParent.target) {\n                this.forceRelativeParentToResolveTarget();\n                calcRelativeBox(this.target, this.relativeTarget, this.relativeParent.target, this.options.layoutAnchor || undefined);\n                /**\n                 * If we've only got a targetDelta, resolve it into a target\n                 */\n            }\n            else if (this.targetDelta) {\n                if (Boolean(this.resumingFrom)) {\n                    this.applyTransform(this.layout.layoutBox, false, this.target);\n                }\n                else {\n                    copyBoxInto(this.target, this.layout.layoutBox);\n                }\n                applyBoxDelta(this.target, this.targetDelta);\n            }\n            else {\n                /**\n                 * If no target, use own layout as target\n                 */\n                copyBoxInto(this.target, this.layout.layoutBox);\n            }\n            /**\n             * If we've been told to attempt to resolve a relative target, do so.\n             */\n            if (this.attemptToResolveRelativeTarget) {\n                this.attemptToResolveRelativeTarget = false;\n                if (this.options.layoutAnchor !== false &&\n                    relativeParent &&\n                    Boolean(relativeParent.resumingFrom) ===\n                        Boolean(this.resumingFrom) &&\n                    !relativeParent.options.layoutScroll &&\n                    relativeParent.target &&\n                    this.animationProgress !== 1) {\n                    this.createRelativeTarget(relativeParent, this.target, relativeParent.target);\n                }\n                else {\n                    this.relativeParent = this.relativeTarget = undefined;\n                }\n            }\n            /**\n             * Increase debug counter for resolved target deltas\n             */\n            if (statsBuffer.value) {\n                metrics.calculatedTargetDeltas++;\n            }\n        }\n        getClosestProjectingParent() {\n            if (!this.parent ||\n                hasScale(this.parent.latestValues) ||\n                has2DTranslate(this.parent.latestValues)) {\n                return undefined;\n            }\n            if (this.parent.isProjecting()) {\n                return this.parent;\n            }\n            else {\n                return this.parent.getClosestProjectingParent();\n            }\n        }\n        isProjecting() {\n            return Boolean((this.relativeTarget ||\n                this.targetDelta ||\n                this.options.layoutRoot) &&\n                this.layout);\n        }\n        createRelativeTarget(relativeParent, layout, parentLayout) {\n            this.relativeParent = relativeParent;\n            this.linkedParentVersion = relativeParent.layoutVersion;\n            this.forceRelativeParentToResolveTarget();\n            this.relativeTarget = createBox();\n            this.relativeTargetOrigin = createBox();\n            calcRelativePosition(this.relativeTargetOrigin, layout, parentLayout, this.options.layoutAnchor || undefined);\n            copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n        }\n        removeRelativeTarget() {\n            this.relativeParent = this.relativeTarget = undefined;\n        }\n        calcProjection() {\n            const lead = this.getLead();\n            const isShared = Boolean(this.resumingFrom) || this !== lead;\n            let canSkip = true;\n            /**\n             * If this is a normal layout animation and neither this node nor its nearest projecting\n             * is dirty then we can't skip.\n             */\n            if (this.isProjectionDirty || this.parent?.isProjectionDirty) {\n                canSkip = false;\n            }\n            /**\n             * If this is a shared layout animation and this node's shared projection is dirty then\n             * we can't skip.\n             */\n            if (isShared &&\n                (this.isSharedProjectionDirty || this.isTransformDirty)) {\n                canSkip = false;\n            }\n            /**\n             * If we have resolved the target this frame we must recalculate the\n             * projection to ensure it visually represents the internal calculations.\n             */\n            if (this.resolvedRelativeTargetAt === frameData.timestamp) {\n                canSkip = false;\n            }\n            if (canSkip)\n                return;\n            const { layout, layoutId } = this.options;\n            /**\n             * If this section of the tree isn't animating we can\n             * delete our target sources for the following frame.\n             */\n            this.isTreeAnimating = Boolean((this.parent && this.parent.isTreeAnimating) ||\n                this.currentAnimation ||\n                this.pendingAnimation);\n            if (!this.isTreeAnimating) {\n                this.targetDelta = this.relativeTarget = undefined;\n            }\n            if (!this.layout || !(layout || layoutId))\n                return;\n            /**\n             * Reset the corrected box with the latest values from box, as we're then going\n             * to perform mutative operations on it.\n             */\n            copyBoxInto(this.layoutCorrected, this.layout.layoutBox);\n            /**\n             * Record previous tree scales before updating.\n             */\n            const prevTreeScaleX = this.treeScale.x;\n            const prevTreeScaleY = this.treeScale.y;\n            /**\n             * Apply all the parent deltas to this box to produce the corrected box. This\n             * is the layout box, as it will appear on screen as a result of the transforms of its parents.\n             */\n            applyTreeDeltas(this.layoutCorrected, this.treeScale, this.path, isShared);\n            /**\n             * If this layer needs to perform scale correction but doesn't have a target,\n             * use the layout as the target.\n             */\n            if (lead.layout &&\n                !lead.target &&\n                (this.treeScale.x !== 1 || this.treeScale.y !== 1)) {\n                lead.target = lead.layout.layoutBox;\n                lead.targetWithTransforms = createBox();\n            }\n            const { target } = lead;\n            if (!target) {\n                /**\n                 * If we don't have a target to project into, but we were previously\n                 * projecting, we want to remove the stored transform and schedule\n                 * a render to ensure the elements reflect the removed transform.\n                 */\n                if (this.prevProjectionDelta) {\n                    this.createProjectionDeltas();\n                    this.scheduleRender();\n                }\n                return;\n            }\n            if (!this.projectionDelta || !this.prevProjectionDelta) {\n                this.createProjectionDeltas();\n            }\n            else {\n                copyAxisDeltaInto(this.prevProjectionDelta.x, this.projectionDelta.x);\n                copyAxisDeltaInto(this.prevProjectionDelta.y, this.projectionDelta.y);\n            }\n            /**\n             * Update the delta between the corrected box and the target box before user-set transforms were applied.\n             * This will allow us to calculate the corrected borderRadius and boxShadow to compensate\n             * for our layout reprojection, but still allow them to be scaled correctly by the user.\n             * It might be that to simplify this we may want to accept that user-set scale is also corrected\n             * and we wouldn't have to keep and calc both deltas, OR we could support a user setting\n             * to allow people to choose whether these styles are corrected based on just the\n             * layout reprojection or the final bounding box.\n             */\n            calcBoxDelta(this.projectionDelta, this.layoutCorrected, target, this.latestValues);\n            if (this.treeScale.x !== prevTreeScaleX ||\n                this.treeScale.y !== prevTreeScaleY ||\n                !axisDeltaEquals(this.projectionDelta.x, this.prevProjectionDelta.x) ||\n                !axisDeltaEquals(this.projectionDelta.y, this.prevProjectionDelta.y)) {\n                this.hasProjected = true;\n                this.scheduleRender();\n                this.notifyListeners(\"projectionUpdate\", target);\n            }\n            /**\n             * Increase debug counter for recalculated projections\n             */\n            if (statsBuffer.value) {\n                metrics.calculatedProjections++;\n            }\n        }\n        hide() {\n            this.isVisible = false;\n            // TODO: Schedule render\n        }\n        show() {\n            this.isVisible = true;\n            // TODO: Schedule render\n        }\n        scheduleRender(notifyAll = true) {\n            this.options.visualElement?.scheduleRender();\n            if (notifyAll) {\n                const stack = this.getStack();\n                stack && stack.scheduleRender();\n            }\n            if (this.resumingFrom && !this.resumingFrom.instance) {\n                this.resumingFrom = undefined;\n            }\n        }\n        createProjectionDeltas() {\n            this.prevProjectionDelta = createDelta();\n            this.projectionDelta = createDelta();\n            this.projectionDeltaWithTransform = createDelta();\n        }\n        setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {\n            const snapshot = this.snapshot;\n            const snapshotLatestValues = snapshot ? snapshot.latestValues : {};\n            const mixedValues = { ...this.latestValues };\n            const targetDelta = createDelta();\n            if (!this.relativeParent ||\n                !this.relativeParent.options.layoutRoot) {\n                this.relativeTarget = this.relativeTargetOrigin = undefined;\n            }\n            this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;\n            const relativeLayout = createBox();\n            const snapshotSource = snapshot ? snapshot.source : undefined;\n            const layoutSource = this.layout ? this.layout.source : undefined;\n            const isSharedLayoutAnimation = snapshotSource !== layoutSource;\n            const stack = this.getStack();\n            const isOnlyMember = !stack || stack.members.length <= 1;\n            const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation &&\n                !isOnlyMember &&\n                this.options.crossfade === true &&\n                !this.path.some(hasOpacityCrossfade));\n            this.animationProgress = 0;\n            let prevRelativeTarget;\n            this.mixTargetDelta = (latest) => {\n                const progress = latest / 1000;\n                mixAxisDelta(targetDelta.x, delta.x, progress);\n                mixAxisDelta(targetDelta.y, delta.y, progress);\n                this.setTargetDelta(targetDelta);\n                if (this.relativeTarget &&\n                    this.relativeTargetOrigin &&\n                    this.layout &&\n                    this.relativeParent &&\n                    this.relativeParent.layout) {\n                    calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || undefined);\n                    mixBox(this.relativeTarget, this.relativeTargetOrigin, relativeLayout, progress);\n                    /**\n                     * If this is an unchanged relative target we can consider the\n                     * projection not dirty.\n                     */\n                    if (prevRelativeTarget &&\n                        boxEquals(this.relativeTarget, prevRelativeTarget)) {\n                        this.isProjectionDirty = false;\n                    }\n                    if (!prevRelativeTarget)\n                        prevRelativeTarget = createBox();\n                    copyBoxInto(prevRelativeTarget, this.relativeTarget);\n                }\n                if (isSharedLayoutAnimation) {\n                    this.animationValues = mixedValues;\n                    mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress, shouldCrossfadeOpacity, isOnlyMember);\n                }\n                this.root.scheduleUpdateProjection();\n                this.scheduleRender();\n                this.animationProgress = progress;\n            };\n            this.mixTargetDelta(this.options.layoutRoot ? 1000 : 0);\n        }\n        startAnimation(options) {\n            this.notifyListeners(\"animationStart\");\n            this.currentAnimation?.stop();\n            this.resumingFrom?.currentAnimation?.stop();\n            if (this.pendingAnimation) {\n                cancelFrame(this.pendingAnimation);\n                this.pendingAnimation = undefined;\n            }\n            /**\n             * Start the animation in the next frame to have a frame with progress 0,\n             * where the target is the same as when the animation started, so we can\n             * calculate the relative positions correctly for instant transitions.\n             */\n            this.pendingAnimation = frame.update(() => {\n                globalProjectionState.hasAnimatedSinceResize = true;\n                activeAnimations.layout++;\n                this.motionValue || (this.motionValue = motionValue(0));\n                this.motionValue.jump(0, false);\n                this.currentAnimation = animateSingleValue(this.motionValue, [0, 1000], {\n                    ...options,\n                    velocity: 0,\n                    isSync: true,\n                    onUpdate: (latest) => {\n                        this.mixTargetDelta(latest);\n                        options.onUpdate && options.onUpdate(latest);\n                    },\n                    onStop: () => {\n                        activeAnimations.layout--;\n                    },\n                    onComplete: () => {\n                        activeAnimations.layout--;\n                        options.onComplete && options.onComplete();\n                        this.completeAnimation();\n                    },\n                });\n                if (this.resumingFrom) {\n                    this.resumingFrom.currentAnimation = this.currentAnimation;\n                }\n                this.pendingAnimation = undefined;\n            });\n        }\n        completeAnimation() {\n            if (this.resumingFrom) {\n                this.resumingFrom.currentAnimation = undefined;\n                this.resumingFrom.preserveOpacity = undefined;\n            }\n            const stack = this.getStack();\n            stack && stack.exitAnimationComplete();\n            this.resumingFrom =\n                this.currentAnimation =\n                    this.animationValues =\n                        undefined;\n            this.notifyListeners(\"animationComplete\");\n        }\n        finishAnimation() {\n            if (this.currentAnimation) {\n                this.mixTargetDelta && this.mixTargetDelta(animationTarget);\n                this.currentAnimation.stop();\n            }\n            this.completeAnimation();\n        }\n        applyTransformsToTarget() {\n            const lead = this.getLead();\n            let { targetWithTransforms, target, layout, latestValues } = lead;\n            if (!targetWithTransforms || !target || !layout)\n                return;\n            /**\n             * If we're only animating position, and this element isn't the lead element,\n             * then instead of projecting into the lead box we instead want to calculate\n             * a new target that aligns the two boxes but maintains the layout shape.\n             */\n            if (this !== lead &&\n                this.layout &&\n                layout &&\n                shouldAnimatePositionOnly(this.options.animationType, this.layout.layoutBox, layout.layoutBox)) {\n                target = this.target || createBox();\n                const xLength = calcLength(this.layout.layoutBox.x);\n                target.x.min = lead.target.x.min;\n                target.x.max = target.x.min + xLength;\n                const yLength = calcLength(this.layout.layoutBox.y);\n                target.y.min = lead.target.y.min;\n                target.y.max = target.y.min + yLength;\n            }\n            copyBoxInto(targetWithTransforms, target);\n            /**\n             * Apply the latest user-set transforms to the targetBox to produce the targetBoxFinal.\n             * This is the final box that we will then project into by calculating a transform delta and\n             * applying it to the corrected box.\n             */\n            transformBox(targetWithTransforms, latestValues);\n            /**\n             * Update the delta between the corrected box and the final target box, after\n             * user-set transforms are applied to it. This will be used by the renderer to\n             * create a transform style that will reproject the element from its layout layout\n             * into the desired bounding box.\n             */\n            calcBoxDelta(this.projectionDeltaWithTransform, this.layoutCorrected, targetWithTransforms, latestValues);\n        }\n        registerSharedNode(layoutId, node) {\n            if (!this.sharedNodes.has(layoutId)) {\n                this.sharedNodes.set(layoutId, new NodeStack());\n            }\n            const stack = this.sharedNodes.get(layoutId);\n            stack.add(node);\n            const config = node.options.initialPromotionConfig;\n            node.promote({\n                transition: config ? config.transition : undefined,\n                preserveFollowOpacity: config && config.shouldPreserveFollowOpacity\n                    ? config.shouldPreserveFollowOpacity(node)\n                    : undefined,\n            });\n        }\n        isLead() {\n            const stack = this.getStack();\n            return stack ? stack.lead === this : true;\n        }\n        getLead() {\n            const { layoutId } = this.options;\n            return layoutId ? this.getStack()?.lead || this : this;\n        }\n        getPrevLead() {\n            const { layoutId } = this.options;\n            return layoutId ? this.getStack()?.prevLead : undefined;\n        }\n        getStack() {\n            const { layoutId } = this.options;\n            if (layoutId)\n                return this.root.sharedNodes.get(layoutId);\n        }\n        promote({ needsReset, transition, preserveFollowOpacity, } = {}) {\n            const stack = this.getStack();\n            if (stack)\n                stack.promote(this, preserveFollowOpacity);\n            if (needsReset) {\n                this.projectionDelta = undefined;\n                this.needsReset = true;\n            }\n            if (transition)\n                this.setOptions({ transition });\n        }\n        relegate() {\n            const stack = this.getStack();\n            if (stack) {\n                return stack.relegate(this);\n            }\n            else {\n                return false;\n            }\n        }\n        resetSkewAndRotation() {\n            const { visualElement } = this.options;\n            if (!visualElement)\n                return;\n            // If there's no detected skew or rotation values, we can early return without a forced render.\n            let hasDistortingTransform = false;\n            /**\n             * An unrolled check for rotation values. Most elements don't have any rotation and\n             * skipping the nested loop and new object creation is 50% faster.\n             */\n            const { latestValues } = visualElement;\n            if (latestValues.z ||\n                latestValues.rotate ||\n                latestValues.rotateX ||\n                latestValues.rotateY ||\n                latestValues.rotateZ ||\n                latestValues.skewX ||\n                latestValues.skewY) {\n                hasDistortingTransform = true;\n            }\n            // If there's no distorting values, we don't need to do any more.\n            if (!hasDistortingTransform)\n                return;\n            const resetValues = {};\n            if (latestValues.z) {\n                resetDistortingTransform(\"z\", visualElement, resetValues, this.animationValues);\n            }\n            // Check the skew and rotate value of all axes and reset to 0\n            for (let i = 0; i < transformAxes.length; i++) {\n                resetDistortingTransform(`rotate${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n                resetDistortingTransform(`skew${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n            }\n            // Force a render of this element to apply the transform with all skews and rotations\n            // set to 0.\n            visualElement.render();\n            // Put back all the values we reset\n            for (const key in resetValues) {\n                visualElement.setStaticValue(key, resetValues[key]);\n                if (this.animationValues) {\n                    this.animationValues[key] = resetValues[key];\n                }\n            }\n            // Schedule a render for the next frame. This ensures we won't visually\n            // see the element with the reset rotate value applied.\n            visualElement.scheduleRender();\n        }\n        applyProjectionStyles(targetStyle, // CSSStyleDeclaration - doesn't allow numbers to be assigned to properties\n        styleProp) {\n            if (!this.instance || this.isSVG)\n                return;\n            if (!this.isVisible) {\n                targetStyle.visibility = \"hidden\";\n                return;\n            }\n            const transformTemplate = this.getTransformTemplate();\n            if (this.needsReset) {\n                this.needsReset = false;\n                targetStyle.visibility = \"\";\n                targetStyle.opacity = \"\";\n                targetStyle.pointerEvents =\n                    resolveMotionValue(styleProp?.pointerEvents) || \"\";\n                targetStyle.transform = transformTemplate\n                    ? transformTemplate(this.latestValues, \"\")\n                    : \"none\";\n                return;\n            }\n            const lead = this.getLead();\n            if (!this.projectionDelta || !this.layout || !lead.target) {\n                if (this.options.layoutId) {\n                    targetStyle.opacity =\n                        this.latestValues.opacity !== undefined\n                            ? this.latestValues.opacity\n                            : 1;\n                    targetStyle.pointerEvents =\n                        resolveMotionValue(styleProp?.pointerEvents) || \"\";\n                }\n                if (this.hasProjected && !hasTransform(this.latestValues)) {\n                    targetStyle.transform = transformTemplate\n                        ? transformTemplate({}, \"\")\n                        : \"none\";\n                    this.hasProjected = false;\n                }\n                return;\n            }\n            targetStyle.visibility = \"\";\n            const valuesToRender = lead.animationValues || lead.latestValues;\n            this.applyTransformsToTarget();\n            let transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender);\n            if (transformTemplate) {\n                transform = transformTemplate(valuesToRender, transform);\n            }\n            targetStyle.transform = transform;\n            const { x, y } = this.projectionDelta;\n            targetStyle.transformOrigin = `${x.origin * 100}% ${y.origin * 100}% 0`;\n            if (lead.animationValues) {\n                /**\n                 * If the lead component is animating, assign this either the entering/leaving\n                 * opacity\n                 */\n                targetStyle.opacity =\n                    lead === this\n                        ? valuesToRender.opacity ??\n                            this.latestValues.opacity ??\n                            1\n                        : this.preserveOpacity\n                            ? this.latestValues.opacity\n                            : valuesToRender.opacityExit;\n            }\n            else {\n                /**\n                 * Or we're not animating at all, set the lead component to its layout\n                 * opacity and other components to hidden.\n                 */\n                targetStyle.opacity =\n                    lead === this\n                        ? valuesToRender.opacity !== undefined\n                            ? valuesToRender.opacity\n                            : \"\"\n                        : valuesToRender.opacityExit !== undefined\n                            ? valuesToRender.opacityExit\n                            : 0;\n            }\n            /**\n             * Apply scale correction\n             */\n            for (const key in scaleCorrectors) {\n                if (valuesToRender[key] === undefined)\n                    continue;\n                const { correct, applyTo, isCSSVariable } = scaleCorrectors[key];\n                /**\n                 * Only apply scale correction to the value if we have an\n                 * active projection transform. Otherwise these values become\n                 * vulnerable to distortion if the element changes size without\n                 * a corresponding layout animation.\n                 */\n                const corrected = transform === \"none\"\n                    ? valuesToRender[key]\n                    : correct(valuesToRender[key], lead);\n                if (applyTo) {\n                    const num = applyTo.length;\n                    for (let i = 0; i < num; i++) {\n                        targetStyle[applyTo[i]] = corrected;\n                    }\n                }\n                else {\n                    // If this is a CSS variable, set it directly on the instance.\n                    // Replacing this function from creating styles to setting them\n                    // would be a good place to remove per frame object creation\n                    if (isCSSVariable) {\n                        this.options.visualElement.renderState.vars[key] = corrected;\n                    }\n                    else {\n                        targetStyle[key] = corrected;\n                    }\n                }\n            }\n            /**\n             * Disable pointer events on follow components. This is to ensure\n             * that if a follow component covers a lead component it doesn't block\n             * pointer events on the lead.\n             */\n            if (this.options.layoutId) {\n                targetStyle.pointerEvents =\n                    lead === this\n                        ? resolveMotionValue(styleProp?.pointerEvents) || \"\"\n                        : \"none\";\n            }\n        }\n        clearSnapshot() {\n            this.resumeFrom = this.snapshot = undefined;\n        }\n        // Only run on root\n        resetTree() {\n            this.root.nodes.forEach((node) => node.currentAnimation?.stop());\n            this.root.nodes.forEach(clearMeasurements);\n            this.root.sharedNodes.clear();\n        }\n    };\n}\nfunction updateLayout(node) {\n    node.updateLayout();\n}\nfunction notifyLayoutUpdate(node) {\n    const snapshot = node.resumeFrom?.snapshot || node.snapshot;\n    if (node.isLead() &&\n        node.layout &&\n        snapshot &&\n        node.hasListeners(\"didUpdate\")) {\n        const { layoutBox: layout, measuredBox: measuredLayout } = node.layout;\n        const { animationType } = node.options;\n        const isShared = snapshot.source !== node.layout.source;\n        // TODO Maybe we want to also resize the layout snapshot so we don't trigger\n        // animations for instance if layout=\"size\" and an element has only changed position\n        if (animationType === \"size\") {\n            eachAxis((axis) => {\n                const axisSnapshot = isShared\n                    ? snapshot.measuredBox[axis]\n                    : snapshot.layoutBox[axis];\n                const length = calcLength(axisSnapshot);\n                axisSnapshot.min = layout[axis].min;\n                axisSnapshot.max = axisSnapshot.min + length;\n            });\n        }\n        else if (animationType === \"x\" || animationType === \"y\") {\n            const snapAxis = animationType === \"x\" ? \"y\" : \"x\";\n            copyAxisInto(isShared\n                ? snapshot.measuredBox[snapAxis]\n                : snapshot.layoutBox[snapAxis], layout[snapAxis]);\n        }\n        else if (shouldAnimatePositionOnly(animationType, snapshot.layoutBox, layout)) {\n            eachAxis((axis) => {\n                const axisSnapshot = isShared\n                    ? snapshot.measuredBox[axis]\n                    : snapshot.layoutBox[axis];\n                const length = calcLength(layout[axis]);\n                axisSnapshot.max = axisSnapshot.min + length;\n                /**\n                 * Ensure relative target gets resized and rerendererd\n                 */\n                if (node.relativeTarget && !node.currentAnimation) {\n                    node.isProjectionDirty = true;\n                    node.relativeTarget[axis].max =\n                        node.relativeTarget[axis].min + length;\n                }\n            });\n        }\n        const layoutDelta = createDelta();\n        calcBoxDelta(layoutDelta, layout, snapshot.layoutBox);\n        const visualDelta = createDelta();\n        if (isShared) {\n            calcBoxDelta(visualDelta, node.applyTransform(measuredLayout, true), snapshot.measuredBox);\n        }\n        else {\n            calcBoxDelta(visualDelta, layout, snapshot.layoutBox);\n        }\n        const hasLayoutChanged = !isDeltaZero(layoutDelta);\n        let hasRelativeLayoutChanged = false;\n        if (!node.resumeFrom) {\n            const relativeParent = node.getClosestProjectingParent();\n            /**\n             * If the relativeParent is itself resuming from a different element then\n             * the relative snapshot is not relavent\n             */\n            if (relativeParent && !relativeParent.resumeFrom) {\n                const { snapshot: parentSnapshot, layout: parentLayout } = relativeParent;\n                if (parentSnapshot && parentLayout) {\n                    const anchor = node.options.layoutAnchor || undefined;\n                    const relativeSnapshot = createBox();\n                    calcRelativePosition(relativeSnapshot, snapshot.layoutBox, parentSnapshot.layoutBox, anchor);\n                    const relativeLayout = createBox();\n                    calcRelativePosition(relativeLayout, layout, parentLayout.layoutBox, anchor);\n                    if (!boxEqualsRounded(relativeSnapshot, relativeLayout)) {\n                        hasRelativeLayoutChanged = true;\n                    }\n                    if (relativeParent.options.layoutRoot) {\n                        node.relativeTarget = relativeLayout;\n                        node.relativeTargetOrigin = relativeSnapshot;\n                        node.relativeParent = relativeParent;\n                    }\n                }\n            }\n        }\n        node.notifyListeners(\"didUpdate\", {\n            layout,\n            snapshot,\n            delta: visualDelta,\n            layoutDelta,\n            hasLayoutChanged,\n            hasRelativeLayoutChanged,\n        });\n    }\n    else if (node.isLead()) {\n        const { onExitComplete } = node.options;\n        onExitComplete && onExitComplete();\n    }\n    /**\n     * Clearing transition\n     * TODO: Investigate why this transition is being passed in as {type: false } from Framer\n     * and why we need it at all\n     */\n    node.options.transition = undefined;\n}\nfunction propagateDirtyNodes(node) {\n    /**\n     * Increase debug counter for nodes encountered this frame\n     */\n    if (statsBuffer.value) {\n        metrics.nodes++;\n    }\n    if (!node.parent)\n        return;\n    /**\n     * If this node isn't projecting, propagate isProjectionDirty. It will have\n     * no performance impact but it will allow the next child that *is* projecting\n     * but *isn't* dirty to just check its parent to see if *any* ancestor needs\n     * correcting.\n     */\n    if (!node.isProjecting()) {\n        node.isProjectionDirty = node.parent.isProjectionDirty;\n    }\n    /**\n     * Propagate isSharedProjectionDirty and isTransformDirty\n     * throughout the whole tree. A future revision can take another look at\n     * this but for safety we still recalcualte shared nodes.\n     */\n    node.isSharedProjectionDirty || (node.isSharedProjectionDirty = Boolean(node.isProjectionDirty ||\n        node.parent.isProjectionDirty ||\n        node.parent.isSharedProjectionDirty));\n    node.isTransformDirty || (node.isTransformDirty = node.parent.isTransformDirty);\n}\nfunction cleanDirtyNodes(node) {\n    node.isProjectionDirty =\n        node.isSharedProjectionDirty =\n            node.isTransformDirty =\n                false;\n}\nfunction clearSnapshot(node) {\n    node.clearSnapshot();\n}\nfunction clearMeasurements(node) {\n    node.clearMeasurements();\n}\nfunction forceLayoutMeasure(node) {\n    node.isLayoutDirty = true;\n    node.updateLayout();\n}\nfunction clearIsLayoutDirty(node) {\n    node.isLayoutDirty = false;\n}\n/**\n * When a node is animation-blocked (e.g. during drag) and its component\n * didn't re-render (memoized), willUpdate() is never called so there's\n * no snapshot. Use the previous layout as a snapshot and mark dirty so\n * resetTransform/updateLayout/notifyLayoutUpdate process it normally.\n */\nfunction ensureDraggedNodesSnapshotted(node) {\n    if (node.isAnimationBlocked && node.layout && !node.isLayoutDirty) {\n        node.snapshot = node.layout;\n        node.isLayoutDirty = true;\n    }\n}\nfunction resetTransformStyle(node) {\n    const { visualElement } = node.options;\n    if (visualElement && visualElement.getProps().onBeforeLayoutMeasure) {\n        visualElement.notify(\"BeforeLayoutMeasure\");\n    }\n    node.resetTransform();\n}\nfunction finishAnimation(node) {\n    node.finishAnimation();\n    node.targetDelta = node.relativeTarget = node.target = undefined;\n    node.isProjectionDirty = true;\n}\nfunction resolveTargetDelta(node) {\n    node.resolveTargetDelta();\n}\nfunction calcProjection(node) {\n    node.calcProjection();\n}\nfunction resetSkewAndRotation(node) {\n    node.resetSkewAndRotation();\n}\nfunction removeLeadSnapshots(stack) {\n    stack.removeLeadSnapshot();\n}\nfunction mixAxisDelta(output, delta, p) {\n    output.translate = mixNumber(delta.translate, 0, p);\n    output.scale = mixNumber(delta.scale, 1, p);\n    output.origin = delta.origin;\n    output.originPoint = delta.originPoint;\n}\nfunction mixAxis(output, from, to, p) {\n    output.min = mixNumber(from.min, to.min, p);\n    output.max = mixNumber(from.max, to.max, p);\n}\nfunction mixBox(output, from, to, p) {\n    mixAxis(output.x, from.x, to.x, p);\n    mixAxis(output.y, from.y, to.y, p);\n}\nfunction hasOpacityCrossfade(node) {\n    return (node.animationValues && node.animationValues.opacityExit !== undefined);\n}\nconst defaultLayoutTransition = {\n    duration: 0.45,\n    ease: [0.4, 0, 0.1, 1],\n};\nconst userAgentContains = (string) => typeof navigator !== \"undefined\" &&\n    navigator.userAgent &&\n    navigator.userAgent.toLowerCase().includes(string);\n/**\n * Measured bounding boxes must be rounded in Safari and\n * left untouched in Chrome, otherwise non-integer layouts within scaled-up elements\n * can appear to jump.\n */\nconst roundPoint = userAgentContains(\"applewebkit/\") && !userAgentContains(\"chrome/\")\n    ? Math.round\n    : noop;\nfunction roundAxis(axis) {\n    // Round to the nearest .5 pixels to support subpixel layouts\n    axis.min = roundPoint(axis.min);\n    axis.max = roundPoint(axis.max);\n}\nfunction roundBox(box) {\n    roundAxis(box.x);\n    roundAxis(box.y);\n}\nfunction shouldAnimatePositionOnly(animationType, snapshot, layout) {\n    return (animationType === \"position\" ||\n        (animationType === \"preserve-aspect\" &&\n            !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2)));\n}\nfunction checkNodeWasScrollRoot(node) {\n    return node !== node.root && node.scroll?.wasRoot;\n}\n\nexport { cleanDirtyNodes, createProjectionNode, mixAxis, mixAxisDelta, mixBox, propagateDirtyNodes };\n//# sourceMappingURL=create-projection-node.mjs.map\n","/**\n * This should only ever be modified on the client otherwise it'll\n * persist through server requests. If we need instanced states we\n * could lazy-init via root.\n */\nconst globalProjectionState = {\n    /**\n     * Global flag as to whether the tree has animated since the last time\n     * we resized the window\n     */\n    hasAnimatedSinceResize: true,\n    /**\n     * We set this to true once, on the first update. Any nodes added to the tree beyond that\n     * update will be given a `data-projection-id` attribute.\n     */\n    hasEverUpdated: false,\n};\n\nexport { globalProjectionState };\n//# sourceMappingURL=state.mjs.map\n","import { addUniqueItem, removeItem } from 'motion-utils';\n\nclass NodeStack {\n    constructor() {\n        this.members = [];\n    }\n    add(node) {\n        addUniqueItem(this.members, node);\n        for (let i = this.members.length - 1; i >= 0; i--) {\n            const member = this.members[i];\n            if (member === node || member === this.lead || member === this.prevLead)\n                continue;\n            const inst = member.instance;\n            if ((!inst || inst.isConnected === false) && !member.snapshot) {\n                removeItem(this.members, member);\n                member.unmount();\n            }\n        }\n        node.scheduleRender();\n    }\n    remove(node) {\n        removeItem(this.members, node);\n        if (node === this.prevLead)\n            this.prevLead = undefined;\n        if (node === this.lead) {\n            const prevLead = this.members[this.members.length - 1];\n            if (prevLead)\n                this.promote(prevLead);\n        }\n    }\n    relegate(node) {\n        for (let i = this.members.indexOf(node) - 1; i >= 0; i--) {\n            const member = this.members[i];\n            if (member.isPresent !== false && member.instance?.isConnected !== false) {\n                this.promote(member);\n                return true;\n            }\n        }\n        return false;\n    }\n    promote(node, preserveFollowOpacity) {\n        const prevLead = this.lead;\n        if (node === prevLead)\n            return;\n        this.prevLead = prevLead;\n        this.lead = node;\n        node.show();\n        if (prevLead) {\n            prevLead.updateSnapshot();\n            node.scheduleRender();\n            const { layoutDependency: prevDep } = prevLead.options;\n            const { layoutDependency: nextDep } = node.options;\n            if (prevDep === undefined || prevDep !== nextDep) {\n                node.resumeFrom = prevLead;\n                if (preserveFollowOpacity)\n                    prevLead.preserveOpacity = true;\n                if (prevLead.snapshot) {\n                    node.snapshot = prevLead.snapshot;\n                    node.snapshot.latestValues =\n                        prevLead.animationValues || prevLead.latestValues;\n                }\n                if (node.root?.isUpdating)\n                    node.isLayoutDirty = true;\n            }\n            if (node.options.crossfade === false)\n                prevLead.hide();\n        }\n    }\n    exitAnimationComplete() {\n        this.members.forEach((member) => {\n            member.options.onExitComplete?.();\n            member.resumingFrom?.options.onExitComplete?.();\n        });\n    }\n    scheduleRender() {\n        this.members.forEach((member) => member.instance && member.scheduleRender(false));\n    }\n    removeLeadSnapshot() {\n        if (this.lead?.snapshot)\n            this.lead.snapshot = undefined;\n    }\n}\n\nexport { NodeStack };\n//# sourceMappingURL=stack.mjs.map\n","import { px } from '../../value/types/numbers/units.mjs';\n\nfunction pixelsToPercent(pixels, axis) {\n    if (axis.max === axis.min)\n        return 0;\n    return (pixels / (axis.max - axis.min)) * 100;\n}\n/**\n * We always correct borderRadius as a percentage rather than pixels to reduce paints.\n * For example, if you are projecting a box that is 100px wide with a 10px borderRadius\n * into a box that is 200px wide with a 20px borderRadius, that is actually a 10%\n * borderRadius in both states. If we animate between the two in pixels that will trigger\n * a paint each time. If we animate between the two in percentage we'll avoid a paint.\n */\nconst correctBorderRadius = {\n    correct: (latest, node) => {\n        if (!node.target)\n            return latest;\n        /**\n         * If latest is a string, if it's a percentage we can return immediately as it's\n         * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.\n         */\n        if (typeof latest === \"string\") {\n            if (px.test(latest)) {\n                latest = parseFloat(latest);\n            }\n            else {\n                return latest;\n            }\n        }\n        /**\n         * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that\n         * pixel value as a percentage of each axis\n         */\n        const x = pixelsToPercent(latest, node.target.x);\n        const y = pixelsToPercent(latest, node.target.y);\n        return `${x}% ${y}%`;\n    },\n};\n\nexport { correctBorderRadius, pixelsToPercent };\n//# sourceMappingURL=scale-border-radius.mjs.map\n","import { complex } from '../../value/types/complex/index.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\n\nconst correctBoxShadow = {\n    correct: (latest, { treeScale, projectionDelta }) => {\n        const original = latest;\n        const shadow = complex.parse(latest);\n        // TODO: Doesn't support multiple shadows\n        if (shadow.length > 5)\n            return original;\n        const template = complex.createTransformer(latest);\n        const offset = typeof shadow[0] !== \"number\" ? 1 : 0;\n        // Calculate the overall context scale\n        const xScale = projectionDelta.x.scale * treeScale.x;\n        const yScale = projectionDelta.y.scale * treeScale.y;\n        shadow[0 + offset] /= xScale;\n        shadow[1 + offset] /= yScale;\n        /**\n         * Ideally we'd correct x and y scales individually, but because blur and\n         * spread apply to both we have to take a scale average and apply that instead.\n         * We could potentially improve the outcome of this by incorporating the ratio between\n         * the two scales.\n         */\n        const averageScale = mixNumber(xScale, yScale, 0.5);\n        // Blur\n        if (typeof shadow[2 + offset] === \"number\")\n            shadow[2 + offset] /= averageScale;\n        // Spread\n        if (typeof shadow[3 + offset] === \"number\")\n            shadow[3 + offset] /= averageScale;\n        return template(shadow);\n    },\n};\n\nexport { correctBoxShadow };\n//# sourceMappingURL=scale-box-shadow.mjs.map\n","import { isCSSVariableName } from '../../animation/utils/is-css-variable.mjs';\nimport { correctBorderRadius } from './scale-border-radius.mjs';\nimport { correctBoxShadow } from './scale-box-shadow.mjs';\n\nconst scaleCorrectors = {\n    borderRadius: {\n        ...correctBorderRadius,\n        applyTo: [\n            \"borderTopLeftRadius\",\n            \"borderTopRightRadius\",\n            \"borderBottomLeftRadius\",\n            \"borderBottomRightRadius\",\n        ],\n    },\n    borderTopLeftRadius: correctBorderRadius,\n    borderTopRightRadius: correctBorderRadius,\n    borderBottomLeftRadius: correctBorderRadius,\n    borderBottomRightRadius: correctBorderRadius,\n    boxShadow: correctBoxShadow,\n};\nfunction addScaleCorrector(correctors) {\n    for (const key in correctors) {\n        scaleCorrectors[key] = correctors[key];\n        if (isCSSVariableName(key)) {\n            scaleCorrectors[key].isCSSVariable = true;\n        }\n    }\n}\n\nexport { addScaleCorrector, scaleCorrectors };\n//# sourceMappingURL=scale-correction.mjs.map\n","function buildProjectionTransform(delta, treeScale, latestTransform) {\n    let transform = \"\";\n    /**\n     * The translations we use to calculate are always relative to the viewport coordinate space.\n     * But when we apply scales, we also scale the coordinate space of an element and its children.\n     * For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need\n     * to move an element 100 pixels, we actually need to move it 200 in within that scaled space.\n     */\n    const xTranslate = delta.x.translate / treeScale.x;\n    const yTranslate = delta.y.translate / treeScale.y;\n    const zTranslate = latestTransform?.z || 0;\n    if (xTranslate || yTranslate || zTranslate) {\n        transform = `translate3d(${xTranslate}px, ${yTranslate}px, ${zTranslate}px) `;\n    }\n    /**\n     * Apply scale correction for the tree transform.\n     * This will apply scale to the screen-orientated axes.\n     */\n    if (treeScale.x !== 1 || treeScale.y !== 1) {\n        transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;\n    }\n    if (latestTransform) {\n        const { transformPerspective, rotate, rotateX, rotateY, skewX, skewY } = latestTransform;\n        if (transformPerspective)\n            transform = `perspective(${transformPerspective}px) ${transform}`;\n        if (rotate)\n            transform += `rotate(${rotate}deg) `;\n        if (rotateX)\n            transform += `rotateX(${rotateX}deg) `;\n        if (rotateY)\n            transform += `rotateY(${rotateY}deg) `;\n        if (skewX)\n            transform += `skewX(${skewX}deg) `;\n        if (skewY)\n            transform += `skewY(${skewY}deg) `;\n    }\n    /**\n     * Apply scale to match the size of the element to the size we want it.\n     * This will apply scale to the element-orientated axes.\n     */\n    const elementScaleX = delta.x.scale * treeScale.x;\n    const elementScaleY = delta.y.scale * treeScale.y;\n    if (elementScaleX !== 1 || elementScaleY !== 1) {\n        transform += `scale(${elementScaleX}, ${elementScaleY})`;\n    }\n    return transform || \"none\";\n}\n\nexport { buildProjectionTransform };\n//# sourceMappingURL=transform.mjs.map\n","const compareByDepth = (a, b) => a.depth - b.depth;\n\nexport { compareByDepth };\n//# sourceMappingURL=compare-by-depth.mjs.map\n","function eachAxis(callback) {\n    return [callback(\"x\"), callback(\"y\")];\n}\n\nexport { eachAxis };\n//# sourceMappingURL=each-axis.mjs.map\n","import { addUniqueItem, removeItem } from 'motion-utils';\nimport { compareByDepth } from './compare-by-depth.mjs';\n\nclass FlatTree {\n    constructor() {\n        this.children = [];\n        this.isDirty = false;\n    }\n    add(child) {\n        addUniqueItem(this.children, child);\n        this.isDirty = true;\n    }\n    remove(child) {\n        removeItem(this.children, child);\n        this.isDirty = true;\n    }\n    forEach(callback) {\n        this.isDirty && this.children.sort(compareByDepth);\n        this.isDirty = false;\n        this.children.forEach(callback);\n    }\n}\n\nexport { FlatTree };\n//# sourceMappingURL=flat-tree.mjs.map\n","function isIdentityScale(scale) {\n    return scale === undefined || scale === 1;\n}\nfunction hasScale({ scale, scaleX, scaleY }) {\n    return (!isIdentityScale(scale) ||\n        !isIdentityScale(scaleX) ||\n        !isIdentityScale(scaleY));\n}\nfunction hasTransform(values) {\n    return (hasScale(values) ||\n        has2DTranslate(values) ||\n        values.z ||\n        values.rotate ||\n        values.rotateX ||\n        values.rotateY ||\n        values.skewX ||\n        values.skewY);\n}\nfunction has2DTranslate(values) {\n    return is2DTranslate(values.x) || is2DTranslate(values.y);\n}\nfunction is2DTranslate(value) {\n    return value && value !== \"0%\";\n}\n\nexport { has2DTranslate, hasScale, hasTransform };\n//# sourceMappingURL=has-transform.mjs.map\n","import { convertBoundingBoxToBox, transformBoxPoints } from '../geometry/conversion.mjs';\nimport { translateAxis } from '../geometry/delta-apply.mjs';\n\nfunction measureViewportBox(instance, transformPoint) {\n    return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint));\n}\nfunction measurePageBox(element, rootProjectionNode, transformPagePoint) {\n    const viewportBox = measureViewportBox(element, transformPagePoint);\n    const { scroll } = rootProjectionNode;\n    if (scroll) {\n        translateAxis(viewportBox.x, scroll.offset.x);\n        translateAxis(viewportBox.y, scroll.offset.y);\n    }\n    return viewportBox;\n}\n\nexport { measurePageBox, measureViewportBox };\n//# sourceMappingURL=measure.mjs.map\n","/**\n * Feature base class for extending VisualElement functionality.\n * Features are plugins that can be mounted/unmounted to add behavior\n * like gestures, animations, or layout tracking.\n */\nclass Feature {\n    constructor(node) {\n        this.isMounted = false;\n        this.node = node;\n    }\n    update() { }\n}\n\nexport { Feature };\n//# sourceMappingURL=Feature.mjs.map\n","import { warnOnce, secondsToMilliseconds, isNumericalString, isZeroValueString, SubscriptionManager } from 'motion-utils';\nimport { KeyframeResolver } from '../animation/keyframes/KeyframesResolver.mjs';\nimport { NativeAnimation } from '../animation/NativeAnimation.mjs';\nimport { acceleratedValues } from '../animation/waapi/utils/accelerated-values.mjs';\nimport { microtask } from '../frameloop/microtask.mjs';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { createBox } from '../projection/geometry/models.mjs';\nimport { motionValue } from '../value/index.mjs';\nimport { complex } from '../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../value/types/utils/animatable-none.mjs';\nimport { findValueType } from '../value/types/utils/find.mjs';\nimport { isMotionValue } from '../value/utils/is-motion-value.mjs';\nimport { visualElementStore } from './store.mjs';\nimport { isControllingVariants, isVariantNode } from './utils/is-controlling-variants.mjs';\nimport { transformProps } from './utils/keys-transform.mjs';\nimport { updateMotionValuesFromProps } from './utils/motion-values.mjs';\nimport { initPrefersReducedMotion } from './utils/reduced-motion/index.mjs';\nimport { resolveVariantFromProps } from './utils/resolve-variants.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from './utils/reduced-motion/state.mjs';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\nconst propEventHandlers = [\n    \"AnimationStart\",\n    \"AnimationComplete\",\n    \"Update\",\n    \"BeforeLayoutMeasure\",\n    \"LayoutMeasure\",\n    \"LayoutAnimationStart\",\n    \"LayoutAnimationComplete\",\n];\n/**\n * Static feature definitions - can be injected by framework layer\n */\nlet featureDefinitions = {};\n/**\n * Set feature definitions for all VisualElements.\n * This should be called by the framework layer (e.g., framer-motion) during initialization.\n */\nfunction setFeatureDefinitions(definitions) {\n    featureDefinitions = definitions;\n}\n/**\n * Get the current feature definitions\n */\nfunction getFeatureDefinitions() {\n    return featureDefinitions;\n}\n/**\n * A VisualElement is an imperative abstraction around UI elements such as\n * HTMLElement, SVGElement, Three.Object3D etc.\n */\nclass VisualElement {\n    /**\n     * This method takes React props and returns found MotionValues. For example, HTML\n     * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.\n     *\n     * This isn't an abstract method as it needs calling in the constructor, but it is\n     * intended to be one.\n     */\n    scrapeMotionValuesFromProps(_props, _prevProps, _visualElement) {\n        return {};\n    }\n    constructor({ parent, props, presenceContext, reducedMotionConfig, skipAnimations, blockInitialAnimation, visualState, }, options = {}) {\n        /**\n         * A reference to the current underlying Instance, e.g. a HTMLElement\n         * or Three.Mesh etc.\n         */\n        this.current = null;\n        /**\n         * A set containing references to this VisualElement's children.\n         */\n        this.children = new Set();\n        /**\n         * Determine what role this visual element should take in the variant tree.\n         */\n        this.isVariantNode = false;\n        this.isControllingVariants = false;\n        /**\n         * Decides whether this VisualElement should animate in reduced motion\n         * mode.\n         *\n         * TODO: This is currently set on every individual VisualElement but feels\n         * like it could be set globally.\n         */\n        this.shouldReduceMotion = null;\n        /**\n         * Decides whether animations should be skipped for this VisualElement.\n         * Useful for E2E tests and visual regression testing.\n         */\n        this.shouldSkipAnimations = false;\n        /**\n         * A map of all motion values attached to this visual element. Motion\n         * values are source of truth for any given animated value. A motion\n         * value might be provided externally by the component via props.\n         */\n        this.values = new Map();\n        this.KeyframeResolver = KeyframeResolver;\n        /**\n         * Cleanup functions for active features (hover/tap/exit etc)\n         */\n        this.features = {};\n        /**\n         * A map of every subscription that binds the provided or generated\n         * motion values onChange listeners to this visual element.\n         */\n        this.valueSubscriptions = new Map();\n        /**\n         * A reference to the previously-provided motion values as returned\n         * from scrapeMotionValuesFromProps. We use the keys in here to determine\n         * if any motion values need to be removed after props are updated.\n         */\n        this.prevMotionValues = {};\n        /**\n         * Track whether this element has been mounted before, to detect\n         * remounts after Suspense unmount/remount cycles.\n         */\n        this.hasBeenMounted = false;\n        /**\n         * An object containing a SubscriptionManager for each active event.\n         */\n        this.events = {};\n        /**\n         * An object containing an unsubscribe function for each prop event subscription.\n         * For example, every \"Update\" event can have multiple subscribers via\n         * VisualElement.on(), but only one of those can be defined via the onUpdate prop.\n         */\n        this.propEventSubscriptions = {};\n        this.notifyUpdate = () => this.notify(\"Update\", this.latestValues);\n        this.render = () => {\n            if (!this.current)\n                return;\n            this.triggerBuild();\n            this.renderInstance(this.current, this.renderState, this.props.style, this.projection);\n        };\n        this.renderScheduledAt = 0.0;\n        this.scheduleRender = () => {\n            const now = time.now();\n            if (this.renderScheduledAt < now) {\n                this.renderScheduledAt = now;\n                frame.render(this.render, false, true);\n            }\n        };\n        const { latestValues, renderState } = visualState;\n        this.latestValues = latestValues;\n        this.baseTarget = { ...latestValues };\n        this.initialValues = props.initial ? { ...latestValues } : {};\n        this.renderState = renderState;\n        this.parent = parent;\n        this.props = props;\n        this.presenceContext = presenceContext;\n        this.depth = parent ? parent.depth + 1 : 0;\n        this.reducedMotionConfig = reducedMotionConfig;\n        this.skipAnimationsConfig = skipAnimations;\n        this.options = options;\n        this.blockInitialAnimation = Boolean(blockInitialAnimation);\n        this.isControllingVariants = isControllingVariants(props);\n        this.isVariantNode = isVariantNode(props);\n        if (this.isVariantNode) {\n            this.variantChildren = new Set();\n        }\n        this.manuallyAnimateOnMount = Boolean(parent && parent.current);\n        /**\n         * Any motion values that are provided to the element when created\n         * aren't yet bound to the element, as this would technically be impure.\n         * However, we iterate through the motion values and set them to the\n         * initial values for this component.\n         *\n         * TODO: This is impure and we should look at changing this to run on mount.\n         * Doing so will break some tests but this isn't necessarily a breaking change,\n         * more a reflection of the test.\n         */\n        const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this);\n        for (const key in initialMotionValues) {\n            const value = initialMotionValues[key];\n            if (latestValues[key] !== undefined && isMotionValue(value)) {\n                value.set(latestValues[key]);\n            }\n        }\n    }\n    mount(instance) {\n        /**\n         * If this element has been mounted before (e.g. after a Suspense\n         * unmount/remount), reset motion values to their initial state\n         * so animations replay correctly from initial → animate.\n         */\n        if (this.hasBeenMounted) {\n            for (const key in this.initialValues) {\n                this.values.get(key)?.jump(this.initialValues[key]);\n                this.latestValues[key] = this.initialValues[key];\n            }\n        }\n        this.current = instance;\n        visualElementStore.set(instance, this);\n        if (this.projection && !this.projection.instance) {\n            this.projection.mount(instance);\n        }\n        if (this.parent && this.isVariantNode && !this.isControllingVariants) {\n            this.removeFromVariantTree = this.parent.addVariantChild(this);\n        }\n        this.values.forEach((value, key) => this.bindToMotionValue(key, value));\n        /**\n         * Determine reduced motion preference. Only initialize the matchMedia\n         * listener if we actually need the dynamic value (i.e., when config\n         * is neither \"never\" nor \"always\").\n         */\n        if (this.reducedMotionConfig === \"never\") {\n            this.shouldReduceMotion = false;\n        }\n        else if (this.reducedMotionConfig === \"always\") {\n            this.shouldReduceMotion = true;\n        }\n        else {\n            if (!hasReducedMotionListener.current) {\n                initPrefersReducedMotion();\n            }\n            this.shouldReduceMotion = prefersReducedMotion.current;\n        }\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(this.shouldReduceMotion !== true, \"You have Reduced Motion enabled on your device. Animations may not appear as expected.\", \"reduced-motion-disabled\");\n        }\n        /**\n         * Set whether animations should be skipped based on the config.\n         */\n        this.shouldSkipAnimations = this.skipAnimationsConfig ?? false;\n        this.parent?.addChild(this);\n        this.update(this.props, this.presenceContext);\n        this.hasBeenMounted = true;\n    }\n    unmount() {\n        this.projection && this.projection.unmount();\n        cancelFrame(this.notifyUpdate);\n        cancelFrame(this.render);\n        this.valueSubscriptions.forEach((remove) => remove());\n        this.valueSubscriptions.clear();\n        this.removeFromVariantTree && this.removeFromVariantTree();\n        this.parent?.removeChild(this);\n        for (const key in this.events) {\n            this.events[key].clear();\n        }\n        for (const key in this.features) {\n            const feature = this.features[key];\n            if (feature) {\n                feature.unmount();\n                feature.isMounted = false;\n            }\n        }\n        this.current = null;\n    }\n    addChild(child) {\n        this.children.add(child);\n        this.enteringChildren ?? (this.enteringChildren = new Set());\n        this.enteringChildren.add(child);\n    }\n    removeChild(child) {\n        this.children.delete(child);\n        this.enteringChildren && this.enteringChildren.delete(child);\n    }\n    bindToMotionValue(key, value) {\n        if (this.valueSubscriptions.has(key)) {\n            this.valueSubscriptions.get(key)();\n        }\n        if (value.accelerate &&\n            acceleratedValues.has(key) &&\n            this.current instanceof HTMLElement) {\n            const { factory, keyframes, times, ease, duration } = value.accelerate;\n            const animation = new NativeAnimation({\n                element: this.current,\n                name: key,\n                keyframes,\n                times,\n                ease,\n                duration: secondsToMilliseconds(duration),\n            });\n            const cleanup = factory(animation);\n            this.valueSubscriptions.set(key, () => {\n                cleanup();\n                animation.cancel();\n            });\n            return;\n        }\n        const valueIsTransform = transformProps.has(key);\n        if (valueIsTransform && this.onBindTransform) {\n            this.onBindTransform();\n        }\n        const removeOnChange = value.on(\"change\", (latestValue) => {\n            this.latestValues[key] = latestValue;\n            this.props.onUpdate && frame.preRender(this.notifyUpdate);\n            if (valueIsTransform && this.projection) {\n                this.projection.isTransformDirty = true;\n            }\n            this.scheduleRender();\n        });\n        let removeSyncCheck;\n        if (typeof window !== \"undefined\" &&\n            window.MotionCheckAppearSync) {\n            removeSyncCheck = window.MotionCheckAppearSync(this, key, value);\n        }\n        this.valueSubscriptions.set(key, () => {\n            removeOnChange();\n            if (removeSyncCheck)\n                removeSyncCheck();\n            if (value.owner)\n                value.stop();\n        });\n    }\n    sortNodePosition(other) {\n        /**\n         * If these nodes aren't even of the same type we can't compare their depth.\n         */\n        if (!this.current ||\n            !this.sortInstanceNodePosition ||\n            this.type !== other.type) {\n            return 0;\n        }\n        return this.sortInstanceNodePosition(this.current, other.current);\n    }\n    updateFeatures() {\n        let key = \"animation\";\n        for (key in featureDefinitions) {\n            const featureDefinition = featureDefinitions[key];\n            if (!featureDefinition)\n                continue;\n            const { isEnabled, Feature: FeatureConstructor } = featureDefinition;\n            /**\n             * If this feature is enabled but not active, make a new instance.\n             */\n            if (!this.features[key] &&\n                FeatureConstructor &&\n                isEnabled(this.props)) {\n                this.features[key] = new FeatureConstructor(this);\n            }\n            /**\n             * If we have a feature, mount or update it.\n             */\n            if (this.features[key]) {\n                const feature = this.features[key];\n                if (feature.isMounted) {\n                    feature.update();\n                }\n                else {\n                    feature.mount();\n                    feature.isMounted = true;\n                }\n            }\n        }\n    }\n    triggerBuild() {\n        this.build(this.renderState, this.latestValues, this.props);\n    }\n    /**\n     * Measure the current viewport box with or without transforms.\n     * Only measures axis-aligned boxes, rotate and skew must be manually\n     * removed with a re-render to work.\n     */\n    measureViewportBox() {\n        return this.current\n            ? this.measureInstanceViewportBox(this.current, this.props)\n            : createBox();\n    }\n    getStaticValue(key) {\n        return this.latestValues[key];\n    }\n    setStaticValue(key, value) {\n        this.latestValues[key] = value;\n    }\n    /**\n     * Update the provided props. Ensure any newly-added motion values are\n     * added to our map, old ones removed, and listeners updated.\n     */\n    update(props, presenceContext) {\n        if (props.transformTemplate || this.props.transformTemplate) {\n            this.scheduleRender();\n        }\n        this.prevProps = this.props;\n        this.props = props;\n        this.prevPresenceContext = this.presenceContext;\n        this.presenceContext = presenceContext;\n        /**\n         * Update prop event handlers ie onAnimationStart, onAnimationComplete\n         */\n        for (let i = 0; i < propEventHandlers.length; i++) {\n            const key = propEventHandlers[i];\n            if (this.propEventSubscriptions[key]) {\n                this.propEventSubscriptions[key]();\n                delete this.propEventSubscriptions[key];\n            }\n            const listenerName = (\"on\" + key);\n            const listener = props[listenerName];\n            if (listener) {\n                this.propEventSubscriptions[key] = this.on(key, listener);\n            }\n        }\n        this.prevMotionValues = updateMotionValuesFromProps(this, this.scrapeMotionValuesFromProps(props, this.prevProps || {}, this), this.prevMotionValues);\n        if (this.handleChildMotionValue) {\n            this.handleChildMotionValue();\n        }\n    }\n    getProps() {\n        return this.props;\n    }\n    /**\n     * Returns the variant definition with a given name.\n     */\n    getVariant(name) {\n        return this.props.variants ? this.props.variants[name] : undefined;\n    }\n    /**\n     * Returns the defined default transition on this component.\n     */\n    getDefaultTransition() {\n        return this.props.transition;\n    }\n    getTransformPagePoint() {\n        return this.props.transformPagePoint;\n    }\n    getClosestVariantNode() {\n        return this.isVariantNode\n            ? this\n            : this.parent\n                ? this.parent.getClosestVariantNode()\n                : undefined;\n    }\n    /**\n     * Add a child visual element to our set of children.\n     */\n    addVariantChild(child) {\n        const closestVariantNode = this.getClosestVariantNode();\n        if (closestVariantNode) {\n            closestVariantNode.variantChildren &&\n                closestVariantNode.variantChildren.add(child);\n            return () => closestVariantNode.variantChildren.delete(child);\n        }\n    }\n    /**\n     * Add a motion value and bind it to this visual element.\n     */\n    addValue(key, value) {\n        // Remove existing value if it exists\n        const existingValue = this.values.get(key);\n        if (value !== existingValue) {\n            if (existingValue)\n                this.removeValue(key);\n            this.bindToMotionValue(key, value);\n            this.values.set(key, value);\n            this.latestValues[key] = value.get();\n        }\n    }\n    /**\n     * Remove a motion value and unbind any active subscriptions.\n     */\n    removeValue(key) {\n        this.values.delete(key);\n        const unsubscribe = this.valueSubscriptions.get(key);\n        if (unsubscribe) {\n            unsubscribe();\n            this.valueSubscriptions.delete(key);\n        }\n        delete this.latestValues[key];\n        this.removeValueFromRenderState(key, this.renderState);\n    }\n    /**\n     * Check whether we have a motion value for this key\n     */\n    hasValue(key) {\n        return this.values.has(key);\n    }\n    getValue(key, defaultValue) {\n        if (this.props.values && this.props.values[key]) {\n            return this.props.values[key];\n        }\n        let value = this.values.get(key);\n        if (value === undefined && defaultValue !== undefined) {\n            value = motionValue(defaultValue === null ? undefined : defaultValue, { owner: this });\n            this.addValue(key, value);\n        }\n        return value;\n    }\n    /**\n     * If we're trying to animate to a previously unencountered value,\n     * we need to check for it in our state and as a last resort read it\n     * directly from the instance (which might have performance implications).\n     */\n    readValue(key, target) {\n        let value = this.latestValues[key] !== undefined || !this.current\n            ? this.latestValues[key]\n            : this.getBaseTargetFromProps(this.props, key) ??\n                this.readValueFromInstance(this.current, key, this.options);\n        if (value !== undefined && value !== null) {\n            if (typeof value === \"string\" &&\n                (isNumericalString(value) || isZeroValueString(value))) {\n                // If this is a number read as a string, ie \"0\" or \"200\", convert it to a number\n                value = parseFloat(value);\n            }\n            else if (!findValueType(value) && complex.test(target)) {\n                value = getAnimatableNone(key, target);\n            }\n            this.setBaseTarget(key, isMotionValue(value) ? value.get() : value);\n        }\n        return isMotionValue(value) ? value.get() : value;\n    }\n    /**\n     * Set the base target to later animate back to. This is currently\n     * only hydrated on creation and when we first read a value.\n     */\n    setBaseTarget(key, value) {\n        this.baseTarget[key] = value;\n    }\n    /**\n     * Find the base target for a value thats been removed from all animation\n     * props.\n     */\n    getBaseTarget(key) {\n        const { initial } = this.props;\n        let valueFromInitial;\n        if (typeof initial === \"string\" || typeof initial === \"object\") {\n            const variant = resolveVariantFromProps(this.props, initial, this.presenceContext?.custom);\n            if (variant) {\n                valueFromInitial = variant[key];\n            }\n        }\n        /**\n         * If this value still exists in the current initial variant, read that.\n         */\n        if (initial && valueFromInitial !== undefined) {\n            return valueFromInitial;\n        }\n        /**\n         * Alternatively, if this VisualElement config has defined a getBaseTarget\n         * so we can read the value from an alternative source, try that.\n         */\n        const target = this.getBaseTargetFromProps(this.props, key);\n        if (target !== undefined && !isMotionValue(target))\n            return target;\n        /**\n         * If the value was initially defined on initial, but it doesn't any more,\n         * return undefined. Otherwise return the value as initially read from the DOM.\n         */\n        return this.initialValues[key] !== undefined &&\n            valueFromInitial === undefined\n            ? undefined\n            : this.baseTarget[key];\n    }\n    on(eventName, callback) {\n        if (!this.events[eventName]) {\n            this.events[eventName] = new SubscriptionManager();\n        }\n        return this.events[eventName].add(callback);\n    }\n    notify(eventName, ...args) {\n        if (this.events[eventName]) {\n            this.events[eventName].notify(...args);\n        }\n    }\n    scheduleRenderMicrotask() {\n        microtask.render(this.render);\n    }\n}\n\nexport { VisualElement, getFeatureDefinitions, setFeatureDefinitions };\n//# sourceMappingURL=VisualElement.mjs.map\n","import { isMotionValue } from '../../value/utils/is-motion-value.mjs';\nimport { DOMKeyframesResolver } from '../../animation/keyframes/DOMKeyframesResolver.mjs';\nimport { VisualElement } from '../VisualElement.mjs';\n\nclass DOMVisualElement extends VisualElement {\n    constructor() {\n        super(...arguments);\n        this.KeyframeResolver = DOMKeyframesResolver;\n    }\n    sortInstanceNodePosition(a, b) {\n        /**\n         * compareDocumentPosition returns a bitmask, by using the bitwise &\n         * we're returning true if 2 in that bitmask is set to true. 2 is set\n         * to true if b preceeds a.\n         */\n        return a.compareDocumentPosition(b) & 2 ? 1 : -1;\n    }\n    getBaseTargetFromProps(props, key) {\n        const style = props.style;\n        return style ? style[key] : undefined;\n    }\n    removeValueFromRenderState(key, { vars, style }) {\n        delete vars[key];\n        delete style[key];\n    }\n    handleChildMotionValue() {\n        if (this.childSubscription) {\n            this.childSubscription();\n            delete this.childSubscription;\n        }\n        const { children } = this.props;\n        if (isMotionValue(children)) {\n            this.childSubscription = children.on(\"change\", (latest) => {\n                if (this.current) {\n                    this.current.textContent = `${latest}`;\n                }\n            });\n        }\n    }\n}\n\nexport { DOMVisualElement };\n//# sourceMappingURL=DOMVisualElement.mjs.map\n","const isCSSVar = (name) => name.startsWith(\"--\");\n\nexport { isCSSVar };\n//# sourceMappingURL=is-css-var.mjs.map\n","const radToDeg = (rad) => (rad * 180) / Math.PI;\nconst rotate = (v) => {\n    const angle = radToDeg(Math.atan2(v[1], v[0]));\n    return rebaseAngle(angle);\n};\nconst matrix2dParsers = {\n    x: 4,\n    y: 5,\n    translateX: 4,\n    translateY: 5,\n    scaleX: 0,\n    scaleY: 3,\n    scale: (v) => (Math.abs(v[0]) + Math.abs(v[3])) / 2,\n    rotate,\n    rotateZ: rotate,\n    skewX: (v) => radToDeg(Math.atan(v[1])),\n    skewY: (v) => radToDeg(Math.atan(v[2])),\n    skew: (v) => (Math.abs(v[1]) + Math.abs(v[2])) / 2,\n};\nconst rebaseAngle = (angle) => {\n    angle = angle % 360;\n    if (angle < 0)\n        angle += 360;\n    return angle;\n};\nconst rotateZ = rotate;\nconst scaleX = (v) => Math.sqrt(v[0] * v[0] + v[1] * v[1]);\nconst scaleY = (v) => Math.sqrt(v[4] * v[4] + v[5] * v[5]);\nconst matrix3dParsers = {\n    x: 12,\n    y: 13,\n    z: 14,\n    translateX: 12,\n    translateY: 13,\n    translateZ: 14,\n    scaleX,\n    scaleY,\n    scale: (v) => (scaleX(v) + scaleY(v)) / 2,\n    rotateX: (v) => rebaseAngle(radToDeg(Math.atan2(v[6], v[5]))),\n    rotateY: (v) => rebaseAngle(radToDeg(Math.atan2(-v[2], v[0]))),\n    rotateZ,\n    rotate: rotateZ,\n    skewX: (v) => radToDeg(Math.atan(v[4])),\n    skewY: (v) => radToDeg(Math.atan(v[1])),\n    skew: (v) => (Math.abs(v[1]) + Math.abs(v[4])) / 2,\n};\nfunction defaultTransformValue(name) {\n    return name.includes(\"scale\") ? 1 : 0;\n}\nfunction parseValueFromTransform(transform, name) {\n    if (!transform || transform === \"none\") {\n        return defaultTransformValue(name);\n    }\n    const matrix3dMatch = transform.match(/^matrix3d\\(([-\\d.e\\s,]+)\\)$/u);\n    let parsers;\n    let match;\n    if (matrix3dMatch) {\n        parsers = matrix3dParsers;\n        match = matrix3dMatch;\n    }\n    else {\n        const matrix2dMatch = transform.match(/^matrix\\(([-\\d.e\\s,]+)\\)$/u);\n        parsers = matrix2dParsers;\n        match = matrix2dMatch;\n    }\n    if (!match) {\n        return defaultTransformValue(name);\n    }\n    const valueParser = parsers[name];\n    const values = match[1].split(\",\").map(convertTransformToNumber);\n    return typeof valueParser === \"function\"\n        ? valueParser(values)\n        : values[valueParser];\n}\nconst readTransformValue = (instance, name) => {\n    const { transform = \"none\" } = getComputedStyle(instance);\n    return parseValueFromTransform(transform, name);\n};\nfunction convertTransformToNumber(value) {\n    return parseFloat(value.trim());\n}\n\nexport { defaultTransformValue, parseValueFromTransform, readTransformValue };\n//# sourceMappingURL=parse-transform.mjs.map\n","import { isCSSVar } from './is-css-var.mjs';\n\nfunction setStyle(element, name, value) {\n    isCSSVar(name)\n        ? element.style.setProperty(name, value)\n        : (element.style[name] = value);\n}\n\nexport { setStyle };\n//# sourceMappingURL=style-set.mjs.map\n","function camelToDash(str) {\n    return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);\n}\n\nexport { camelToDash };\n//# sourceMappingURL=camel-to-dash.mjs.map\n","import { isCSSVariableName } from '../../animation/utils/is-css-variable.mjs';\nimport { transformProps } from '../utils/keys-transform.mjs';\nimport { defaultTransformValue, readTransformValue } from '../dom/parse-transform.mjs';\nimport { measureViewportBox } from '../../projection/utils/measure.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { renderHTML } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nfunction getComputedStyle(element) {\n    return window.getComputedStyle(element);\n}\nclass HTMLVisualElement extends DOMVisualElement {\n    constructor() {\n        super(...arguments);\n        this.type = \"html\";\n        this.renderInstance = renderHTML;\n    }\n    readValueFromInstance(instance, key) {\n        if (transformProps.has(key)) {\n            return this.projection?.isProjecting\n                ? defaultTransformValue(key)\n                : readTransformValue(instance, key);\n        }\n        else {\n            const computedStyle = getComputedStyle(instance);\n            const value = (isCSSVariableName(key)\n                ? computedStyle.getPropertyValue(key)\n                : computedStyle[key]) || 0;\n            return typeof value === \"string\" ? value.trim() : value;\n        }\n    }\n    measureInstanceViewportBox(instance, { transformPagePoint }) {\n        return measureViewportBox(instance, transformPagePoint);\n    }\n    build(renderState, latestValues, props) {\n        buildHTMLStyles(renderState, latestValues, props.transformTemplate);\n    }\n    scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n        return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n    }\n}\n\nexport { HTMLVisualElement, getComputedStyle };\n//# sourceMappingURL=HTMLVisualElement.mjs.map\n","import { getValueAsType } from '../../../value/types/utils/get-as-type.mjs';\nimport { numberValueTypes } from '../../../value/types/maps/number.mjs';\nimport { transformProps } from '../../utils/keys-transform.mjs';\nimport { isCSSVariableName } from '../../../animation/utils/is-css-variable.mjs';\nimport { buildTransform } from './build-transform.mjs';\n\nfunction buildHTMLStyles(state, latestValues, transformTemplate) {\n    const { style, vars, transformOrigin } = state;\n    // Track whether we encounter any transform or transformOrigin values.\n    let hasTransform = false;\n    let hasTransformOrigin = false;\n    /**\n     * Loop over all our latest animated values and decide whether to handle them\n     * as a style or CSS variable.\n     *\n     * Transforms and transform origins are kept separately for further processing.\n     */\n    for (const key in latestValues) {\n        const value = latestValues[key];\n        if (transformProps.has(key)) {\n            // If this is a transform, flag to enable further transform processing\n            hasTransform = true;\n            continue;\n        }\n        else if (isCSSVariableName(key)) {\n            vars[key] = value;\n            continue;\n        }\n        else {\n            // Convert the value to its default value type, ie 0 -> \"0px\"\n            const valueAsType = getValueAsType(value, numberValueTypes[key]);\n            if (key.startsWith(\"origin\")) {\n                // If this is a transform origin, flag and enable further transform-origin processing\n                hasTransformOrigin = true;\n                transformOrigin[key] =\n                    valueAsType;\n            }\n            else {\n                style[key] = valueAsType;\n            }\n        }\n    }\n    if (!latestValues.transform) {\n        if (hasTransform || transformTemplate) {\n            style.transform = buildTransform(latestValues, state.transform, transformTemplate);\n        }\n        else if (style.transform) {\n            /**\n             * If we have previously created a transform but currently don't have any,\n             * reset transform style to none.\n             */\n            style.transform = \"none\";\n        }\n    }\n    /**\n     * Build a transformOrigin style. Uses the same defaults as the browser for\n     * undefined origins.\n     */\n    if (hasTransformOrigin) {\n        const { originX = \"50%\", originY = \"50%\", originZ = 0, } = transformOrigin;\n        style.transformOrigin = `${originX} ${originY} ${originZ}`;\n    }\n}\n\nexport { buildHTMLStyles };\n//# sourceMappingURL=build-styles.mjs.map\n","import { getValueAsType } from '../../../value/types/utils/get-as-type.mjs';\nimport { numberValueTypes } from '../../../value/types/maps/number.mjs';\nimport { transformPropOrder } from '../../utils/keys-transform.mjs';\n\nconst translateAlias = {\n    x: \"translateX\",\n    y: \"translateY\",\n    z: \"translateZ\",\n    transformPerspective: \"perspective\",\n};\nconst numTransforms = transformPropOrder.length;\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nfunction buildTransform(latestValues, transform, transformTemplate) {\n    // The transform string we're going to build into.\n    let transformString = \"\";\n    let transformIsDefault = true;\n    /**\n     * Loop over all possible transforms in order, adding the ones that\n     * are present to the transform string.\n     */\n    for (let i = 0; i < numTransforms; i++) {\n        const key = transformPropOrder[i];\n        const value = latestValues[key];\n        if (value === undefined)\n            continue;\n        let valueIsDefault = true;\n        if (typeof value === \"number\") {\n            valueIsDefault = value === (key.startsWith(\"scale\") ? 1 : 0);\n        }\n        else {\n            const parsed = parseFloat(value);\n            valueIsDefault = key.startsWith(\"scale\") ? parsed === 1 : parsed === 0;\n        }\n        if (!valueIsDefault || transformTemplate) {\n            const valueAsType = getValueAsType(value, numberValueTypes[key]);\n            if (!valueIsDefault) {\n                transformIsDefault = false;\n                const transformName = translateAlias[key] || key;\n                transformString += `${transformName}(${valueAsType}) `;\n            }\n            if (transformTemplate) {\n                transform[key] = valueAsType;\n            }\n        }\n    }\n    transformString = transformString.trim();\n    // If we have a custom `transform` template, pass our transform values and\n    // generated transformString to that before returning\n    if (transformTemplate) {\n        transformString = transformTemplate(transform, transformIsDefault ? \"\" : transformString);\n    }\n    else if (transformIsDefault) {\n        transformString = \"none\";\n    }\n    return transformString;\n}\n\nexport { buildTransform };\n//# sourceMappingURL=build-transform.mjs.map\n","function renderHTML(element, { style, vars }, styleProp, projection) {\n    const elementStyle = element.style;\n    let key;\n    for (key in style) {\n        // CSSStyleDeclaration has [index: number]: string; in the types, so we use that as key type.\n        elementStyle[key] = style[key];\n    }\n    // Write projection styles directly to element style\n    projection?.applyProjectionStyles(elementStyle, styleProp);\n    for (key in vars) {\n        // Loop over any CSS variables and assign those.\n        // They can only be assigned using `setProperty`.\n        elementStyle.setProperty(key, vars[key]);\n    }\n}\n\nexport { renderHTML };\n//# sourceMappingURL=render.mjs.map\n","import { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { isForcedMotionValue } from '../../utils/is-forced-motion-value.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n    const style = props.style;\n    const prevStyle = prevProps?.style;\n    const newValues = {};\n    if (!style)\n        return newValues;\n    for (const key in style) {\n        if (isMotionValue(style[key]) ||\n            (prevStyle && isMotionValue(prevStyle[key])) ||\n            isForcedMotionValue(key, props) ||\n            visualElement?.getValue(key)?.liveStyle !== undefined) {\n            newValues[key] = style[key];\n        }\n    }\n    return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n//# sourceMappingURL=scrape-motion-values.mjs.map\n","const visualElementStore = new WeakMap();\n\nexport { visualElementStore };\n//# sourceMappingURL=store.mjs.map\n","import { transformProps } from '../utils/keys-transform.mjs';\nimport { getDefaultValueType } from '../../value/types/maps/defaults.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { camelToDash } from '../dom/utils/camel-to-dash.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { camelCaseAttributes } from './utils/camel-case-attrs.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\nimport { renderSVG } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nclass SVGVisualElement extends DOMVisualElement {\n    constructor() {\n        super(...arguments);\n        this.type = \"svg\";\n        this.isSVGTag = false;\n        this.measureInstanceViewportBox = createBox;\n    }\n    getBaseTargetFromProps(props, key) {\n        return props[key];\n    }\n    readValueFromInstance(instance, key) {\n        if (transformProps.has(key)) {\n            const defaultType = getDefaultValueType(key);\n            return defaultType ? defaultType.default || 0 : 0;\n        }\n        key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;\n        return instance.getAttribute(key);\n    }\n    scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n        return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n    }\n    build(renderState, latestValues, props) {\n        buildSVGAttrs(renderState, latestValues, this.isSVGTag, props.transformTemplate, props.style);\n    }\n    renderInstance(instance, renderState, styleProp, projection) {\n        renderSVG(instance, renderState, styleProp, projection);\n    }\n    mount(instance) {\n        this.isSVGTag = isSVGTag(instance.tagName);\n        super.mount(instance);\n    }\n}\n\nexport { SVGVisualElement };\n//# sourceMappingURL=SVGVisualElement.mjs.map\n","import { buildHTMLStyles } from '../../html/utils/build-styles.mjs';\nimport { buildSVGPath } from './path.mjs';\n\n/**\n * CSS Motion Path properties that should remain as CSS styles on SVG elements.\n */\nconst cssMotionPathProperties = [\n    \"offsetDistance\",\n    \"offsetPath\",\n    \"offsetRotate\",\n    \"offsetAnchor\",\n];\n/**\n * Build SVG visual attributes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, { attrX, attrY, attrScale, pathLength, pathSpacing = 1, pathOffset = 0, \n// This is object creation, which we try to avoid per-frame.\n...latest }, isSVGTag, transformTemplate, styleProp) {\n    buildHTMLStyles(state, latest, transformTemplate);\n    /**\n     * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n     * as normal HTML tags.\n     */\n    if (isSVGTag) {\n        if (state.style.viewBox) {\n            state.attrs.viewBox = state.style.viewBox;\n        }\n        return;\n    }\n    state.attrs = state.style;\n    state.style = {};\n    const { attrs, style } = state;\n    /**\n     * However, we apply transforms as CSS transforms.\n     * So if we detect a transform, transformOrigin we take it from attrs and copy it into style.\n     */\n    if (attrs.transform) {\n        style.transform = attrs.transform;\n        delete attrs.transform;\n    }\n    if (style.transform || attrs.transformOrigin) {\n        style.transformOrigin = attrs.transformOrigin ?? \"50% 50%\";\n        delete attrs.transformOrigin;\n    }\n    if (style.transform) {\n        /**\n         * SVG's element transform-origin uses its own median as a reference.\n         * Therefore, transformBox becomes a fill-box\n         */\n        style.transformBox = styleProp?.transformBox ?? \"fill-box\";\n        delete attrs.transformBox;\n    }\n    for (const key of cssMotionPathProperties) {\n        if (attrs[key] !== undefined) {\n            style[key] = attrs[key];\n            delete attrs[key];\n        }\n    }\n    // Render attrX/attrY/attrScale as attributes\n    if (attrX !== undefined)\n        attrs.x = attrX;\n    if (attrY !== undefined)\n        attrs.y = attrY;\n    if (attrScale !== undefined)\n        attrs.scale = attrScale;\n    // Build SVG path if one has been defined\n    if (pathLength !== undefined) {\n        buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);\n    }\n}\n\nexport { buildSVGAttrs };\n//# sourceMappingURL=build-attrs.mjs.map\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nconst camelCaseAttributes = new Set([\n    \"baseFrequency\",\n    \"diffuseConstant\",\n    \"kernelMatrix\",\n    \"kernelUnitLength\",\n    \"keySplines\",\n    \"keyTimes\",\n    \"limitingConeAngle\",\n    \"markerHeight\",\n    \"markerWidth\",\n    \"numOctaves\",\n    \"targetX\",\n    \"targetY\",\n    \"surfaceScale\",\n    \"specularConstant\",\n    \"specularExponent\",\n    \"stdDeviation\",\n    \"tableValues\",\n    \"viewBox\",\n    \"gradientTransform\",\n    \"pathLength\",\n    \"startOffset\",\n    \"textLength\",\n    \"lengthAdjust\",\n]);\n\nexport { camelCaseAttributes };\n//# sourceMappingURL=camel-case-attrs.mjs.map\n","const isSVGTag = (tag) => typeof tag === \"string\" && tag.toLowerCase() === \"svg\";\n\nexport { isSVGTag };\n//# sourceMappingURL=is-svg-tag.mjs.map\n","const dashKeys = {\n    offset: \"stroke-dashoffset\",\n    array: \"stroke-dasharray\",\n};\nconst camelKeys = {\n    offset: \"strokeDashoffset\",\n    array: \"strokeDasharray\",\n};\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n *\n * Note: We use unitless values for stroke-dasharray and stroke-dashoffset\n * because Safari incorrectly scales px values when the page is zoomed.\n */\nfunction buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true) {\n    // Normalise path length by setting SVG attribute pathLength to 1\n    attrs.pathLength = 1;\n    // We use dash case when setting attributes directly to the DOM node and camel case\n    // when defining props on a React component.\n    const keys = useDashCase ? dashKeys : camelKeys;\n    // Build the dash offset (unitless to avoid Safari zoom bug)\n    attrs[keys.offset] = `${-offset}`;\n    // Build the dash array (unitless to avoid Safari zoom bug)\n    attrs[keys.array] = `${length} ${spacing}`;\n}\n\nexport { buildSVGPath };\n//# sourceMappingURL=path.mjs.map\n","import { camelToDash } from '../../dom/utils/camel-to-dash.mjs';\nimport { renderHTML } from '../../html/utils/render.mjs';\nimport { camelCaseAttributes } from './camel-case-attrs.mjs';\n\nfunction renderSVG(element, renderState, _styleProp, projection) {\n    renderHTML(element, renderState, undefined, projection);\n    for (const key in renderState.attrs) {\n        element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n    }\n}\n\nexport { renderSVG };\n//# sourceMappingURL=render.mjs.map\n","import { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { transformPropOrder } from '../../utils/keys-transform.mjs';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n    const newValues = scrapeMotionValuesFromProps$1(props, prevProps, visualElement);\n    for (const key in props) {\n        if (isMotionValue(props[key]) ||\n            isMotionValue(prevProps[key])) {\n            const targetKey = transformPropOrder.indexOf(key) !== -1\n                ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n                : key;\n            newValues[targetKey] = props[key];\n        }\n    }\n    return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n//# sourceMappingURL=scrape-motion-values.mjs.map\n","import { animateVisualElement } from '../../animation/interfaces/visual-element.mjs';\nimport { calcChildStagger } from '../../animation/utils/calc-child-stagger.mjs';\nimport { getVariantContext } from './get-variant-context.mjs';\nimport { isAnimationControls } from './is-animation-controls.mjs';\nimport { isKeyframesTarget } from './is-keyframes-target.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\nimport { shallowCompare } from './shallow-compare.mjs';\nimport { variantPriorityOrder } from './variant-props.mjs';\n\nconst reversePriorityOrder = [...variantPriorityOrder].reverse();\nconst numAnimationTypes = variantPriorityOrder.length;\nfunction createAnimateFunction(visualElement) {\n    return (animations) => {\n        return Promise.all(animations.map(({ animation, options }) => animateVisualElement(visualElement, animation, options)));\n    };\n}\nfunction createAnimationState(visualElement) {\n    let animate = createAnimateFunction(visualElement);\n    let state = createState();\n    let isInitialRender = true;\n    /**\n     * Track whether the animation state has been reset (e.g. via StrictMode\n     * double-invocation or Suspense unmount/remount). On the first\n     * animateChanges() call after a reset we need to behave like the initial\n     * render for variant-inheritance checks, even though isInitialRender is\n     * already false.\n     */\n    let wasReset = false;\n    /**\n     * This function will be used to reduce the animation definitions for\n     * each active animation type into an object of resolved values for it.\n     */\n    const buildResolvedTypeValues = (type) => (acc, definition) => {\n        const resolved = resolveVariant(visualElement, definition, type === \"exit\"\n            ? visualElement.presenceContext?.custom\n            : undefined);\n        if (resolved) {\n            const { transition, transitionEnd, ...target } = resolved;\n            acc = { ...acc, ...target, ...transitionEnd };\n        }\n        return acc;\n    };\n    /**\n     * This just allows us to inject mocked animation functions\n     * @internal\n     */\n    function setAnimateFunction(makeAnimator) {\n        animate = makeAnimator(visualElement);\n    }\n    /**\n     * When we receive new props, we need to:\n     * 1. Create a list of protected keys for each type. This is a directory of\n     *    value keys that are currently being \"handled\" by types of a higher priority\n     *    so that whenever an animation is played of a given type, these values are\n     *    protected from being animated.\n     * 2. Determine if an animation type needs animating.\n     * 3. Determine if any values have been removed from a type and figure out\n     *    what to animate those to.\n     */\n    function animateChanges(changedActiveType) {\n        const { props } = visualElement;\n        const context = getVariantContext(visualElement.parent) || {};\n        /**\n         * A list of animations that we'll build into as we iterate through the animation\n         * types. This will get executed at the end of the function.\n         */\n        const animations = [];\n        /**\n         * Keep track of which values have been removed. Then, as we hit lower priority\n         * animation types, we can check if they contain removed values and animate to that.\n         */\n        const removedKeys = new Set();\n        /**\n         * A dictionary of all encountered keys. This is an object to let us build into and\n         * copy it without iteration. Each time we hit an animation type we set its protected\n         * keys - the keys its not allowed to animate - to the latest version of this object.\n         */\n        let encounteredKeys = {};\n        /**\n         * If a variant has been removed at a given index, and this component is controlling\n         * variant animations, we want to ensure lower-priority variants are forced to animate.\n         */\n        let removedVariantIndex = Infinity;\n        /**\n         * Iterate through all animation types in reverse priority order. For each, we want to\n         * detect which values it's handling and whether or not they've changed (and therefore\n         * need to be animated). If any values have been removed, we want to detect those in\n         * lower priority props and flag for animation.\n         */\n        for (let i = 0; i < numAnimationTypes; i++) {\n            const type = reversePriorityOrder[i];\n            const typeState = state[type];\n            const prop = props[type] !== undefined\n                ? props[type]\n                : context[type];\n            const propIsVariant = isVariantLabel(prop);\n            /**\n             * If this type has *just* changed isActive status, set activeDelta\n             * to that status. Otherwise set to null.\n             */\n            const activeDelta = type === changedActiveType ? typeState.isActive : null;\n            if (activeDelta === false)\n                removedVariantIndex = i;\n            /**\n             * If this prop is an inherited variant, rather than been set directly on the\n             * component itself, we want to make sure we allow the parent to trigger animations.\n             *\n             * TODO: Can probably change this to a !isControllingVariants check\n             */\n            let isInherited = prop === context[type] &&\n                prop !== props[type] &&\n                propIsVariant;\n            if (isInherited &&\n                (isInitialRender || wasReset) &&\n                visualElement.manuallyAnimateOnMount) {\n                isInherited = false;\n            }\n            /**\n             * Set all encountered keys so far as the protected keys for this type. This will\n             * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n             */\n            typeState.protectedKeys = { ...encounteredKeys };\n            // Check if we can skip analysing this prop early\n            if (\n            // If it isn't active and hasn't *just* been set as inactive\n            (!typeState.isActive && activeDelta === null) ||\n                // If we didn't and don't have any defined prop for this animation type\n                (!prop && !typeState.prevProp) ||\n                // Or if the prop doesn't define an animation\n                isAnimationControls(prop) ||\n                typeof prop === \"boolean\") {\n                continue;\n            }\n            /**\n             * If exit is already active and wasn't just activated, skip\n             * re-processing to prevent interrupting running exit animations.\n             * Re-resolving exit with a changed custom value can start new\n             * value animations that stop the originals, leaving the exit\n             * animation promise unresolved and the component stuck in the DOM.\n             */\n            if (type === \"exit\" && typeState.isActive && activeDelta !== true) {\n                if (typeState.prevResolvedValues) {\n                    encounteredKeys = {\n                        ...encounteredKeys,\n                        ...typeState.prevResolvedValues,\n                    };\n                }\n                continue;\n            }\n            /**\n             * As we go look through the values defined on this type, if we detect\n             * a changed value or a value that was removed in a higher priority, we set\n             * this to true and add this prop to the animation list.\n             */\n            const variantDidChange = checkVariantsDidChange(typeState.prevProp, prop);\n            let shouldAnimateType = variantDidChange ||\n                // If we're making this variant active, we want to always make it active\n                (type === changedActiveType &&\n                    typeState.isActive &&\n                    !isInherited &&\n                    propIsVariant) ||\n                // If we removed a higher-priority variant (i is in reverse order)\n                (i > removedVariantIndex && propIsVariant);\n            let handledRemovedValues = false;\n            /**\n             * As animations can be set as variant lists, variants or target objects, we\n             * coerce everything to an array if it isn't one already\n             */\n            const definitionList = Array.isArray(prop) ? prop : [prop];\n            /**\n             * Build an object of all the resolved values. We'll use this in the subsequent\n             * animateChanges calls to determine whether a value has changed.\n             */\n            let resolvedValues = definitionList.reduce(buildResolvedTypeValues(type), {});\n            if (activeDelta === false)\n                resolvedValues = {};\n            /**\n             * Now we need to loop through all the keys in the prev prop and this prop,\n             * and decide:\n             * 1. If the value has changed, and needs animating\n             * 2. If it has been removed, and needs adding to the removedKeys set\n             * 3. If it has been removed in a higher priority type and needs animating\n             * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n             *    needs adding to the type's protectedKeys list.\n             */\n            const { prevResolvedValues = {} } = typeState;\n            const allKeys = {\n                ...prevResolvedValues,\n                ...resolvedValues,\n            };\n            const markToAnimate = (key) => {\n                shouldAnimateType = true;\n                if (removedKeys.has(key)) {\n                    handledRemovedValues = true;\n                    removedKeys.delete(key);\n                }\n                typeState.needsAnimating[key] = true;\n                const motionValue = visualElement.getValue(key);\n                if (motionValue)\n                    motionValue.liveStyle = false;\n            };\n            for (const key in allKeys) {\n                const next = resolvedValues[key];\n                const prev = prevResolvedValues[key];\n                // If we've already handled this we can just skip ahead\n                if (encounteredKeys.hasOwnProperty(key))\n                    continue;\n                /**\n                 * If the value has changed, we probably want to animate it.\n                 */\n                let valueHasChanged = false;\n                if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n                    valueHasChanged = !shallowCompare(next, prev);\n                }\n                else {\n                    valueHasChanged = next !== prev;\n                }\n                if (valueHasChanged) {\n                    if (next !== undefined && next !== null) {\n                        // If next is defined and doesn't equal prev, it needs animating\n                        markToAnimate(key);\n                    }\n                    else {\n                        // If it's undefined, it's been removed.\n                        removedKeys.add(key);\n                    }\n                }\n                else if (next !== undefined && removedKeys.has(key)) {\n                    /**\n                     * If next hasn't changed and it isn't undefined, we want to check if it's\n                     * been removed by a higher priority\n                     */\n                    markToAnimate(key);\n                }\n                else {\n                    /**\n                     * If it hasn't changed, we add it to the list of protected values\n                     * to ensure it doesn't get animated.\n                     */\n                    typeState.protectedKeys[key] = true;\n                }\n            }\n            /**\n             * Update the typeState so next time animateChanges is called we can compare the\n             * latest prop and resolvedValues to these.\n             */\n            typeState.prevProp = prop;\n            typeState.prevResolvedValues = resolvedValues;\n            if (typeState.isActive) {\n                encounteredKeys = { ...encounteredKeys, ...resolvedValues };\n            }\n            if ((isInitialRender || wasReset) &&\n                visualElement.blockInitialAnimation) {\n                shouldAnimateType = false;\n            }\n            /**\n             * If this is an inherited prop we want to skip this animation\n             * unless the inherited variants haven't changed on this render.\n             */\n            const willAnimateViaParent = isInherited && variantDidChange;\n            const needsAnimating = !willAnimateViaParent || handledRemovedValues;\n            if (shouldAnimateType && needsAnimating) {\n                animations.push(...definitionList.map((animation) => {\n                    const options = { type };\n                    /**\n                     * If we're performing the initial animation, but we're not\n                     * rendering at the same time as the variant-controlling parent,\n                     * we want to use the parent's transition to calculate the stagger.\n                     */\n                    if (typeof animation === \"string\" &&\n                        (isInitialRender || wasReset) &&\n                        !willAnimateViaParent &&\n                        visualElement.manuallyAnimateOnMount &&\n                        visualElement.parent) {\n                        const { parent } = visualElement;\n                        const parentVariant = resolveVariant(parent, animation);\n                        if (parent.enteringChildren && parentVariant) {\n                            const { delayChildren } = parentVariant.transition || {};\n                            options.delay = calcChildStagger(parent.enteringChildren, visualElement, delayChildren);\n                        }\n                    }\n                    return {\n                        animation: animation,\n                        options,\n                    };\n                }));\n            }\n        }\n        /**\n         * If there are some removed value that haven't been dealt with,\n         * we need to create a new animation that falls back either to the value\n         * defined in the style prop, or the last read value.\n         */\n        if (removedKeys.size) {\n            const fallbackAnimation = {};\n            /**\n             * If the initial prop contains a transition we can use that, otherwise\n             * allow the animation function to use the visual element's default.\n             */\n            if (typeof props.initial !== \"boolean\") {\n                const initialTransition = resolveVariant(visualElement, Array.isArray(props.initial)\n                    ? props.initial[0]\n                    : props.initial);\n                if (initialTransition && initialTransition.transition) {\n                    fallbackAnimation.transition = initialTransition.transition;\n                }\n            }\n            removedKeys.forEach((key) => {\n                const fallbackTarget = visualElement.getBaseTarget(key);\n                const motionValue = visualElement.getValue(key);\n                if (motionValue)\n                    motionValue.liveStyle = true;\n                // @ts-expect-error - @mattgperry to figure if we should do something here\n                fallbackAnimation[key] = fallbackTarget ?? null;\n            });\n            animations.push({ animation: fallbackAnimation });\n        }\n        let shouldAnimate = Boolean(animations.length);\n        if (isInitialRender &&\n            (props.initial === false || props.initial === props.animate) &&\n            !visualElement.manuallyAnimateOnMount) {\n            shouldAnimate = false;\n        }\n        isInitialRender = false;\n        wasReset = false;\n        return shouldAnimate ? animate(animations) : Promise.resolve();\n    }\n    /**\n     * Change whether a certain animation type is active.\n     */\n    function setActive(type, isActive) {\n        // If the active state hasn't changed, we can safely do nothing here\n        if (state[type].isActive === isActive)\n            return Promise.resolve();\n        // Propagate active change to children\n        visualElement.variantChildren?.forEach((child) => child.animationState?.setActive(type, isActive));\n        state[type].isActive = isActive;\n        const animations = animateChanges(type);\n        for (const key in state) {\n            state[key].protectedKeys = {};\n        }\n        return animations;\n    }\n    return {\n        animateChanges,\n        setActive,\n        setAnimateFunction,\n        getState: () => state,\n        reset: () => {\n            state = createState();\n            wasReset = true;\n        },\n    };\n}\nfunction checkVariantsDidChange(prev, next) {\n    if (typeof next === \"string\") {\n        return next !== prev;\n    }\n    else if (Array.isArray(next)) {\n        return !shallowCompare(next, prev);\n    }\n    return false;\n}\nfunction createTypeState(isActive = false) {\n    return {\n        isActive,\n        protectedKeys: {},\n        needsAnimating: {},\n        prevResolvedValues: {},\n    };\n}\nfunction createState() {\n    return {\n        animate: createTypeState(true),\n        whileInView: createTypeState(),\n        whileHover: createTypeState(),\n        whileTap: createTypeState(),\n        whileDrag: createTypeState(),\n        whileFocus: createTypeState(),\n        exit: createTypeState(),\n    };\n}\n\nexport { checkVariantsDidChange, createAnimationState };\n//# sourceMappingURL=animation-state.mjs.map\n","import { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nconst numVariantProps = variantProps.length;\n/**\n * Get variant context from a visual element's parent chain.\n * Uses `any` type for visualElement to avoid circular dependencies.\n */\nfunction getVariantContext(visualElement) {\n    if (!visualElement)\n        return undefined;\n    if (!visualElement.isControllingVariants) {\n        const context = visualElement.parent\n            ? getVariantContext(visualElement.parent) || {}\n            : {};\n        if (visualElement.props.initial !== undefined) {\n            context.initial = visualElement.props.initial;\n        }\n        return context;\n    }\n    const context = {};\n    for (let i = 0; i < numVariantProps; i++) {\n        const name = variantProps[i];\n        const prop = visualElement.props[name];\n        if (isVariantLabel(prop) || prop === false) {\n            context[name] = prop;\n        }\n    }\n    return context;\n}\n\nexport { getVariantContext };\n//# sourceMappingURL=get-variant-context.mjs.map\n","function isAnimationControls(v) {\n    return (v !== null &&\n        typeof v === \"object\" &&\n        typeof v.start === \"function\");\n}\n\nexport { isAnimationControls };\n//# sourceMappingURL=is-animation-controls.mjs.map\n","import { isAnimationControls } from './is-animation-controls.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nfunction isControllingVariants(props) {\n    return (isAnimationControls(props.animate) ||\n        variantProps.some((name) => isVariantLabel(props[name])));\n}\nfunction isVariantNode(props) {\n    return Boolean(isControllingVariants(props) || props.variants);\n}\n\nexport { isControllingVariants, isVariantNode };\n//# sourceMappingURL=is-controlling-variants.mjs.map\n","import { transformProps } from './keys-transform.mjs';\nimport { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\nexport { addScaleCorrector } from '../../projection/styles/scale-correction.mjs';\n\nfunction isForcedMotionValue(key, { layout, layoutId }) {\n    return (transformProps.has(key) ||\n        key.startsWith(\"origin\") ||\n        ((layout || layoutId !== undefined) &&\n            (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue, scaleCorrectors };\n//# sourceMappingURL=is-forced-motion-value.mjs.map\n","const isKeyframesTarget = (v) => {\n    return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n//# sourceMappingURL=is-keyframes-target.mjs.map\n","/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n    return typeof v === \"string\" || Array.isArray(v);\n}\n\nexport { isVariantLabel };\n//# sourceMappingURL=is-variant-label.mjs.map\n","import { transformPropOrder } from './keys-transform.mjs';\n\nconst positionalKeys = new Set([\n    \"width\",\n    \"height\",\n    \"top\",\n    \"left\",\n    \"right\",\n    \"bottom\",\n    ...transformPropOrder,\n]);\n\nexport { positionalKeys };\n//# sourceMappingURL=keys-position.mjs.map\n","/**\n * Generate a list of every possible transform key.\n */\nconst transformPropOrder = [\n    \"transformPerspective\",\n    \"x\",\n    \"y\",\n    \"z\",\n    \"translateX\",\n    \"translateY\",\n    \"translateZ\",\n    \"scale\",\n    \"scaleX\",\n    \"scaleY\",\n    \"rotate\",\n    \"rotateX\",\n    \"rotateY\",\n    \"rotateZ\",\n    \"skew\",\n    \"skewX\",\n    \"skewY\",\n];\n/**\n * A quick lookup for transform props.\n */\nconst transformProps = /*@__PURE__*/ (() => new Set(transformPropOrder))();\n\nexport { transformPropOrder, transformProps };\n//# sourceMappingURL=keys-transform.mjs.map\n","import { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\n/**\n * Updates motion values from props changes.\n * Uses `any` type for element to avoid circular dependencies with VisualElement.\n */\nfunction updateMotionValuesFromProps(element, next, prev) {\n    for (const key in next) {\n        const nextValue = next[key];\n        const prevValue = prev[key];\n        if (isMotionValue(nextValue)) {\n            /**\n             * If this is a motion value found in props or style, we want to add it\n             * to our visual element's motion value map.\n             */\n            element.addValue(key, nextValue);\n        }\n        else if (isMotionValue(prevValue)) {\n            /**\n             * If we're swapping from a motion value to a static value,\n             * create a new motion value from that\n             */\n            element.addValue(key, motionValue(nextValue, { owner: element }));\n        }\n        else if (prevValue !== nextValue) {\n            /**\n             * If this is a flat value that has changed, update the motion value\n             * or create one if it doesn't exist. We only want to do this if we're\n             * not handling the value with our animation state.\n             */\n            if (element.hasValue(key)) {\n                const existingValue = element.getValue(key);\n                if (existingValue.liveStyle === true) {\n                    existingValue.jump(nextValue);\n                }\n                else if (!existingValue.hasAnimated) {\n                    existingValue.set(nextValue);\n                }\n            }\n            else {\n                const latestValue = element.getStaticValue(key);\n                element.addValue(key, motionValue(latestValue !== undefined ? latestValue : nextValue, { owner: element }));\n            }\n        }\n    }\n    // Handle removed values\n    for (const key in prev) {\n        if (next[key] === undefined)\n            element.removeValue(key);\n    }\n    return next;\n}\n\nexport { updateMotionValuesFromProps };\n//# sourceMappingURL=motion-values.mjs.map\n","import { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';\n\nconst isBrowser = typeof window !== \"undefined\";\nfunction initPrefersReducedMotion() {\n    hasReducedMotionListener.current = true;\n    if (!isBrowser)\n        return;\n    if (window.matchMedia) {\n        const motionMediaQuery = window.matchMedia(\"(prefers-reduced-motion)\");\n        const setReducedMotionPreferences = () => (prefersReducedMotion.current = motionMediaQuery.matches);\n        motionMediaQuery.addEventListener(\"change\", setReducedMotionPreferences);\n        setReducedMotionPreferences();\n    }\n    else {\n        prefersReducedMotion.current = false;\n    }\n}\n\nexport { hasReducedMotionListener, initPrefersReducedMotion, prefersReducedMotion };\n//# sourceMappingURL=index.mjs.map\n","// Does this device prefer reduced motion? Returns `null` server-side.\nconst prefersReducedMotion = { current: null };\nconst hasReducedMotionListener = { current: false };\n\nexport { hasReducedMotionListener, prefersReducedMotion };\n//# sourceMappingURL=state.mjs.map\n","import { resolveVariantFromProps } from './resolve-variants.mjs';\n\nfunction resolveVariant(visualElement, definition, custom) {\n    const props = visualElement.getProps();\n    return resolveVariantFromProps(props, definition, custom !== undefined ? custom : props.custom, visualElement);\n}\n\nexport { resolveVariant };\n//# sourceMappingURL=resolve-dynamic-variants.mjs.map\n","function getValueState(visualElement) {\n    const state = [{}, {}];\n    visualElement?.values.forEach((value, key) => {\n        state[0][key] = value.get();\n        state[1][key] = value.getVelocity();\n    });\n    return state;\n}\nfunction resolveVariantFromProps(props, definition, custom, visualElement) {\n    /**\n     * If the variant definition is a function, resolve.\n     */\n    if (typeof definition === \"function\") {\n        const [current, velocity] = getValueState(visualElement);\n        definition = definition(custom !== undefined ? custom : props.custom, current, velocity);\n    }\n    /**\n     * If the variant definition is a variant label, or\n     * the function returned a variant label, resolve.\n     */\n    if (typeof definition === \"string\") {\n        definition = props.variants && props.variants[definition];\n    }\n    /**\n     * At this point we've resolved both functions and variant labels,\n     * but the resolved variant label might itself have been a function.\n     * If so, resolve. This can only have returned a valid target object.\n     */\n    if (typeof definition === \"function\") {\n        const [current, velocity] = getValueState(visualElement);\n        definition = definition(custom !== undefined ? custom : props.custom, current, velocity);\n    }\n    return definition;\n}\n\nexport { resolveVariantFromProps };\n//# sourceMappingURL=resolve-variants.mjs.map\n","import { motionValue } from '../../value/index.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\nimport { isKeyframesTarget } from './is-keyframes-target.mjs';\n\n/**\n * Set VisualElement's MotionValue, creating a new MotionValue for it if\n * it doesn't exist.\n */\nfunction setMotionValue(visualElement, key, value) {\n    if (visualElement.hasValue(key)) {\n        visualElement.getValue(key).set(value);\n    }\n    else {\n        visualElement.addValue(key, motionValue(value));\n    }\n}\nfunction resolveFinalValueInKeyframes(v) {\n    // TODO maybe throw if v.length - 1 is placeholder token?\n    return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n}\nfunction setTarget(visualElement, definition) {\n    const resolved = resolveVariant(visualElement, definition);\n    let { transitionEnd = {}, transition = {}, ...target } = resolved || {};\n    target = { ...target, ...transitionEnd };\n    for (const key in target) {\n        const value = resolveFinalValueInKeyframes(target[key]);\n        setMotionValue(visualElement, key, value);\n    }\n}\n\nexport { setTarget };\n//# sourceMappingURL=setters.mjs.map\n","function shallowCompare(next, prev) {\n    if (!Array.isArray(prev))\n        return false;\n    const prevLength = prev.length;\n    if (prevLength !== next.length)\n        return false;\n    for (let i = 0; i < prevLength; i++) {\n        if (prev[i] !== next[i])\n            return false;\n    }\n    return true;\n}\n\nexport { shallowCompare };\n//# sourceMappingURL=shallow-compare.mjs.map\n","const variantPriorityOrder = [\n    \"animate\",\n    \"whileInView\",\n    \"whileFocus\",\n    \"whileHover\",\n    \"whileTap\",\n    \"whileDrag\",\n    \"exit\",\n];\nconst variantProps = [\"initial\", ...variantPriorityOrder];\n\nexport { variantPriorityOrder, variantProps };\n//# sourceMappingURL=variant-props.mjs.map\n","import { isSVGElement } from '../utils/is-svg-element.mjs';\nimport { resolveElements } from '../utils/resolve-elements.mjs';\n\nconst resizeHandlers = new WeakMap();\nlet observer;\nconst getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {\n    if (borderBoxSize && borderBoxSize[0]) {\n        return borderBoxSize[0][(borderBoxAxis + \"Size\")];\n    }\n    else if (isSVGElement(target) && \"getBBox\" in target) {\n        return target.getBBox()[svgAxis];\n    }\n    else {\n        return target[htmlAxis];\n    }\n};\nconst getWidth = /*@__PURE__*/ getSize(\"inline\", \"width\", \"offsetWidth\");\nconst getHeight = /*@__PURE__*/ getSize(\"block\", \"height\", \"offsetHeight\");\nfunction notifyTarget({ target, borderBoxSize }) {\n    resizeHandlers.get(target)?.forEach((handler) => {\n        handler(target, {\n            get width() {\n                return getWidth(target, borderBoxSize);\n            },\n            get height() {\n                return getHeight(target, borderBoxSize);\n            },\n        });\n    });\n}\nfunction notifyAll(entries) {\n    entries.forEach(notifyTarget);\n}\nfunction createResizeObserver() {\n    if (typeof ResizeObserver === \"undefined\")\n        return;\n    observer = new ResizeObserver(notifyAll);\n}\nfunction resizeElement(target, handler) {\n    if (!observer)\n        createResizeObserver();\n    const elements = resolveElements(target);\n    elements.forEach((element) => {\n        let elementHandlers = resizeHandlers.get(element);\n        if (!elementHandlers) {\n            elementHandlers = new Set();\n            resizeHandlers.set(element, elementHandlers);\n        }\n        elementHandlers.add(handler);\n        observer?.observe(element);\n    });\n    return () => {\n        elements.forEach((element) => {\n            const elementHandlers = resizeHandlers.get(element);\n            elementHandlers?.delete(handler);\n            if (!elementHandlers?.size) {\n                observer?.unobserve(element);\n            }\n        });\n    };\n}\n\nexport { resizeElement };\n//# sourceMappingURL=handle-element.mjs.map\n","const windowCallbacks = new Set();\nlet windowResizeHandler;\nfunction createWindowResizeHandler() {\n    windowResizeHandler = () => {\n        const info = {\n            get width() {\n                return window.innerWidth;\n            },\n            get height() {\n                return window.innerHeight;\n            },\n        };\n        windowCallbacks.forEach((callback) => callback(info));\n    };\n    window.addEventListener(\"resize\", windowResizeHandler);\n}\nfunction resizeWindow(callback) {\n    windowCallbacks.add(callback);\n    if (!windowResizeHandler)\n        createWindowResizeHandler();\n    return () => {\n        windowCallbacks.delete(callback);\n        if (!windowCallbacks.size &&\n            typeof windowResizeHandler === \"function\") {\n            window.removeEventListener(\"resize\", windowResizeHandler);\n            windowResizeHandler = undefined;\n        }\n    };\n}\n\nexport { resizeWindow };\n//# sourceMappingURL=handle-window.mjs.map\n","import { resizeElement } from './handle-element.mjs';\nimport { resizeWindow } from './handle-window.mjs';\n\nfunction resize(a, b) {\n    return typeof a === \"function\" ? resizeWindow(a) : resizeElement(a, b);\n}\n\nexport { resize };\n//# sourceMappingURL=index.mjs.map\n","const activeAnimations = {\n    layout: 0,\n    mainThread: 0,\n    waapi: 0,\n};\n\nexport { activeAnimations };\n//# sourceMappingURL=animation-count.mjs.map\n","const statsBuffer = {\n    value: null,\n    addProjectionMetrics: null,\n};\n\nexport { statsBuffer };\n//# sourceMappingURL=buffer.mjs.map\n","import { time } from '../frameloop/sync-time.mjs';\nimport { secondsToMilliseconds } from 'motion-utils';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\n/**\n * Timeout defined in ms\n */\nfunction delay(callback, timeout) {\n    const start = time.now();\n    const checkElapsed = ({ timestamp }) => {\n        const elapsed = timestamp - start;\n        if (elapsed >= timeout) {\n            cancelFrame(checkElapsed);\n            callback(elapsed - timeout);\n        }\n    };\n    frame.setup(checkElapsed, true);\n    return () => cancelFrame(checkElapsed);\n}\nfunction delayInSeconds(callback, timeout) {\n    return delay(callback, secondsToMilliseconds(timeout));\n}\n\nexport { delay, delayInSeconds };\n//# sourceMappingURL=delay.mjs.map\n","import { invariant, clamp, MotionGlobalConfig, noop, pipe, progress } from 'motion-utils';\nimport { mix } from './mix/index.mjs';\n\nfunction createMixers(output, ease, customMixer) {\n    const mixers = [];\n    const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;\n    const numMixers = output.length - 1;\n    for (let i = 0; i < numMixers; i++) {\n        let mixer = mixerFactory(output[i], output[i + 1]);\n        if (ease) {\n            const easingFunction = Array.isArray(ease) ? ease[i] || noop : ease;\n            mixer = pipe(easingFunction, mixer);\n        }\n        mixers.push(mixer);\n    }\n    return mixers;\n}\n/**\n * Create a function that maps from a numerical input array to a generic output array.\n *\n * Accepts:\n *   - Numbers\n *   - Colors (hex, hsl, hsla, rgb, rgba)\n *   - Complex (combinations of one or more numbers or strings)\n *\n * ```jsx\n * const mixColor = interpolate([0, 1], ['#fff', '#000'])\n *\n * mixColor(0.5) // 'rgba(128, 128, 128, 1)'\n * ```\n *\n * TODO Revisit this approach once we've moved to data models for values,\n * probably not needed to pregenerate mixer functions.\n *\n * @public\n */\nfunction interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) {\n    const inputLength = input.length;\n    invariant(inputLength === output.length, \"Both input and output ranges must be the same length\", \"range-length\");\n    /**\n     * If we're only provided a single input, we can just make a function\n     * that returns the output.\n     */\n    if (inputLength === 1)\n        return () => output[0];\n    if (inputLength === 2 && output[0] === output[1])\n        return () => output[1];\n    const isZeroDeltaRange = input[0] === input[1];\n    // If input runs highest -> lowest, reverse both arrays\n    if (input[0] > input[inputLength - 1]) {\n        input = [...input].reverse();\n        output = [...output].reverse();\n    }\n    const mixers = createMixers(output, ease, mixer);\n    const numMixers = mixers.length;\n    const interpolator = (v) => {\n        if (isZeroDeltaRange && v < input[0])\n            return output[0];\n        let i = 0;\n        if (numMixers > 1) {\n            for (; i < input.length - 2; i++) {\n                if (v < input[i + 1])\n                    break;\n            }\n        }\n        const progressInRange = progress(input[i], input[i + 1], v);\n        return mixers[i](progressInRange);\n    };\n    return isClamp\n        ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v))\n        : interpolator;\n}\n\nexport { interpolate };\n//# sourceMappingURL=interpolate.mjs.map\n","import { isObject } from 'motion-utils';\n\n/**\n * Checks if an element is an HTML element in a way\n * that works across iframes\n */\nfunction isHTMLElement(element) {\n    return (isObject(element) &&\n        \"offsetHeight\" in element &&\n        !(\"ownerSVGElement\" in element));\n}\n\nexport { isHTMLElement };\n//# sourceMappingURL=is-html-element.mjs.map\n","import { isObject } from 'motion-utils';\n\n/**\n * Checks if an element is an SVG element in a way\n * that works across iframes\n */\nfunction isSVGElement(element) {\n    return isObject(element) && \"ownerSVGElement\" in element;\n}\n\nexport { isSVGElement };\n//# sourceMappingURL=is-svg-element.mjs.map\n","import { isSVGElement } from './is-svg-element.mjs';\n\n/**\n * Checks if an element is specifically an SVGSVGElement (the root SVG element)\n * in a way that works across iframes\n */\nfunction isSVGSVGElement(element) {\n    return isSVGElement(element) && element.tagName === \"svg\";\n}\n\nexport { isSVGSVGElement };\n//# sourceMappingURL=is-svg-svg-element.mjs.map\n","import { warning } from 'motion-utils';\nimport { hex } from '../../value/types/color/hex.mjs';\nimport { hsla } from '../../value/types/color/hsla.mjs';\nimport { hslaToRgba } from '../../value/types/color/hsla-to-rgba.mjs';\nimport { rgba } from '../../value/types/color/rgba.mjs';\nimport { mixImmediate } from './immediate.mjs';\nimport { mixNumber } from './number.mjs';\n\n// Linear color space blending\n// Explained https://www.youtube.com/watch?v=LKnqECcg6Gw\n// Demonstrated http://codepen.io/osublake/pen/xGVVaN\nconst mixLinearColor = (from, to, v) => {\n    const fromExpo = from * from;\n    const expo = v * (to * to - fromExpo) + fromExpo;\n    return expo < 0 ? 0 : Math.sqrt(expo);\n};\nconst colorTypes = [hex, rgba, hsla];\nconst getColorType = (v) => colorTypes.find((type) => type.test(v));\nfunction asRGBA(color) {\n    const type = getColorType(color);\n    warning(Boolean(type), `'${color}' is not an animatable color. Use the equivalent color code instead.`, \"color-not-animatable\");\n    if (!Boolean(type))\n        return false;\n    let model = type.parse(color);\n    if (type === hsla) {\n        // TODO Remove this cast - needed since Motion's stricter typing\n        model = hslaToRgba(model);\n    }\n    return model;\n}\nconst mixColor = (from, to) => {\n    const fromRGBA = asRGBA(from);\n    const toRGBA = asRGBA(to);\n    if (!fromRGBA || !toRGBA) {\n        return mixImmediate(from, to);\n    }\n    const blended = { ...fromRGBA };\n    return (v) => {\n        blended.red = mixLinearColor(fromRGBA.red, toRGBA.red, v);\n        blended.green = mixLinearColor(fromRGBA.green, toRGBA.green, v);\n        blended.blue = mixLinearColor(fromRGBA.blue, toRGBA.blue, v);\n        blended.alpha = mixNumber(fromRGBA.alpha, toRGBA.alpha, v);\n        return rgba.transform(blended);\n    };\n};\n\nexport { mixColor, mixLinearColor };\n//# sourceMappingURL=color.mjs.map\n","import { pipe, warning } from 'motion-utils';\nimport { isCSSVariableToken } from '../../animation/utils/is-css-variable.mjs';\nimport { color } from '../../value/types/color/index.mjs';\nimport { complex, analyseComplexValue } from '../../value/types/complex/index.mjs';\nimport { mixColor } from './color.mjs';\nimport { mixImmediate } from './immediate.mjs';\nimport { mixNumber as mixNumber$1 } from './number.mjs';\nimport { invisibleValues, mixVisibility } from './visibility.mjs';\n\nfunction mixNumber(a, b) {\n    return (p) => mixNumber$1(a, b, p);\n}\nfunction getMixer(a) {\n    if (typeof a === \"number\") {\n        return mixNumber;\n    }\n    else if (typeof a === \"string\") {\n        return isCSSVariableToken(a)\n            ? mixImmediate\n            : color.test(a)\n                ? mixColor\n                : mixComplex;\n    }\n    else if (Array.isArray(a)) {\n        return mixArray;\n    }\n    else if (typeof a === \"object\") {\n        return color.test(a) ? mixColor : mixObject;\n    }\n    return mixImmediate;\n}\nfunction mixArray(a, b) {\n    const output = [...a];\n    const numValues = output.length;\n    const blendValue = a.map((v, i) => getMixer(v)(v, b[i]));\n    return (p) => {\n        for (let i = 0; i < numValues; i++) {\n            output[i] = blendValue[i](p);\n        }\n        return output;\n    };\n}\nfunction mixObject(a, b) {\n    const output = { ...a, ...b };\n    const blendValue = {};\n    for (const key in output) {\n        if (a[key] !== undefined && b[key] !== undefined) {\n            blendValue[key] = getMixer(a[key])(a[key], b[key]);\n        }\n    }\n    return (v) => {\n        for (const key in blendValue) {\n            output[key] = blendValue[key](v);\n        }\n        return output;\n    };\n}\nfunction matchOrder(origin, target) {\n    const orderedOrigin = [];\n    const pointers = { color: 0, var: 0, number: 0 };\n    for (let i = 0; i < target.values.length; i++) {\n        const type = target.types[i];\n        const originIndex = origin.indexes[type][pointers[type]];\n        const originValue = origin.values[originIndex] ?? 0;\n        orderedOrigin[i] = originValue;\n        pointers[type]++;\n    }\n    return orderedOrigin;\n}\nconst mixComplex = (origin, target) => {\n    const template = complex.createTransformer(target);\n    const originStats = analyseComplexValue(origin);\n    const targetStats = analyseComplexValue(target);\n    const canInterpolate = originStats.indexes.var.length === targetStats.indexes.var.length &&\n        originStats.indexes.color.length === targetStats.indexes.color.length &&\n        originStats.indexes.number.length >= targetStats.indexes.number.length;\n    if (canInterpolate) {\n        if ((invisibleValues.has(origin) &&\n            !targetStats.values.length) ||\n            (invisibleValues.has(target) &&\n                !originStats.values.length)) {\n            return mixVisibility(origin, target);\n        }\n        return pipe(mixArray(matchOrder(originStats, targetStats), targetStats.values), template);\n    }\n    else {\n        warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, \"complex-values-different\");\n        return mixImmediate(origin, target);\n    }\n};\n\nexport { getMixer, mixArray, mixComplex, mixObject };\n//# sourceMappingURL=complex.mjs.map\n","function mixImmediate(a, b) {\n    return (p) => (p > 0 ? b : a);\n}\n\nexport { mixImmediate };\n//# sourceMappingURL=immediate.mjs.map\n","import { getMixer } from './complex.mjs';\nimport { mixNumber } from './number.mjs';\n\nfunction mix(from, to, p) {\n    if (typeof from === \"number\" &&\n        typeof to === \"number\" &&\n        typeof p === \"number\") {\n        return mixNumber(from, to, p);\n    }\n    const mixer = getMixer(from);\n    return mixer(from, to);\n}\n\nexport { mix };\n//# sourceMappingURL=index.mjs.map\n","/*\n  Value in range from progress\n\n  Given a lower limit and an upper limit, we return the value within\n  that range as expressed by progress (usually a number from 0 to 1)\n\n  So progress = 0.5 would change\n\n  from -------- to\n\n  to\n\n  from ---- to\n\n  E.g. from = 10, to = 20, progress = 0.5 => 15\n\n  @param [number]: Lower limit of range\n  @param [number]: Upper limit of range\n  @param [number]: The progress between lower and upper limits expressed 0-1\n  @return [number]: Value as calculated from progress within range (not limited within range)\n*/\nconst mixNumber = (from, to, progress) => {\n    return from + (to - from) * progress;\n};\n\nexport { mixNumber };\n//# sourceMappingURL=number.mjs.map\n","const invisibleValues = new Set([\"none\", \"hidden\"]);\n/**\n * Returns a function that, when provided a progress value between 0 and 1,\n * will return the \"none\" or \"hidden\" string only when the progress is that of\n * the origin or target.\n */\nfunction mixVisibility(origin, target) {\n    if (invisibleValues.has(origin)) {\n        return (p) => (p <= 0 ? origin : target);\n    }\n    else {\n        return (p) => (p >= 1 ? target : origin);\n    }\n}\n\nexport { invisibleValues, mixVisibility };\n//# sourceMappingURL=visibility.mjs.map\n","function resolveElements(elementOrSelector, scope, selectorCache) {\n    if (elementOrSelector == null) {\n        return [];\n    }\n    if (elementOrSelector instanceof EventTarget) {\n        return [elementOrSelector];\n    }\n    else if (typeof elementOrSelector === \"string\") {\n        let root = document;\n        if (scope) {\n            root = scope.current;\n        }\n        const elements = selectorCache?.[elementOrSelector] ??\n            root.querySelectorAll(elementOrSelector);\n        return elements ? Array.from(elements) : [];\n    }\n    return Array.from(elementOrSelector).filter((element) => element != null);\n}\n\nexport { resolveElements };\n//# sourceMappingURL=resolve-elements.mjs.map\n","/**\n * Add the ability for test suites to manually set support flags\n * to better test more environments.\n */\nconst supportsFlags = {};\n\nexport { supportsFlags };\n//# sourceMappingURL=flags.mjs.map\n","import { memoSupports } from './memo.mjs';\n\nconst supportsLinearEasing = /*@__PURE__*/ memoSupports(() => {\n    try {\n        document\n            .createElement(\"div\")\n            .animate({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n    }\n    catch (e) {\n        return false;\n    }\n    return true;\n}, \"linearEasing\");\n\nexport { supportsLinearEasing };\n//# sourceMappingURL=linear-easing.mjs.map\n","import { memo } from 'motion-utils';\nimport { supportsFlags } from './flags.mjs';\n\nfunction memoSupports(callback, supportsFlag) {\n    const memoized = memo(callback);\n    return () => supportsFlags[supportsFlag] ?? memoized();\n}\n\nexport { memoSupports };\n//# sourceMappingURL=memo.mjs.map\n","import { memoSupports } from './memo.mjs';\n\nconst supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== undefined, \"scrollTimeline\");\nconst supportsViewTimeline = /* @__PURE__ */ memoSupports(() => window.ViewTimeline !== undefined, \"viewTimeline\");\n\nexport { supportsScrollTimeline, supportsViewTimeline };\n//# sourceMappingURL=scroll-timeline.mjs.map\n","import { warnOnce, SubscriptionManager, velocityPerSecond } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { frame } from '../frameloop/frame.mjs';\n\n/**\n * Maximum time between the value of two frames, beyond which we\n * assume the velocity has since been 0.\n */\nconst MAX_VELOCITY_DELTA = 30;\nconst isFloat = (value) => {\n    return !isNaN(parseFloat(value));\n};\nconst collectMotionValues = {\n    current: undefined,\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nclass MotionValue {\n    /**\n     * @param init - The initiating value\n     * @param config - Optional configuration options\n     *\n     * -  `transformer`: A function to transform incoming values with.\n     */\n    constructor(init, options = {}) {\n        /**\n         * Tracks whether this value can output a velocity. Currently this is only true\n         * if the value is numerical, but we might be able to widen the scope here and support\n         * other value types.\n         *\n         * @internal\n         */\n        this.canTrackVelocity = null;\n        /**\n         * An object containing a SubscriptionManager for each active event.\n         */\n        this.events = {};\n        this.updateAndNotify = (v) => {\n            const currentTime = time.now();\n            /**\n             * If we're updating the value during another frame or eventloop\n             * than the previous frame, then the we set the previous frame value\n             * to current.\n             */\n            if (this.updatedAt !== currentTime) {\n                this.setPrevFrameValue();\n            }\n            this.prev = this.current;\n            this.setCurrent(v);\n            // Update update subscribers\n            if (this.current !== this.prev) {\n                this.events.change?.notify(this.current);\n                if (this.dependents) {\n                    for (const dependent of this.dependents) {\n                        dependent.dirty();\n                    }\n                }\n            }\n        };\n        this.hasAnimated = false;\n        this.setCurrent(init);\n        this.owner = options.owner;\n    }\n    setCurrent(current) {\n        this.current = current;\n        this.updatedAt = time.now();\n        if (this.canTrackVelocity === null && current !== undefined) {\n            this.canTrackVelocity = isFloat(this.current);\n        }\n    }\n    setPrevFrameValue(prevFrameValue = this.current) {\n        this.prevFrameValue = prevFrameValue;\n        this.prevUpdatedAt = this.updatedAt;\n    }\n    /**\n     * Adds a function that will be notified when the `MotionValue` is updated.\n     *\n     * It returns a function that, when called, will cancel the subscription.\n     *\n     * When calling `onChange` inside a React component, it should be wrapped with the\n     * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n     * from the `useEffect` function to ensure you don't add duplicate subscribers..\n     *\n     * ```jsx\n     * export const MyComponent = () => {\n     *   const x = useMotionValue(0)\n     *   const y = useMotionValue(0)\n     *   const opacity = useMotionValue(1)\n     *\n     *   useEffect(() => {\n     *     function updateOpacity() {\n     *       const maxXY = Math.max(x.get(), y.get())\n     *       const newOpacity = transform(maxXY, [0, 100], [1, 0])\n     *       opacity.set(newOpacity)\n     *     }\n     *\n     *     const unsubscribeX = x.on(\"change\", updateOpacity)\n     *     const unsubscribeY = y.on(\"change\", updateOpacity)\n     *\n     *     return () => {\n     *       unsubscribeX()\n     *       unsubscribeY()\n     *     }\n     *   }, [])\n     *\n     *   return <motion.div style={{ x }} />\n     * }\n     * ```\n     *\n     * @param subscriber - A function that receives the latest value.\n     * @returns A function that, when called, will cancel this subscription.\n     *\n     * @deprecated\n     */\n    onChange(subscription) {\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(false, `value.onChange(callback) is deprecated. Switch to value.on(\"change\", callback).`);\n        }\n        return this.on(\"change\", subscription);\n    }\n    on(eventName, callback) {\n        if (!this.events[eventName]) {\n            this.events[eventName] = new SubscriptionManager();\n        }\n        const unsubscribe = this.events[eventName].add(callback);\n        if (eventName === \"change\") {\n            return () => {\n                unsubscribe();\n                /**\n                 * If we have no more change listeners by the start\n                 * of the next frame, stop active animations.\n                 */\n                frame.read(() => {\n                    if (!this.events.change.getSize()) {\n                        this.stop();\n                    }\n                });\n            };\n        }\n        return unsubscribe;\n    }\n    clearListeners() {\n        for (const eventManagers in this.events) {\n            this.events[eventManagers].clear();\n        }\n    }\n    /**\n     * Attaches a passive effect to the `MotionValue`.\n     */\n    attach(passiveEffect, stopPassiveEffect) {\n        this.passiveEffect = passiveEffect;\n        this.stopPassiveEffect = stopPassiveEffect;\n    }\n    /**\n     * Sets the state of the `MotionValue`.\n     *\n     * @remarks\n     *\n     * ```jsx\n     * const x = useMotionValue(0)\n     * x.set(10)\n     * ```\n     *\n     * @param latest - Latest value to set.\n     * @param render - Whether to notify render subscribers. Defaults to `true`\n     *\n     * @public\n     */\n    set(v) {\n        if (!this.passiveEffect) {\n            this.updateAndNotify(v);\n        }\n        else {\n            this.passiveEffect(v, this.updateAndNotify);\n        }\n    }\n    setWithVelocity(prev, current, delta) {\n        this.set(current);\n        this.prev = undefined;\n        this.prevFrameValue = prev;\n        this.prevUpdatedAt = this.updatedAt - delta;\n    }\n    /**\n     * Set the state of the `MotionValue`, stopping any active animations,\n     * effects, and resets velocity to `0`.\n     */\n    jump(v, endAnimation = true) {\n        this.updateAndNotify(v);\n        this.prev = v;\n        this.prevUpdatedAt = this.prevFrameValue = undefined;\n        endAnimation && this.stop();\n        if (this.stopPassiveEffect)\n            this.stopPassiveEffect();\n    }\n    dirty() {\n        this.events.change?.notify(this.current);\n    }\n    addDependent(dependent) {\n        if (!this.dependents) {\n            this.dependents = new Set();\n        }\n        this.dependents.add(dependent);\n    }\n    removeDependent(dependent) {\n        if (this.dependents) {\n            this.dependents.delete(dependent);\n        }\n    }\n    /**\n     * Returns the latest state of `MotionValue`\n     *\n     * @returns - The latest state of `MotionValue`\n     *\n     * @public\n     */\n    get() {\n        if (collectMotionValues.current) {\n            collectMotionValues.current.push(this);\n        }\n        return this.current;\n    }\n    /**\n     * @public\n     */\n    getPrevious() {\n        return this.prev;\n    }\n    /**\n     * Returns the latest velocity of `MotionValue`\n     *\n     * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n     *\n     * @public\n     */\n    getVelocity() {\n        const currentTime = time.now();\n        if (!this.canTrackVelocity ||\n            this.prevFrameValue === undefined ||\n            currentTime - this.updatedAt > MAX_VELOCITY_DELTA) {\n            return 0;\n        }\n        const delta = Math.min(this.updatedAt - this.prevUpdatedAt, MAX_VELOCITY_DELTA);\n        // Casts because of parseFloat's poor typing\n        return velocityPerSecond(parseFloat(this.current) -\n            parseFloat(this.prevFrameValue), delta);\n    }\n    /**\n     * Registers a new animation to control this `MotionValue`. Only one\n     * animation can drive a `MotionValue` at one time.\n     *\n     * ```jsx\n     * value.start()\n     * ```\n     *\n     * @param animation - A function that starts the provided animation\n     */\n    start(startAnimation) {\n        this.stop();\n        return new Promise((resolve) => {\n            this.hasAnimated = true;\n            this.animation = startAnimation(resolve);\n            if (this.events.animationStart) {\n                this.events.animationStart.notify();\n            }\n        }).then(() => {\n            if (this.events.animationComplete) {\n                this.events.animationComplete.notify();\n            }\n            this.clearAnimation();\n        });\n    }\n    /**\n     * Stop the currently active animation.\n     *\n     * @public\n     */\n    stop() {\n        if (this.animation) {\n            this.animation.stop();\n            if (this.events.animationCancel) {\n                this.events.animationCancel.notify();\n            }\n        }\n        this.clearAnimation();\n    }\n    /**\n     * Returns `true` if this value is currently animating.\n     *\n     * @public\n     */\n    isAnimating() {\n        return !!this.animation;\n    }\n    clearAnimation() {\n        delete this.animation;\n    }\n    /**\n     * Destroy and clean up subscribers to this `MotionValue`.\n     *\n     * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n     * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n     * created a `MotionValue` via the `motionValue` function.\n     *\n     * @public\n     */\n    destroy() {\n        this.dependents?.clear();\n        this.events.destroy?.notify();\n        this.clearListeners();\n        this.stop();\n        if (this.stopPassiveEffect) {\n            this.stopPassiveEffect();\n        }\n    }\n}\nfunction motionValue(init, options) {\n    return new MotionValue(init, options);\n}\n\nexport { MotionValue, collectMotionValues, motionValue };\n//# sourceMappingURL=index.mjs.map\n","/**\n * ValueType for \"auto\"\n */\nconst auto = {\n    test: (v) => v === \"auto\",\n    parse: (v) => v,\n};\n\nexport { auto };\n//# sourceMappingURL=auto.mjs.map\n","import { rgba } from './rgba.mjs';\nimport { isColorString } from './utils.mjs';\n\nfunction parseHex(v) {\n    let r = \"\";\n    let g = \"\";\n    let b = \"\";\n    let a = \"\";\n    // If we have 6 characters, ie #FF0000\n    if (v.length > 5) {\n        r = v.substring(1, 3);\n        g = v.substring(3, 5);\n        b = v.substring(5, 7);\n        a = v.substring(7, 9);\n        // Or we have 3 characters, ie #F00\n    }\n    else {\n        r = v.substring(1, 2);\n        g = v.substring(2, 3);\n        b = v.substring(3, 4);\n        a = v.substring(4, 5);\n        r += r;\n        g += g;\n        b += b;\n        a += a;\n    }\n    return {\n        red: parseInt(r, 16),\n        green: parseInt(g, 16),\n        blue: parseInt(b, 16),\n        alpha: a ? parseInt(a, 16) / 255 : 1,\n    };\n}\nconst hex = {\n    test: /*@__PURE__*/ isColorString(\"#\"),\n    parse: parseHex,\n    transform: rgba.transform,\n};\n\nexport { hex };\n//# sourceMappingURL=hex.mjs.map\n","// Adapted from https://gist.github.com/mjackson/5311256\nfunction hueToRgb(p, q, t) {\n    if (t < 0)\n        t += 1;\n    if (t > 1)\n        t -= 1;\n    if (t < 1 / 6)\n        return p + (q - p) * 6 * t;\n    if (t < 1 / 2)\n        return q;\n    if (t < 2 / 3)\n        return p + (q - p) * (2 / 3 - t) * 6;\n    return p;\n}\nfunction hslaToRgba({ hue, saturation, lightness, alpha }) {\n    hue /= 360;\n    saturation /= 100;\n    lightness /= 100;\n    let red = 0;\n    let green = 0;\n    let blue = 0;\n    if (!saturation) {\n        red = green = blue = lightness;\n    }\n    else {\n        const q = lightness < 0.5\n            ? lightness * (1 + saturation)\n            : lightness + saturation - lightness * saturation;\n        const p = 2 * lightness - q;\n        red = hueToRgb(p, q, hue + 1 / 3);\n        green = hueToRgb(p, q, hue);\n        blue = hueToRgb(p, q, hue - 1 / 3);\n    }\n    return {\n        red: Math.round(red * 255),\n        green: Math.round(green * 255),\n        blue: Math.round(blue * 255),\n        alpha,\n    };\n}\n\nexport { hslaToRgba };\n//# sourceMappingURL=hsla-to-rgba.mjs.map\n","import { alpha } from '../numbers/index.mjs';\nimport { percent } from '../numbers/units.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\nimport { splitColor, isColorString } from './utils.mjs';\n\nconst hsla = {\n    test: /*@__PURE__*/ isColorString(\"hsl\", \"hue\"),\n    parse: /*@__PURE__*/ splitColor(\"hue\", \"saturation\", \"lightness\"),\n    transform: ({ hue, saturation, lightness, alpha: alpha$1 = 1 }) => {\n        return (\"hsla(\" +\n            Math.round(hue) +\n            \", \" +\n            percent.transform(sanitize(saturation)) +\n            \", \" +\n            percent.transform(sanitize(lightness)) +\n            \", \" +\n            sanitize(alpha.transform(alpha$1)) +\n            \")\");\n    },\n};\n\nexport { hsla };\n//# sourceMappingURL=hsla.mjs.map\n","import { hex } from './hex.mjs';\nimport { hsla } from './hsla.mjs';\nimport { rgba } from './rgba.mjs';\n\nconst color = {\n    test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),\n    parse: (v) => {\n        if (rgba.test(v)) {\n            return rgba.parse(v);\n        }\n        else if (hsla.test(v)) {\n            return hsla.parse(v);\n        }\n        else {\n            return hex.parse(v);\n        }\n    },\n    transform: (v) => {\n        return typeof v === \"string\"\n            ? v\n            : v.hasOwnProperty(\"red\")\n                ? rgba.transform(v)\n                : hsla.transform(v);\n    },\n    getAnimatableNone: (v) => {\n        const parsed = color.parse(v);\n        parsed.alpha = 0;\n        return color.transform(parsed);\n    },\n};\n\nexport { color };\n//# sourceMappingURL=index.mjs.map\n","import { clamp } from 'motion-utils';\nimport { number, alpha } from '../numbers/index.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\nimport { splitColor, isColorString } from './utils.mjs';\n\nconst clampRgbUnit = (v) => clamp(0, 255, v);\nconst rgbUnit = {\n    ...number,\n    transform: (v) => Math.round(clampRgbUnit(v)),\n};\nconst rgba = {\n    test: /*@__PURE__*/ isColorString(\"rgb\", \"red\"),\n    parse: /*@__PURE__*/ splitColor(\"red\", \"green\", \"blue\"),\n    transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => \"rgba(\" +\n        rgbUnit.transform(red) +\n        \", \" +\n        rgbUnit.transform(green) +\n        \", \" +\n        rgbUnit.transform(blue) +\n        \", \" +\n        sanitize(alpha.transform(alpha$1)) +\n        \")\",\n};\n\nexport { rgbUnit, rgba };\n//# sourceMappingURL=rgba.mjs.map\n","import { floatRegex } from '../utils/float-regex.mjs';\nimport { isNullish } from '../utils/is-nullish.mjs';\nimport { singleColorRegex } from '../utils/single-color-regex.mjs';\n\n/**\n * Returns true if the provided string is a color, ie rgba(0,0,0,0) or #000,\n * but false if a number or multiple colors\n */\nconst isColorString = (type, testProp) => (v) => {\n    return Boolean((typeof v === \"string\" &&\n        singleColorRegex.test(v) &&\n        v.startsWith(type)) ||\n        (testProp &&\n            !isNullish(v) &&\n            Object.prototype.hasOwnProperty.call(v, testProp)));\n};\nconst splitColor = (aName, bName, cName) => (v) => {\n    if (typeof v !== \"string\")\n        return v;\n    const [a, b, c, alpha] = v.match(floatRegex);\n    return {\n        [aName]: parseFloat(a),\n        [bName]: parseFloat(b),\n        [cName]: parseFloat(c),\n        alpha: alpha !== undefined ? parseFloat(alpha) : 1,\n    };\n};\n\nexport { isColorString, splitColor };\n//# sourceMappingURL=utils.mjs.map\n","import { complex } from './index.mjs';\nimport { floatRegex } from '../utils/float-regex.mjs';\n\n/**\n * Properties that should default to 1 or 100%\n */\nconst maxDefaults = new Set([\"brightness\", \"contrast\", \"saturate\", \"opacity\"]);\nfunction applyDefaultFilter(v) {\n    const [name, value] = v.slice(0, -1).split(\"(\");\n    if (name === \"drop-shadow\")\n        return v;\n    const [number] = value.match(floatRegex) || [];\n    if (!number)\n        return v;\n    const unit = value.replace(number, \"\");\n    let defaultValue = maxDefaults.has(name) ? 1 : 0;\n    if (number !== value)\n        defaultValue *= 100;\n    return name + \"(\" + defaultValue + unit + \")\";\n}\nconst functionRegex = /\\b([a-z-]*)\\(.*?\\)/gu;\nconst filter = {\n    ...complex,\n    getAnimatableNone: (v) => {\n        const functions = v.match(functionRegex);\n        return functions ? functions.map(applyDefaultFilter).join(\" \") : v;\n    },\n};\n\nexport { filter };\n//# sourceMappingURL=filter.mjs.map\n","import { color } from '../color/index.mjs';\nimport { colorRegex } from '../utils/color-regex.mjs';\nimport { floatRegex } from '../utils/float-regex.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\n\nfunction test(v) {\n    return (isNaN(v) &&\n        typeof v === \"string\" &&\n        (v.match(floatRegex)?.length || 0) +\n            (v.match(colorRegex)?.length || 0) >\n            0);\n}\nconst NUMBER_TOKEN = \"number\";\nconst COLOR_TOKEN = \"color\";\nconst VAR_TOKEN = \"var\";\nconst VAR_FUNCTION_TOKEN = \"var(\";\nconst SPLIT_TOKEN = \"${}\";\n// this regex consists of the `singleCssVariableRegex|rgbHSLValueRegex|digitRegex`\nconst complexRegex = /var\\s*\\(\\s*--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)|#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\)|-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/giu;\nfunction analyseComplexValue(value) {\n    const originalValue = value.toString();\n    const values = [];\n    const indexes = {\n        color: [],\n        number: [],\n        var: [],\n    };\n    const types = [];\n    let i = 0;\n    const tokenised = originalValue.replace(complexRegex, (parsedValue) => {\n        if (color.test(parsedValue)) {\n            indexes.color.push(i);\n            types.push(COLOR_TOKEN);\n            values.push(color.parse(parsedValue));\n        }\n        else if (parsedValue.startsWith(VAR_FUNCTION_TOKEN)) {\n            indexes.var.push(i);\n            types.push(VAR_TOKEN);\n            values.push(parsedValue);\n        }\n        else {\n            indexes.number.push(i);\n            types.push(NUMBER_TOKEN);\n            values.push(parseFloat(parsedValue));\n        }\n        ++i;\n        return SPLIT_TOKEN;\n    });\n    const split = tokenised.split(SPLIT_TOKEN);\n    return { values, split, indexes, types };\n}\nfunction parseComplexValue(v) {\n    return analyseComplexValue(v).values;\n}\nfunction buildTransformer({ split, types }) {\n    const numSections = split.length;\n    return (v) => {\n        let output = \"\";\n        for (let i = 0; i < numSections; i++) {\n            output += split[i];\n            if (v[i] !== undefined) {\n                const type = types[i];\n                if (type === NUMBER_TOKEN) {\n                    output += sanitize(v[i]);\n                }\n                else if (type === COLOR_TOKEN) {\n                    output += color.transform(v[i]);\n                }\n                else {\n                    output += v[i];\n                }\n            }\n        }\n        return output;\n    };\n}\nfunction createTransformer(source) {\n    return buildTransformer(analyseComplexValue(source));\n}\nconst convertNumbersToZero = (v) => typeof v === \"number\" ? 0 : color.test(v) ? color.getAnimatableNone(v) : v;\n/**\n * Convert a parsed value to its zero equivalent, but preserve numbers\n * that act as divisors in CSS calc() expressions.\n *\n * analyseComplexValue extracts numbers from CSS strings and puts the\n * surrounding text into a `split` template array. For example:\n *   \"calc(var(--gap) / 5)\"  →  values: [var(--gap), 5]\n *                               split:  [\"calc(\", \" / \", \")\"]\n *\n * When building a zero-equivalent for animation, naively zeroing all\n * numbers turns the divisor into 0 → \"calc(var(--gap) / 0)\" → NaN.\n * We detect this by checking whether the text preceding a number\n * (split[i]) ends with \"/\" — the CSS calc division operator.\n */\nconst convertToZero = (value, splitBefore) => {\n    if (typeof value === \"number\") {\n        return splitBefore?.trim().endsWith(\"/\") ? value : 0;\n    }\n    return convertNumbersToZero(value);\n};\nfunction getAnimatableNone(v) {\n    const info = analyseComplexValue(v);\n    const transformer = buildTransformer(info);\n    return transformer(info.values.map((value, i) => convertToZero(value, info.split[i])));\n}\nconst complex = {\n    test,\n    parse: parseComplexValue,\n    createTransformer,\n    getAnimatableNone,\n};\n\nexport { analyseComplexValue, complex };\n//# sourceMappingURL=index.mjs.map\n","import { complex } from './index.mjs';\n\nconst mask = {\n    ...complex,\n    getAnimatableNone: (v) => {\n        const parsed = complex.parse(v);\n        const transformer = complex.createTransformer(v);\n        return transformer(parsed.map((v) => typeof v === \"number\" ? 0 : typeof v === \"object\" ? { ...v, alpha: 1 } : v));\n    },\n};\n\nexport { mask };\n//# sourceMappingURL=mask.mjs.map\n","import { auto } from './auto.mjs';\nimport { number } from './numbers/index.mjs';\nimport { px, percent, degrees, vw, vh } from './numbers/units.mjs';\nimport { testValueType } from './test.mjs';\n\n/**\n * A list of value types commonly used for dimensions\n */\nconst dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];\n/**\n * Tests a dimensional value against the list of dimension ValueTypes\n */\nconst findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));\n\nexport { dimensionValueTypes, findDimensionValueType };\n//# sourceMappingURL=dimensions.mjs.map\n","import { number } from './numbers/index.mjs';\n\nconst int = {\n    ...number,\n    transform: Math.round,\n};\n\nexport { int };\n//# sourceMappingURL=int.mjs.map\n","import { color } from '../color/index.mjs';\nimport { filter } from '../complex/filter.mjs';\nimport { mask } from '../complex/mask.mjs';\nimport { numberValueTypes } from './number.mjs';\n\n/**\n * A map of default value types for common values\n */\nconst defaultValueTypes = {\n    ...numberValueTypes,\n    // Color props\n    color,\n    backgroundColor: color,\n    outlineColor: color,\n    fill: color,\n    stroke: color,\n    // Border props\n    borderColor: color,\n    borderTopColor: color,\n    borderRightColor: color,\n    borderBottomColor: color,\n    borderLeftColor: color,\n    filter,\n    WebkitFilter: filter,\n    mask,\n    WebkitMask: mask,\n};\n/**\n * Gets the default ValueType for the provided value key\n */\nconst getDefaultValueType = (key) => defaultValueTypes[key];\n\nexport { defaultValueTypes, getDefaultValueType };\n//# sourceMappingURL=defaults.mjs.map\n","import { int } from '../int.mjs';\nimport { alpha } from '../numbers/index.mjs';\nimport { px } from '../numbers/units.mjs';\nimport { transformValueTypes } from './transform.mjs';\n\nconst numberValueTypes = {\n    // Border props\n    borderWidth: px,\n    borderTopWidth: px,\n    borderRightWidth: px,\n    borderBottomWidth: px,\n    borderLeftWidth: px,\n    borderRadius: px,\n    borderTopLeftRadius: px,\n    borderTopRightRadius: px,\n    borderBottomRightRadius: px,\n    borderBottomLeftRadius: px,\n    // Positioning props\n    width: px,\n    maxWidth: px,\n    height: px,\n    maxHeight: px,\n    top: px,\n    right: px,\n    bottom: px,\n    left: px,\n    inset: px,\n    insetBlock: px,\n    insetBlockStart: px,\n    insetBlockEnd: px,\n    insetInline: px,\n    insetInlineStart: px,\n    insetInlineEnd: px,\n    // Spacing props\n    padding: px,\n    paddingTop: px,\n    paddingRight: px,\n    paddingBottom: px,\n    paddingLeft: px,\n    paddingBlock: px,\n    paddingBlockStart: px,\n    paddingBlockEnd: px,\n    paddingInline: px,\n    paddingInlineStart: px,\n    paddingInlineEnd: px,\n    margin: px,\n    marginTop: px,\n    marginRight: px,\n    marginBottom: px,\n    marginLeft: px,\n    marginBlock: px,\n    marginBlockStart: px,\n    marginBlockEnd: px,\n    marginInline: px,\n    marginInlineStart: px,\n    marginInlineEnd: px,\n    // Typography\n    fontSize: px,\n    // Misc\n    backgroundPositionX: px,\n    backgroundPositionY: px,\n    ...transformValueTypes,\n    zIndex: int,\n    // SVG\n    fillOpacity: alpha,\n    strokeOpacity: alpha,\n    numOctaves: int,\n};\n\nexport { numberValueTypes };\n//# sourceMappingURL=number.mjs.map\n","import { alpha, scale } from '../numbers/index.mjs';\nimport { px, progressPercentage, degrees } from '../numbers/units.mjs';\n\nconst transformValueTypes = {\n    rotate: degrees,\n    rotateX: degrees,\n    rotateY: degrees,\n    rotateZ: degrees,\n    scale,\n    scaleX: scale,\n    scaleY: scale,\n    scaleZ: scale,\n    skew: degrees,\n    skewX: degrees,\n    skewY: degrees,\n    distance: px,\n    translateX: px,\n    translateY: px,\n    translateZ: px,\n    x: px,\n    y: px,\n    z: px,\n    perspective: px,\n    transformPerspective: px,\n    opacity: alpha,\n    originX: progressPercentage,\n    originY: progressPercentage,\n    originZ: px,\n};\n\nexport { transformValueTypes };\n//# sourceMappingURL=transform.mjs.map\n","import { clamp } from 'motion-utils';\n\nconst number = {\n    test: (v) => typeof v === \"number\",\n    parse: parseFloat,\n    transform: (v) => v,\n};\nconst alpha = {\n    ...number,\n    transform: (v) => clamp(0, 1, v),\n};\nconst scale = {\n    ...number,\n    default: 1,\n};\n\nexport { alpha, number, scale };\n//# sourceMappingURL=index.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nconst createUnitType = (unit) => ({\n    test: (v) => typeof v === \"string\" && v.endsWith(unit) && v.split(\" \").length === 1,\n    parse: parseFloat,\n    transform: (v) => `${v}${unit}`,\n});\nconst degrees = /*@__PURE__*/ createUnitType(\"deg\");\nconst percent = /*@__PURE__*/ createUnitType(\"%\");\nconst px = /*@__PURE__*/ createUnitType(\"px\");\nconst vh = /*@__PURE__*/ createUnitType(\"vh\");\nconst vw = /*@__PURE__*/ createUnitType(\"vw\");\nconst progressPercentage = /*@__PURE__*/ (() => ({\n    ...percent,\n    parse: (v) => percent.parse(v) / 100,\n    transform: (v) => percent.transform(v * 100),\n}))();\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n//# sourceMappingURL=units.mjs.map\n","/**\n * Tests a provided value against a ValueType\n */\nconst testValueType = (v) => (type) => type.test(v);\n\nexport { testValueType };\n//# sourceMappingURL=test.mjs.map\n","import { complex } from '../complex/index.mjs';\nimport { filter } from '../complex/filter.mjs';\nimport { mask } from '../complex/mask.mjs';\nimport { getDefaultValueType } from '../maps/defaults.mjs';\n\nconst customTypes = /*@__PURE__*/ new Set([filter, mask]);\nfunction getAnimatableNone(key, value) {\n    let defaultValueType = getDefaultValueType(key);\n    if (!customTypes.has(defaultValueType))\n        defaultValueType = complex;\n    // If value is not recognised as animatable, ie \"none\", create an animatable version origin based on the target\n    return defaultValueType.getAnimatableNone\n        ? defaultValueType.getAnimatableNone(value)\n        : undefined;\n}\n\nexport { getAnimatableNone };\n//# sourceMappingURL=animatable-none.mjs.map\n","const colorRegex = /(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))/giu;\n\nexport { colorRegex };\n//# sourceMappingURL=color-regex.mjs.map\n","import { color } from '../color/index.mjs';\nimport { complex } from '../complex/index.mjs';\nimport { dimensionValueTypes } from '../dimensions.mjs';\nimport { testValueType } from '../test.mjs';\n\n/**\n * A list of all ValueTypes\n */\nconst valueTypes = [...dimensionValueTypes, color, complex];\n/**\n * Tests a value against the list of ValueTypes\n */\nconst findValueType = (v) => valueTypes.find(testValueType(v));\n\nexport { findValueType };\n//# sourceMappingURL=find.mjs.map\n","const floatRegex = /-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/gu;\n\nexport { floatRegex };\n//# sourceMappingURL=float-regex.mjs.map\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nconst getValueAsType = (value, type) => {\n    return type && typeof value === \"number\"\n        ? type.transform(value)\n        : value;\n};\n\nexport { getValueAsType };\n//# sourceMappingURL=get-as-type.mjs.map\n","function isNullish(v) {\n    return v == null;\n}\n\nexport { isNullish };\n//# sourceMappingURL=is-nullish.mjs.map\n","// If this number is a decimal, make it just five decimal places\n// to avoid exponents\nconst sanitize = (v) => Math.round(v * 100000) / 100000;\n\nexport { sanitize };\n//# sourceMappingURL=sanitize.mjs.map\n","const singleColorRegex = /^(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))$/iu;\n\nexport { singleColorRegex };\n//# sourceMappingURL=single-color-regex.mjs.map\n","const isMotionValue = (value) => Boolean(value && value.getVelocity);\n\nexport { isMotionValue };\n//# sourceMappingURL=is-motion-value.mjs.map\n","import { isMotionValue } from './is-motion-value.mjs';\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n */\nfunction resolveMotionValue(value) {\n    return isMotionValue(value) ? value.get() : value;\n}\n\nexport { resolveMotionValue };\n//# sourceMappingURL=resolve-motion-value.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { isWillChangeMotionValue } from './is.mjs';\n\nfunction addValueToWillChange(visualElement, key) {\n    const willChange = visualElement.getValue(\"willChange\");\n    /**\n     * It could be that a user has set willChange to a regular MotionValue,\n     * in which case we can't add the value to it.\n     */\n    if (isWillChangeMotionValue(willChange)) {\n        return willChange.add(key);\n    }\n    else if (!willChange && MotionGlobalConfig.WillChange) {\n        const newWillChange = new MotionGlobalConfig.WillChange(\"auto\");\n        visualElement.addValue(\"willChange\", newWillChange);\n        newWillChange.add(key);\n    }\n}\n\nexport { addValueToWillChange };\n//# sourceMappingURL=add-will-change.mjs.map\n","import { isMotionValue } from '../utils/is-motion-value.mjs';\n\nfunction isWillChangeMotionValue(value) {\n    return Boolean(isMotionValue(value) && value.add);\n}\n\nexport { isWillChangeMotionValue };\n//# sourceMappingURL=is.mjs.map\n","function addUniqueItem(arr, item) {\n    if (arr.indexOf(item) === -1)\n        arr.push(item);\n}\nfunction removeItem(arr, item) {\n    const index = arr.indexOf(item);\n    if (index > -1)\n        arr.splice(index, 1);\n}\n// Adapted from array-move\nfunction moveItem([...arr], fromIndex, toIndex) {\n    const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex;\n    if (startIndex >= 0 && startIndex < arr.length) {\n        const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex;\n        const [item] = arr.splice(fromIndex, 1);\n        arr.splice(endIndex, 0, item);\n    }\n    return arr;\n}\n\nexport { addUniqueItem, moveItem, removeItem };\n//# sourceMappingURL=array.mjs.map\n","const clamp = (min, max, v) => {\n    if (v > max)\n        return max;\n    if (v < min)\n        return min;\n    return v;\n};\n\nexport { clamp };\n//# sourceMappingURL=clamp.mjs.map\n","import { backIn } from './back.mjs';\n\nconst anticipate = (p) => p >= 1\n    ? 1\n    : (p *= 2) < 1\n        ? 0.5 * backIn(p)\n        : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n\nexport { anticipate };\n//# sourceMappingURL=anticipate.mjs.map\n","import { cubicBezier } from './cubic-bezier.mjs';\nimport { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst backOut = /*@__PURE__*/ cubicBezier(0.33, 1.53, 0.69, 0.99);\nconst backIn = /*@__PURE__*/ reverseEasing(backOut);\nconst backInOut = /*@__PURE__*/ mirrorEasing(backIn);\n\nexport { backIn, backInOut, backOut };\n//# sourceMappingURL=back.mjs.map\n","import { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst circIn = (p) => 1 - Math.sin(Math.acos(p));\nconst circOut = reverseEasing(circIn);\nconst circInOut = mirrorEasing(circIn);\n\nexport { circIn, circInOut, circOut };\n//# sourceMappingURL=circ.mjs.map\n","import { noop } from '../noop.mjs';\n\n/*\n  Bezier function generator\n  This has been modified from Gaëtan Renaudeau's BezierEasing\n  https://github.com/gre/bezier-easing/blob/master/src/index.js\n  https://github.com/gre/bezier-easing/blob/master/LICENSE\n  \n  I've removed the newtonRaphsonIterate algo because in benchmarking it\n  wasn't noticeably faster than binarySubdivision, indeed removing it\n  usually improved times, depending on the curve.\n  I also removed the lookup table, as for the added bundle size and loop we're\n  only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n  to 12 to compensate and this still tended to be faster for no perceivable\n  loss in accuracy.\n  Usage\n    const easeOut = cubicBezier(.17,.67,.83,.67);\n    const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) *\n    t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n    let currentX;\n    let currentT;\n    let i = 0;\n    do {\n        currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n        currentX = calcBezier(currentT, mX1, mX2) - x;\n        if (currentX > 0.0) {\n            upperBound = currentT;\n        }\n        else {\n            lowerBound = currentT;\n        }\n    } while (Math.abs(currentX) > subdivisionPrecision &&\n        ++i < subdivisionMaxIterations);\n    return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n    // If this is a linear gradient, return linear easing\n    if (mX1 === mY1 && mX2 === mY2)\n        return noop;\n    const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n    // If animation is at start/end, return t without easing\n    return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\nexport { cubicBezier };\n//# sourceMappingURL=cubic-bezier.mjs.map\n","import { cubicBezier } from './cubic-bezier.mjs';\n\nconst easeIn = /*@__PURE__*/ cubicBezier(0.42, 0, 1, 1);\nconst easeOut = /*@__PURE__*/ cubicBezier(0, 0, 0.58, 1);\nconst easeInOut = /*@__PURE__*/ cubicBezier(0.42, 0, 0.58, 1);\n\nexport { easeIn, easeInOut, easeOut };\n//# sourceMappingURL=ease.mjs.map\n","// Accepts an easing function and returns a new one that outputs mirrored values for\n// the second half of the animation. Turns easeIn into easeInOut.\nconst mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n\nexport { mirrorEasing };\n//# sourceMappingURL=mirror.mjs.map\n","// Accepts an easing function and returns a new one that outputs reversed values.\n// Turns easeIn into easeOut.\nconst reverseEasing = (easing) => (p) => 1 - easing(1 - p);\n\nexport { reverseEasing };\n//# sourceMappingURL=reverse.mjs.map\n","const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === \"number\";\n\nexport { isBezierDefinition };\n//# sourceMappingURL=is-bezier-definition.mjs.map\n","const isEasingArray = (ease) => {\n    return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { isEasingArray };\n//# sourceMappingURL=is-easing-array.mjs.map\n","import { invariant } from '../../errors.mjs';\nimport { noop } from '../../noop.mjs';\nimport { anticipate } from '../anticipate.mjs';\nimport { backOut, backInOut, backIn } from '../back.mjs';\nimport { circOut, circInOut, circIn } from '../circ.mjs';\nimport { cubicBezier } from '../cubic-bezier.mjs';\nimport { easeOut, easeInOut, easeIn } from '../ease.mjs';\nimport { isBezierDefinition } from './is-bezier-definition.mjs';\n\nconst easingLookup = {\n    linear: noop,\n    easeIn,\n    easeInOut,\n    easeOut,\n    circIn,\n    circInOut,\n    circOut,\n    backIn,\n    backInOut,\n    backOut,\n    anticipate,\n};\nconst isValidEasing = (easing) => {\n    return typeof easing === \"string\";\n};\nconst easingDefinitionToFunction = (definition) => {\n    if (isBezierDefinition(definition)) {\n        // If cubic bezier definition, create bezier curve\n        invariant(definition.length === 4, `Cubic bezier arrays must contain four numerical values.`, \"cubic-bezier-length\");\n        const [x1, y1, x2, y2] = definition;\n        return cubicBezier(x1, y1, x2, y2);\n    }\n    else if (isValidEasing(definition)) {\n        // Else lookup from table\n        invariant(easingLookup[definition] !== undefined, `Invalid easing type '${definition}'`, \"invalid-easing-type\");\n        return easingLookup[definition];\n    }\n    return definition;\n};\n\nexport { easingDefinitionToFunction };\n//# sourceMappingURL=map.mjs.map\n","import { formatErrorMessage } from './format-error-message.mjs';\n\nlet warning = () => { };\nlet invariant = () => { };\nif (typeof process !== \"undefined\" &&\n    process.env?.NODE_ENV !== \"production\") {\n    warning = (check, message, errorCode) => {\n        if (!check && typeof console !== \"undefined\") {\n            console.warn(formatErrorMessage(message, errorCode));\n        }\n    };\n    invariant = (check, message, errorCode) => {\n        if (!check) {\n            throw new Error(formatErrorMessage(message, errorCode));\n        }\n    };\n}\n\nexport { invariant, warning };\n//# sourceMappingURL=errors.mjs.map\n","const MotionGlobalConfig = {};\n\nexport { MotionGlobalConfig };\n//# sourceMappingURL=global-config.mjs.map\n","/**\n * Check if value is a numerical string, ie a string that is purely a number eg \"100\" or \"-100.1\"\n */\nconst isNumericalString = (v) => /^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$/u.test(v);\n\nexport { isNumericalString };\n//# sourceMappingURL=is-numerical-string.mjs.map\n","function isObject(value) {\n    return typeof value === \"object\" && value !== null;\n}\n\nexport { isObject };\n//# sourceMappingURL=is-object.mjs.map\n","/**\n * Check if the value is a zero value string like \"0px\" or \"0%\"\n */\nconst isZeroValueString = (v) => /^0[^.\\s]+$/u.test(v);\n\nexport { isZeroValueString };\n//# sourceMappingURL=is-zero-value-string.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nfunction memo(callback) {\n    let result;\n    return () => {\n        if (result === undefined)\n            result = callback();\n        return result;\n    };\n}\n\nexport { memo };\n//# sourceMappingURL=memo.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nconst noop = (any) => any;\n\nexport { noop };\n//# sourceMappingURL=noop.mjs.map\n","/**\n * Pipe\n * Compose other transformers to run linearily\n * pipe(min(20), max(40))\n * @param  {...functions} transformers\n * @return {function}\n */\nconst combineFunctions = (a, b) => (v) => b(a(v));\nconst pipe = (...transformers) => transformers.reduce(combineFunctions);\n\nexport { pipe };\n//# sourceMappingURL=pipe.mjs.map\n","/*\n  Progress within given range\n\n  Given a lower limit and an upper limit, we return the progress\n  (expressed as a number 0-1) represented by the given value, and\n  limit that progress to within 0-1.\n\n  @param [number]: Lower limit\n  @param [number]: Upper limit\n  @param [number]: Value to find progress within given range\n  @return [number]: Progress of value within range as expressed 0-1\n*/\n/*#__NO_SIDE_EFFECTS__*/\nconst progress = (from, to, value) => {\n    const toFromDifference = to - from;\n    return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n//# sourceMappingURL=progress.mjs.map\n","import { addUniqueItem, removeItem } from './array.mjs';\n\nclass SubscriptionManager {\n    constructor() {\n        this.subscriptions = [];\n    }\n    add(handler) {\n        addUniqueItem(this.subscriptions, handler);\n        return () => removeItem(this.subscriptions, handler);\n    }\n    notify(a, b, c) {\n        const numSubscriptions = this.subscriptions.length;\n        if (!numSubscriptions)\n            return;\n        if (numSubscriptions === 1) {\n            /**\n             * If there's only a single handler we can just call it without invoking a loop.\n             */\n            this.subscriptions[0](a, b, c);\n        }\n        else {\n            for (let i = 0; i < numSubscriptions; i++) {\n                /**\n                 * Check whether the handler exists before firing as it's possible\n                 * the subscriptions were modified during this loop running.\n                 */\n                const handler = this.subscriptions[i];\n                handler && handler(a, b, c);\n            }\n        }\n    }\n    getSize() {\n        return this.subscriptions.length;\n    }\n    clear() {\n        this.subscriptions.length = 0;\n    }\n}\n\nexport { SubscriptionManager };\n//# sourceMappingURL=subscription-manager.mjs.map\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\n/*#__NO_SIDE_EFFECTS__*/\nconst secondsToMilliseconds = (seconds) => seconds * 1000;\n/*#__NO_SIDE_EFFECTS__*/\nconst millisecondsToSeconds = (milliseconds) => milliseconds / 1000;\n\nexport { millisecondsToSeconds, secondsToMilliseconds };\n//# sourceMappingURL=time-conversion.mjs.map\n","/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/\nfunction velocityPerSecond(velocity, frameDuration) {\n    return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n//# sourceMappingURL=velocity-per-second.mjs.map\n"],"names":["e","L","Object","defineProperty","fe","defineProperties","me","getOwnPropertyDescriptor","he","getOwnPropertyDescriptors","ye","getOwnPropertyNames","ee","getOwnPropertySymbols","te","prototype","hasOwnProperty","xe","propertyIsEnumerable","re","r","t","enumerable","configurable","writable","value","_","call","tr","get","we","formatFileSize","ne","twMerge","ge","module","exports","o","i","ve","n","Math","floor","log","parseFloat","pow","toFixed","ae","l","length","classGroupId","nextPart","slice","validators","join","find","validator","s","se","q","forEach","Se","push","entries","ie","split","has","set","Map","isThemeGetter","Ae","map","fromEntries","Ge","Pe","separator","experimentalParseClassName","y","u","g","m","p","f","x","substring","v","startsWith","modifiers","hasImportantModifier","baseClassName","maybePostfixModifierPosition","className","parseClassName","Re","sort","Ie","cache","cacheSize","theme","prefix","classGroups","Me","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","shift","test","exec","indexOf","ze","getConflictingClassGroupIds","Ce","Te","Be","arguments","de","le","reduce","trim","w","b","h","includes","P","S","B","Ne","apply","c","pe","Ee","je","Set","Le","_e","We","$e","Fe","C","A","z","G","Xe","Number","isNaN","O","I","isInteger","Ve","endsWith","a","M","Ue","Oe","ue","qe","Ke","Ze","He","Je","Ye","T","W","Z","J","X","V","d","Y","E","R","k","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","aspect","container","columns","box","display","float","clear","isolation","object","overflow","overscroll","position","start","end","top","right","bottom","left","visibility","basis","flex","grow","shrink","order","col","span","row","justify","content","items","self","px","py","ps","pt","pr","pb","pl","mx","my","ms","mt","mr","mb","ml","screen","size","text","font","tracking","leading","list","placeholder","decoration","indent","align","whitespace","break","hyphens","bg","repeat","from","via","to","rounded","border","divide","outline","ring","shadow","filter","table","caption","transition","duration","ease","delay","animate","transform","rotate","origin","accent","appearance","cursor","caret","resize","scroll","snap","touch","select","fill","stroke","sr","N","De","er","concat","rr","extend","override","Qe","be","oe","_path","_extends","assign","bind","SvgQuestionCircle","props","width","height","viewBox","xmlns","fillRule","clipRule","SvgSearch","counterMap","WeakMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","node","host","parentNode","hideOthers","originalTarget","markerName","targets","Array","isArray","activeParentNode","document","ownerDocument","body","getDefaultParent","querySelectorAll","controlAttribute","parent","target","contains","correctedTarget","console","error","Boolean","correctTargets","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","el","add","deep","children","attr","getAttribute","alreadyHidden","counterValue","markerValue","setAttribute","removeAttribute","delete","applyAttributeToOthers","showEvent","triggerSnackbar","message","link","dispatchEvent","CustomEvent","detail","Snackbar","snackRef","useRef","_useState2","useState","activeMessage","setActiveMessage","queue","useEffect","listener","_ref","current","addEventListener","removeEventListener","timer","setTimeout","first","clearTimeout","calculatePosition","scrollHeight","style","_e$target","scrollingElement","scrollTop","React","ref","window","scrollY","href","url","initSnackbar","$","appendTo","createRoot","render","flashMessages","message_type","StateType","HTTP","endpoints","editortools","id","handled","archived","locked","priority","tags","status","relateTicket","comments","create","update","comment","activity","slug","changeChannel","org","channels","dashboardItem","drafts","user","profile","search","externalConversations","conversations","itemId","conversationId","ai","smartSuggestions","inboxSlug","dialogSlug","mailCommentId","keywordSearch","searchTerm","ticket","cancelCsatSurvey","publicId","csatSurveyStatus","useApi","verb","endpoint","isUnmounted","dataType","type","Idle","networkState","setNetworkState","handleResponse","promise","Loading","then","payload","Done","catch","Error","match","with","GET","Promise","resolve","reject","POST","data","post","PUT","ajax","JSON","stringify","DELETE","PATCH","contentType","run","request","NullAttachmentsList","_classCallCheck","_createClass","key","msg","alert","progress","file","file_id","LargeAttachmentsList","elm","onChange","this","attachments","json_field","attachment_list","label","on","preventDefault","remove_file","frame","remove","elms","get_files","_file_to_element","append","show","hide","fileName","filename","path","replace","fileType","extension","undefined","pop","toLowerCase","definedFiletypes","pdf","word","excel","image","doc","docx","xls","xlsx","jpeg","jpg","jpe","png","gif","tif","tiff","getFiletypeFromName","button","IconX","TRANSLATIONS","nameLink","li","iconClass","icon","img","show_progress_error","before","disposition","attachmentsListElement","bounding","getBoundingClientRect","innerHeight","scrollIntoView","behavior","add_progress_bar","progressBar","css","addClass","round","removeClass","files","temporary_url","set_files","json","parse","val","trigger","refresh_attachments","Formatting","init","each","_i","form","elem","getKundoFroalaInstance","attachmentsElm","isMailContext","allowLargeUploads","dataset","attachmentsList","KundoFroalaEditor","setupTextEditorForm","handleKeyDown","_getKundoFroalaInstan7","isTextEditorReady","_getKundoFroalaInstan","isInitialized","waitForTextEditorReady","retryFunction","editor","getTextEditorHTML","_getKundoFroalaInstan2","getHTML","setTextEditorHTML","html","_getKundoFroalaInstan3","setHTML","getTextEditorCaretPosition","_getKundoFroalaInstan4","froala","getBoundingRect","focusTextEditor","_getKundoFroalaInstan5","focus","forceTextEditorAutosave","_getKundoFroalaInstan6","setDirty","event","metaKey","ctrlKey","shiftKey","stopPropagation","parents","submit","KUNDO","formatting","dependencies","FroalaEditorV4","FroalaEditor","AutoRepliesAlerts","isOpen","title","ctaButtonText","onAction","toastContainer","useMemo","element","getElementById","createElement","appendChild","innerHTML","open","setOpen","createPortal","Toast","swipeDirection","description","onOpenChange","_document$querySelect","querySelector","closeButtonText","gettext","buttonText","initAutoRepliesAlerts","_ref2","root","Symbol","iterator","toStringTag","Generator","_regeneratorDefine2","TypeError","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","_invoke","_OverloadYield","asyncGeneratorStep","_asyncToGenerator","_next","_throw","skeleton","editorSetHtml","parseDOM","DOMParser","parseFromString","trimContent","editableContent","_ref$removePreviosAut","removePreviosAutoreply","parsedEditorContent","currentContent","deleteSkeleton","cleanedHtml","showSkeleton","_ref2$removePreviousC","removePreviousContent","_ref2$removePreviosAu","_editableContent","updatedHtml","stringIsEmpty","checkIfEmptyString","replacementHtml","str","_container$textConten","_container$textConten2","br","textContent","insertResult","_x","_insertResult","_regeneratorRuntime","mark","_callee","_ref3","_ref3$removePreviousC","_editableContent2","wrap","_context","prev","next","undo","saveStep","events","stop","aiAutoReplies","DEFAULTS","PLUGINS","toolbar","$tb","editorBox","$box","aiAutoResponseBtn","parentForm","$oel","closest","editorOn","edit","classList","_generateResponse","onSuccess","onError","messagePuri","channelType","response","abrupt","fetch","toString","method","headers","Accept","sent","ok","renderAlert","errorCode","code","MailHistoryPlugin","_init","t0","buttonStatus","_ref2$isLoading","isLoading","textContainer","defaultTitle","cmdTitle","loadingTitle","froalaAiAutoReply","buttonPreloader","_x2","_renderAlert","_callee2","_TRANSLATIONS2","errorAiTechError","outgoingThreadMessageNotice","errorAiTimeout","errorNoReplies","errorMessage","_context2","opts","fnEditorAlerts","insertAdjacentElement","initPlugin","connectInboxMessage","connectInboxCTA","isConnectedToSmartReplyChannel","hasSmartReplyChannels","off","deleteSources","generateResponse","references","renderSources","initAiSources","location","RegisterCommand","BTN_AI_AUTO_REPLIES","callback","plugin","popup","ApiPromptTypes","ApiPromptLangCode","ApiPromptTonality","ownKeys","keys","_objectSpread","_defineProperty","_typeof","toPrimitive","String","_toPrimitive","_toPropertyKey","useApiPrompt","promptType","_ref$prompt","prompt","language","tonality","channelPuri","_window","CURRENT_ORGANIZATION_ID","organizationPuri","channel_puri","message_puri","FREE_TEXT","FIX_SPELLING","TRANSLATE_TO","MAKE_LONGER","MAKE_SHORTER","CHANGE_TONE","t1","ALLOWED_IMAGE_EXTENSIONS","isAllowedImageMime","exts","len","PromptLanguages","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","constructor","name","_unsupportedIterableToArray","_nonIterableRest","tonalityTitle","ACADEMIC","CASUAL","PROFESSIONAL","AiWidgetButton","forwardRef","onClick","_props$asButton","asButton","rest","_objectWithoutPropertiesLoose","_objectWithoutProperties","_excluded","role","tabIndex","EditorAiPromptWidget","_ref5","setPrompt","_useState4","setFocus","_useState6","setIsLoading","_useState8","setAlert","isEmptyPromt","ctaText","setAlertState","_ref6","errorStatus","initPrompt","_ref8","_ref7","action","langCode","trimmed","DIV_TAG_START","DIV_TAG_END","BR_TAG","TRAILING_WHITESPACE_END_OF_STRING","OPTIONAL_WHITESPACE","previousTrimmed","iterations","RegExp","trimTrailingEmptyLines","temp","_tagName","last","lastElementChild","tagName","childNodes","firstChild","removeChild","getPreviousAiPromptResult","_ref9","task_successful","anchor","initCustomPrompt","MenuDropdown","modal","PlusIcon","SpellCheckIcon","GlobeIcon","submenu","TextLongIcon","TextShortIcon","MegaphoneIcon","_ref4","item","index","Fragment","MenuDropdownSeparator","MenuDropdownSubMenu","MenuDropdownItemContainer","iconBefore","spacingBefore","hasSubMenu","subItem","subIndex","MenuDropdownItem","onSelect","WinkleIcon","autoComplete","onFocus","onBlur","onKeyDown","disabled","Tooltip","ArrowUpIcon","aiPrompts","wrapperElmnt","borderBottomLeftRadius","borderBottomRightRadius","_ref0","initEditorAiPromptWidget","renderWidget","insertSnippet","has_file","add_file","selection","restore","insert","SnippetCard","snippet","onInsert","isSingle","expanded","onToggleExpand","insertTooltip","ChevronRightIcon","excerpt","IconButton","variant","XIcon","Button","ArrowDownIcon","dangerouslySetInnerHTML","__html","SnippetSuggestionsWidget","_useSnippetSuggestion","orgId","suggestions","setSuggestions","loaded","setLoaded","encodeURIComponent","credentials","res","useSnippetSuggestions","expandedId","setExpandedId","handleInsert","kundoFroala","saveSelection","highlightId","Date","now","wrappedText","usageUrl","csrfToken","postSnippetUsage","usage_url","_editor$el","backgroundColor","replaceWith","_toConsumableArray","heading","Title","as","styledAs","isExpanded","snippetSuggestions","texteditorDiv","insertBefore","initSnippetSuggestions","registerInternalLinkCommand","BTN_INTERNAL_LINKS","btnOffset","offset","tbOffset","outerHeight","internalLinkWidget","toggleInternalLinkWidget","chooseFile","acceptExtensions","multiple","input","prop","VIDEO_PROVIDERS","provider","test_regex","url_regex","url_text","loadFroala","assertFroalaLoaded","FroalaEditorStatic","LANGUAGE","translation","ICON_DEFAULT_TEMPLATE","DefineIconTemplate","BTN_IMAGES","_this","insertImage","insert_image","BTN_FILES","_this2","attachFile","attach_files","BTN_SNIPPETS","toggleSnippetWidget","reply_snippet","RegisterShortcut","charCodeAt","BTN_CLEAR","thisText","clear_formatting","BTN_CONTACTS","kundo_contact_modal_linktext","kundo_contact_modal_title","BTN_SELF_SERVICE","toggleSelfServiceWidget","registerCustomCommands","defineCustomIcons","offender","save","froalaFixPasteBug","toggleHistoryVisibility","isInit","contentId","uuidv4","historyContent","toggleBtn","wrapPlainText","froalaMailHistory","TextWrapperPlugin","isWrapped","initWrapPlainText","froalaTextWrapper","BTN_EMOJIS","popups","isVisible","$el","disableBlur","emojis","hidePopup","showPopup","POPUP_TEMPLATES","EmojiPicker","custom_layer","emoji","setContainer","$btn","outerWidth","toolbarBottom","froalaEmoji","deleteEmptyContainers","editorEl","div","clone","cloneNode","child","allowed","onlyAllowed","every","containsAllowed","some","emptyDiv","deleteContainers","initFroalaEditor","options","UPLOADS_MAX_SIZE","UPLOADS_MAX_SIZE_MAIL","scrollContentToBottom","baseUploaderFactory","allowedExtensions","onComplete","useScrollToBottom","qq","inputName","customHeaders","retry","enableAuto","autoAttemptDelay","maxAutoAttempts","validation","sizeLimit","messages","typeError","file_upload_invalid_extension","emptyError","file_upload_empty","noFilesError","file_upload_no_files","sizeError","file_upload_size_error","callbacks","onSubmit","show_progress","onProgress","uploadedBytes","totalBytes","percent","onAutoRetry","file_upload_retrying","show_error_msg","errorReason","xhr","_formatSize","hide_progress","InternalLinkWidget","selected","searchBox","resultList","doSearch","selectItem","onselect","onclose","close","onLinkClick","parentElement","_step","_iterator","_createForOfIteratorHelper","err","innerText","query","success","handleSearchResponse","result","hit","$item","$link","class","empty","is","_defineProperties","SnippetWidget","renderInitial","positionAbove","snippets","snippet_box","firstSnippet","prev_search_term","selectEnter","keyboardNavigation","filterSnippet","fetchSnippets","_fetchSnippets","inputId","labelText","snippet_label_msg","snippet_heading","IconSearch","_this$box$","_this$box$$closest","_KUNDO$tooltip","toggleClass","updated_at","hoverSnippet","selectClick","tooltip","new_selected","currentTarget","moveSelected","which","nextAll","prevAll","search_term","string","string_index","search_index","fuzzyMatches","moveSelectedScrollTop","scrollToElement","amountOfElementsAboveFromElement","amountOfElementsAboveToElement","shouldScrollDownwards","shouldScrollUpwards","currentScrollPosition","_this$getScrollToDire","getScrollToDirection","scrollAmount","SvgArrowRightUp","SvgTwinkle","SuggestionCard","channelColorClass","channelIconStyling","channelName","distance","onRequestInsertLink","onRequestSmartReply","publicUrl","smartReplyPath","rel","ArrowRightUp","IconTwinkle","SuggestionCardList","suggestion","DebouncedTextInput","debounceWaitTime","onNewValue","resetButtonLabel","setValue","debouncedResults","debounce","cancel","SearchStatus","ErrorCode","KeywordSearch","searchHits","setSearchHits","setSearchTerm","setStatus","setError","_useApi2","GETTextSearchStatus","GETTextSearch","Loaded","ServerError","SmartSuggestionsStatus","SmartSuggestions","hasInboxEditPermissions","suggestionsLoadedCallback","GETSmartSuggestionsStatus","GETSmartSuggestions","smartSuggestionsHelpURL","CURRENT_LANGUAGE","IconQuestionCircle","LastMessageIsOutgoing","lang","getAiContactFormUrl","SelfServiceWidget","actionTakenCallback","insertLinkFunction","insertHTMLFunction","setEditableFunction","keywordSearchHits","setKeywordSearchHits","setSmartSuggestions","requestSmartReply","displaySkeletonLoadingBoxes","removeExistingReply","debug","ContentLengthExceeded","wrappedReply","smartReply","fail","always","hideSkeletonLoadingBoxes","insertLink","keywordSearchPerformed","froalaEditor","insertAdjacentHTML","insertHTMLInFroalaEditor","initSelfServiceWidget","suggestionsCount","badgeText","ngettext","badge","aiToolbarButton","state","froalaEditOnFunction","froalaEditOffFunction","boxLeftOffset","offsetLeft","FROALA_4_KEY","hasClass","autosaveStatus","isMobile","calculateBreakpoints","mobile","config","uploadsUrl","saveUrl","internalLinkElm","isAIEnabled","isAIAssistantEnabled","isAIDraftsEnabled","isSnippetSuggestionsEnabled","getToolbar","toolbarType","includeInternalLinks","includeAI","includeAIDrafts","editorClass","buttons","htmlAllowedAttrs","allowedAttributes","htmlAllowedTags","allowedTags","pasteDeniedAttrs","pasteDeniedTags","hasColor","allowMentions","dragInline","attribution","initialized","onInitialized","heightMax","imageAllowedTypes","imageDefaultWidth","imageEditButtons","imageInsertButtons","imagePaste","imageResize","imageUploadURL","linkAutoPrefix","linkEditButtons","linkInsertButtons","listAdvancedTypes","paragraphFormat","H2","h2","H3","h3","paragraphFormatSelection","paragraphStyles","directionRtl","lead","pasteAllowedStyleProps","placeholderText","requestHeaders","getCSRFToken","requestWithCORS","saveInterval","saveURL","shortcutsEnabled","spellcheck","tableEditButtons","tableResizer","tableDefaultAlign","tableDefaultWidth","toolbarButtons","toolbarButtonsMD","toolbarButtonsSM","toolbarButtonsXS","toolbarSticky","toolbarStickyOffset","scrollableContainer","videoAllowedTypes","videoEditButtons","videoInsertButtons","videoMove","videoResize","videoUploadURL","colorsButtons","enter","ENTER_BR","ENTER_DIV","ENTER_P","enterType","htmlUntouched","imageSplitHTML","bodyElement","__pendingEventHandlers","setUpToolbar","setUpAutoSave","setUpSnippets","setUpImageUploads","setUpVideo","setUpPaste","setUpInternalLinks","setUpSelfService","setUpLinkInsertion","setUpTableInsertion","setUpFocus","setUpScrollOnEnter","setUpMentions","setUpEvents","removeToolbarButtonsTabindex","editorPlaceholder","setUpdateContent","imgDefaultAlign","_n","F","_step$value","$img","_this$froala","secondToolbar","cmd","utils","isUrl","waitForTime","_this3","scrollContainer","lastEditorScroll","lastContainerScroll","saved","guard","requestAnimationFrame","cls","inserted","navigator","userAgent","_this4","removeAttr","_this5","$placeholder","$editor","_onselect","_this6","snippetsUrl","snippetWidget","textArea","updatedValue","setTextAreaValue","_onselect2","_this7","_callee3","_context3","_x3","_x4","_x5","_this8","selfServiceWidget","_this9","htmlString","allowedEditorTags","getVideoInput","removeErrorMsg","$input","errorFeedbackId","$errorMsg","$video","currentValue","editorInstance","_this0","IGNORED_FIELD_NAMES","fieldIgnored","field","setAutosaveStatus","editor_before_save_msg","formFields","serializeArray","saveParams","meta","editor_save_error_msg","editor_after_save_msg","autoHide","_this1","_data$types","_data$files","_data$items","originalEvent","dataTransfer","clipboardData","types","getAsFile","getFilesFromEvent","capture","setSize","setBefore","images","imageBlob","remove_file_by_url","EDITORSEARCHURL","tribute","Tribute","allowSpaces","fillAttr","lookup","_text","email","menuContainer","menuItemTemplate","original","avatar_background_color","avatar_url","src","noMatchTemplate","positionMenu","selectTemplate","values","isActive","attach","setupMentions","resp","_this10","uploader","responseJSON","puri","temporaryUrl","uploadsServiceUploaderFactory","addFiles","uploadImageAsUpload","uploaderFactory","reset","force","toggle","$elm","obj","AiSourcesItem","channelColor","hasLink","containerDivAttributes","ChannelIcon","ArrowRightUpIcon","AiRepliesSources","setIsOpen","titleId","useId","referencesCount","Popover","asChild","sideOffset","popupTitle","channel_name","public_url","channel_public_type","channel_color_number","newElement","nextSibling","toolbarOrRoot","ToolbarType","BTN_BOLD","BTN_COLOR","BTN_COLOR_BACKGROUND","BTN_COLOR_TEXT","BTN_FORMAT_OL","BTN_FORMAT_UL","BTN_ITALIC","BTN_LINK","BTN_PARAGRAPH_FORMAT","BTN_PARAGRAPH_STYLE","BTN_QUOTE","BTN_SEPARATOR","BTN_TABLE","BTN_VIDEO","BTN_UNDO","BTN_REDO","_BUTTONS_ORDER","sortedToolbarButtons","btns","btn","_FROALA_BUTTONS_BASIC","_FROALA_BUTTONS_WITH_COLOR","FROALA_TOOLBAR","_FROALA_TOOLBAR","CHAT","EXTERNAL_CONVERSATIONS","FORUM","FORUM_EDITOR","FORUM_TEXTS","KNOWLEDGE","KNOWLEDGE_SETTINGS","MAIL","MAIL_BASIC","MAIL_REPLY_SNIPPET","NONE","POLICY","SIMPLE","SIMPLE_CONTACT_MODAL","SMALL_TOOLBAR","TOOLBAR_BOTTOM","TOOLBAR_INSERTED","toolbarChoice","lessButtons","toolbarInserted","addIcon","DefineIcon","NAME","FA5NAME","PATH","template","ICON","TEXT","global","fn","attachEvent","detach","detachEvent","descendant","compareDocumentPosition","elementB","styles","filters","considerParent","getByClass","candidates","getElementsByTagName","idx","getFirstByClass","nodeType","setText","clearText","hasAttribute","attrName","attrVal","ExifRestorer","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","intArray","mimeString","BlobBuilder","blobBuilder","atob","decodeURI","ArrayBuffer","Uint8Array","character","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","getBlob","Blob","level","isObject","variable","isFunction","buffer","isItemList","maybeItemList","isNodeList","maybeNodeList","namedItem","isString","maybeString","trimStr","format","args","newStr","nextIdxToReplace","strBefore","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","HTMLInputElement","isBlob","maybeBlob","isXhrUploadSupported","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","isFolderDropSupported","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","onload","onerror","failure","readAsArrayBuffer","second","extendNested","sourceFn","super_","source","srcPropName","srcPropVal","arr","elt","getUniqueId","random","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","returnValue","toElement","iterableItem","keyOrIndex","Storage","getItem","charAt","oldFunc","context","newArgs","obj2url","prefixDone","uristrings","nextObj","nextTemp","obj2FormData","formData","arrayKeyName","obj2Inputs","parseJson","eval","getExtension","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","DisposeSupport","disposers","dispose","disposer","addDisposer","disposeFunction","version","supportedFeatures","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","isCrossOriginXhrSupported","withCredentials","isXdrSupported","XDomainRequest","tempInput","supported","ex","testSupportsFileInputElement","localStorage","setItem","isLocalStorageSupported","postMessage","webkitdirectory","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","onFailure","BlobProxy","referenceBlob","onCreate","UploadButton","buttonId","disposeSupport","acceptFiles","focusClass","folders","hoverClass","ios8BrowserCrashWorkaround","createInput","BUTTON_ID_ATTR_NAME","setMultiple","fontFamily","fontSize","direction","getInput","getButtonId","isMultiple","optInput","setAcceptFiles","UploadData","uploaderProxy","byUuid","byStatus","byProxyGroupId","byBatchId","addFile","spec","SUBMITTING","originalName","uuid","batchId","proxyGroupId","onBeforeStatusChange","onStatusChange","retrieve","optionalFilter","idOrIds","getDataByIds","uuids","getDataByUuids","statusResults","statuses","statusEnum","statusResultIndexes","dataIndex","newStatus","oldStatus","byStatusOldStatusIndex","splice","uuidChanged","newUuid","oldUuid","updateName","newName","updateSize","newSize","setParentId","targetId","parentId","getIdsInProxyGroup","getIdsInBatch","SUBMITTED","REJECTED","QUEUED","CANCELED","PAUSED","UPLOADING","UPLOAD_RETRYING","UPLOAD_SUCCESSFUL","UPLOAD_FAILED","DELETE_FAILED","DELETING","DELETED","basePublicApi","addBlobs","blobDataOrArray","params","addInitialFiles","cannedFileList","cannedFile","_addCannedFile","_maybeHandleIos8SafariWorkaround","_storedIds","_currentBatchId","processBlob","_handleNewFile","_options","blobs","defaultName","verifiedFiles","processBlobData","blobData","processCanvas","processCanvasData","canvasData","normalizedQuality","processFileOrInput","fileOrInput","fileContainer","_prepareItemsForUpload","_handler","cancelAll","storedIdsCopy","storedFileId","clearStoredFiles","continueUpload","uploadData","_uploadData","enabled","getName","_uploadFile","deleteFile","_onSubmitDelete","doesExist","fileOrBlobId","isValid","drawThumbnail","fileId","imgOrCanvas","maxSize","fromServer","customResizeFunction","fileOrUrl","promiseToReturn","_imageGenerator","_thumbnailUrls","getFile","generate","modifiedContainer","reason","getButton","_getButton","_buttonIdsForFileIds","getEndpoint","_endpointStore","getInProgress","getParentId","uploadDataEntry","getUploads","getResumableFilesData","getSize","getNetUploads","_netUploaded","getRemainingAllowedItems","allowedItems","_currentItemLimit","_netUploadedOrQueued","getUuid","pauseUpload","removeFileRef","expunge","_autoRetries","_retryTimeouts","_preventRetries","_buttons","_paramsStore","_pasteHandler","session","refreshOnReset","_refreshSessionData","_succeededSinceLastAllComplete","_failedSinceLastAllComplete","_totalProgress","_manualRetry","scaleImage","specs","Scaler","setCustomHeaders","_customHeadersStore","setDeleteFileCustomHeaders","_deleteFileCustomHeadersStore","setDeleteFileEndpoint","_deleteFileEndpointStore","setDeleteFileParams","_deleteFileParamsStore","setEndpoint","setForm","elementOrId","_updateFormSupportAndParams","setItemLimit","newItemLimit","setName","setParams","setUuid","_onDeleteComplete","uploadStoredFiles","_itemError","_uploadStoredFiles","basePrivateApi","sessionData","deleteFileEndpoint","deleteFileParams","thumbnailUrl","_annotateWithButtonId","associatedInput","qqButtonId","_getButtonId","_batchError","_createDeleteHandler","DeleteFileAjaxRequester","toUpperCase","maxConnections","uuidParamName","uuidName","paramsStore","endpointStore","cors","onDelete","_onDelete","onDeleteComplete","xhrOrXdr","isError","_createPasteHandler","PasteSupport","targetElement","paste","pasteReceived","_handleCheckedCallback","onPasteReceived","_handlePasteSuccess","identifier","_createStore","initialValue","_readOnlyValues_","store","catchall","perIdReadOnlyValues","readOnlyValues","copy","orig","existing","includeReadOnlyValues","addReadOnly","_createUploadDataTracker","_onUploadStatusChange","_maybeAllComplete","_createUploadButton","accept","classes","buttonFocus","buttonHover","workarounds","ios8BrowserCrash","iosEmptyVideos","_isAllowedExtension","_onInputChange","fileInputTitle","_disposeSupport","_createUploadHandler","additionalOptions","namespace","lastOnProgress","preventRetryParam","preventRetryResponseProperty","total","_onProgress","retVal","_onComplete","onCancel","cancelFinalizationEffort","_onCancel","onUploadPrep","_onUploadPrep","onUpload","_onUpload","onUploadChunk","chunkData","_onUploadChunk","onUploadChunkSuccess","onResume","_onAutoRetry","onUuidChanged","_setSize","getDataByUuid","isQueued","UploadHandlerController","_fileOrBlobRejected","sizeSymbols","max","_generateExtraButtonSpecs","_extraButtonSpecs","extraButtons","extraButtonOptionEntry","extraButtonSpec","_initExtraButton","extraButtonsSpec","_defaultButtonId","buttonOrFileInputOrFile","inputs","fileInput","fileBlobOrInput","_getNotFinished","_getValidationBase","_getValidationDescriptor","fileWrapper","_getValidationDescriptors","fileWrappers","fileDescriptors","_handleCameraAccess","camera","acceptIosCamera","optionRoot","details","callbackRetVal","successParam","newFileWrapperList","actualFile","handler","_customNewFileHandler","_handleNewFileGeneric","addFileToHandler","_trackButton","fileList","extSuppliedName","_handleDeleteSuccess","_handleDeleteFailed","_initFormSupportAndParams","_formSupport","FormSupport","attachedToForm","getFormInputsAsObject","autoUpload","newAutoUpload","newEndpoint","_isDeletePossible","expected","allowXdr","valid","allowedExt","extRegex","maybeNameOrNames","extensionsForMessage","placeholderMatch","names","validationBase","replacement","allowedExtension","formatFileName","minSizeLimit","_onBeforeManualRetry","notFinished","_onAllComplete","ios8SafariUploads","unsupportedBrowserIos8Safari","_maybeParseAndSendUploadError","defaultResponseError","_maybeProcessNextItemAfterOnValidateCallback","validItem","stopOnFirstInvalidFile","validationDescriptor","onValidate","_onValidateCallbackSuccess","_onValidateCallbackFailure","successful","failed","onAllComplete","_shouldAutoRetry","retryWaitPeriod","_onBeforeAutoRetry","itemLimit","onManualRetry","storedItemIndex","fileIndex","onIndividualProgress","_onSubmit","_onSubmitCallbackSuccess","_onSubmitted","onSubmitted","_storeForLater","onSuccessCallback","additionalMandatedParams","adjustedOnSuccessCallback","onSubmitDelete","_deleteHandler","sendDelete","_onTotalProgress","onTotalProgress","_onValidateBatchCallbackFailure","_onValidateBatchCallbackSuccess","validationDescriptors","proposedNetFilesUploadedOrQueued","tooManyItemsError","nextIndex","_validateFileOrBlobData","_upload","onValidateBatch","_preventLeaveInProgress","onLeave","Session","_session","addFileRecord","refresh","_sessionRequestComplete","onSessionRequestComplete","onNewSize","formElementOrId","idToUpload","stillSubmitting","validityChecker","allowEmpty","ImageValidation","validate","_wrapCallbacks","safeCallback","errorMsg","exception","callbackName","callbackFunc","FineUploaderBasic","disableCancelForFormUploads","filenameParam","forceMultipart","paramsInBody","totalFileSizeName","maxHeight","maxWidth","minHeight","minWidth","maybeXhr","maybeXhrOrXdr","attemptNumber","fileOrBlobData","minSizeError","maxHeightImageError","maxWidthImageError","minHeightImageError","minWidthImageError","retryFailTooManyItems","concurrent","mandatory","paramNames","partIndex","partByteOffset","chunkSize","totalFileSize","totalParts","partSize","recordsExpireIn","resuming","fileOrBlobName","sendCredentials","interceptSubmit","customResizer","sendOriginal","orient","defaultType","defaultQuality","failureText","includeExif","sizes","ImageGenerator","_scaler","handleNewFile","TotalProgress","entry","AjaxRequester","shouldParamsBeInQueryString","requestData","acceptHeader","validMethods","mandatedParams","allowXRequestedWithAndCacheControl","successfulResponseCodes","onSend","isXdr","getXhrOrXdr","suppliedXhr","ontimeout","onprogress","getCorsAjaxTransport","dequeue","sendRequest","xdrError","responseCode","optXhr","onDemandParams","additionalParams","getParams","additionalQueryParams","addToPath","createUrl","getXdrLoadHandler","getXdrErrorHandler","onreadystatechange","readyState","getXhrReadyStateChangeHandler","lengthComputable","registerForUploadProgress","containsNonSimple","onDemandHeaders","additionalHeaders","allHeaders","setRequestHeader","header","setHeaders","send","initTransport","cacheBuster","withPath","appendToPath","withParams","withQueryParams","_additionalQueryParams_","withHeaders","withPayload","thePayload","withCacheBuster","qqtimestamp","getTime","prepareToSend","canceled","UploadHandler","proxy","fileState","fileItem","getThirdPartyFileId","_getFileState","_setThirdPartyFileId","thirdPartyFileId","_wasCanceled","preventRetryResponse","controller","chunkingPossible","concurrentChunkingPossible","chunked","chunkIdx","_getChunkData","attemptingResume","chunkProgress","_getChunkDataForCallback","finalize","finalizeChunks","normaizedResponse","normalizeResponse","_maybeDeletePersistedChunkData","cleanup","handleFailure","clearCachedChunk","inProgressIdx","responseToReport","inProgress","remaining","unshift","ignoreFailure","_getXhrs","ckid","ckXhr","abort","_cancelled","moveInProgressToRemaining","connectionManager","free","hasMoreParts","nextIdx","_getTotalChunks","reevaluateChunking","sendNext","inProgressChunks","available","uploadChunk","inProgressChunkIdx","_maybePersistChunkedState","clearXhr","_open","_openChunks","_waiting","openChunkEntriesCount","openChunksCount","openChunkIndexes","dontAllowNext","nextId","allowNext","waitingIndex","connectionsIndex","getProxyOrBlob","getWaitingOrConnected","waitingOrConnected","chunks","parseInt","isUsingConnection","openChunksEntry","_clearXhrs","getProxy","initHandler","handlerType","traditional","handlerModuleSubtype","_removeExpiredChunkingRecords","isDeferredEligibleForUpload","maybeDefer","generatedBlob","updateBlob","maybeSendDeferredFiles","errorResponse","idsInGroup","uploadedThisId","idInGroup","maybeNewUuid","originalResponse","_shouldChunkThisFile","uploadFile","simple","blobToUpload","cancelRetVal","isProxied","isResumable","WindowReceiveMessage","callbackWrapperDetachers","receiveMessage","stopReceivingMessages","detacher","FormUploadHandler","formHandlerInstanceId","onloadCallbacks","detachLoadEvents","postMessageCallbackTimers","isCors","corsMessageReceiver","getFileIdForIframeName","iframeName","iframe","_getIframeName","expungeFile","_attachLoadEvent","responseDescriptor","onloadCallback","_parseJsonResponse","_detachLoadEvent","registerPostMessageCallback","contentDocument","_createIframe","initIframeForUpload","_initFormForUpload","targetName","innerHtmlOrMessage","XhrUploadHandler","chunkFiles","resumeEnabled","xhrId","ajaxRequester","_getAjaxRequester","blobOrProxy","_initTempState","_maybePrepareForResume","cachedChunks","tempState","xhrs","ajaxRequesters","responseParser","lastChunkIdx","_getXhr","resumableFilesData","_iterateResumeRecords","notResumable","optInProgress","optRemaining","reverse","paused","totalChunks","parts","newBlob","chunkId","_createXhr","optChunkIdx","_registerXhr","chunkIndex","fileSize","startBytes","endBytes","part","count","startByte","endByte","_getLocalStorageId","_getMimeType","_getPersistableData","ceil","_markNotResumable","localStorageId","removeItem","persistedData","lastUpdated","_registerProgressHandler","progressCalculator","totalSuccessfullyLoadedForFile","loadedForRequest","totalForRequest","estActualChunkLoaded","totalLoadedForFile","chunkLoaded","optAjaxRequester","xhrsId","expirationDays","expirationDate","setDate","getDate","requester","_method","renderImageToCanvas","doSquash","modifiedDimensions","iw","naturalWidth","ih","naturalHeight","ctx","getContext","resizeInfo","imageHeight","imageWidth","orientation","sourceCanvas","sourceCanvasContext","targetCanvas","targetHeight","targetWidth","transformCoordinate","drawImage","qqImageRendered","renderImageToCanvasWithCustomResizer","maxPixels","origHeight","origWidth","newHeight","sqrt","newWidth","maybeCalculateDownsampledDimensions","getImageData","detectSubsampling","tmpCtx","sx","dx","tmpCanvas","vertSquashRatio","ratio","sy","ey","detectVerticalSquash","dw","dh","dy","clearRect","PI","MegaPixImage","srcImage","errorCallback","Image","URL","createObjectURL","webkitURL","listeners","imageLoadListeners","opt","oldTargetSrc","imgWidth","imgHeight","optionsKey","optionsValue","renderImageToDataURL","onrender","isImg","isCanvas","determineMimeOfFileName","nameWithPath","pathSegments","isCrossOrigin","targetProtocol","targetHostname","targetPort","targetAnchor","protocol","port","hostname","registerThumbnailRenderedListener","registered","registerImgLoadListeners","registerCanvasDrawImageListener","drawOnCanvasOrImgFromUrl","canvasOrImg","draw","tempImg","tempImgRender","crossOrigin","drawOnImgFromUrlWithCssScaling","fileBlobOrUrl","drawFromUrl","drawPreview","Identify","megapixErrorHandler","isPreviewable","dummyExif","exif","Exif","mpImg","Orientation","failureMsg","_testing","TAG_IDS","TAG_INFO","parseLittleEndian","hex","seekToApp1","theOffset","thePromise","segmentLength","getApp1Offset","parser","onParseFailure","app1Offset","app1Start","littleEndian","getDirEntryCount","dirEntryCount","dirEntries","getIfd","ifdHex","getDirEntries","tagValues","tagsToFind","vals","tagValHex","tagValLength","idHex","tagsToFindIdx","getTagValues","previewable","isPreviewableSync","PREVIEWABLE_MIME_TYPES","questionableBytes","identifiable","magicBytesEntries","magicBytesArrayEntry","fileMime","isRecognizedImage","limits","sizeDetermination","validationEffort","atLeastOne","limit","hasNonZeroLimits","dimensions","failingLimit","limitName","limitValue","limitMatcher","dimensionPropName","actualValue","getFailingLimit","refreshEffort","requesterOptions","SessionAjaxRequester","fileItems","someItemsIgnored","isJsonResponseValid","handleFileItems","queryServer","responseText","includeOriginal","failedToScaleText","_getSortedSizes","getFileRecords","originalFileUuid","originalFileName","originalBlobOrBlobData","records","originalBlob","sizeRecord","outputType","_determineOutputType","requestedType","refType","_getName","_generateScaledImage","failedText","api","param","scaledIds","originalId","record","blobSize","scaledId","qqparentuuid","qqparentsize","scalingEffort","scalingOptions","scaler","referenceType","scaledVersionProperties","startOfExt","versionType","scaledName","scaledExt","nameAppendage","sourceFile","imageGenerator","scaledImageDataUri","signalSuccess","_insertExifHeader","scaledImageDataUriWithExif","originalImage","reader","insertionEffort","originalImageDataUri","readAsDataURL","_dataUriToBlob","_createBlob","chr1","chr2","enc1","enc2","enc3","output","chr3","enc4","KEY_STR","origFileBase64","resizedFileBase64","expectedBase64Header","rawImage","decode64","segments","slice2Segments","exifManipulation","encode64","exifArray","getExifArray","newImageArray","insertExif","seg","imageData","buf","separatePoint","mae","ato","array","rawImageArray","head","endPoint","perFileProgress","totalLoaded","totalSize","lastLoadedSent","lastTotalSent","callbackProxy","onNew","updateTotalProgress","newLoaded","newTotal","oldLoaded","oldTotal","retryable","none","failedId","noRetryableFiles","detachPasteHandler","isImage","startUpload","formEl","validateForm","nativeSubmit","checkValidity","_form2Obj","determineNewEndpoint","maybeUploadOnSubmit","determineFormEl","ignoreValue","checked","elements","selectValue","createForm","responseFromMessage","innerHtml","contentWindow","nodeValue","getIframeContentJson","multipart","allChunksDoneRequester","AllChunksDoneAjaxRequester","createReadyStateChangedHandler","onUploadOrChunkComplete","isErrorUploadResponse","parseResponse","setParamsAndGetEntityToSend","setUploadHeaders","extraHeaders","toSend","addChunkingSpecificParams","complete","getChunksCompleteParams","sendChunksCompleteRequest","promises","endpointHandler","H","Bootstrap","iframe_document","Element","matches","msMatchesSelector","webkitMatchesSelector","documentElement","matchesSelector","mozMatchesSelector","oMatchesSelector","HTMLElement","createElementNS","DOMException","_updateClassName","number","__defineGetter__","pf","DOMTokenList","appName","$1","nativeFocus","scrollLeft","preventScroll","offsetHeight","offsetWidth","scrollWidth","RegisterPlugins","allowStylingOnNonEditable","initOnClick","pluginsEnabled","pluginsDisabled","MODULES","VERSION","INSTANCES","OPTS_MAPPING","SHARED","ID","Node","ELEMENT_NODE","BLOCK_TAGS","attributes","nodeName","isBlock","isEmpty","TEXT_NODE","VOID_ELEMENTS","htmlAllowedEmptyTags","htmlDoNotWrapTags","blockParent","deepestParent","SIMPLE_ENTER_TAGS","rawAttributes","clearAttributes","openTagString","closeTagString","isFirstSibling","previousSibling","isLastSibling","isList","isLink","isElement","contents","isVoid","hasFocus","activeElement","isEditable","viewportElement","isDeletable","browser","msie","acceptNode","DOMPurify","htmlRemoveTags","htmlAllowedStyleProps","htmlAllowComments","preserveTabSpaces","fullPage","HTML5Map","STRIKE","clean","normalize","COMMENT_NODE","tabSpaces","outerHTML","implementation","createHTMLDocument","extractNode","extractDoctype","extractNodeAttrs","helpers","sanitizeURL","pasteAllowLocalImages","isMac","merge","defaultTag","ALLOW_UNKNOWN_PROTOCOLS","ALLOWED_TAGS","ALLOWED_ATTR","sanitize","toHTML5","tables","lists","prepend","listStyleType","trackChangesEnabled","track_changes","getPendingChanges","showChangesEnabled","pushChange","invisibleSpaces","XS","SM","MD","LG","LinkRegExCommon","LinkRegExEnd","LinkRegExTLD","LinkRegExHTTP","LinkRegExAuth","LinkRegExWWW","LinkRegEx","LinkProtocols","MAIL_REGEX","maxTouchPoints","webkit","isIOS","getIOSVersion","abs","NaN","getSafariVersion","isAndroid","isBlackberry","isWindowsPhone","isEmail","webkitRequestAnimationFrame","mozRequestAnimationFrame","getPX","screenSize","$sc","isTouch","DocumentTouch","ALLOWED_URI_REGEXP","RGBToHex","HEXtoRGB","isURL","getAlignment","o_win","pageYOffset","o_doc","pageXOffset","isInViewPort","clientHeight","isValidHexColor","isRGBColor","inputType","rangeCount","getRangeAt","startContainer","endContainer","endOffset","isSameNode","createRange","setStart","setEnd","removeAllRanges","addRange","$wp","$win","core","info","atStart","isCollapsed","markers","blockTagsQuery","MARKERS","shared","_events","$_events","sid","isDisabled","_mousedown","_mouseup","_move","_mousemove","areVisible","$doc","toolbarContainer","selected_editor","bindClick","focusNode","getButtons","stopImmediatePropagation","removeData","enableBlur","blurActive","chainTrigger","$on","$off","indentMargin","COMMANDS","bold","italic","underline","strikeThrough","subscript","superscript","outdent","forcedRefresh","redo","insertHR","clearFormatting","selectAll","moreText","moreParagraph","moreRich","moreMisc","commands","toolbarInline","showInline","wrapInTracking","after","setAfter","execCommand","getSelection","moreTrackChanges","markdown","isEnabled","not","setMoreToolbarsHeight","accessibilityFocus","accessibility","ranges","parentsUntil","blocks","unwrap","isArrow","KEYCODE","ARROW_LEFT","ARROW_UP","setAtEnd","ARROW_RIGHT","ARROW_DOWN","setAtStart","endElement","cursorLists","_startEnter","_middleEnter","isAtEnd","INVISIBLE_SPACE","keepFormatOnDelete","_endEnter","_backspace","_del","NO_DELETE_TAGS","isContentEditable","nextElementSibling","lastChild","UNICODE_NBSP","fromCharCode","inEditor","rangeElement","fillEmptyBlocks","cleanEmptyTags","spaces","normalizeAroundCursor","offsetTop","backspace","del","isAtStart","FE","domain","cookie","ul","mozilla","srcElement","disableDesign","strong","em","getPropertyValue","removeProperty","disable","createDocumentFragment","replaceChild","toLocaleLowerCase","win","anchorNode","atEnd","collapsed","safariSelection","applyStyle","removeStyle","isPreformatted","getComputedStyle","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","currentNode","HAIR_SPACE","START_MARKER","END_MARKER","commonAncestorContainer","cloneRange","collapse","insertNode","place","firstElementChild","contentEditable","insertAtPoint","clientX","clientY","caretPositionFromPoint","offsetNode","caretRangeFromPoint","createTextRange","moveToPoint","duplicate","setEndPoint","setStartAfter","setEndBefore","createTextNode","setStartBefore","setEndAfter","selectNodeContents","moveToElementText","compareBoundaryPoints","Range","START_TO_START","END_TO_END","getElementsByClassName","isFull","$iframe","ready","marginTop","paddingTop","paddingLeft","marginLeft","paddingRight","marginRight","textAlign","htmlSimpleAmpersand","htmlIgnoreCSSProperties","htmlExecuteScripts","doctype","systemId","cleanBRs","SHOW_ELEMENT","FILTER_ACCEPT","FILTER_SKIP","D","fontSizeDefaultSelection","fontSizeUnit","fontFamilyDefaultSelection","isCharacter","BACKSPACE","ENTER","IME","siblings","baseOffset","focusOffset","altKey","emptyBlocks","emptyBlockTagsQuery","cleanWhiteTags","cleanBlankSpaces","getDoctype","toArray","$head","$html","createDocumentType","injectStyle","iframeDefaultStyle","iframeStyle","useClasses","syncInputs","styleSheets","cssRules","ownerNode","selectorText","cssText","heightMin","getSelected","wrapContent","cloneContents","htmlText","pasteInEmptyEdior","pasteInEdior","insertAfter","positionCaret","escapeEntities","checkIfEmpty","_setHtml","TAB","SHIFT","CTRL","ALT","ESC","SPACE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","FF_SEMICOLON","FF_EQUALS","QUESTION_MARK","K","Q","U","META","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","FF_HYPHEN","SEMICOLON","DASH","EQUALS","COMMA","HYPHEN","PERIOD","SLASH","APOSTROPHE","TILDE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","multiLine","deleteContents","modify","bulkRefresh","anchorOffset","min","selectNode","snapshot","canDo","typingTimer","enable","offsetY","forceUndo","isIME","isBrowserAction","pastePlain","setData","clipboard","read","unsanitized","DataTransfer","getType","getData","wordPaste","previousElementSibling","linkAlwaysBlank","HTMLHeadingElement","cleanEmptyTagsAndDivs","getRtfClipboard","saveCopiedText","replaceNewLines","shortcutsHint","SHORTCUTS_MAP","letter","option","shortcuts","scLoc","scOffset","ecLoc","ecOffset","equal","undo_stack","undoing","undo_index","_content_changed_timer","hideAll","canRedo","dropRedo","syncIframe","documentReady","requestWithCredentials","iframeStyleFiles","zIndex","disableRightClick","drag_support","filereader","formdata","_original_html","autofocus","destroy","getXHR","sameInstance","RegisterTemplate","filesManager","isChildWindowOpen","exit_flag","_windowResize","getPosition","at","_inputFocus","_inputBlur","_editorKeydown","findVisible","_preventFocus","hideActiveDropdowns","_editorMouseup","_windowMouseup","_windowKeydown","focusPopupButton","_repositionPopup","handleWindowClick","editInPopup","colorsStep","bindCommands","registerPopup","focusPopup","onHide","onRefresh","onShow","setFileListHeight","setPopupDimensions","innerWidth","$f_el","with_kb","click","nextAllVisible","prevAllVisible","modals","focusEditor","restoreSelection","_tiKeydown","_tiMouseenter","registerToolbar","focusToolbarElement","focusToolbar","focusContent","focusModal","focusModalButton","tooltips","$tooltip","getRootNode","ShadowRoot","TOOLBAR_VISIBLE_BUTTONS","$modal","refreshOnShow","refreshAfterCallback","showOnMobile","displaySelection","defaultSelection","displaySelectionWidth","more_btn","back","hasOptions","popup_buttons","build","buildList","buildGroup","buttonsVisible","showMoreButtons","defaultView","parentWindow","addButtons","ICON_TEMPLATES","font_awesome","font_awesome_5","font_awesome_5r","font_awesome_5l","font_awesome_5b","svg","svgMultiplePath","ICONS","SVG_KEY","color","insertAll","minimize","iconsTemplate","SVG","getTemplate","getFileIcon","FILEICONS","imageTransformations","filestackIcon","advancedImageEditor","alignCenter","alignJustify","alignLeft","alignRight","anchors","autoplay","blockquote","cellBackground","cellBorderColor","cellOptions","cellStyle","codeView","cogs","exitFullscreen","fileInsert","fileManager","fontAwesome","fullscreen","help","horizontalLine","imageAltText","imageCaption","imageClass","imageDisplay","imageManager","imageSize","inlineClass","inlineStyle","insertEmbed","insertFile","insertMore","insertTable","insertVideo","uploadFiles","lineHeight","linkStyles","mention","more","openLink","orderedList","pageBreaker","paragraphMore","paragraphStyle","pdfExport","print","removeTable","replaceImage","smile","star","symbols","tableHeader","tableFooter","tableStyle","textColor","textMore","unlink","unorderedList","verticalAlignBottom","verticalAlignMiddle","verticalAlignTop","filestackIconAdd","trackChanges","showTrackChanges","acceptAllChanges","rejectAllChanges","acceptSingleChange","rejectSingleChange","chevronDown","chevronUp","docIcon","gifIcon","jpegIcon","logIcon","movIcon","ogvIcon","pngIcon","txtIcon","webmIcon","webpIcon","wmvIcon","xlsIcon","xlsxIcon","zipIcon","docxIcon","jpgIcon","mp3Icon","mp4Icon","oggIcon","pdfIcon","defaultIcon","$overlay","$body","clientWidth","_stickyElements","forSelection","addSticky","toolbarVisibleWithoutSelection","toolbarResponsiveToEditor","TOOLBAR_BUTTONS","TOOLBAR_BUTTONS_MD","TOOLBAR_BUTTONS_SM","TOOLBAR_BUTTONS_XS","POWERED_BY","filestackOptions","uploadToFilestackOnly","findIndex","childElementCount","setInterval","$second_tb","bubbles","cancelable","changedTouches","eventPhase","pageX","pageY","view","keyCode","offsetX","pointerId","pointerType","screenX","screenY","targetTouches","touches","isEqualNode","formatParams","crossDomain","getClientRects","pushStack","prevObject","wrapAll","eq","wrapInner","grep","getCorrectStyleName","getClass","stripAndCollapse","scrollTo","passive","Event","MouseEvent","createEvent","initMouseEvent","initEvent","triggerHandler","HTMLDocument","_matches","load","c_scroll","fontFamilySelection","fontSizeSelection","quickInsertEnabled","charCounterCount","write","destrying","colorsText","colorsBackground","colorsHEXInput","showColorsPopup","text_colors","custom_color","background_colors","background","customColor","refreshOnCallback","draggable","dropEffect","elementFromPoint","$draggable_helper","imageAltButtons","imageSizeButtons","imageUpload","imageCORSProxy","imageUploadRemoteUrls","imageUploadParam","imageUploadParams","imageUploadToS3","imageUploadToAzure","imageUploadMethod","imageMaxSize","imageResizeWithPercent","imageRoundPercent","imageDefaultAlign","imageDefaultDisplay","imageStyles","imageMove","imageMultipleStyles","imageTextNear","imagePasteProcess","imageMinWidth","imageOutputSize","imageDefaultMargin","imageAddNewLine","IMAGE_ALLOW_REGEX","$image_resizer","$img_overlay","ce","timeStamp","frameElement","clientLeft","replaceSpecialItem","responseXML","responseURL","keyStart","uploadURL","region","bucket","encodeURI","account","SASToken","toUTCString","accessKey","cryptoJSPlugin","cryptoJS","HmacSHA256","enc","Base64","onabort","upload_layer","by_url_layer","progress_bar","j","alt_layer","size_layer","removeSpecialItem","IMAGE_TYPE","verticalAlign","marginBottom","showInsertPopup","showLayer","refreshUploadButton","refreshByURLButton","insertByURL","responseType","refreshAlign","refreshAlignOnShow","refreshDisplayOnShow","getEl","showProgressBar","hideProgressBar","showAltPopup","showSizePopup","setAlt","toggleCaption","hasCaption","exitEdit","inline","block","center","imageAlign","linkAttributes","linkMultipleStyles","linkConvertEmailAddress","linkAlwaysNoFollow","linkNoOpener","linkNoReferrer","linkList","displayText","linkText","END_TO_START","START_TO_END","compareEndPoints","input_layer","decodeURIComponent","wrapLinkInTracking","wrapInDelete","usePredefined","insertCallback","allSelected","imageLink","circle","disc","square","H1","H4","PRE","paragraphDefaultSelection","BLOCKQUOTE","paragraphMultipleStyles","quote","addQuote","removeQuote","increase","decrease","saveParam","saveMethod","letteringClass","tableInsertMaxSize","tableInsertButtons","tableDefaultHeight","tableDefaultBGColor","tableDefaultBorderColor","tableDefaultBorderWidth","tableDefaultBorderStyle","tableBorderStyle","tableResizerOffset","tableResizingLimit","tableColorsButtons","tableColors","tableColorsStep","tableCellStyles","tableStyles","tableCellMultipleStyles","tableMultipleStyles","tableInsertHelper","keepTextFormatOnTable","tableInsertHelperOffset","proportionalTableResize","enableTableSelection","rows_columns","cell_properties_form","startTag","closeTag","hasChildNodes","min_i","max_i","min_j","max_j","currentWidths","currentPercentages","relatedTarget","$table_resizer","$ti_helper","insertColumn","insertRow","table_properties_form","rowIndex","Infinity","rows","cells","cellIndex","insertCell","setDragImage","effectAllowed","revokeObjectURL","deleteRow","deleteColumn","mergeCells","splitCellVertically","splitCellHorizontally","addHeader","addFooter","removeHeader","removeFooter","setBackground","showEditPopup","showTableProperties","hideTableProperties","updateTableAlign","horizontalAlign","selectedTable","selectedCells","selectCells","resetAll","showCellPropertiesPopup","updateSelectedColor","above","below","tableRows","tableColumns","tableCells","Top","Middle","Bottom","tableCellVerticalAlign","tableCellHorizontalAlign","PATHS","VIEWBOX","URLRegEx","videoAllowedProviders","videoDefaultAlign","videoDefaultDisplay","videoDefaultWidth","videoMaxSize","videoResponsive","videoSizeButtons","videoSplitHTML","videoTextNear","videoUpload","videoUploadMethod","videoUploadParam","videoUploadParams","videoUploadToS3","videoUploadToAzure","VIDEO_EMBED_REGEX","video","currentSrc","embed_layer","HAVE_FUTURE_DATA","clientTop","$video_resizer","$vid_overlay","vid_exit_flag","dragDrop","refreshEmbedButton","_editVideo","setAutoplay","insertHtmlVideo","videoAlign","getNonce","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","stack","Na","Oa","prepareStackTrace","Reflect","construct","Pa","tag","Qa","$$typeof","_payload","Ra","Sa","Ta","Va","_valueTracker","getValue","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","ab","bb","cb","db","eb","fb","defaultSelected","gb","hb","ib","jb","kb","lb","nb","namespaceURI","valueOf","MSApp","execUnsafeLocalFunction","ob","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","setProperty","tb","menuitem","area","base","embed","hr","keygen","track","wbr","ub","vb","wb","xb","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","flags","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","isTrusted","td","ud","vd","Ad","getModifierState","zd","fromElement","movementX","movementY","Bd","Dd","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","locale","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","documentMode","date","datetime","month","password","range","tel","time","week","oninput","HTMLIFrameElement","focusedElem","selectionRange","selectionStart","selectionEnd","animationend","animationiteration","animationstart","transitionend","animation","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","of","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","pending","effects","bh","ch","eventTime","lane","eh","fh","gh","hh","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","contextType","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","_owner","_stringRef","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","mi","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","compare","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","suppressHydrationWarning","onclick","autoFocus","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","dl","fl","gl","hl","il","jl","zj","$k","ll","reportError","_internalRoot","nl","ol","ql","sl","rl","unmount","unstable_scheduleHydration","tl","usingClientEntryPoint","Events","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","supportsFiber","inject","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","Style","lockAttribute","getStyles","_a","allowRelative","gapMode","important","getCurrentUseCounter","counter","isFinite","RemoveScrollBar","noRelative","noImportant","_b","newCounter","zeroRightClassName","fullWidthClassName","noScrollbarsClassName","removedBarSizeVariable","zeroGap","getGapWidth","offsets","cs","getOffset","documentWidth","windowWidth","ReactRemoveScroll","__assign","sideCar","classNames","getTouchXY","getDeltaXY","extractRef","generateStyle","idCounter","lockStack","RemoveScrollSideCar","shouldPreventQueue","touchStartRef","activeAxis","lastProps","inert","allow_1","__spreadArray","lockRef","shards","shouldCancelEvent","allowPinchZoom","currentAxis","touchStart","moveDirection","canBeScrolledInMainDirection","cancelingAxis","shouldPrevent","_event","delta","sourceEvent","shadowParent","should","shardNodes","noIsolation","shouldCancel","getOutermostShadowParent","scrollTouchStart","scrollWheel","scrollTouchMove","setCallbacks","onScrollCapture","onWheelCapture","onTouchMoveCapture","inst","removeScrollBar","nothing","RemoveScroll","parentRef","forwardProps","Container","__rest","SideCar","containerRef","containerProps","fullWidth","zeroRight","passiveSupported","nonPassive","elementCanBeScrolled","overflowY","overflowX","alwaysContainsScroll","locationCouldBeScrolled","axis","elementCouldBeScrolled","getScrollVariables","elementCouldBeVScrolled","elementCouldBeHScrolled","getHScrollVariables","handleScroll","endTarget","sourceDelta","noOverscroll","directionFactor","getDirectionFactor","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","elementScroll","effectCar","styleSingleton","useStyle","dynamic","styleHookSingleton","sheet","isDynamic","stylesheetSingleton","stylesheet","nonce","makeStyleTag","styleSheet","insertStyleTag","__self","__source","jsx","jsxs","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","initCustomEvent","boundKeydown","keydown","boundKeyup","keyup","boundInput","shouldDeactivate","hideMenu","commandEvent","inputEvent","menu","selectItemAtIndex","externalTrigger","updateSelection","hasTrailingSpace","autocompleteMode","triggerChar","getKeyCode","triggers","mentionText","collection","menuShowMinLength","showMenuFor","getTriggerInfo","mentionTriggerChar","selectedPath","mentionSelectedPath","selectedOffset","mentionSelectedOffset","filteredItems","menuSelected","escape","tab","spaceSelectsMatch","up","setActiveLi","down","selectClass","currentStyle","menuEvents","menuClickEvent","menuContainerScrollEvent","windowResizeEvent","positionMenuAtCaret","getDocument","getContentEditableCaretPosition","mentionPosition","getTextAreaOrInputUnderlinePosition","isMenuOffScreen","getWindowSelection","replaceTextSuffix","pasteHtml","getNodePositionInParent","getContentEditableSelectedPath","getTextPrecedingCurrentSelection","getLastWordInText","mentionSelectedElement","requireLeadingSpace","lastIndexWithLeadingSpace","mozInnerScreenX","whiteSpace","wordWrap","menuContainerIsBody","borderTopWidth","borderLeftWidth","getMenuDimensions","pre","caseSensitive","skip","rendered","score","traverse","calculateScore","extract","containerClass","itemClass","searchOpts","menuItemLimit","defaultSelectTemplate","defaultMenuItemTemplate","warn","jQuery","NodeList","HTMLCollection","_attach","ensureEditable","inputTypes","currentMentionTextSnapshot","createMenu","tributeMenu","_findLiTarget","placeCaretAtEnd","insertTextAtCursor","insertAtCaret","replaceText","replaceTriggerText","_append","_detach","unbind","_isActive","instanceOf","ANONYMOUS_SELECT_KEY","when","predicate","PatternKind","Guard","pattern","Not","AnonymousSelect","NamedSelect","classConstructor","isInstanceOf","__","guards_1","wildcards_1","builder","cases","displayedValue","patterns","predicates","arg","matchPattern","otherwise","exhaustive","isNamedSelectPattern","isAnonymousSelectPattern","isNotPattern","listSelect","doesMatch","subPattern","unknownGuard","stringGuard","numberGuard","NaNGuard","booleanGuard","nullishGuard","boolean","nullish","extendStatics","__extends","__decorate","decorators","desc","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","generator","fulfilled","step","rejected","__generator","trys","ops","op","__createBinding","k2","__exportStar","__values","__read","ar","__spread","__spreadArrays","pack","__await","__asyncGenerator","asyncIterator","fulfill","settle","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","mod","__esModule","__importDefault","default","__classPrivateFieldGet","receiver","kind","__classPrivateFieldSet","assignRef","useIsomorphicLayoutEffect","currentValues","useMergeRefs","callbackRef","newValue","oldValue","prevRefs_1","nextRefs_1","current_1","useCallbackRef","facade","Target","exportSidecar","medium","exported","useMedium","isSideCarExport","ItoI","createSidecarMedium","defaults","middleware","assigned","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","innerCreateMedium","async","ssr","computeCoordsFromPlacement","placement","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","side","isVertical","commonX","commonY","commonAlign","coords","computePosition","strategy","validMiddleware","isRTL","rects","getElementRects","statefulPlacement","middlewareData","resetCount","nextX","nextY","initialPlacement","detectOverflow","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","rect","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflows","overflowsData","sides","_middlewareData$flip2","_overflowsData$filter","nextPlacement","resetPlacement","_overflowsData$filter2","currentSideAxis","acc","getSideOffsets","isAnySideFullyClipped","referenceHiddenOffsets","referenceHidden","escapedOffsets","escaped","minX","minY","nativeClientRects","clientRects","sortedRects","groups","prevRect","getRectsByLine","resetRects","firstRect","lastRect","isTop","isLeftSide","maxRight","minLeft","measureRects","originSides","_middlewareData$offse","diffCoords","alignment","mainAxisMulti","crossAxisMulti","rawValue","convertValueToCoords","limiter","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","limitMin","limitMax","_middlewareData$offse2","isOriginSide","_state$middlewareData","_state$middlewareData2","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","getCssDimensions","hasOffset","shouldFallback","unwrapElement","domElement","noOffsets","getVisualOffsets","visualViewport","includeScale","isFixedStrategy","clientRect","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","getWindowScrollBarX","leftScroll","getHTMLOffset","htmlRect","absoluteOrFixed","getClientRectFromClippingAncestor","clippingAncestor","visualViewportBased","windowScrollbarX","bodyStyles","bodyMarginInline","compatMode","clippingStableScrollbarWidth","getViewportRect","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","getRectRelativeToOffsetParent","isOffsetParentAnElement","setLeftRTLScrollbarOffset","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","topLayer","elementClippingAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingElementAncestors","_c","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getOffsetParentFn","getDimensionsFn","floatingDimensions","rectsAreEqual","autoUpdate","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","cleanupIo","onMove","timeoutId","io","_io","disconnect","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","intersectionRatio","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","mergedOptions","platformWithCache","hasWindow","getNodeName","isNode","getWindow","_node$ownerDocument","isHTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","tableElements","isTableElement","topLayerSelectors","isTopLayer","selector","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","isWebKit","containerType","backdropFilter","willChange","contain","getContainingBlock","getParentNode","isLastTraversableNode","CSS","supports","lastTraversableNodeNames","getNodeScroll","scrollX","assignedSlot","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","getFrameElement","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","evaluate","getSide","getOppositeAxis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getAlignmentSides","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getOppositeAxisPlacements","isStart","getSideList","getPaddingObject","expandPaddingObject","rectToClientRect","rn","dp","pp","Xt","nn","tn","an","sn","Vp","pn","yp","Pp","fp","un","cn","wp","gp","dn","hp","vp","bp","xp","Sp","Rp","wn","Cp","Ip","Gp","Ep","Mp","Np","Tp","ut","eo","At","kp","Lp","Ap","zp","Op","Bp","Hp","zt","Fp","gn","Dp","Wp","Yt","_p","Ot","Kp","hn","$p","Sn","Rn","Cn","En","Tn","Jt","On","Fn","Qt","Zn","Jn","ft","jt","or","nr","Sl","Pl","Il","Ml","kl","Fl","_l","$l","Xl","Ql","lr","ir","cr","dr","ts","ur","fr","wr","gr","ws","vs","Ss","Ps","Is","Ms","ks","zs","Hs","Ws","Us","Ys","Qs","n1","i1","d1","m1","g1","b1","ht","P1","I1","M1","k1","vr","B1","D1","K1","q1","J1","e0","o0","l0","c0","u0","w0","v0","S0","P0","I0","M0","k0","z0","H0","W0","U0","Z0","J0","xr","vn","bn","yn","qp","Pn","Xp","In","Jp","Mn","jp","kn","tu","An","ou","Bn","au","Dn","iu","Kn","cu","$n","pu","Xn","mu","Qn","wu","hu","bu","Su","Ru","Vu","ga","Iu","Eu","Nu","ku","Au","Ou","Hu","Du","_u","Uu","qu","Xu","Ju","ju","tm","om","am","im","cm","pm","mm","wm","hm","yl","bm","Vl","Sm","Gl","Rm","Nl","Vm","Ll","Im","zl","Em","Bl","Nm","Dl","km","Kl","Am","Om","Yl","Hm","Dm","_m","Um","qm","Xm","Jm","jm","preserveAspectRatio","es","rs","clipPath","ns","ls","ss","gs","bs","ys","Vs","Gs","Ns","ew","Ls","rw","Os","nw","Fs","lw","_s","sw","$s","Zs","rx","uw","Js","fw","js","gw","r1","vw","a1","xw","s1","yw","p1","Pw","f1","Cw","h1","Gw","x1","Mw","y1","Tw","V1","Lw","G1","zw","N1","Bw","L1","Fw","z1","Ww","Kw","W1","$w","U1","Zw","Z1","Yw","X1","Qw","Q1","e2","r2","n0","n2","i0","l2","d0","s2","m0","d2","g0","u2","b0","f2","y0","g2","V0","v2","G0","x2","N0","y2","L0","P2","O0","C2","F0","G2","_0","M2","$0","T2","X0","L2","Q0","z2","B2","W2","K2","ActivityIcon","AiIcon","AiTwinkleText","ArrowLeftDownIcon","ArrowLeftIcon","ArrowLeftUpIcon","ArrowRightDownIcon","ArrowRightIcon","BellIcon","BookIcon","BookmarkIcon","BulletedListIcon","CalendarIcon","CategoryIcon","CheckCircleIcon","CheckIcon","CheckListIcon","CheckSmallIcon","CheckboxOutlineIcon","ChevronDownIcon","ChevronExpandIcon","ChevronLeftIcon","ChevronShrinkIcon","ChevronSkipEndIcon","ChevronSkipStartIcon","ChevronUpIcon","ClipsArrowRightIcon","ClipsIcon","ClockHistoryIcon","ClockIcon","CogIcon","CommentIcon","CopyIcon","DocumentIcon","DownloadIcon","DragHandleIcon","DragIndicatorIcon","EllipsisHIcon","EllipsisVIcon","EmojiIcon","EnvelopeIcon","ErrorIcon","ExclamationCircleIcon","ExclamationTriangleIcon","ExpandIcon","ExportIcon","ExternalLinkIcon","EyeIcon","FileCheckIcon","FileEditIcon","FileIcon","FilePlusIcon","FileXIcon","FilterIcon","HistogramChartIcon","HouseIcon","ImageIcon","InboxIcon","InfoCircleIcon","KundoAiKnowledgeIcon","KundoAvatarShield","KundoCallsIcon","KundoChatIcon","KundoExternalSourceIcon","KundoForumIcon","KundoHelpcenterIcon","KundoKnowledgeIcon","KundoLogoIcon","KundoMailIcon","KundoSocialFacebookIcon","KundoSocialInstagramDmIcon","KundoSocialInstagramIcon","KundoSocialMessengerIcon","KundoSocialWhatsappIcon","LineChart1Icon","LineChart2Icon","LockIcon","LogInIcon","LogOutIcon","MapPinIcon","MenuIcon","MinimizeIcon","MinusCircleIcon","MinusIcon","MinusSmallIcon","MoveIcon","NoExternalIcon","NoteIcon","PencilIcon","PhoneIcon","PhonePlusIcon","PieChartIcon","PlusCircleIcon","QuestionCircleIcon","ReplyIcon","RotateLeftIcon","RotateRightIcon","RouterIcon","SearchIcon","Security","SpeechBubbleIcon","SpeechBubblesIcon","SpinnerIcon","StarFilledIcon","StarIcon","StopUpdatesIcon","SwitchIcon","TagIcon","ThumbDownIcon","ThumbUpIcon","TranslateIcon","TrashCanIcon","UnlockIcon","UserAssignIcon","UserCheckIcon","UserClockIcon","UserIcon","UserPlusIcon","UserXIcon","WindowMaximizeIcon","WindowMinimizeIcon","XSmallIcon","Helper","tt","Vr","contentSide","contentAlign","alignOffset","delayDuration","tooltipTheme","q2","Z2","X2","asAvatar","J2","Chatflow","AIAssistant","Activity","FacebookMessenger","WhatsApp","FacebookPage","Inbox","Knowledgebase","Forum","InstagramComments","InstagramMessenger","Calls","Chat","Email","AIKnowledge","ExternalSource","WebSource","mV","loading","j2","bt","iconClassName","onCheckedChange","htmlFor","Pr","rt","ot","nt","required","Cr","St","hasError","isTextArea","Ir","so","errorText","optionalText","inputSize","initialDeps","updateDeps","Er","startIndex","overscan","endIndex","scrollElement","targetWindow","borderBoxSize","inlineSize","blockSize","useAnimationFrameWithResizeObserver","useScrollendEvent","isScrollingResetDelay","horizontal","isRtl","adjustments","co","detect","handoffState","currentId","isServer","isClient","handoff","isHandoffComplete","Nr","nextFrame","microTask","group","Ht","yt","captureStackTrace","Rt","First","Previous","Next","Last","WrapAround","NoScroll","Overflow","Success","Underflow","mo","Strict","Loose","Keyboard","Mouse","Tr","Ft","isConnected","composed","composedPath","HTMLButtonElement","headlessuiFocusVisible","fo","Pt","flatMap","Vt","None","RenderStrategy","Static","Unmount","Hidden","ourProps","theirProps","slot","features","visible","mergeRefs","n4","kr","static","hidden","go","refName","Lr","ho","Focusable","clip","vo","Open","Closed","Closing","Opening","Dt","Ar","Provider","Specific","Nothing","bo","resolveItems","resolveActiveIndex","resolveDisabled","resolveId","p4","xo","toISOString","Space","Enter","Escape","Backspace","Delete","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End","PageUp","PageDown","Tab","h4","v4","Single","Multi","b4","Pointer","Focus","Other","x4","OpenCombobox","CloseCombobox","GoToOption","RegisterOption","UnregisterOption","RegisterLabel","SetActivationTrigger","UpdateVirtualOptions","So","activeOptionIndex","dataRef","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","domRef","S4","comboboxState","calculateIndex","optionsRef","optionsPropsRef","virtual","activationTrigger","isSelected","__demoMode","labelId","Po","Wt","y4","it","paddingBlockStart","paddingBlockEnd","paddingBottom","unsubs","isScrolling","scrollToIndexTimeoutId","measurementsCache","itemSizeCache","pendingMeasuredCacheIndexes","scrollRect","scrollOffset","scrollDirection","scrollAdjustments","elementsCache","observer","_measureElement","setOptions","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","measureElement","initialRect","scrollMargin","indexAttribute","initialMeasurementsCache","notify","maybeNotify","calculateRange","_didMount","_willUpdate","getScrollElement","_scrollToOffset","getScrollOffset","observeElementRect","observeElementOffset","getFurthestMeasurement","getMeasurementOptions","getMeasurements","estimateSize","measurements","outerSize","getVirtualIndexes","indexFromElement","resizeItem","shouldAdjustScrollPositionOnItemSizeChange","getVirtualItems","getVirtualItemForOffset","getOffsetForAlignment","getOffsetForIndex","isDynamicMode","cancelScrollToIndex","scrollToOffset","scrollToIndex","scrollBy","getTotalSize","scrollToFn","measure","process","JEST_WORKER_ID","overflowAnchor","Vo","R4","P4","k4","O4","en","by","nullable","immediate","hold","labelRef","inputRef","buttonRef","Qr","closeCombobox","activeIndex","activeOption","goToOption","Jr","registerOption","registerLabel","openCombobox","setActivationTrigger","selectActiveOption","sp","Zt","cp","Lt","readOnly","B4","HTMLFieldSetElement","HTMLLegendElement","d4","displayValue","setSelectionRange","selectionDirection","onCompositionStart","onCompositionEnd","D4","walk","FILTER_REJECT","W4","wasMoved","active","onPointerEnter","onMouseEnter","onPointerMove","onMouseMove","onPointerLeave","onMouseLeave","It","Co","Io","Input","Label","Options","Option","Or","$4","Visible","Br","Hr","leave","idle","chains","all","wait","register","unregister","onStart","onStop","X4","Y4","Eo","appear","initial","beforeEnter","beforeLeave","afterEnter","afterLeave","enterFrom","enterTo","entered","leaveFrom","leaveTo","q4","Z4","J4","addFlag","hasFlag","removeFlag","toggleFlag","called","transitionDuration","transitionDelay","U4","r3","Child","Root","p3","u3","x3","autoHeight","maxLength","inputClassName","blockIfLimitReached","counterText","throw","ln","S3","R3","L3","A3","z3","INFO","WARNING","ERROR","O3","B3","triggerButton","withCloseButton","ariaLabel","onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside","clickOutsideToClose","pointerEvents","Kt","zo","Wr","Content","Trigger","onPointerDown","Cd","Gd","ariaRole","isRounded","UM","Ut","allowedTypes","maxFileSize","onChangeCallback","errorMessages","uploadedFiles","validFiles","refDropArea","dropAreaIsActive","alt","viewPortClassName","forceMount","altText","timestamp","addSuffix","includeSeconds","clearInterval","dateTime","Do","setExpanded","onExpanded","defaultIndex","onIndexChange","isNumeric","year","day","hour","minute","Intl","DateTimeFormat","_h","_o","ev","tv","rv","ov","nv","av","lv","Ur","iv","pv","uv","gv","hv","isToggle","describedBy","vv","xv","Rv","Cv","dataOrientation","onValueChange","activationMode","Iv","loop","Gv","Ev","exit","Nv","iconAfter","isWarning","Tv","textValue","kv","Lv","defaultOpen","hideWhenDetached","Av","Ov","Bv","showCloseButton","Hv","arrowPadding","sticky","Fv","Kd","Ud","qv","dir","Item","Indicator","layoutId","selectedValue","bounce","withChannelIcon","Group","Separator","qo","wide","backButton","breadcrumbs","actions","contentWidth","BackButton","Breadcrumbs","Breadcrumb","ep","gridCols","Zo","getNextIndex","Xo","tp","rp","np","rowcount","colcount","Row","hover","Header","HeaderCell","BodyCell","rowindex","labelSearchButton","labelClearButton","onQueryChange","onSearch","onClear","showClearButton","currentChannel","urlIdentifier","firstPage","previousPage","nextPage","lastPage","Xr","lp","currentPage","itemsPerPage","totalPages","totalItems","prevPage","rangeStart","rangeEnd","onPaginationChange","itemsPerPageOptions","labels","showFirstLastButtons","showPrevNextButtons","showItemsPerPageSelector","showRangeLabel","Arrow","forwardedRef","arrowProps","points","setRef","composeRefs","hasCleanup","cleanups","Primitive","primitive","Slot","primitiveProps","Comp","createSlot","ownerName","SlotClone","createSlotClone","Slot2","slotProps","childrenArray","slottable","isSlottable","newChildren","childrenRef","getter","mayWarn","isReactWarning","getElementRef","props2","childProps","propName","slotPropValue","childPropValue","mergeProps","SLOTTABLE_IDENTIFIER","__radixId","CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","CheckboxProviderImpl","useCheckboxContext","CheckboxProvider","__scopeCheckbox","checkedProp","internal_do_not_use_render","setChecked","defaultProp","caller","control","setControl","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","isFormControl","isIndeterminate","scope","TRIGGER_NAME","CheckboxTrigger","checkboxProps","composedRefs","initialCheckedStateRef","getState","prevChecked","Checkbox","CheckboxBubbleInput","INDICATOR_NAME","CheckboxIndicator","indicatorProps","present","BUBBLE_INPUT_NAME","controlSize","inputProto","indeterminate","defaultCheckedRef","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","useComposedRefs","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createScope","scopeContexts","defaultContext","contexts","rootComponentName","BaseContext","Context","consumerName","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","useScope","overrideScopes","nextScopes","nextScopes2","Presence","presence","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","initialState","machine","useStateMachine","mounted","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","currentAnimationName","getAnimationName","wasPresent","prevAnimationName","isAnimating","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","animationFillMode","handleAnimationStart","isPresent","node2","usePresence","useLayoutEffect2","globalThis","createCollection","PROVIDER_NAME","createCollectionContext","createCollectionScope","CollectionProviderImpl","useCollectionContext","collectionRef","itemMap","CollectionProvider","COLLECTION_SLOT_NAME","CollectionSlotImpl","CollectionSlot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlotImpl","CollectionItemSlot","itemData","ItemSlot","collectionNode","orderedNodes","DIALOG_NAME","createDialogContext","createDialogScope","DialogProvider","useDialogContext","Dialog","__scopeDialog","openProp","triggerRef","contentRef","descriptionId","onOpenToggle","prevOpen","DialogTrigger","triggerProps","composedTriggerRef","PORTAL_NAME","PortalProvider","usePortalContext","DialogPortal","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","DialogContentImpl","trapFocus","disableOutsidePointerEvents","ctrlLeftClick","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","targetIsTrigger","trapped","onMountAutoFocus","onUnmountAutoFocus","onDismiss","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","DESCRIPTION_NAME","descriptionProps","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","contentName","titleName","docsSlug","titleWarningContext","MESSAGE","describedById","Portal","Overlay","Close","originalBodyPointerEvents","CONTEXT_UPDATE","DismissableLayerContext","layers","layersWithOutsidePointerEventsDisabled","branches","DismissableLayer","layerProps","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","discrete","once","timerId","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","onFocusCapture","onBlurCapture","useFocusOutside","dispatchUpdate","handleUpdate","DismissableLayerBranch","Branch","dispatchDiscreteCustomEvent","DirectionContext","SELECTION_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createMenuContext","createMenuScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","__scopeMenu","popperScope","setContent","isUsingKeyboardRef","handleOpenChange","localDir","globalDir","useDirection","handlePointer","onContentChange","onClose","MenuAnchor","anchorProps","MenuPortal","MenuContentProvider","useMenuContentContext","MenuContent","rootContext","MenuRootContentModal","MenuRootContentNonModal","MenuContentImpl","disableOutsideScroll","onEntryFocus","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","scrollLockWrapperProps","isPointerMovingToSubmenu","point","polygon","inside","isPointInPolygon","isPointerInGraceArea","onItemEnter","onItemLeave","onTriggerLeave","onPointerGraceIntentChange","intent","currentTabStopId","onCurrentTabStopIdChange","preventScrollOnEntryFocus","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","currentItem","currentMatch","nextMatch","normalizedSearch","currentMatchIndex","wrappedValues","getNextMatch","newItem","updateSearch","handleTypeaheadSearch","candidateNodes","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusFirst","whenMouse","pointerXHasChanged","newDir","MenuGroup","groupProps","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","itemProps","contentContext","isPointerDownRef","MenuItemImpl","menuItem","itemSelectEvent","onPointerUp","isTypingAhead","isFocused","setIsFocused","setTextContent","focusable","MenuCheckboxItem","checkboxItemProps","ItemIndicatorProvider","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","MenuSeparator","separatorProps","MenuArrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","setTrigger","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","clearOpenTimer","pointerGraceTimer","contentRect","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","Root3","Anchor2","Content2","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Arrow2","Sub","SubTrigger","SubContent","DROPDOWN_MENU_NAME","createDropdownMenuContext","createDropdownMenuScope","useMenuScope","DropdownMenuProvider","useDropdownMenuContext","DropdownMenu","__scopeDropdownMenu","menuScope","DropdownMenuTrigger","DropdownMenuPortal","portalProps","DropdownMenuContent","isRightClick","DropdownMenuItem","radioGroupProps","DropdownMenuSeparator","DropdownMenuSubTrigger","subTriggerProps","DropdownMenuSubContent","Root2","Portal2","Separator2","Sub2","SubTrigger2","SubContent2","useFocusGuards","edgeGuards","createFocusGuard","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","FocusScope","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","lastFocusedElementRef","focusScope","handleFocusIn2","handleFocusOut2","handleMutations2","mutations","mutation","removedNodes","mutationObserver","MutationObserver","childList","subtree","focusScopesStack","previouslyFocusedElement","mountEvent","getTabbableCandidates","unmountEvent","isTabKey","focusedElement","container2","getTabbableEdges","nodes","walker","isHiddenInput","upTo","isSelectableInput","activeFocusScope","arrayRemove","createFocusScopesStack","updatedArray","useReactId","deterministicId","setId","reactId","POPOVER_NAME","createPopoverContext","createPopoverScope","PopoverProvider","usePopoverContext","__scopePopover","hasCustomAnchor","setHasCustomAnchor","onCustomAnchorAdd","onCustomAnchorRemove","ANCHOR_NAME","PopoverTrigger","PopoverPortal","PopoverContent","PopoverContentModal","PopoverContentNonModal","isRightClickOutsideRef","PopoverContentImpl","PopoverClose","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","setAnchor","onAnchorChange","PopperAnchor","virtualRef","anchorRef","previousAnchor","PopperContentProvider","useContentContext","PopperContent","avoidCollisions","collisionBoundary","collisionPadding","collisionPaddingProp","updatePositionStrategy","onPlaced","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","hasExplicitBoundaries","isNotNull","floatingStyles","isPositioned","whileElementsMounted","anchorWidth","anchorHeight","contentStyle","transformOrigin","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","setFloating","onArrowChange","shouldHideArrow","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","baseSide","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","Anchor","deepEqual","getDPR","devicePixelRatio","roundByDPR","dpr","useLatestRef","useFloating","externalReference","externalFloating","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","referenceRef","floatingRef","floatingEl","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","fullData","isMountedRef","initialStyles","arrow$1","containerProp","setMounted","RADIO_NAME","createRadioContext","createRadioScope","RadioProvider","useRadioContext","Radio","__scopeRadio","onCheck","radioProps","setButton","RadioBubbleInput","RadioIndicator","ARROW_KEYS","createRadioGroupContext","createRadioGroupScope","useRadioScope","__scopeRadioGroup","valueProp","RadioGroupItem","radioScope","isArrowKeyPressedRef","handleKeyUp","RadioGroupIndicator","ENTRY_FOCUS","GROUP_NAME","createRovingFocusGroupContext","createRovingFocusGroupScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","__scopeRovingFocusGroup","RovingFocusGroupImpl","currentTabStopIdProp","defaultCurrentTabStopId","setCurrentTabStopId","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","onItemFocus","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","onMouseDown","isKeyboardFocus","entryFocusEvent","RovingFocusGroupItem","autoId","isCurrentTabStop","focusIntent","getDirectionAwareKey","MAP_KEY_TO_FOCUS_INTENT","getFocusIntent","currentIndex","hasTabStop","OPEN_KEYS","SELECT_NAME","createSelectContext","createSelectScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","__scopeSelect","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","triggerPointerDownPosRef","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","onValueNodeChange","onValueNodeHasChildrenChange","onNativeOptionAdd","onNativeOptionRemove","optionsSet","SelectBubbleInput","SelectTrigger","pointerTypeRef","resetTypeahead","useTypeaheadSearch","enabledItems","nextItem","findNextItem","handleOpen","pointerEvent","shouldShowPlaceholder","hasPointerCapture","releasePointerCapture","VALUE_NAME","SelectValue","valueProps","hasChildren","SelectIcon","iconProps","SelectPortal","SelectContent","fragment","setFragment","DocumentFragment","frag","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","viewport","setViewport","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","setIsPositioned","firstValidItemFoundRef","firstItem","restItems","lastItem","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","onViewportChange","onContextMenu","flexDirection","currentElement","popperProps","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","valueNodeRect","itemTextRect","itemTextOffset","leftDelta","minContentWidth","rightEdge","clampedLeft","rightDelta","leftEdge","clampedRight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","borderBottomWidth","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","isFirstItem","handleScrollButtonChange","SelectViewportProvider","onScrollButtonChange","boxSizing","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","viewportProps","viewportContext","prevScrollTopRef","onScroll","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","justifyContent","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupId","LABEL_NAME","SelectLabel","groupContext","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","setTextValue","textId","handleSelect","onItemTextChange","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","nativeOption","SelectItemIndicator","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","onAutoScroll","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SelectSeparator","prevValue","selectProto","HTMLSelectElement","onSearchChange","handleSearchChange","currentItemIndex","wrappedItems","Value","Icon","Viewport","ItemText","ScrollUpButton","ScrollDownButton","SWITCH_NAME","createSwitchContext","createSwitchScope","SwitchProvider","useSwitchContext","Switch","__scopeSwitch","switchProps","SwitchBubbleInput","THUMB_NAME","SwitchThumb","thumbProps","Thumb","TABS_NAME","createTabsContext","createTabsScope","TabsProvider","useTabsContext","Tabs","__scopeTabs","tabsProps","baseId","TAB_LIST_NAME","TabsList","listProps","TabsTrigger","makeTriggerId","makeContentId","isAutomaticActivation","TabsContent","isMountAnimationPreventedRef","rAF","animationDuration","List","createToastContext","createToastScope","ToastProviderProvider","useToastProviderContext","ToastProvider","__scopeToast","swipeThreshold","toastCount","setToastCount","isFocusedToastEscapeKeyDownRef","isClosePausedRef","onToastAdd","onToastRemove","VIEWPORT_DEFAULT_HOTKEY","VIEWPORT_PAUSE","VIEWPORT_RESUME","ToastViewport","hotkey","wrapperRef","headFocusProxyRef","tailFocusProxyRef","hotkeyLabel","hasToasts","wrapper","handlePause","pauseEvent","handleResume","resumeEvent","handleFocusOutResume","handlePointerLeaveResume","getSortedTabbableCandidates","tabbingDirection","tabbableCandidates","toastItem","toastNode","toastTabbableCandidates","flat","isMetaKey","isTabbingBackwards","sortedCandidates","FocusProxy","onFocusFromOutsideViewport","FOCUS_PROXY_NAME","proxyProps","prevFocusedElement","TOAST_NAME","toastProps","ToastImpl","onPause","onSwipeStart","onSwipeMove","onSwipeCancel","onSwipeEnd","ToastInteractiveProvider","useToastInteractiveContext","durationProp","pointerStartRef","swipeDeltaRef","closeTimerStartTimeRef","closeTimerRemainingTimeRef","closeTimerRef","handleClose","isFocusInToast","startTimer","duration2","announceTextContent","getAnnounceTextContent","ToastAnnounce","userSelect","touchAction","hasSwipeMoveStarted","isHorizontalSwipe","clampedX","clampedY","moveStartBuffer","isDeltaInDirection","setPointerCapture","toast","event2","announceProps","renderAnnounceText","setRenderAnnounceText","isAnnounced","setIsAnnounced","raf1","raf2","useNextFrame","ToastTitle","ToastDescription","ToastAction","actionProps","ToastAnnounceExclude","ToastClose","interactiveContext","announceExcludeProps","ariaHidden","isExcluded","radixToastAnnounceExclude","radixToastAnnounceAlt","isDeltaX","Description","Action","TOGGLE_GROUP_NAME","createToggleGroupContext","createToggleGroupScope","ToggleGroup","toggleGroupProps","singleProps","ToggleGroupImplSingle","multipleProps","ToggleGroupImplMultiple","ToggleGroupValueProvider","useToggleGroupValueContext","toggleGroupSingleProps","__scopeToggleGroup","onItemActivate","onItemDeactivate","ToggleGroupImpl","toggleGroupMultipleProps","handleButtonActivate","itemValue","handleButtonDeactivate","value2","ToggleGroupContext","useToggleGroupContext","rovingFocus","commonProps","ToggleGroupItem","valueContext","pressed","ToggleGroupItemImpl","typeProps","onPressedChange","Toggle","pressedProp","defaultPressed","buttonProps","setPressed","createTooltipContext","createTooltipScope","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","__scopeTooltip","skipDelayDuration","disableHoverableContent","isOpenDelayedRef","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","onOpen","onPointerInTransitChange","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","disableHoverableContentProp","delayDurationProp","providerContext","wasOpenDelayedRef","open2","stateAttribute","handleDelayedOpen","onTriggerEnter","TooltipTrigger","hasPointerMoveOpenedRef","TooltipPortal","TooltipContent","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","exitPoint","paddedExitPoints","exitSide","getPaddedExitPoints","getExitSideFromRect","graceArea","newPoints","upperHull","lowerHull","getHullPresorted","getHull","getPointsFromRect","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","isInside","Slottable","TooltipArrow","createSlottable","Slottable2","useControllableState","uncontrolledProp","setUncontrolledProp","onChangeRef","prevValueRef","useUncontrolledState","isControlled","isControlledRef","wasControlled","nextValue","useEscapeKeydown","onEscapeKeyDownProp","usePrevious","previous","useSize","borderSizeEntry","borderSize","VISUALLY_HIDDEN_STYLES","freeze","VisuallyHidden","defaultOptions","getDefaultOptions","getTimezoneOffsetInMilliseconds","_date","utcDate","UTC","getFullYear","getMonth","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","millisecondsInWeek","millisecondsInDay","minutesInMonth","minutesInDay","constructFrom","constructNow","getDayOfYear","toDate","dateLeft","dateRight","startOfDayLeft","startOfDay","startOfDayRight","timestampLeft","timestampRight","differenceInCalendarDays","cleanDate","setFullYear","setHours","startOfYear","startOfISOWeek","startOfWeek","weekStartsOn","getISOWeekYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","getISOWeek","diff","fourthOfJanuary","startOfISOWeekYear","getWeekYear","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","getWeek","firstWeek","startOfWeekYear","addLeadingZeros","targetLength","padStart","lightFormatters","token","signedYear","dayPeriodEnumValue","numberOfDigits","milliseconds","trunc","formatters","localize","era","ordinalNumber","unit","signedWeekYear","weekYear","quarter","isoWeek","dayOfYear","dayOfWeek","getDay","localDayOfWeek","isoDayOfWeek","dayPeriod","hours","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","delimiter","sign","absOffset","minutes","dateLongFormatter","formatLong","timeLongFormatter","longFormatters","matchResult","datePattern","timePattern","dateTimeFormat","dayOfYearTokenRE","weekYearTokenRE","throwTokens","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","originalDate","RangeError","firstCharacter","longFormatter","isToken","cleanEscapedString","preprocessor","formatterOptions","useAdditionalWeekYearTokens","isProtectedWeekYearToken","useAdditionalDayOfYearTokens","isProtectedDayOfYearToken","_message","subject","warnOrThrowProtectedError","formatter","matched","compareAsc","_dateLeft","_dateRight","isLastDayOfMonth","endOfDay","endOfMonth","differenceInMonths","difference","differenceInCalendarMonths","setMonth","isLastMonthNotFull","differenceInSeconds","differenceInMilliseconds","roundingMethod","formatDistanceToNow","baseDate","comparison","localizeOptions","seconds","offsetInSeconds","months","formatDistance","days","nearestMonth","monthsSinceStartOfYear","years","isThisYear","isSameYear","isToday","buildFormatLongFn","defaultWidth","formats","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","argumentCallback","buildMatchFn","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findKey","valueCallback","buildMatchPatternFn","parseResult","parsePattern","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","full","long","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","dirtyNumber","narrow","abbreviated","midnight","noon","morning","afternoon","evening","night","tokenValue","formatRelative","_baseDate","any","standalone","withPreposition","monthValues","formattingMonthValues","enGB","enUS","rem100","formatRelativeLocalePlural","futureSeconds","futureMinutes","futureHours","futureWeeks","futureMonths","futureYears","futureTense","dayValues","formattingDayValues","regular","past","future","twoFour","declension","scheme","rem10","declensionGroup","adjectivesLastWeek","masculine","feminine","adjectivesThisWeek","adjectivesNextWeek","dayGrammaticalGender","dayAndTimeWithAdjective","adjectives","isSameWeek","wordMapping","sv","argument","argStr","PopChildMeasure","prevProps","childRef","parentWidth","parentHeight","sizeRef","PopChild","anchorX","anchorY","MotionConfigContext","composedRef","motionPopId","insertRule","PresenceChild","onExitComplete","custom","presenceAffectsLayout","presenceChildren","newChildrenMap","isReusedContext","childId","isComplete","PresenceContext","getChildKey","onlyElements","filtered","Children","isValidElement","AnimatePresence","propagate","isParentPresent","safeToRemove","presentChildren","presentKeys","isInitialRender","pendingPresentChildren","exitComplete","exitingComponents","diffedChildren","setDiffedChildren","renderedChildren","setRenderedChildren","exitingChildren","nextChildren","forceRender","LayoutGroupContext","isEveryExitComplete","isExitComplete","subscribe","createContext","LazyContext","strict","transformPagePoint","isStatic","reducedMotion","useCreateMotionContext","variantLabelsAsDependency","MotionContext","getCurrentTreeVariants","inherit","SwitchLayoutGroupContext","addPointerEvent","eventName","extractEventInfo","addPointerInfo","elementDragControls","VisualElementDragControls","visualElement","openDragLock","isDragging","currentDirection","originPoint","constraints","hasMutatedConstraints","elastic","latestPointerEvent","latestPanInfo","originEvent","snapToCursor","distanceThreshold","presenceContext","dragSnapToOrigin","getProps","panSession","onSessionStart","stopAnimation","drag","dragPropagation","onDragStart","resolveConstraints","projection","isAnimationBlocked","getAxisMotionValue","layout","measuredAxis","layoutBox","animationState","setActive","dragDirectionLock","onDirectionLock","onDrag","lockThreshold","getCurrentDirection","updateAxis","onSessionEnd","resumeAnimation","startAnimation","getTransformPagePoint","contextWindow","panInfo","finalEvent","finalPanInfo","velocity","onDragEnd","endPanSession","_point","shouldDrag","axisValue","dragConstraints","dragElastic","prevConstraints","resolveRefConstraints","onMeasureDragConstraints","constraintsElement","constraintsBox","measuredConstraints","userConstraints","dragMomentum","dragTransition","onDragTransitionEnd","momentumAnimations","bounceStiffness","bounceDamping","inertia","timeConstant","restDelta","restSpeed","startAxisValueAnimation","dragKey","scalePositionWithinConstraints","boxProgress","latest","transformTemplate","updateScroll","updateLayout","addListeners","stopPointerListener","dragListener","isClickingTextInputChild","stopResizeObservers","measureDragConstraints","onResize","stopElement","skipFirstCall","stopContainer","startResizeObservers","stopMeasureLayoutListener","stopResizeListener","stopLayoutUpdateListener","hasLayoutChanged","motionValue","isFirst","DragGesture","super","removeGroupControls","removeListeners","controls","mount","dragControls","prevDragControls","applyConstraints","calcRelativeAxisConstraints","calcRelativeConstraints","calcViewportAxisConstraints","layoutAxis","constraintsAxis","calcViewportConstraints","calcOrigin","sourceLength","rebaseAxisConstraints","relativeConstraints","defaultElastic","resolveDragElastic","resolveAxisElastic","minLabel","maxLabel","resolvePointElastic","FocusGesture","isFocusVisible","handleHoverEvent","lifecycle","whileHover","HoverGesture","_element","startEvent","endEvent","overflowStyles","PanSession","handlers","lastMoveEvent","lastMoveEventInfo","lastRawMoveEventInfo","scrollPositions","removeScrollListeners","onElementScroll","onWindowScroll","updatePoint","transformPoint","getPanInfo","history","isPanStarted","isDistancePastThreshold","onEnd","initialInfo","startScrollTracking","isWindow","updateHandlers","subtractPoint","lastDevicePoint","startDevicePoint","getVelocity","timeDelta","timestampedPoint","lastPoint","currentVelocity","asyncHandler","PanGesture","removePointerDownListener","pointerDownEvent","createPanHandlers","onPanSessionStart","onPanStart","onPan","onPanEnd","handlePressEvent","whileTap","PressGesture","globalTapTarget","useGlobalTarget","tap","ExitAnimationFeature","prevIsPresent","prevPresenceContext","resolved","transitionEnd","jump","animateChanges","exitAnimation","AnimationFeature","updateAnimationControlsSubscription","unmountControls","prevAnimate","animations","Feature","featureProps","pan","inView","getInitializedFeatureDefinitions","initialFeatureDefinitions","initFeatureDefinitions","ProjectionNode","MeasureLayout","gestureAnimations","hasTakenAnySnapshot","MeasureLayoutWithContext","layoutGroup","switchLayoutGroup","didUpdate","layoutDependency","willUpdate","promote","relegate","getStack","members","layoutAnchor","currentAnimation","isLead","promoteContext","scheduleCheckAfterUnmount","deregister","loadFeatures","featureDefinitions","thresholdNames","InViewFeature","hasEnteredView","isInView","startObserver","stopObserver","amount","isIntersecting","onViewportEnter","onViewportLeave","prevViewport","hasViewportOptionChanged","observerCallbacks","observers","fireObserverCallback","fireAllObserverCallbacks","observeIntersection","rootInteresectionObserver","lookupRoot","rootObservers","initIntersectionObserver","createMotionComponent","forwardMotionProps","preloadedFeatures","createVisualElement","isSVG","useVisualState","MotionDOMComponent","externalRef","configAndProps","useLayoutId","visualState","layoutProjection","combined","getProjectionFunctionality","ForwardRefMotionComponent","layoutGroupId","motionComponentSymbol","useMotionRef","externalRefContainer","refCleanup","onMount","useVisualElement","ProjectionNodeConstructor","lazyContext","motionConfig","reducedMotionConfig","skipAnimations","visualElementRef","hasMountedOnce","renderer","blockInitialAnimation","manuallyAnimateOnMount","initialLayoutGroupConfig","initialPromotionConfig","layoutScroll","layoutRoot","layoutCrossfade","latestValues","getClosestProjectingNode","alwaysMeasureLayout","animationType","crossfade","createProjectionNode","optimisedAppearId","wantsHandoff","MotionHandoffIsComplete","MotionHasOptimisedAnimation","MotionIsMounted","updateFeatures","scheduleRenderMicrotask","MotionHandoffMarkAsComplete","enteringChildren","allowProjection","makeLatestValues","scrapeMotionValues","motionValues","isControllingVariants$1","isVariantNode$1","isInitialAnimationBlocked","variantToSet","valueTarget","makeUseVisualState","make","scrapeMotionValuesFromProps","createRenderState","renderState","makeState","validMotionProps","isValidMotionProp","createMotionProxy","Proxy","componentCache","factory","_target","featureBundle","motion","createDomVisualElement","useRender","visualProps","filteredProps","elementProps","shouldForward","isValidProp","require","filterProps","isDom","isSVGComponent","useHTMLVisualState","copyRawValuesOnly","useHTMLProps","htmlProps","vars","useInitialMotionValues","WebkitUserSelect","WebkitTouchCallout","onTap","onTapStart","createHtmlRenderState","lowercaseSVGElements","useSVGProps","_isStatic","attrs","rawStyles","useSVGVisualState","createSvgRenderState","distance2D","xDelta","yDelta","getContextWindow","isBrowser","isRefObject","useConstant","AsyncMotionValueAnimation","repeatDelay","repeatType","keyframes","_animation","stopTimeline","keyframeResolver","createdAt","optionsWithDefaults","KeyframeResolver$1","KeyframeResolver","resolvedKeyframes","finalKeyframe","forced","onKeyframesResolved","scheduleResolve","sync","isHandoff","onUpdate","resolvedAt","canAnimateValue","resolvedOptions","useWaapi","owner","finished","notifyFinished","pendingTimeline","attachTimeline","_finished","onResolve","_onReject","finally","iterationDuration","newTime","speed","newSpeed","timeline","play","percentToProgress","JSAnimation","isStopped","currentTime","holdTime","playbackSpeed","delayState","updatedAt","tick","teardown","initAnimation","keyframes$1","generatorFactory","mixKeyframes","mirroredGenerator","calculatedDuration","resolvedDuration","totalDuration","updateTime","animationTime","sample","timeWithoutDelay","isInDelayPhase","elapsed","frameGenerator","currentIteration","iterationProgress","isAnimationFinished","finish","driver","getGeneratorVelocity","hasChanged","onPlay","updateFinished","stopDriver","sampleTime","allowFlatten","NativeAnimation","finishedTime","manualStartTime","isPseudoElement","onfinish","keyframe","updateMotionValue","commitStyles","effect","getComputedTiming","wasFinished","playbackRate","playState","newStartTime","updateTiming","easing","NativeAnimationExtended","sampleAnimation","setWithVelocity","animateSingleValue","motionValue$1","frameloopDriver","passTimestamp","keepAlive","power","modifyTarget","nearestBoundary","amplitude","ideal","calcDelta","exp","calcLatest","applyFriction","timeReachedBoundary","spring$1","checkCatchBoundary","damping","stiffness","hasUpdatedFrame","keyframeValues","times","easingFunctions","absoluteTimes","mapTimeToKeyframe","springDefaults","calcAngularFreq","undampedFreq","dampingRatio","durationKeys","physicsKeys","isSpringType","spring","optionsOrVisualDuration","visualDuration","mass","isResolvedFromDuration","springOptions","derived","envelope","derivative","exponentialDecay","initialGuess","approximateRoot","findSpring","getSpringOptions","initialVelocity","initialDelta","undampedAngularFreq","isGranularScale","resolveSpring","resolveVelocity","angularFreq","sinCoeff","cosCoeff","sin","cos","dampedAngularFreq","freqForT","sinh","cosh","sinhCoeff","coshCoeff","toTransition","applyToOptions","generatorOptions","maxGeneratorDuration","calcGeneratorDuration","createGeneratorEasing","createGenerator","isGenerator","resolveValue","prevT","animateMotionValue","valueTransition","shouldSkip","shouldSkipAnimations","isSync","shouldBlockAnimation","protectedKeys","needsAnimating","shouldBlock","animateTarget","targetAndTransition","transitionOverride","defaultTransition","getDefaultTransition","reduceMotion","animationTypeState","MotionHandoffAnimation","appearId","shouldReduceMotion","applyTransitionEnd","animateVariant","getAnimation","getChildAnimations","variantChildren","forwardDelay","delayChildren","staggerChildren","staggerDirection","animateChildren","animateVisualElement","definition","resolvedDefinition","DOMKeyframesResolver","unresolvedKeyframes","readKeyframes","resolveNoneKeyframes","originType","targetType","needsMeasurement","noneKeyframeIndexes","measureInitialState","suspendedScrollY","measuredOrigin","measureViewportBox","measureKeyframe","measureEndState","finalKeyframeIndex","removedTransforms","unsetTransformName","unsetTransformValue","toResolve","isScheduled","anyNeedsMeasurement","isForced","measureAllKeyframes","resolversToMeasure","resolver","elementsToMeasure","transformsToRestore","readAllKeyframes","flushKeyframeResolvers","isAsync","valueAsRead","readValue","setFinalKeyframe","renderEndStyles","isForcedComplete","getFinalKeyframe","defaultOffset","fillOffset","offsetProgress","convertOffsetToTimes","fillWildcards","isNone","invalidTemplates","makeNoneKeyframesAnimatable","animatableTemplate","noneIndex","isNumOrPxType","transformKeys","nonTranslationalTransformKeys","removeNonTranslationalTransform","positionalValues","_bbox","translateX","translateY","optimizedAppearDataAttribute","getOptimisedAppearId","WithPromise","onReject","calcChildStagger","sortNodePosition","numChildren","maxStaggerDuration","canAnimate","originKeyframe","targetKeyframe","isOriginAnimatable","isTargetAnimatable","hasKeyframesChanged","splitCSSVariableRegex","getVariableValue","depth","token1","token2","parseCSSVariable","underDampedSpring","keyframesTransition","valueKey","getValueTransition","isAnimatable","checkStringStartsWith","isCSSVariableName","startsAsVariableToken","isCSSVariableToken","singleCssVariableRegex","containsCSSVariable","orchestrationKeys","isTransitionDefined","makeAnimationInstant","transitionTypeMap","decay","tween","replaceTransitionType","resolveTransition","parentTransition","cubicBezierAsString","mapEasingToNativeEasing","segmentEasing","supportedWaapiEasing","linear","easeIn","easeOut","easeInOut","circIn","circOut","backIn","backOut","startWaapiAnimation","valueName","keyframeOptions","colorProperties","supportsWaapi","supportsBrowserAnimation","acceleratedValues","applyGeneratorOptions","browserColorFunctions","hasBrowserOnlyColors","generateLinearEasing","resolution","numPoints","unsupportedEasingFunctions","anticipate","backInOut","circInOut","replaceStringEasing","addDomEvent","createRenderBatcher","scheduleNextBatch","allowKeepAlive","runNextFrame","useDefaultElapsed","isProcessing","flagRunNextFrame","steps","setup","resolveKeyframes","preUpdate","preRender","postRender","processBatch","useManualTiming","schedule","cancelFrame","frameData","frameSteps","microtask","cancelMicrotask","stepsOrder","createRenderStep","stepName","thisFrame","flushNextFrame","toKeepAlive","latestFrameData","numCalls","triggerCallback","prevFrame","clearTime","isDragActive","setDragLock","elementOrSelector","onHoverStart","eventOptions","hoverEndCallback","isPressed","deferredHoverEnd","endHover","leaveEvent","enterEvent","onHoverEnd","isValidPressEvent","claimedPointerDownEvents","press","targetOrSelector","onPressStart","cancelEvents","startPress","onPressEnd","onPointerEnd","onPointerCancel","upEvent","cancelEvent","keyboardAccessibleElements","isElementKeyboardAccessible","textInputElements","isElementTextInput","filterEvents","firePointerEvent","PointerEvent","enableKeyboardPress","focusEvent","handleKeydown","handleKeyup","isPressing","isNodeOrChild","isPrimaryPointer","setupGesture","gestureAbortController","AbortController","signal","borderLabels","numBorders","asNumber","isPx","mixValues","follow","shouldCrossfadeOpacity","isOnlyMember","easeCrossfadeIn","opacityExit","easeCrossfadeOut","borderLabel","followRadius","getRadius","leadRadius","radiusName","compress","convertBoundingBoxToBox","convertBoxToBoundingBox","transformBoxPoints","topLeft","bottomRight","copyAxisInto","originAxis","copyBoxInto","originBox","copyAxisDeltaInto","originDelta","scalePoint","applyPointDelta","boxScale","applyAxisDelta","applyBoxDelta","TREE_SCALE_SNAP_MIN","TREE_SCALE_SNAP_MAX","applyTreeDeltas","treeScale","treePath","isSharedTransition","treeLength","projectionDelta","translateAxis","transformBox","transformAxis","axisTranslate","axisScale","axisOrigin","resolveAxisTranslate","sourceBox","resolveBox","scaleX","originX","scaleY","originY","calcLength","isNear","maxDistance","calcAxisDelta","calcBoxDelta","calcRelativeAxis","relative","anchorPoint","calcRelativeBox","calcRelativeAxisPosition","calcRelativePosition","removePointDelta","removeAxisTransforms","transforms","scaleKey","originKey","sourceAxis","removeAxisDelta","xKeys","yKeys","removeBoxTransforms","createDelta","createBox","isAxisDeltaZero","isDeltaZero","axisEquals","boxEquals","axisEqualsRounded","boxEqualsRounded","axisDeltaEquals","DocumentProjectionNode","attachResizeListener","measureScroll","checkIsScrollRoot","rootProjectionNode","HTMLProjectionNode","defaultParent","documentNode","resetTransform","metrics","calculatedTargetDeltas","calculatedProjections","transformAxes","resetDistortingTransform","sharedAnimationValues","setStaticValue","cancelTreeOptimisedTransformAnimations","projectionNode","hasCheckedOptimisedAppear","MotionCancelOptimisedAnimation","animationId","animationCommitId","isTreeAnimating","isLayoutDirty","isProjectionDirty","isSharedProjectionDirty","isTransformDirty","updateManuallyBlocked","updateBlockedByResize","isUpdating","needsReset","shouldResetTransform","eventHandlers","hasTreeAnimated","layoutVersion","updateScheduled","projectionUpdateScheduled","checkUpdateFailed","clearAllSnapshots","updateProjection","propagateDirtyNodes","resolveTargetDelta","calcProjection","cleanDirtyNodes","resolvedRelativeTargetAt","linkedParentVersion","hasProjected","animationProgress","sharedNodes","notifyListeners","subscriptionManager","hasListeners","cancelDelay","resizeUnblockUpdate","newInnerWidth","finishAnimation","registerSharedNode","hasRelativeLayoutChanged","newLayout","isTreeAnimationBlocked","relativeTarget","layoutTransition","defaultLayoutTransition","onLayoutAnimationStart","onLayoutAnimationComplete","hasTargetChanged","targetLayout","hasOnlyRelativeTargetChanged","resumeFrom","resumingFrom","animationOptions","setAnimationOrigin","blockUpdate","unblockUpdate","isUpdateBlocked","startUpdate","resetSkewAndRotation","getTransformTemplate","shouldNotifyListeners","prevTransformTemplateValue","updateSnapshot","wasBlockedByResize","forceLayoutMeasure","clearMeasurements","clearIsLayoutDirty","ensureDraggedNodesSnapshotted","resetTransformStyle","notifyLayoutUpdate","clearSnapshot","removeLeadSnapshots","scheduleUpdateProjection","measuredBox","prevLayout","layoutCorrected","phase","isRoot","wasRoot","isResetRequested","hasProjection","transformTemplateValue","transformTemplateHasChanged","scheduleRender","removeTransform","pageBox","measurePageBox","removeElementScroll","roundAxis","checkNodeWasScrollRoot","boxWithoutScroll","applyTransform","transformOnly","withTransforms","boxWithoutTransform","setTargetDelta","targetDelta","forceRelativeParentToResolveTarget","relativeParent","forceRecalculation","getLead","isShared","attemptToResolveRelativeTarget","getClosestProjectingParent","removeRelativeTarget","createRelativeTarget","targetWithTransforms","relativeTargetOrigin","isProjecting","parentLayout","canSkip","pendingAnimation","prevTreeScaleX","prevTreeScaleY","prevProjectionDelta","createProjectionDeltas","notifyAll","projectionDeltaWithTransform","snapshotLatestValues","mixedValues","relativeLayout","isSharedLayoutAnimation","hasOpacityCrossfade","prevRelativeTarget","mixTargetDelta","mixAxisDelta","mixAxis","animationValues","completeAnimation","preserveOpacity","exitAnimationComplete","applyTransformsToTarget","shouldAnimatePositionOnly","xLength","yLength","preserveFollowOpacity","shouldPreserveFollowOpacity","getPrevLead","prevLead","hasDistortingTransform","rotateX","rotateY","rotateZ","skewX","skewY","resetValues","applyProjectionStyles","targetStyle","styleProp","valuesToRender","correct","applyTo","isCSSVariable","corrected","num","resetTree","measuredLayout","axisSnapshot","snapAxis","layoutDelta","visualDelta","parentSnapshot","relativeSnapshot","onBeforeLayoutMeasure","removeLeadSnapshot","userAgentContains","roundPoint","globalProjectionState","hasAnimatedSinceResize","hasEverUpdated","NodeStack","member","prevDep","nextDep","pixelsToPercent","pixels","correctBorderRadius","correctBoxShadow","xScale","yScale","averageScale","scaleCorrectors","borderTopLeftRadius","borderTopRightRadius","boxShadow","buildProjectionTransform","latestTransform","xTranslate","yTranslate","zTranslate","transformPerspective","elementScaleX","elementScaleY","compareByDepth","eachAxis","FlatTree","isDirty","isIdentityScale","hasScale","hasTransform","has2DTranslate","is2DTranslate","viewportBox","propEventHandlers","setFeatureDefinitions","definitions","getFeatureDefinitions","VisualElement","_props","_prevProps","_visualElement","isVariantNode","isControllingVariants","valueSubscriptions","prevMotionValues","hasBeenMounted","propEventSubscriptions","notifyUpdate","triggerBuild","renderInstance","renderScheduledAt","baseTarget","initialValues","skipAnimationsConfig","initialMotionValues","removeFromVariantTree","addVariantChild","bindToMotionValue","addChild","feature","accelerate","valueIsTransform","onBindTransform","removeOnChange","latestValue","removeSyncCheck","MotionCheckAppearSync","sortInstanceNodePosition","featureDefinition","FeatureConstructor","measureInstanceViewportBox","getStaticValue","handleChildMotionValue","getVariant","variants","getClosestVariantNode","closestVariantNode","addValue","existingValue","removeValue","unsubscribe","removeValueFromRenderState","hasValue","getBaseTargetFromProps","readValueFromInstance","setBaseTarget","getBaseTarget","valueFromInitial","DOMVisualElement","childSubscription","isCSSVar","radToDeg","rad","angle","atan2","rebaseAngle","matrix2dParsers","atan","matrix3dParsers","translateZ","defaultTransformValue","parseValueFromTransform","matrix3dMatch","parsers","matrix2dMatch","valueParser","convertTransformToNumber","readTransformValue","setStyle","camelToDash","HTMLVisualElement","buildHTMLStyles","hasTransformOrigin","valueAsType","originZ","translateAlias","numTransforms","buildTransform","transformString","transformIsDefault","valueIsDefault","parsed","renderHTML","elementStyle","prevStyle","newValues","liveStyle","visualElementStore","SVGVisualElement","isSVGTag","cssMotionPathProperties","buildSVGAttrs","attrX","attrY","attrScale","pathLength","pathSpacing","pathOffset","camelCaseAttributes","dashKeys","camelKeys","buildSVGPath","useDashCase","renderSVG","_styleProp","reversePriorityOrder","numAnimationTypes","createAnimationState","createAnimateFunction","createState","wasReset","buildResolvedTypeValues","changedActiveType","removedKeys","encounteredKeys","removedVariantIndex","typeState","propIsVariant","activeDelta","isInherited","prevProp","prevResolvedValues","variantDidChange","shouldAnimateType","handledRemovedValues","definitionList","resolvedValues","allKeys","markToAnimate","valueHasChanged","willAnimateViaParent","parentVariant","fallbackAnimation","initialTransition","fallbackTarget","shouldAnimate","setAnimateFunction","makeAnimator","createTypeState","whileInView","whileDrag","whileFocus","numVariantProps","getVariantContext","isAnimationControls","isForcedMotionValue","isKeyframesTarget","isVariantLabel","positionalKeys","transformPropOrder","transformProps","updateMotionValuesFromProps","hasAnimated","initPrefersReducedMotion","matchMedia","motionMediaQuery","setReducedMotionPreferences","prefersReducedMotion","hasReducedMotionListener","resolveVariant","getValueState","resolveVariantFromProps","setMotionValue","setTarget","shallowCompare","prevLength","variantPriorityOrder","variantProps","resizeHandlers","borderBoxAxis","svgAxis","htmlAxis","getBBox","getWidth","getHeight","notifyTarget","resizeElement","elementHandlers","windowCallbacks","windowResizeHandler","resizeWindow","activeAnimations","mainThread","waapi","statsBuffer","addProjectionMetrics","timeout","checkElapsed","interpolate","isClamp","mixer","inputLength","isZeroDeltaRange","mixers","customMixer","mixerFactory","numMixers","easingFunction","createMixers","interpolator","progressInRange","isSVGElement","isSVGSVGElement","mixLinearColor","fromExpo","expo","colorTypes","asRGBA","model","mixColor","fromRGBA","toRGBA","blended","red","green","blue","alpha","mixNumber","getMixer","mixComplex","mixArray","mixObject","numValues","blendValue","originStats","targetStats","indexes","var","orderedOrigin","pointers","originIndex","originValue","matchOrder","mixImmediate","mix","invisibleValues","mixVisibility","resolveElements","selectorCache","EventTarget","supportsFlags","supportsLinearEasing","memoSupports","supportsFlag","memoized","supportsScrollTimeline","ScrollTimeline","collectMotionValues","MotionValue","canTrackVelocity","updateAndNotify","setPrevFrameValue","setCurrent","change","dependents","dependent","dirty","prevFrameValue","prevUpdatedAt","subscription","clearListeners","eventManagers","passiveEffect","stopPassiveEffect","endAnimation","addDependent","removeDependent","getPrevious","animationStart","animationComplete","clearAnimation","animationCancel","auto","hueToRgb","hslaToRgba","hue","saturation","lightness","hsla","alpha$1","getAnimatableNone","rgbUnit","clampRgbUnit","rgba","isColorString","testProp","splitColor","aName","bName","cName","maxDefaults","applyDefaultFilter","functionRegex","functions","NUMBER_TOKEN","COLOR_TOKEN","complexRegex","analyseComplexValue","originalValue","parsedValue","buildTransformer","numSections","complex","createTransformer","transformer","splitBefore","convertToZero","mask","dimensionValueTypes","findDimensionValueType","int","defaultValueTypes","outlineColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","WebkitFilter","WebkitMask","getDefaultValueType","numberValueTypes","borderRightWidth","insetBlock","insetBlockStart","insetBlockEnd","insetInline","insetInlineStart","insetInlineEnd","paddingBlock","paddingInline","paddingInlineStart","paddingInlineEnd","marginBlock","marginBlockStart","marginBlockEnd","marginInline","marginInlineStart","marginInlineEnd","backgroundPositionX","backgroundPositionY","numOctaves","transformValueTypes","scaleZ","perspective","createUnitType","degrees","progressPercentage","testValueType","customTypes","defaultValueType","colorRegex","valueTypes","findValueType","floatRegex","getValueAsType","isNullish","singleColorRegex","isMotionValue","resolveMotionValue","addValueToWillChange","newWillChange","isWillChangeMotionValue","addUniqueItem","acos","calcBezier","a2","cubicBezier","mX1","mY1","mX2","mY2","lowerBound","upperBound","currentX","currentT","binarySubdivide","mirrorEasing","reverseEasing","isBezierDefinition","isEasingArray","easingLookup","easingDefinitionToFunction","warning","invariant","MotionGlobalConfig","isNumericalString","isZeroValueString","memo","noop","combineFunctions","pipe","transformers","toFromDifference","SubscriptionManager","subscriptions","numSubscriptions","secondsToMilliseconds","millisecondsToSeconds","velocityPerSecond","frameDuration"],"sourceRoot":""}