diff --git a/ui/frontend/build_src/package-lock.json b/ui/frontend/build_src/package-lock.json index 99be5ccb..bfa45c4f 100644 --- a/ui/frontend/build_src/package-lock.json +++ b/ui/frontend/build_src/package-lock.json @@ -13,6 +13,7 @@ "@tanstack/react-query": "^4.2.3", "@tanstack/react-query-devtools": "^4.2.3", "@vanilla-extract/css": "^1.9.0", + "@vanilla-extract/css-utils": "^0.1.2", "@vanilla-extract/recipes": "^0.2.5", "@vanilla-extract/vite-plugin": "^3.5.0", "i18next": "^21.9.2", @@ -1166,6 +1167,11 @@ "outdent": "^0.8.0" } }, + "node_modules/@vanilla-extract/css-utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css-utils/-/css-utils-0.1.2.tgz", + "integrity": "sha512-qoxIu5E/UhJtoKsPL1JaU9nhTN0Xl5zYV0pScOgsvc3JN46TvTTt0L3GV8x3PQpZP7x3elw8BsC9czYbhJy9Gg==" + }, "node_modules/@vanilla-extract/css/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -5733,6 +5739,11 @@ } } }, + "@vanilla-extract/css-utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css-utils/-/css-utils-0.1.2.tgz", + "integrity": "sha512-qoxIu5E/UhJtoKsPL1JaU9nhTN0Xl5zYV0pScOgsvc3JN46TvTTt0L3GV8x3PQpZP7x3elw8BsC9czYbhJy9Gg==" + }, "@vanilla-extract/integration": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@vanilla-extract/integration/-/integration-5.0.1.tgz", diff --git a/ui/frontend/build_src/package.json b/ui/frontend/build_src/package.json index af627228..e5b27a7e 100644 --- a/ui/frontend/build_src/package.json +++ b/ui/frontend/build_src/package.json @@ -15,6 +15,7 @@ "@tanstack/react-query": "^4.2.3", "@tanstack/react-query-devtools": "^4.2.3", "@vanilla-extract/css": "^1.9.0", + "@vanilla-extract/css-utils": "^0.1.2", "@vanilla-extract/recipes": "^0.2.5", "@vanilla-extract/vite-plugin": "^3.5.0", "i18next": "^21.9.2", diff --git a/ui/frontend/build_src/src/App.tsx b/ui/frontend/build_src/src/App.tsx index e8782378..f4e312e1 100644 --- a/ui/frontend/build_src/src/App.tsx +++ b/ui/frontend/build_src/src/App.tsx @@ -1,24 +1,18 @@ -import React, { useState } from "react"; +import React from "react"; import { ReactLocation, Router } from "@tanstack/react-location"; import Home from "./pages/Home"; import Settings from "./pages/Settings"; -import { darkTheme, lightTheme } from "./styles/theme/index.css"; import "./Translation/config"; const location = new ReactLocation(); function App() { - // just check for the theme one 1 time - - // var { matches } = window.matchMedia('(prefers-color-scheme: dark)') - const matches = true; - const themeClass = matches ? darkTheme : lightTheme; return ( }, - { path: "/settings", element: }, + { path: "/", element: }, + { path: "/settings", element: }, ]} > ); diff --git a/ui/frontend/build_src/src/api/index.ts b/ui/frontend/build_src/src/api/index.ts index 82e07633..2fba8a5f 100644 --- a/ui/frontend/build_src/src/api/index.ts +++ b/ui/frontend/build_src/src/api/index.ts @@ -60,6 +60,7 @@ export const toggleBetaConfig = async (branch: string) => { export interface ImageRequest { session_id: string; prompt: string; + negative_prompt: string; seed: number; num_outputs: number; num_inference_steps: number; @@ -136,3 +137,10 @@ export const doMakeImage = async (reqBody: ImageRequest) => { }); return res; }; + +export const doStopImage = async () => { + + const response = await fetch(`${API_URL}/image/stop`); + const data = await response.json(); + return data; +}; \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/_recipes/button.css.ts b/ui/frontend/build_src/src/components/_recipes/button.css.ts new file mode 100644 index 00000000..d801ee14 --- /dev/null +++ b/ui/frontend/build_src/src/components/_recipes/button.css.ts @@ -0,0 +1,140 @@ +// would prefer to use a var here, but it doesn't work +// vars: { +// '--button-base-saturation': vars.colorMod.saturation.normal, +// '--button-base-lightness': vars.colorMod.lightness.normal, +// }, + + +import { recipe } from "@vanilla-extract/recipes"; +import { vars } from "../../styles/theme/index.css"; + +export const buttonStyle = recipe({ + + base: { + fontSize: vars.fonts.sizes.Subheadline, + fontWeight: "bold", + color: vars.colors.text.normal, + padding: vars.spacing.small, + border: "0", + borderRadius: vars.trim.smallBorderRadius, + }, + + variants: { + color: { + primary: { + // @ts-expect-error + '--button-hue': vars.brandHue, + '--button-base-saturation': vars.colorMod.saturation.normal, + '--button-base-lightness': vars.colorMod.lightness.normal, + }, + secondary: { + // @ts-expect-error + '--button-hue': vars.secondaryHue, + '--button-base-saturation': vars.colorMod.saturation.normal, + '--button-base-lightness': vars.colorMod.lightness.normal, + }, + tertiary: { + // @ts-expect-error + '--button-hue': vars.tertiaryHue, + '--button-base-saturation': vars.colorMod.saturation.normal, + '--button-base-lightness': vars.colorMod.lightness.normal, + }, + cancel: { + // @ts-expect-error + '--button-hue': vars.errorHue, + '--button-base-saturation': vars.colorMod.saturation.normal, + '--button-base-lightness': vars.colorMod.lightness.normal, + }, + accent: { + // @ts-expect-error + '--button-hue': vars.backgroundAccentHue, + '--button-base-saturation': vars.backgroundAccentSaturation, + '--button-base-lightness': vars.backgroundAccentLightness, + }, + clear: { + backgroundColor: "transparent", + }, + }, + + type: { + fill: { + backgroundColor: `hsl(var(--button-hue),var(--button-base-saturation),${vars.colorMod.lightness.normal})`, + border: `1px solid hsl(var(--button-hue),var(--button-base-saturation),${vars.colorMod.lightness.normal})`, + ":hover": { + backgroundColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.normal})`, + border: `1px solid hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.normal})`, + }, + ":active": { + backgroundColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, + border: `1px solid hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, + }, + + ":focus": { + backgroundColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, + border: `1px solid hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, + }, + + ":disabled": { + backgroundColor: `hsl(var(--button-hue),${vars.colorMod.saturation.dim},${vars.colorMod.lightness.dim})`, + border: `1px solid hsl(var(--button-hue),${vars.colorMod.saturation.dim},${vars.colorMod.lightness.dim})`, + }, + }, + outline: { + backgroundColor: "transparent", + border: `1px solid hsl(var(--button-hue),var(--button-base-saturation),${vars.colorMod.lightness.normal})`, + ":hover": { + borderColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.normal})`, + }, + + ":active": { + borderColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, + }, + + ":focus": { + borderColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, + }, + + ":disabled": { + borderColor: `hsl(var(--button-hue),${vars.colorMod.saturation.dim},${vars.colorMod.lightness.dim})`, + }, + }, + action: { + backgroundColor: "transparent", + color: `hsl(var(--button-hue),var(--button-base-saturation),${vars.colorMod.lightness.normal})`, + textDecoration: "underline", + ":hover": { + color: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.normal})`, + }, + + ":active": { + color: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, + }, + + ":focus": { + color: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, + }, + + ":disabled": { + color: `hsl(var(--button-hue),${vars.colorMod.saturation.dim},${vars.colorMod.lightness.dim})`, + }, + } + }, + + size: { + slim: { + padding: vars.spacing.min, + fontSize: vars.fonts.sizes.Caption, + }, + large: { + width: "100%", + fontSize: vars.fonts.sizes.Headline, + } + } + }, + + defaultVariants: { + color: "primary", + type: "fill", + }, + +}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/_recipes/card.css.ts b/ui/frontend/build_src/src/components/_recipes/card.css.ts new file mode 100644 index 00000000..efec2fa1 --- /dev/null +++ b/ui/frontend/build_src/src/components/_recipes/card.css.ts @@ -0,0 +1,51 @@ +import { recipe } from "@vanilla-extract/recipes"; +import { vars } from "../../styles/theme/index.css"; + +export const card = recipe({ + + base: { + color: vars.colors.text.normal, + padding: vars.spacing.medium, + }, + + variants: { + backing: { + normal: { + background: vars.backgroundMain, + }, + light: { + background: vars.backgroundLight, + }, + dark: { + background: vars.backgroundDark, + }, + }, + + rounded: { + true: { + borderRadius: vars.trim.smallBorderRadius, + }, + }, + + info: { + true: { + background: vars.backgroundDark, + border: `1px solid ${vars.backgroundAccentMain}`, + }, + }, + + level: { + flat: {}, + 1: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, + 2: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, + 3: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, + }, + }, + defaultVariants: { + backing: "light", + level: 'flat', + rounded: true, + }, +}); + + diff --git a/ui/frontend/build_src/src/components/_recipes/index.css.ts b/ui/frontend/build_src/src/components/_recipes/index.css.ts new file mode 100644 index 00000000..578e13a3 --- /dev/null +++ b/ui/frontend/build_src/src/components/_recipes/index.css.ts @@ -0,0 +1,24 @@ +import { recipe } from "@vanilla-extract/recipes"; +import { vars } from "../../styles/theme/index.css"; + + +export const card = recipe({ + base: { + background: vars.backgroundMain, + color: vars.colors.text.normal, + padding: vars.spacing.medium, + borderRadius: vars.trim.smallBorderRadius, + }, + variants: { + level: { + 1: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, + 2: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, + 3: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, + }, + }, + defaultVariants: { + level: 1, + }, +}); + + diff --git a/ui/frontend/build_src/src/components/_headless/popover/index.css.ts b/ui/frontend/build_src/src/components/_recipes/popover_headless.css.ts similarity index 61% rename from ui/frontend/build_src/src/components/_headless/popover/index.css.ts rename to ui/frontend/build_src/src/components/_recipes/popover_headless.css.ts index 06b66c91..b006c14c 100644 --- a/ui/frontend/build_src/src/components/_headless/popover/index.css.ts +++ b/ui/frontend/build_src/src/components/_recipes/popover_headless.css.ts @@ -1,7 +1,12 @@ import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from "../../../styles/theme/index.css"; +// import { recipe } from "@vanilla-extract/recipes"; +import { vars } from "../../styles/theme/index.css"; + +import { + card +} from "./card.css"; export const PopoverMain = style({ position: 'relative' @@ -19,16 +24,16 @@ globalStyle(`${PopoverButtonStyle} > i`, { marginRight: vars.spacing.small, }); -export const PopoverPanelMain = style({ +export const PopoverPanelMain = style([card( + { + backing: 'dark', + level: 2, + } +), { position: 'absolute', top: '100%', right: '0', zIndex: '1', - background: vars.colors.backgroundDark, - color: vars.colors.text.normal, - padding: vars.spacing.medium, - borderRadius: vars.trim.smallBorderRadius, - marginBottom: vars.spacing.medium, -}); +}]); diff --git a/ui/frontend/build_src/src/components/_headless/switch/index.css.ts b/ui/frontend/build_src/src/components/_recipes/switch_headless.css.ts similarity index 70% rename from ui/frontend/build_src/src/components/_headless/switch/index.css.ts rename to ui/frontend/build_src/src/components/_recipes/switch_headless.css.ts index d9922b20..22a5be25 100644 --- a/ui/frontend/build_src/src/components/_headless/switch/index.css.ts +++ b/ui/frontend/build_src/src/components/_recipes/switch_headless.css.ts @@ -1,6 +1,7 @@ import { style, } from "@vanilla-extract/css"; -//import { vars } from "../../../styles/theme/index.css"; +// import { recipe } from "@vanilla-extract/recipes"; +import { vars } from "../../styles/theme/index.css"; export const SwitchGroupMain = style({ }); diff --git a/ui/frontend/build_src/src/components/_recipes/tabs_headless.css.ts b/ui/frontend/build_src/src/components/_recipes/tabs_headless.css.ts new file mode 100644 index 00000000..b66d4a9b --- /dev/null +++ b/ui/frontend/build_src/src/components/_recipes/tabs_headless.css.ts @@ -0,0 +1,60 @@ +import { style } from '@vanilla-extract/css'; +import { recipe } from "@vanilla-extract/recipes"; +import { vars } from "../../styles/theme/index.css"; + +export const tabStyles = recipe({ + base: { + background: vars.backgroundMain, + color: vars.colors.text.normal, + padding: vars.spacing.small, + borderRadius: `${vars.trim.smallBorderRadius} ${vars.trim.smallBorderRadius} 0 0`, + border: `1px solid ${vars.backgroundLight}`, + borderBottom: 'none', + marginLeft: vars.spacing.small, + boxShadow: `0px -1px 4px -2px ${vars.backgroundAccentMain} inset`, + width: 'fit-content', + ':focus': { + outline: 'none', + }, + }, + + variants: { + selected: { + true: { + background: vars.backgroundLight, + color: vars.colors.text.normal, + boxShadow: `0px -1px 4px -2px ${vars.backgroundDark} inset`, + } + } + } +}); + +export const tabPanelStyles = recipe({ + base: { + color: vars.colors.text.normal, + // borderRadius: `0 0 ${vars.trim.smallBorderRadius} ${vars.trim.smallBorderRadius}`, + background: vars.backgroundLight, + padding: vars.spacing.medium, + flexGrow: 1, + overflow: 'auto', + // "::-webkit-scrollbar": { + // width: "4px", + // }, + + }, + variants: { + + backing: { + normal: { + background: vars.backgroundMain, + }, + light: { + background: vars.backgroundLight, + }, + dark: { + background: vars.backgroundDark, + }, + }, + }, +}); + diff --git a/ui/frontend/build_src/src/components/atoms/modifierTag/index.tsx b/ui/frontend/build_src/src/components/atoms/modifierTag/index.tsx deleted file mode 100644 index c073bc40..00000000 --- a/ui/frontend/build_src/src/components/atoms/modifierTag/index.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import React from "react"; -import { - ModifierPreview, - useImageCreate -} from "../../../stores/imageCreateStore"; - -import { API_URL } from "../../../api"; - -import { - ModifierTagMain, - tagPreview -} from "./modifierTags.css"; - -interface ModifierTagProps { - name: string; - category: string; - previews: ModifierPreview[]; -} - -export default function ModifierTag({ name, category, previews }: ModifierTagProps) { - - const previewType: 'portrait' | 'landscape' = "portrait"; - - const hasTag = useImageCreate((state) => state.hasTag(category, name)) - ? "selected" - : ""; - const toggleTag = useImageCreate((state) => state.toggleTag); - - const _toggleTag = () => { - toggleTag(category, name); - }; - - return ( -
-

{name}

-
- {previews.map((preview) => { - if (preview.name !== previewType) { - return null; - } - return ( - {preview.name} - ); - })} -
-
- ); -} diff --git a/ui/frontend/build_src/src/components/atoms/modifierTag/modifierTags.css.ts b/ui/frontend/build_src/src/components/atoms/modifierTag/modifierTags.css.ts deleted file mode 100644 index e446dc38..00000000 --- a/ui/frontend/build_src/src/components/atoms/modifierTag/modifierTags.css.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; - -// .modifierTag.selected { -// background-color: rgb(131, 11, 121); -// } - - -export const ModifierTagMain = style({ - display: "inline-block", - padding: "6px", - backgroundColor: "rgb(38, 77, 141)", - color: "#fff", - borderRadius: "5px", - margin: "5px", -}); - -// export const ModifierTagSelected = style({ -// backgroundColor: "rgb(131, 11, 121)", -// }); - -globalStyle(`${ModifierTagMain}.selected`, { - backgroundColor: "rgb(131, 11, 121)", -}) - -globalStyle(`${ModifierTagMain} p`, { - margin: 0, - textAlign: "center", - marginBottom: "2px", -}); - - -export const tagPreview = style({ - display: 'flex', - justifyContent: 'center', -}); - -globalStyle(`${tagPreview} img`, { - width: "90px", - height: "100%", - objectFit: "cover", - objectPosition: "center", -}); - diff --git a/ui/frontend/build_src/src/components/layouts/CreationTabs/creationTabs.css.ts b/ui/frontend/build_src/src/components/layouts/CreationTabs/creationTabs.css.ts new file mode 100644 index 00000000..8b1e9b35 --- /dev/null +++ b/ui/frontend/build_src/src/components/layouts/CreationTabs/creationTabs.css.ts @@ -0,0 +1,34 @@ +import { style, globalStyle } from "@vanilla-extract/css"; +import { vars } from "../../../styles/theme/index.css"; +import { + tabPanelStyles, +} from "../../_recipes/tabs_headless.css"; + + +export const TabpanelScrollFlop = style([tabPanelStyles(), { + direction: 'rtl', + // position: 'relative', + overflow: 'overlay', + "::-webkit-scrollbar": { + position: 'absolute', + width: "6px", + backgroundColor: vars.backgroundAccentMain, + }, + + "::-webkit-scrollbar-thumb": { + backgroundColor: vars.backgroundDark, + borderRadius: "4px", + }, + + + // "::-webkit-scrollbar-button: { + // backgroundColor: vars.backgroundDark, + // } + + +}]); + +globalStyle(`${TabpanelScrollFlop} > *`, { + direction: 'ltr', + +}); diff --git a/ui/frontend/build_src/src/components/layouts/CreationTabs/index.tsx b/ui/frontend/build_src/src/components/layouts/CreationTabs/index.tsx new file mode 100644 index 00000000..4d4d4965 --- /dev/null +++ b/ui/frontend/build_src/src/components/layouts/CreationTabs/index.tsx @@ -0,0 +1,61 @@ +import React, { Fragment } from "react"; +import { Tab } from '@headlessui/react'; + + + +import CreationPanel from "../../organisms/creationPanel"; +import QueueDisplay from "../../organisms/queueDisplay"; + +import ProcessingStatus from "../../molecules/queueStatusTab"; + +import { + tabStyles, +} from "../../_recipes/tabs_headless.css"; + +import { + TabpanelScrollFlop +} from "./creationTabs.css"; + +export default function CreationTabs() { + + return ( + + + + {({ selected }) => ( + + )} + + + + {({ selected }) => ( + + + )} + + + + + + + + + + + + + + ); +} diff --git a/ui/frontend/build_src/src/components/layouts/basicDisplay/basicDisplay.css.ts b/ui/frontend/build_src/src/components/layouts/basicDisplay/basicDisplay.css.ts new file mode 100644 index 00000000..29ed38b6 --- /dev/null +++ b/ui/frontend/build_src/src/components/layouts/basicDisplay/basicDisplay.css.ts @@ -0,0 +1,107 @@ +import { style, globalStyle } from "@vanilla-extract/css"; +import { vars } from "../../../styles/theme/index.css"; + +import { + tabStyles +} from "../../_recipes/tabs_headless.css"; + + +export const basicDisplayLayout = style({ + width: "100%", + height: "100%", + display: "grid", + gridTemplateColumns: "1fr 250px", + gridTemplateRows: "1fr 250px", + gridTemplateAreas: ` + "content info" + "history history"`, + + overflow: "hidden", + + selectors: { + '&[data-hide-info]': { + gridTemplateColumns: "1fr", + gridTemplateRows: "1fr 250px", + // gridTemplateAreas: ` + // "content" + // "history"`, + }, + '&[data-hide-history]': { + gridTemplateColumns: "1fr 250px", + gridTemplateRows: "1fr 0px", + // gridTemplateAreas: ` + // "content info"`, + }, + '&[data-hide-info][data-hide-history]': { + gridTemplateColumns: "1fr 0px", + gridTemplateRows: "1fr 0px", + // gridTemplateAreas: ` + // "content"`, + }, + }, + + + // "@media": { + // "screen and (max-width: 800px)": { + // gridTemplateColumns: "1fr", + // gridTemplateRows: "100px 300px 1fr", + // gridTemplateAreas: ` + // "header" + // "create" + // "display" + // `, + // }, + // }, + +}); + +// globalStyle(`${basicDisplayLayout}.hideHistory`, { + +// }); + +export const contentLayout = style({ + gridArea: "content", +}); + +export const infoLayout = style({ + gridArea: "info", + position: "relative", +}); + +export const historyLayout = style({ + gridArea: "history", + position: "relative", +}); + +globalStyle(`${historyLayout} > button`, { + position: "absolute", + top: '-29px', +}); + +export const displayContainer = style({ + flexGrow: 1, + overflow: 'auto', + display: "flex", +}); + +export const displayData = style({ + width: '250px', + height: '100%', + backgroundColor: 'rebeccapurple', + position: 'relative', +}); + +export const DataTab = style([tabStyles(), { + position: 'absolute', + top: '0', + left: '0', + + // pretty sure this is a magic number + transformOrigin: '37% 275%', + transform: 'rotate(-90deg)', +}]); + + +// export const previousImages = style({ +// minHeight: '250px', +// }); diff --git a/ui/frontend/build_src/src/components/layouts/basicDisplay/index.tsx b/ui/frontend/build_src/src/components/layouts/basicDisplay/index.tsx new file mode 100644 index 00000000..814ec58f --- /dev/null +++ b/ui/frontend/build_src/src/components/layouts/basicDisplay/index.tsx @@ -0,0 +1,65 @@ + +import React, { useState, useRef, useEffect } from "react"; +import { Transition } from '@headlessui/react' + +import CurrentDisplay from "../../organisms/currentDisplay"; +import CompletedImages from "../../organisms/completedImages"; +import CurrentInfo from "../../organisms/currentInfo"; + + +import { + tabStyles +} from "../../_recipes/tabs_headless.css"; + +import { + basicDisplayLayout, + contentLayout, + infoLayout, + historyLayout +} from "./basicDisplay.css"; + +export default function BasicDisplay() { + + const [isShowingHistory, setIsShowingHistory] = useState(true) + + const layoutRef = useRef(null); + + useEffect(() => { + + if (layoutRef.current != undefined) { + // set the hide-history data attribute + if (isShowingHistory) { + layoutRef.current.removeAttribute('data-hide-history'); + } + else { + // layoutRef.current.dataset.hideHistory = "true"; + layoutRef.current.setAttribute('data-hide-history', ''); + } + } + }, [layoutRef, isShowingHistory]); + + + return ( +
+
+ +
+ + {/*
+ +
*/} + +
+ + +
+
+ ); +} diff --git a/ui/frontend/build_src/src/components/molecules/clearQueue/index.tsx b/ui/frontend/build_src/src/components/molecules/clearQueue/index.tsx new file mode 100644 index 00000000..04de1342 --- /dev/null +++ b/ui/frontend/build_src/src/components/molecules/clearQueue/index.tsx @@ -0,0 +1,35 @@ +import React from "react"; +import { doStopImage } from "../../../api"; +import { useRequestQueue } from "../../../stores/requestQueueStore"; + +import { + buttonStyle +} from "../../_recipes/button.css"; + + +export default function ClearQueue() { + + const hasQueue = useRequestQueue((state) => state.hasAnyQueue()); + const clearQueue = useRequestQueue((state) => state.clearQueue); + + const stopAll = async () => { + try { + clearQueue(); + const res = await doStopImage(); + } catch (e) { + console.log(e); + } + }; + + return ( + + ); +} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/makeButton/index.tsx b/ui/frontend/build_src/src/components/molecules/makeButton/index.tsx similarity index 80% rename from ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/makeButton/index.tsx rename to ui/frontend/build_src/src/components/molecules/makeButton/index.tsx index 233b8743..708f4686 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/makeButton/index.tsx +++ b/ui/frontend/build_src/src/components/molecules/makeButton/index.tsx @@ -1,31 +1,37 @@ /* eslint-disable @typescript-eslint/naming-convention */ import React, { useEffect, useRef } from "react"; -import { useImageCreate } from "../../../../../stores/imageCreateStore"; -import { useImageQueue } from "../../../../../stores/imageQueueStore"; +import { useImageCreate } from "../../../stores/imageCreateStore"; +import { + QueueStatus, + useRequestQueue +} from "../../../stores/requestQueueStore"; + import { FetchingStates, useImageFetching -} from "../../../../../stores/imageFetchingStore"; +} from "../../../stores/imageFetchingStore"; -import { useImageDisplay } from "../../../../../stores/imageDisplayStore"; + +import { useImageDisplay } from "../../../stores/imageDisplayStore"; import { v4 as uuidv4 } from "uuid"; -import { useRandomSeed } from "../../../../../utils"; +import { useRandomSeed } from "../../../utils"; import { ImageRequest, ImageReturnType, ImageOutput, doMakeImage, -} from "../../../../../api"; +} from "../../../api"; + import { - MakeButtonStyle, -} from "./makeButton.css"; + buttonStyle +} from "../../_recipes/button.css"; import { useTranslation } from "react-i18next"; -import AudioDing from "../../../../molecules/audioDing"; +import AudioDing from "../../molecules/audioDing"; const idDelim = "_batch"; @@ -39,10 +45,12 @@ export default function MakeButton() { const isRandomSeed = useImageCreate((state) => state.isRandomSeed()); const setRequestOption = useImageCreate((state) => state.setRequestOptions); - const addNewImage = useImageQueue((state) => state.addNewImage); - const hasQueue = useImageQueue((state) => state.hasQueuedImages()); - const removeFirstInQueue = useImageQueue((state) => state.removeFirstInQueue); - const { id, options } = useImageQueue((state) => state.firstInQueue()); + const isSoundEnabled = useImageCreate((state) => state.isSoundEnabled()); + + const addtoQueue = useRequestQueue((state) => state.addtoQueue); + const hasQueue = useRequestQueue((state) => state.hasPendingQueue()); + const { id, options } = useRequestQueue((state) => state.firstInQueue()); + const updateQueueStatus = useRequestQueue((state) => state.updateStatus); const status = useImageFetching((state) => state.status); const setStatus = useImageFetching((state) => state.setStatus); @@ -59,10 +67,13 @@ export default function MakeButton() { const hackJson = (jsonStr: string, id: string) => { try { - const parsed = JSON.parse(jsonStr); const { status, request, output: outputs } = parsed as ImageReturnType; + + if (status === 'succeeded') { + + updateQueueStatus(id, QueueStatus.complete); outputs.forEach((output: any, index: number) => { const { data, seed } = output as ImageOutput; @@ -77,11 +88,13 @@ export default function MakeButton() { else { console.warn(`Unexpected status: ${status}`); + updateQueueStatus(id, QueueStatus.error); } } catch (e) { - console.log("Error HACKING JSON: ", e) + updateQueueStatus(id, QueueStatus.error); + console.warn("Error HACKING JSON: ", e) } } @@ -93,10 +106,11 @@ export default function MakeButton() { const { done, value } = await reader.read(); const jsonStr = decoder.decode(value); if (done) { - removeFirstInQueue(); setStatus(FetchingStates.COMPLETE); hackJson(finalJSON, id); - void dingRef.current?.play(); + if (isSoundEnabled) { + void dingRef.current?.play(); + } break; } @@ -129,18 +143,17 @@ export default function MakeButton() { // TODO this should be the the new out instead of the try catch // wait for the path to come back instead of the data setStatus(FetchingStates.SUCCEEDED); - console.log(update); } else if (status === 'failed') { console.warn('failed'); - console.log(update); + console.warn(update); } else { - console.log("UNKNOWN ?", update); + console.warn("UNKNOWN ?", update); } } catch (e) { - console.log('EXPECTED PARSE ERRROR') + // console.log('EXPECTED PARSE ERRROR') finalJSON += jsonStr; } @@ -149,8 +162,8 @@ export default function MakeButton() { const startStream = async (id: string, req: ImageRequest) => { - try { + updateQueueStatus(id, QueueStatus.processing); resetForFetching(); const res = await doMakeImage(req); const reader = res.body?.getReader(); @@ -161,12 +174,13 @@ export default function MakeButton() { } catch (e) { console.log('TOP LINE STREAM ERROR') + updateQueueStatus(id, QueueStatus.error); console.log(e); } } - const queueImageRequest = async (req: ImageRequest) => { + const queueImageRequest = (req: ImageRequest) => { // the actual number of request we will make const requests = []; // the number of images we will make @@ -198,7 +212,7 @@ export default function MakeButton() { seed = useRandomSeed(); } // add the request to the queue - addNewImage(uuidv4(), { + addtoQueue(uuidv4(), { ...req, // updated the number of images to make num_outputs: num, @@ -216,12 +230,12 @@ export default function MakeButton() { } // the request that we have built const req = builtRequest(); - await queueImageRequest(req); + queueImageRequest(req); }; useEffect(() => { const makeImages = async (options: ImageRequest) => { - // potentially update the seed + // removeFirstInQueue(); await startStream(id ?? "", options); } @@ -235,6 +249,7 @@ export default function MakeButton() { console.log('req is undefined'); return; } + makeImages(options).catch((e) => { console.log('HAS QUEUE ERROR'); console.log(e); @@ -246,11 +261,12 @@ export default function MakeButton() { return ( <> diff --git a/ui/frontend/build_src/src/components/molecules/modifierTag/index.tsx b/ui/frontend/build_src/src/components/molecules/modifierTag/index.tsx new file mode 100644 index 00000000..cd4330f1 --- /dev/null +++ b/ui/frontend/build_src/src/components/molecules/modifierTag/index.tsx @@ -0,0 +1,93 @@ +import React, { useState } from "react"; +import { v4 as uuidv4 } from "uuid"; +import { + ModifierPreview, + useImageCreate +} from "../../../stores/imageCreateStore"; + +import { API_URL } from "../../../api"; + +import { + IconFont, +} from "../../../styles/shared.css"; + +import { + ModifierTagMain, + ModifierActions, + tagPreview, + TagText, + TagToggle, +} from "./modifierTags.css"; + +interface ModifierTagProps { + name: string; + category: string; + previews: ModifierPreview[]; +} + +export default function ModifierTag({ name, category, previews }: ModifierTagProps) { + + const previewType: 'portrait' | 'landscape' = "portrait"; + + const [showActions, setShowActions] = useState(false); + + const handleHover = () => { + setShowActions(true); + }; + + const handleLeave = () => { + setShowActions(false); + }; + + const addCreateTag = useImageCreate((state) => state.addCreateTag); + const setPositivePrompt = () => { + addCreateTag({ id: uuidv4(), name, type: 'positive' }); + } + const setNegativePrompt = () => { + addCreateTag({ id: uuidv4(), name, type: 'negative' }); + } + + + const hasTag = useImageCreate((state) => state.hasTag(category, name)) + ? "selected" + : ""; + const toggleTag = useImageCreate((state) => state.toggleTag); + + const _toggleTag = () => { + toggleTag(category, name); + }; + + // , hasTag].join(" ") + return ( +
+

{name}

+ {showActions && ( +
+ + +
+ )} + {/*
+ {previews.map((preview) => { + if (preview.name !== previewType) { + return null; + } + return ( + {preview.name} + ); + })} +
*/} +
+ ); +} diff --git a/ui/frontend/build_src/src/components/molecules/modifierTag/modifierTags.css.ts b/ui/frontend/build_src/src/components/molecules/modifierTag/modifierTags.css.ts new file mode 100644 index 00000000..3ceb5c1f --- /dev/null +++ b/ui/frontend/build_src/src/components/molecules/modifierTag/modifierTags.css.ts @@ -0,0 +1,69 @@ +import { style, globalStyle } from "@vanilla-extract/css"; +import { vars } from '../../../styles/theme/index.css'; + +import { card } from '../../_recipes/card.css'; + +export const ModifierTagMain = style([ + card({ + backing: 'normal', + level: 1, + info: true + }), { + position: "relative", + width: "fit-content", + borderColor: `hsl(${vars.brandHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, + padding: vars.spacing.small, + } +]); + +globalStyle(`${ModifierTagMain}.selected`, { + backgroundColor: "rgb(131, 11, 121)", +}) + +globalStyle(`${ModifierTagMain} p`, { + margin: 0, + textAlign: "center", + marginBottom: "2px", +}); + + +export const TagText = style({ + opacity: 1, +}); + +export const TagToggle = style({ + opacity: 0.3, +}); + + +export const ModifierActions = style({ + position: "absolute", + top: "0", + left: "0", + height: "100%", + width: "100%", + display: "flex", + flexDirection: "row", +}); + +globalStyle(`${ModifierActions} button`, { + flexGrow: 1, + backgroundColor: "transparent", + border: "none", + boxShadow: `inset 0 0 24px 0px rgb(255 255 255 / 50%)`, + borderRadius: "5px", + padding: "0", +}); + +export const tagPreview = style({ + display: 'flex', + justifyContent: 'center', +}); + +globalStyle(`${tagPreview} img`, { + width: "90px", + height: "100%", + objectFit: "cover", + objectPosition: "center", +}); + diff --git a/ui/frontend/build_src/src/components/molecules/promptTag/index.tsx b/ui/frontend/build_src/src/components/molecules/promptTag/index.tsx new file mode 100644 index 00000000..2a87a64b --- /dev/null +++ b/ui/frontend/build_src/src/components/molecules/promptTag/index.tsx @@ -0,0 +1,68 @@ +import React, { useState } from "react"; + +import { useImageCreate } from "../../../stores/imageCreateStore"; + +import { + IconFont, +} from "../../../styles/shared.css"; + +import { + PromptTagMain, + TagToggle, + TagRemoveButton, + PromptTagText, + PromptTagToggle +} from "./promptTag.css"; + +interface PromptTagProps { + id: string; + name: string; + category?: string; + previews?: string[]; + type: string; +}; + +export default function PromptTag({ id, name, category, previews, type }: PromptTagProps) { + + const [showToggle, setShowToggle] = useState(false); + + const removeCreateTag = useImageCreate((state) => state.removeCreateTag); + const changeCreateTagType = useImageCreate((state) => state.changeCreateTagType); + + const handleHover = () => { + setShowToggle(true); + }; + + const handleLeave = () => { + setShowToggle(false); + }; + + const toggleType = () => { + if (type === 'positive') { + changeCreateTagType(id, 'negative'); + } + else { + changeCreateTagType(id, 'positive'); + } + }; + + const handleRemove = () => { + console.log('remove'); + removeCreateTag(id); + }; + + return ( +
+

{name}

+ {showToggle && } + {showToggle && } +
+ ); +}; \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/molecules/promptTag/promptTag.css.ts b/ui/frontend/build_src/src/components/molecules/promptTag/promptTag.css.ts new file mode 100644 index 00000000..f8932121 --- /dev/null +++ b/ui/frontend/build_src/src/components/molecules/promptTag/promptTag.css.ts @@ -0,0 +1,55 @@ +/* eslint-disable @typescript-eslint/restrict-template-expressions */ +import { style, globalStyle } from '@vanilla-extract/css'; + +import { XButton } from "../../../styles/shared.css"; +import { vars } from '../../../styles/theme/index.css'; +import { card } from '../../_recipes/card.css'; + + +export const PromptTagMain = style([ + card({ + backing: 'normal', + level: 1, + info: true + }), { + position: "relative", + width: "fit-content", + backgroundColor: `hsl(${vars.backgroundLight}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, + padding: vars.spacing.small, + } +]); + +export const PromptTagText = style({ + opacity: 1, + fontSize: vars.fonts.sizes.Plain, +}); + +export const PromptTagToggle = style({ + opacity: 0.3, + fontSize: vars.fonts.sizes.Plain, +}); + +globalStyle(`${PromptTagMain}.positive`, { + borderColor: `hsl(${vars.brandHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, +}); + +globalStyle(`${PromptTagMain}.negative`, { + borderColor: `hsl(${vars.errorHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, +}); + +export const TagToggle = style({ + position: "absolute", + top: "0", + right: "0", + height: "100%", + width: "100%", + border: "none", + backgroundColor: "transparent", + boxShadow: `inset 0 0 24px 0px rgb(255 255 255 / 50%)`, +}); + +export const TagRemoveButton = style([XButton, { + top: '-4px', + left: '4px', + padding: '0', +}]); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/molecules/queueStatusTab/index.tsx b/ui/frontend/build_src/src/components/molecules/queueStatusTab/index.tsx new file mode 100644 index 00000000..b0dd173c --- /dev/null +++ b/ui/frontend/build_src/src/components/molecules/queueStatusTab/index.tsx @@ -0,0 +1,70 @@ +import React, { useEffect, useState } from "react"; + +import { FetchingStates, useImageFetching } from "../../../stores/imageFetchingStore"; +import { useRequestQueue } from "../../../stores/requestQueueStore"; + +export default function QueueStatusTab() { + + + const [showBasicQueue, setShowBasicQueue] = useState(true); + + const hasPendingQueue = useRequestQueue((state) => state.hasPendingQueue()); + const pendingRequests = useRequestQueue((state) => state.pendingRequests()); + + const status = useImageFetching((state) => state.status); + + const step = useImageFetching((state) => state.step); + const totalSteps = useImageFetching((state) => state.totalSteps); + + const startTime = useImageFetching((state) => state.timeStarted); + const timeNow = useImageFetching((state) => state.timeNow); + const [timeRemaining, setTimeRemaining] = useState(0); + + const [percent, setPercent] = useState(0); + + useEffect(() => { + if (totalSteps > 0) { + setPercent(Math.round((step / totalSteps) * 100)); + } else { + setPercent(0); + } + }, [step, totalSteps]); + + useEffect(() => { + // find the remaining time + const timeTaken = +timeNow - +startTime; + const timePerStep = step == 0 ? 0 : timeTaken / step; + const totalTime = timePerStep * totalSteps; + const timeRemaining = (totalTime - timeTaken) / 1000; + // @ts-expect-error + setTimeRemaining(timeRemaining.toPrecision(3)); + + }, [step, totalSteps, startTime, timeNow, setTimeRemaining]); + + useEffect(() => { + if (hasPendingQueue) { + setShowBasicQueue(false); + } + }, [status, hasPendingQueue]); + + // {/* {showBasicQueue + // ? <> */} + // Queue + // {/* + // : <> + // Percent: {percent}% + // npm + // } */} + + + return ( + <> + Queue + {hasPendingQueue && Items Remaining: {pendingRequests.length} } + + ) + +} + + + diff --git a/ui/frontend/build_src/src/components/molecules/stopButton/index.tsx b/ui/frontend/build_src/src/components/molecules/stopButton/index.tsx new file mode 100644 index 00000000..9c0864bf --- /dev/null +++ b/ui/frontend/build_src/src/components/molecules/stopButton/index.tsx @@ -0,0 +1,25 @@ +import React from "react"; +import { doStopImage } from "../../../api"; + + +import { + buttonStyle +} from "../../_recipes/button.css"; + +export default function StopButton() { + + const stopMake = async () => { + try { + const res = await doStopImage(); + } catch (e) { + console.log(e); + } + }; + + return ; +} diff --git a/ui/frontend/build_src/src/components/organisms/displayPanel/completedImages/completedImages.css.ts b/ui/frontend/build_src/src/components/organisms/completedImages/completedImages.css.ts similarity index 58% rename from ui/frontend/build_src/src/components/organisms/displayPanel/completedImages/completedImages.css.ts rename to ui/frontend/build_src/src/components/organisms/completedImages/completedImages.css.ts index b7554cbc..c5d98bc1 100644 --- a/ui/frontend/build_src/src/components/organisms/displayPanel/completedImages/completedImages.css.ts +++ b/ui/frontend/build_src/src/components/organisms/completedImages/completedImages.css.ts @@ -1,13 +1,26 @@ import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from "../../../../styles/theme/index.css"; +import { vars } from "../../../styles/theme/index.css"; +import { + card as cardStyle, +} from '../../_recipes/card.css' export const completedImagesMain = style({ - height: "100%", + position: "relative", +}); + +// globalStyle(`${completedImagesMain} > button`, { +// position: "absolute", +// top: '-29px', +// }); + +export const completedImagesContent = style([cardStyle(), { + height: "250px", width: "100%", display: "flex", - paddingBottom: vars.spacing.medium, -}); + padding: vars.spacing.medium, + borderRadius: 0, +}]); export const completedImagesList = style({ display: "flex", @@ -19,15 +32,15 @@ export const completedImagesList = style({ paddingLeft: vars.spacing.none, }); -globalStyle(`${completedImagesMain} li`, { +globalStyle(`${completedImagesContent} li`, { position: "relative", }); -globalStyle(`${completedImagesMain} > li:first-of-type`, { +globalStyle(`${completedImagesContent} > li:first-of-type`, { marginLeft: vars.spacing.medium, }); -globalStyle(`${completedImagesMain} > li:last-of-type`, { +globalStyle(`${completedImagesContent} > li:last-of-type`, { marginRight: 0, }); @@ -48,12 +61,3 @@ globalStyle(`${imageContain} img`, { width: "100%", objectFit: "contain", }); - -export const RemoveButton = style({ - marginLeft: vars.spacing.small, - backgroundColor: vars.colors.brand, - border: "0 none", - padding: vars.spacing.small, - cursor: "pointer", - borderRadius: vars.trim.smallBorderRadius, -}); diff --git a/ui/frontend/build_src/src/components/organisms/completedImages/index.tsx b/ui/frontend/build_src/src/components/organisms/completedImages/index.tsx new file mode 100644 index 00000000..593f52c5 --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/completedImages/index.tsx @@ -0,0 +1,87 @@ +import React, { useState } from "react"; + + +import { useImageDisplay } from "../../../stores/imageDisplayStore"; + +import { + completedImagesMain, + completedImagesContent, + completedImagesList, + imageContain, +} from "./completedImages.css"; + +import { + buttonStyle +} from "../../_recipes/button.css"; + +// import { Transition } from '@headlessui/react' + + +// import { +// tabStyles +// } from "../../_recipes/tabs_headless.css"; + +export default function CompletedImages( + +) { + + const [isShowing, setIsShowing] = useState(false) + + + const images = useImageDisplay((state) => state.images); + const setCurrentImage = useImageDisplay((state) => state.setCurrentImage); + const clearDisplay = useImageDisplay((state) => state.clearDisplay); + + const removeImagesAll = () => { + clearDisplay(); + }; + + return ( +
+ {/* */} + {/* */} + +
+ {/* Adjust the dom do we dont do this check twice */} + {images != null && images.length > 0 && ( + + )} +
    + {images?.map((image, index) => { + if (void 0 === image) { + console.warn(`image ${index} is undefined`); + return null; + } + + return ( +
  • + +
  • + ); + })} +
+
+ {/*
*/} +
+ ); +} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/advancedsettings.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/advancedsettings.css.ts index 61226e4a..2bc200fa 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/advancedsettings.css.ts +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/advancedsettings.css.ts @@ -2,12 +2,11 @@ import { style, globalStyle } from "@vanilla-extract/css"; import { vars } from "../../../../styles/theme/index.css"; - export const AdvancedSettingsList = style({ paddingLeft: 0, listStyleType: "none", }); export const AdvancedSettingGrouping = style({ - marginTop: vars.spacing.medium, + marginTop: vars.spacing.small, }); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/improvementSettings/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/improvementSettings/index.tsx index 2f525982..ed423aa8 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/improvementSettings/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/improvementSettings/index.tsx @@ -5,9 +5,12 @@ import { useCreateUI } from "../../creationPanelUIStore"; import { SettingItem, - MenuButton, } from "../../../../../styles/shared.css"; +import { + buttonStyle, +} from "../../../../_recipes/button.css"; + import { useTranslation } from "react-i18next"; export default function ImprovementSettings() { @@ -57,10 +60,13 @@ export default function ImprovementSettings() {
{improvementOpen && ( <> diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/index.tsx index 59583689..4a0da019 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/index.tsx @@ -1,7 +1,15 @@ import React, { useEffect } from "react"; import { useCreateUI } from "../creationPanelUIStore"; -import { PanelBox } from "../../../../styles/shared.css"; + + +import { + card +} from '../../../_recipes/card.css'; + +import { + buttonStyle, +} from "../../../_recipes/button.css"; import { AdvancedSettingsList, @@ -38,15 +46,24 @@ export default function AdvancedSettings() { ); return ( -
+
{advancedSettingsIsOpen && } -
+
); } diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/propertySettings/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/propertySettings/index.tsx index 3d727e08..6d824384 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/propertySettings/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/propertySettings/index.tsx @@ -4,10 +4,14 @@ import { useCreateUI } from "../../creationPanelUIStore"; import { SettingItem, - MenuButton } from "../../../../../styles/shared.css"; +import { + buttonStyle, +} from "../../../../_recipes/button.css"; + + import { useTranslation } from "react-i18next"; @@ -71,8 +75,11 @@ export default function PropertySettings() { return (
- {propertyOpen && ( <> diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/workflowSettings/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/workflowSettings/index.tsx index 7f7898df..ac08418e 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/workflowSettings/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/workflowSettings/index.tsx @@ -5,9 +5,11 @@ import { useCreateUI } from "../../creationPanelUIStore"; import { SettingItem, - MenuButton, } from "../../../../../styles/shared.css"; +import { + buttonStyle, +} from "../../../../_recipes/button.css"; import { useTranslation } from "react-i18next"; @@ -30,8 +32,11 @@ export default function WorkflowSettings() { return (
- {workflowOpen && ( <> diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/activeTags/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/activeTags/index.tsx deleted file mode 100644 index 57b0fd60..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/activeTags/index.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from "react"; - -import { useImageCreate } from "../../../../../stores/imageCreateStore"; -import ModifierTag from "../../../../atoms/modifierTag"; - -export default function ActiveTags() { - const selectedtags = useImageCreate((state) => state.selectedTags()); - - return ( -
-

Active Tags

-
    - {selectedtags.map((tag) => ( -
  • - {/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */} - -
  • - ))} -
-
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/basicCreation.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/basicCreation.css.ts index 8d7573b4..10b402b1 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/basicCreation.css.ts +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/basicCreation.css.ts @@ -1,24 +1,20 @@ import { style, globalStyle } from "@vanilla-extract/css"; -export const CreationBasicMain = style({ - position: "relative", - width: "100%", -}); +import { card } from "../../../_recipes/card.css"; -globalStyle(`${CreationBasicMain} > *`, { - marginBottom: "10px", -}); + +export const CreationBasicMain = style([ + card({ + backing: 'normal', + level: 1 + }), { + position: "relative", + width: "100%", + }] +); export const PromptDisplay = style({}); -globalStyle(`${PromptDisplay} > p`, { - fontSize: "1.5em", - fontWeight: "bold", - marginBottom: "10px", -}); - -globalStyle(`${PromptDisplay} > textarea`, { - width: "100%", - resize: "vertical", - height: "100px", +globalStyle(`${CreationBasicMain} > *`, { + marginBottom: '10px' }); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/index.tsx index a1384dbd..b1aa67c9 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/index.tsx @@ -6,9 +6,12 @@ import { PromptDisplay, } from "./basicCreation.css"; +import MakeButton from "../../../molecules/makeButton"; + +import PromptCreator from "./promptCreator"; +// import CreationActions from "./creationActions"; import SeedImage from "./seedImage"; -import ActiveTags from "./activeTags"; -import MakeButton from "./makeButton"; +import ActiveTags from "./promptCreator/activeTags"; import { useTranslation } from "react-i18next"; @@ -26,15 +29,9 @@ export default function BasicCreation() { return (
-
-

{t("home.editor-title")}

- -
- + - -
); } diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/makeButton/makeButton.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/makeButton/makeButton.css.ts deleted file mode 100644 index 1a7a068e..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/makeButton/makeButton.css.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { style } from "@vanilla-extract/css"; - -import { vars } from "../../../../../styles/theme/index.css"; - -import { BrandedButton } from "../../../../../styles/shared.css"; - -export const MakeButtonStyle = style([BrandedButton, { - width: "100%", - fontSize: vars.fonts.sizes.Headline, -}]); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/activeTags.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/activeTags.css.ts new file mode 100644 index 00000000..555f620d --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/activeTags.css.ts @@ -0,0 +1,18 @@ +import { style } from '@vanilla-extract/css'; +import { vars } from '../../../../../../styles/theme/index.css'; +export const ActiveTagListMain = style({ + display: 'flex', + flexDirection: 'row', + flexWrap: 'wrap', + gap: '10px', + width: '100%', + height: '100%', + overflow: 'visible', + scrollbarWidth: 'none', + msOverflowStyle: 'none', + '::-webkit-scrollbar': { + display: 'none', + }, +}); + + diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/index.tsx new file mode 100644 index 00000000..9406d430 --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/index.tsx @@ -0,0 +1,39 @@ +import React from "react"; + +import { useImageCreate } from "../../../../../../stores/imageCreateStore"; +import ModifierTag from "../../../../../molecules/modifierTag"; + +// import { +// card +// } from '../../../../../_recipes/card.css'; + + + +import PromptTag from "../../../../../molecules/promptTag"; + +import { + ActiveTagListMain +} from "./activeTags.css"; + + +export default function ActiveTags() { + const selectedtags = useImageCreate((state) => state.selectedTags()); + + const createTags = useImageCreate((state) => state.createTags); + + return ( +
+
    + {createTags.map((tag) => { + console.log(tag); + return ( +
  • + {/* @ts-expect-error */} + +
  • ) + } + )} +
+
+ ); +} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/index.tsx new file mode 100644 index 00000000..a7755371 --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/index.tsx @@ -0,0 +1,108 @@ +import React, { useState, ChangeEvent, KeyboardEventHandler, Fragment } from "react"; +import { v4 as uuidv4 } from "uuid"; +import { Switch } from '@headlessui/react' + +import { useImageCreate } from "../../../../../stores/imageCreateStore"; + +import ActiveTags from "./activeTags"; + +import { + IconFont, +} from "../../../../../styles/shared.css"; + +import { + buttonStyle, +} from "../../../../_recipes/button.css"; + +import { + PromptCreatorMain, + ToggleGroupMain, + ToggleMain, + ToggleLabel, + ToggleEnabled, + TogglePill, + buttonRow, +} from "./promptCreator.css"; + + + +import { useTranslation } from "react-i18next"; +import { type } from "os"; + +interface TagTypeProps { + positive: boolean; + setPositive: (positive: boolean) => void; +}; + +function TagTypeToggle({ positive, setPositive }: TagTypeProps) { + return ( + +
+ Type + + + {positive + ? + : } + + +
+
+ ); +} + +export default function PromptCreator() { + + const [positive, setPositive] = useState(true) + const [tagText, setTagText] = useState('An astronaut riding a horse'); + + const addCreateTag = useImageCreate((state) => state.addCreateTag); + + const { t } = useTranslation(); + + const checkForEnter = (event: KeyboardEventHandler) => { + // @ts-expect-error + if (event.key === "Enter") { + if (tagText !== '') { + const type = positive ? "positive" : "negative"; + + tagText.split(',').map((tag) => tag.trim()).forEach((tag) => { + addCreateTag({ id: uuidv4(), name: tag, type }); + }); + //debugger; + + setTagText(''); + } + } + }; + + return ( +
+
+

{t("home.editor-title")}

+ {/* @ts-expect-error */} + { + setTagText(event.target.value) + }}> +
+
+ + + +
+ +
+ ); +} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/promptCreator.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/promptCreator.css.ts new file mode 100644 index 00000000..fbda231d --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/promptCreator.css.ts @@ -0,0 +1,79 @@ +import { style, globalStyle } from '@vanilla-extract/css'; + +import { vars } from "../../../../../styles/theme/index.css"; + +export const PromptCreatorMain = style({ + display: 'flex', + flexDirection: 'column', + width: '100%', + height: '100%', + marginBottom: 0, +}); + +globalStyle(`${PromptCreatorMain} input`, { + width: '100%', +}); + +globalStyle(`${PromptCreatorMain} > div`, { + marginBottom: vars.spacing.small, +}); + +export const ToggleGroupMain = style({ + // '--toggle-size': '30px', +}); + +export const ToggleMain = style({ + background: vars.backgroundDark, + height: '22px', + borderRadius: '15px', + width: '34px', + border: 0, + position: 'relative', + display: 'inline-flex', + padding: 0, + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + boxShadow: `0 0 2px 0 ${vars.backgroundDark}`, +}); + +export const ToggleLabel = style({ +}); + +export const ToggleEnabled = style({ +}); + +globalStyle(`${ToggleMain}[data-headlessui-state="checked"]`, { + background: vars.backgroundLight, +}); + +export const TogglePill = style({ + display: 'inline-flex', + height: '18px', + width: '30px', + borderRadius: '15px', + background: vars.backgroundDark, + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', +}); + +globalStyle(`${ToggleMain}[data-headlessui-state="checked"] ${TogglePill}`, { + background: vars.backgroundAccentMain, +}); + +globalStyle(`${TogglePill} p`, { + color: vars.colors.text.normal, +}); + + +export const buttonRow = style({ + marginTop: vars.spacing.small, + display: 'flex', + flexDirection: 'row', +}); + +globalStyle(`${buttonRow} > button`, { + flexGrow: 1, + marginRight: vars.spacing.medium, +}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/index.tsx index 213225a8..7ceb78f5 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/index.tsx @@ -1,13 +1,20 @@ import React, { useRef, ChangeEvent } from "react"; + + +import { XButton } from "../../../../../styles/shared.css"; + import { ImageInputDisplay, InputLabel, ImageInput, - ImageInputButton, ImageFixer, - XButton, } from "./seedImage.css"; + +import { + buttonStyle +} from "../../../../_recipes/button.css"; + import { useImageCreate } from "../../../../../stores/imageCreateStore"; import { useTranslation } from "react-i18next"; @@ -69,7 +76,7 @@ export default function SeedImage(_props: any) { type="file" onChange={_handleFileSelect} /> -
@@ -98,4 +105,4 @@ export default function SeedImage(_props: any) {
); -} +} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/seedImage.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/seedImage.css.ts index 97a48900..8a5f4a99 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/seedImage.css.ts +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/seedImage.css.ts @@ -2,8 +2,6 @@ import { style } from "@vanilla-extract/css"; import { vars } from "../../../../../styles/theme/index.css"; -import { BrandedButton } from "../../../../../styles/shared.css"; - export const ImageInputDisplay = style({ display: "flex", }); @@ -17,28 +15,9 @@ export const ImageInput = style({ display: "none", }); -export const ImageInputButton = style([BrandedButton]); // this is needed to fix an issue with the image input text // when that is a drag an drop we can remove this export const ImageFixer = style({ marginLeft: "20px", }); - -// just a 1 off component for now -// dont bother bringing in line with the rest of the app -export const XButton = style({ - position: "absolute", - transform: "translateX(-50%) translateY(-35%)", - background: "black", - color: "white", - border: "2pt solid #ccc", - padding: "0", - cursor: "pointer", - outline: "inherit", - borderRadius: "8pt", - width: "16pt", - height: "16pt", - fontFamily: "Verdana", - fontSize: "8pt", -}); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/showQueue/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/showQueue/index.tsx new file mode 100644 index 00000000..287c70ca --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/showQueue/index.tsx @@ -0,0 +1,21 @@ +import React from "react"; + +import { useCreateUI } from "../../creationPanelUIStore"; + +export default function ShowQueue() { + + const showQueue = useCreateUI((state) => state.showQueue); + const toggleQueue = useCreateUI((state) => state.toggleQueue); + + return ( + + ); +} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanel.css b/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanel.css deleted file mode 100644 index f22af7af..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanel.css +++ /dev/null @@ -1,56 +0,0 @@ -.create-layout { - padding: 10px; -} -/* .panel-box-toggle-btn { - display: block; - width: 100%; - text-align: left; - background-color: transparent; - color: #fff; - border: 0 none; - cursor: pointer; -} */ - -.selected-tags { - margin: 10px 0; -} - -.selected-tags ul { - margin: 0; - padding: 0; - display: flex; - flex-wrap: wrap; -} - -li { - list-style: none; -} - -.modifier-list { - display: flex; - flex-wrap: wrap; - margin: 0; - padding: 0; -} - -/* .modifierTag { - display: inline-block; - padding: 6px; - background-color: rgb(38, 77, 141); - color: #fff; - border-radius: 5px; - margin: 5px; -} - -.modifierTag.selected { - background-color: rgb(131, 11, 121); -} - -.modifierTag p { - margin: 0; -} */ - -input[type="file"] { - /* Dont show the file name */ - color: transparent; -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/creationpane.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanel.css.ts similarity index 55% rename from ui/frontend/build_src/src/components/organisms/creationPanel/creationpane.css.ts rename to ui/frontend/build_src/src/components/organisms/creationPanel/creationPanel.css.ts index d336f339..47e6c5c5 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/creationpane.css.ts +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanel.css.ts @@ -1,11 +1,15 @@ -import { style } from "@vanilla-extract/css"; - +import { style, globalStyle } from "@vanilla-extract/css"; +import { vars } from "../../../styles/theme/index.css"; export const CreationPaneMain = style({ position: "relative", width: "100%", height: "100%", - padding: "0 10px", overflowY: "auto", + overflowX: "hidden", +}); + +globalStyle(`${CreationPaneMain} > div`, { + marginBottom: vars.spacing.medium, }); export const InpaintingSlider = style({ diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanelUIStore.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanelUIStore.ts index 2c2d646b..6a615dee 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanelUIStore.ts +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanelUIStore.ts @@ -8,6 +8,7 @@ export interface ImageCreationUIOptions { isOpenAdvPropertySettings: boolean; isOpenAdvWorkflowSettings: boolean; isOpenImageModifier: boolean; + showQueue: boolean; toggleAdvancedSettings: () => void; toggleAdvImprovementSettings: () => void; @@ -15,7 +16,8 @@ export interface ImageCreationUIOptions { toggleAdvWorkflowSettings: () => void; toggleImageModifier: () => void; - // addImageModifier: (modifier: string) => void; + toggleQueue: () => void; + } export const useCreateUI = create( @@ -27,6 +29,7 @@ export const useCreateUI = create( isOpenAdvPropertySettings: false, isOpenAdvWorkflowSettings: false, isOpenImageModifier: false, + showQueue: false, toggleAdvancedSettings: () => { set( @@ -68,6 +71,15 @@ export const useCreateUI = create( }) ); }, + + toggleQueue: () => { + set( + produce((state: ImageCreationUIOptions) => { + state.showQueue = !state.showQueue; + }) + ); + }, + }), { name: "createUI", diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/imageModifiers.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/imageModifiers.css.ts index d6d3a1cd..61056131 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/imageModifiers.css.ts +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/imageModifiers.css.ts @@ -15,12 +15,17 @@ export const ImageModifierGrouping = style({ marginTop: vars.spacing.medium, }); +globalStyle(`${ImageModifierGrouping} h4`, { + fontSize: vars.fonts.sizes.Plain, +}); + export const ModifierListStyle = style({ paddingLeft: 0, listStyleType: "none", display: "flex", flexWrap: "wrap", + gap: vars.spacing.small, }); globalStyle(`${ModifierListStyle} li`, { diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/index.tsx index a0cc296b..9dce96d1 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/index.tsx @@ -1,11 +1,17 @@ import React, { useState } from "react"; - import { - PanelBox, MenuButton, } from "../../../../styles/shared.css"; +import { + card +} from '../../../_recipes/card.css'; + +import { + buttonStyle, +} from "../../../_recipes/button.css"; + import { ImagerModifierGroups, ImageModifierGrouping, @@ -15,7 +21,7 @@ import { import { ModifierObject, useImageCreate } from "../../../../stores/imageCreateStore"; import { useCreateUI } from "../creationPanelUIStore"; -import ModifierTag from "../../../atoms/modifierTag"; +import ModifierTag from "../../../molecules/modifierTag"; interface ModifierListProps { category: string; @@ -49,11 +55,12 @@ function ModifierGrouping({ title, category, tags }: ModifierGroupingProps) { setIsExpanded(!isExpanded); }; - // console.log("ModifierGrouping", tags); - return (
- {isExpanded && } @@ -74,22 +81,27 @@ export default function ImageModifers() { }; return ( -
+
{imageModifierIsOpen && (
    {allModifiers.map((item, index) => { - - // console.log('mod item ', item); - return (
  • diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/index.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/index.css.ts deleted file mode 100644 index d61c5a40..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/index.css.ts +++ /dev/null @@ -1,160 +0,0 @@ -import { - createGlobalTheme, - createThemeContract, - createTheme, -} from "@vanilla-extract/css"; - -/** - * Colors are all the same across the themes, this is just to set up a contract - * Colors can be decided later. I am just the architect. - * Tried to pull things from the original app. - * - * Lots of these arent used yet, but once they are defined and useable then they can be set. - */ - -// Link color 0, 102, 204 - -const colors = createThemeContract({ - brand: null, - brandDimmed: null, - brandHover: null, - brandActive: null, - brandAccent: null, - brandAccentDimmed: null, - brandAccentActive: null, - - secondary: null, - secondaryDimmed: null, - secondaryHover: null, - secondaryActive: null, - secondaryAccent: null, - secondaryAccentDimmed: null, - secondaryAccentActive: null, - - background: null, - backgroundAccent: null, - backgroundAlt: null, - backgroundAltAccent: null, - - text: { - normal: null, - dimmed: null, - - secondary: null, - secondaryDimmed: null, - - accent: null, - accentDimmed: null, - }, - - link: null, - warning: null, - error: null, - success: null, -}); - -const app = createGlobalTheme(":root", { - spacing: { - small: "5px", - medium: "10px", - large: "25px", - }, - - trim: { - smallBorderRadius: "5px", - }, - - fonts: { - body: "Arial, Helvetica, sans-serif;", - sizes: { - Title: "2em", - Headline: "1.5em", - Subheadline: "1.20em", - SubSubheadline: "1em", - Body: "1em", - Caption: ".75em", - Overline: ".5em", - }, - }, - colors: colors, -}); - -export const darkTheme = createTheme(colors, { - brand: "#5000b9", // purple - brandDimmed: "#433852", // muted purple - brandHover: "#5d00d6", // bringhter purple - brandActive: "#5d00d6", // bringhter purple - brandAccent: "#28004e", // darker purple - brandAccentDimmed: "#28004e", // darker purple - brandAccentActive: "#28004e", // darker purple - - secondary: "#0b8334", // green - secondaryDimmed: "#0b8334", // green - secondaryHover: "#0b8334", // green - secondaryActive: "#0b8334", // green - secondaryAccent: "#0b8334", // green - secondaryAccentDimmed: "#0b8334", // green - secondaryAccentActive: "#0b8334", // green - - background: "#202124", // dark grey - backgroundAccent: " #383838", // lighter grey - backgroundAlt: "#2c2d30", // med grey - backgroundAltAccent: "#383838", // lighter grey - - text: { - normal: "#ffffff", // white - dimmed: "#d1d5db", // off white - - secondary: "#ffffff", // white - secondaryDimmed: "#d1d5db", // off white - - accent: "#e7ba71", // orange - accentDimmed: "#7d6641", // muted orange - }, - - link: "#0066cc", // blue - warning: "#f0ad4e", - error: "#d9534f", - success: "#5cb85c", -}); - -// Generated by co-pilot -export const lightTheme = createTheme(colors, { - brand: "#1E40AF", - brandDimmed: "#1E40AF", - brandHover: "#1E40AF", - brandActive: "#1E40AF", - brandAccent: "#1E40AF", - brandAccentDimmed: "#1E40AF", - brandAccentActive: "#1E40AF", - - secondary: "#DB2777", - secondaryDimmed: "#DB2777", - secondaryHover: "#DB2777", - secondaryActive: "#DB2777", - secondaryAccent: "#DB2777", - secondaryAccentDimmed: "#DB2777", - secondaryAccentActive: "#DB2777", - - background: "#EFF6FF", - backgroundAccent: "#EFF6FF", - backgroundAlt: "#EFF6FF", - backgroundAltAccent: "#EFF6FF", - text: { - normal: "#1F2937", - dimmed: "#6B7280", - - secondary: "#1F2937", - secondaryDimmed: "#6B7280", - - accent: "#1F2937", - accentDimmed: "#6B7280", - }, - - link: "#0066cc", // blue - warning: "yellow", - error: "red", - success: "green", -}); - -export const vars = { ...app, colors }; diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/index.tsx index 883b21b3..9730ba11 100644 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/creationPanel/index.tsx @@ -1,25 +1,30 @@ import React, { ChangeEvent } from "react"; +import BasicCreation from "./basicCreation"; import AdvancedSettings from "./advancedSettings"; import ImageModifiers from "./imageModifiers"; import InpaintingPanel from "./inpaintingPanel"; +import QueueDisplay from "../queueDisplay"; + // this works but causes type errors so its not worth it for now // import { useImageCreate } from "@stores/imageCreateStore.ts"; import { useImageCreate } from "../../../stores/imageCreateStore"; +import { useRequestQueue } from "../../../stores/requestQueueStore"; -import "./creationPanel.css"; import { CreationPaneMain, InpaintingSlider, -} from "./creationpane.css"; +} from "./creationPanel.css"; -import BasicCreation from "./basicCreation"; export default function CreationPanel() { const isInPaintingMode = useImageCreate((state) => state.isInpainting); + + const hasQueue = useRequestQueue((state) => state.hasAnyQueue()); + return ( <>
    diff --git a/ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/currentDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/currentDisplay/currentDisplay.css.ts similarity index 100% rename from ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/currentDisplay.css.ts rename to ui/frontend/build_src/src/components/organisms/currentDisplay/currentDisplay.css.ts diff --git a/ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/imageDisplay/imageDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/imageDisplay.css.ts similarity index 92% rename from ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/imageDisplay/imageDisplay.css.ts rename to ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/imageDisplay.css.ts index a519cdeb..ad84a309 100644 --- a/ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/imageDisplay/imageDisplay.css.ts +++ b/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/imageDisplay.css.ts @@ -1,7 +1,6 @@ import { style, globalStyle } from '@vanilla-extract/css' - -import { vars } from '../../../../../styles/theme/index.css' +import { vars } from '../../../../styles/theme/index.css' export const imageDisplayMain = style({ height: '100%', diff --git a/ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/imageDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/index.tsx similarity index 75% rename from ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/imageDisplay/index.tsx rename to ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/index.tsx index 97f1490d..48cfe2ae 100644 --- a/ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/imageDisplay/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/index.tsx @@ -1,9 +1,9 @@ /* eslint-disable @typescript-eslint/naming-convention */ import React from "react"; -import { useImageCreate } from "../../../../../stores/imageCreateStore"; -import { CompletedImagesType } from "../../../../../stores/imageDisplayStore"; +import { useImageCreate } from "../../../../stores/imageCreateStore"; +import { CompletedImagesType } from "../../../../stores/imageDisplayStore"; -import GeneratedImage from "../../../../molecules/generatedImage"; +import GeneratedImage from "../../../molecules/generatedImage"; import { imageDisplayMain, @@ -12,15 +12,17 @@ import { imageDisplayContent, } from './imageDisplay.css'; + import { - BrandedButton -} from '../../../../../styles/shared.css' + buttonStyle +} from "../../../_recipes/button.css"; export default function ImageDisplay({ info, data }: CompletedImagesType) { const createFileName = () => { const { prompt, + negative_prompt, seed, num_inference_steps, guidance_scale, @@ -73,9 +75,17 @@ export default function ImageDisplay({ info, data }: CompletedImagesType) {

    {info?.prompt}

    +

    {info?.negative_prompt}

    - - + +
    diff --git a/ui/frontend/build_src/src/components/organisms/currentDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/currentDisplay/index.tsx new file mode 100644 index 00000000..458deac6 --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/currentDisplay/index.tsx @@ -0,0 +1,58 @@ +import React, { useEffect, useState } from "react"; + +import { FetchingStates, useImageFetching } from "../../../stores/imageFetchingStore"; +import { useImageDisplay } from "../../../stores/imageDisplayStore"; + +import { API_URL } from "../../../api"; + +import { + currentDisplayMain, +} from './currentDisplay.css'; + +import ImageDisplay from "./imageDisplay"; + +const IdleDisplay = () => { + return ( +

    Try Making a new image!

    + ); +}; + +const LoadingDisplay = ({ images }: { images: string[] }) => { + + return ( + <> + {images.map((image, index) => { + if (index == images.length - 1) { + return ( + + ) + } + }) + } + + ); +}; + +export default function CurrentDisplay() { + + const status = useImageFetching((state) => state.status); + const currentImage = useImageDisplay((state) => state.currentImage); + + const progressImages = useImageFetching((state) => state.progressImages); + + return ( +
    + + {(currentImage == null) && } + {/* {(status === FetchingStates.FETCHING || status === FetchingStates.PROGRESSING) && } + {(currentImage != null) && } */} + + { + (progressImages.length > 0) + ? + : (currentImage != null) && + } + +
    + ); +} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/currentInfo/currentInfo.css.ts b/ui/frontend/build_src/src/components/organisms/currentInfo/currentInfo.css.ts new file mode 100644 index 00000000..167d8c2d --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/currentInfo/currentInfo.css.ts @@ -0,0 +1,22 @@ +import { style } from '@vanilla-extract/css' + +import { + card as cardStyles, +} from '../../_recipes/card.css' + +export const currentInfoMain = style([ + cardStyles( + { + backing: 'dark', + } + ), + { + // display: 'flex', + // flexDirection: 'column', + // justifyContent: 'center', + // alignItems: 'center', + // height: '100%', + width: '250px', + padding: '0 0 0 0', + }, +]) diff --git a/ui/frontend/build_src/src/components/organisms/currentInfo/index.tsx b/ui/frontend/build_src/src/components/organisms/currentInfo/index.tsx new file mode 100644 index 00000000..bb131621 --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/currentInfo/index.tsx @@ -0,0 +1,7 @@ +import React from "react"; +import { currentInfoMain } from "./currentInfo.css"; +export default function CurrentInfo() { + return
    current info
    ; +} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/displayPanel/completedImages/index.tsx b/ui/frontend/build_src/src/components/organisms/displayPanel/completedImages/index.tsx deleted file mode 100644 index 1237003e..00000000 --- a/ui/frontend/build_src/src/components/organisms/displayPanel/completedImages/index.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import React from "react"; - - -import { useImageDisplay } from "../../../../stores/imageDisplayStore"; - -import { - completedImagesMain, - completedImagesList, - imageContain, - RemoveButton, -} from "./completedImages.css"; - - - -export default function CompletedImages( - -) { - - - const images = useImageDisplay((state) => state.images); - const setCurrentImage = useImageDisplay((state) => state.setCurrentImage); - const clearDisplay = useImageDisplay((state) => state.clearDisplay); - - - const removeImagesAll = () => { - clearDisplay(); - }; - - return ( -
    - {/* Adjust the dom do we dont do this check twice */} - {images != null && images.length > 0 && ( - - )} -
      - {images?.map((image, index) => { - if (void 0 === image) { - console.warn(`image ${index} is undefined`); - return null; - } - - return ( -
    • - -
    • - ); - })} -
    -
    - ); -} diff --git a/ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/index.tsx deleted file mode 100644 index bdbbb3a9..00000000 --- a/ui/frontend/build_src/src/components/organisms/displayPanel/currentDisplay/index.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import { FetchingStates, useImageFetching } from "../../../../stores/imageFetchingStore"; -import { useImageDisplay } from "../../../../stores/imageDisplayStore"; - -import { API_URL } from "../../../../api"; - -import { - currentDisplayMain, -} from './currentDisplay.css'; - -import ImageDisplay from "./imageDisplay"; - -const IdleDisplay = () => { - return ( -

    Try Making a new image!

    - ); -}; - -const LoadingDisplay = () => { - - const step = useImageFetching((state) => state.step); - const totalSteps = useImageFetching((state) => state.totalSteps); - const progressImages = useImageFetching((state) => state.progressImages); - - const startTime = useImageFetching((state) => state.timeStarted); - const timeNow = useImageFetching((state) => state.timeNow); - const [timeRemaining, setTimeRemaining] = useState(0); - - const [percent, setPercent] = useState(0); - - - useEffect(() => { - if (totalSteps > 0) { - setPercent(Math.round((step / totalSteps) * 100)); - } else { - setPercent(0); - } - }, [step, totalSteps]); - - useEffect(() => { - // find the remaining time - const timeTaken = +timeNow - +startTime; - const timePerStep = step == 0 ? 0 : timeTaken / step; - const totalTime = timePerStep * totalSteps; - const timeRemaining = (totalTime - timeTaken) / 1000; - // @ts-expect-error - setTimeRemaining(timeRemaining.toPrecision(3)); - - }, [step, totalSteps, startTime, timeNow, setTimeRemaining]); - - return ( - <> -

    Loading...

    -

    {percent} % Complete

    - {timeRemaining != 0 &&

    Time Remaining: {timeRemaining} s

    } - {progressImages.map((image, index) => { - if (index == progressImages.length - 1) { - return ( - - ) - } - }) - } - - ); -}; - - -export default function CurrentDisplay() { - - const status = useImageFetching((state) => state.status); - const currentImage = useImageDisplay((state) => state.currentImage); - - return ( -
    - - {status === FetchingStates.IDLE && } - - {(status === FetchingStates.FETCHING || status === FetchingStates.PROGRESSING) && } - - {(status === FetchingStates.COMPLETE && currentImage != null) && } - -
    - ); -} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/displayPanel/displayPanel.css.ts b/ui/frontend/build_src/src/components/organisms/displayPanel/displayPanel.css.ts deleted file mode 100644 index 6b7b1e59..00000000 --- a/ui/frontend/build_src/src/components/organisms/displayPanel/displayPanel.css.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { style } from "@vanilla-extract/css"; -import { vars } from "../../../styles/theme/index.css"; - -export const displayPanel = style({ - height: "100%", - display: "flex", - flexDirection: "column", - paddingRight: vars.spacing.medium, -}); - -export const displayContainer = style({ - flexGrow: 1, - overflow: 'auto', -}); - -export const previousImages = style({ - minHeight: '250px', -}); diff --git a/ui/frontend/build_src/src/components/organisms/displayPanel/index.tsx b/ui/frontend/build_src/src/components/organisms/displayPanel/index.tsx deleted file mode 100644 index 24e8ea75..00000000 --- a/ui/frontend/build_src/src/components/organisms/displayPanel/index.tsx +++ /dev/null @@ -1,30 +0,0 @@ - -import React from "react"; - -import CurrentDisplay from "./currentDisplay"; -import CompletedImages from "./completedImages"; - -import { - displayPanel, - displayContainer, - previousImages, -} from "./displayPanel.css"; - -export default function DisplayPanel() { - - return ( -
    - -
    - -
    - -
    - -
    - -
    - ); -} diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/index.tsx b/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/index.tsx index 164aa032..56ffb8dd 100644 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/index.tsx @@ -6,7 +6,11 @@ import { PopoverMain, PopoverButtonStyle, PopoverPanelMain, -} from "../../../_headless/popover/index.css"; +} from "../../../_recipes/popover_headless.css"; + +import { + card +} from '../../../_recipes/card.css'; import { IconFont, diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/statusDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/statusDisplay.css.ts index 3b802812..ccbdacb5 100644 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/statusDisplay.css.ts +++ b/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/statusDisplay.css.ts @@ -3,13 +3,13 @@ import { style } from "@vanilla-extract/css"; import { vars } from "../../../../styles/theme/index.css"; export const StartingStatus = style({ - color: vars.colors.warning, + color: `hsl(${vars.warningHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, }); export const ErrorStatus = style({ - color: vars.colors.error, + color: `hsl(${vars.errorHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, }); export const SuccessStatus = style({ - color: vars.colors.success, + color: `hsl(${vars.successHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, }); diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/index.tsx b/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/index.tsx index ee2b24a9..f0162d7e 100644 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/index.tsx +++ b/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/index.tsx @@ -17,7 +17,7 @@ import { PopoverMain, PopoverButtonStyle, PopoverPanelMain, -} from "../../../_headless/popover/index.css"; +} from "../../../_recipes/popover_headless.css"; import { SettingContent @@ -48,7 +48,7 @@ export default function SystemSettings() { state.getValueForRequestKey("use_full_precision") ); - const isSoundEnabled = true; //useImageCreate((state) => state.isSoundEnabled()); + const isSoundEnabled = useImageCreate((state) => state.isSoundEnabled()); const setRequestOption = useImageCreate((state) => state.setRequestOptions); const toggleUseAutoSave = useImageCreate((state) => state.toggleUseAutoSave); diff --git a/ui/frontend/build_src/src/components/organisms/queueDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/queueDisplay/index.tsx new file mode 100644 index 00000000..c866b797 --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/queueDisplay/index.tsx @@ -0,0 +1,52 @@ +import React from "react"; +import { ImageRequest } from "../../../api"; + +import { QueuedRequest, useRequestQueue } from "../../../stores/requestQueueStore"; + +import { + QueueDisplayMain, + QueueListButtons, +} from "./queueDisplay.css"; + +import { + buttonStyle +} from "../../_recipes/button.css"; + +import ClearQueue from "../../molecules/clearQueue"; +import QueueItem from "./queueItem"; + +export default function QueueDisplay() { + + const requests: QueuedRequest[] = useRequestQueue((state) => state.requests); + const removeCompleted = useRequestQueue((state) => state.removeCompleted); + const removeErrored = useRequestQueue((state) => state.removeErrored); + + const clearCompleted = () => { + removeCompleted(); + } + + const clearErrored = () => { + removeErrored(); + } + + return ( +
    + +
    + + +
    + {requests.map((request) => { + return ; + })} +
    + ); +}; diff --git a/ui/frontend/build_src/src/components/organisms/queueDisplay/queueDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/queueDisplay/queueDisplay.css.ts new file mode 100644 index 00000000..d3aa3259 --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/queueDisplay/queueDisplay.css.ts @@ -0,0 +1,28 @@ +import { style, globalStyle } from "@vanilla-extract/css"; + + +import { vars } from "../../../styles/theme/index.css"; + +export const QueueDisplayMain = style({ + display: "flex", + flexDirection: "column", + width: '100%', + height: '100%', +}); + +export const QueueListButtons = style({ + display: "flex", + flexDirection: "row", + justifyContent: "space-between", + alignItems: "center", + marginBottom: vars.spacing.medium, + marginTop: vars.spacing.medium, +}); + +globalStyle(`${QueueListButtons} button`, { + flexGrow: 1, +}); + +globalStyle(`${QueueListButtons} button:first-child`, { + marginRight: vars.spacing.medium, +}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/index.tsx b/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/index.tsx new file mode 100644 index 00000000..0cdf4e10 --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/index.tsx @@ -0,0 +1,125 @@ +/* eslint-disable @typescript-eslint/naming-convention */ + +import React from "react"; + + +import { QueueStatus, QueuedRequest, useRequestQueue } from '../../../../stores/requestQueueStore'; + +import StopButton from '../../../molecules/stopButton'; + +import { + QueueItemMain, + QueueItemInfo, + QueueButtons, +} from "./queueItem.css"; + + +import { + buttonStyle +} from "../../../_recipes/button.css"; + + +interface QueueItemProps { + request: QueuedRequest; +} + +export default function QueueItem({ request }: QueueItemProps) { + + const removeItem = useRequestQueue((state) => state.removeItem); + const updateStatus = useRequestQueue((state) => state.updateStatus); + const sendPendingToTop = useRequestQueue((state) => state.sendPendingToTop); + + const { + id, + options: { + prompt, + num_outputs, + seed, + sampler, + guidance_scale, + num_inference_steps, + + }, + status, + } = request; + + const removeFromQueue = () => { + removeItem(id); + } + + const pauseItem = () => { + updateStatus(id, QueueStatus.paused); + } + + const retryRequest = () => { + updateStatus(id, QueueStatus.pending); + } + + const sendToTop = () => { + sendPendingToTop(id); + } + + return ( +
    + +
    +

    {prompt}

    +

    Making {num_outputs} concurrent images

    +

    + Seed: {seed} + Sampler: {sampler} + Guidance Scale: {guidance_scale} + Num Inference Steps: {num_inference_steps} +

    +
    + +
    + + {status === QueueStatus.processing && ( + + )} + + {status === QueueStatus.complete && ( + + )} + + {status === QueueStatus.pending && ( + <> + + + + + )} + + {status === QueueStatus.paused && ( + + )} + + {status === QueueStatus.error && ( + + )} +
    + +
    + ); +} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/queueItem.css.ts b/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/queueItem.css.ts new file mode 100644 index 00000000..54da4020 --- /dev/null +++ b/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/queueItem.css.ts @@ -0,0 +1,61 @@ +import { style, globalStyle } from "@vanilla-extract/css"; + + +import { vars } from "../../../../styles/theme/index.css"; + + +import { QueueStatus } from "../../../../stores/requestQueueStore"; + + +import { + card +} from '../../../_recipes/card.css'; + +export const QueueItemMain = style([card( + { + + info: true, + level: 1 + } +), { + display: "flex", + flexDirection: "column", + width: "100%", + marginBottom: vars.spacing.medium, +}]); + +export const QueueItemInfo = style({ + +}); + +globalStyle(`${QueueItemInfo} p`, { + marginBottom: vars.spacing.small, +}); + +globalStyle(`${QueueItemMain}.${QueueStatus.complete}`, { + borderColor: `hsl(${vars.secondaryHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, +}); + +globalStyle(`${QueueItemMain}.${QueueStatus.processing}`, { + borderColor: `hsl(${vars.tertiaryHue}, ${vars.colorMod.saturation.bright}, ${vars.colorMod.lightness.bright})`, +}); + +globalStyle(`${QueueItemMain}.${QueueStatus.pending}`, { + borderColor: `hsl(${vars.backgroundAccentMain}, ${vars.colorMod.saturation.bright}, ${vars.colorMod.lightness.normal})`, +}); + +globalStyle(`${QueueItemMain}.${QueueStatus.paused}`, { + borderColor: `hsl(${vars.backgroundAccentMain}, ${vars.colorMod.saturation.dim}, ${vars.colorMod.lightness.dim})`, + backgroundColor: `hsl(${vars.backgroundAccentMain}, ${vars.colorMod.saturation.dim}, ${vars.colorMod.lightness.dim})`, +}); + +globalStyle(`${QueueItemMain}.${QueueStatus.error}`, { + borderColor: `hsl(${vars.errorHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, +}); + +export const QueueButtons = style({ + display: "flex", + flexDirection: "row", + justifyContent: "space-between", + alignItems: "center", +}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/pages/Home/home.css.ts b/ui/frontend/build_src/src/pages/Home/home.css.ts index 8e80cba2..60f9aead 100644 --- a/ui/frontend/build_src/src/pages/Home/home.css.ts +++ b/ui/frontend/build_src/src/pages/Home/home.css.ts @@ -1,34 +1,34 @@ -import { style } from "@vanilla-extract/css"; +import { style, globalStyle } from "@vanilla-extract/css"; import { vars } from "../../styles/theme/index.css"; export const AppLayout = style({ position: "relative", - backgroundColor: vars.colors.background, - width: "100%", - height: "100%", + + width: "100vw", + height: "100vh", pointerEvents: "auto", display: "grid", - // backgroundColor: "rgb(32, 33, 36)", + backgroundColor: vars.backgroundMain, gridTemplateColumns: "400px 1fr", - gridTemplateRows: "100px 1fr 115px", + gridTemplateRows: "70px 1fr 115px", gridTemplateAreas: ` "header header header" "create display display" - "create footer footer" + "create display display" `, - "@media": { - "screen and (max-width: 800px)": { - gridTemplateColumns: "1fr", - gridTemplateRows: "100px 300px 1fr 100px", - gridTemplateAreas: ` - "header" - "create" - "display" - "footer" - `, - }, - }, + + // "@media": { + // "screen and (max-width: 800px)": { + // gridTemplateColumns: "1fr", + // gridTemplateRows: "100px 300px 1fr", + // gridTemplateAreas: ` + // "header" + // "create" + // "display" + // `, + // }, + // }, }); export const HeaderLayout = style({ @@ -38,6 +38,8 @@ export const HeaderLayout = style({ export const CreateLayout = style({ gridArea: "create", position: "relative", + display: "flex", + flexDirection: "column", }); export const DisplayLayout = style({ diff --git a/ui/frontend/build_src/src/pages/Home/index.tsx b/ui/frontend/build_src/src/pages/Home/index.tsx index 368ceb0c..811e832d 100644 --- a/ui/frontend/build_src/src/pages/Home/index.tsx +++ b/ui/frontend/build_src/src/pages/Home/index.tsx @@ -16,11 +16,11 @@ import { useImageCreate } from "../../stores/imageCreateStore"; // Todo - import components here import HeaderDisplay from "../../components/organisms/headerDisplay"; -import CreationPanel from "../../components/organisms/creationPanel"; -import DisplayPanel from "../../components/organisms/displayPanel"; +import BasicDisplay from "../../components/layouts/basicDisplay"; import FooterDisplay from "../../components/organisms/footerDisplay"; +import CreationTabs from "../../components/layouts/creationTabs"; -function Home({ className }: { className: any }) { +function Home() { // Get the original save directory const setRequestOption = useImageCreate((state) => state.setRequestOptions); @@ -51,20 +51,22 @@ function Home({ className }: { className: any }) { }, [setRequestOption, statusMods, dataMoads]); return ( -
    -
    - -
    - -
    - -
    + <> +
    +
    + +
    + +
    + +
    +
    -
    + ); } diff --git a/ui/frontend/build_src/src/pages/Settings/index.tsx b/ui/frontend/build_src/src/pages/Settings/index.tsx index 182a7749..3d75c1ef 100644 --- a/ui/frontend/build_src/src/pages/Settings/index.tsx +++ b/ui/frontend/build_src/src/pages/Settings/index.tsx @@ -1,6 +1,6 @@ import React from "react"; -export default function Settings({ className }: { className: any }) { +export default function Settings() { return (

    Settings

    diff --git a/ui/frontend/build_src/src/stores/imageCreateStore.ts b/ui/frontend/build_src/src/stores/imageCreateStore.ts index eccbec09..6b31f55a 100644 --- a/ui/frontend/build_src/src/stores/imageCreateStore.ts +++ b/ui/frontend/build_src/src/stores/imageCreateStore.ts @@ -42,11 +42,20 @@ interface ModifiersList { type ModifiersOptionList = ModifiersList[]; +export interface promptTag { + id: string; + name: string; + type: 'positive' | 'negative'; +} + interface ImageCreateState { parallelCount: number; requestOptions: ImageRequest; allModifiers: ModifiersOptionList; - tags: string[]; + + createTags: promptTag[]; + // negativeTags: promptTag[]; + tagMap: Record; isInpainting: boolean; @@ -59,6 +68,11 @@ interface ImageCreateState { toggleTag: (category: string, tag: string) => void; hasTag: (category: string, tag: string) => boolean; selectedTags: () => ModifierObject[]; + addCreateTag: (tag: promptTag) => void; + removeCreateTag: (id: string) => void; + changeCreateTagType: (id: string, type: 'positive' | 'negative') => void; + reorderCreateTag: (tag: promptTag, index: number) => void; + builtRequest: () => ImageRequest; uiOptions: ImageCreationUiOptions; @@ -85,6 +99,7 @@ export const useImageCreate = create( requestOptions: { session_id: new Date().getTime().toString(), prompt: "a photograph of an astronaut riding a horse", + negative_prompt: "", seed: useRandomSeed(), num_outputs: 1, num_inference_steps: 50, @@ -108,7 +123,8 @@ export const useImageCreate = create( }, // selected tags - tags: [] as string[], + createTags: [] as promptTag[], + // negativeTags: [] as promptTag[], // eslint-disable-next-line @typescript-eslint/consistent-type-assertions tagMap: {} as Record, @@ -202,7 +218,48 @@ export const useImageCreate = create( return selected; }, + addCreateTag: (tag: promptTag) => { + set( + produce((state) => { + state.createTags.push(tag); + }) + ); + }, + removeCreateTag: (id: string) => { + set( + produce((state) => { + // @ts-expect-error + state.createTags = state.createTags.filter((t) => t.id !== id); + }) + + ); + }, + + changeCreateTagType: (id: string, type: 'positive' | 'negative') => { + set( + produce((state) => { + // @ts-expect-error + const tag = state.createTags.find((t) => t.id === id); + if (tag) { + tag.type = type; + } + }) + ); + }, + + + reorderCreateTag: (tag: promptTag, index: number) => { + set( + produce((state) => { + const tagIndex = state.createTags.indexOf(tag); + if (tagIndex !== -1) { + state.createTags.splice(tagIndex, 1); + state.createTags.splice(index, 0, tag); + } + }) + ); + }, // the request body to send to the server // this is a computed value, just adding the tags to the request @@ -212,13 +269,17 @@ export const useImageCreate = create( const selectedTags = get().selectedTags(); const tags = selectedTags.map((t: ModifierObject) => t.modifier); + const positivePrompt = state.createTags.filter((t) => t.type === "positive").map((t) => t.name).join(","); + const negativePrompt = state.createTags.filter((t) => t.type === "negative").map((t) => t.name).join(","); + // join all the tags with a comma and add it to the prompt // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - const prompt = `${requestOptions.prompt}, ${tags.join(",")}`; + // const prompt = `${requestOptions.prompt}, ${tags.join(",")}`; const request = { ...requestOptions, - prompt, + prompt: positivePrompt, + negative_prompt: negativePrompt, }; // if we arent using auto save clear the save path if (!state.uiOptions.isUseAutoSave) { @@ -317,7 +378,6 @@ export const useImageCreate = create( set( produce((state: ImageCreateState) => { state.uiOptions.isSoundEnabled = !state.uiOptions.isSoundEnabled; - //localStorage.setItem('ui:isSoundEnabled', state.uiOptions.isSoundEnabled); }) ); }, diff --git a/ui/frontend/build_src/src/stores/imageFetchingStore.ts b/ui/frontend/build_src/src/stores/imageFetchingStore.ts index 7fc1c9d6..42391a31 100644 --- a/ui/frontend/build_src/src/stores/imageFetchingStore.ts +++ b/ui/frontend/build_src/src/stores/imageFetchingStore.ts @@ -27,7 +27,6 @@ interface ImageFetchingState { setStartTime: () => void; setNowTime: () => void; resetForFetching: () => void; - } export const useImageFetching = create((set) => ({ diff --git a/ui/frontend/build_src/src/stores/imageQueueStore.ts b/ui/frontend/build_src/src/stores/imageQueueStore.ts deleted file mode 100644 index 6e9c7a0d..00000000 --- a/ui/frontend/build_src/src/stores/imageQueueStore.ts +++ /dev/null @@ -1,69 +0,0 @@ -import create from "zustand"; -import produce from "immer"; -import { useRandomSeed } from "../utils"; - -import { ImageRequest } from "../api"; - -interface QueueItem { - id?: string; - options?: ImageRequest; - status?: "pending" | "complete" | "error"; -} - -interface ImageQueueState { - images: QueueItem[]; - completedImageIds: string[]; - addNewImage: (id: string, imgRec: ImageRequest) => void; - hasQueuedImages: () => boolean; - firstInQueue: () => QueueItem; - removeFirstInQueue: () => void; - clearCachedIds: () => void; -} - -export const useImageQueue = create((set, get) => ({ - images: [], - completedImageIds: [], - // use produce to make sure we don't mutate state - addNewImage: (id: string, imgRec: ImageRequest) => { - set( - produce((state) => { - const item: QueueItem = { id, options: imgRec, status: "pending" }; - state.images.push(item); - }) - ); - }, - - hasQueuedImages: () => { - return get().images.length > 0; - }, - - firstInQueue: () => { - const { images } = get(); - if (images.length > 0) { - return images[0]; - } - // // cast an empty object to QueueItem - const empty: QueueItem = {}; - return empty; - - }, - - removeFirstInQueue: () => { - set( - produce((state) => { - const image = state.images.shift(); - if (void 0 !== image) { - state.completedImageIds.push(image.id); - } - }) - ); - }, - - clearCachedIds: () => { - set( - produce((state) => { - state.completedImageIds = []; - }) - ); - }, -})); diff --git a/ui/frontend/build_src/src/stores/requestQueueStore.ts b/ui/frontend/build_src/src/stores/requestQueueStore.ts new file mode 100644 index 00000000..d0dad899 --- /dev/null +++ b/ui/frontend/build_src/src/stores/requestQueueStore.ts @@ -0,0 +1,160 @@ +import create from "zustand"; +import produce from "immer"; + +import { ImageRequest } from "../api"; + +export enum QueueStatus { + pending = "pending", + processing = "processing", + complete = "complete", + paused = "paused", + error = "error", +} + +export interface QueuedRequest { + id: string; + options: ImageRequest; + status: QueueStatus[keyof QueueStatus]; + //"pending" | "processing" | "complete" | "error"; +} + +interface RequestQueueState { + requests: QueuedRequest[]; + addtoQueue: (id: string, imgRec: ImageRequest) => void; + pendingRequests: () => QueuedRequest[]; + hasPendingQueue: () => boolean; + hasAnyQueue: () => boolean; + firstInQueue: () => QueuedRequest; + updateStatus: (id: string, status: QueueStatus[keyof QueueStatus]) => void; + sendPendingToTop: (id: string) => void; + removeItem: (id: string) => void; + removeCompleted: () => void; + removeErrored: () => void; + clearQueue: () => void; + +} + +export const useRequestQueue = create((set, get) => ({ + requests: [], + // use produce to make sure we don't mutate state + addtoQueue: (id: string, imgRec: ImageRequest) => { + set( + produce((state) => { + const item: QueuedRequest = { id, options: imgRec, status: QueueStatus.pending }; + state.requests.push(item); + }) + ); + }, + + pendingRequests: () => { + return get().requests.filter((item) => item.status === QueueStatus.pending); + }, + + hasPendingQueue: () => { + return get().pendingRequests().length > 0; + }, + + hasAnyQueue: () => { + return get().requests.length > 0; + }, + + firstInQueue: () => { + const pending = get().pendingRequests()[0]; + + if (pending === undefined) { + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions + const temp: QueuedRequest = { id: "", options: ({} as ImageRequest), status: QueueStatus.pending }; + return temp; + } + return pending; + }, + + updateStatus: (id: string, status: QueueStatus[keyof QueueStatus]) => { + set( + produce((state) => { + const item = state.requests.find((item: QueuedRequest) => item.id === id); + if (void 0 !== item) { + item.status = status; + } + }) + ); + }, + + sendPendingToTop: (id: string) => { + set( + produce((state) => { + const item = state.requests.find((item: QueuedRequest) => item.id === id); + + if (void 0 !== item) { + // remove from current position + const index = state.requests.indexOf(item); + state.requests.splice(index, 1); + + // find the first available stop and insert it there + for (let i = 0; i < state.requests.length; i++) { + const curStatus = state.requests[i].status; + + // skip over any items that are not pending or paused + if (curStatus === QueueStatus.processing) { + continue; + } + if (curStatus === QueueStatus.complete) { + continue; + } + if (curStatus === QueueStatus.error) { + continue; + } + + // insert infront of any pending or paused items + state.requests.splice(i, 0, item); + break; + } + } + }) + ); + }, + + removeItem: (id: string) => { + set( + produce((state) => { + const index = state.requests.findIndex((item: QueuedRequest) => item.id === id); + if (index > -1) { + state.requests.splice(index, 1); + } + }) + ); + }, + + removeCompleted: () => { + set( + produce((state) => { + const completed = state.requests.filter((item: QueuedRequest) => item.status === QueueStatus.complete); + completed.forEach((item: QueuedRequest) => { + const index = state.requests.indexOf(item); + state.requests.splice(index, 1); + }); + }) + ); + }, + + removeErrored: () => { + set( + produce((state) => { + const errored = state.requests.filter((item: QueuedRequest) => item.status === QueueStatus.error); + errored.forEach((item: QueuedRequest) => { + const index = state.requests.indexOf(item); + state.requests.splice(index, 1); + }); + }) + ); + }, + + + clearQueue: () => { + set( + produce((state) => { + state.requests = []; + }) + ); + }, +})); diff --git a/ui/frontend/build_src/src/styles/index.css.ts b/ui/frontend/build_src/src/styles/index.css.ts index ba54cd13..68914de2 100644 --- a/ui/frontend/build_src/src/styles/index.css.ts +++ b/ui/frontend/build_src/src/styles/index.css.ts @@ -8,6 +8,10 @@ globalStyle("body", { minHeight: "100vh", }); + + + + // single page style globalStyle("#root", { position: "absolute", @@ -15,7 +19,11 @@ globalStyle("#root", { left: 0, width: "100vw", height: "100vh", - overflow: "hidden", + overflow: 'auto', + overflowX: 'hidden', + // "::-webkit-scrollbar": { + // width: "0", + // }, }); // border box all @@ -41,12 +49,14 @@ globalStyle(`h1, h2, h3, h4, h5, h6, p, label, ul, textarea`, { globalStyle(`h3`, { fontSize: vars.fonts.sizes.Subheadline, - marginBottom: vars.spacing.small, }); globalStyle(`h4, h5`, { fontSize: vars.fonts.sizes.SubSubheadline, - marginBottom: vars.spacing.medium, +}); + +globalStyle(`h6`, { + fontSize: vars.fonts.sizes.Body, }); globalStyle(`p, label`, { @@ -63,4 +73,8 @@ globalStyle(`textarea`, { globalStyle(`a`, { color: vars.colors.link, textDecoration: "none", +}); + +globalStyle(`ul`, { + listStyle: "none", }); \ No newline at end of file diff --git a/ui/frontend/build_src/src/styles/recipes/index.css.ts b/ui/frontend/build_src/src/styles/recipes/index.css.ts deleted file mode 100644 index ad7ebafb..00000000 --- a/ui/frontend/build_src/src/styles/recipes/index.css.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { recipe } from "@vanilla-extract/recipes"; - -export const button = recipe({ - variants: { - color: { - neutral: { background: "whitesmoke" }, - brand: { background: "blueviolet" }, - accent: { background: "slateblue" }, - }, - size: { - small: { padding: 12 }, - medium: { padding: 16 }, - large: { padding: 24 }, - }, - }, -}); - -// export const card = recipe({ -// variants: { -// color: { - -// alt: { background: 'whitesmoke' }, diff --git a/ui/frontend/build_src/src/styles/shared.css.ts b/ui/frontend/build_src/src/styles/shared.css.ts index 2aa56292..5fcfe51b 100644 --- a/ui/frontend/build_src/src/styles/shared.css.ts +++ b/ui/frontend/build_src/src/styles/shared.css.ts @@ -1,38 +1,15 @@ import { style, globalStyle } from "@vanilla-extract/css"; import { vars } from "./theme/index.css"; -export const PanelBox = style({ - background: vars.colors.backgroundAlt, - color: vars.colors.text.normal, - padding: vars.spacing.medium, - borderRadius: vars.trim.smallBorderRadius, - marginBottom: vars.spacing.medium, - // TODO move this to the theme - boxShadow: - "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)", -}); - -globalStyle(`${PanelBox} .panel-box-toggle-btn`, { - display: "block", - width: "100%", - textAlign: "left", - backgroundColor: "transparent", - color: vars.colors.text.normal, - border: "0 none", - cursor: "pointer", - padding: "0", -}); //TODO this should probably just be for all li elements export const SettingItem = style({ marginBottom: vars.spacing.medium, - selectors: { "&:last-of-type": { marginBottom: vars.spacing.none, }, }, - }); @@ -42,6 +19,24 @@ export const IconFont = style({ }); +export const XButton = style({ + position: "absolute", + transform: "translateX(-50%) translateY(-35%)", + background: "black", + color: "white", + border: "2pt solid #ccc", + padding: "0", + cursor: "pointer", + outline: "inherit", + borderRadius: "8pt", + width: "16pt", + height: "16pt", + fontFamily: "Verdana", + fontSize: "8pt", +}); + + + export const MenuButton = style({ display: "block", width: "100%", @@ -58,25 +53,3 @@ globalStyle(`${MenuButton}> h4`, { color: "#e7ba71", }); - -export const BrandedButton = style({ - backgroundColor: vars.colors.brand, - fontSize: vars.fonts.sizes.Subheadline, - fontWeight: "bold", - color: vars.colors.text.normal, - padding: vars.spacing.small, - borderRadius: vars.trim.smallBorderRadius, - - ":hover": { - backgroundColor: vars.colors.brandHover, - }, - - ":active": { - backgroundColor: vars.colors.brandActive, - }, - - ":disabled": { - backgroundColor: vars.colors.brandDimmed, - color: vars.colors.text.dimmed, - }, -}); diff --git a/ui/frontend/build_src/src/styles/theme/index.css.ts b/ui/frontend/build_src/src/styles/theme/index.css.ts index 7aee7f2e..faceb83d 100644 --- a/ui/frontend/build_src/src/styles/theme/index.css.ts +++ b/ui/frontend/build_src/src/styles/theme/index.css.ts @@ -4,54 +4,6 @@ import { createTheme, } from "@vanilla-extract/css"; -/** - * Colors are all the same across the themes, this is just to set up a contract - * Colors can be decided later. I am just the architect. - * Tried to pull things from the original app. - * - * Lots of these arent used yet, but once they are defined and useable then they can be set. - */ -const colors = createThemeContract({ - brand: null, - brandDimmed: null, - brandHover: null, - brandActive: null, - brandAccent: null, - brandAccentDimmed: null, - brandAccentActive: null, - - secondary: null, - secondaryDimmed: null, - secondaryHover: null, - secondaryActive: null, - secondaryAccent: null, - secondaryAccentDimmed: null, - secondaryAccentActive: null, - - background: null, - backgroundAccent: null, - backgroundAlt: null, - backgroundAltAccent: null, - backgroundDark: null, - backgroundDarkAccent: null, - - text: { - normal: null, - dimmed: null, - - secondary: null, - secondaryDimmed: null, - - accent: null, - accentDimmed: null, - }, - - link: null, - warning: null, - error: null, - success: null, -}); - const app = createGlobalTheme(":root", { spacing: { none: "0", @@ -79,92 +31,57 @@ const app = createGlobalTheme(":root", { Overline: ".5em", }, }, - colors, -}); + // colors, -export const darkTheme = createTheme(colors, { - brand: "#5000b9", // purple - brandDimmed: "#433852", // muted purple - brandHover: "#5d00d6", // bringhter purple - brandActive: "#5d00d6", // bringhter purple - brandAccent: "#28004e", // darker purple - brandAccentDimmed: "#28004e", // darker purple - brandAccentActive: "#28004e", // darker purple + // 60 degree color difference + // step downs + brandHue: '265', // purple + secondaryHue: '225', // deep blue + tertiaryHue: '145', // grass green - secondary: "#0b8334", // green - secondaryDimmed: "#0b8334", // green - secondaryHover: "#0b8334", // green - secondaryActive: "#0b8334", // green - secondaryAccent: "#0b8334", // green - secondaryAccentDimmed: "#0b8334", // green - secondaryAccentActive: "#0b8334", // green + // step ups + errorHue: '0', + warningHue: '25', // orange + successHue: '85', // green - background: "#202124", // dark grey - backgroundAccent: " #383838", // lighter grey - - backgroundAlt: "#2c2d30", // med grey - backgroundAltAccent: "#383838", // lighter grey - - backgroundDark: "#121213", // darker grey - backgroundDarkAccent: "#383838", // lighter grey - - text: { - normal: "#ffffff", // white - dimmed: "#d1d5db", // off white - - secondary: "#ffffff", // white - secondaryDimmed: "#d1d5db", // off white - - accent: "#e7ba71", // orange - accentDimmed: "#7d6641", // muted orange + colorMod: { + saturation: { + bright: "100%", + normal: "60%", + dimmed: "50%", + dim: "30%", + }, + lightness: { + normal: "45%", + bright: "60%", + dim: "40%", + }, }, - link: "#0066cc", // blue - warning: "#f0ad4e", - error: "#d9534f", - success: "#5cb85c", + // is the secondary hue + backgroundMain: 'hsl(225, 6%, 13%)', + backgroundLight: 'hsl(225, 4%, 18%)', + backgroundDark: 'hsl(225, 3%, 7%)', + backgroundAccentMain: 'hsl(225, 6%, 30%)', + + backgroundAccentHue: '225', + backgroundAccentSaturation: '26%', + backgroundAccentLightness: '70%', + + // this is depricated + colors: { + text: { + normal: "#ffffff", // white + dimmed: "#d1d5db", // off white + + secondary: "#ffffff", // white + secondaryDimmed: "#d1d5db", // off white + + accent: "#e7ba71", // orange + accentDimmed: "#7d6641", // muted orange + }, + link: "#0066cc", // blue + } }); -// Generated by co-pilot -export const lightTheme = createTheme(colors, { - brand: "#1E40AF", - brandDimmed: "#1E40AF", - brandHover: "#1E40AF", - brandActive: "#1E40AF", - brandAccent: "#1E40AF", - brandAccentDimmed: "#1E40AF", - brandAccentActive: "#1E40AF", - - secondary: "#DB2777", - secondaryDimmed: "#DB2777", - secondaryHover: "#DB2777", - secondaryActive: "#DB2777", - secondaryAccent: "#DB2777", - secondaryAccentDimmed: "#DB2777", - secondaryAccentActive: "#DB2777", - - background: "#EFF6FF", - backgroundAccent: "#EFF6FF", - backgroundAlt: "#EFF6FF", - backgroundAltAccent: "#EFF6FF", - backgroundDark: "#EFF6FF", - backgroundDarkAccent: "#EFF6FF", - - text: { - normal: "#1F2937", - dimmed: "#6B7280", - - secondary: "#1F2937", - secondaryDimmed: "#6B7280", - - accent: "#1F2937", - accentDimmed: "#6B7280", - }, - - link: "#0066cc", // blue - warning: "yellow", - error: "red", - success: "green", -}); - -export const vars = { ...app, colors }; +export const vars = { ...app }; diff --git a/ui/frontend/build_src/vite.config.ts.timestamp-1664475745198.mjs b/ui/frontend/build_src/vite.config.ts.timestamp-1664475745198.mjs new file mode 100644 index 00000000..6232ef47 --- /dev/null +++ b/ui/frontend/build_src/vite.config.ts.timestamp-1664475745198.mjs @@ -0,0 +1,36 @@ +// vite.config.ts +import { defineConfig } from "vite"; +import eslint from "vite-plugin-eslint"; +import react from "@vitejs/plugin-react"; +import { vanillaExtractPlugin } from "@vanilla-extract/vite-plugin"; +import path from "path"; +var __vite_injected_original_dirname = "C:\\Users\\KC\\stable-diffusion-ui-react\\ui\\frontend\\build_src"; +var vite_config_default = defineConfig({ + resolve: { + alias: { + "@stores": path.resolve(__vite_injected_original_dirname, "./src/stores") + } + }, + plugins: [ + eslint(), + react(), + vanillaExtractPlugin({}) + ], + server: { + port: 9001 + }, + build: { + outDir: "../dist", + rollupOptions: { + output: { + entryFileNames: `[name].js`, + chunkFileNames: `[name].js`, + assetFileNames: `[name].[ext]` + } + } + } +}); +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxLQ1xcXFxzdGFibGUtZGlmZnVzaW9uLXVpLXJlYWN0XFxcXHVpXFxcXGZyb250ZW5kXFxcXGJ1aWxkX3NyY1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcS0NcXFxcc3RhYmxlLWRpZmZ1c2lvbi11aS1yZWFjdFxcXFx1aVxcXFxmcm9udGVuZFxcXFxidWlsZF9zcmNcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL0tDL3N0YWJsZS1kaWZmdXNpb24tdWktcmVhY3QvdWkvZnJvbnRlbmQvYnVpbGRfc3JjL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCBlc2xpbnQgZnJvbSBcInZpdGUtcGx1Z2luLWVzbGludFwiO1xuaW1wb3J0IHJlYWN0IGZyb20gXCJAdml0ZWpzL3BsdWdpbi1yZWFjdFwiO1xuaW1wb3J0IHsgdmFuaWxsYUV4dHJhY3RQbHVnaW4gfSBmcm9tIFwiQHZhbmlsbGEtZXh0cmFjdC92aXRlLXBsdWdpblwiO1xuXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gIHJlc29sdmU6IHtcbiAgICBhbGlhczoge1xuICAgICAgLy8gVE9ETyBmaWd1cmUgb3V0IHdoeSB2cyBjb2RlIGNvbXBsYWlucyBhYm91dCB0aGlzIGV2ZW4gdGhvdWdoIGl0IHdvcmtzXG4gICAgICBcIkBzdG9yZXNcIjogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCIuL3NyYy9zdG9yZXNcIiksXG4gICAgICAvLyBUT0RPIC0gYWRkIG1vcmUgYWxpYXNlc1xuICAgIH0sXG4gIH0sXG5cbiAgcGx1Z2luczogW1xuICAgIGVzbGludCgpLFxuICAgIHJlYWN0KCksXG4gICAgdmFuaWxsYUV4dHJhY3RQbHVnaW4oe1xuICAgICAgLy8gY29uZmlndXJhdGlvblxuICAgIH0pLFxuICBdLFxuXG4gIHNlcnZlcjoge1xuICAgIHBvcnQ6IDkwMDEsXG4gIH0sXG5cbiAgYnVpbGQ6IHtcbiAgICAvLyBtYWtlIHN1cmUgZXZlcnl0aGlnbiBpcyBpbiB0aGUgc2FtZSBkaXJlY3RvcnlcbiAgICBvdXREaXI6IFwiLi4vZGlzdFwiLFxuICAgIHJvbGx1cE9wdGlvbnM6IHtcbiAgICAgIG91dHB1dDoge1xuICAgICAgICAvLyBkb250IGhhc2ggdGhlIGZpbGUgbmFtZXNcbiAgICAgICAgLy8gbWF5YmUgb25jZSB3ZSB1cGRhdGUgdGhlIHB5dGhvbiBzZXJ2ZXI/XG4gICAgICAgIGVudHJ5RmlsZU5hbWVzOiBgW25hbWVdLmpzYCxcbiAgICAgICAgY2h1bmtGaWxlTmFtZXM6IGBbbmFtZV0uanNgLFxuICAgICAgICBhc3NldEZpbGVOYW1lczogYFtuYW1lXS5bZXh0XWAsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59KTtcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBaVgsU0FBUyxvQkFBb0I7QUFDOVksT0FBTyxZQUFZO0FBQ25CLE9BQU8sV0FBVztBQUNsQixTQUFTLDRCQUE0QjtBQUVyQyxPQUFPLFVBQVU7QUFMakIsSUFBTSxtQ0FBbUM7QUFPekMsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUztBQUFBLElBQ1AsT0FBTztBQUFBLE1BRUwsV0FBVyxLQUFLLFFBQVEsa0NBQVcsY0FBYztBQUFBLElBRW5EO0FBQUEsRUFDRjtBQUFBLEVBRUEsU0FBUztBQUFBLElBQ1AsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04scUJBQXFCLENBRXJCLENBQUM7QUFBQSxFQUNIO0FBQUEsRUFFQSxRQUFRO0FBQUEsSUFDTixNQUFNO0FBQUEsRUFDUjtBQUFBLEVBRUEsT0FBTztBQUFBLElBRUwsUUFBUTtBQUFBLElBQ1IsZUFBZTtBQUFBLE1BQ2IsUUFBUTtBQUFBLFFBR04sZ0JBQWdCO0FBQUEsUUFDaEIsZ0JBQWdCO0FBQUEsUUFDaEIsZ0JBQWdCO0FBQUEsTUFDbEI7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg== diff --git a/ui/frontend/dist/index.css b/ui/frontend/dist/index.css index f1ac54aa..b2f7c486 100644 --- a/ui/frontend/dist/index.css +++ b/ui/frontend/dist/index.css @@ -1 +1 @@ -:root{--_4vfmtju: 0;--_4vfmtjv: 2px;--_4vfmtjw: 5px;--_4vfmtjx: 10px;--_4vfmtjy: 25px;--_4vfmtjz: 5px;--_4vfmtj10: Arial, Helvetica, sans-serif;--_4vfmtj11: 2em;--_4vfmtj12: 1.5em;--_4vfmtj13: 1.2em;--_4vfmtj14: 1.1em;--_4vfmtj15: 1em;--_4vfmtj16: .8em;--_4vfmtj17: .75em;--_4vfmtj18: .5em;--_4vfmtj19: var(--_4vfmtj0);--_4vfmtj1a: var(--_4vfmtj1);--_4vfmtj1b: var(--_4vfmtj2);--_4vfmtj1c: var(--_4vfmtj3);--_4vfmtj1d: var(--_4vfmtj4);--_4vfmtj1e: var(--_4vfmtj5);--_4vfmtj1f: var(--_4vfmtj6);--_4vfmtj1g: var(--_4vfmtj7);--_4vfmtj1h: var(--_4vfmtj8);--_4vfmtj1i: var(--_4vfmtj9);--_4vfmtj1j: var(--_4vfmtja);--_4vfmtj1k: var(--_4vfmtjb);--_4vfmtj1l: var(--_4vfmtjc);--_4vfmtj1m: var(--_4vfmtjd);--_4vfmtj1n: var(--_4vfmtje);--_4vfmtj1o: var(--_4vfmtjf);--_4vfmtj1p: var(--_4vfmtjg);--_4vfmtj1q: var(--_4vfmtjh);--_4vfmtj1r: var(--_4vfmtji);--_4vfmtj1s: var(--_4vfmtjj);--_4vfmtj1t: var(--_4vfmtjk);--_4vfmtj1u: var(--_4vfmtjl);--_4vfmtj1v: var(--_4vfmtjm);--_4vfmtj1w: var(--_4vfmtjn);--_4vfmtj1x: var(--_4vfmtjo);--_4vfmtj1y: var(--_4vfmtjp);--_4vfmtj1z: var(--_4vfmtjq);--_4vfmtj20: var(--_4vfmtjr);--_4vfmtj21: var(--_4vfmtjs);--_4vfmtj22: var(--_4vfmtjt)}._4vfmtj23{--_4vfmtj0: #5000b9;--_4vfmtj1: #433852;--_4vfmtj2: #5d00d6;--_4vfmtj3: #5d00d6;--_4vfmtj4: #28004e;--_4vfmtj5: #28004e;--_4vfmtj6: #28004e;--_4vfmtj7: #0b8334;--_4vfmtj8: #0b8334;--_4vfmtj9: #0b8334;--_4vfmtja: #0b8334;--_4vfmtjb: #0b8334;--_4vfmtjc: #0b8334;--_4vfmtjd: #0b8334;--_4vfmtje: #202124;--_4vfmtjf: #383838;--_4vfmtjg: #2c2d30;--_4vfmtjh: #383838;--_4vfmtji: #121213;--_4vfmtjj: #383838;--_4vfmtjk: #ffffff;--_4vfmtjl: #d1d5db;--_4vfmtjm: #ffffff;--_4vfmtjn: #d1d5db;--_4vfmtjo: #e7ba71;--_4vfmtjp: #7d6641;--_4vfmtjq: #0066cc;--_4vfmtjr: #f0ad4e;--_4vfmtjs: #d9534f;--_4vfmtjt: #5cb85c}._4vfmtj24{--_4vfmtj0: #1E40AF;--_4vfmtj1: #1E40AF;--_4vfmtj2: #1E40AF;--_4vfmtj3: #1E40AF;--_4vfmtj4: #1E40AF;--_4vfmtj5: #1E40AF;--_4vfmtj6: #1E40AF;--_4vfmtj7: #DB2777;--_4vfmtj8: #DB2777;--_4vfmtj9: #DB2777;--_4vfmtja: #DB2777;--_4vfmtjb: #DB2777;--_4vfmtjc: #DB2777;--_4vfmtjd: #DB2777;--_4vfmtje: #EFF6FF;--_4vfmtjf: #EFF6FF;--_4vfmtjg: #EFF6FF;--_4vfmtjh: #EFF6FF;--_4vfmtji: #EFF6FF;--_4vfmtjj: #EFF6FF;--_4vfmtjk: #1F2937;--_4vfmtjl: #6B7280;--_4vfmtjm: #1F2937;--_4vfmtjn: #6B7280;--_4vfmtjo: #1F2937;--_4vfmtjp: #6B7280;--_4vfmtjq: #0066cc;--_4vfmtjr: yellow;--_4vfmtjs: red;--_4vfmtjt: green}._1qevocv0{position:relative;background-color:var(--_4vfmtje);width:100%;height:100%;pointer-events:auto;display:grid;grid-template-columns:400px 1fr;grid-template-rows:100px 1fr 115px;grid-template-areas:"header header header" "create display display" "create footer footer"}._1qevocv1{grid-area:header}._1qevocv2{grid-area:create;position:relative}._1qevocv3{grid-area:display;overflow:auto}._1qevocv4{grid-area:footer;display:flex;justify-content:center}@media screen and (max-width: 800px){._1qevocv0{grid-template-columns:1fr;grid-template-rows:100px 300px 1fr 100px;grid-template-areas:"header" "create" "display" "footer"}}._1jo75h0{color:var(--_4vfmtjr)}._1jo75h1{color:var(--_4vfmtjs)}._1jo75h2{color:var(--_4vfmtjt)}._17189jg0{position:relative}._17189jg1{background-color:transparent;border:0 none;cursor:pointer;padding:var(--_4vfmtju);font-size:var(--_4vfmtj13)}._17189jg1>i{margin-right:var(--_4vfmtjw)}._17189jg2{position:absolute;top:100%;right:0;z-index:1;background:var(--_4vfmtji);color:var(--_4vfmtjk);padding:var(--_4vfmtjx);border-radius:var(--_4vfmtjz);margin-bottom:var(--_4vfmtjx)}._1961rof0{background:var(--_4vfmtjg);color:var(--_4vfmtjk);padding:var(--_4vfmtjx);border-radius:var(--_4vfmtjz);margin-bottom:var(--_4vfmtjx);box-shadow:0 4px 8px #00000026,0 6px 20px #00000026}._1961rof0 .panel-box-toggle-btn{display:block;width:100%;text-align:left;background-color:transparent;color:var(--_4vfmtjk);border:0 none;cursor:pointer;padding:0}._1961rof1{margin-bottom:var(--_4vfmtjx)}._1961rof1:last-of-type{margin-bottom:var(--_4vfmtju)}._1961rof2{font-family:Font Awesome 6 Free}._1961rof3{display:block;width:100%;text-align:left;background-color:transparent;color:var(--_4vfmtjk);border:0 none;cursor:pointer;padding:0;margin-bottom:var(--_4vfmtjx)}._1961rof3>h4{color:#e7ba71}._1961rof4{background-color:var(--_4vfmtj0);font-size:var(--_4vfmtj13);font-weight:700;color:var(--_4vfmtjk);padding:var(--_4vfmtjw);border-radius:var(--_4vfmtjz)}._1961rof4:hover{background-color:var(--_4vfmtj2)}._1961rof4:active{background-color:var(--_4vfmtj3)}._1961rof4:disabled{background-color:var(--_4vfmtj1);color:var(--_4vfmtjl)}._1d4r83s0{width:300px}.cg4q680{width:480px}._1v2cc580{color:var(--_4vfmtjk);display:flex;justify-content:space-between}._1v2cc580>h1{font-size:var(--_4vfmtj11);font-weight:700;margin-right:var(--_4vfmtjx)}._1v2cc581{margin-left:var(--_4vfmtjy)}._1v2cc582{display:flex;align-items:center;flex-grow:1;justify-content:space-between;max-width:300px;margin-right:var(--_4vfmtjy)}._11d5x3d0{padding-left:0;list-style-type:none}._11d5x3d1{margin-top:var(--_4vfmtjx)}.g3uahc0{padding-left:0;list-style-type:none}.g3uahc0 li,.g3uahc1{margin-top:var(--_4vfmtjx)}.g3uahc2{padding-left:0;list-style-type:none;display:flex;flex-wrap:wrap}.g3uahc2 li{margin:0}.f149m50{display:inline-block;padding:6px;background-color:#264d8d;color:#fff;border-radius:5px;margin:5px}.f149m50.selected{background-color:#830b79}.f149m50 p{margin:0 0 2px;text-align:center}.f149m51{display:flex;justify-content:center}.f149m51 img{width:90px;height:100%;object-fit:cover;object-position:center}.fma0ug0{position:relative}.fma0ug0>canvas{position:absolute;top:0;left:0;width:100%;height:100%}.fma0ug0>canvas:first-of-type{opacity:.7}.fma0ug0>img{top:0;left:0}._2yyo4x0{position:relative;width:100%;height:100%;padding:10px}._2yyo4x1{display:flex;flex-direction:row;width:100%;flex-wrap:wrap}._2yyo4x2{display:flex;flex-direction:row;justify-content:space-evenly;align-items:center;width:100%}._2yyo4x2:first-of-type{margin:10px 0}.create-layout{padding:10px}.selected-tags{margin:10px 0}.selected-tags ul{margin:0;padding:0;display:flex;flex-wrap:wrap}li{list-style:none}.modifier-list{display:flex;flex-wrap:wrap;margin:0;padding:0}input[type=file]{color:transparent}.cjcdm20{position:relative;width:100%;height:100%;padding:0 10px;overflow-y:auto}.cjcdm21{position:absolute;top:10px;left:400px;z-index:1;background-color:#00000080}._1how28i0{position:relative;width:100%}._1how28i0>*{margin-bottom:10px}._1how28i1>p{font-size:1.5em;font-weight:700;margin-bottom:10px}._1how28i1>textarea{width:100%;resize:vertical;height:100px}._1rn4m8a0{display:flex}._1rn4m8a1{margin-bottom:var(--_4vfmtjw);display:block}._1rn4m8a2{display:none}._1rn4m8a4{margin-left:20px}._1rn4m8a5{position:absolute;transform:translate(-50%) translateY(-35%);background:black;color:#fff;border:2pt solid #ccc;padding:0;cursor:pointer;outline:inherit;border-radius:8pt;width:16pt;height:16pt;font-family:Verdana;font-size:8pt}._1hnlbmt0{width:100%;font-size:var(--_4vfmtj12)}._1iqbo9r0{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;padding:0}._1yvg52n0{position:relative}._1yvg52n0 img{width:100%;height:100%;object-fit:contain}.kiqcbi0{height:100%;width:100%;display:flex;flex-direction:column}.kiqcbi1{height:100%;width:80%;display:flex;justify-content:center}.kiqcbi2{width:100%;max-width:1000px;position:relative}.kiqcbi3{display:flex;flex-direction:column}.kiqcbi3>div{margin-bottom:var(--_4vfmtjx)}.kiqcbi3 p{margin-bottom:var(--_4vfmtjw)}.kiqcbi3 button{margin-right:var(--_4vfmtjx)}.fsj92y0{height:100%;width:100%;display:flex;padding-bottom:var(--_4vfmtjx)}.fsj92y1{display:flex;flex-direction:row;flex-wrap:nowrap;height:100%;width:100%;overflow:auto;padding-left:var(--_4vfmtju)}.fsj92y0 li{position:relative}.fsj92y0>li:first-of-type{margin-left:var(--_4vfmtjx)}.fsj92y0>li:last-of-type{margin-right:0}.fsj92y2{width:206px;background-color:#000;display:flex;justify-content:center;align-items:center;flex-shrink:0;border:0 none;padding:0;margin-left:var(--_4vfmtjx);cursor:pointer}.fsj92y2 img{width:100%;object-fit:contain}.fsj92y3{margin-left:var(--_4vfmtjw);background-color:var(--_4vfmtj0);border:0 none;padding:var(--_4vfmtjw);cursor:pointer;border-radius:var(--_4vfmtjz)}._688lcr0{height:100%;display:flex;flex-direction:column;padding-right:var(--_4vfmtjx)}._688lcr1{flex-grow:1;overflow:auto}._688lcr2{min-height:250px}._97t2g70{color:var(--_4vfmtjk);font-size:var(--_4vfmtj17);display:inline-block;padding:var(--_4vfmtjw);box-shadow:0 4px 8px #00000026,0 6px 20px #00000026}._97t2g71{height:23px;transform:translateY(25%)}._97t2g70 a{color:var(--_4vfmtjq);text-decoration:none}._97t2g70 a:hover{text-decoration:underline}._97t2g70 a:visited,._97t2g70 a:active{color:var(--_4vfmtjq)}._97t2g70 a:focus{color:var(--_4vfmtjq)}._97t2g70 p{margin:var(--_4vfmtjv)}body{margin:0;min-width:320px;min-height:100vh}#root{position:absolute;top:0;left:0;width:100vw;height:100vh;overflow:hidden}*{box-sizing:border-box}button{font-size:var(--_4vfmtj15)}.visually-hidden{visibility:hidden;position:absolute}h1,h2,h3,h4,h5,h6,p,label,ul,textarea{margin:0;padding:0;font-family:var(--_4vfmtj10)}h3{font-size:var(--_4vfmtj13);margin-bottom:var(--_4vfmtjw)}h4,h5{font-size:var(--_4vfmtj14);margin-bottom:var(--_4vfmtjx)}p,label{font-size:var(--_4vfmtj15)}textarea{padding:0;border:none;font-size:var(--_4vfmtj15);font-weight:700}a{color:var(--_4vfmtjq);text-decoration:none} +:root{--_4vfmtj0: 0;--_4vfmtj1: 2px;--_4vfmtj2: 5px;--_4vfmtj3: 10px;--_4vfmtj4: 25px;--_4vfmtj5: 5px;--_4vfmtj6: Arial, Helvetica, sans-serif;--_4vfmtj7: 2em;--_4vfmtj8: 1.5em;--_4vfmtj9: 1.2em;--_4vfmtja: 1.1em;--_4vfmtjb: 1em;--_4vfmtjc: .8em;--_4vfmtjd: .75em;--_4vfmtje: .5em;--_4vfmtjf: 265;--_4vfmtjg: 225;--_4vfmtjh: 145;--_4vfmtji: 0;--_4vfmtjj: 25;--_4vfmtjk: 85;--_4vfmtjl: 100%;--_4vfmtjm: 60%;--_4vfmtjn: 50%;--_4vfmtjo: 30%;--_4vfmtjp: 45%;--_4vfmtjq: 60%;--_4vfmtjr: 40%;--_4vfmtjs: hsl(225, 6%, 13%);--_4vfmtjt: hsl(225, 4%, 18%);--_4vfmtju: hsl(225, 3%, 7%);--_4vfmtjv: hsl(225, 6%, 30%);--_4vfmtjw: 225;--_4vfmtjx: 26%;--_4vfmtjy: 70%;--_4vfmtjz: #ffffff;--_4vfmtj10: #d1d5db;--_4vfmtj11: #ffffff;--_4vfmtj12: #d1d5db;--_4vfmtj13: #e7ba71;--_4vfmtj14: #7d6641;--_4vfmtj15: #0066cc}._1qevocv0{position:relative;width:100vw;height:100vh;pointer-events:auto;display:grid;background-color:var(--_4vfmtjs);grid-template-columns:400px 1fr;grid-template-rows:70px 1fr 115px;grid-template-areas:"header header header" "create display display" "create display display"}._1qevocv1{grid-area:header}._1qevocv2{grid-area:create;position:relative;display:flex;flex-direction:column}._1qevocv3{grid-area:display;overflow:auto}._1qevocv4{grid-area:footer;display:flex;justify-content:center}._1jo75h0{color:hsl(var(--_4vfmtjj),var(--_4vfmtjm),var(--_4vfmtjp))}._1jo75h1{color:hsl(var(--_4vfmtji),var(--_4vfmtjm),var(--_4vfmtjp))}._1jo75h2{color:hsl(var(--_4vfmtjk),var(--_4vfmtjm),var(--_4vfmtjp))}._1g1xsdd0{color:var(--_4vfmtjz);padding:var(--_4vfmtj3)}._1g1xsdd1{background:var(--_4vfmtjs)}._1g1xsdd2{background:var(--_4vfmtjt)}._1g1xsdd3{background:var(--_4vfmtju)}._1g1xsdd4{border-radius:var(--_4vfmtj5)}._1g1xsdd5{background:var(--_4vfmtju);border:1px solid var(--_4vfmtjv)}._1g1xsdd6,._1g1xsdd7,._1g1xsdd8{box-shadow:0 4px 8px #00000026,0 6px 20px #00000026}._1m2mgvr0{position:relative}._1m2mgvr1{background-color:transparent;border:0 none;cursor:pointer;padding:var(--_4vfmtj0);font-size:var(--_4vfmtj9)}._1m2mgvr1>i{margin-right:var(--_4vfmtj2)}._1m2mgvr2{position:absolute;top:100%;right:0;z-index:1}._1961rof0{margin-bottom:var(--_4vfmtj3)}._1961rof0:last-of-type{margin-bottom:var(--_4vfmtj0)}._1961rof1{font-family:Font Awesome 6 Free}._1961rof2{position:absolute;transform:translate(-50%) translateY(-35%);background:black;color:#fff;border:2pt solid #ccc;padding:0;cursor:pointer;outline:inherit;border-radius:8pt;width:16pt;height:16pt;font-family:Verdana;font-size:8pt}._1961rof3{display:block;width:100%;text-align:left;background-color:transparent;color:var(--_4vfmtjz);border:0 none;cursor:pointer;padding:0;margin-bottom:var(--_4vfmtj3)}._1961rof3>h4{color:#e7ba71}._1d4r83s0{width:300px}.cg4q680{width:480px}._1v2cc580{color:var(--_4vfmtjz);display:flex;justify-content:space-between}._1v2cc580>h1{font-size:var(--_4vfmtj7);font-weight:700;margin-right:var(--_4vfmtj3)}._1v2cc581{margin-left:var(--_4vfmtj4)}._1v2cc582{display:flex;align-items:center;flex-grow:1;justify-content:space-between;max-width:300px;margin-right:var(--_4vfmtj4)}._1xhk59i0{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;padding:0}._1yvg52n0{position:relative}._1yvg52n0 img{width:100%;height:100%;object-fit:contain}._1swsr2r0{height:100%;width:100%;display:flex;flex-direction:column}._1swsr2r1{height:100%;width:80%;display:flex;justify-content:center}._1swsr2r2{width:100%;max-width:1000px;position:relative}._1swsr2r3{display:flex;flex-direction:column}._1swsr2r3>div{margin-bottom:var(--_4vfmtj3)}._1swsr2r3 p{margin-bottom:var(--_4vfmtj2)}._1swsr2r3 button{margin-right:var(--_4vfmtj3)}._1wzejc90{font-size:var(--_4vfmtj9);font-weight:700;color:var(--_4vfmtjz);padding:var(--_4vfmtj2);border:0;border-radius:var(--_4vfmtj5)}._1wzejc91{--button-hue: var(--_4vfmtjf);--button-base-saturation: var(--_4vfmtjm);--button-base-lightness: var(--_4vfmtjp)}._1wzejc92{--button-hue: var(--_4vfmtjg);--button-base-saturation: var(--_4vfmtjm);--button-base-lightness: var(--_4vfmtjp)}._1wzejc93{--button-hue: var(--_4vfmtjh);--button-base-saturation: var(--_4vfmtjm);--button-base-lightness: var(--_4vfmtjp)}._1wzejc94{--button-hue: var(--_4vfmtji);--button-base-saturation: var(--_4vfmtjm);--button-base-lightness: var(--_4vfmtjp)}._1wzejc95{--button-hue: var(--_4vfmtjw);--button-base-saturation: var(--_4vfmtjx);--button-base-lightness: var(--_4vfmtjy)}._1wzejc96{background-color:transparent}._1wzejc97{background-color:hsl(var(--button-hue),var(--button-base-saturation),var(--_4vfmtjp));border:1px solid hsl(var(--button-hue),var(--button-base-saturation),var(--_4vfmtjp))}._1wzejc97:hover{background-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjp));border:1px solid hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjp))}._1wzejc97:active{background-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr));border:1px solid hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc97:focus{background-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr));border:1px solid hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc97:disabled{background-color:hsl(var(--button-hue),var(--_4vfmtjo),var(--_4vfmtjr));border:1px solid hsl(var(--button-hue),var(--_4vfmtjo),var(--_4vfmtjr))}._1wzejc98{background-color:transparent;border:1px solid hsl(var(--button-hue),var(--button-base-saturation),var(--_4vfmtjp))}._1wzejc98:hover{border-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjp))}._1wzejc98:active{border-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc98:focus{border-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc98:disabled{border-color:hsl(var(--button-hue),var(--_4vfmtjo),var(--_4vfmtjr))}._1wzejc99{background-color:transparent;color:hsl(var(--button-hue),var(--button-base-saturation),var(--_4vfmtjp));text-decoration:underline}._1wzejc99:hover{color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjp))}._1wzejc99:active{color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc99:focus{color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc99:disabled{color:hsl(var(--button-hue),var(--_4vfmtjo),var(--_4vfmtjr))}._1wzejc9a{padding:var(--_4vfmtj1);font-size:var(--_4vfmtjd)}._1wzejc9b{width:100%;font-size:var(--_4vfmtj8)}._1ma99900{position:relative}._1ma99901{height:250px;width:100%;display:flex;padding:var(--_4vfmtj3);border-radius:0}._1ma99902{display:flex;flex-direction:row;flex-wrap:nowrap;height:100%;width:100%;overflow:auto;padding-left:var(--_4vfmtj0)}._1ma99901 li{position:relative}._1ma99901>li:first-of-type{margin-left:var(--_4vfmtj3)}._1ma99901>li:last-of-type{margin-right:0}._1ma99903{width:206px;background-color:#000;display:flex;justify-content:center;align-items:center;flex-shrink:0;border:0 none;padding:0;margin-left:var(--_4vfmtj3);cursor:pointer}._1ma99903 img{width:100%;object-fit:contain}.ejmsqv0{background:var(--_4vfmtjs);color:var(--_4vfmtjz);padding:var(--_4vfmtj2);border-radius:var(--_4vfmtj5) var(--_4vfmtj5) 0 0;border:1px solid var(--_4vfmtjt);border-bottom:none;margin-left:var(--_4vfmtj2);box-shadow:0 -1px 4px -2px var(--_4vfmtjv) inset;width:fit-content}.ejmsqv0:focus{outline:none}.ejmsqv1{background:var(--_4vfmtjt);color:var(--_4vfmtjz);box-shadow:0 -1px 4px -2px var(--_4vfmtju) inset}.ejmsqv2{color:var(--_4vfmtjz);background:var(--_4vfmtjt);padding:var(--_4vfmtj3);flex-grow:1;overflow:auto}.ejmsqv3{background:var(--_4vfmtjs)}.ejmsqv4{background:var(--_4vfmtjt)}.ejmsqv5{background:var(--_4vfmtju)}._3dzc6s0{width:100%;height:100%;display:grid;grid-template-columns:1fr 250px;grid-template-rows:1fr 250px;grid-template-areas:"content info" "history history";overflow:hidden}._3dzc6s0[data-hide-info]{grid-template-columns:1fr;grid-template-rows:1fr 250px}._3dzc6s0[data-hide-history]{grid-template-columns:1fr 250px;grid-template-rows:1fr 0px}._3dzc6s0[data-hide-info][data-hide-history]{grid-template-columns:1fr 0px;grid-template-rows:1fr 0px}._3dzc6s1{grid-area:content}._3dzc6s2{grid-area:info;position:relative}._3dzc6s3{grid-area:history;position:relative}._3dzc6s3>button{position:absolute;top:-29px}._3dzc6s4{flex-grow:1;overflow:auto;display:flex}._3dzc6s5{width:250px;height:100%;background-color:#639;position:relative}._3dzc6s6{position:absolute;top:0;left:0;transform-origin:37% 275%;transform:rotate(-90deg)}._97t2g70{color:var(--_4vfmtjz);font-size:var(--_4vfmtjd);display:inline-block;padding:var(--_4vfmtj2);box-shadow:0 4px 8px #00000026,0 6px 20px #00000026}._97t2g71{height:23px;transform:translateY(25%)}._97t2g70 a{color:var(--_4vfmtj15);text-decoration:none}._97t2g70 a:hover{text-decoration:underline}._97t2g70 a:visited,._97t2g70 a:active{color:var(--_4vfmtj15)}._97t2g70 a:focus{color:var(--_4vfmtj15)}._97t2g70 p{margin:var(--_4vfmtj1)}._1how28i0{position:relative;width:100%}._1how28i0>*{margin-bottom:10px}._1ilavkl0{position:relative;width:fit-content;background-color:hsl(var(--_4vfmtjt),var(--_4vfmtjm),var(--_4vfmtjp));padding:var(--_4vfmtj2)}._1ilavkl1{opacity:1;font-size:var(--_4vfmtjc)}._1ilavkl2{opacity:.3;font-size:var(--_4vfmtjc)}._1ilavkl0.positive{border-color:hsl(var(--_4vfmtjf),var(--_4vfmtjm),var(--_4vfmtjp))}._1ilavkl0.negative{border-color:hsl(var(--_4vfmtji),var(--_4vfmtjm),var(--_4vfmtjp))}._1ilavkl3{position:absolute;top:0;right:0;height:100%;width:100%;border:none;background-color:transparent;box-shadow:inset 0 0 24px #ffffff7f}._1ilavkl4{top:-4px;left:4px;padding:0}.d1va400{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;width:100%;height:100%;overflow:visible;scrollbar-width:none;-ms-overflow-style:none}.d1va400::-webkit-scrollbar{display:none}._9fxd10{display:flex;flex-direction:column;width:100%;height:100%;margin-bottom:0}._9fxd10 input{width:100%}._9fxd10>div{margin-bottom:var(--_4vfmtj2)}._9fxd12{background:var(--_4vfmtju);height:22px;border-radius:15px;width:34px;border:0;position:relative;display:inline-flex;padding:0;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 2px 0 var(--_4vfmtju)}._9fxd12[data-headlessui-state=checked]{background:var(--_4vfmtjt)}._9fxd15{display:inline-flex;height:18px;width:30px;border-radius:15px;background:var(--_4vfmtju);flex-direction:column;align-items:center;justify-content:center}._9fxd12[data-headlessui-state=checked] ._9fxd15{background:var(--_4vfmtjv)}._9fxd15 p{color:var(--_4vfmtjz)}._9fxd16{margin-top:var(--_4vfmtj2);display:flex;flex-direction:row}._9fxd16>button{flex-grow:1;margin-right:var(--_4vfmtj3)}._1rn4m8a0{display:flex}._1rn4m8a1{margin-bottom:var(--_4vfmtj2);display:block}._1rn4m8a2{display:none}._1rn4m8a3{margin-left:20px}._11d5x3d0{padding-left:0;list-style-type:none}._11d5x3d1{margin-top:var(--_4vfmtj2)}.g3uahc0{padding-left:0;list-style-type:none}.g3uahc0 li,.g3uahc1{margin-top:var(--_4vfmtj3)}.g3uahc1 h4{font-size:var(--_4vfmtjc)}.g3uahc2{padding-left:0;list-style-type:none;display:flex;flex-wrap:wrap;gap:var(--_4vfmtj2)}.g3uahc2 li{margin:0}._1uf7s3f0{position:relative;width:fit-content;border-color:hsl(var(--_4vfmtjf),var(--_4vfmtjm),var(--_4vfmtjp));padding:var(--_4vfmtj2)}._1uf7s3f0.selected{background-color:#830b79}._1uf7s3f0 p{margin:0 0 2px;text-align:center}._1uf7s3f1{opacity:1}._1uf7s3f2{opacity:.3}._1uf7s3f3{position:absolute;top:0;left:0;height:100%;width:100%;display:flex;flex-direction:row}._1uf7s3f3 button{flex-grow:1;background-color:transparent;border:none;box-shadow:inset 0 0 24px #ffffff7f;border-radius:5px;padding:0}._1uf7s3f4{display:flex;justify-content:center}._1uf7s3f4 img{width:90px;height:100%;object-fit:cover;object-position:center}.fma0ug0{position:relative}.fma0ug0>canvas{position:absolute;top:0;left:0;width:100%;height:100%}.fma0ug0>canvas:first-of-type{opacity:.7}.fma0ug0>img{top:0;left:0}._2yyo4x0{position:relative;width:100%;height:100%;padding:10px}._2yyo4x1{display:flex;flex-direction:row;width:100%;flex-wrap:wrap}._2yyo4x2{display:flex;flex-direction:row;justify-content:space-evenly;align-items:center;width:100%}._2yyo4x2:first-of-type{margin:10px 0}.jx6k9z0{position:relative;width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.jx6k9z0>div{margin-bottom:var(--_4vfmtj3)}.jx6k9z1{position:absolute;top:10px;left:400px;z-index:1;background-color:#00000080}._1jtagr80{display:flex;flex-direction:column;width:100%;height:100%}._1jtagr81{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:var(--_4vfmtj3);margin-top:var(--_4vfmtj3)}._1jtagr81 button{flex-grow:1}._1jtagr81 button:first-child{margin-right:var(--_4vfmtj3)}._133914l0{display:flex;flex-direction:column;width:100%;margin-bottom:var(--_4vfmtj3)}._133914l1 p{margin-bottom:var(--_4vfmtj2)}._133914l0.complete{border-color:hsl(var(--_4vfmtjg),var(--_4vfmtjm),var(--_4vfmtjp))}._133914l0.processing{border-color:hsl(var(--_4vfmtjh),var(--_4vfmtjl),var(--_4vfmtjq))}._133914l0.pending{border-color:hsl(var(--_4vfmtjv),var(--_4vfmtjl),var(--_4vfmtjp))}._133914l0.paused{border-color:hsl(var(--_4vfmtjv),var(--_4vfmtjo),var(--_4vfmtjr));background-color:hsl(var(--_4vfmtjv),var(--_4vfmtjo),var(--_4vfmtjr))}._133914l0.error{border-color:hsl(var(--_4vfmtji),var(--_4vfmtjm),var(--_4vfmtjp))}._133914l2{display:flex;flex-direction:row;justify-content:space-between;align-items:center}._1j91ti00{direction:rtl;overflow:overlay}._1j91ti00::-webkit-scrollbar{position:absolute;width:6px;background-color:var(--_4vfmtjv)}._1j91ti00::-webkit-scrollbar-thumb{background-color:var(--_4vfmtju);border-radius:4px}._1j91ti00>*{direction:ltr}body{margin:0;min-width:320px;min-height:100vh}#root{position:absolute;top:0;left:0;width:100vw;height:100vh;overflow:auto;overflow-x:hidden}*{box-sizing:border-box}button{font-size:var(--_4vfmtjb)}.visually-hidden{visibility:hidden;position:absolute}h1,h2,h3,h4,h5,h6,p,label,ul,textarea{margin:0;padding:0;font-family:var(--_4vfmtj6)}h3{font-size:var(--_4vfmtj9)}h4,h5{font-size:var(--_4vfmtja)}h6,p,label{font-size:var(--_4vfmtjb)}textarea{padding:0;border:none;font-size:var(--_4vfmtjb);font-weight:700}a{color:var(--_4vfmtj15);text-decoration:none}ul{list-style:none} diff --git a/ui/frontend/dist/index.js b/ui/frontend/dist/index.js index 3ea3bbba..68b3c9b3 100644 --- a/ui/frontend/dist/index.js +++ b/ui/frontend/dist/index.js @@ -1,4 +1,4 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerpolicy&&(o.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?o.credentials="include":i.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();function rd(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _={exports:{}},A={};/** +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerpolicy&&(o.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?o.credentials="include":i.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();function wd(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var P={exports:{}},$={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var gi=Symbol.for("react.element"),dg=Symbol.for("react.portal"),pg=Symbol.for("react.fragment"),hg=Symbol.for("react.strict_mode"),gg=Symbol.for("react.profiler"),mg=Symbol.for("react.provider"),vg=Symbol.for("react.context"),yg=Symbol.for("react.forward_ref"),Sg=Symbol.for("react.suspense"),wg=Symbol.for("react.memo"),xg=Symbol.for("react.lazy"),Au=Symbol.iterator;function kg(e){return e===null||typeof e!="object"?null:(e=Au&&e[Au]||e["@@iterator"],typeof e=="function"?e:null)}var id={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},od=Object.assign,sd={};function mr(e,t,n){this.props=e,this.context=t,this.refs=sd,this.updater=n||id}mr.prototype.isReactComponent={};mr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};mr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ad(){}ad.prototype=mr.prototype;function vl(e,t,n){this.props=e,this.context=t,this.refs=sd,this.updater=n||id}var yl=vl.prototype=new ad;yl.constructor=vl;od(yl,mr.prototype);yl.isPureReactComponent=!0;var $u=Array.isArray,ld=Object.prototype.hasOwnProperty,Sl={current:null},ud={key:!0,ref:!0,__self:!0,__source:!0};function cd(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)ld.call(t,r)&&!ud.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,Z=b[z];if(0>>1;z<$t;){var Te=2*(z+1)-1,In=b[Te],De=Te+1,Ot=b[De];if(0>i(In,M))Dei(Ot,In)?(b[z]=Ot,b[De]=M,z=De):(b[z]=In,b[Te]=M,z=Te);else if(Dei(Ot,M))b[z]=Ot,b[De]=M,z=De;else break e}}return D}function i(b,D){var M=b.sortIndex-D.sortIndex;return M!==0?M:b.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,f=null,d=3,m=!1,h=!1,y=!1,k=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,p=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(b){for(var D=n(u);D!==null;){if(D.callback===null)r(u);else if(D.startTime<=b)r(u),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(u)}}function S(b){if(y=!1,g(b),!h)if(n(l)!==null)h=!0,Le(O);else{var D=n(u);D!==null&&ae(S,D.startTime-b)}}function O(b,D){h=!1,y&&(y=!1,v(C),C=-1),m=!0;var M=d;try{for(g(D),f=n(l);f!==null&&(!(f.expirationTime>D)||b&&!L());){var z=f.callback;if(typeof z=="function"){f.callback=null,d=f.priorityLevel;var Z=z(f.expirationTime<=D);D=e.unstable_now(),typeof Z=="function"?f.callback=Z:f===n(l)&&r(l),g(D)}else r(l);f=n(l)}if(f!==null)var $t=!0;else{var Te=n(u);Te!==null&&ae(S,Te.startTime-D),$t=!1}return $t}finally{f=null,d=M,m=!1}}var E=!1,P=null,C=-1,w=5,R=-1;function L(){return!(e.unstable_now()-Rb||125z?(b.sortIndex=M,t(u,b),n(l)===null&&b===n(u)&&(y?(v(C),C=-1):y=!0,ae(S,M-z))):(b.sortIndex=Z,t(l,b),h||m||(h=!0,Le(O))),b},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(b){var D=d;return function(){var M=d;d=D;try{return b.apply(this,arguments)}finally{d=M}}}})(pd);(function(e){e.exports=pd})(dd);/** + */(function(e){function t(T,F){var M=T.length;T.push(F);e:for(;0>>1,X=T[B];if(0>>1;Bi(Qn,M))Bei(Mt,Qn)?(T[B]=Mt,T[Be]=M,B=Be):(T[B]=Qn,T[_e]=M,B=_e);else if(Bei(Mt,M))T[B]=Mt,T[Be]=M,B=Be;else break e}}return F}function i(T,F){var M=T.sortIndex-F.sortIndex;return M!==0?M:T.id-F.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,f=null,d=3,p=!1,g=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(T){for(var F=n(u);F!==null;){if(F.callback===null)r(u);else if(F.startTime<=T)r(u),F.sortIndex=F.expirationTime,t(l,F);else break;F=n(u)}}function S(T){if(y=!1,m(T),!g)if(n(l)!==null)g=!0,Xe(_);else{var F=n(u);F!==null&&De(S,F.startTime-T)}}function _(T,F){g=!1,y&&(y=!1,v(b),b=-1),p=!0;var M=d;try{for(m(F),f=n(l);f!==null&&(!(f.expirationTime>F)||T&&!I());){var B=f.callback;if(typeof B=="function"){f.callback=null,d=f.priorityLevel;var X=B(f.expirationTime<=F);F=e.unstable_now(),typeof X=="function"?f.callback=X:f===n(l)&&r(l),m(F)}else r(l);f=n(l)}if(f!==null)var Yt=!0;else{var _e=n(u);_e!==null&&De(S,_e.startTime-F),Yt=!1}return Yt}finally{f=null,d=M,p=!1}}var O=!1,C=null,b=-1,k=5,E=-1;function I(){return!(e.unstable_now()-ET||125B?(T.sortIndex=M,t(u,T),n(l)===null&&T===n(u)&&(y?(v(b),b=-1):y=!0,De(S,M-B))):(T.sortIndex=X,t(l,T),g||p||(g=!0,Xe(_))),T},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(T){var F=d;return function(){var M=d;d=F;try{return T.apply(this,arguments)}finally{d=M}}}})(Nd);(function(e){e.exports=Nd})(Rd);/** * @license React * react-dom.production.min.js * @@ -22,14 +22,14 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var hd=_.exports,Ae=dd.exports;function N(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),sa=Object.prototype.hasOwnProperty,_g=/^[: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]*$/,zu={},Bu={};function Rg(e){return sa.call(Bu,e)?!0:sa.call(zu,e)?!1:_g.test(e)?Bu[e]=!0:(zu[e]=!0,!1)}function Ng(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Ig(e,t,n,r){if(t===null||typeof t>"u"||Ng(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ee(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var he={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){he[e]=new Ee(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];he[t]=new Ee(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){he[e]=new Ee(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){he[e]=new Ee(e,2,!1,e,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(e){he[e]=new Ee(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){he[e]=new Ee(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){he[e]=new Ee(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){he[e]=new Ee(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){he[e]=new Ee(e,5,!1,e.toLowerCase(),null,!1,!1)});var xl=/[\-:]([a-z])/g;function kl(e){return e[1].toUpperCase()}"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(e){var t=e.replace(xl,kl);he[t]=new Ee(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(xl,kl);he[t]=new Ee(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(xl,kl);he[t]=new Ee(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){he[e]=new Ee(e,1,!1,e.toLowerCase(),null,!1,!1)});he.xlinkHref=new Ee("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){he[e]=new Ee(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ol(e,t,n,r){var i=he.hasOwnProperty(t)?he[t]:null;(i!==null?i.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),da=Object.prototype.hasOwnProperty,Kg=/^[: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]*$/,ic={},oc={};function Wg(e){return da.call(oc,e)?!0:da.call(ic,e)?!1:Kg.test(e)?oc[e]=!0:(ic[e]=!0,!1)}function Gg(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Yg(e,t,n,r){if(t===null||typeof t>"u"||Gg(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Te(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var ye={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ye[e]=new Te(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ye[t]=new Te(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ye[e]=new Te(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ye[e]=new Te(e,2,!1,e,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(e){ye[e]=new Te(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ye[e]=new Te(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ye[e]=new Te(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ye[e]=new Te(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ye[e]=new Te(e,5,!1,e.toLowerCase(),null,!1,!1)});var Rl=/[\-:]([a-z])/g;function Nl(e){return e[1].toUpperCase()}"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(e){var t=e.replace(Rl,Nl);ye[t]=new Te(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Rl,Nl);ye[t]=new Te(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Rl,Nl);ye[t]=new Te(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ye[e]=new Te(e,1,!1,e.toLowerCase(),null,!1,!1)});ye.xlinkHref=new Te("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ye[e]=new Te(e,1,!1,e.toLowerCase(),null,!0,!0)});function Tl(e,t,n,r){var i=ye.hasOwnProperty(t)?ye[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{Os=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?br(e):""}function bg(e){switch(e.tag){case 5:return br(e.type);case 16:return br("Lazy");case 13:return br("Suspense");case 19:return br("SuspenseList");case 0:case 2:case 15:return e=Ps(e.type,!1),e;case 11:return e=Ps(e.type.render,!1),e;case 1:return e=Ps(e.type,!0),e;default:return""}}function ca(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Mn:return"Fragment";case Fn:return"Portal";case aa:return"Profiler";case Pl:return"StrictMode";case la:return"Suspense";case ua:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case vd:return(e.displayName||"Context")+".Consumer";case md:return(e._context.displayName||"Context")+".Provider";case El:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Cl:return t=e.displayName||null,t!==null?t:ca(e.type)||"Memo";case Bt:t=e._payload,e=e._init;try{return ca(e(t))}catch{}}return null}function Lg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ca(t);case 8:return t===Pl?"StrictMode":"Mode";case 22:return"Offscreen";case 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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function an(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Sd(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Tg(e){var t=Sd(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ei(e){e._valueTracker||(e._valueTracker=Tg(e))}function wd(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Sd(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function so(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function fa(e,t){var n=t.checked;return X({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n!=null?n:e._wrapperState.initialChecked})}function Qu(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=an(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function xd(e,t){t=t.checked,t!=null&&Ol(e,"checked",t,!1)}function da(e,t){xd(e,t);var n=an(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?pa(e,t.type,n):t.hasOwnProperty("defaultValue")&&pa(e,t.type,an(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Vu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function pa(e,t,n){(t!=="number"||so(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Lr=Array.isArray;function Wn(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Ci.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function qr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Mr={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,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Dg=["Webkit","ms","Moz","O"];Object.keys(Mr).forEach(function(e){Dg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Mr[t]=Mr[e]})});function Ed(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Mr.hasOwnProperty(e)&&Mr[e]?(""+t).trim():t+"px"}function Cd(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Ed(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Fg=X({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});function ma(e,t){if(t){if(Fg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(N(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(N(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(N(61))}if(t.style!=null&&typeof t.style!="object")throw Error(N(62))}}function va(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 ya=null;function _l(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Sa=null,Gn=null,Yn=null;function Wu(e){if(e=yi(e)){if(typeof Sa!="function")throw Error(N(280));var t=e.stateNode;t&&(t=Yo(t),Sa(e.stateNode,e.type,t))}}function _d(e){Gn?Yn?Yn.push(e):Yn=[e]:Gn=e}function Rd(){if(Gn){var e=Gn,t=Yn;if(Yn=Gn=null,Wu(e),t)for(e=0;e>>=0,e===0?32:31-(Kg(e)/qg|0)|0}var _i=64,Ri=4194304;function Tr(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function co(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=Tr(a):(o&=s,o!==0&&(r=Tr(o)))}else s=n&~i,s!==0?r=Tr(s):o!==0&&(r=Tr(o));if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function mi(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-it(t),e[t]=n}function Jg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ar),rc=String.fromCharCode(32),ic=!1;function Wd(e,t){switch(e){case"keyup":return Em.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function _m(e,t){switch(e){case"compositionend":return Gd(t);case"keypress":return t.which!==32?null:(ic=!0,rc);case"textInput":return e=t.data,e===rc&&ic?null:e;default:return null}}function Rm(e,t){if(jn)return e==="compositionend"||!Fl&&Wd(e,t)?(e=Kd(),Gi=Ll=Wt=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lc(n)}}function Zd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Zd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ep(){for(var e=window,t=so();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=so(e.document)}return t}function Ml(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function jm(e){var t=ep(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Zd(n.ownerDocument.documentElement,n)){if(r!==null&&Ml(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=uc(n,o);var s=uc(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,An=null,Ea=null,Ur=null,Ca=!1;function cc(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ca||An==null||An!==so(r)||(r=An,"selectionStart"in r&&Ml(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ur&&Zr(Ur,r)||(Ur=r,r=ho(Ea,"onSelect"),0zn||(e.current=La[zn],La[zn]=null,zn--)}function K(e,t){zn++,La[zn]=e.current,e.current=t}var ln={},Se=fn(ln),Ne=fn(!1),On=ln;function nr(e,t){var n=e.type.contextTypes;if(!n)return ln;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ie(e){return e=e.childContextTypes,e!=null}function mo(){W(Ne),W(Se)}function vc(e,t,n){if(Se.current!==ln)throw Error(N(168));K(Se,t),K(Ne,n)}function up(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(N(108,Lg(e)||"Unknown",i));return X({},n,r)}function vo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ln,On=Se.current,K(Se,e),K(Ne,Ne.current),!0}function yc(e,t,n){var r=e.stateNode;if(!r)throw Error(N(169));n?(e=up(e,t,On),r.__reactInternalMemoizedMergedChildContext=e,W(Ne),W(Se),K(Se,e)):W(Ne),K(Ne,n)}var Et=null,Jo=!1,As=!1;function cp(e){Et===null?Et=[e]:Et.push(e)}function Gm(e){Jo=!0,cp(e)}function dn(){if(!As&&Et!==null){As=!0;var e=0,t=Q;try{var n=Et;for(Q=1;e>=s,i-=s,_t=1<<32-it(t)+i|n<C?(w=P,P=null):w=P.sibling;var R=d(v,P,g[C],S);if(R===null){P===null&&(P=w);break}e&&P&&R.alternate===null&&t(v,P),p=o(R,p,C),E===null?O=R:E.sibling=R,E=R,P=w}if(C===g.length)return n(v,P),G&&pn(v,C),O;if(P===null){for(;CC?(w=P,P=null):w=P.sibling;var L=d(v,P,R.value,S);if(L===null){P===null&&(P=w);break}e&&P&&L.alternate===null&&t(v,P),p=o(L,p,C),E===null?O=L:E.sibling=L,E=L,P=w}if(R.done)return n(v,P),G&&pn(v,C),O;if(P===null){for(;!R.done;C++,R=g.next())R=f(v,R.value,S),R!==null&&(p=o(R,p,C),E===null?O=R:E.sibling=R,E=R);return G&&pn(v,C),O}for(P=r(v,P);!R.done;C++,R=g.next())R=m(P,v,C,R.value,S),R!==null&&(e&&R.alternate!==null&&P.delete(R.key===null?C:R.key),p=o(R,p,C),E===null?O=R:E.sibling=R,E=R);return e&&P.forEach(function(j){return t(v,j)}),G&&pn(v,C),O}function k(v,p,g,S){if(typeof g=="object"&&g!==null&&g.type===Mn&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Pi:e:{for(var O=g.key,E=p;E!==null;){if(E.key===O){if(O=g.type,O===Mn){if(E.tag===7){n(v,E.sibling),p=i(E,g.props.children),p.return=v,v=p;break e}}else if(E.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===Bt&&Ec(O)===E.type){n(v,E.sibling),p=i(E,g.props),p.ref=_r(v,E,g),p.return=v,v=p;break e}n(v,E);break}else t(v,E);E=E.sibling}g.type===Mn?(p=kn(g.props.children,v.mode,S,g.key),p.return=v,v=p):(S=ro(g.type,g.key,g.props,null,v.mode,S),S.ref=_r(v,p,g),S.return=v,v=S)}return s(v);case Fn:e:{for(E=g.key;p!==null;){if(p.key===E)if(p.tag===4&&p.stateNode.containerInfo===g.containerInfo&&p.stateNode.implementation===g.implementation){n(v,p.sibling),p=i(p,g.children||[]),p.return=v,v=p;break e}else{n(v,p);break}else t(v,p);p=p.sibling}p=Ks(g,v.mode,S),p.return=v,v=p}return s(v);case Bt:return E=g._init,k(v,p,E(g._payload),S)}if(Lr(g))return h(v,p,g,S);if(kr(g))return y(v,p,g,S);Fi(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,p!==null&&p.tag===6?(n(v,p.sibling),p=i(p,g),p.return=v,v=p):(n(v,p),p=Vs(g,v.mode,S),p.return=v,v=p),s(v)):n(v,p)}return k}var ir=yp(!0),Sp=yp(!1),Si={},vt=fn(Si),ri=fn(Si),ii=fn(Si);function vn(e){if(e===Si)throw Error(N(174));return e}function Vl(e,t){switch(K(ii,t),K(ri,e),K(vt,Si),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ga(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ga(t,e)}W(vt),K(vt,t)}function or(){W(vt),W(ri),W(ii)}function wp(e){vn(ii.current);var t=vn(vt.current),n=ga(t,e.type);t!==n&&(K(ri,e),K(vt,n))}function Kl(e){ri.current===e&&(W(vt),W(ri))}var Y=fn(0);function Oo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var $s=[];function ql(){for(var e=0;e<$s.length;e++)$s[e]._workInProgressVersionPrimary=null;$s.length=0}var Xi=Mt.ReactCurrentDispatcher,Us=Mt.ReactCurrentBatchConfig,En=0,J=null,oe=null,ue=null,Po=!1,zr=!1,oi=0,Jm=0;function ge(){throw Error(N(321))}function Wl(e,t){if(t===null)return!1;for(var n=0;nn?n:4,e(!0);var r=Us.transition;Us.transition={};try{e(!1),t()}finally{Q=n,Us.transition=r}}function Mp(){return Je().memoizedState}function Zm(e,t,n){var r=nn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},jp(e))Ap(t,n);else if(n=hp(e,t,n,r),n!==null){var i=Oe();ot(n,e,r,i),$p(n,t,r)}}function ev(e,t,n){var r=nn(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(jp(e))Ap(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,at(a,s)){var l=t.interleaved;l===null?(i.next=i,Hl(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=hp(e,t,i,r),n!==null&&(i=Oe(),ot(n,e,r,i),$p(n,t,r))}}function jp(e){var t=e.alternate;return e===J||t!==null&&t===J}function Ap(e,t){zr=Po=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function $p(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Nl(e,n)}}var Eo={readContext:Ye,useCallback:ge,useContext:ge,useEffect:ge,useImperativeHandle:ge,useInsertionEffect:ge,useLayoutEffect:ge,useMemo:ge,useReducer:ge,useRef:ge,useState:ge,useDebugValue:ge,useDeferredValue:ge,useTransition:ge,useMutableSource:ge,useSyncExternalStore:ge,useId:ge,unstable_isNewReconciler:!1},tv={readContext:Ye,useCallback:function(e,t){return dt().memoizedState=[e,t===void 0?null:t],e},useContext:Ye,useEffect:_c,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Zi(4194308,4,bp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Zi(4194308,4,e,t)},useInsertionEffect:function(e,t){return Zi(4,2,e,t)},useMemo:function(e,t){var n=dt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=dt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Zm.bind(null,J,e),[r.memoizedState,e]},useRef:function(e){var t=dt();return e={current:e},t.memoizedState=e},useState:Cc,useDebugValue:Xl,useDeferredValue:function(e){return dt().memoizedState=e},useTransition:function(){var e=Cc(!1),t=e[0];return e=Xm.bind(null,e[1]),dt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=J,i=dt();if(G){if(n===void 0)throw Error(N(407));n=n()}else{if(n=t(),ce===null)throw Error(N(349));(En&30)!==0||Op(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,_c(Ep.bind(null,r,o,e),[e]),r.flags|=2048,ai(9,Pp.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=dt(),t=ce.identifierPrefix;if(G){var n=Rt,r=_t;n=(r&~(1<<32-it(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=oi++,0")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{bs=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ur(e):""}function Jg(e){switch(e.tag){case 5:return Ur(e.type);case 16:return Ur("Lazy");case 13:return Ur("Suspense");case 19:return Ur("SuspenseList");case 0:case 2:case 15:return e=Rs(e.type,!1),e;case 11:return e=Rs(e.type.render,!1),e;case 1:return e=Rs(e.type,!0),e;default:return""}}function ma(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Wn:return"Fragment";case Kn:return"Portal";case pa:return"Profiler";case Il:return"StrictMode";case ha:return"Suspense";case ga:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Dd:return(e.displayName||"Context")+".Consumer";case Ld:return(e._context.displayName||"Context")+".Provider";case Ll:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Dl:return t=e.displayName||null,t!==null?t:ma(e.type)||"Memo";case Zt:t=e._payload,e=e._init;try{return ma(e(t))}catch{}}return null}function Xg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ma(t);case 8:return t===Il?"StrictMode":"Mode";case 22:return"Offscreen";case 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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function yn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Md(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Zg(e){var t=Md(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Di(e){e._valueTracker||(e._valueTracker=Zg(e))}function jd(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Md(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function go(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function va(e,t){var n=t.checked;return te({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n!=null?n:e._wrapperState.initialChecked})}function ac(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=yn(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ad(e,t){t=t.checked,t!=null&&Tl(e,"checked",t,!1)}function ya(e,t){Ad(e,t);var n=yn(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Sa(e,t.type,n):t.hasOwnProperty("defaultValue")&&Sa(e,t.type,yn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function lc(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Sa(e,t,n){(t!=="number"||go(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var zr=Array.isArray;function or(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Fi.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function ni(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Vr={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,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},em=["Webkit","ms","Moz","O"];Object.keys(Vr).forEach(function(e){em.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Vr[t]=Vr[e]})});function Bd(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Vr.hasOwnProperty(e)&&Vr[e]?(""+t).trim():t+"px"}function Qd(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Bd(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var tm=te({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});function Pa(e,t){if(t){if(tm[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(N(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(N(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(N(61))}if(t.style!=null&&typeof t.style!="object")throw Error(N(62))}}function ka(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 Oa=null;function Fl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var _a=null,sr=null,ar=null;function fc(e){if(e=Ei(e)){if(typeof _a!="function")throw Error(N(280));var t=e.stateNode;t&&(t=rs(t),_a(e.stateNode,e.type,t))}}function Hd(e){sr?ar?ar.push(e):ar=[e]:sr=e}function Vd(){if(sr){var e=sr,t=ar;if(ar=sr=null,fc(e),t)for(e=0;e>>=0,e===0?32:31-(dm(e)/pm|0)|0}var Mi=64,ji=4194304;function Br(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function So(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=Br(a):(o&=s,o!==0&&(r=Br(o)))}else s=n&~i,s!==0?r=Br(s):o!==0&&(r=Br(o));if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Oi(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ht(t),e[t]=n}function vm(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Kr),wc=String.fromCharCode(32),xc=!1;function fp(e,t){switch(e){case"keyup":return Vm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function dp(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Gn=!1;function Km(e,t){switch(e){case"compositionend":return dp(t);case"keypress":return t.which!==32?null:(xc=!0,wc);case"textInput":return e=t.data,e===wc&&xc?null:e;default:return null}}function Wm(e,t){if(Gn)return e==="compositionend"||!Ql&&fp(e,t)?(e=up(),ro=Ul=sn=null,Gn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=_c(n)}}function mp(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?mp(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vp(){for(var e=window,t=go();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=go(e.document)}return t}function Hl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function rv(e){var t=vp(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&mp(n.ownerDocument.documentElement,n)){if(r!==null&&Hl(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=Ec(n,o);var s=Ec(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Yn=null,Ta=null,Gr=null,Ia=!1;function Cc(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ia||Yn==null||Yn!==go(r)||(r=Yn,"selectionStart"in r&&Hl(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Gr&&li(Gr,r)||(Gr=r,r=Po(Ta,"onSelect"),0Zn||(e.current=Aa[Zn],Aa[Zn]=null,Zn--)}function K(e,t){Zn++,Aa[Zn]=e.current,e.current=t}var Sn={},ke=Pn(Sn),je=Pn(!1),Fn=Sn;function pr(e,t){var n=e.type.contextTypes;if(!n)return Sn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ae(e){return e=e.childContextTypes,e!=null}function Oo(){Y(je),Y(ke)}function Dc(e,t,n){if(ke.current!==Sn)throw Error(N(168));K(ke,t),K(je,n)}function Ep(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(N(108,Xg(e)||"Unknown",i));return te({},n,r)}function _o(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Sn,Fn=ke.current,K(ke,e),K(je,je.current),!0}function Fc(e,t,n){var r=e.stateNode;if(!r)throw Error(N(169));n?(e=Ep(e,t,Fn),r.__reactInternalMemoizedMergedChildContext=e,Y(je),Y(ke),K(ke,e)):Y(je),K(je,n)}var At=null,is=!1,Qs=!1;function Cp(e){At===null?At=[e]:At.push(e)}function gv(e){is=!0,Cp(e)}function kn(){if(!Qs&&At!==null){Qs=!0;var e=0,t=V;try{var n=At;for(V=1;e>=s,i-=s,Ut=1<<32-ht(t)+i|n<b?(k=C,C=null):k=C.sibling;var E=d(v,C,m[b],S);if(E===null){C===null&&(C=k);break}e&&C&&E.alternate===null&&t(v,C),h=o(E,h,b),O===null?_=E:O.sibling=E,O=E,C=k}if(b===m.length)return n(v,C),J&&_n(v,b),_;if(C===null){for(;bb?(k=C,C=null):k=C.sibling;var I=d(v,C,E.value,S);if(I===null){C===null&&(C=k);break}e&&C&&I.alternate===null&&t(v,C),h=o(I,h,b),O===null?_=I:O.sibling=I,O=I,C=k}if(E.done)return n(v,C),J&&_n(v,b),_;if(C===null){for(;!E.done;b++,E=m.next())E=f(v,E.value,S),E!==null&&(h=o(E,h,b),O===null?_=E:O.sibling=E,O=E);return J&&_n(v,b),_}for(C=r(v,C);!E.done;b++,E=m.next())E=p(C,v,b,E.value,S),E!==null&&(e&&E.alternate!==null&&C.delete(E.key===null?b:E.key),h=o(E,h,b),O===null?_=E:O.sibling=E,O=E);return e&&C.forEach(function(j){return t(v,j)}),J&&_n(v,b),_}function x(v,h,m,S){if(typeof m=="object"&&m!==null&&m.type===Wn&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Li:e:{for(var _=m.key,O=h;O!==null;){if(O.key===_){if(_=m.type,_===Wn){if(O.tag===7){n(v,O.sibling),h=i(O,m.props.children),h.return=v,v=h;break e}}else if(O.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Zt&&Bc(_)===O.type){n(v,O.sibling),h=i(O,m.props),h.ref=Mr(v,O,m),h.return=v,v=h;break e}n(v,O);break}else t(v,O);O=O.sibling}m.type===Wn?(h=Ln(m.props.children,v.mode,S,m.key),h.return=v,v=h):(S=fo(m.type,m.key,m.props,null,v.mode,S),S.ref=Mr(v,h,m),S.return=v,v=S)}return s(v);case Kn:e:{for(O=m.key;h!==null;){if(h.key===O)if(h.tag===4&&h.stateNode.containerInfo===m.containerInfo&&h.stateNode.implementation===m.implementation){n(v,h.sibling),h=i(h,m.children||[]),h.return=v,v=h;break e}else{n(v,h);break}else t(v,h);h=h.sibling}h=Js(m,v.mode,S),h.return=v,v=h}return s(v);case Zt:return O=m._init,x(v,h,O(m._payload),S)}if(zr(m))return g(v,h,m,S);if(Tr(m))return y(v,h,m,S);Hi(v,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,h!==null&&h.tag===6?(n(v,h.sibling),h=i(h,m),h.return=v,v=h):(n(v,h),h=Ys(m,v.mode,S),h.return=v,v=h),s(v)):n(v,h)}return x}var gr=Fp(!0),Mp=Fp(!1),Ci={},Rt=Pn(Ci),di=Pn(Ci),pi=Pn(Ci);function Rn(e){if(e===Ci)throw Error(N(174));return e}function Zl(e,t){switch(K(pi,t),K(di,e),K(Rt,Ci),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:xa(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=xa(t,e)}Y(Rt),K(Rt,t)}function mr(){Y(Rt),Y(di),Y(pi)}function jp(e){Rn(pi.current);var t=Rn(Rt.current),n=xa(t,e.type);t!==n&&(K(di,e),K(Rt,n))}function eu(e){di.current===e&&(Y(Rt),Y(di))}var Z=Pn(0);function To(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hs=[];function tu(){for(var e=0;en?n:4,e(!0);var r=Vs.transition;Vs.transition={};try{e(!1),t()}finally{V=n,Vs.transition=r}}function Zp(){return at().memoizedState}function Sv(e,t,n){var r=hn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},eh(e))th(t,n);else if(n=Tp(e,t,n,r),n!==null){var i=Re();gt(n,e,r,i),nh(n,t,r)}}function wv(e,t,n){var r=hn(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(eh(e))th(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,vt(a,s)){var l=t.interleaved;l===null?(i.next=i,Jl(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=Tp(e,t,i,r),n!==null&&(i=Re(),gt(n,e,r,i),nh(n,t,r))}}function eh(e){var t=e.alternate;return e===ee||t!==null&&t===ee}function th(e,t){Yr=Io=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function nh(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,jl(e,n)}}var Lo={readContext:st,useCallback:Se,useContext:Se,useEffect:Se,useImperativeHandle:Se,useInsertionEffect:Se,useLayoutEffect:Se,useMemo:Se,useReducer:Se,useRef:Se,useState:Se,useDebugValue:Se,useDeferredValue:Se,useTransition:Se,useMutableSource:Se,useSyncExternalStore:Se,useId:Se,unstable_isNewReconciler:!1},xv={readContext:st,useCallback:function(e,t){return Ot().memoizedState=[e,t===void 0?null:t],e},useContext:st,useEffect:Hc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ao(4194308,4,Wp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ao(4194308,4,e,t)},useInsertionEffect:function(e,t){return ao(4,2,e,t)},useMemo:function(e,t){var n=Ot();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ot();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Sv.bind(null,ee,e),[r.memoizedState,e]},useRef:function(e){var t=Ot();return e={current:e},t.memoizedState=e},useState:Qc,useDebugValue:su,useDeferredValue:function(e){return Ot().memoizedState=e},useTransition:function(){var e=Qc(!1),t=e[0];return e=yv.bind(null,e[1]),Ot().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ee,i=Ot();if(J){if(n===void 0)throw Error(N(407));n=n()}else{if(n=t(),pe===null)throw Error(N(349));(jn&30)!==0||Up(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,Hc(Bp.bind(null,r,o,e),[e]),r.flags|=2048,mi(9,zp.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Ot(),t=pe.identifierPrefix;if(J){var n=zt,r=Ut;n=(r&~(1<<32-ht(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=hi++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[pt]=t,e[ni]=r,Wp(e,t,!1,!1),t.stateNode=e;e:{switch(s=va(n,r),n){case"dialog":q("cancel",e),q("close",e),i=r;break;case"iframe":case"object":case"embed":q("load",e),i=r;break;case"video":case"audio":for(i=0;iar&&(t.flags|=128,r=!0,Rr(o,!1),t.lanes=4194304)}else{if(!r)if(e=Oo(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Rr(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!G)return me(t),null}else 2*ne()-o.renderingStartTime>ar&&n!==1073741824&&(t.flags|=128,r=!0,Rr(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=ne(),t.sibling=null,n=Y.current,K(Y,r?n&1|2:n&1),t):(me(t),null);case 22:case 23:return iu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(Fe&1073741824)!==0&&(me(t),t.subtreeFlags&6&&(t.flags|=8192)):me(t),null;case 24:return null;case 25:return null}throw Error(N(156,t.tag))}function uv(e,t){switch(Al(t),t.tag){case 1:return Ie(t.type)&&mo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return or(),W(Ne),W(Se),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Kl(t),null;case 13:if(W(Y),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(N(340));rr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return W(Y),null;case 4:return or(),null;case 10:return Bl(t.type._context),null;case 22:case 23:return iu(),null;case 24:return null;default:return null}}var ji=!1,ve=!1,cv=typeof WeakSet=="function"?WeakSet:Set,T=null;function Vn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ee(e,t,r)}else n.current=null}function Qa(e,t,n){try{n()}catch(r){ee(e,t,r)}}var Mc=!1;function fv(e,t){if(_a=fo,e=ep(),Ml(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,f=e,d=null;t:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++u===i&&(a=s),d===o&&++c===r&&(l=s),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ra={focusedElem:e,selectionRange:n},fo=!1,T=t;T!==null;)if(t=T,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,T=e;else for(;T!==null;){t=T;try{var h=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var y=h.memoizedProps,k=h.memoizedState,v=t.stateNode,p=v.getSnapshotBeforeUpdate(t.elementType===t.type?y:et(t.type,y),k);v.__reactInternalSnapshotBeforeUpdate=p}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(N(163))}}catch(S){ee(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,T=e;break}T=t.return}return h=Mc,Mc=!1,h}function Br(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&Qa(t,n,o)}i=i.next}while(i!==r)}}function es(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Va(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Jp(e){var t=e.alternate;t!==null&&(e.alternate=null,Jp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[pt],delete t[ni],delete t[ba],delete t[qm],delete t[Wm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Xp(e){return e.tag===5||e.tag===3||e.tag===4}function jc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Xp(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ka(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=go));else if(r!==4&&(e=e.child,e!==null))for(Ka(e,t,n),e=e.sibling;e!==null;)Ka(e,t,n),e=e.sibling}function qa(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(qa(e,t,n),e=e.sibling;e!==null;)qa(e,t,n),e=e.sibling}var de=null,tt=!1;function Ut(e,t,n){for(n=n.child;n!==null;)Zp(e,t,n),n=n.sibling}function Zp(e,t,n){if(mt&&typeof mt.onCommitFiberUnmount=="function")try{mt.onCommitFiberUnmount(Ko,n)}catch{}switch(n.tag){case 5:ve||Vn(n,t);case 6:var r=de,i=tt;de=null,Ut(e,t,n),de=r,tt=i,de!==null&&(tt?(e=de,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):de.removeChild(n.stateNode));break;case 18:de!==null&&(tt?(e=de,n=n.stateNode,e.nodeType===8?js(e.parentNode,n):e.nodeType===1&&js(e,n),Jr(e)):js(de,n.stateNode));break;case 4:r=de,i=tt,de=n.stateNode.containerInfo,tt=!0,Ut(e,t,n),de=r,tt=i;break;case 0:case 11:case 14:case 15:if(!ve&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&((o&2)!==0||(o&4)!==0)&&Qa(n,t,s),i=i.next}while(i!==r)}Ut(e,t,n);break;case 1:if(!ve&&(Vn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ee(n,t,a)}Ut(e,t,n);break;case 21:Ut(e,t,n);break;case 22:n.mode&1?(ve=(r=ve)||n.memoizedState!==null,Ut(e,t,n),ve=r):Ut(e,t,n);break;default:Ut(e,t,n)}}function Ac(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new cv),t.forEach(function(r){var i=wv.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Xe(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=ne()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*pv(r/1960))-r,10e?16:e,Gt===null)var r=!1;else{if(e=Gt,Gt=null,Ro=0,($&6)!==0)throw Error(N(331));var i=$;for($|=4,T=e.current;T!==null;){var o=T,s=o.child;if((T.flags&16)!==0){var a=o.deletions;if(a!==null){for(var l=0;lne()-nu?xn(e,0):tu|=n),be(e,t)}function ah(e,t){t===0&&((e.mode&1)===0?t=1:(t=Ri,Ri<<=1,(Ri&130023424)===0&&(Ri=4194304)));var n=Oe();e=Lt(e,t),e!==null&&(mi(e,t,n),be(e,n))}function Sv(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ah(e,n)}function wv(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(N(314))}r!==null&&r.delete(t),ah(e,n)}var lh;lh=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ne.current)Re=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return Re=!1,av(e,t,n);Re=(e.flags&131072)!==0}else Re=!1,G&&(t.flags&1048576)!==0&&fp(t,So,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;eo(e,t),e=t.pendingProps;var i=nr(t,Se.current);Xn(t,n),i=Gl(null,t,r,e,i,n);var o=Yl();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ie(r)?(o=!0,vo(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Ql(t),i.updater=Xo,t.stateNode=i,i._reactInternals=t,ja(t,r,e,n),t=Ua(null,t,r,!0,o,n)):(t.tag=0,G&&o&&jl(t),xe(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(eo(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=kv(r),e=et(r,e),i){case 0:t=$a(null,t,r,e,n);break e;case 1:t=Tc(null,t,r,e,n);break e;case 11:t=bc(null,t,r,e,n);break e;case 14:t=Lc(null,t,r,et(r.type,e),n);break e}throw Error(N(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:et(r,i),$a(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:et(r,i),Tc(e,t,r,i,n);case 3:e:{if(Vp(t),e===null)throw Error(N(387));r=t.pendingProps,o=t.memoizedState,i=o.element,gp(e,t),ko(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=sr(Error(N(423)),t),t=Dc(e,t,r,n,i);break e}else if(r!==i){i=sr(Error(N(424)),t),t=Dc(e,t,r,n,i);break e}else for(Me=Zt(t.stateNode.containerInfo.firstChild),je=t,G=!0,nt=null,n=Sp(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(rr(),r===i){t=Tt(e,t,n);break e}xe(e,t,r,n)}t=t.child}return t;case 5:return wp(t),e===null&&Da(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,Na(r,i)?s=null:o!==null&&Na(r,o)&&(t.flags|=32),Qp(e,t),xe(e,t,s,n),t.child;case 6:return e===null&&Da(t),null;case 13:return Kp(e,t,n);case 4:return Vl(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ir(t,null,r,n):xe(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:et(r,i),bc(e,t,r,i,n);case 7:return xe(e,t,t.pendingProps,n),t.child;case 8:return xe(e,t,t.pendingProps.children,n),t.child;case 12:return xe(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,K(wo,r._currentValue),r._currentValue=s,o!==null)if(at(o.value,s)){if(o.children===i.children&&!Ne.current){t=Tt(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Nt(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Fa(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(N(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Fa(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}xe(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Xn(t,n),i=Ye(i),r=r(i),t.flags|=1,xe(e,t,r,n),t.child;case 14:return r=t.type,i=et(r,t.pendingProps),i=et(r.type,i),Lc(e,t,r,i,n);case 15:return Bp(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:et(r,i),eo(e,t),t.tag=1,Ie(r)?(e=!0,vo(t)):e=!1,Xn(t,n),vp(t,r,i),ja(t,r,i,n),Ua(null,t,r,!0,e,n);case 19:return qp(e,t,n);case 22:return Hp(e,t,n)}throw Error(N(156,t.tag))};function uh(e,t){return Fd(e,t)}function xv(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function We(e,t,n,r){return new xv(e,t,n,r)}function su(e){return e=e.prototype,!(!e||!e.isReactComponent)}function kv(e){if(typeof e=="function")return su(e)?1:0;if(e!=null){if(e=e.$$typeof,e===El)return 11;if(e===Cl)return 14}return 2}function rn(e,t){var n=e.alternate;return n===null?(n=We(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ro(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")su(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Mn:return kn(n.children,i,o,t);case Pl:s=8,i|=8;break;case aa:return e=We(12,n,t,i|2),e.elementType=aa,e.lanes=o,e;case la:return e=We(13,n,t,i),e.elementType=la,e.lanes=o,e;case ua:return e=We(19,n,t,i),e.elementType=ua,e.lanes=o,e;case yd:return ns(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case md:s=10;break e;case vd:s=9;break e;case El:s=11;break e;case Cl:s=14;break e;case Bt:s=16,r=null;break e}throw Error(N(130,e==null?e:typeof e,""))}return t=We(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function kn(e,t,n,r){return e=We(7,e,r,t),e.lanes=n,e}function ns(e,t,n,r){return e=We(22,e,r,t),e.elementType=yd,e.lanes=n,e.stateNode={isHidden:!1},e}function Vs(e,t,n){return e=We(6,e,null,t),e.lanes=n,e}function Ks(e,t,n){return t=We(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ov(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cs(0),this.expirationTimes=Cs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cs(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function au(e,t,n,r,i,o,s,a,l){return e=new Ov(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=We(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ql(o),e}function Pv(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}t(),e.exports=Ue})(fd);var Kc=fd.exports;oa.createRoot=Kc.createRoot,oa.hydrateRoot=Kc.hydrateRoot;var fu={exports:{}},ph={};/** +`+o.stack}return{value:e,source:t,stack:i,digest:null}}function Ws(e,t,n){return{value:e,source:null,stack:n!=null?n:null,digest:t!=null?t:null}}function Ha(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Ov=typeof WeakMap=="function"?WeakMap:Map;function rh(e,t,n){n=Bt(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Fo||(Fo=!0,el=r),Ha(e,t)},n}function ih(e,t,n){n=Bt(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){Ha(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){Ha(e,t),typeof r!="function"&&(pn===null?pn=new Set([this]):pn.add(this));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),n}function Vc(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ov;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=Av.bind(null,e,t,n),t.then(e,e))}function qc(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Kc(e,t,n,r,i){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Bt(-1,1),t.tag=2,dn(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=i,e)}var _v=Gt.ReactCurrentOwner,Me=!1;function Ce(e,t,n,r){t.child=e===null?Mp(t,null,n,r):gr(t,e.child,n,r)}function Wc(e,t,n,r,i){n=n.render;var o=t.ref;return ur(t,i),r=ru(e,t,n,r,o,i),n=iu(),e!==null&&!Me?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,qt(e,t,i)):(J&&n&&Vl(t),t.flags|=1,Ce(e,t,r,i),t.child)}function Gc(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!hu(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,oh(e,t,o,r,i)):(e=fo(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,(e.lanes&i)===0){var s=o.memoizedProps;if(n=n.compare,n=n!==null?n:li,n(s,r)&&e.ref===t.ref)return qt(e,t,i)}return t.flags|=1,e=gn(o,r),e.ref=t.ref,e.return=t,t.child=e}function oh(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(li(o,r)&&e.ref===t.ref)if(Me=!1,t.pendingProps=r=o,(e.lanes&i)!==0)(e.flags&131072)!==0&&(Me=!0);else return t.lanes=e.lanes,qt(e,t,i)}return Va(e,t,n,r,i)}function sh(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},K(ir,Qe),Qe|=n;else{if((n&1073741824)===0)return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,K(ir,Qe),Qe|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,K(ir,Qe),Qe|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,K(ir,Qe),Qe|=r;return Ce(e,t,i,n),t.child}function ah(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Va(e,t,n,r,i){var o=Ae(n)?Fn:ke.current;return o=pr(t,o),ur(t,i),n=ru(e,t,n,r,o,i),r=iu(),e!==null&&!Me?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,qt(e,t,i)):(J&&r&&Vl(t),t.flags|=1,Ce(e,t,n,i),t.child)}function Yc(e,t,n,r,i){if(Ae(n)){var o=!0;_o(t)}else o=!1;if(ur(t,i),t.stateNode===null)lo(e,t),Dp(t,n,r),Qa(t,n,r,i),r=!0;else if(e===null){var s=t.stateNode,a=t.memoizedProps;s.props=a;var l=s.context,u=n.contextType;typeof u=="object"&&u!==null?u=st(u):(u=Ae(n)?Fn:ke.current,u=pr(t,u));var c=n.getDerivedStateFromProps,f=typeof c=="function"||typeof s.getSnapshotBeforeUpdate=="function";f||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==r||l!==u)&&zc(t,s,r,u),en=!1;var d=t.memoizedState;s.state=d,No(t,r,s,i),l=t.memoizedState,a!==r||d!==l||je.current||en?(typeof c=="function"&&(Ba(t,n,c,r),l=t.memoizedState),(a=en||Uc(t,n,a,r,d,l,u))?(f||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(t.flags|=4194308)):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=u,r=a):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,Ip(e,t),a=t.memoizedProps,u=t.type===t.elementType?a:ft(t.type,a),s.props=u,f=t.pendingProps,d=s.context,l=n.contextType,typeof l=="object"&&l!==null?l=st(l):(l=Ae(n)?Fn:ke.current,l=pr(t,l));var p=n.getDerivedStateFromProps;(c=typeof p=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==f||d!==l)&&zc(t,s,r,l),en=!1,d=t.memoizedState,s.state=d,No(t,r,s,i);var g=t.memoizedState;a!==f||d!==g||je.current||en?(typeof p=="function"&&(Ba(t,n,p,r),g=t.memoizedState),(u=en||Uc(t,n,u,r,d,g,l)||!1)?(c||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(r,g,l),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(r,g,l)),typeof s.componentDidUpdate=="function"&&(t.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=g),s.props=r,s.state=g,s.context=l,r=u):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return qa(e,t,n,r,o,i)}function qa(e,t,n,r,i,o){ah(e,t);var s=(t.flags&128)!==0;if(!r&&!s)return i&&Fc(t,n,!1),qt(e,t,o);r=t.stateNode,_v.current=t;var a=s&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&s?(t.child=gr(t,e.child,null,o),t.child=gr(t,null,a,o)):Ce(e,t,a,o),t.memoizedState=r.state,i&&Fc(t,n,!0),t.child}function lh(e){var t=e.stateNode;t.pendingContext?Dc(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Dc(e,t.context,!1),Zl(e,t.containerInfo)}function Jc(e,t,n,r,i){return hr(),Kl(i),t.flags|=256,Ce(e,t,n,r),t.child}var Ka={dehydrated:null,treeContext:null,retryLane:0};function Wa(e){return{baseLanes:e,cachePool:null,transitions:null}}function uh(e,t,n){var r=t.pendingProps,i=Z.current,o=!1,s=(t.flags&128)!==0,a;if((a=s)||(a=e!==null&&e.memoizedState===null?!1:(i&2)!==0),a?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),K(Z,i&1),e===null)return Ua(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(s=r.children,e=r.fallback,o?(r=t.mode,o=t.child,s={mode:"hidden",children:s},(r&1)===0&&o!==null?(o.childLanes=0,o.pendingProps=s):o=us(s,r,0,null),e=Ln(e,r,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=Wa(n),t.memoizedState=Ka,e):au(t,s));if(i=e.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return Ev(e,t,s,r,a,i,n);if(o){o=r.fallback,s=t.mode,i=e.child,a=i.sibling;var l={mode:"hidden",children:r.children};return(s&1)===0&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=gn(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?o=gn(a,o):(o=Ln(o,s,n,null),o.flags|=2),o.return=t,r.return=t,r.sibling=o,t.child=r,r=o,o=t.child,s=e.child.memoizedState,s=s===null?Wa(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},o.memoizedState=s,o.childLanes=e.childLanes&~n,t.memoizedState=Ka,r}return o=e.child,e=o.sibling,r=gn(o,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function au(e,t){return t=us({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Vi(e,t,n,r){return r!==null&&Kl(r),gr(t,e.child,null,n),e=au(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ev(e,t,n,r,i,o,s){if(n)return t.flags&256?(t.flags&=-257,r=Ws(Error(N(422))),Vi(e,t,s,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=r.fallback,i=t.mode,r=us({mode:"visible",children:r.children},i,0,null),o=Ln(o,i,s,null),o.flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,(t.mode&1)!==0&&gr(t,e.child,null,s),t.child.memoizedState=Wa(s),t.memoizedState=Ka,o);if((t.mode&1)===0)return Vi(e,t,s,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,o=Error(N(419)),r=Ws(o,r,void 0),Vi(e,t,s,r)}if(a=(s&e.childLanes)!==0,Me||a){if(r=pe,r!==null){switch(s&-s){case 4:i=2;break;case 16:i=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:i=32;break;case 536870912:i=268435456;break;default:i=0}i=(i&(r.suspendedLanes|s))!==0?0:i,i!==0&&i!==o.retryLane&&(o.retryLane=i,Vt(e,i),gt(r,e,i,-1))}return pu(),r=Ws(Error(N(421))),Vi(e,t,s,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=$v.bind(null,e),i._reactRetry=t,null):(e=o.treeContext,qe=fn(i.nextSibling),Ke=t,J=!0,pt=null,e!==null&&(et[tt++]=Ut,et[tt++]=zt,et[tt++]=Mn,Ut=e.id,zt=e.overflow,Mn=t),t=au(t,r.children),t.flags|=4096,t)}function Xc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),za(e.return,t,n)}function Gs(e,t,n,r,i){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i)}function ch(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(Ce(e,t,r.children,n),r=Z.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Xc(e,n,t);else if(e.tag===19)Xc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(K(Z,r),(t.mode&1)===0)t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&To(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Gs(t,!1,i,n,o);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&To(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Gs(t,!0,n,null,o);break;case"together":Gs(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function lo(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function qt(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),An|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(N(153));if(t.child!==null){for(e=t.child,n=gn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=gn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Cv(e,t,n){switch(t.tag){case 3:lh(t),hr();break;case 5:jp(t);break;case 1:Ae(t.type)&&_o(t);break;case 4:Zl(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;K(bo,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(K(Z,Z.current&1),t.flags|=128,null):(n&t.child.childLanes)!==0?uh(e,t,n):(K(Z,Z.current&1),e=qt(e,t,n),e!==null?e.sibling:null);K(Z,Z.current&1);break;case 19:if(r=(n&t.childLanes)!==0,(e.flags&128)!==0){if(r)return ch(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),K(Z,Z.current),r)break;return null;case 22:case 23:return t.lanes=0,sh(e,t,n)}return qt(e,t,n)}var fh,Ga,dh,ph;fh=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Ga=function(){};dh=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Rn(Rt.current);var o=null;switch(n){case"input":i=va(e,i),r=va(e,r),o=[];break;case"select":i=te({},i,{value:void 0}),r=te({},r,{value:void 0}),o=[];break;case"textarea":i=wa(e,i),r=wa(e,r),o=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=ko)}Pa(n,r);var s;n=null;for(u in i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u==="style"){var a=i[u];for(s in a)a.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(ti.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in r){var l=r[u];if(a=i!=null?i[u]:void 0,r.hasOwnProperty(u)&&l!==a&&(l!=null||a!=null))if(u==="style")if(a){for(s in a)!a.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in l)l.hasOwnProperty(s)&&a[s]!==l[s]&&(n||(n={}),n[s]=l[s])}else n||(o||(o=[]),o.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(o=o||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(o=o||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(ti.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&W("scroll",e),o||a===l||(o=[])):(o=o||[]).push(u,l))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}};ph=function(e,t,n,r){n!==r&&(t.flags|=4)};function jr(e,t){if(!J)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function we(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function bv(e,t,n){var r=t.pendingProps;switch(ql(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return we(t),null;case 1:return Ae(t.type)&&Oo(),we(t),null;case 3:return r=t.stateNode,mr(),Y(je),Y(ke),tu(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Qi(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,pt!==null&&(rl(pt),pt=null))),Ga(e,t),we(t),null;case 5:eu(t);var i=Rn(pi.current);if(n=t.type,e!==null&&t.stateNode!=null)dh(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(N(166));return we(t),null}if(e=Rn(Rt.current),Qi(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[_t]=t,r[fi]=o,e=(t.mode&1)!==0,n){case"dialog":W("cancel",r),W("close",r);break;case"iframe":case"object":case"embed":W("load",r);break;case"video":case"audio":for(i=0;i<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[_t]=t,e[fi]=r,fh(e,t,!1,!1),t.stateNode=e;e:{switch(s=ka(n,r),n){case"dialog":W("cancel",e),W("close",e),i=r;break;case"iframe":case"object":case"embed":W("load",e),i=r;break;case"video":case"audio":for(i=0;iyr&&(t.flags|=128,r=!0,jr(o,!1),t.lanes=4194304)}else{if(!r)if(e=To(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),jr(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!J)return we(t),null}else 2*oe()-o.renderingStartTime>yr&&n!==1073741824&&(t.flags|=128,r=!0,jr(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=oe(),t.sibling=null,n=Z.current,K(Z,r?n&1|2:n&1),t):(we(t),null);case 22:case 23:return du(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(Qe&1073741824)!==0&&(we(t),t.subtreeFlags&6&&(t.flags|=8192)):we(t),null;case 24:return null;case 25:return null}throw Error(N(156,t.tag))}function Rv(e,t){switch(ql(t),t.tag){case 1:return Ae(t.type)&&Oo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return mr(),Y(je),Y(ke),tu(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return eu(t),null;case 13:if(Y(Z),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(N(340));hr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Y(Z),null;case 4:return mr(),null;case 10:return Yl(t.type._context),null;case 22:case 23:return du(),null;case 24:return null;default:return null}}var qi=!1,Pe=!1,Nv=typeof WeakSet=="function"?WeakSet:Set,L=null;function rr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ne(e,t,r)}else n.current=null}function Ya(e,t,n){try{n()}catch(r){ne(e,t,r)}}var Zc=!1;function Tv(e,t){if(La=wo,e=vp(),Hl(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,f=e,d=null;t:for(;;){for(var p;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(p=f.firstChild)!==null;)d=f,f=p;for(;;){if(f===e)break t;if(d===n&&++u===i&&(a=s),d===o&&++c===r&&(l=s),(p=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=p}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Da={focusedElem:e,selectionRange:n},wo=!1,L=t;L!==null;)if(t=L,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,L=e;else for(;L!==null;){t=L;try{var g=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var y=g.memoizedProps,x=g.memoizedState,v=t.stateNode,h=v.getSnapshotBeforeUpdate(t.elementType===t.type?y:ft(t.type,y),x);v.__reactInternalSnapshotBeforeUpdate=h}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(N(163))}}catch(S){ne(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,L=e;break}L=t.return}return g=Zc,Zc=!1,g}function Jr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&Ya(t,n,o)}i=i.next}while(i!==r)}}function as(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Ja(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function hh(e){var t=e.alternate;t!==null&&(e.alternate=null,hh(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_t],delete t[fi],delete t[ja],delete t[pv],delete t[hv])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function gh(e){return e.tag===5||e.tag===3||e.tag===4}function ef(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||gh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xa(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ko));else if(r!==4&&(e=e.child,e!==null))for(Xa(e,t,n),e=e.sibling;e!==null;)Xa(e,t,n),e=e.sibling}function Za(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Za(e,t,n),e=e.sibling;e!==null;)Za(e,t,n),e=e.sibling}var ge=null,dt=!1;function Jt(e,t,n){for(n=n.child;n!==null;)mh(e,t,n),n=n.sibling}function mh(e,t,n){if(bt&&typeof bt.onCommitFiberUnmount=="function")try{bt.onCommitFiberUnmount(Zo,n)}catch{}switch(n.tag){case 5:Pe||rr(n,t);case 6:var r=ge,i=dt;ge=null,Jt(e,t,n),ge=r,dt=i,ge!==null&&(dt?(e=ge,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ge.removeChild(n.stateNode));break;case 18:ge!==null&&(dt?(e=ge,n=n.stateNode,e.nodeType===8?Bs(e.parentNode,n):e.nodeType===1&&Bs(e,n),si(e)):Bs(ge,n.stateNode));break;case 4:r=ge,i=dt,ge=n.stateNode.containerInfo,dt=!0,Jt(e,t,n),ge=r,dt=i;break;case 0:case 11:case 14:case 15:if(!Pe&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&((o&2)!==0||(o&4)!==0)&&Ya(n,t,s),i=i.next}while(i!==r)}Jt(e,t,n);break;case 1:if(!Pe&&(rr(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ne(n,t,a)}Jt(e,t,n);break;case 21:Jt(e,t,n);break;case 22:n.mode&1?(Pe=(r=Pe)||n.memoizedState!==null,Jt(e,t,n),Pe=r):Jt(e,t,n);break;default:Jt(e,t,n)}}function tf(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Nv),t.forEach(function(r){var i=Uv.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function ut(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=oe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Lv(r/1960))-r,10e?16:e,an===null)var r=!1;else{if(e=an,an=null,Mo=0,(U&6)!==0)throw Error(N(331));var i=U;for(U|=4,L=e.current;L!==null;){var o=L,s=o.child;if((L.flags&16)!==0){var a=o.deletions;if(a!==null){for(var l=0;loe()-cu?In(e,0):uu|=n),$e(e,t)}function Oh(e,t){t===0&&((e.mode&1)===0?t=1:(t=ji,ji<<=1,(ji&130023424)===0&&(ji=4194304)));var n=Re();e=Vt(e,t),e!==null&&(Oi(e,t,n),$e(e,n))}function $v(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Oh(e,n)}function Uv(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(N(314))}r!==null&&r.delete(t),Oh(e,n)}var _h;_h=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||je.current)Me=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return Me=!1,Cv(e,t,n);Me=(e.flags&131072)!==0}else Me=!1,J&&(t.flags&1048576)!==0&&bp(t,Co,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;lo(e,t),e=t.pendingProps;var i=pr(t,ke.current);ur(t,n),i=ru(null,t,r,e,i,n);var o=iu();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ae(r)?(o=!0,_o(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Xl(t),i.updater=os,t.stateNode=i,i._reactInternals=t,Qa(t,r,e,n),t=qa(null,t,r,!0,o,n)):(t.tag=0,J&&o&&Vl(t),Ce(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(lo(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Bv(r),e=ft(r,e),i){case 0:t=Va(null,t,r,e,n);break e;case 1:t=Yc(null,t,r,e,n);break e;case 11:t=Wc(null,t,r,e,n);break e;case 14:t=Gc(null,t,r,ft(r.type,e),n);break e}throw Error(N(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ft(r,i),Va(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ft(r,i),Yc(e,t,r,i,n);case 3:e:{if(lh(t),e===null)throw Error(N(387));r=t.pendingProps,o=t.memoizedState,i=o.element,Ip(e,t),No(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=vr(Error(N(423)),t),t=Jc(e,t,r,n,i);break e}else if(r!==i){i=vr(Error(N(424)),t),t=Jc(e,t,r,n,i);break e}else for(qe=fn(t.stateNode.containerInfo.firstChild),Ke=t,J=!0,pt=null,n=Mp(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(hr(),r===i){t=qt(e,t,n);break e}Ce(e,t,r,n)}t=t.child}return t;case 5:return jp(t),e===null&&Ua(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,Fa(r,i)?s=null:o!==null&&Fa(r,o)&&(t.flags|=32),ah(e,t),Ce(e,t,s,n),t.child;case 6:return e===null&&Ua(t),null;case 13:return uh(e,t,n);case 4:return Zl(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=gr(t,null,r,n):Ce(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ft(r,i),Wc(e,t,r,i,n);case 7:return Ce(e,t,t.pendingProps,n),t.child;case 8:return Ce(e,t,t.pendingProps.children,n),t.child;case 12:return Ce(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,K(bo,r._currentValue),r._currentValue=s,o!==null)if(vt(o.value,s)){if(o.children===i.children&&!je.current){t=qt(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Bt(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),za(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(N(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),za(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Ce(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,ur(t,n),i=st(i),r=r(i),t.flags|=1,Ce(e,t,r,n),t.child;case 14:return r=t.type,i=ft(r,t.pendingProps),i=ft(r.type,i),Gc(e,t,r,i,n);case 15:return oh(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ft(r,i),lo(e,t),t.tag=1,Ae(r)?(e=!0,_o(t)):e=!1,ur(t,n),Dp(t,r,i),Qa(t,r,i,n),qa(null,t,r,!0,e,n);case 19:return ch(e,t,n);case 22:return sh(e,t,n)}throw Error(N(156,t.tag))};function Eh(e,t){return Xd(e,t)}function zv(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function it(e,t,n,r){return new zv(e,t,n,r)}function hu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Bv(e){if(typeof e=="function")return hu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ll)return 11;if(e===Dl)return 14}return 2}function gn(e,t){var n=e.alternate;return n===null?(n=it(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function fo(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")hu(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Wn:return Ln(n.children,i,o,t);case Il:s=8,i|=8;break;case pa:return e=it(12,n,t,i|2),e.elementType=pa,e.lanes=o,e;case ha:return e=it(13,n,t,i),e.elementType=ha,e.lanes=o,e;case ga:return e=it(19,n,t,i),e.elementType=ga,e.lanes=o,e;case Fd:return us(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ld:s=10;break e;case Dd:s=9;break e;case Ll:s=11;break e;case Dl:s=14;break e;case Zt:s=16,r=null;break e}throw Error(N(130,e==null?e:typeof e,""))}return t=it(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Ln(e,t,n,r){return e=it(7,e,r,t),e.lanes=n,e}function us(e,t,n,r){return e=it(22,e,r,t),e.elementType=Fd,e.lanes=n,e.stateNode={isHidden:!1},e}function Ys(e,t,n){return e=it(6,e,null,t),e.lanes=n,e}function Js(e,t,n){return t=it(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Qv(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ts(0),this.expirationTimes=Ts(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ts(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function gu(e,t,n,r,i,o,s,a,l){return e=new Qv(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=it(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Xl(o),e}function Hv(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}t(),e.exports=Ye})(bd);var cf=bd.exports;fa.createRoot=cf.createRoot,fa.hydrateRoot=cf.hydrateRoot;var Su={exports:{}},Nh={};/** * @license React * use-sync-external-store-shim.production.min.js * @@ -37,7 +37,7 @@ Error generating stack: `+o.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var lr=_.exports;function Nv(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Iv=typeof Object.is=="function"?Object.is:Nv,bv=lr.useState,Lv=lr.useEffect,Tv=lr.useLayoutEffect,Dv=lr.useDebugValue;function Fv(e,t){var n=t(),r=bv({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Tv(function(){i.value=n,i.getSnapshot=t,qs(i)&&o({inst:i})},[e,n,t]),Lv(function(){return qs(i)&&o({inst:i}),e(function(){qs(i)&&o({inst:i})})},[e]),Dv(n),n}function qs(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Iv(e,n)}catch{return!0}}function Mv(e,t){return t()}var jv=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Mv:Fv;ph.useSyncExternalStore=lr.useSyncExternalStore!==void 0?lr.useSyncExternalStore:jv;(function(e){e.exports=ph})(fu);var as={exports:{}},ls={};/** + */var Sr=P.exports;function Gv(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Yv=typeof Object.is=="function"?Object.is:Gv,Jv=Sr.useState,Xv=Sr.useEffect,Zv=Sr.useLayoutEffect,ey=Sr.useDebugValue;function ty(e,t){var n=t(),r=Jv({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Zv(function(){i.value=n,i.getSnapshot=t,Xs(i)&&o({inst:i})},[e,n,t]),Xv(function(){return Xs(i)&&o({inst:i}),e(function(){Xs(i)&&o({inst:i})})},[e]),ey(n),n}function Xs(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Yv(e,n)}catch{return!0}}function ny(e,t){return t()}var ry=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?ny:ty;Nh.useSyncExternalStore=Sr.useSyncExternalStore!==void 0?Sr.useSyncExternalStore:ry;(function(e){e.exports=Nh})(Su);var hs={exports:{}},gs={};/** * @license React * react-jsx-runtime.production.min.js * @@ -45,7 +45,7 @@ Error generating stack: `+o.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Av=_.exports,$v=Symbol.for("react.element"),Uv=Symbol.for("react.fragment"),zv=Object.prototype.hasOwnProperty,Bv=Av.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Hv={key:!0,ref:!0,__self:!0,__source:!0};function hh(e,t,n){var r,i={},o=null,s=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(s=t.ref);for(r in t)zv.call(t,r)&&!Hv.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:$v,type:e,key:o,ref:s,props:i,_owner:Bv.current}}ls.Fragment=Uv;ls.jsx=hh;ls.jsxs=hh;(function(e){e.exports=ls})(as);const jt=as.exports.Fragment,x=as.exports.jsx,I=as.exports.jsxs;/** + */var iy=P.exports,oy=Symbol.for("react.element"),sy=Symbol.for("react.fragment"),ay=Object.prototype.hasOwnProperty,ly=iy.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,uy={key:!0,ref:!0,__self:!0,__source:!0};function Th(e,t,n){var r,i={},o=null,s=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(s=t.ref);for(r in t)ay.call(t,r)&&!uy.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:oy,type:e,key:o,ref:s,props:i,_owner:ly.current}}gs.Fragment=sy;gs.jsx=Th;gs.jsxs=Th;(function(e){e.exports=gs})(hs);const lt=hs.exports.Fragment,w=hs.exports.jsx,R=hs.exports.jsxs;/** * react-query * * Copyright (c) TanStack @@ -54,7 +54,7 @@ Error generating stack: `+o.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */class wi{constructor(){this.listeners=[],this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.push(t),this.onSubscribe(),()=>{this.listeners=this.listeners.filter(n=>n!==t),this.onUnsubscribe()}}hasListeners(){return this.listeners.length>0}onSubscribe(){}onUnsubscribe(){}}const ui=typeof window>"u";function He(){}function Qv(e,t){return typeof e=="function"?e(t):e}function Xa(e){return typeof e=="number"&&e>=0&&e!==1/0}function gh(e,t){return Math.max(e+(t||0)-Date.now(),0)}function io(e,t,n){return us(e)?typeof t=="function"?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function Qt(e,t,n){return us(e)?[{...t,queryKey:e},n]:[e||{},t]}function qc(e,t){const{type:n="all",exact:r,fetchStatus:i,predicate:o,queryKey:s,stale:a}=e;if(us(s)){if(r){if(t.queryHash!==du(s,t.options))return!1}else if(!bo(t.queryKey,s))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||typeof i<"u"&&i!==t.state.fetchStatus||o&&!o(t))}function Wc(e,t){const{exact:n,fetching:r,predicate:i,mutationKey:o}=e;if(us(o)){if(!t.options.mutationKey)return!1;if(n){if(yn(t.options.mutationKey)!==yn(o))return!1}else if(!bo(t.options.mutationKey,o))return!1}return!(typeof r=="boolean"&&t.state.status==="loading"!==r||i&&!i(t))}function du(e,t){return((t==null?void 0:t.queryKeyHashFn)||yn)(e)}function yn(e){return JSON.stringify(e,(t,n)=>Za(n)?Object.keys(n).sort().reduce((r,i)=>(r[i]=n[i],r),{}):n)}function bo(e,t){return mh(e,t)}function mh(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!mh(e[n],t[n])):!1}function vh(e,t){if(e===t)return e;const n=Yc(e)&&Yc(t);if(n||Za(e)&&Za(t)){const r=n?e.length:Object.keys(e).length,i=n?t:Object.keys(t),o=i.length,s=n?[]:{};let a=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!Jc(n)||!n.hasOwnProperty("isPrototypeOf"))}function Jc(e){return Object.prototype.toString.call(e)==="[object Object]"}function us(e){return Array.isArray(e)}function yh(e){return new Promise(t=>{setTimeout(t,e)})}function Xc(e){yh(0).then(e)}function Vv(){if(typeof AbortController=="function")return new AbortController}function el(e,t,n){return n.isDataEqual!=null&&n.isDataEqual(e,t)?e:typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?vh(e,t):t}class Kv extends wi{constructor(){super(),this.setup=t=>{if(!ui&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),window.addEventListener("focus",n,!1),()=>{window.removeEventListener("visibilitychange",n),window.removeEventListener("focus",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(t){this.focused=t,t&&this.onFocus()}onFocus(){this.listeners.forEach(t=>{t()})}isFocused(){return typeof this.focused=="boolean"?this.focused:typeof document>"u"?!0:[void 0,"visible","prerender"].includes(document.visibilityState)}}const Lo=new Kv;class qv extends wi{constructor(){super(),this.setup=t=>{if(!ui&&window.addEventListener){const n=()=>t();return window.addEventListener("online",n,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setOnline(r):this.onOnline()})}setOnline(t){this.online=t,t&&this.onOnline()}onOnline(){this.listeners.forEach(t=>{t()})}isOnline(){return typeof this.online=="boolean"?this.online:typeof navigator>"u"||typeof navigator.onLine>"u"?!0:navigator.onLine}}const To=new qv;function Wv(e){return Math.min(1e3*2**e,3e4)}function cs(e){return(e!=null?e:"online")==="online"?To.isOnline():!0}class Sh{constructor(t){this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}}function oo(e){return e instanceof Sh}function wh(e){let t=!1,n=0,r=!1,i,o,s;const a=new Promise((k,v)=>{o=k,s=v}),l=k=>{r||(m(new Sh(k)),e.abort==null||e.abort())},u=()=>{t=!0},c=()=>{t=!1},f=()=>!Lo.isFocused()||e.networkMode!=="always"&&!To.isOnline(),d=k=>{r||(r=!0,e.onSuccess==null||e.onSuccess(k),i==null||i(),o(k))},m=k=>{r||(r=!0,e.onError==null||e.onError(k),i==null||i(),s(k))},h=()=>new Promise(k=>{i=v=>{if(r||!f())return k(v)},e.onPause==null||e.onPause()}).then(()=>{i=void 0,r||e.onContinue==null||e.onContinue()}),y=()=>{if(r)return;let k;try{k=e.fn()}catch(v){k=Promise.reject(v)}Promise.resolve(k).then(d).catch(v=>{var p,g;if(r)return;const S=(p=e.retry)!=null?p:3,O=(g=e.retryDelay)!=null?g:Wv,E=typeof O=="function"?O(n,v):O,P=S===!0||typeof S=="number"&&n{if(f())return h()}).then(()=>{t?m(v):y()})})};return cs(e.networkMode)?y():h().then(y),{promise:a,cancel:l,continue:()=>{i==null||i()},cancelRetry:u,continueRetry:c}}const pu=console;function Gv(){let e=[],t=0,n=c=>{c()},r=c=>{c()};const i=c=>{let f;t++;try{f=c()}finally{t--,t||a()}return f},o=c=>{t?e.push(c):Xc(()=>{n(c)})},s=c=>(...f)=>{o(()=>{c(...f)})},a=()=>{const c=e;e=[],c.length&&Xc(()=>{r(()=>{c.forEach(f=>{n(f)})})})};return{batch:i,batchCalls:s,schedule:o,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{r=c}}}const re=Gv();class xh{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Xa(this.cacheTime)&&(this.gcTimeout=setTimeout(()=>{this.optionalRemove()},this.cacheTime))}updateCacheTime(t){this.cacheTime=Math.max(this.cacheTime||0,t!=null?t:ui?1/0:5*60*1e3)}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class Yv extends xh{constructor(t){super(),this.abortSignalConsumed=!1,this.defaultOptions=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.cache=t.cache,this.logger=t.logger||pu,this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.initialState=t.state||Jv(this.options),this.state=this.initialState,this.meta=t.meta}setOptions(t){this.options={...this.defaultOptions,...t},this.meta=t==null?void 0:t.meta,this.updateCacheTime(this.options.cacheTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.cache.remove(this)}setData(t,n){const r=el(this.state.data,t,this.options);return this.dispatch({data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){this.dispatch({type:"setState",state:t,setStateOptions:n})}cancel(t){var n;const r=this.promise;return(n=this.retryer)==null||n.cancel(t),r?r.then(He).catch(He):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!gh(this.state.dataUpdatedAt,t)}onFocus(){var t;const n=this.observers.find(r=>r.shouldFetchOnWindowFocus());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}onOnline(){var t;const n=this.observers.find(r=>r.shouldFetchOnReconnect());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}addObserver(t){this.observers.indexOf(t)===-1&&(this.observers.push(t),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.indexOf(t)!==-1&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(t,n){var r,i;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&n!=null&&n.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var o;return(o=this.retryer)==null||o.continueRetry(),this.promise}}if(t&&this.setOptions(t),!this.options.queryFn){const m=this.observers.find(h=>h.options.queryFn);m&&this.setOptions(m.options)}Array.isArray(this.options.queryKey);const s=Vv(),a={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},l=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>{if(s)return this.abortSignalConsumed=!0,s.signal}})};l(a);const u=()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(a)):Promise.reject("Missing queryFn"),c={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:u,meta:this.meta};if(l(c),(r=this.options.behavior)==null||r.onFetch(c),this.revertState=this.state,this.state.fetchStatus==="idle"||this.state.fetchMeta!==((i=c.fetchOptions)==null?void 0:i.meta)){var f;this.dispatch({type:"fetch",meta:(f=c.fetchOptions)==null?void 0:f.meta})}const d=m=>{if(oo(m)&&m.silent||this.dispatch({type:"error",error:m}),!oo(m)){var h,y;(h=(y=this.cache.config).onError)==null||h.call(y,m,this)}this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=wh({fn:c.fetchFn,abort:s==null?void 0:s.abort.bind(s),onSuccess:m=>{var h,y;if(typeof m>"u"){d(new Error("Query data cannot be undefined"));return}this.setData(m),(h=(y=this.cache.config).onSuccess)==null||h.call(y,m,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:d,onFail:()=>{this.dispatch({type:"failed"})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(t){const n=r=>{var i,o;switch(t.type){case"failed":return{...r,fetchFailureCount:r.fetchFailureCount+1};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchMeta:(i=t.meta)!=null?i:null,fetchStatus:cs(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:(o=t.dataUpdatedAt)!=null?o:Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0}};case"error":const s=t.error;return oo(s)&&s.revert&&this.revertState?{...this.revertState}:{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),re.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate(t)}),this.cache.notify({query:this,type:"updated",action:t})})}}function Jv(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=typeof e.initialData<"u"?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0,i=typeof t<"u";return{data:t,dataUpdateCount:0,dataUpdatedAt:i?r!=null?r:Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchMeta:null,isInvalidated:!1,status:i?"success":"loading",fetchStatus:"idle"}}class Xv extends wi{constructor(t){super(),this.config=t||{},this.queries=[],this.queriesMap={}}build(t,n,r){var i;const o=n.queryKey,s=(i=n.queryHash)!=null?i:du(o,n);let a=this.get(s);return a||(a=new Yv({cache:this,logger:t.getLogger(),queryKey:o,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o),meta:n.meta}),this.add(a)),a}add(t){this.queriesMap[t.queryHash]||(this.queriesMap[t.queryHash]=t,this.queries.push(t),this.notify({type:"added",query:t}))}remove(t){const n=this.queriesMap[t.queryHash];n&&(t.destroy(),this.queries=this.queries.filter(r=>r!==t),n===t&&delete this.queriesMap[t.queryHash],this.notify({type:"removed",query:t}))}clear(){re.batch(()=>{this.queries.forEach(t=>{this.remove(t)})})}get(t){return this.queriesMap[t]}getAll(){return this.queries}find(t,n){const[r]=Qt(t,n);return typeof r.exact>"u"&&(r.exact=!0),this.queries.find(i=>qc(r,i))}findAll(t,n){const[r]=Qt(t,n);return Object.keys(r).length>0?this.queries.filter(i=>qc(r,i)):this.queries}notify(t){re.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){re.batch(()=>{this.queries.forEach(t=>{t.onFocus()})})}onOnline(){re.batch(()=>{this.queries.forEach(t=>{t.onOnline()})})}}class Zv extends xh{constructor(t){super(),this.options={...t.defaultOptions,...t.options},this.mutationId=t.mutationId,this.mutationCache=t.mutationCache,this.logger=t.logger||pu,this.observers=[],this.state=t.state||ey(),this.meta=t.meta,this.updateCacheTime(this.options.cacheTime),this.scheduleGc()}setState(t){this.dispatch({type:"setState",state:t})}addObserver(t){this.observers.indexOf(t)===-1&&(this.observers.push(t),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.observers=this.observers.filter(n=>n!==t),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.observers.length||(this.state.status==="loading"?this.scheduleGc():this.mutationCache.remove(this))}continue(){return this.retryer?(this.retryer.continue(),this.retryer.promise):this.execute()}async execute(){const t=()=>{var g;return this.retryer=wh({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:()=>{this.dispatch({type:"failed"})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:(g=this.options.retry)!=null?g:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},n=this.state.status==="loading";try{var r,i,o,s,a,l;if(!n){var u,c,f,d;this.dispatch({type:"loading",variables:this.options.variables}),(u=(c=this.mutationCache.config).onMutate)==null||u.call(c,this.state.variables,this);const S=await((f=(d=this.options).onMutate)==null?void 0:f.call(d,this.state.variables));S!==this.state.context&&this.dispatch({type:"loading",context:S,variables:this.state.variables})}const g=await t();return(r=(i=this.mutationCache.config).onSuccess)==null||r.call(i,g,this.state.variables,this.state.context,this),await((o=(s=this.options).onSuccess)==null?void 0:o.call(s,g,this.state.variables,this.state.context)),await((a=(l=this.options).onSettled)==null?void 0:a.call(l,g,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:g}),g}catch(g){try{var m,h,y,k,v,p;throw(m=(h=this.mutationCache.config).onError)==null||m.call(h,g,this.state.variables,this.state.context,this),await((y=(k=this.options).onError)==null?void 0:y.call(k,g,this.state.variables,this.state.context)),await((v=(p=this.options).onSettled)==null?void 0:v.call(p,void 0,g,this.state.variables,this.state.context)),g}finally{this.dispatch({type:"error",error:g})}}}dispatch(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:r.failureCount+1};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"loading":return{...r,context:t.context,data:void 0,error:null,isPaused:!cs(this.options.networkMode),status:"loading",variables:t.variables};case"success":return{...r,data:t.data,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,isPaused:!1,status:"error"};case"setState":return{...r,...t.state}}};this.state=n(this.state),re.batch(()=>{this.observers.forEach(r=>{r.onMutationUpdate(t)}),this.mutationCache.notify({mutation:this,type:"updated",action:t})})}}function ey(){return{context:void 0,data:void 0,error:null,failureCount:0,isPaused:!1,status:"idle",variables:void 0}}class ty extends wi{constructor(t){super(),this.config=t||{},this.mutations=[],this.mutationId=0}build(t,n,r){const i=new Zv({mutationCache:this,logger:t.getLogger(),mutationId:++this.mutationId,options:t.defaultMutationOptions(n),state:r,defaultOptions:n.mutationKey?t.getMutationDefaults(n.mutationKey):void 0,meta:n.meta});return this.add(i),i}add(t){this.mutations.push(t),this.notify({type:"added",mutation:t})}remove(t){this.mutations=this.mutations.filter(n=>n!==t),this.notify({type:"removed",mutation:t})}clear(){re.batch(()=>{this.mutations.forEach(t=>{this.remove(t)})})}getAll(){return this.mutations}find(t){return typeof t.exact>"u"&&(t.exact=!0),this.mutations.find(n=>Wc(t,n))}findAll(t){return this.mutations.filter(n=>Wc(t,n))}notify(t){re.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.mutations.filter(n=>n.state.isPaused);return re.batch(()=>t.reduce((n,r)=>n.then(()=>r.continue().catch(He)),Promise.resolve()))}}function ny(){return{onFetch:e=>{e.fetchFn=()=>{var t,n,r,i,o,s;const a=(t=e.fetchOptions)==null||(n=t.meta)==null?void 0:n.refetchPage,l=(r=e.fetchOptions)==null||(i=r.meta)==null?void 0:i.fetchMore,u=l==null?void 0:l.pageParam,c=(l==null?void 0:l.direction)==="forward",f=(l==null?void 0:l.direction)==="backward",d=((o=e.state.data)==null?void 0:o.pages)||[],m=((s=e.state.data)==null?void 0:s.pageParams)||[];let h=m,y=!1;const k=E=>{Object.defineProperty(E,"signal",{enumerable:!0,get:()=>{var P;if((P=e.signal)!=null&&P.aborted)y=!0;else{var C;(C=e.signal)==null||C.addEventListener("abort",()=>{y=!0})}return e.signal}})},v=e.options.queryFn||(()=>Promise.reject("Missing queryFn")),p=(E,P,C,w)=>(h=w?[P,...h]:[...h,P],w?[C,...E]:[...E,C]),g=(E,P,C,w)=>{if(y)return Promise.reject("Cancelled");if(typeof C>"u"&&!P&&E.length)return Promise.resolve(E);const R={queryKey:e.queryKey,pageParam:C,meta:e.meta};k(R);const L=v(R);return Promise.resolve(L).then(U=>p(E,C,U,w))};let S;if(!d.length)S=g([]);else if(c){const E=typeof u<"u",P=E?u:Zc(e.options,d);S=g(d,E,P)}else if(f){const E=typeof u<"u",P=E?u:ry(e.options,d);S=g(d,E,P,!0)}else{h=[];const E=typeof e.options.getNextPageParam>"u";S=(a&&d[0]?a(d[0],0,d):!0)?g([],E,m[0]):Promise.resolve(p([],m[0],d[0]));for(let C=1;C{if(a&&d[C]?a(d[C],C,d):!0){const L=E?m[C]:Zc(e.options,w);return g(w,E,L)}return Promise.resolve(p(w,m[C],d[C]))})}return S.then(E=>({pages:E,pageParams:h}))}}}}function Zc(e,t){return e.getNextPageParam==null?void 0:e.getNextPageParam(t[t.length-1],t)}function ry(e,t){return e.getPreviousPageParam==null?void 0:e.getPreviousPageParam(t[0],t)}class iy{constructor(t={}){this.queryCache=t.queryCache||new Xv,this.mutationCache=t.mutationCache||new ty,this.logger=t.logger||pu,this.defaultOptions=t.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[]}mount(){this.unsubscribeFocus=Lo.subscribe(()=>{Lo.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())}),this.unsubscribeOnline=To.subscribe(()=>{To.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())})}unmount(){var t,n;(t=this.unsubscribeFocus)==null||t.call(this),(n=this.unsubscribeOnline)==null||n.call(this)}isFetching(t,n){const[r]=Qt(t,n);return r.fetchStatus="fetching",this.queryCache.findAll(r).length}isMutating(t){return this.mutationCache.findAll({...t,fetching:!0}).length}getQueryData(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state.data}getQueriesData(t){return this.getQueryCache().findAll(t).map(({queryKey:n,state:r})=>{const i=r.data;return[n,i]})}setQueryData(t,n,r){const i=this.queryCache.find(t),o=i==null?void 0:i.state.data,s=Qv(n,o);if(typeof s>"u")return;const a=io(t),l=this.defaultQueryOptions(a);return this.queryCache.build(this,l).setData(s,{...r,manual:!0})}setQueriesData(t,n,r){return re.batch(()=>this.getQueryCache().findAll(t).map(({queryKey:i})=>[i,this.setQueryData(i,n,r)]))}getQueryState(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state}removeQueries(t,n){const[r]=Qt(t,n),i=this.queryCache;re.batch(()=>{i.findAll(r).forEach(o=>{i.remove(o)})})}resetQueries(t,n,r){const[i,o]=Qt(t,n,r),s=this.queryCache,a={type:"active",...i};return re.batch(()=>(s.findAll(i).forEach(l=>{l.reset()}),this.refetchQueries(a,o)))}cancelQueries(t,n,r){const[i,o={}]=Qt(t,n,r);typeof o.revert>"u"&&(o.revert=!0);const s=re.batch(()=>this.queryCache.findAll(i).map(a=>a.cancel(o)));return Promise.all(s).then(He).catch(He)}invalidateQueries(t,n,r){const[i,o]=Qt(t,n,r);return re.batch(()=>{var s,a;if(this.queryCache.findAll(i).forEach(u=>{u.invalidate()}),i.refetchType==="none")return Promise.resolve();const l={...i,type:(s=(a=i.refetchType)!=null?a:i.type)!=null?s:"active"};return this.refetchQueries(l,o)})}refetchQueries(t,n,r){const[i,o]=Qt(t,n,r),s=re.batch(()=>this.queryCache.findAll(i).filter(l=>!l.isDisabled()).map(l=>{var u;return l.fetch(void 0,{...o,cancelRefetch:(u=o==null?void 0:o.cancelRefetch)!=null?u:!0,meta:{refetchPage:i.refetchPage}})}));let a=Promise.all(s).then(He);return o!=null&&o.throwOnError||(a=a.catch(He)),a}fetchQuery(t,n,r){const i=io(t,n,r),o=this.defaultQueryOptions(i);typeof o.retry>"u"&&(o.retry=!1);const s=this.queryCache.build(this,o);return s.isStaleByTime(o.staleTime)?s.fetch(o):Promise.resolve(s.state.data)}prefetchQuery(t,n,r){return this.fetchQuery(t,n,r).then(He).catch(He)}fetchInfiniteQuery(t,n,r){const i=io(t,n,r);return i.behavior=ny(),this.fetchQuery(i)}prefetchInfiniteQuery(t,n,r){return this.fetchInfiniteQuery(t,n,r).then(He).catch(He)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(t){this.defaultOptions=t}setQueryDefaults(t,n){const r=this.queryDefaults.find(i=>yn(t)===yn(i.queryKey));r?r.defaultOptions=n:this.queryDefaults.push({queryKey:t,defaultOptions:n})}getQueryDefaults(t){if(!t)return;const n=this.queryDefaults.find(r=>bo(t,r.queryKey));return n==null?void 0:n.defaultOptions}setMutationDefaults(t,n){const r=this.mutationDefaults.find(i=>yn(t)===yn(i.mutationKey));r?r.defaultOptions=n:this.mutationDefaults.push({mutationKey:t,defaultOptions:n})}getMutationDefaults(t){if(!t)return;const n=this.mutationDefaults.find(r=>bo(t,r.mutationKey));return n==null?void 0:n.defaultOptions}defaultQueryOptions(t){if(t!=null&&t._defaulted)return t;const n={...this.defaultOptions.queries,...this.getQueryDefaults(t==null?void 0:t.queryKey),...t,_defaulted:!0};return!n.queryHash&&n.queryKey&&(n.queryHash=du(n.queryKey,n)),typeof n.refetchOnReconnect>"u"&&(n.refetchOnReconnect=n.networkMode!=="always"),typeof n.useErrorBoundary>"u"&&(n.useErrorBoundary=!!n.suspense),n}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...this.defaultOptions.mutations,...this.getMutationDefaults(t==null?void 0:t.mutationKey),...t,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}class oy extends wi{constructor(t,n){super(),this.client=t,this.options=n,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(n)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.length===1&&(this.currentQuery.addObserver(this),ef(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.listeners.length||this.destroy()}shouldFetchOnReconnect(){return tl(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return tl(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=[],this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(t,n){const r=this.options,i=this.currentQuery;if(this.options=this.client.defaultQueryOptions(t),Gc(r,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=r.queryKey),this.updateQuery();const o=this.hasListeners();o&&tf(this.currentQuery,i,this.options,r)&&this.executeFetch(),this.updateResult(n),o&&(this.currentQuery!==i||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&this.updateStaleTimeout();const s=this.computeRefetchInterval();o&&(this.currentQuery!==i||this.options.enabled!==r.enabled||s!==this.currentRefetchInterval)&&this.updateRefetchInterval(s)}getOptimisticResult(t){const n=this.client.getQueryCache().build(this.client,t);return this.createResult(n,t)}getCurrentResult(){return this.currentResult}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(r),t[r])})}),n}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:t,...n}={}){return this.fetch({...n,meta:{refetchPage:t}})}fetchOptimistic(t){const n=this.client.defaultQueryOptions(t),r=this.client.getQueryCache().build(this.client,n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){var n;return this.executeFetch({...t,cancelRefetch:(n=t.cancelRefetch)!=null?n:!0}).then(()=>(this.updateResult(),this.currentResult))}executeFetch(t){this.updateQuery();let n=this.currentQuery.fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(He)),n}updateStaleTimeout(){if(this.clearStaleTimeout(),ui||this.currentResult.isStale||!Xa(this.options.staleTime))return;const n=gh(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout(()=>{this.currentResult.isStale||this.updateResult()},n)}computeRefetchInterval(){var t;return typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.currentResult.data,this.currentQuery):(t=this.options.refetchInterval)!=null?t:!1}updateRefetchInterval(t){this.clearRefetchInterval(),this.currentRefetchInterval=t,!(ui||this.options.enabled===!1||!Xa(this.currentRefetchInterval)||this.currentRefetchInterval===0)&&(this.refetchIntervalId=setInterval(()=>{(this.options.refetchIntervalInBackground||Lo.isFocused())&&this.executeFetch()},this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(t,n){const r=this.currentQuery,i=this.options,o=this.currentResult,s=this.currentResultState,a=this.currentResultOptions,l=t!==r,u=l?t.state:this.currentQueryInitialState,c=l?this.currentResult:this.previousQueryResult,{state:f}=t;let{dataUpdatedAt:d,error:m,errorUpdatedAt:h,fetchStatus:y,status:k}=f,v=!1,p=!1,g;if(n._optimisticResults){const E=this.hasListeners(),P=!E&&ef(t,n),C=E&&tf(t,r,n,i);(P||C)&&(y=cs(t.options.networkMode)?"fetching":"paused",d||(k="loading")),n._optimisticResults==="isRestoring"&&(y="idle")}if(n.keepPreviousData&&!f.dataUpdateCount&&c!=null&&c.isSuccess&&k!=="error")g=c.data,d=c.dataUpdatedAt,k=c.status,v=!0;else if(n.select&&typeof f.data<"u")if(o&&f.data===(s==null?void 0:s.data)&&n.select===this.selectFn)g=this.selectResult;else try{this.selectFn=n.select,g=n.select(f.data),g=el(o==null?void 0:o.data,g,n),this.selectResult=g,this.selectError=null}catch(E){this.selectError=E}else g=f.data;if(typeof n.placeholderData<"u"&&typeof g>"u"&&k==="loading"){let E;if(o!=null&&o.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData))E=o.data;else if(E=typeof n.placeholderData=="function"?n.placeholderData():n.placeholderData,n.select&&typeof E<"u")try{E=n.select(E),E=el(o==null?void 0:o.data,E,n),this.selectError=null}catch(P){this.selectError=P}typeof E<"u"&&(k="success",g=E,p=!0)}this.selectError&&(m=this.selectError,g=this.selectResult,h=Date.now(),k="error");const S=y==="fetching";return{status:k,fetchStatus:y,isLoading:k==="loading",isSuccess:k==="success",isError:k==="error",data:g,dataUpdatedAt:d,error:m,errorUpdatedAt:h,failureCount:f.fetchFailureCount,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>u.dataUpdateCount||f.errorUpdateCount>u.errorUpdateCount,isFetching:S,isRefetching:S&&k!=="loading",isLoadingError:k==="error"&&f.dataUpdatedAt===0,isPaused:y==="paused",isPlaceholderData:p,isPreviousData:v,isRefetchError:k==="error"&&f.dataUpdatedAt!==0,isStale:hu(t,n),refetch:this.refetch,remove:this.remove}}updateResult(t){const n=this.currentResult,r=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,Gc(r,n))return;this.currentResult=r;const i={cache:!0},o=()=>{if(!n)return!0;const{notifyOnChangeProps:s}=this.options;if(s==="all"||!s&&!this.trackedProps.size)return!0;const a=new Set(s!=null?s:this.trackedProps);return this.options.useErrorBoundary&&a.add("error"),Object.keys(this.currentResult).some(l=>{const u=l;return this.currentResult[u]!==n[u]&&a.has(u)})};(t==null?void 0:t.listeners)!==!1&&o()&&(i.listeners=!0),this.notify({...i,...t})}updateQuery(){const t=this.client.getQueryCache().build(this.client,this.options);if(t===this.currentQuery)return;const n=this.currentQuery;this.currentQuery=t,this.currentQueryInitialState=t.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))}onQueryUpdate(t){const n={};t.type==="success"?n.onSuccess=!t.manual:t.type==="error"&&!oo(t.error)&&(n.onError=!0),this.updateResult(n),this.hasListeners()&&this.updateTimers()}notify(t){re.batch(()=>{if(t.onSuccess){var n,r,i,o;(n=(r=this.options).onSuccess)==null||n.call(r,this.currentResult.data),(i=(o=this.options).onSettled)==null||i.call(o,this.currentResult.data,null)}else if(t.onError){var s,a,l,u;(s=(a=this.options).onError)==null||s.call(a,this.currentResult.error),(l=(u=this.options).onSettled)==null||l.call(u,void 0,this.currentResult.error)}t.listeners&&this.listeners.forEach(c=>{c(this.currentResult)}),t.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})})}}function sy(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function ef(e,t){return sy(e,t)||e.state.dataUpdatedAt>0&&tl(e,t,t.refetchOnMount)}function tl(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&hu(e,t)}return!1}function tf(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&hu(e,n)}function hu(e,t){return e.isStaleByTime(t.staleTime)}const nf=_.exports.createContext(void 0),kh=_.exports.createContext(!1);function Oh(e,t){return e||(t&&typeof window<"u"?(window.ReactQueryClientContext||(window.ReactQueryClientContext=nf),window.ReactQueryClientContext):nf)}const Ph=({context:e}={})=>{const t=_.exports.useContext(Oh(e,_.exports.useContext(kh)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},ay=({client:e,children:t,context:n,contextSharing:r=!1})=>{_.exports.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]);const i=Oh(n,r);return x(kh.Provider,{value:!n&&r,children:x(i.Provider,{value:e,children:t})})},Eh=_.exports.createContext(!1),ly=()=>_.exports.useContext(Eh);Eh.Provider;function uy(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const cy=_.exports.createContext(uy()),fy=()=>_.exports.useContext(cy);function dy(e,t){return typeof e=="function"?e(...t):!!e}function py(e,t){const n=Ph({context:e.context}),r=ly(),i=fy(),o=n.defaultQueryOptions(e);o._optimisticResults=r?"isRestoring":"optimistic",o.onError&&(o.onError=re.batchCalls(o.onError)),o.onSuccess&&(o.onSuccess=re.batchCalls(o.onSuccess)),o.onSettled&&(o.onSettled=re.batchCalls(o.onSettled)),o.suspense&&typeof o.staleTime!="number"&&(o.staleTime=1e3),(o.suspense||o.useErrorBoundary)&&(i.isReset()||(o.retryOnMount=!1));const[s]=_.exports.useState(()=>new t(n,o)),a=s.getOptimisticResult(o);if(fu.exports.useSyncExternalStore(_.exports.useCallback(l=>r?()=>{}:s.subscribe(re.batchCalls(l)),[s,r]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),_.exports.useEffect(()=>{i.clearReset()},[i]),_.exports.useEffect(()=>{s.setOptions(o,{listeners:!1})},[o,s]),o.suspense&&a.isLoading&&a.isFetching&&!r)throw s.fetchOptimistic(o).then(({data:l})=>{o.onSuccess==null||o.onSuccess(l),o.onSettled==null||o.onSettled(l,null)}).catch(l=>{i.clearReset(),o.onError==null||o.onError(l),o.onSettled==null||o.onSettled(void 0,l)});if(a.isError&&!i.isReset()&&!a.isFetching&&dy(o.useErrorBoundary,[a.error,s.getCurrentQuery()]))throw a.error;return o.notifyOnChangeProps?a:s.trackResult(a)}function ur(e,t,n){const r=io(e,t,n);return py(r,oy)}/** + */class bi{constructor(){this.listeners=[],this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.push(t),this.onSubscribe(),()=>{this.listeners=this.listeners.filter(n=>n!==t),this.onUnsubscribe()}}hasListeners(){return this.listeners.length>0}onSubscribe(){}onUnsubscribe(){}}const yi=typeof window>"u";function Ze(){}function cy(e,t){return typeof e=="function"?e(t):e}function il(e){return typeof e=="number"&&e>=0&&e!==1/0}function Ih(e,t){return Math.max(e+(t||0)-Date.now(),0)}function po(e,t,n){return ms(e)?typeof t=="function"?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function tn(e,t,n){return ms(e)?[{...t,queryKey:e},n]:[e||{},t]}function ff(e,t){const{type:n="all",exact:r,fetchStatus:i,predicate:o,queryKey:s,stale:a}=e;if(ms(s)){if(r){if(t.queryHash!==wu(s,t.options))return!1}else if(!$o(t.queryKey,s))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||typeof i<"u"&&i!==t.state.fetchStatus||o&&!o(t))}function df(e,t){const{exact:n,fetching:r,predicate:i,mutationKey:o}=e;if(ms(o)){if(!t.options.mutationKey)return!1;if(n){if(Nn(t.options.mutationKey)!==Nn(o))return!1}else if(!$o(t.options.mutationKey,o))return!1}return!(typeof r=="boolean"&&t.state.status==="loading"!==r||i&&!i(t))}function wu(e,t){return((t==null?void 0:t.queryKeyHashFn)||Nn)(e)}function Nn(e){return JSON.stringify(e,(t,n)=>ol(n)?Object.keys(n).sort().reduce((r,i)=>(r[i]=n[i],r),{}):n)}function $o(e,t){return Lh(e,t)}function Lh(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Lh(e[n],t[n])):!1}function Dh(e,t){if(e===t)return e;const n=hf(e)&&hf(t);if(n||ol(e)&&ol(t)){const r=n?e.length:Object.keys(e).length,i=n?t:Object.keys(t),o=i.length,s=n?[]:{};let a=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!gf(n)||!n.hasOwnProperty("isPrototypeOf"))}function gf(e){return Object.prototype.toString.call(e)==="[object Object]"}function ms(e){return Array.isArray(e)}function Fh(e){return new Promise(t=>{setTimeout(t,e)})}function mf(e){Fh(0).then(e)}function fy(){if(typeof AbortController=="function")return new AbortController}function sl(e,t,n){return n.isDataEqual!=null&&n.isDataEqual(e,t)?e:typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?Dh(e,t):t}class dy extends bi{constructor(){super(),this.setup=t=>{if(!yi&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),window.addEventListener("focus",n,!1),()=>{window.removeEventListener("visibilitychange",n),window.removeEventListener("focus",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(t){this.focused=t,t&&this.onFocus()}onFocus(){this.listeners.forEach(t=>{t()})}isFocused(){return typeof this.focused=="boolean"?this.focused:typeof document>"u"?!0:[void 0,"visible","prerender"].includes(document.visibilityState)}}const Uo=new dy;class py extends bi{constructor(){super(),this.setup=t=>{if(!yi&&window.addEventListener){const n=()=>t();return window.addEventListener("online",n,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setOnline(r):this.onOnline()})}setOnline(t){this.online=t,t&&this.onOnline()}onOnline(){this.listeners.forEach(t=>{t()})}isOnline(){return typeof this.online=="boolean"?this.online:typeof navigator>"u"||typeof navigator.onLine>"u"?!0:navigator.onLine}}const zo=new py;function hy(e){return Math.min(1e3*2**e,3e4)}function vs(e){return(e!=null?e:"online")==="online"?zo.isOnline():!0}class Mh{constructor(t){this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}}function ho(e){return e instanceof Mh}function jh(e){let t=!1,n=0,r=!1,i,o,s;const a=new Promise((x,v)=>{o=x,s=v}),l=x=>{r||(p(new Mh(x)),e.abort==null||e.abort())},u=()=>{t=!0},c=()=>{t=!1},f=()=>!Uo.isFocused()||e.networkMode!=="always"&&!zo.isOnline(),d=x=>{r||(r=!0,e.onSuccess==null||e.onSuccess(x),i==null||i(),o(x))},p=x=>{r||(r=!0,e.onError==null||e.onError(x),i==null||i(),s(x))},g=()=>new Promise(x=>{i=v=>{if(r||!f())return x(v)},e.onPause==null||e.onPause()}).then(()=>{i=void 0,r||e.onContinue==null||e.onContinue()}),y=()=>{if(r)return;let x;try{x=e.fn()}catch(v){x=Promise.reject(v)}Promise.resolve(x).then(d).catch(v=>{var h,m;if(r)return;const S=(h=e.retry)!=null?h:3,_=(m=e.retryDelay)!=null?m:hy,O=typeof _=="function"?_(n,v):_,C=S===!0||typeof S=="number"&&n{if(f())return g()}).then(()=>{t?p(v):y()})})};return vs(e.networkMode)?y():g().then(y),{promise:a,cancel:l,continue:()=>{i==null||i()},cancelRetry:u,continueRetry:c}}const xu=console;function gy(){let e=[],t=0,n=c=>{c()},r=c=>{c()};const i=c=>{let f;t++;try{f=c()}finally{t--,t||a()}return f},o=c=>{t?e.push(c):mf(()=>{n(c)})},s=c=>(...f)=>{o(()=>{c(...f)})},a=()=>{const c=e;e=[],c.length&&mf(()=>{r(()=>{c.forEach(f=>{n(f)})})})};return{batch:i,batchCalls:s,schedule:o,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{r=c}}}const ae=gy();class Ah{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),il(this.cacheTime)&&(this.gcTimeout=setTimeout(()=>{this.optionalRemove()},this.cacheTime))}updateCacheTime(t){this.cacheTime=Math.max(this.cacheTime||0,t!=null?t:yi?1/0:5*60*1e3)}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class my extends Ah{constructor(t){super(),this.abortSignalConsumed=!1,this.defaultOptions=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.cache=t.cache,this.logger=t.logger||xu,this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.initialState=t.state||vy(this.options),this.state=this.initialState,this.meta=t.meta}setOptions(t){this.options={...this.defaultOptions,...t},this.meta=t==null?void 0:t.meta,this.updateCacheTime(this.options.cacheTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.cache.remove(this)}setData(t,n){const r=sl(this.state.data,t,this.options);return this.dispatch({data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){this.dispatch({type:"setState",state:t,setStateOptions:n})}cancel(t){var n;const r=this.promise;return(n=this.retryer)==null||n.cancel(t),r?r.then(Ze).catch(Ze):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!Ih(this.state.dataUpdatedAt,t)}onFocus(){var t;const n=this.observers.find(r=>r.shouldFetchOnWindowFocus());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}onOnline(){var t;const n=this.observers.find(r=>r.shouldFetchOnReconnect());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}addObserver(t){this.observers.indexOf(t)===-1&&(this.observers.push(t),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.indexOf(t)!==-1&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(t,n){var r,i;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&n!=null&&n.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var o;return(o=this.retryer)==null||o.continueRetry(),this.promise}}if(t&&this.setOptions(t),!this.options.queryFn){const p=this.observers.find(g=>g.options.queryFn);p&&this.setOptions(p.options)}Array.isArray(this.options.queryKey);const s=fy(),a={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},l=p=>{Object.defineProperty(p,"signal",{enumerable:!0,get:()=>{if(s)return this.abortSignalConsumed=!0,s.signal}})};l(a);const u=()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(a)):Promise.reject("Missing queryFn"),c={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:u,meta:this.meta};if(l(c),(r=this.options.behavior)==null||r.onFetch(c),this.revertState=this.state,this.state.fetchStatus==="idle"||this.state.fetchMeta!==((i=c.fetchOptions)==null?void 0:i.meta)){var f;this.dispatch({type:"fetch",meta:(f=c.fetchOptions)==null?void 0:f.meta})}const d=p=>{if(ho(p)&&p.silent||this.dispatch({type:"error",error:p}),!ho(p)){var g,y;(g=(y=this.cache.config).onError)==null||g.call(y,p,this)}this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=jh({fn:c.fetchFn,abort:s==null?void 0:s.abort.bind(s),onSuccess:p=>{var g,y;if(typeof p>"u"){d(new Error("Query data cannot be undefined"));return}this.setData(p),(g=(y=this.cache.config).onSuccess)==null||g.call(y,p,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:d,onFail:()=>{this.dispatch({type:"failed"})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(t){const n=r=>{var i,o;switch(t.type){case"failed":return{...r,fetchFailureCount:r.fetchFailureCount+1};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchMeta:(i=t.meta)!=null?i:null,fetchStatus:vs(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:(o=t.dataUpdatedAt)!=null?o:Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0}};case"error":const s=t.error;return ho(s)&&s.revert&&this.revertState?{...this.revertState}:{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),ae.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate(t)}),this.cache.notify({query:this,type:"updated",action:t})})}}function vy(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=typeof e.initialData<"u"?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0,i=typeof t<"u";return{data:t,dataUpdateCount:0,dataUpdatedAt:i?r!=null?r:Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchMeta:null,isInvalidated:!1,status:i?"success":"loading",fetchStatus:"idle"}}class yy extends bi{constructor(t){super(),this.config=t||{},this.queries=[],this.queriesMap={}}build(t,n,r){var i;const o=n.queryKey,s=(i=n.queryHash)!=null?i:wu(o,n);let a=this.get(s);return a||(a=new my({cache:this,logger:t.getLogger(),queryKey:o,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o),meta:n.meta}),this.add(a)),a}add(t){this.queriesMap[t.queryHash]||(this.queriesMap[t.queryHash]=t,this.queries.push(t),this.notify({type:"added",query:t}))}remove(t){const n=this.queriesMap[t.queryHash];n&&(t.destroy(),this.queries=this.queries.filter(r=>r!==t),n===t&&delete this.queriesMap[t.queryHash],this.notify({type:"removed",query:t}))}clear(){ae.batch(()=>{this.queries.forEach(t=>{this.remove(t)})})}get(t){return this.queriesMap[t]}getAll(){return this.queries}find(t,n){const[r]=tn(t,n);return typeof r.exact>"u"&&(r.exact=!0),this.queries.find(i=>ff(r,i))}findAll(t,n){const[r]=tn(t,n);return Object.keys(r).length>0?this.queries.filter(i=>ff(r,i)):this.queries}notify(t){ae.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){ae.batch(()=>{this.queries.forEach(t=>{t.onFocus()})})}onOnline(){ae.batch(()=>{this.queries.forEach(t=>{t.onOnline()})})}}class Sy extends Ah{constructor(t){super(),this.options={...t.defaultOptions,...t.options},this.mutationId=t.mutationId,this.mutationCache=t.mutationCache,this.logger=t.logger||xu,this.observers=[],this.state=t.state||wy(),this.meta=t.meta,this.updateCacheTime(this.options.cacheTime),this.scheduleGc()}setState(t){this.dispatch({type:"setState",state:t})}addObserver(t){this.observers.indexOf(t)===-1&&(this.observers.push(t),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.observers=this.observers.filter(n=>n!==t),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.observers.length||(this.state.status==="loading"?this.scheduleGc():this.mutationCache.remove(this))}continue(){return this.retryer?(this.retryer.continue(),this.retryer.promise):this.execute()}async execute(){const t=()=>{var m;return this.retryer=jh({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:()=>{this.dispatch({type:"failed"})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:(m=this.options.retry)!=null?m:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},n=this.state.status==="loading";try{var r,i,o,s,a,l;if(!n){var u,c,f,d;this.dispatch({type:"loading",variables:this.options.variables}),(u=(c=this.mutationCache.config).onMutate)==null||u.call(c,this.state.variables,this);const S=await((f=(d=this.options).onMutate)==null?void 0:f.call(d,this.state.variables));S!==this.state.context&&this.dispatch({type:"loading",context:S,variables:this.state.variables})}const m=await t();return(r=(i=this.mutationCache.config).onSuccess)==null||r.call(i,m,this.state.variables,this.state.context,this),await((o=(s=this.options).onSuccess)==null?void 0:o.call(s,m,this.state.variables,this.state.context)),await((a=(l=this.options).onSettled)==null?void 0:a.call(l,m,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:m}),m}catch(m){try{var p,g,y,x,v,h;throw(p=(g=this.mutationCache.config).onError)==null||p.call(g,m,this.state.variables,this.state.context,this),await((y=(x=this.options).onError)==null?void 0:y.call(x,m,this.state.variables,this.state.context)),await((v=(h=this.options).onSettled)==null?void 0:v.call(h,void 0,m,this.state.variables,this.state.context)),m}finally{this.dispatch({type:"error",error:m})}}}dispatch(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:r.failureCount+1};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"loading":return{...r,context:t.context,data:void 0,error:null,isPaused:!vs(this.options.networkMode),status:"loading",variables:t.variables};case"success":return{...r,data:t.data,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,isPaused:!1,status:"error"};case"setState":return{...r,...t.state}}};this.state=n(this.state),ae.batch(()=>{this.observers.forEach(r=>{r.onMutationUpdate(t)}),this.mutationCache.notify({mutation:this,type:"updated",action:t})})}}function wy(){return{context:void 0,data:void 0,error:null,failureCount:0,isPaused:!1,status:"idle",variables:void 0}}class xy extends bi{constructor(t){super(),this.config=t||{},this.mutations=[],this.mutationId=0}build(t,n,r){const i=new Sy({mutationCache:this,logger:t.getLogger(),mutationId:++this.mutationId,options:t.defaultMutationOptions(n),state:r,defaultOptions:n.mutationKey?t.getMutationDefaults(n.mutationKey):void 0,meta:n.meta});return this.add(i),i}add(t){this.mutations.push(t),this.notify({type:"added",mutation:t})}remove(t){this.mutations=this.mutations.filter(n=>n!==t),this.notify({type:"removed",mutation:t})}clear(){ae.batch(()=>{this.mutations.forEach(t=>{this.remove(t)})})}getAll(){return this.mutations}find(t){return typeof t.exact>"u"&&(t.exact=!0),this.mutations.find(n=>df(t,n))}findAll(t){return this.mutations.filter(n=>df(t,n))}notify(t){ae.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.mutations.filter(n=>n.state.isPaused);return ae.batch(()=>t.reduce((n,r)=>n.then(()=>r.continue().catch(Ze)),Promise.resolve()))}}function Py(){return{onFetch:e=>{e.fetchFn=()=>{var t,n,r,i,o,s;const a=(t=e.fetchOptions)==null||(n=t.meta)==null?void 0:n.refetchPage,l=(r=e.fetchOptions)==null||(i=r.meta)==null?void 0:i.fetchMore,u=l==null?void 0:l.pageParam,c=(l==null?void 0:l.direction)==="forward",f=(l==null?void 0:l.direction)==="backward",d=((o=e.state.data)==null?void 0:o.pages)||[],p=((s=e.state.data)==null?void 0:s.pageParams)||[];let g=p,y=!1;const x=O=>{Object.defineProperty(O,"signal",{enumerable:!0,get:()=>{var C;if((C=e.signal)!=null&&C.aborted)y=!0;else{var b;(b=e.signal)==null||b.addEventListener("abort",()=>{y=!0})}return e.signal}})},v=e.options.queryFn||(()=>Promise.reject("Missing queryFn")),h=(O,C,b,k)=>(g=k?[C,...g]:[...g,C],k?[b,...O]:[...O,b]),m=(O,C,b,k)=>{if(y)return Promise.reject("Cancelled");if(typeof b>"u"&&!C&&O.length)return Promise.resolve(O);const E={queryKey:e.queryKey,pageParam:b,meta:e.meta};x(E);const I=v(E);return Promise.resolve(I).then(z=>h(O,b,z,k))};let S;if(!d.length)S=m([]);else if(c){const O=typeof u<"u",C=O?u:vf(e.options,d);S=m(d,O,C)}else if(f){const O=typeof u<"u",C=O?u:ky(e.options,d);S=m(d,O,C,!0)}else{g=[];const O=typeof e.options.getNextPageParam>"u";S=(a&&d[0]?a(d[0],0,d):!0)?m([],O,p[0]):Promise.resolve(h([],p[0],d[0]));for(let b=1;b{if(a&&d[b]?a(d[b],b,d):!0){const I=O?p[b]:vf(e.options,k);return m(k,O,I)}return Promise.resolve(h(k,p[b],d[b]))})}return S.then(O=>({pages:O,pageParams:g}))}}}}function vf(e,t){return e.getNextPageParam==null?void 0:e.getNextPageParam(t[t.length-1],t)}function ky(e,t){return e.getPreviousPageParam==null?void 0:e.getPreviousPageParam(t[0],t)}class Oy{constructor(t={}){this.queryCache=t.queryCache||new yy,this.mutationCache=t.mutationCache||new xy,this.logger=t.logger||xu,this.defaultOptions=t.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[]}mount(){this.unsubscribeFocus=Uo.subscribe(()=>{Uo.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())}),this.unsubscribeOnline=zo.subscribe(()=>{zo.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())})}unmount(){var t,n;(t=this.unsubscribeFocus)==null||t.call(this),(n=this.unsubscribeOnline)==null||n.call(this)}isFetching(t,n){const[r]=tn(t,n);return r.fetchStatus="fetching",this.queryCache.findAll(r).length}isMutating(t){return this.mutationCache.findAll({...t,fetching:!0}).length}getQueryData(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state.data}getQueriesData(t){return this.getQueryCache().findAll(t).map(({queryKey:n,state:r})=>{const i=r.data;return[n,i]})}setQueryData(t,n,r){const i=this.queryCache.find(t),o=i==null?void 0:i.state.data,s=cy(n,o);if(typeof s>"u")return;const a=po(t),l=this.defaultQueryOptions(a);return this.queryCache.build(this,l).setData(s,{...r,manual:!0})}setQueriesData(t,n,r){return ae.batch(()=>this.getQueryCache().findAll(t).map(({queryKey:i})=>[i,this.setQueryData(i,n,r)]))}getQueryState(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state}removeQueries(t,n){const[r]=tn(t,n),i=this.queryCache;ae.batch(()=>{i.findAll(r).forEach(o=>{i.remove(o)})})}resetQueries(t,n,r){const[i,o]=tn(t,n,r),s=this.queryCache,a={type:"active",...i};return ae.batch(()=>(s.findAll(i).forEach(l=>{l.reset()}),this.refetchQueries(a,o)))}cancelQueries(t,n,r){const[i,o={}]=tn(t,n,r);typeof o.revert>"u"&&(o.revert=!0);const s=ae.batch(()=>this.queryCache.findAll(i).map(a=>a.cancel(o)));return Promise.all(s).then(Ze).catch(Ze)}invalidateQueries(t,n,r){const[i,o]=tn(t,n,r);return ae.batch(()=>{var s,a;if(this.queryCache.findAll(i).forEach(u=>{u.invalidate()}),i.refetchType==="none")return Promise.resolve();const l={...i,type:(s=(a=i.refetchType)!=null?a:i.type)!=null?s:"active"};return this.refetchQueries(l,o)})}refetchQueries(t,n,r){const[i,o]=tn(t,n,r),s=ae.batch(()=>this.queryCache.findAll(i).filter(l=>!l.isDisabled()).map(l=>{var u;return l.fetch(void 0,{...o,cancelRefetch:(u=o==null?void 0:o.cancelRefetch)!=null?u:!0,meta:{refetchPage:i.refetchPage}})}));let a=Promise.all(s).then(Ze);return o!=null&&o.throwOnError||(a=a.catch(Ze)),a}fetchQuery(t,n,r){const i=po(t,n,r),o=this.defaultQueryOptions(i);typeof o.retry>"u"&&(o.retry=!1);const s=this.queryCache.build(this,o);return s.isStaleByTime(o.staleTime)?s.fetch(o):Promise.resolve(s.state.data)}prefetchQuery(t,n,r){return this.fetchQuery(t,n,r).then(Ze).catch(Ze)}fetchInfiniteQuery(t,n,r){const i=po(t,n,r);return i.behavior=Py(),this.fetchQuery(i)}prefetchInfiniteQuery(t,n,r){return this.fetchInfiniteQuery(t,n,r).then(Ze).catch(Ze)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(t){this.defaultOptions=t}setQueryDefaults(t,n){const r=this.queryDefaults.find(i=>Nn(t)===Nn(i.queryKey));r?r.defaultOptions=n:this.queryDefaults.push({queryKey:t,defaultOptions:n})}getQueryDefaults(t){if(!t)return;const n=this.queryDefaults.find(r=>$o(t,r.queryKey));return n==null?void 0:n.defaultOptions}setMutationDefaults(t,n){const r=this.mutationDefaults.find(i=>Nn(t)===Nn(i.mutationKey));r?r.defaultOptions=n:this.mutationDefaults.push({mutationKey:t,defaultOptions:n})}getMutationDefaults(t){if(!t)return;const n=this.mutationDefaults.find(r=>$o(t,r.mutationKey));return n==null?void 0:n.defaultOptions}defaultQueryOptions(t){if(t!=null&&t._defaulted)return t;const n={...this.defaultOptions.queries,...this.getQueryDefaults(t==null?void 0:t.queryKey),...t,_defaulted:!0};return!n.queryHash&&n.queryKey&&(n.queryHash=wu(n.queryKey,n)),typeof n.refetchOnReconnect>"u"&&(n.refetchOnReconnect=n.networkMode!=="always"),typeof n.useErrorBoundary>"u"&&(n.useErrorBoundary=!!n.suspense),n}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...this.defaultOptions.mutations,...this.getMutationDefaults(t==null?void 0:t.mutationKey),...t,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}class _y extends bi{constructor(t,n){super(),this.client=t,this.options=n,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(n)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.length===1&&(this.currentQuery.addObserver(this),yf(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.listeners.length||this.destroy()}shouldFetchOnReconnect(){return al(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return al(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=[],this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(t,n){const r=this.options,i=this.currentQuery;if(this.options=this.client.defaultQueryOptions(t),pf(r,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=r.queryKey),this.updateQuery();const o=this.hasListeners();o&&Sf(this.currentQuery,i,this.options,r)&&this.executeFetch(),this.updateResult(n),o&&(this.currentQuery!==i||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&this.updateStaleTimeout();const s=this.computeRefetchInterval();o&&(this.currentQuery!==i||this.options.enabled!==r.enabled||s!==this.currentRefetchInterval)&&this.updateRefetchInterval(s)}getOptimisticResult(t){const n=this.client.getQueryCache().build(this.client,t);return this.createResult(n,t)}getCurrentResult(){return this.currentResult}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(r),t[r])})}),n}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:t,...n}={}){return this.fetch({...n,meta:{refetchPage:t}})}fetchOptimistic(t){const n=this.client.defaultQueryOptions(t),r=this.client.getQueryCache().build(this.client,n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){var n;return this.executeFetch({...t,cancelRefetch:(n=t.cancelRefetch)!=null?n:!0}).then(()=>(this.updateResult(),this.currentResult))}executeFetch(t){this.updateQuery();let n=this.currentQuery.fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Ze)),n}updateStaleTimeout(){if(this.clearStaleTimeout(),yi||this.currentResult.isStale||!il(this.options.staleTime))return;const n=Ih(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout(()=>{this.currentResult.isStale||this.updateResult()},n)}computeRefetchInterval(){var t;return typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.currentResult.data,this.currentQuery):(t=this.options.refetchInterval)!=null?t:!1}updateRefetchInterval(t){this.clearRefetchInterval(),this.currentRefetchInterval=t,!(yi||this.options.enabled===!1||!il(this.currentRefetchInterval)||this.currentRefetchInterval===0)&&(this.refetchIntervalId=setInterval(()=>{(this.options.refetchIntervalInBackground||Uo.isFocused())&&this.executeFetch()},this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(t,n){const r=this.currentQuery,i=this.options,o=this.currentResult,s=this.currentResultState,a=this.currentResultOptions,l=t!==r,u=l?t.state:this.currentQueryInitialState,c=l?this.currentResult:this.previousQueryResult,{state:f}=t;let{dataUpdatedAt:d,error:p,errorUpdatedAt:g,fetchStatus:y,status:x}=f,v=!1,h=!1,m;if(n._optimisticResults){const O=this.hasListeners(),C=!O&&yf(t,n),b=O&&Sf(t,r,n,i);(C||b)&&(y=vs(t.options.networkMode)?"fetching":"paused",d||(x="loading")),n._optimisticResults==="isRestoring"&&(y="idle")}if(n.keepPreviousData&&!f.dataUpdateCount&&c!=null&&c.isSuccess&&x!=="error")m=c.data,d=c.dataUpdatedAt,x=c.status,v=!0;else if(n.select&&typeof f.data<"u")if(o&&f.data===(s==null?void 0:s.data)&&n.select===this.selectFn)m=this.selectResult;else try{this.selectFn=n.select,m=n.select(f.data),m=sl(o==null?void 0:o.data,m,n),this.selectResult=m,this.selectError=null}catch(O){this.selectError=O}else m=f.data;if(typeof n.placeholderData<"u"&&typeof m>"u"&&x==="loading"){let O;if(o!=null&&o.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData))O=o.data;else if(O=typeof n.placeholderData=="function"?n.placeholderData():n.placeholderData,n.select&&typeof O<"u")try{O=n.select(O),O=sl(o==null?void 0:o.data,O,n),this.selectError=null}catch(C){this.selectError=C}typeof O<"u"&&(x="success",m=O,h=!0)}this.selectError&&(p=this.selectError,m=this.selectResult,g=Date.now(),x="error");const S=y==="fetching";return{status:x,fetchStatus:y,isLoading:x==="loading",isSuccess:x==="success",isError:x==="error",data:m,dataUpdatedAt:d,error:p,errorUpdatedAt:g,failureCount:f.fetchFailureCount,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>u.dataUpdateCount||f.errorUpdateCount>u.errorUpdateCount,isFetching:S,isRefetching:S&&x!=="loading",isLoadingError:x==="error"&&f.dataUpdatedAt===0,isPaused:y==="paused",isPlaceholderData:h,isPreviousData:v,isRefetchError:x==="error"&&f.dataUpdatedAt!==0,isStale:Pu(t,n),refetch:this.refetch,remove:this.remove}}updateResult(t){const n=this.currentResult,r=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,pf(r,n))return;this.currentResult=r;const i={cache:!0},o=()=>{if(!n)return!0;const{notifyOnChangeProps:s}=this.options;if(s==="all"||!s&&!this.trackedProps.size)return!0;const a=new Set(s!=null?s:this.trackedProps);return this.options.useErrorBoundary&&a.add("error"),Object.keys(this.currentResult).some(l=>{const u=l;return this.currentResult[u]!==n[u]&&a.has(u)})};(t==null?void 0:t.listeners)!==!1&&o()&&(i.listeners=!0),this.notify({...i,...t})}updateQuery(){const t=this.client.getQueryCache().build(this.client,this.options);if(t===this.currentQuery)return;const n=this.currentQuery;this.currentQuery=t,this.currentQueryInitialState=t.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))}onQueryUpdate(t){const n={};t.type==="success"?n.onSuccess=!t.manual:t.type==="error"&&!ho(t.error)&&(n.onError=!0),this.updateResult(n),this.hasListeners()&&this.updateTimers()}notify(t){ae.batch(()=>{if(t.onSuccess){var n,r,i,o;(n=(r=this.options).onSuccess)==null||n.call(r,this.currentResult.data),(i=(o=this.options).onSettled)==null||i.call(o,this.currentResult.data,null)}else if(t.onError){var s,a,l,u;(s=(a=this.options).onError)==null||s.call(a,this.currentResult.error),(l=(u=this.options).onSettled)==null||l.call(u,void 0,this.currentResult.error)}t.listeners&&this.listeners.forEach(c=>{c(this.currentResult)}),t.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})})}}function Ey(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function yf(e,t){return Ey(e,t)||e.state.dataUpdatedAt>0&&al(e,t,t.refetchOnMount)}function al(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&Pu(e,t)}return!1}function Sf(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&Pu(e,n)}function Pu(e,t){return e.isStaleByTime(t.staleTime)}const wf=P.exports.createContext(void 0),$h=P.exports.createContext(!1);function Uh(e,t){return e||(t&&typeof window<"u"?(window.ReactQueryClientContext||(window.ReactQueryClientContext=wf),window.ReactQueryClientContext):wf)}const zh=({context:e}={})=>{const t=P.exports.useContext(Uh(e,P.exports.useContext($h)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Cy=({client:e,children:t,context:n,contextSharing:r=!1})=>{P.exports.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]);const i=Uh(n,r);return w($h.Provider,{value:!n&&r,children:w(i.Provider,{value:e,children:t})})},Bh=P.exports.createContext(!1),by=()=>P.exports.useContext(Bh);Bh.Provider;function Ry(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const Ny=P.exports.createContext(Ry()),Ty=()=>P.exports.useContext(Ny);function Iy(e,t){return typeof e=="function"?e(...t):!!e}function Ly(e,t){const n=zh({context:e.context}),r=by(),i=Ty(),o=n.defaultQueryOptions(e);o._optimisticResults=r?"isRestoring":"optimistic",o.onError&&(o.onError=ae.batchCalls(o.onError)),o.onSuccess&&(o.onSuccess=ae.batchCalls(o.onSuccess)),o.onSettled&&(o.onSettled=ae.batchCalls(o.onSettled)),o.suspense&&typeof o.staleTime!="number"&&(o.staleTime=1e3),(o.suspense||o.useErrorBoundary)&&(i.isReset()||(o.retryOnMount=!1));const[s]=P.exports.useState(()=>new t(n,o)),a=s.getOptimisticResult(o);if(Su.exports.useSyncExternalStore(P.exports.useCallback(l=>r?()=>{}:s.subscribe(ae.batchCalls(l)),[s,r]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),P.exports.useEffect(()=>{i.clearReset()},[i]),P.exports.useEffect(()=>{s.setOptions(o,{listeners:!1})},[o,s]),o.suspense&&a.isLoading&&a.isFetching&&!r)throw s.fetchOptimistic(o).then(({data:l})=>{o.onSuccess==null||o.onSuccess(l),o.onSettled==null||o.onSettled(l,null)}).catch(l=>{i.clearReset(),o.onError==null||o.onError(l),o.onSettled==null||o.onSettled(void 0,l)});if(a.isError&&!i.isReset()&&!a.isFetching&&Iy(o.useErrorBoundary,[a.error,s.getCurrentQuery()]))throw a.error;return o.notifyOnChangeProps?a:s.trackResult(a)}function wr(e,t,n){const r=po(e,t,n);return Ly(r,_y)}/** * react-query-devtools-noop * * Copyright (c) TanStack @@ -63,7 +63,7 @@ Error generating stack: `+o.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function hy(){return null}function Ke(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:gu(e)?2:mu(e)?3:0}function nl(e,t){return Sr(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function gy(e,t){return Sr(e)===2?e.get(t):e[t]}function Ch(e,t,n){var r=Sr(e);r===2?e.set(t,n):r===3?(e.delete(t),e.add(n)):e[t]=n}function my(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function gu(e){return ky&&e instanceof Map}function mu(e){return Oy&&e instanceof Set}function le(e){return e.o||e.t}function vu(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Ey(e);delete t[B];for(var n=xu(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=vy),Object.freeze(e),t&&fr(e,function(n,r){return yu(r,!0)},!0)),e}function vy(){Ke(2)}function Su(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function yt(e){var t=il[e];return t||Ke(18,e),t}function yy(e,t){il[e]||(il[e]=t)}function Do(){return fi}function Ws(e,t){t&&(yt("Patches"),e.u=[],e.s=[],e.v=t)}function Fo(e){rl(e),e.p.forEach(Sy),e.p=null}function rl(e){e===fi&&(fi=e.l)}function rf(e){return fi={p:[],l:fi,h:e,m:!0,_:0}}function Sy(e){var t=e[B];t.i===0||t.i===1?t.j():t.O=!0}function Gs(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.g||yt("ES5").S(t,e,r),r?(n[B].P&&(Fo(t),Ke(4)),Dt(e)&&(e=Mo(t,e),t.l||jo(t,e)),t.u&&yt("Patches").M(n[B].t,e,t.u,t.s)):e=Mo(t,n,[]),Fo(t),t.u&&t.v(t.u,t.s),e!==_h?e:void 0}function Mo(e,t,n){if(Su(t))return t;var r=t[B];if(!r)return fr(t,function(o,s){return of(e,r,t,o,s,n)},!0),t;if(r.A!==e)return t;if(!r.P)return jo(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=vu(r.k):r.o;fr(r.i===3?new Set(i):i,function(o,s){return of(e,r,i,o,s,n)}),jo(e,i,!1),n&&e.u&&yt("Patches").R(r,n,e.u,e.s)}return r.o}function of(e,t,n,r,i,o){if(cr(i)){var s=Mo(e,i,o&&t&&t.i!==3&&!nl(t.D,r)?o.concat(r):void 0);if(Ch(n,r,s),!cr(s))return;e.m=!1}if(Dt(i)&&!Su(i)){if(!e.h.F&&e._<1)return;Mo(e,i),t&&t.A.l||jo(e,i)}}function jo(e,t,n){n===void 0&&(n=!1),e.h.F&&e.m&&yu(t,n)}function Ys(e,t){var n=e[B];return(n?le(n):e)[t]}function sf(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function Ct(e){e.P||(e.P=!0,e.l&&Ct(e.l))}function Js(e){e.o||(e.o=vu(e.t))}function ci(e,t,n){var r=gu(t)?yt("MapSet").N(t,n):mu(t)?yt("MapSet").T(t,n):e.g?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:Do(),P:!1,I:!1,D:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=ol;s&&(l=[a],u=Fr);var c=Proxy.revocable(l,u),f=c.revoke,d=c.proxy;return a.k=d,a.j=f,d}(t,n):yt("ES5").J(t,n);return(n?n.A:Do()).p.push(r),r}function wy(e){return cr(e)||Ke(22,e),function t(n){if(!Dt(n))return n;var r,i=n[B],o=Sr(n);if(i){if(!i.P&&(i.i<4||!yt("ES5").K(i)))return i.t;i.I=!0,r=af(n,o),i.I=!1}else r=af(n,o);return fr(r,function(s,a){i&&gy(i.t,s)===a||Ch(r,s,t(a))}),o===3?new Set(r):r}(e)}function af(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return vu(e)}function xy(){function e(a,l){function u(){this.constructor=a}i(a,l),a.prototype=(u.prototype=l.prototype,new u)}function t(a){a.o||(a.D=new Map,a.o=new Map(a.t))}function n(a){a.o||(a.o=new Set,a.t.forEach(function(l){if(Dt(l)){var u=ci(a.A.h,l,a);a.p.set(l,u),a.o.add(u)}else a.o.add(l)}))}function r(a){a.O&&Ke(3,JSON.stringify(le(a)))}var i=function(a,l){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,c){u.__proto__=c}||function(u,c){for(var f in c)c.hasOwnProperty(f)&&(u[f]=c[f])})(a,l)},o=function(){function a(u,c){return this[B]={i:2,l:c,A:c?c.A:Do(),P:!1,I:!1,o:void 0,D:void 0,t:u,k:this,C:!1,O:!1},this}e(a,Map);var l=a.prototype;return Object.defineProperty(l,"size",{get:function(){return le(this[B]).size}}),l.has=function(u){return le(this[B]).has(u)},l.set=function(u,c){var f=this[B];return r(f),le(f).has(u)&&le(f).get(u)===c||(t(f),Ct(f),f.D.set(u,!0),f.o.set(u,c),f.D.set(u,!0)),this},l.delete=function(u){if(!this.has(u))return!1;var c=this[B];return r(c),t(c),Ct(c),c.t.has(u)?c.D.set(u,!1):c.D.delete(u),c.o.delete(u),!0},l.clear=function(){var u=this[B];r(u),le(u).size&&(t(u),Ct(u),u.D=new Map,fr(u.t,function(c){u.D.set(c,!1)}),u.o.clear())},l.forEach=function(u,c){var f=this;le(this[B]).forEach(function(d,m){u.call(c,f.get(m),m,f)})},l.get=function(u){var c=this[B];r(c);var f=le(c).get(u);if(c.I||!Dt(f)||f!==c.t.get(u))return f;var d=ci(c.A.h,f,c);return t(c),c.o.set(u,d),d},l.keys=function(){return le(this[B]).keys()},l.values=function(){var u,c=this,f=this.keys();return(u={})[Ui]=function(){return c.values()},u.next=function(){var d=f.next();return d.done?d:{done:!1,value:c.get(d.value)}},u},l.entries=function(){var u,c=this,f=this.keys();return(u={})[Ui]=function(){return c.entries()},u.next=function(){var d=f.next();if(d.done)return d;var m=c.get(d.value);return{done:!1,value:[d.value,m]}},u},l[Ui]=function(){return this.entries()},a}(),s=function(){function a(u,c){return this[B]={i:3,l:c,A:c?c.A:Do(),P:!1,I:!1,o:void 0,t:u,k:this,p:new Map,O:!1,C:!1},this}e(a,Set);var l=a.prototype;return Object.defineProperty(l,"size",{get:function(){return le(this[B]).size}}),l.has=function(u){var c=this[B];return r(c),c.o?!!c.o.has(u)||!(!c.p.has(u)||!c.o.has(c.p.get(u))):c.t.has(u)},l.add=function(u){var c=this[B];return r(c),this.has(u)||(n(c),Ct(c),c.o.add(u)),this},l.delete=function(u){if(!this.has(u))return!1;var c=this[B];return r(c),n(c),Ct(c),c.o.delete(u)||!!c.p.has(u)&&c.o.delete(c.p.get(u))},l.clear=function(){var u=this[B];r(u),le(u).size&&(n(u),Ct(u),u.o.clear())},l.values=function(){var u=this[B];return r(u),n(u),u.o.values()},l.entries=function(){var u=this[B];return r(u),n(u),u.o.entries()},l.keys=function(){return this.values()},l[Ui]=function(){return this.values()},l.forEach=function(u,c){for(var f=this.values(),d=f.next();!d.done;)u.call(c,d.value,d.value,this),d=f.next()},a}();yy("MapSet",{N:function(a,l){return new o(a,l)},T:function(a,l){return new s(a,l)}})}var lf,fi,wu=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",ky=typeof Map<"u",Oy=typeof Set<"u",uf=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",_h=wu?Symbol.for("immer-nothing"):((lf={})["immer-nothing"]=!0,lf),cf=wu?Symbol.for("immer-draftable"):"__$immer_draftable",B=wu?Symbol.for("immer-state"):"__$immer_state",Ui=typeof Symbol<"u"&&Symbol.iterator||"@@iterator",Py=""+Object.prototype.constructor,xu=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Ey=Object.getOwnPropertyDescriptors||function(e){var t={};return xu(e).forEach(function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)}),t},il={},ol={get:function(e,t){if(t===B)return e;var n=le(e);if(!nl(n,t))return function(i,o,s){var a,l=sf(o,s);return l?"value"in l?l.value:(a=l.get)===null||a===void 0?void 0:a.call(i.k):void 0}(e,n,t);var r=n[t];return e.I||!Dt(r)?r:r===Ys(e.t,t)?(Js(e),e.o[t]=ci(e.A.h,r,e)):r},has:function(e,t){return t in le(e)},ownKeys:function(e){return Reflect.ownKeys(le(e))},set:function(e,t,n){var r=sf(le(e),t);if(r!=null&&r.set)return r.set.call(e.k,n),!0;if(!e.P){var i=Ys(le(e),t),o=i==null?void 0:i[B];if(o&&o.t===n)return e.o[t]=n,e.D[t]=!1,!0;if(my(n,i)&&(n!==void 0||nl(e.t,t)))return!0;Js(e),Ct(e)}return e.o[t]===n&&typeof n!="number"&&(n!==void 0||t in e.o)||(e.o[t]=n,e.D[t]=!0,!0)},deleteProperty:function(e,t){return Ys(e.t,t)!==void 0||t in e.t?(e.D[t]=!1,Js(e),Ct(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=le(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty:function(){Ke(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){Ke(12)}},Fr={};fr(ol,function(e,t){Fr[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),Fr.deleteProperty=function(e,t){return Fr.set.call(this,e,t,void 0)},Fr.set=function(e,t,n){return ol.set.call(this,e[0],t,n,e[0])};var Cy=function(){function e(n){var r=this;this.g=uf,this.F=!0,this.produce=function(i,o,s){if(typeof i=="function"&&typeof o!="function"){var a=o;o=i;var l=r;return function(y){var k=this;y===void 0&&(y=a);for(var v=arguments.length,p=Array(v>1?v-1:0),g=1;g1?c-1:0),d=1;d=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=yt("Patches").$;return cr(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),$e=new Cy,H=$e.produce;$e.produceWithPatches.bind($e);$e.setAutoFreeze.bind($e);$e.setUseProxies.bind($e);$e.applyPatches.bind($e);$e.createDraft.bind($e);$e.finishDraft.bind($e);function dr(){return dr=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}/** + */function Dy(){return null}function rt(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:ku(e)?2:Ou(e)?3:0}function ll(e,t){return Nr(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Fy(e,t){return Nr(e)===2?e.get(t):e[t]}function Qh(e,t,n){var r=Nr(e);r===2?e.set(t,n):r===3?(e.delete(t),e.add(n)):e[t]=n}function My(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function ku(e){return By&&e instanceof Map}function Ou(e){return Qy&&e instanceof Set}function fe(e){return e.o||e.t}function _u(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Vy(e);delete t[Q];for(var n=Ru(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=jy),Object.freeze(e),t&&Pr(e,function(n,r){return Eu(r,!0)},!0)),e}function jy(){rt(2)}function Cu(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Nt(e){var t=cl[e];return t||rt(18,e),t}function Ay(e,t){cl[e]||(cl[e]=t)}function Bo(){return wi}function Zs(e,t){t&&(Nt("Patches"),e.u=[],e.s=[],e.v=t)}function Qo(e){ul(e),e.p.forEach($y),e.p=null}function ul(e){e===wi&&(wi=e.l)}function xf(e){return wi={p:[],l:wi,h:e,m:!0,_:0}}function $y(e){var t=e[Q];t.i===0||t.i===1?t.j():t.O=!0}function ea(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.g||Nt("ES5").S(t,e,r),r?(n[Q].P&&(Qo(t),rt(4)),Kt(e)&&(e=Ho(t,e),t.l||Vo(t,e)),t.u&&Nt("Patches").M(n[Q].t,e,t.u,t.s)):e=Ho(t,n,[]),Qo(t),t.u&&t.v(t.u,t.s),e!==Hh?e:void 0}function Ho(e,t,n){if(Cu(t))return t;var r=t[Q];if(!r)return Pr(t,function(o,s){return Pf(e,r,t,o,s,n)},!0),t;if(r.A!==e)return t;if(!r.P)return Vo(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=_u(r.k):r.o;Pr(r.i===3?new Set(i):i,function(o,s){return Pf(e,r,i,o,s,n)}),Vo(e,i,!1),n&&e.u&&Nt("Patches").R(r,n,e.u,e.s)}return r.o}function Pf(e,t,n,r,i,o){if(xr(i)){var s=Ho(e,i,o&&t&&t.i!==3&&!ll(t.D,r)?o.concat(r):void 0);if(Qh(n,r,s),!xr(s))return;e.m=!1}if(Kt(i)&&!Cu(i)){if(!e.h.F&&e._<1)return;Ho(e,i),t&&t.A.l||Vo(e,i)}}function Vo(e,t,n){n===void 0&&(n=!1),e.h.F&&e.m&&Eu(t,n)}function ta(e,t){var n=e[Q];return(n?fe(n):e)[t]}function kf(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function $t(e){e.P||(e.P=!0,e.l&&$t(e.l))}function na(e){e.o||(e.o=_u(e.t))}function Si(e,t,n){var r=ku(t)?Nt("MapSet").N(t,n):Ou(t)?Nt("MapSet").T(t,n):e.g?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:Bo(),P:!1,I:!1,D:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=fl;s&&(l=[a],u=Hr);var c=Proxy.revocable(l,u),f=c.revoke,d=c.proxy;return a.k=d,a.j=f,d}(t,n):Nt("ES5").J(t,n);return(n?n.A:Bo()).p.push(r),r}function Uy(e){return xr(e)||rt(22,e),function t(n){if(!Kt(n))return n;var r,i=n[Q],o=Nr(n);if(i){if(!i.P&&(i.i<4||!Nt("ES5").K(i)))return i.t;i.I=!0,r=Of(n,o),i.I=!1}else r=Of(n,o);return Pr(r,function(s,a){i&&Fy(i.t,s)===a||Qh(r,s,t(a))}),o===3?new Set(r):r}(e)}function Of(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return _u(e)}function zy(){function e(a,l){function u(){this.constructor=a}i(a,l),a.prototype=(u.prototype=l.prototype,new u)}function t(a){a.o||(a.D=new Map,a.o=new Map(a.t))}function n(a){a.o||(a.o=new Set,a.t.forEach(function(l){if(Kt(l)){var u=Si(a.A.h,l,a);a.p.set(l,u),a.o.add(u)}else a.o.add(l)}))}function r(a){a.O&&rt(3,JSON.stringify(fe(a)))}var i=function(a,l){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,c){u.__proto__=c}||function(u,c){for(var f in c)c.hasOwnProperty(f)&&(u[f]=c[f])})(a,l)},o=function(){function a(u,c){return this[Q]={i:2,l:c,A:c?c.A:Bo(),P:!1,I:!1,o:void 0,D:void 0,t:u,k:this,C:!1,O:!1},this}e(a,Map);var l=a.prototype;return Object.defineProperty(l,"size",{get:function(){return fe(this[Q]).size}}),l.has=function(u){return fe(this[Q]).has(u)},l.set=function(u,c){var f=this[Q];return r(f),fe(f).has(u)&&fe(f).get(u)===c||(t(f),$t(f),f.D.set(u,!0),f.o.set(u,c),f.D.set(u,!0)),this},l.delete=function(u){if(!this.has(u))return!1;var c=this[Q];return r(c),t(c),$t(c),c.t.has(u)?c.D.set(u,!1):c.D.delete(u),c.o.delete(u),!0},l.clear=function(){var u=this[Q];r(u),fe(u).size&&(t(u),$t(u),u.D=new Map,Pr(u.t,function(c){u.D.set(c,!1)}),u.o.clear())},l.forEach=function(u,c){var f=this;fe(this[Q]).forEach(function(d,p){u.call(c,f.get(p),p,f)})},l.get=function(u){var c=this[Q];r(c);var f=fe(c).get(u);if(c.I||!Kt(f)||f!==c.t.get(u))return f;var d=Si(c.A.h,f,c);return t(c),c.o.set(u,d),d},l.keys=function(){return fe(this[Q]).keys()},l.values=function(){var u,c=this,f=this.keys();return(u={})[Gi]=function(){return c.values()},u.next=function(){var d=f.next();return d.done?d:{done:!1,value:c.get(d.value)}},u},l.entries=function(){var u,c=this,f=this.keys();return(u={})[Gi]=function(){return c.entries()},u.next=function(){var d=f.next();if(d.done)return d;var p=c.get(d.value);return{done:!1,value:[d.value,p]}},u},l[Gi]=function(){return this.entries()},a}(),s=function(){function a(u,c){return this[Q]={i:3,l:c,A:c?c.A:Bo(),P:!1,I:!1,o:void 0,t:u,k:this,p:new Map,O:!1,C:!1},this}e(a,Set);var l=a.prototype;return Object.defineProperty(l,"size",{get:function(){return fe(this[Q]).size}}),l.has=function(u){var c=this[Q];return r(c),c.o?!!c.o.has(u)||!(!c.p.has(u)||!c.o.has(c.p.get(u))):c.t.has(u)},l.add=function(u){var c=this[Q];return r(c),this.has(u)||(n(c),$t(c),c.o.add(u)),this},l.delete=function(u){if(!this.has(u))return!1;var c=this[Q];return r(c),n(c),$t(c),c.o.delete(u)||!!c.p.has(u)&&c.o.delete(c.p.get(u))},l.clear=function(){var u=this[Q];r(u),fe(u).size&&(n(u),$t(u),u.o.clear())},l.values=function(){var u=this[Q];return r(u),n(u),u.o.values()},l.entries=function(){var u=this[Q];return r(u),n(u),u.o.entries()},l.keys=function(){return this.values()},l[Gi]=function(){return this.values()},l.forEach=function(u,c){for(var f=this.values(),d=f.next();!d.done;)u.call(c,d.value,d.value,this),d=f.next()},a}();Ay("MapSet",{N:function(a,l){return new o(a,l)},T:function(a,l){return new s(a,l)}})}var _f,wi,bu=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",By=typeof Map<"u",Qy=typeof Set<"u",Ef=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Hh=bu?Symbol.for("immer-nothing"):((_f={})["immer-nothing"]=!0,_f),Cf=bu?Symbol.for("immer-draftable"):"__$immer_draftable",Q=bu?Symbol.for("immer-state"):"__$immer_state",Gi=typeof Symbol<"u"&&Symbol.iterator||"@@iterator",Hy=""+Object.prototype.constructor,Ru=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Vy=Object.getOwnPropertyDescriptors||function(e){var t={};return Ru(e).forEach(function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)}),t},cl={},fl={get:function(e,t){if(t===Q)return e;var n=fe(e);if(!ll(n,t))return function(i,o,s){var a,l=kf(o,s);return l?"value"in l?l.value:(a=l.get)===null||a===void 0?void 0:a.call(i.k):void 0}(e,n,t);var r=n[t];return e.I||!Kt(r)?r:r===ta(e.t,t)?(na(e),e.o[t]=Si(e.A.h,r,e)):r},has:function(e,t){return t in fe(e)},ownKeys:function(e){return Reflect.ownKeys(fe(e))},set:function(e,t,n){var r=kf(fe(e),t);if(r!=null&&r.set)return r.set.call(e.k,n),!0;if(!e.P){var i=ta(fe(e),t),o=i==null?void 0:i[Q];if(o&&o.t===n)return e.o[t]=n,e.D[t]=!1,!0;if(My(n,i)&&(n!==void 0||ll(e.t,t)))return!0;na(e),$t(e)}return e.o[t]===n&&typeof n!="number"&&(n!==void 0||t in e.o)||(e.o[t]=n,e.D[t]=!0,!0)},deleteProperty:function(e,t){return ta(e.t,t)!==void 0||t in e.t?(e.D[t]=!1,na(e),$t(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=fe(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty:function(){rt(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){rt(12)}},Hr={};Pr(fl,function(e,t){Hr[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),Hr.deleteProperty=function(e,t){return Hr.set.call(this,e,t,void 0)},Hr.set=function(e,t,n){return fl.set.call(this,e[0],t,n,e[0])};var qy=function(){function e(n){var r=this;this.g=Ef,this.F=!0,this.produce=function(i,o,s){if(typeof i=="function"&&typeof o!="function"){var a=o;o=i;var l=r;return function(y){var x=this;y===void 0&&(y=a);for(var v=arguments.length,h=Array(v>1?v-1:0),m=1;m1?c-1:0),d=1;d=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Nt("Patches").$;return xr(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Ge=new qy,A=Ge.produce;Ge.produceWithPatches.bind(Ge);Ge.setAutoFreeze.bind(Ge);Ge.setUseProxies.bind(Ge);Ge.applyPatches.bind(Ge);Ge.createDraft.bind(Ge);Ge.finishDraft.bind(Ge);function kr(){return kr=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}/** * react-location * * Copyright (c) TanStack @@ -72,7 +72,7 @@ Error generating stack: `+o.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function st(){return st=Object.assign||function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function Iy(e,t){var n,r,i,o="";for(n in e)if((i=e[n])!==void 0)if(Array.isArray(i))for(r=0;rLh?Ry():Ny();class ku{constructor(){this.listeners=[]}subscribe(t){return this.listeners.push(t),()=>{this.listeners=this.listeners.filter(n=>n!==t)}}notify(){this.listeners.forEach(t=>t())}}class My extends ku{constructor(t){var n,r;super(),this.isTransitioning=!1,this.history=(t==null?void 0:t.history)||Fy(),this.stringifySearch=(n=t==null?void 0:t.stringifySearch)!=null?n:Gy,this.parseSearch=(r=t==null?void 0:t.parseSearch)!=null?r:Wy,this.current=this.parseLocation(this.history.location),this.destroy=this.history.listen(i=>{this.current=this.parseLocation(i.location,this.current),this.notify()})}buildNext(t,n){var r,i,o,s;t===void 0&&(t="/"),n===void 0&&(n={});const a=st({},this.current,n.from),l=qy(t,a.pathname,""+((r=n.to)!=null?r:".")),u=(i=n.__searchFilters)!=null&&i.length?n.__searchFilters.reduce((h,y)=>y(h),a.search):a.search,c=n.search===!0?u:n.search?(o=vf(n.search,u))!=null?o:{}:(s=n.__searchFilters)!=null&&s.length?u:{},f=cl(a.search,c),d=this.stringifySearch(f);let m=n.hash===!0?a.hash:vf(n.hash,a.hash);return m=m?"#"+m:"",{pathname:l,search:f,searchStr:d,hash:m,href:""+l+d+m,key:n.key}}navigate(t,n){this.current=t,this.navigateTimeout&&clearTimeout(this.navigateTimeout);let r="replace";return n||(r="push"),this.parseLocation(this.history.location).href===this.current.href&&!this.current.key&&(r="replace"),r==="replace"?this.history.replace({pathname:this.current.pathname,hash:this.current.hash,search:this.current.searchStr}):this.history.push({pathname:this.current.pathname,hash:this.current.hash,search:this.current.searchStr})}parseLocation(t,n){var r;const i=this.parseSearch(t.search);return{pathname:t.pathname,searchStr:t.search,search:cl(n==null?void 0:n.search,i),hash:(r=t.hash.split("#").reverse()[0])!=null?r:"",href:""+t.pathname+t.search+t.hash,key:t.key}}}function Th(e){return x(Ih.Provider,{...e})}function jy(e){let{children:t,location:n,__experimental__snapshot:r}=e,i=ll(e,Ly);const o=_.exports.useRef(null);o.current||(o.current=new $y({location:n,__experimental__snapshot:r,routes:i.routes}));const s=o.current,[a,l]=_.exports.useReducer(()=>({}),{});return s.update(i),ul(()=>s.subscribe(()=>{l()}),[]),ul(()=>s.updateLocation(n.current).unsubscribe,[n.current.key]),_.exports.createElement(Nh.Provider,{value:{location:n}},_.exports.createElement(bh.Provider,{value:{router:s}},x(Ay,{}),x(Th,{value:[s.rootMatch,...s.state.matches],children:t!=null?t:x($h,{})})))}function Ay(){const e=Ou(),t=Ah(),n=By();return ul(()=>{t({to:".",search:!0,hash:!0}).href!==e.current.href&&n({to:".",search:!0,hash:!0,fromCurrent:!0,replace:!0})},[]),null}class $y extends ku{constructor(t){var n;let{location:r,__experimental__snapshot:i}=t,o=ll(t,Ty);super(),this.routesById={},this.update=a=>{let{basepath:l,routes:u}=a,c=ll(a,Dy);Object.assign(this,c),this.basepath=fs("/"+(l!=null?l:"")),this.routesById={};const f=(d,m)=>d.map(h=>{var y,k,v,p;const g=(y=h.path)!=null?y:"*",S=pr([(m==null?void 0:m.id)==="root"?"":m==null?void 0:m.id,""+(g==null?void 0:g.replace(/(.)\/$/,"$1"))+(h.id?"-"+h.id:"")]);if(h=st({},h,{pendingMs:(k=h.pendingMs)!=null?k:c==null?void 0:c.defaultPendingMs,pendingMinMs:(v=h.pendingMinMs)!=null?v:c==null?void 0:c.defaultPendingMinMs,id:S}),this.routesById[S])throw new Error;return this.routesById[S]=h,h.children=(p=h.children)!=null&&p.length?f(h.children,h):void 0,h});this.routes=f(u),this.rootMatch={id:"root",params:{},search:{},pathname:this.basepath,route:null,ownData:{},data:{},isLoading:!1,status:"resolved"}},this.setState=a=>{const l=a({state:this.state,pending:this.pending});this.state=l.state,this.pending=l.pending,this.cleanMatchCache(),this.notify()},this.matchCache={},this.cleanMatchCache=()=>{var a,l,u;const c=[...(a=this==null?void 0:this.state.matches)!=null?a:[],...(l=this==null||(u=this.pending)==null?void 0:u.matches)!=null?l:[]].map(f=>f.id);Object.values(this.matchCache).forEach(f=>{var d;if(!f.updatedAt||c.includes(f.id))return;const m=Date.now()-((d=f.updatedAt)!=null?d:0);(!f.maxAge||m>f.maxAge)&&(f.route.unloader&&f.route.unloader(f),delete this.matchCache[f.id])})},this.updateLocation=a=>{let l;return{promise:new Promise(c=>{const f=new gf(this,a);this.setState(d=>st({},d,{pending:{location:f.location,matches:f.matches}})),l=f.subscribe(()=>{const d=this.state.matches;d.filter(m=>!f.matches.find(h=>h.id===m.id)).forEach(m=>{m.onExit==null||m.onExit(m)}),d.filter(m=>f.matches.find(h=>h.id===m.id)).forEach(m=>{m.route.onTransition==null||m.route.onTransition(m)}),f.matches.filter(m=>!d.find(h=>h.id===m.id)).forEach(m=>{m.onExit=m.route.onMatch==null?void 0:m.route.onMatch(m)}),this.setState(m=>st({},m,{state:{location:f.location,matches:f.matches},pending:void 0})),c()}),f.loadData(),f.startPending()}),unsubscribe:l}},this.__experimental__createSnapshot=()=>({location:this.state.location,matches:this.state.matches.map(a=>{let{ownData:l,id:u}=a;return{id:u,ownData:l}})}),this.update(o);let s=[];if(i){const a=new gf(this,r.current);a.matches.forEach((l,u)=>{var c,f,d;if(l.id!==((c=i.matches[u])==null?void 0:c.id)){var m;throw new Error("Router hydration mismatch: "+l.id+" !== "+((m=i.matches[u])==null?void 0:m.id))}l.ownData=(f=(d=i.matches[u])==null?void 0:d.ownData)!=null?f:{}}),Dh(a.matches),s=a.matches}this.state={location:(n=i==null?void 0:i.location)!=null?n:r.current,matches:s},r.subscribe(()=>this.notify())}}function Ou(){const e=_.exports.useContext(Nh);return Uh(!!e,"useLocation must be used within a "),e.location}class Uy{constructor(t){this.status="loading",this.ownData={},this.data={},this.isLoading=!1,this.notify=n=>{var r;(r=this.matchLoader)==null||r.preNotify(n?this:void 0)},this.assignMatchLoader=n=>{this.matchLoader=n},this.startPending=()=>{this.pendingTimeout&&clearTimeout(this.pendingTimeout),this.route.pendingMs!==void 0&&(this.pendingTimeout=setTimeout(()=>{var n;this.status==="loading"&&(this.status="pending"),(n=this.notify)==null||n.call(this),typeof this.route.pendingMinMs<"u"&&(this.pendingMinPromise=new Promise(r=>setTimeout(r,this.route.pendingMinMs)))},this.route.pendingMs))},this.load=n=>{var r,i;if(this.maxAge=(r=(i=n.maxAge)!=null?i:this.route.loaderMaxAge)!=null?r:n.router.defaultLoaderMaxAge,this.loaderPromise)return;const o=this.route.import;this.loaderPromise=(o?(()=>(this.isLoading=!0,o({params:this.params,search:this.search}).then(s=>{this.route=st({},this.route,s)})))():Promise.resolve()).then(()=>{const s=[];["element","errorElement","pendingElement"].forEach(c=>{const f=this.route[c];this[c]||(typeof f=="function"?(this.isLoading=!0,s.push(f(this).then(d=>{this[c]=d}))):this[c]=this.route[c])});const l=this.route.loader,u=l?new Promise(async c=>{this.isLoading=!0;const f=h=>{this.updatedAt=Date.now(),c(this.ownData),this.status=h},d=h=>{this.ownData=h,this.error=void 0,f("resolved")},m=h=>{console.error(h),this.error=h,f("rejected")};try{d(await l(this,{parentMatch:n.parentMatch,dispatch:async h=>{var y;h.type==="resolve"?d(h.data):h.type==="reject"?m(h.error):h.type==="loading"?this.isLoading=!0:h.type==="maxAge"&&(this.maxAge=h.maxAge),this.updatedAt=Date.now(),(y=this.notify)==null||y.call(this,!0)}}))}catch(h){m(h)}}):Promise.resolve();return Promise.all([...s,u]).then(()=>{this.status="resolved",this.isLoading=!1,this.startPending=void 0}).then(()=>this.pendingMinPromise).then(()=>{var c;this.pendingTimeout&&clearTimeout(this.pendingTimeout),(c=this.notify)==null||c.call(this,!0)})}).then(()=>this.ownData)},Object.assign(this,t)}}class gf extends ku{constructor(t,n){var r;super(),r=this,this.preNotifiedMatches=[],this.status="pending",this.preNotify=o=>{o&&(this.preNotifiedMatches.includes(o)||this.preNotifiedMatches.push(o)),(!o||this.preNotifiedMatches.length===this.matches.length)&&(this.status="resolved",Dh(this.matches),this.notify())},this.loadData=async function(o){var s;let{maxAge:a}=o===void 0?{}:o;if(r.router.cleanMatchCache(),!((s=r.matches)!=null&&s.length)){r.preNotify();return}return r.firstRenderPromises=[],r.matches.forEach((l,u)=>{var c,f;const d=(c=r.matches)==null?void 0:c[u-1];l.assignMatchLoader==null||l.assignMatchLoader(r),l.load==null||l.load({maxAge:a,parentMatch:d,router:r.router}),(f=r.firstRenderPromises)==null||f.push(l.loaderPromise)}),await Promise.all(r.firstRenderPromises).then(()=>(r.preNotify(),r.matches))},this.load=async function(o){let{maxAge:s}=o===void 0?{}:o;return await r.loadData({maxAge:s})},this.startPending=async()=>{this.matches.forEach(o=>o.startPending==null?void 0:o.startPending())},this.router=t,this.location=n,this.matches=[];const i=Mh(this.router,this.location);this.matches=i==null?void 0:i.map(o=>(this.router.matchCache[o.id]||(this.router.matchCache[o.id]=new Uy(o)),this.router.matchCache[o.id]))}}function Dh(e){e==null||e.forEach((t,n)=>{var r;const i=e==null?void 0:e[n-1];t.data=st({},(r=i==null?void 0:i.data)!=null?r:{},t.ownData)})}function Fh(){const e=_.exports.useContext(bh);if(!e)throw Uh(!0,"You are trying to use useRouter() outside of ReactLocation!"),new Error;return e.router}function Mh(e,t){if(!e.routes.length)return[];const n=[],r=async(i,o)=>{var s;let{pathname:a,params:l}=o;const c=(e!=null&&e.filterRoutes?e==null?void 0:e.filterRoutes(i):i).find(h=>{var y,k;const v=pr([a,h.path]),p=!!(h.path!=="/"||(y=h.children)!=null&&y.length),g=Hy(t,{to:v,search:h.search,fuzzy:p,caseSensitive:(k=h.caseSensitive)!=null?k:e.caseSensitive});return g&&(l=st({},l,g)),!!g});if(!c)return;const f=mf(c.path,l);a=pr([a,f]);const m={id:mf(c.id,l,!0),route:c,params:l,pathname:a,search:t.search};n.push(m),(s=c.children)!=null&&s.length&&r(c.children,m)};return r(e.routes,e.rootMatch),n}function mf(e,t,n){const r=di(e);return pr(r.map(i=>{if(i.value==="*"&&!n)return"";if(i.type==="param"){var o;return(o=t[i.value.substring(1)])!=null?o:""}return i.value}))}function jh(){return _.exports.useContext(Ih)}function zy(){var e;return(e=jh())==null?void 0:e[0]}function By(){const e=Ou(),t=zy(),n=Ah();function r(i){var o;let{search:s,hash:a,replace:l,from:u,to:c,fromCurrent:f}=i;f=(o=f)!=null?o:typeof c>"u";const d=n({to:c,search:s,hash:a,from:f?e.current:u!=null?u:{pathname:t.pathname}});e.navigate(d,l)}return zh(r)}function Ah(){const e=Ou(),t=Fh();return zh(r=>{const i=e.buildNext(t.basepath,r),s=Mh(t,i).map(a=>{var l;return(l=a.route.searchFilters)!=null?l:[]}).flat().filter(Boolean);return e.buildNext(t.basepath,st({},r,{__searchFilters:s}))})}function $h(){var e;const t=Fh(),[n,...r]=jh(),i=r[0];if(!i)return null;const o=(e=i.errorElement)!=null?e:t.defaultErrorElement,s=(()=>{var a,l;if(i.status==="rejected"){if(o)return o;if(!t.useErrorBoundary)return"An unknown error occured!";throw i.error}const u=(a=i.pendingElement)!=null?a:t.defaultPendingElement;if(i.status==="loading")return null;if(i.status==="pending"&&(i.route.pendingMs||u))return u!=null?u:null;const c=(l=i.element)!=null?l:t.defaultElement;return c!=null?c:x($h,{})})();return x(Th,{value:r,children:s})}function Hy(e,t){const n=Vy(e,t),r=Ky(e,t);if(!(t.to&&!n)&&!(t.search&&!r))return n!=null?n:{}}function Uh(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Qy(e){return typeof e=="function"}function vf(e,t){return Qy(e)?e(t):e}function pr(e){return fs(e.filter(Boolean).join("/"))}function fs(e){return(""+e).replace(/\/{2,}/g,"/")}function Vy(e,t){var n;const r=di(e.pathname),i=di(""+((n=t.to)!=null?n:"*")),o={};return(()=>{for(let a=0;ad.value)),!0):!1;if(u.type==="pathname"){if(u.value==="/"&&!(l!=null&&l.value))return!0;if(l){if(t.caseSensitive){if(u.value!==l.value)return!1}else if(u.value.toLowerCase()!==l.value.toLowerCase())return!1}}if(!l)return!1;u.type==="param"&&(o[u.value.substring(1)]=l.value)}if(c&&!f)return!!t.fuzzy}return!0})()?o:void 0}function Ky(e,t){return!!(t.search&&t.search(e.search))}function di(e){if(!e)return[];e=fs(e);const t=[];if(e.slice(0,1)==="/"&&(e=e.substring(1),t.push({type:"pathname",value:"/"})),!e)return t;const n=e.split("/").filter(Boolean);return t.push(...n.map(r=>r.startsWith("*")?{type:"wildcard",value:r}:r.charAt(0)===":"?{type:"param",value:r}:{type:"pathname",value:r})),e.slice(-1)==="/"&&(e=e.substring(1),t.push({type:"pathname",value:"/"})),t}function qy(e,t,n){t=t.replace(new RegExp("^"+e),"/"),n=n.replace(new RegExp("^"+e),"/");let r=di(t);const i=di(n);i.forEach((s,a)=>{if(s.value==="/")a?a===i.length-1&&r.push(s):r=[s];else if(s.value==="..")r.pop();else{if(s.value===".")return;r.push(s)}});const o=pr([e,...r.map(s=>s.value)]);return fs(o)}function zh(e){const t=_.exports.useRef(),n=_.exports.useRef(e);return n.current=e,t.current||(t.current=function(){return n.current(...arguments)}),t.current}function cl(e,t){if(e===t)return e;const n=Array.isArray(e)&&Array.isArray(t);if(n||yf(e)&&yf(t)){const r=n?e.length:Object.keys(e).length,i=n?t:Object.keys(t),o=i.length,s=n?[]:{};let a=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!Sf(n)||!n.hasOwnProperty("isPrototypeOf"))}function Sf(e){return Object.prototype.toString.call(e)==="[object Object]"}const Wy=Yy(JSON.parse),Gy=Jy(JSON.stringify);function Yy(e){return t=>{t.substring(0,1)==="?"&&(t=t.substring(1));let n=by(t);for(let r in n){const i=n[r];if(typeof i=="string")try{n[r]=e(i)}catch{}}return n}}function Jy(e){return t=>{t=st({},t),t&&Object.keys(t).forEach(r=>{const i=t[r];if(typeof i>"u"||i===void 0)delete t[r];else if(i&&typeof i=="object"&&i!==null)try{t[r]=e(i)}catch{}});const n=Iy(t).toString();return n?"?"+n:""}}var Xy="_1qevocv0",Zy="_1qevocv2",e0="_1qevocv3",t0="_1qevocv4",n0="_1qevocv1";const xt="",r0=5e3,i0=async()=>{const e=`${xt}/ping`;return await(await fetch(e)).json()},o0=async()=>await(await fetch(`${xt}/modifiers.json`)).json(),s0=async()=>(await(await fetch(`${xt}/output_dir`)).json())[0],fl="config",Bh=async()=>await(await fetch(`${xt}/app_config`)).json(),a0="toggle_config",l0=async e=>await(await fetch(`${xt}/app_config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({update_branch:e})})).json(),u0=async e=>await fetch(`${xt}/image`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),c0=[["Drawing Style",["Cel Shading","Children's Drawing","Crosshatch","Detailed and Intricate","Doodle","Dot Art","Line Art","Sketch"]],["Visual Style",["2D","8-bit","16-bit","Anaglyph","Anime","CGI"]]],wf=e=>{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(c!==t){const f=t;t=(u!=null?u:typeof c!="object")?c:Object.assign({},t,c),n.forEach(d=>d(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>n.clear()};return t=e(r,i,a),a},f0=e=>e?wf(e):wf;var Hh={exports:{}},Qh={};/** + */function mt(){return mt=Object.assign||function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function Yy(e,t){var n,r,i,o="";for(n in e)if((i=e[n])!==void 0)if(Array.isArray(i))for(r=0;rGh?Wy():Gy();class Nu{constructor(){this.listeners=[]}subscribe(t){return this.listeners.push(t),()=>{this.listeners=this.listeners.filter(n=>n!==t)}}notify(){this.listeners.forEach(t=>t())}}class n0 extends Nu{constructor(t){var n,r;super(),this.isTransitioning=!1,this.history=(t==null?void 0:t.history)||t0(),this.stringifySearch=(n=t==null?void 0:t.stringifySearch)!=null?n:g0,this.parseSearch=(r=t==null?void 0:t.parseSearch)!=null?r:h0,this.current=this.parseLocation(this.history.location),this.destroy=this.history.listen(i=>{this.current=this.parseLocation(i.location,this.current),this.notify()})}buildNext(t,n){var r,i,o,s;t===void 0&&(t="/"),n===void 0&&(n={});const a=mt({},this.current,n.from),l=p0(t,a.pathname,""+((r=n.to)!=null?r:".")),u=(i=n.__searchFilters)!=null&&i.length?n.__searchFilters.reduce((g,y)=>y(g),a.search):a.search,c=n.search===!0?u:n.search?(o=Df(n.search,u))!=null?o:{}:(s=n.__searchFilters)!=null&&s.length?u:{},f=ml(a.search,c),d=this.stringifySearch(f);let p=n.hash===!0?a.hash:Df(n.hash,a.hash);return p=p?"#"+p:"",{pathname:l,search:f,searchStr:d,hash:p,href:""+l+d+p,key:n.key}}navigate(t,n){this.current=t,this.navigateTimeout&&clearTimeout(this.navigateTimeout);let r="replace";return n||(r="push"),this.parseLocation(this.history.location).href===this.current.href&&!this.current.key&&(r="replace"),r==="replace"?this.history.replace({pathname:this.current.pathname,hash:this.current.hash,search:this.current.searchStr}):this.history.push({pathname:this.current.pathname,hash:this.current.hash,search:this.current.searchStr})}parseLocation(t,n){var r;const i=this.parseSearch(t.search);return{pathname:t.pathname,searchStr:t.search,search:ml(n==null?void 0:n.search,i),hash:(r=t.hash.split("#").reverse()[0])!=null?r:"",href:""+t.pathname+t.search+t.hash,key:t.key}}}function Yh(e){return w(Kh.Provider,{...e})}function r0(e){let{children:t,location:n,__experimental__snapshot:r}=e,i=hl(e,Xy);const o=P.exports.useRef(null);o.current||(o.current=new o0({location:n,__experimental__snapshot:r,routes:i.routes}));const s=o.current,[a,l]=P.exports.useReducer(()=>({}),{});return s.update(i),gl(()=>s.subscribe(()=>{l()}),[]),gl(()=>s.updateLocation(n.current).unsubscribe,[n.current.key]),P.exports.createElement(qh.Provider,{value:{location:n}},P.exports.createElement(Wh.Provider,{value:{router:s}},w(i0,{}),w(Yh,{value:[s.rootMatch,...s.state.matches],children:t!=null?t:w(ng,{})})))}function i0(){const e=Tu(),t=tg(),n=l0();return gl(()=>{t({to:".",search:!0,hash:!0}).href!==e.current.href&&n({to:".",search:!0,hash:!0,fromCurrent:!0,replace:!0})},[]),null}class o0 extends Nu{constructor(t){var n;let{location:r,__experimental__snapshot:i}=t,o=hl(t,Zy);super(),this.routesById={},this.update=a=>{let{basepath:l,routes:u}=a,c=hl(a,e0);Object.assign(this,c),this.basepath=ys("/"+(l!=null?l:"")),this.routesById={};const f=(d,p)=>d.map(g=>{var y,x,v,h;const m=(y=g.path)!=null?y:"*",S=Or([(p==null?void 0:p.id)==="root"?"":p==null?void 0:p.id,""+(m==null?void 0:m.replace(/(.)\/$/,"$1"))+(g.id?"-"+g.id:"")]);if(g=mt({},g,{pendingMs:(x=g.pendingMs)!=null?x:c==null?void 0:c.defaultPendingMs,pendingMinMs:(v=g.pendingMinMs)!=null?v:c==null?void 0:c.defaultPendingMinMs,id:S}),this.routesById[S])throw new Error;return this.routesById[S]=g,g.children=(h=g.children)!=null&&h.length?f(g.children,g):void 0,g});this.routes=f(u),this.rootMatch={id:"root",params:{},search:{},pathname:this.basepath,route:null,ownData:{},data:{},isLoading:!1,status:"resolved"}},this.setState=a=>{const l=a({state:this.state,pending:this.pending});this.state=l.state,this.pending=l.pending,this.cleanMatchCache(),this.notify()},this.matchCache={},this.cleanMatchCache=()=>{var a,l,u;const c=[...(a=this==null?void 0:this.state.matches)!=null?a:[],...(l=this==null||(u=this.pending)==null?void 0:u.matches)!=null?l:[]].map(f=>f.id);Object.values(this.matchCache).forEach(f=>{var d;if(!f.updatedAt||c.includes(f.id))return;const p=Date.now()-((d=f.updatedAt)!=null?d:0);(!f.maxAge||p>f.maxAge)&&(f.route.unloader&&f.route.unloader(f),delete this.matchCache[f.id])})},this.updateLocation=a=>{let l;return{promise:new Promise(c=>{const f=new If(this,a);this.setState(d=>mt({},d,{pending:{location:f.location,matches:f.matches}})),l=f.subscribe(()=>{const d=this.state.matches;d.filter(p=>!f.matches.find(g=>g.id===p.id)).forEach(p=>{p.onExit==null||p.onExit(p)}),d.filter(p=>f.matches.find(g=>g.id===p.id)).forEach(p=>{p.route.onTransition==null||p.route.onTransition(p)}),f.matches.filter(p=>!d.find(g=>g.id===p.id)).forEach(p=>{p.onExit=p.route.onMatch==null?void 0:p.route.onMatch(p)}),this.setState(p=>mt({},p,{state:{location:f.location,matches:f.matches},pending:void 0})),c()}),f.loadData(),f.startPending()}),unsubscribe:l}},this.__experimental__createSnapshot=()=>({location:this.state.location,matches:this.state.matches.map(a=>{let{ownData:l,id:u}=a;return{id:u,ownData:l}})}),this.update(o);let s=[];if(i){const a=new If(this,r.current);a.matches.forEach((l,u)=>{var c,f,d;if(l.id!==((c=i.matches[u])==null?void 0:c.id)){var p;throw new Error("Router hydration mismatch: "+l.id+" !== "+((p=i.matches[u])==null?void 0:p.id))}l.ownData=(f=(d=i.matches[u])==null?void 0:d.ownData)!=null?f:{}}),Jh(a.matches),s=a.matches}this.state={location:(n=i==null?void 0:i.location)!=null?n:r.current,matches:s},r.subscribe(()=>this.notify())}}function Tu(){const e=P.exports.useContext(qh);return rg(!!e,"useLocation must be used within a "),e.location}class s0{constructor(t){this.status="loading",this.ownData={},this.data={},this.isLoading=!1,this.notify=n=>{var r;(r=this.matchLoader)==null||r.preNotify(n?this:void 0)},this.assignMatchLoader=n=>{this.matchLoader=n},this.startPending=()=>{this.pendingTimeout&&clearTimeout(this.pendingTimeout),this.route.pendingMs!==void 0&&(this.pendingTimeout=setTimeout(()=>{var n;this.status==="loading"&&(this.status="pending"),(n=this.notify)==null||n.call(this),typeof this.route.pendingMinMs<"u"&&(this.pendingMinPromise=new Promise(r=>setTimeout(r,this.route.pendingMinMs)))},this.route.pendingMs))},this.load=n=>{var r,i;if(this.maxAge=(r=(i=n.maxAge)!=null?i:this.route.loaderMaxAge)!=null?r:n.router.defaultLoaderMaxAge,this.loaderPromise)return;const o=this.route.import;this.loaderPromise=(o?(()=>(this.isLoading=!0,o({params:this.params,search:this.search}).then(s=>{this.route=mt({},this.route,s)})))():Promise.resolve()).then(()=>{const s=[];["element","errorElement","pendingElement"].forEach(c=>{const f=this.route[c];this[c]||(typeof f=="function"?(this.isLoading=!0,s.push(f(this).then(d=>{this[c]=d}))):this[c]=this.route[c])});const l=this.route.loader,u=l?new Promise(async c=>{this.isLoading=!0;const f=g=>{this.updatedAt=Date.now(),c(this.ownData),this.status=g},d=g=>{this.ownData=g,this.error=void 0,f("resolved")},p=g=>{console.error(g),this.error=g,f("rejected")};try{d(await l(this,{parentMatch:n.parentMatch,dispatch:async g=>{var y;g.type==="resolve"?d(g.data):g.type==="reject"?p(g.error):g.type==="loading"?this.isLoading=!0:g.type==="maxAge"&&(this.maxAge=g.maxAge),this.updatedAt=Date.now(),(y=this.notify)==null||y.call(this,!0)}}))}catch(g){p(g)}}):Promise.resolve();return Promise.all([...s,u]).then(()=>{this.status="resolved",this.isLoading=!1,this.startPending=void 0}).then(()=>this.pendingMinPromise).then(()=>{var c;this.pendingTimeout&&clearTimeout(this.pendingTimeout),(c=this.notify)==null||c.call(this,!0)})}).then(()=>this.ownData)},Object.assign(this,t)}}class If extends Nu{constructor(t,n){var r;super(),r=this,this.preNotifiedMatches=[],this.status="pending",this.preNotify=o=>{o&&(this.preNotifiedMatches.includes(o)||this.preNotifiedMatches.push(o)),(!o||this.preNotifiedMatches.length===this.matches.length)&&(this.status="resolved",Jh(this.matches),this.notify())},this.loadData=async function(o){var s;let{maxAge:a}=o===void 0?{}:o;if(r.router.cleanMatchCache(),!((s=r.matches)!=null&&s.length)){r.preNotify();return}return r.firstRenderPromises=[],r.matches.forEach((l,u)=>{var c,f;const d=(c=r.matches)==null?void 0:c[u-1];l.assignMatchLoader==null||l.assignMatchLoader(r),l.load==null||l.load({maxAge:a,parentMatch:d,router:r.router}),(f=r.firstRenderPromises)==null||f.push(l.loaderPromise)}),await Promise.all(r.firstRenderPromises).then(()=>(r.preNotify(),r.matches))},this.load=async function(o){let{maxAge:s}=o===void 0?{}:o;return await r.loadData({maxAge:s})},this.startPending=async()=>{this.matches.forEach(o=>o.startPending==null?void 0:o.startPending())},this.router=t,this.location=n,this.matches=[];const i=Zh(this.router,this.location);this.matches=i==null?void 0:i.map(o=>(this.router.matchCache[o.id]||(this.router.matchCache[o.id]=new s0(o)),this.router.matchCache[o.id]))}}function Jh(e){e==null||e.forEach((t,n)=>{var r;const i=e==null?void 0:e[n-1];t.data=mt({},(r=i==null?void 0:i.data)!=null?r:{},t.ownData)})}function Xh(){const e=P.exports.useContext(Wh);if(!e)throw rg(!0,"You are trying to use useRouter() outside of ReactLocation!"),new Error;return e.router}function Zh(e,t){if(!e.routes.length)return[];const n=[],r=async(i,o)=>{var s;let{pathname:a,params:l}=o;const c=(e!=null&&e.filterRoutes?e==null?void 0:e.filterRoutes(i):i).find(g=>{var y,x;const v=Or([a,g.path]),h=!!(g.path!=="/"||(y=g.children)!=null&&y.length),m=u0(t,{to:v,search:g.search,fuzzy:h,caseSensitive:(x=g.caseSensitive)!=null?x:e.caseSensitive});return m&&(l=mt({},l,m)),!!m});if(!c)return;const f=Lf(c.path,l);a=Or([a,f]);const p={id:Lf(c.id,l,!0),route:c,params:l,pathname:a,search:t.search};n.push(p),(s=c.children)!=null&&s.length&&r(c.children,p)};return r(e.routes,e.rootMatch),n}function Lf(e,t,n){const r=xi(e);return Or(r.map(i=>{if(i.value==="*"&&!n)return"";if(i.type==="param"){var o;return(o=t[i.value.substring(1)])!=null?o:""}return i.value}))}function eg(){return P.exports.useContext(Kh)}function a0(){var e;return(e=eg())==null?void 0:e[0]}function l0(){const e=Tu(),t=a0(),n=tg();function r(i){var o;let{search:s,hash:a,replace:l,from:u,to:c,fromCurrent:f}=i;f=(o=f)!=null?o:typeof c>"u";const d=n({to:c,search:s,hash:a,from:f?e.current:u!=null?u:{pathname:t.pathname}});e.navigate(d,l)}return ig(r)}function tg(){const e=Tu(),t=Xh();return ig(r=>{const i=e.buildNext(t.basepath,r),s=Zh(t,i).map(a=>{var l;return(l=a.route.searchFilters)!=null?l:[]}).flat().filter(Boolean);return e.buildNext(t.basepath,mt({},r,{__searchFilters:s}))})}function ng(){var e;const t=Xh(),[n,...r]=eg(),i=r[0];if(!i)return null;const o=(e=i.errorElement)!=null?e:t.defaultErrorElement,s=(()=>{var a,l;if(i.status==="rejected"){if(o)return o;if(!t.useErrorBoundary)return"An unknown error occured!";throw i.error}const u=(a=i.pendingElement)!=null?a:t.defaultPendingElement;if(i.status==="loading")return null;if(i.status==="pending"&&(i.route.pendingMs||u))return u!=null?u:null;const c=(l=i.element)!=null?l:t.defaultElement;return c!=null?c:w(ng,{})})();return w(Yh,{value:r,children:s})}function u0(e,t){const n=f0(e,t),r=d0(e,t);if(!(t.to&&!n)&&!(t.search&&!r))return n!=null?n:{}}function rg(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function c0(e){return typeof e=="function"}function Df(e,t){return c0(e)?e(t):e}function Or(e){return ys(e.filter(Boolean).join("/"))}function ys(e){return(""+e).replace(/\/{2,}/g,"/")}function f0(e,t){var n;const r=xi(e.pathname),i=xi(""+((n=t.to)!=null?n:"*")),o={};return(()=>{for(let a=0;ad.value)),!0):!1;if(u.type==="pathname"){if(u.value==="/"&&!(l!=null&&l.value))return!0;if(l){if(t.caseSensitive){if(u.value!==l.value)return!1}else if(u.value.toLowerCase()!==l.value.toLowerCase())return!1}}if(!l)return!1;u.type==="param"&&(o[u.value.substring(1)]=l.value)}if(c&&!f)return!!t.fuzzy}return!0})()?o:void 0}function d0(e,t){return!!(t.search&&t.search(e.search))}function xi(e){if(!e)return[];e=ys(e);const t=[];if(e.slice(0,1)==="/"&&(e=e.substring(1),t.push({type:"pathname",value:"/"})),!e)return t;const n=e.split("/").filter(Boolean);return t.push(...n.map(r=>r.startsWith("*")?{type:"wildcard",value:r}:r.charAt(0)===":"?{type:"param",value:r}:{type:"pathname",value:r})),e.slice(-1)==="/"&&(e=e.substring(1),t.push({type:"pathname",value:"/"})),t}function p0(e,t,n){t=t.replace(new RegExp("^"+e),"/"),n=n.replace(new RegExp("^"+e),"/");let r=xi(t);const i=xi(n);i.forEach((s,a)=>{if(s.value==="/")a?a===i.length-1&&r.push(s):r=[s];else if(s.value==="..")r.pop();else{if(s.value===".")return;r.push(s)}});const o=Or([e,...r.map(s=>s.value)]);return ys(o)}function ig(e){const t=P.exports.useRef(),n=P.exports.useRef(e);return n.current=e,t.current||(t.current=function(){return n.current(...arguments)}),t.current}function ml(e,t){if(e===t)return e;const n=Array.isArray(e)&&Array.isArray(t);if(n||Ff(e)&&Ff(t)){const r=n?e.length:Object.keys(e).length,i=n?t:Object.keys(t),o=i.length,s=n?[]:{};let a=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!Mf(n)||!n.hasOwnProperty("isPrototypeOf"))}function Mf(e){return Object.prototype.toString.call(e)==="[object Object]"}const h0=m0(JSON.parse),g0=v0(JSON.stringify);function m0(e){return t=>{t.substring(0,1)==="?"&&(t=t.substring(1));let n=Jy(t);for(let r in n){const i=n[r];if(typeof i=="string")try{n[r]=e(i)}catch{}}return n}}function v0(e){return t=>{t=mt({},t),t&&Object.keys(t).forEach(r=>{const i=t[r];if(typeof i>"u"||i===void 0)delete t[r];else if(i&&typeof i=="object"&&i!==null)try{t[r]=e(i)}catch{}});const n=Yy(t).toString();return n?"?"+n:""}}var y0="_1qevocv0",S0="_1qevocv2",w0="_1qevocv3",x0="_1qevocv4",P0="_1qevocv1";const Lt="",k0=5e3,O0=async()=>{const e=`${Lt}/ping`;return await(await fetch(e)).json()},_0=async()=>await(await fetch(`${Lt}/modifiers.json`)).json(),E0=async()=>(await(await fetch(`${Lt}/output_dir`)).json())[0],vl="config",og=async()=>await(await fetch(`${Lt}/app_config`)).json(),C0="toggle_config",b0=async e=>await(await fetch(`${Lt}/app_config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({update_branch:e})})).json(),R0=async e=>await fetch(`${Lt}/image`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),sg=async()=>await(await fetch(`${Lt}/image/stop`)).json(),N0=[["Drawing Style",["Cel Shading","Children's Drawing","Crosshatch","Detailed and Intricate","Doodle","Dot Art","Line Art","Sketch"]],["Visual Style",["2D","8-bit","16-bit","Anaglyph","Anime","CGI"]]],jf=e=>{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(c!==t){const f=t;t=(u!=null?u:typeof c!="object")?c:Object.assign({},t,c),n.forEach(d=>d(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>n.clear()};return t=e(r,i,a),a},T0=e=>e?jf(e):jf;var ag={exports:{}},lg={};/** * @license React * use-sync-external-store-shim/with-selector.production.min.js * @@ -80,11 +80,11 @@ Error generating stack: `+o.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ds=_.exports,d0=fu.exports;function p0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var h0=typeof Object.is=="function"?Object.is:p0,g0=d0.useSyncExternalStore,m0=ds.useRef,v0=ds.useEffect,y0=ds.useMemo,S0=ds.useDebugValue;Qh.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=m0(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=y0(function(){function l(m){if(!u){if(u=!0,c=m,m=r(m),i!==void 0&&s.hasValue){var h=s.value;if(i(h,m))return f=h}return f=m}if(h=f,h0(c,m))return h;var y=r(m);return i!==void 0&&i(h,y)?h:(c=m,f=y)}var u=!1,c,f,d=n===void 0?null:n;return[function(){return l(t())},d===null?void 0:function(){return l(d())}]},[t,n,r,i]);var a=g0(e,o[0],o[1]);return v0(function(){s.hasValue=!0,s.value=a},[a]),S0(a),a};(function(e){e.exports=Qh})(Hh);const w0=rd(Hh.exports),{useSyncExternalStoreWithSelector:x0}=w0;function k0(e,t=e.getState,n){const r=x0(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return _.exports.useDebugValue(r),r}const xf=e=>{const t=typeof e=="function"?f0(e):e,n=(r,i)=>k0(t,r,i);return Object.assign(n,t),n},O0=e=>e?xf(e):xf;var xi=O0;const P0=(e,t={})=>(n,r,i)=>{const{enabled:o,anonymousActionType:s,...a}=t;let l;try{l=(o!=null?o:({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!l)return({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production"&&o&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),e(n,r,i);const u=l.connect(a);let c=!0;i.setState=(m,h,y)=>{const k=n(m,h);return c&&u.send(y===void 0?{type:s||"anonymous"}:typeof y=="string"?{type:y}:y,r()),k};const f=(...m)=>{const h=c;c=!1,n(...m),c=h},d=e(i.setState,r,i);if(u.init(d),i.dispatchFromDevtools&&typeof i.dispatch=="function"){let m=!1;const h=i.dispatch;i.dispatch=(...y)=>{({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production"&&y[0].type==="__setState"&&!m&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),m=!0),h(...y)}}return u.subscribe(m=>{var h;switch(m.type){case"ACTION":if(typeof m.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return Xs(m.payload,y=>{if(y.type==="__setState"){f(y.state);return}!i.dispatchFromDevtools||typeof i.dispatch=="function"&&i.dispatch(y)});case"DISPATCH":switch(m.payload.type){case"RESET":return f(d),u.init(i.getState());case"COMMIT":return u.init(i.getState());case"ROLLBACK":return Xs(m.state,y=>{f(y),u.init(i.getState())});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return Xs(m.state,y=>{f(y)});case"IMPORT_STATE":{const{nextLiftedState:y}=m.payload,k=(h=y.computedStates.slice(-1)[0])==null?void 0:h.state;if(!k)return;f(k),u.send(null,y);return}case"PAUSE_RECORDING":return c=!c}return}}),d},E0=P0,Xs=(e,t)=>{let n;try{n=JSON.parse(e)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&t(n)},Uo=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then(r){return Uo(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return Uo(r)(n)}}}},C0=(e,t)=>(n,r,i)=>{let o={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:k=>k,version:0,merge:(k,v)=>({...v,...k}),...t},s=!1;const a=new Set,l=new Set;let u;try{u=o.getStorage()}catch{}if(!u)return e((...k)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...k)},r,i);const c=Uo(o.serialize),f=()=>{const k=o.partialize({...r()});let v;const p=c({state:k,version:o.version}).then(g=>u.setItem(o.name,g)).catch(g=>{v=g});if(v)throw v;return p},d=i.setState;i.setState=(k,v)=>{d(k,v),f()};const m=e((...k)=>{n(...k),f()},r,i);let h;const y=()=>{var k;if(!u)return;s=!1,a.forEach(p=>p(r()));const v=((k=o.onRehydrateStorage)==null?void 0:k.call(o,r()))||void 0;return Uo(u.getItem.bind(u))(o.name).then(p=>{if(p)return o.deserialize(p)}).then(p=>{if(p)if(typeof p.version=="number"&&p.version!==o.version){if(o.migrate)return o.migrate(p.state,p.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return p.state}).then(p=>{var g;return h=o.merge(p,(g=r())!=null?g:m),n(h,!0),f()}).then(()=>{v==null||v(h,void 0),s=!0,l.forEach(p=>p(h))}).catch(p=>{v==null||v(void 0,p)})};return i.persist={setOptions:k=>{o={...o,...k},k.getStorage&&(u=k.getStorage())},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>y(),hasHydrated:()=>s,onHydrate:k=>(a.add(k),()=>{a.delete(k)}),onFinishHydration:k=>(l.add(k),()=>{l.delete(k)})},y(),h||m},_0=C0;function zo(){return Math.floor(Math.random()*1e4)}const R0=["plms","ddim","heun","euler","euler_a","dpm2","dpm2_a","lms"],F=xi(E0((e,t)=>({parallelCount:1,requestOptions:{session_id:new Date().getTime().toString(),prompt:"a photograph of an astronaut riding a horse",seed:zo(),num_outputs:1,num_inference_steps:50,guidance_scale:7.5,width:512,height:512,prompt_strength:.8,turbo:!0,use_cpu:!1,use_full_precision:!0,save_to_disk_path:"null",use_face_correction:"GFPGANv1.3",use_upscale:"RealESRGAN_x4plus",show_only_filtered_image:!0,init_image:void 0,sampler:"plms",stream_progress_updates:!0,stream_image_progress:!1,mask:void 0},tags:[],tagMap:{},uiOptions:{isUseRandomSeed:!0,isUseAutoSave:!1,isSoundEnabled:!1},allModifiers:[],isInpainting:!1,setParallelCount:n=>e(H(r=>{r.parallelCount=n})),setRequestOptions:(n,r)=>{e(H(i=>{i.requestOptions[n]=r}))},getValueForRequestKey:n=>t().requestOptions[n],setAllModifiers:n=>{e(H(r=>{r.allModifiers=n}))},toggleTag:(n,r)=>{e(H(i=>{Object.keys(i.tagMap).includes(n)?i.tagMap[n].includes(r)?i.tagMap[n]=i.tagMap[n].filter(o=>o!==r):i.tagMap[n].push(r):i.tagMap[n]=[r]}))},hasTag:(n,r)=>{var i;return(i=t().tagMap[n])==null?void 0:i.includes(r)},selectedTags:()=>{const n=t().allModifiers,r=t().tagMap;let i=[];for(const[o,s]of Object.entries(r)){const a=n.find(l=>l.category===o);if(a)for(const l of s){const u=a.modifiers.find(c=>c.modifier===l);u&&(i=i.concat({...u,category:a.category}))}}return i},builtRequest:()=>{const n=t(),r=n.requestOptions,o=t().selectedTags().map(l=>l.modifier),s=`${r.prompt}, ${o.join(",")}`,a={...r,prompt:s};return n.uiOptions.isUseAutoSave||(a.save_to_disk_path=null),a.init_image===void 0&&(a.prompt_strength=void 0),a.use_upscale===""&&(a.use_upscale=null),a.use_upscale===null&&a.use_face_correction===null&&(a.show_only_filtered_image=!1),a},toggleUseFaceCorrection:()=>{e(H(n=>{const r=typeof n.getValueForRequestKey("use_face_correction")=="string"?null:"GFPGANv1.3";n.requestOptions.use_face_correction=r}))},isUsingFaceCorrection:()=>typeof t().getValueForRequestKey("use_face_correction")=="string",isUsingUpscaling:()=>t().getValueForRequestKey("use_upscale")!=="",toggleUseRandomSeed:()=>{e(H(n=>{n.uiOptions.isUseRandomSeed=!n.uiOptions.isUseRandomSeed,n.requestOptions.seed=n.uiOptions.isUseRandomSeed?zo():n.requestOptions.seed}))},isRandomSeed:()=>t().uiOptions.isUseRandomSeed,toggleUseAutoSave:()=>{e(H(n=>{n.uiOptions.isUseAutoSave=!n.uiOptions.isUseAutoSave}))},isUseAutoSave:()=>t().uiOptions.isUseAutoSave,toggleSoundEnabled:()=>{e(H(n=>{n.uiOptions.isSoundEnabled=!n.uiOptions.isSoundEnabled}))},isSoundEnabled:()=>t().uiOptions.isSoundEnabled,toggleInpainting:()=>{e(H(n=>{n.isInpainting=!n.isInpainting}))}}))),N0=`${xt}/ding.mp3`,Pu=rt.forwardRef((e,t)=>x("audio",{ref:t,style:{display:"none"},children:x("source",{src:N0,type:"audio/mp3"})}));Pu.displayName="AudioDing";var kf="_1jo75h1",Of="_1jo75h0",I0="_1jo75h2";const Pf="Stable Diffusion is starting...",b0="Stable Diffusion is ready to use!",Ef="Stable Diffusion is not running!";function L0({className:e}){const[t,n]=_.exports.useState(Pf),[r,i]=_.exports.useState(Of),o=_.exports.useRef(),{status:s,data:a}=ur(["health"],i0,{refetchInterval:r0});return _.exports.useEffect(()=>{var l;s==="loading"?(n(Pf),i(Of)):s==="error"?(n(Ef),i(kf)):s==="success"&&(a[0]==="OK"?(n(b0),i(I0),(l=o.current)==null||l.play().catch(u=>{console.log("DING!")})):(n(Ef),i(kf)))},[s,a,o]),I(jt,{children:[x(Pu,{ref:o}),x("p",{className:[r,e].join(" "),children:t})]})}const Vh=typeof window>"u"||typeof document>"u";let Bo=Vh?_.exports.useEffect:_.exports.useLayoutEffect;function ps(e){let t=_.exports.useRef(e);return Bo(()=>{t.current=e},[e]),t}let ye=function(e){let t=ps(e);return rt.useCallback((...n)=>t.current(...n),[t])},Zs={serverHandoffComplete:!1};function T0(){let[e,t]=_.exports.useState(Zs.serverHandoffComplete);return _.exports.useEffect(()=>{e!==!0&&t(!0)},[e]),_.exports.useEffect(()=>{Zs.serverHandoffComplete===!1&&(Zs.serverHandoffComplete=!0)},[]),e}var Cf;let D0=0;function _f(){return++D0}let hr=(Cf=rt.useId)!=null?Cf:function(){let e=T0(),[t,n]=rt.useState(e?_f:null);return Bo(()=>{t===null&&n(_f())},[t]),t!=null?""+t:void 0};function Ft(e,t,...n){if(e in t){let i=t[e];return typeof i=="function"?i(...n):i}let r=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(i=>`"${i}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Ft),r}function Eu(e){return Vh?null:e instanceof Node?e.ownerDocument:e!=null&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}let dl=["[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(",");var Sn=(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))(Sn||{}),F0=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(F0||{}),M0=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(M0||{});function Kh(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(dl))}var Cu=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Cu||{});function qh(e,t=0){var n;return e===((n=Eu(e))==null?void 0:n.body)?!1:Ft(t,{[0](){return e.matches(dl)},[1](){let r=e;for(;r!==null;){if(r.matches(dl))return!0;r=r.parentElement}return!1}})}let j0=["textarea","input"].join(",");function A0(e){var t,n;return(n=(t=e==null?void 0:e.matches)==null?void 0:t.call(e,j0))!=null?n:!1}function $0(e,t=n=>n){return e.slice().sort((n,r)=>{let i=t(n),o=t(r);if(i===null||o===null)return 0;let s=i.compareDocumentPosition(o);return s&Node.DOCUMENT_POSITION_FOLLOWING?-1:s&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function qn(e,t,n=!0,r=null){let i=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,o=Array.isArray(e)?n?$0(e):e:Kh(e);r=r!=null?r:i.activeElement;let s=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),a=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,o.indexOf(r))-1;if(t&4)return Math.max(0,o.indexOf(r))+1;if(t&8)return o.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),l=t&32?{preventScroll:!0}:{},u=0,c=o.length,f;do{if(u>=c||u+c<=0)return 0;let d=a+u;if(t&16)d=(d+c)%c;else{if(d<0)return 3;if(d>=c)return 1}f=o[d],f==null||f.focus(l),u+=s}while(f!==i.activeElement);return t&6&&A0(f)&&f.select(),f.hasAttribute("tabindex")||f.setAttribute("tabindex","0"),2}function ea(e,t,n){let r=ps(t);_.exports.useEffect(()=>{function i(o){r.current(o)}return document.addEventListener(e,i,n),()=>document.removeEventListener(e,i,n)},[e,n])}function U0(e,t,n=!0){let r=_.exports.useRef(!1);_.exports.useEffect(()=>{requestAnimationFrame(()=>{r.current=n})},[n]);function i(s,a){if(!r.current||s.defaultPrevented)return;let l=function c(f){return typeof f=="function"?c(f()):Array.isArray(f)||f instanceof Set?f:[f]}(e),u=a(s);if(u!==null&&!!u.ownerDocument.documentElement.contains(u)){for(let c of l){if(c===null)continue;let f=c instanceof HTMLElement?c:c.current;if(f!=null&&f.contains(u))return}return!qh(u,Cu.Loose)&&u.tabIndex!==-1&&s.preventDefault(),t(s,u)}}let o=_.exports.useRef(null);ea("mousedown",s=>{r.current&&(o.current=s.target)},!0),ea("click",s=>{!o.current||(i(s,()=>o.current),o.current=null)},!0),ea("blur",s=>i(s,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function Rf(e){var t;if(e.type)return e.type;let n=(t=e.as)!=null?t:"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function z0(e,t){let[n,r]=_.exports.useState(()=>Rf(e));return Bo(()=>{r(Rf(e))},[e.type,e.as]),Bo(()=>{n||!t.current||t.current instanceof HTMLButtonElement&&!t.current.hasAttribute("type")&&r("button")},[n,t]),n}let Wh=Symbol();function B0(e,t=!0){return Object.assign(e,{[Wh]:t})}function gr(...e){let t=_.exports.useRef(e);_.exports.useEffect(()=>{t.current=e},[e]);let n=ye(r=>{for(let i of t.current)i!=null&&(typeof i=="function"?i(r):i.current=r)});return e.every(r=>r==null||(r==null?void 0:r[Wh]))?void 0:n}var pi=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(pi||{}),H0=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(H0||{});function wr({ourProps:e,theirProps:t,slot:n,defaultTag:r,features:i,visible:o=!0,name:s}){let a=Gh(t,e);if(o)return zi(a,n,r,s);let l=i!=null?i:0;if(l&2){let{static:u=!1,...c}=a;if(u)return zi(c,n,r,s)}if(l&1){let{unmount:u=!0,...c}=a;return Ft(u?0:1,{[0](){return null},[1](){return zi({...c,hidden:!0,style:{display:"none"}},n,r,s)}})}return zi(a,n,r,s)}function zi(e,t={},n,r){let{as:i=n,children:o,refName:s="ref",...a}=ta(e,["unmount","static"]),l=e.ref!==void 0?{[s]:e.ref}:{},u=typeof o=="function"?o(t):o;a.className&&typeof a.className=="function"&&(a.className=a.className(t));let c={};if(t){let f=!1,d=[];for(let[m,h]of Object.entries(t))typeof h=="boolean"&&(f=!0),h===!0&&d.push(m);f&&(c["data-headlessui-state"]=d.join(" "))}if(i===_.exports.Fragment&&Object.keys(Nf(a)).length>0){if(!_.exports.isValidElement(u)||Array.isArray(u)&&u.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${r} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(a).map(f=>` - ${f}`).join(` + */var Ss=P.exports,I0=Su.exports;function L0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var D0=typeof Object.is=="function"?Object.is:L0,F0=I0.useSyncExternalStore,M0=Ss.useRef,j0=Ss.useEffect,A0=Ss.useMemo,$0=Ss.useDebugValue;lg.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=M0(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=A0(function(){function l(p){if(!u){if(u=!0,c=p,p=r(p),i!==void 0&&s.hasValue){var g=s.value;if(i(g,p))return f=g}return f=p}if(g=f,D0(c,p))return g;var y=r(p);return i!==void 0&&i(g,y)?g:(c=p,f=y)}var u=!1,c,f,d=n===void 0?null:n;return[function(){return l(t())},d===null?void 0:function(){return l(d())}]},[t,n,r,i]);var a=F0(e,o[0],o[1]);return j0(function(){s.hasValue=!0,s.value=a},[a]),$0(a),a};(function(e){e.exports=lg})(ag);const U0=wd(ag.exports),{useSyncExternalStoreWithSelector:z0}=U0;function B0(e,t=e.getState,n){const r=z0(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return P.exports.useDebugValue(r),r}const Af=e=>{const t=typeof e=="function"?T0(e):e,n=(r,i)=>B0(t,r,i);return Object.assign(n,t),n},Q0=e=>e?Af(e):Af;var Ri=Q0;const H0=(e,t={})=>(n,r,i)=>{const{enabled:o,anonymousActionType:s,...a}=t;let l;try{l=(o!=null?o:({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!l)return({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production"&&o&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),e(n,r,i);const u=l.connect(a);let c=!0;i.setState=(p,g,y)=>{const x=n(p,g);return c&&u.send(y===void 0?{type:s||"anonymous"}:typeof y=="string"?{type:y}:y,r()),x};const f=(...p)=>{const g=c;c=!1,n(...p),c=g},d=e(i.setState,r,i);if(u.init(d),i.dispatchFromDevtools&&typeof i.dispatch=="function"){let p=!1;const g=i.dispatch;i.dispatch=(...y)=>{({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production"&&y[0].type==="__setState"&&!p&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),p=!0),g(...y)}}return u.subscribe(p=>{var g;switch(p.type){case"ACTION":if(typeof p.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return ra(p.payload,y=>{if(y.type==="__setState"){f(y.state);return}!i.dispatchFromDevtools||typeof i.dispatch=="function"&&i.dispatch(y)});case"DISPATCH":switch(p.payload.type){case"RESET":return f(d),u.init(i.getState());case"COMMIT":return u.init(i.getState());case"ROLLBACK":return ra(p.state,y=>{f(y),u.init(i.getState())});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return ra(p.state,y=>{f(y)});case"IMPORT_STATE":{const{nextLiftedState:y}=p.payload,x=(g=y.computedStates.slice(-1)[0])==null?void 0:g.state;if(!x)return;f(x),u.send(null,y);return}case"PAUSE_RECORDING":return c=!c}return}}),d},V0=H0,ra=(e,t)=>{let n;try{n=JSON.parse(e)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&t(n)},Wo=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then(r){return Wo(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return Wo(r)(n)}}}},q0=(e,t)=>(n,r,i)=>{let o={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:x=>x,version:0,merge:(x,v)=>({...v,...x}),...t},s=!1;const a=new Set,l=new Set;let u;try{u=o.getStorage()}catch{}if(!u)return e((...x)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...x)},r,i);const c=Wo(o.serialize),f=()=>{const x=o.partialize({...r()});let v;const h=c({state:x,version:o.version}).then(m=>u.setItem(o.name,m)).catch(m=>{v=m});if(v)throw v;return h},d=i.setState;i.setState=(x,v)=>{d(x,v),f()};const p=e((...x)=>{n(...x),f()},r,i);let g;const y=()=>{var x;if(!u)return;s=!1,a.forEach(h=>h(r()));const v=((x=o.onRehydrateStorage)==null?void 0:x.call(o,r()))||void 0;return Wo(u.getItem.bind(u))(o.name).then(h=>{if(h)return o.deserialize(h)}).then(h=>{if(h)if(typeof h.version=="number"&&h.version!==o.version){if(o.migrate)return o.migrate(h.state,h.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return h.state}).then(h=>{var m;return g=o.merge(h,(m=r())!=null?m:p),n(g,!0),f()}).then(()=>{v==null||v(g,void 0),s=!0,l.forEach(h=>h(g))}).catch(h=>{v==null||v(void 0,h)})};return i.persist={setOptions:x=>{o={...o,...x},x.getStorage&&(u=x.getStorage())},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>y(),hasHydrated:()=>s,onHydrate:x=>(a.add(x),()=>{a.delete(x)}),onFinishHydration:x=>(l.add(x),()=>{l.delete(x)})},y(),g||p},K0=q0;function Go(){return Math.floor(Math.random()*1e4)}const W0=["plms","ddim","heun","euler","euler_a","dpm2","dpm2_a","lms"],D=Ri(V0((e,t)=>({parallelCount:1,requestOptions:{session_id:new Date().getTime().toString(),prompt:"a photograph of an astronaut riding a horse",negative_prompt:"",seed:Go(),num_outputs:1,num_inference_steps:50,guidance_scale:7.5,width:512,height:512,prompt_strength:.8,turbo:!0,use_cpu:!1,use_full_precision:!0,save_to_disk_path:"null",use_face_correction:"GFPGANv1.3",use_upscale:"RealESRGAN_x4plus",show_only_filtered_image:!0,init_image:void 0,sampler:"plms",stream_progress_updates:!0,stream_image_progress:!1,mask:void 0},createTags:[],tagMap:{},uiOptions:{isUseRandomSeed:!0,isUseAutoSave:!1,isSoundEnabled:!1},allModifiers:[],isInpainting:!1,setParallelCount:n=>e(A(r=>{r.parallelCount=n})),setRequestOptions:(n,r)=>{e(A(i=>{i.requestOptions[n]=r}))},getValueForRequestKey:n=>t().requestOptions[n],setAllModifiers:n=>{e(A(r=>{r.allModifiers=n}))},toggleTag:(n,r)=>{e(A(i=>{Object.keys(i.tagMap).includes(n)?i.tagMap[n].includes(r)?i.tagMap[n]=i.tagMap[n].filter(o=>o!==r):i.tagMap[n].push(r):i.tagMap[n]=[r]}))},hasTag:(n,r)=>{var i;return(i=t().tagMap[n])==null?void 0:i.includes(r)},selectedTags:()=>{const n=t().allModifiers,r=t().tagMap;let i=[];for(const[o,s]of Object.entries(r)){const a=n.find(l=>l.category===o);if(a)for(const l of s){const u=a.modifiers.find(c=>c.modifier===l);u&&(i=i.concat({...u,category:a.category}))}}return i},addCreateTag:n=>{e(A(r=>{r.createTags.push(n)}))},removeCreateTag:n=>{e(A(r=>{r.createTags=r.createTags.filter(i=>i.id!==n)}))},changeCreateTagType:(n,r)=>{e(A(i=>{const o=i.createTags.find(s=>s.id===n);o&&(o.type=r)}))},reorderCreateTag:(n,r)=>{e(A(i=>{const o=i.createTags.indexOf(n);o!==-1&&(i.createTags.splice(o,1),i.createTags.splice(r,0,n))}))},builtRequest:()=>{const n=t(),r=n.requestOptions;t().selectedTags().map(l=>l.modifier);const o=n.createTags.filter(l=>l.type==="positive").map(l=>l.name).join(","),s=n.createTags.filter(l=>l.type==="negative").map(l=>l.name).join(","),a={...r,prompt:o,negative_prompt:s};return n.uiOptions.isUseAutoSave||(a.save_to_disk_path=null),a.init_image===void 0&&(a.prompt_strength=void 0),a.use_upscale===""&&(a.use_upscale=null),a.use_upscale===null&&a.use_face_correction===null&&(a.show_only_filtered_image=!1),a},toggleUseFaceCorrection:()=>{e(A(n=>{const r=typeof n.getValueForRequestKey("use_face_correction")=="string"?null:"GFPGANv1.3";n.requestOptions.use_face_correction=r}))},isUsingFaceCorrection:()=>typeof t().getValueForRequestKey("use_face_correction")=="string",isUsingUpscaling:()=>t().getValueForRequestKey("use_upscale")!=="",toggleUseRandomSeed:()=>{e(A(n=>{n.uiOptions.isUseRandomSeed=!n.uiOptions.isUseRandomSeed,n.requestOptions.seed=n.uiOptions.isUseRandomSeed?Go():n.requestOptions.seed}))},isRandomSeed:()=>t().uiOptions.isUseRandomSeed,toggleUseAutoSave:()=>{e(A(n=>{n.uiOptions.isUseAutoSave=!n.uiOptions.isUseAutoSave}))},isUseAutoSave:()=>t().uiOptions.isUseAutoSave,toggleSoundEnabled:()=>{e(A(n=>{n.uiOptions.isSoundEnabled=!n.uiOptions.isSoundEnabled}))},isSoundEnabled:()=>t().uiOptions.isSoundEnabled,toggleInpainting:()=>{e(A(n=>{n.isInpainting=!n.isInpainting}))}}))),G0=`${Lt}/ding.mp3`,Iu=G.forwardRef((e,t)=>w("audio",{ref:t,style:{display:"none"},children:w("source",{src:G0,type:"audio/mp3"})}));Iu.displayName="AudioDing";var $f="_1jo75h1",Uf="_1jo75h0",Y0="_1jo75h2";const zf="Stable Diffusion is starting...",J0="Stable Diffusion is ready to use!",Bf="Stable Diffusion is not running!";function X0({className:e}){const[t,n]=P.exports.useState(zf),[r,i]=P.exports.useState(Uf),o=P.exports.useRef(),{status:s,data:a}=wr(["health"],O0,{refetchInterval:k0});return P.exports.useEffect(()=>{var l;s==="loading"?(n(zf),i(Uf)):s==="error"?(n(Bf),i($f)):s==="success"&&(a[0]==="OK"?(n(J0),i(Y0),(l=o.current)==null||l.play().catch(u=>{console.log("DING!")})):(n(Bf),i($f)))},[s,a,o]),R(lt,{children:[w(Iu,{ref:o}),w("p",{className:[r,e].join(" "),children:t})]})}const ug=typeof window>"u"||typeof document>"u";let Wt=ug?P.exports.useEffect:P.exports.useLayoutEffect;function Dn(e){let t=P.exports.useRef(e);return Wt(()=>{t.current=e},[e]),t}function Z0(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}let q=function(e){let t=Dn(e);return G.useCallback((...n)=>t.current(...n),[t])},ia={serverHandoffComplete:!1};function e1(){let[e,t]=P.exports.useState(ia.serverHandoffComplete);return P.exports.useEffect(()=>{e!==!0&&t(!0)},[e]),P.exports.useEffect(()=>{ia.serverHandoffComplete===!1&&(ia.serverHandoffComplete=!0)},[]),e}var Qf;let t1=0;function Hf(){return++t1}let yt=(Qf=G.useId)!=null?Qf:function(){let e=e1(),[t,n]=G.useState(e?Hf:null);return Wt(()=>{t===null&&n(Hf())},[t]),t!=null?""+t:void 0};function St(e,t,...n){if(e in t){let i=t[e];return typeof i=="function"?i(...n):i}let r=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(i=>`"${i}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,St),r}function Lu(e){return ug?null:e instanceof Node?e.ownerDocument:e!=null&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}let yl=["[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(",");var me=(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))(me||{}),n1=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(n1||{}),r1=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(r1||{});function cg(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(yl))}var Du=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Du||{});function fg(e,t=0){var n;return e===((n=Lu(e))==null?void 0:n.body)?!1:St(t,{[0](){return e.matches(yl)},[1](){let r=e;for(;r!==null;){if(r.matches(yl))return!0;r=r.parentElement}return!1}})}let i1=["textarea","input"].join(",");function o1(e){var t,n;return(n=(t=e==null?void 0:e.matches)==null?void 0:t.call(e,i1))!=null?n:!1}function Sl(e,t=n=>n){return e.slice().sort((n,r)=>{let i=t(n),o=t(r);if(i===null||o===null)return 0;let s=i.compareDocumentPosition(o);return s&Node.DOCUMENT_POSITION_FOLLOWING?-1:s&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function nt(e,t,n=!0,r=null){let i=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,o=Array.isArray(e)?n?Sl(e):e:cg(e);r=r!=null?r:i.activeElement;let s=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),a=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,o.indexOf(r))-1;if(t&4)return Math.max(0,o.indexOf(r))+1;if(t&8)return o.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),l=t&32?{preventScroll:!0}:{},u=0,c=o.length,f;do{if(u>=c||u+c<=0)return 0;let d=a+u;if(t&16)d=(d+c)%c;else{if(d<0)return 3;if(d>=c)return 1}f=o[d],f==null||f.focus(l),u+=s}while(f!==i.activeElement);return t&6&&o1(f)&&f.select(),f.hasAttribute("tabindex")||f.setAttribute("tabindex","0"),2}function oa(e,t,n){let r=Dn(t);P.exports.useEffect(()=>{function i(o){r.current(o)}return document.addEventListener(e,i,n),()=>document.removeEventListener(e,i,n)},[e,n])}function s1(e,t,n=!0){let r=P.exports.useRef(!1);P.exports.useEffect(()=>{requestAnimationFrame(()=>{r.current=n})},[n]);function i(s,a){if(!r.current||s.defaultPrevented)return;let l=function c(f){return typeof f=="function"?c(f()):Array.isArray(f)||f instanceof Set?f:[f]}(e),u=a(s);if(u!==null&&!!u.ownerDocument.documentElement.contains(u)){for(let c of l){if(c===null)continue;let f=c instanceof HTMLElement?c:c.current;if(f!=null&&f.contains(u))return}return!fg(u,Du.Loose)&&u.tabIndex!==-1&&s.preventDefault(),t(s,u)}}let o=P.exports.useRef(null);oa("mousedown",s=>{r.current&&(o.current=s.target)},!0),oa("click",s=>{!o.current||(i(s,()=>o.current),o.current=null)},!0),oa("blur",s=>i(s,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function Vf(e){var t;if(e.type)return e.type;let n=(t=e.as)!=null?t:"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function Fu(e,t){let[n,r]=P.exports.useState(()=>Vf(e));return Wt(()=>{r(Vf(e))},[e.type,e.as]),Wt(()=>{n||!t.current||t.current instanceof HTMLButtonElement&&!t.current.hasAttribute("type")&&r("button")},[n,t]),n}let dg=Symbol();function a1(e,t=!0){return Object.assign(e,{[dg]:t})}function Ue(...e){let t=P.exports.useRef(e);P.exports.useEffect(()=>{t.current=e},[e]);let n=q(r=>{for(let i of t.current)i!=null&&(typeof i=="function"?i(r):i.current=r)});return e.every(r=>r==null||(r==null?void 0:r[dg]))?void 0:n}var Un=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(Un||{}),l1=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(l1||{});function Ie({ourProps:e,theirProps:t,slot:n,defaultTag:r,features:i,visible:o=!0,name:s}){let a=pg(t,e);if(o)return Yi(a,n,r,s);let l=i!=null?i:0;if(l&2){let{static:u=!1,...c}=a;if(u)return Yi(c,n,r,s)}if(l&1){let{unmount:u=!0,...c}=a;return St(u?0:1,{[0](){return null},[1](){return Yi({...c,hidden:!0,style:{display:"none"}},n,r,s)}})}return Yi(a,n,r,s)}function Yi(e,t={},n,r){let{as:i=n,children:o,refName:s="ref",...a}=sa(e,["unmount","static"]),l=e.ref!==void 0?{[s]:e.ref}:{},u=typeof o=="function"?o(t):o;a.className&&typeof a.className=="function"&&(a.className=a.className(t));let c={};if(t){let f=!1,d=[];for(let[p,g]of Object.entries(t))typeof g=="boolean"&&(f=!0),g===!0&&d.push(p);f&&(c["data-headlessui-state"]=d.join(" "))}if(i===P.exports.Fragment&&Object.keys(wl(a)).length>0){if(!P.exports.isValidElement(u)||Array.isArray(u)&&u.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${r} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(a).map(f=>` - ${f}`).join(` `),"","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(f=>` - ${f}`).join(` `)].join(` -`));return _.exports.cloneElement(u,Object.assign({},Gh(u.props,Nf(ta(a,["ref"]))),c,l,Q0(u.ref,l.ref)))}return _.exports.createElement(i,Object.assign({},ta(a,["ref"]),i!==_.exports.Fragment&&l,i!==_.exports.Fragment&&c),u)}function Q0(...e){return{ref:e.every(t=>t==null)?void 0:t=>{for(let n of e)n!=null&&(typeof n=="function"?n(t):n.current=t)}}}function Gh(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},n={};for(let r of e)for(let i in r)i.startsWith("on")&&typeof r[i]=="function"?(n[i]!=null||(n[i]=[]),n[i].push(r[i])):t[i]=r[i];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map(r=>[r,void 0])));for(let r in n)Object.assign(t,{[r](i,...o){let s=n[r];for(let a of s){if((i instanceof Event||(i==null?void 0:i.nativeEvent)instanceof Event)&&i.defaultPrevented)return;a(i,...o)}}});return t}function xr(e){var t;return Object.assign(_.exports.forwardRef(e),{displayName:(t=e.displayName)!=null?t:e.name})}function Nf(e){let t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function ta(e,t=[]){let n=Object.assign({},e);for(let r of t)r in n&&delete n[r];return n}function Yh(e){let t=e.parentElement,n=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(n=t),t=t.parentElement;let r=(t==null?void 0:t.getAttribute("disabled"))==="";return r&&V0(n)?!1:r}function V0(e){if(!e)return!1;let t=e.previousElementSibling;for(;t!==null;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}let K0="div";var Ho=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(Ho||{});let pl=xr(function(e,t){let{features:n=1,...r}=e,i={ref:t,"aria-hidden":(n&2)===2?!0:void 0,style:{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 wr({ourProps:i,theirProps:r,slot:{},defaultTag:K0,name:"Hidden"})}),_u=_.exports.createContext(null);_u.displayName="OpenClosedContext";var hi=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(hi||{});function Jh(){return _.exports.useContext(_u)}function q0({value:e,children:t}){return rt.createElement(_u.Provider,{value:e},t)}var Vt=(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))(Vt||{});function W0(e,t,n){let r=ps(t);_.exports.useEffect(()=>{function i(o){r.current(o)}return window.addEventListener(e,i,n),()=>window.removeEventListener(e,i,n)},[e,n])}var wn=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(wn||{});function Xh(){let e=_.exports.useRef(0);return W0("keydown",t=>{t.key==="Tab"&&(e.current=t.shiftKey?1:0)},!0),e}function Ru(...e){return _.exports.useMemo(()=>Eu(...e),[...e])}function G0(e,t,n,r){let i=ps(n);_.exports.useEffect(()=>{e=e!=null?e:window;function o(s){i.current(s)}return e.addEventListener(t,o,r),()=>e.removeEventListener(t,o,r)},[e,t,r])}var Y0=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Y0||{}),J0=(e=>(e[e.TogglePopover=0]="TogglePopover",e[e.ClosePopover=1]="ClosePopover",e[e.SetButton=2]="SetButton",e[e.SetButtonId=3]="SetButtonId",e[e.SetPanel=4]="SetPanel",e[e.SetPanelId=5]="SetPanelId",e))(J0||{});let X0={[0]:e=>({...e,popoverState:Ft(e.popoverState,{[0]:1,[1]:0})}),[1](e){return e.popoverState===1?e:{...e,popoverState:1}},[2](e,t){return e.button===t.button?e:{...e,button:t.button}},[3](e,t){return e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId}},[4](e,t){return e.panel===t.panel?e:{...e,panel:t.panel}},[5](e,t){return e.panelId===t.panelId?e:{...e,panelId:t.panelId}}},Nu=_.exports.createContext(null);Nu.displayName="PopoverContext";function hs(e){let t=_.exports.useContext(Nu);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,hs),n}return t}let Iu=_.exports.createContext(null);Iu.displayName="PopoverAPIContext";function bu(e){let t=_.exports.useContext(Iu);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,bu),n}return t}let Lu=_.exports.createContext(null);Lu.displayName="PopoverGroupContext";function Zh(){return _.exports.useContext(Lu)}let Tu=_.exports.createContext(null);Tu.displayName="PopoverPanelContext";function Z0(){return _.exports.useContext(Tu)}function e1(e,t){return Ft(t.type,X0,e,t)}let t1="div",n1=xr(function(e,t){var n;let r=`headlessui-popover-button-${hr()}`,i=`headlessui-popover-panel-${hr()}`,o=_.exports.useRef(null),s=gr(t,B0(w=>{o.current=w})),a=_.exports.useReducer(e1,{popoverState:1,button:null,buttonId:r,panel:null,panelId:i,beforePanelSentinel:_.exports.createRef(),afterPanelSentinel:_.exports.createRef()}),[{popoverState:l,button:u,panel:c,beforePanelSentinel:f,afterPanelSentinel:d},m]=a,h=Ru((n=o.current)!=null?n:u);_.exports.useEffect(()=>m({type:3,buttonId:r}),[r,m]),_.exports.useEffect(()=>m({type:5,panelId:i}),[i,m]);let y=_.exports.useMemo(()=>{if(!u||!c)return!1;for(let w of document.querySelectorAll("body > *"))if(Number(w==null?void 0:w.contains(u))^Number(w==null?void 0:w.contains(c)))return!0;return!1},[u,c]),k=_.exports.useMemo(()=>({buttonId:r,panelId:i,close:()=>m({type:1})}),[r,i,m]),v=Zh(),p=v==null?void 0:v.registerPopover,g=ye(()=>{var w;return(w=v==null?void 0:v.isFocusWithinPopoverGroup())!=null?w:(h==null?void 0:h.activeElement)&&((u==null?void 0:u.contains(h.activeElement))||(c==null?void 0:c.contains(h.activeElement)))});_.exports.useEffect(()=>p==null?void 0:p(k),[p,k]),G0(h==null?void 0:h.defaultView,"focus",w=>{var R,L,j,U;l===0&&(g()||!u||!c||(L=(R=f.current)==null?void 0:R.contains)!=null&&L.call(R,w.target)||(U=(j=d.current)==null?void 0:j.contains)!=null&&U.call(j,w.target)||m({type:1}))},!0),U0([u,c],(w,R)=>{m({type:1}),qh(R,Cu.Loose)||(w.preventDefault(),u==null||u.focus())},l===0);let S=ye(w=>{m({type:1});let R=(()=>w?w instanceof HTMLElement?w:"current"in w&&w.current instanceof HTMLElement?w.current:u:u)();R==null||R.focus()}),O=_.exports.useMemo(()=>({close:S,isPortalled:y}),[S,y]),E=_.exports.useMemo(()=>({open:l===0,close:S}),[l,S]),P=e,C={ref:s};return rt.createElement(Nu.Provider,{value:a},rt.createElement(Iu.Provider,{value:O},rt.createElement(q0,{value:Ft(l,{[0]:hi.Open,[1]:hi.Closed})},wr({ourProps:C,theirProps:P,slot:E,defaultTag:t1,name:"Popover"}))))}),r1="button",i1=xr(function(e,t){let[n,r]=hs("Popover.Button"),{isPortalled:i}=bu("Popover.Button"),o=_.exports.useRef(null),s=`headlessui-focus-sentinel-${hr()}`,a=Zh(),l=a==null?void 0:a.closeOthers,u=Z0(),c=u===null?!1:u===n.panelId,f=gr(o,t,c?null:w=>r({type:2,button:w})),d=gr(o,t),m=Ru(o),h=ye(w=>{var R,L,j;if(c){if(n.popoverState===1)return;switch(w.key){case Vt.Space:case Vt.Enter:w.preventDefault(),(L=(R=w.target).click)==null||L.call(R),r({type:1}),(j=n.button)==null||j.focus();break}}else switch(w.key){case Vt.Space:case Vt.Enter:w.preventDefault(),w.stopPropagation(),n.popoverState===1&&(l==null||l(n.buttonId)),r({type:0});break;case Vt.Escape:if(n.popoverState!==0)return l==null?void 0:l(n.buttonId);if(!o.current||(m==null?void 0:m.activeElement)&&!o.current.contains(m.activeElement))return;w.preventDefault(),w.stopPropagation(),r({type:1});break}}),y=ye(w=>{c||w.key===Vt.Space&&w.preventDefault()}),k=ye(w=>{var R,L;Yh(w.currentTarget)||e.disabled||(c?(r({type:1}),(R=n.button)==null||R.focus()):(w.preventDefault(),w.stopPropagation(),n.popoverState===1&&(l==null||l(n.buttonId)),r({type:0}),(L=n.button)==null||L.focus()))}),v=ye(w=>{w.preventDefault(),w.stopPropagation()}),p=n.popoverState===0,g=_.exports.useMemo(()=>({open:p}),[p]),S=z0(e,o),O=e,E=c?{ref:d,type:S,onKeyDown:h,onClick:k}:{ref:f,id:n.buttonId,type:S,"aria-expanded":e.disabled?void 0:n.popoverState===0,"aria-controls":n.panel?n.panelId:void 0,onKeyDown:h,onKeyUp:y,onClick:k,onMouseDown:v},P=Xh(),C=ye(()=>{let w=n.panel;if(!w)return;function R(){Ft(P.current,{[wn.Forwards]:()=>qn(w,Sn.First),[wn.Backwards]:()=>qn(w,Sn.Last)})}R()});return I(jt,{children:[wr({ourProps:E,theirProps:O,slot:g,defaultTag:r1,name:"Popover.Button"}),p&&!c&&i&&x(pl,{id:s,features:Ho.Focusable,as:"button",type:"button",onFocus:C})]})}),o1="div",s1=pi.RenderStrategy|pi.Static,a1=xr(function(e,t){let[{popoverState:n},r]=hs("Popover.Overlay"),i=gr(t),o=`headlessui-popover-overlay-${hr()}`,s=Jh(),a=(()=>s!==null?s===hi.Open:n===0)(),l=ye(c=>{if(Yh(c.currentTarget))return c.preventDefault();r({type:1})}),u=_.exports.useMemo(()=>({open:n===0}),[n]);return wr({ourProps:{ref:i,id:o,"aria-hidden":!0,onClick:l},theirProps:e,slot:u,defaultTag:o1,features:s1,visible:a,name:"Popover.Overlay"})}),l1="div",u1=pi.RenderStrategy|pi.Static,c1=xr(function(e,t){let{focus:n=!1,...r}=e,[i,o]=hs("Popover.Panel"),{close:s,isPortalled:a}=bu("Popover.Panel"),l=`headlessui-focus-sentinel-before-${hr()}`,u=`headlessui-focus-sentinel-after-${hr()}`,c=_.exports.useRef(null),f=gr(c,t,O=>{o({type:4,panel:O})}),d=Ru(c),m=Jh(),h=(()=>m!==null?m===hi.Open:i.popoverState===0)(),y=ye(O=>{var E;switch(O.key){case Vt.Escape:if(i.popoverState!==0||!c.current||(d==null?void 0:d.activeElement)&&!c.current.contains(d.activeElement))return;O.preventDefault(),O.stopPropagation(),o({type:1}),(E=i.button)==null||E.focus();break}});_.exports.useEffect(()=>{var O;e.static||i.popoverState===1&&((O=e.unmount)!=null?O:!0)&&o({type:4,panel:null})},[i.popoverState,e.unmount,e.static,o]),_.exports.useEffect(()=>{if(!n||i.popoverState!==0||!c.current)return;let O=d==null?void 0:d.activeElement;c.current.contains(O)||qn(c.current,Sn.First)},[n,c,i.popoverState]);let k=_.exports.useMemo(()=>({open:i.popoverState===0,close:s}),[i,s]),v={ref:f,id:i.panelId,onKeyDown:y,onBlur:n&&i.popoverState===0?O=>{var E,P,C,w,R;let L=O.relatedTarget;!L||!c.current||(E=c.current)!=null&&E.contains(L)||(o({type:1}),(((C=(P=i.beforePanelSentinel.current)==null?void 0:P.contains)==null?void 0:C.call(P,L))||((R=(w=i.afterPanelSentinel.current)==null?void 0:w.contains)==null?void 0:R.call(w,L)))&&L.focus({preventScroll:!0}))}:void 0,tabIndex:-1},p=Xh(),g=ye(()=>{let O=c.current;if(!O)return;function E(){Ft(p.current,{[wn.Forwards]:()=>{qn(O,Sn.First)},[wn.Backwards]:()=>{var P;(P=i.button)==null||P.focus({preventScroll:!0})}})}E()}),S=ye(()=>{let O=c.current;if(!O)return;function E(){Ft(p.current,{[wn.Forwards]:()=>{var P,C,w;if(!i.button)return;let R=Kh(),L=R.indexOf(i.button),j=R.slice(0,L+1),U=[...R.slice(L+1),...j];for(let V of U.slice())if(((C=(P=V==null?void 0:V.id)==null?void 0:P.startsWith)==null?void 0:C.call(P,"headlessui-focus-sentinel-"))||((w=i.panel)==null?void 0:w.contains(V))){let Be=U.indexOf(V);Be!==-1&&U.splice(Be,1)}qn(U,Sn.First,!1)},[wn.Backwards]:()=>qn(O,Sn.Last)})}E()});return rt.createElement(Tu.Provider,{value:i.panelId},h&&a&&x(pl,{id:l,ref:i.beforePanelSentinel,features:Ho.Focusable,as:"button",type:"button",onFocus:g}),wr({ourProps:v,theirProps:r,slot:k,defaultTag:l1,features:u1,visible:h,name:"Popover.Panel"}),h&&a&&x(pl,{id:u,ref:i.afterPanelSentinel,features:Ho.Focusable,as:"button",type:"button",onFocus:S}))}),f1="div",d1=xr(function(e,t){let n=_.exports.useRef(null),r=gr(n,t),[i,o]=_.exports.useState([]),s=ye(h=>{o(y=>{let k=y.indexOf(h);if(k!==-1){let v=y.slice();return v.splice(k,1),v}return y})}),a=ye(h=>(o(y=>[...y,h]),()=>s(h))),l=ye(()=>{var h;let y=Eu(n);if(!y)return!1;let k=y.activeElement;return(h=n.current)!=null&&h.contains(k)?!0:i.some(v=>{var p,g;return((p=y.getElementById(v.buttonId))==null?void 0:p.contains(k))||((g=y.getElementById(v.panelId))==null?void 0:g.contains(k))})}),u=ye(h=>{for(let y of i)y.buttonId!==h&&y.close()}),c=_.exports.useMemo(()=>({registerPopover:a,unregisterPopover:s,isFocusWithinPopoverGroup:l,closeOthers:u}),[a,s,l,u]),f=_.exports.useMemo(()=>({}),[]),d=e,m={ref:r};return rt.createElement(Lu.Provider,{value:c},wr({ourProps:m,theirProps:d,slot:f,defaultTag:f1,name:"Popover.Group"}))}),er=Object.assign(n1,{Button:i1,Overlay:a1,Panel:c1,Group:d1});var eg="_17189jg1",tg="_17189jg0",ng="_17189jg2";var If="_1961rof4",Dn="_1961rof2",gs="_1961rof3",rg="_1961rof0",te="_1961rof1";var p1="_1d4r83s0";function h1(){return I(er,{className:tg,children:[I(er.Button,{className:eg,children:[x("i",{className:[Dn,"fa-solid","fa-comments"].join(" ")}),"Help & Community"]}),x(er.Panel,{className:ng,children:x("div",{className:p1,children:I("ul",{children:[x("li",{className:te,children:I("a",{href:"https://github.com/cmdr2/stable-diffusion-ui/blob/main/Troubleshooting.md",target:"_blank",rel:"noreferrer",children:[x("i",{className:[Dn,"fa-solid","fa-circle-question"].join(" ")})," Usual Problems and Solutions"]})}),x("li",{className:te,children:I("a",{href:"https://discord.com/invite/u9yhsFmEkB",target:"_blank",rel:"noreferrer",children:[x("i",{className:[Dn,"fa-brands","fa-discord"].join(" ")})," Discord user Community"]})}),x("li",{className:te,children:I("a",{href:"https://old.reddit.com/r/StableDiffusionUI/",target:"_blank",rel:"noreferrer",children:[x("i",{className:[Dn,"fa-brands","fa-reddit"].join(" ")})," Reddit Community"]})}),x("li",{className:te,children:I("a",{href:"https://github.com/cmdr2/stable-diffusion-ui ",target:"_blank",rel:"noreferrer",children:[x("i",{className:[Dn,"fa-brands","fa-github"].join(" ")})," Source Code on Github"]})})]})})})]})}function on(e){return on=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},on(e)}function kt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function bf(e,t){for(var n=0;n",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"\xA9","©":"\xA9","®":"\xAE","®":"\xAE","…":"\u2026","…":"\u2026","/":"/","/":"/"},v1=function(t){return m1[t]},y1=function(t){return t.replace(g1,v1)};function Lf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Tf(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};hl=Tf(Tf({},hl),e)}function x1(){return hl}var k1=function(){function e(){lt(this,e),this.usedNamespaces={}}return ut(e,[{key:"addUsedNamespaces",value:function(n){var r=this;n.forEach(function(i){r.usedNamespaces[i]||(r.usedNamespaces[i]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function O1(e){ig=e}function P1(){return ig}var E1={type:"3rdParty",init:function(t){w1(t.options.react),O1(t)}};function C1(){if(console&&console.warn){for(var e,t=arguments.length,n=new Array(t),r=0;r2&&arguments[2]!==void 0?arguments[2]:{},r=t.languages[0],i=t.options?t.options.fallbackLng:!1,o=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;var s=function(l,u){var c=t.services.backendConnector.state["".concat(l,"|").concat(u)];return c===-1||c===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(r,e)&&(!i||s(o,e)))}function R1(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t.languages||!t.languages.length)return gl("i18n.languages were undefined or empty",t.languages),!0;var r=t.options.ignoreJSONStructure!==void 0;return r?t.hasLoadedNamespace(e,{precheck:function(o,s){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&o.services.backendConnector.backend&&o.isLanguageChangingTo&&!s(o.isLanguageChangingTo,e))return!1}}):_1(e,t,n)}function og(e){if(Array.isArray(e))return e}function N1(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r=[],i=!0,o=!1,s,a;try{for(n=n.call(e);!(i=(s=n.next()).done)&&(r.push(s.value),!(t&&r.length===t));i=!0);}catch(l){o=!0,a=l}finally{try{!i&&n.return!=null&&n.return()}finally{if(o)throw a}}return r}}function Mf(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:{},n=t.i18n,r=_.exports.useContext(S1)||{},i=r.i18n,o=r.defaultNS,s=n||i||P1();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new k1),!s){gl("You will need to pass in an i18next instance by using initReactI18next");var a=function(w){return Array.isArray(w)?w[w.length-1]:w},l=[a,{},!1];return l.t=a,l.i18n={},l.ready=!1,l}s.options.react&&s.options.react.wait!==void 0&&gl("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=na(na(na({},x1()),s.options.react),t),c=u.useSuspense,f=u.keyPrefix,d=e||o||s.options&&s.options.defaultNS;d=typeof d=="string"?[d]:d||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(d);var m=(s.isInitialized||s.initializedStoreOnce)&&d.every(function(C){return R1(C,s,u)});function h(){return s.getFixedT(null,u.nsMode==="fallback"?d:d[0],f)}var y=_.exports.useState(h),k=I1(y,2),v=k[0],p=k[1],g=d.join(),S=b1(g),O=_.exports.useRef(!0);_.exports.useEffect(function(){var C=u.bindI18n,w=u.bindI18nStore;O.current=!0,!m&&!c&&Ff(s,d,function(){O.current&&p(h)}),m&&S&&S!==g&&O.current&&p(h);function R(){O.current&&p(h)}return C&&s&&s.on(C,R),w&&s&&s.store.on(w,R),function(){O.current=!1,C&&s&&C.split(" ").forEach(function(L){return s.off(L,R)}),w&&s&&w.split(" ").forEach(function(L){return s.store.off(L,R)})}},[s,g]);var E=_.exports.useRef(!0);_.exports.useEffect(function(){O.current&&!E.current&&p(h),E.current=!1},[s,f]);var P=[v,s,m];if(P.t=v,P.i18n=s,P.ready=m,m||!m&&!c)return P;throw new Promise(function(C){Ff(s,d,function(){C()})})}function L1(){const{t:e}=At(),[t,n]=_.exports.useState(!1),[r,i]=_.exports.useState("beta"),{status:o,data:s}=ur([fl],Bh),a=Ph(),{status:l,data:u}=ur([a0],async()=>await l0(r),{enabled:t});return _.exports.useEffect(()=>{if(o==="success"){const{update_branch:c}=s;i(c==="main"?"beta":"main")}},[o,s]),_.exports.useEffect(()=>{l==="success"&&(u[0]==="OK"&&a.invalidateQueries([fl]),n(!1))},[l,u,n]),I("label",{children:[x("input",{type:"checkbox",checked:r==="main",onChange:c=>{n(!0)}}),"\u{1F525}",e("advanced-settings.beta")," ",e("advanced-settings.beta-disc")]})}var T1="cg4q680";function D1(){const{t:e}=At(),t=F(c=>c.isUseAutoSave()),n=F(c=>c.getValueForRequestKey("save_to_disk_path")),r=F(c=>c.getValueForRequestKey("turbo")),i=F(c=>c.getValueForRequestKey("use_cpu")),o=F(c=>c.getValueForRequestKey("use_full_precision")),s=!0,a=F(c=>c.setRequestOptions),l=F(c=>c.toggleUseAutoSave),u=F(c=>c.toggleSoundEnabled);return I(er,{className:tg,children:[I(er.Button,{className:eg,children:[x("i",{className:[Dn,"fa-solid","fa-gear"].join(" ")}),"Settings"]}),x(er.Panel,{className:ng,children:I("div",{className:T1,children:[x("h4",{children:"System Settings"}),I("ul",{children:[I("li",{className:te,children:[I("label",{children:[x("input",{checked:t,onChange:c=>l(),type:"checkbox"}),e("storage.ast")," "]}),I("label",{children:[x("input",{value:n,onChange:c=>a("save_to_disk_path",c.target.value),size:40,disabled:!t}),x("span",{className:"visually-hidden",children:"Path on disk where images will be saved"})]})]}),x("li",{className:te,children:I("label",{children:[x("input",{checked:s,onChange:c=>u(),type:"checkbox"}),e("advanced-settings.sound")]})}),x("li",{className:te,children:I("label",{children:[x("input",{checked:r,onChange:c=>a("turbo",c.target.checked),type:"checkbox"}),e("advanced-settings.turbo")," ",e("advanced-settings.turbo-disc")]})}),x("li",{className:te,children:I("label",{children:[x("input",{type:"checkbox",checked:i,onChange:c=>a("use_cpu",c.target.checked)}),e("advanced-settings.cpu")," ",e("advanced-settings.cpu-disc")]})}),x("li",{className:te,children:I("label",{children:[x("input",{checked:o,onChange:c=>a("use_full_precision",c.target.checked),type:"checkbox"}),e("advanced-settings.gpu")," ",e("advanced-settings.gpu-disc")]})}),x("li",{className:te,children:x(L1,{})})]})]})})]})}var F1="_1v2cc580",M1="_1v2cc582",j1="_1v2cc581";function A1(){const{t:e}=At(),{status:t,data:n}=ur([fl],Bh),[r,i]=_.exports.useState("2.1.0"),[o,s]=_.exports.useState("");return _.exports.useEffect(()=>{if(t==="success"){const{update_branch:a}=n;i("v2.1"),s(a==="main"?"(stable)":"(beta)")}},[t,n,i,i]),I("div",{className:F1,children:[I("div",{className:j1,children:[I("h1",{children:[e("title")," ",r," ",o," "]}),x(L0,{className:"status-display"})]}),I("div",{className:M1,children:[x(h1,{}),x(D1,{})]})]})}const St=xi(_0((e,t)=>({isOpenAdvancedSettings:!1,isOpenAdvImprovementSettings:!1,isOpenAdvPropertySettings:!1,isOpenAdvWorkflowSettings:!1,isOpenImageModifier:!1,toggleAdvancedSettings:()=>{e(H(n=>{n.isOpenAdvancedSettings=!n.isOpenAdvancedSettings}))},toggleAdvImprovementSettings:()=>{e(H(n=>{n.isOpenAdvImprovementSettings=!n.isOpenAdvImprovementSettings}))},toggleAdvPropertySettings:()=>{e(H(n=>{n.isOpenAdvPropertySettings=!n.isOpenAdvPropertySettings}))},toggleAdvWorkflowSettings:()=>{e(H(n=>{n.isOpenAdvWorkflowSettings=!n.isOpenAdvWorkflowSettings}))},toggleImageModifier:()=>{e(H(n=>{n.isOpenImageModifier=!n.isOpenImageModifier}))}}),{name:"createUI"}));var ra="_11d5x3d1",$1="_11d5x3d0";function U1(){const{t:e}=At(),t=F(f=>f.isUsingFaceCorrection()),n=F(f=>f.isUsingUpscaling()),r=F(f=>f.getValueForRequestKey("use_upscale")),i=F(f=>f.getValueForRequestKey("show_only_filtered_image")),o=F(f=>f.toggleUseFaceCorrection),s=F(f=>f.setRequestOptions),a=St(f=>f.isOpenAdvImprovementSettings),l=St(f=>f.toggleAdvImprovementSettings),[u,c]=_.exports.useState(!1);return _.exports.useEffect(()=>{t||r!=""?c(!1):c(!0)},[t,n,c]),I("div",{children:[x("button",{type:"button",className:gs,onClick:l,children:x("h4",{children:"Improvement Settings"})}),a&&I(jt,{children:[x("div",{className:te,children:I("label",{children:[x("input",{type:"checkbox",checked:t,onChange:f=>o()}),"Fix incorrect faces and eyes (uses GFPGAN)"]})}),x("div",{className:te,children:I("label",{children:[e("settings.ups"),I("select",{id:"upscale_model",name:"upscale_model",value:r,onChange:f=>{s("use_upscale",f.target.value)},children:[x("option",{value:"",children:e("settings.no-ups")}),x("option",{value:"RealESRGAN_x4plus",children:"RealESRGAN_x4plus"}),x("option",{value:"RealESRGAN_x4plus_anime_6B",children:"RealESRGAN_x4plus_anime_6B"})]})]})}),x("div",{className:te,children:I("label",{children:[x("input",{disabled:u,type:"checkbox",checked:i,onChange:f=>s("show_only_filtered_image",f.target.checked)}),e("settings.corrected")]})})]})]})}const Af=[{value:128,label:"128 (*)"},{value:192,label:"192"},{value:256,label:"256 (*)"},{value:320,label:"320"},{value:384,label:"384"},{value:448,label:"448"},{value:512,label:"512 (*)"},{value:576,label:"576"},{value:640,label:"640"},{value:704,label:"704"},{value:768,label:"768 (*)"},{value:832,label:"832"},{value:896,label:"896"},{value:960,label:"960"},{value:1024,label:"1024 (*)"}];function z1(){const{t:e}=At(),t=F(h=>h.setRequestOptions),n=F(h=>h.toggleUseRandomSeed),r=F(h=>h.isRandomSeed()),i=F(h=>h.getValueForRequestKey("seed")),o=F(h=>h.getValueForRequestKey("num_inference_steps")),s=F(h=>h.getValueForRequestKey("guidance_scale")),a=F(h=>h.getValueForRequestKey("init_image")),l=F(h=>h.getValueForRequestKey("prompt_strength")),u=F(h=>h.getValueForRequestKey("width")),c=F(h=>h.getValueForRequestKey("height")),f=F(h=>h.getValueForRequestKey("sampler")),d=St(h=>h.isOpenAdvPropertySettings),m=St(h=>h.toggleAdvPropertySettings);return I("div",{children:[x("button",{type:"button",className:gs,onClick:m,children:x("h4",{children:"Property Settings"})}),d&&I(jt,{children:[I("div",{className:te,children:[I("label",{children:["Seed:",x("input",{size:10,value:i,onChange:h=>t("seed",h.target.value),disabled:r,placeholder:"random"})]}),I("label",{children:[x("input",{type:"checkbox",checked:r,onChange:h=>n()})," ","Random Image"]})]}),x("div",{className:te,children:I("label",{children:[e("settings.steps")," ",x("input",{value:o,onChange:h=>{t("num_inference_steps",h.target.value)},size:4})]})}),I("div",{className:te,children:[I("label",{children:[e("settings.guide-scale"),x("input",{value:s,onChange:h=>t("guidance_scale",h.target.value),type:"range",min:"0",max:"20",step:".1"})]}),x("span",{children:s})]}),a!==void 0&&I("div",{className:te,children:[I("label",{children:[e("settings.prompt-str")," ",x("input",{value:l,onChange:h=>t("prompt_strength",h.target.value),type:"range",min:"0",max:"1",step:".05"})]}),x("span",{children:l})]}),I("div",{className:te,children:[I("label",{children:[e("settings.width"),x("select",{value:u,onChange:h=>t("width",h.target.value),children:Af.map(h=>x("option",{value:h.value,children:h.label},`width-option_${h.value}`))})]}),I("label",{children:[e("settings.height"),x("select",{value:c,onChange:h=>t("height",h.target.value),children:Af.map(h=>x("option",{value:h.value,children:h.label},`height-option_${h.value}`))})]})]}),x("div",{className:te,children:I("label",{children:[e("settings.sampler"),x("select",{value:f,onChange:h=>t("sampler",h.target.value),children:R0.map(h=>x("option",{value:h,children:h},`sampler-option_${h}`))})]})})]})]})}function B1(){const{t:e}=At(),t=F(l=>l.getValueForRequestKey("num_outputs")),n=F(l=>l.parallelCount),r=F(l=>l.setRequestOptions),i=F(l=>l.setParallelCount),o=F(l=>l.getValueForRequestKey("stream_image_progress")),s=St(l=>l.isOpenAdvWorkflowSettings),a=St(l=>l.toggleAdvWorkflowSettings);return I("div",{children:[x("button",{type:"button",className:gs,onClick:a,children:x("h4",{children:"Workflow Settings"})}),s&&I(jt,{children:[x("div",{className:te,children:I("label",{children:[e("settings.amount-of-img")," ",x("input",{type:"number",value:t,onChange:l=>r("num_outputs",parseInt(l.target.value,10)),size:4})]})}),x("div",{className:te,children:I("label",{children:[e("settings.how-many"),x("input",{type:"number",value:n,onChange:l=>i(parseInt(l.target.value,10)),size:4})]})}),x("div",{className:te,children:I("label",{children:[e("settings.stream-img"),x("input",{type:"checkbox",checked:o,onChange:l=>r("stream_image_progress",l.target.checked)})]})})]})]})}function H1(){return I("ul",{className:$1,children:[x("li",{className:ra,children:x(U1,{})}),x("li",{className:ra,children:x(z1,{})}),x("li",{className:ra,children:x(B1,{})})]})}function Q1(){const e=St(n=>n.isOpenAdvancedSettings),t=St(n=>n.toggleAdvancedSettings);return I("div",{className:rg,children:[x("button",{type:"button",onClick:t,className:"panel-box-toggle-btn",children:x("h3",{children:"Advanced Settings"})}),e&&x(H1,{})]})}var V1="g3uahc1",K1="g3uahc0",q1="g3uahc2";var W1="f149m50",G1="f149m51";function lg({name:e,category:t,previews:n}){const r="portrait",i=F(a=>a.hasTag(t,e))?"selected":"",o=F(a=>a.toggleTag),s=()=>{o(t,e)};return I("div",{className:[W1,i].join(" "),onClick:s,children:[x("p",{children:e}),x("div",{className:G1,children:n.map(a=>a.name!==r?null:x("img",{src:`${xt}/media/modifier-thumbnails/${a.path}`,alt:a.name,title:a.name},a.name))})]})}function Y1({tags:e,category:t}){return x("ul",{className:q1,children:e.map(n=>x("li",{children:x(lg,{category:t,name:n.modifier,previews:n.previews})},n.modifier))})}function J1({title:e,category:t,tags:n}){const[r,i]=_.exports.useState(!1);return I("div",{className:V1,children:[x("button",{type:"button",className:gs,onClick:()=>{i(!r)},children:x("h4",{children:e})}),r&&x(Y1,{category:t,tags:n})]})}function X1(){const e=F(i=>i.allModifiers),t=St(i=>i.isOpenImageModifier),n=St(i=>i.toggleImageModifier);return I("div",{className:rg,children:[x("button",{type:"button",onClick:()=>{n()},className:"panel-box-toggle-btn",children:x("h3",{children:"Image Modifiers (art styles, tags, ect)"})}),t&&x("ul",{className:K1,children:e.map((i,o)=>x("li",{children:x(J1,{title:i.category,category:i.category,tags:i.modifiers})},i.category))})]})}var Z1="fma0ug0";function eS({imageData:e,brushSize:t,brushShape:n,brushColor:r,isErasing:i,setData:o}){const s=_.exports.useRef(null),a=_.exports.useRef(null),[l,u]=_.exports.useState(!1),[c,f]=_.exports.useState(512),[d,m]=_.exports.useState(512);_.exports.useEffect(()=>{const g=new Image;g.onload=()=>{f(g.width),m(g.height)},g.src=e},[e]),_.exports.useEffect(()=>{if(s.current!=null){const g=s.current.getContext("2d");if(g!=null){const S=g.getImageData(0,0,c,d),O=S.data;for(let E=0;E0&&(O[E]=parseInt(r,16),O[E+1]=parseInt(r,16),O[E+2]=parseInt(r,16));g.putImageData(S,0,0)}}},[r]);const h=g=>{u(!0)},y=g=>{u(!1);const S=s.current;if(S!=null){const O=S.toDataURL();o(O)}},k=(g,S,O,E,P)=>{const C=s.current;if(C!=null){const w=C.getContext("2d");if(w!=null)if(i){const R=O/2;w.clearRect(g-R,S-R,O,O)}else w.beginPath(),w.lineWidth=O,w.lineCap=E,w.strokeStyle=P,w.moveTo(g,S),w.lineTo(g,S),w.stroke()}},v=(g,S,O,E,P)=>{const C=a.current;if(C!=null){const w=C.getContext("2d");if(w!=null)if(w.beginPath(),w.clearRect(0,0,C.width,C.height),i){const R=O/2;w.lineWidth=2,w.lineCap="butt",w.strokeStyle=P,w.moveTo(g-R,S-R),w.lineTo(g+R,S-R),w.lineTo(g+R,S+R),w.lineTo(g-R,S+R),w.lineTo(g-R,S-R),w.stroke()}else w.lineWidth=O,w.lineCap=E,w.strokeStyle=P,w.moveTo(g,S),w.lineTo(g,S),w.stroke()}};return I("div",{className:Z1,children:[x("img",{src:e}),x("canvas",{ref:s,width:c,height:d}),x("canvas",{ref:a,width:c,height:d,onMouseDown:h,onMouseUp:y,onMouseMove:g=>{const{nativeEvent:{offsetX:S,offsetY:O}}=g;v(S,O,t,n,r),l&&k(S,O,t,n,r)}})]})}var $f="_2yyo4x2",tS="_2yyo4x1",nS="_2yyo4x0";function rS(){const[e,t]=_.exports.useState("20"),[n,r]=_.exports.useState("round"),[i,o]=_.exports.useState("#fff"),[s,a]=_.exports.useState(!1),l=F(h=>h.getValueForRequestKey("init_image")),u=F(h=>h.setRequestOptions);return I("div",{className:nS,children:[x(eS,{imageData:l,brushSize:e,brushShape:n,brushColor:i,isErasing:s,setData:h=>{u("mask",h)}}),I("div",{className:tS,children:[I("div",{className:$f,children:[x("button",{onClick:()=>{a(!1)},children:"Mask"}),x("button",{onClick:()=>{a(!0)},children:"Erase"}),I("label",{children:["Brush Size",x("input",{type:"range",min:"1",max:"100",value:e,onChange:h=>{t(h.target.value)}})]})]}),I("div",{className:$f,children:[x("button",{onClick:()=>{r("round")},children:"Cirle Brush"}),x("button",{onClick:()=>{r("square")},children:"Square Brush"})]})]})]})}var iS="cjcdm20",oS="cjcdm21";var sS="_1how28i0",aS="_1how28i1";var lS="_1rn4m8a4",uS="_1rn4m8a2",cS="_1961rof4",fS="_1rn4m8a0",dS="_1rn4m8a1",pS="_1rn4m8a5";function hS(e){const{t}=At(),n=_.exports.useRef(null),r=F(c=>c.getValueForRequestKey("init_image")),i=F(c=>c.isInpainting),o=F(c=>c.setRequestOptions),s=()=>{var c;(c=n.current)==null||c.click()},a=c=>{const f=c.target.files[0];if(f!==void 0){const d=new FileReader;d.onload=m=>{m.target!=null&&o("init_image",m.target.result)},d.readAsDataURL(f)}},l=F(c=>c.toggleInpainting),u=()=>{o("init_image",void 0),o("mask",void 0),i&&l()};return I("div",{className:fS,children:[I("div",{children:[x("label",{className:dS,children:x("b",{children:t("home.initial-img-txt")})}),x("input",{ref:n,className:uS,name:"init_image",type:"file",onChange:a}),x("button",{className:cS,onClick:s,children:t("home.initial-img-btn")})]}),x("div",{className:lS,children:r!==void 0&&I(jt,{children:[I("div",{children:[x("img",{src:r,width:"100",height:"100"}),x("button",{className:pS,onClick:u,children:"X"})]}),I("label",{children:[x("input",{type:"checkbox",onChange:c=>{l()},checked:i}),t("in-paint.txt")]})]})})]})}function gS(){const e=F(t=>t.selectedTags());return I("div",{className:"selected-tags",children:[x("p",{children:"Active Tags"}),x("ul",{children:e.map(t=>x("li",{children:x(lg,{category:t.category,name:t.modifier,previews:t.previews})},t.modifier))})]})}const Bi=xi((e,t)=>({images:[],completedImageIds:[],addNewImage:(n,r)=>{e(H(i=>{const o={id:n,options:r,status:"pending"};i.images.push(o)}))},hasQueuedImages:()=>t().images.length>0,firstInQueue:()=>{const{images:n}=t();return n.length>0?n[0]:{}},removeFirstInQueue:()=>{e(H(n=>{const r=n.images.shift();r!==void 0&&n.completedImageIds.push(r.id)}))},clearCachedIds:()=>{e(H(n=>{n.completedImageIds=[]}))}})),qe={IDLE:"IDLE",FETCHING:"FETCHING",PROGRESSING:"PROGRESSING",SUCCEEDED:"SUCCEEDED",COMPLETE:"COMPLETE",ERROR:"ERROR"},ke=xi(e=>({status:qe.IDLE,step:0,totalSteps:0,data:"",progressImages:[],timeStarted:new Date,timeNow:new Date,appendData:t=>{e(H(n=>{n.data+=t}))},reset:()=>{e(H(t=>{t.status=qe.IDLE,t.step=0,t.totalSteps=0,t.data=""}))},setStatus:t=>{e(H(n=>{n.status=t}))},setStep:t=>{e(H(n=>{n.step=t}))},setTotalSteps:t=>{e(H(n=>{n.totalSteps=t}))},addProgressImage:t=>{e(H(n=>{n.progressImages.push(t)}))},setStartTime:()=>{e(H(t=>{t.timeStarted=new Date}))},setNowTime:()=>{e(H(t=>{t.timeNow=new Date}))},resetForFetching:()=>{e(H(t=>{t.status=qe.FETCHING,t.progressImages=[],t.step=0,t.totalSteps=0,t.timeNow=new Date,t.timeStarted=new Date}))}})),Vr=xi((e,t)=>({imageMap:new Map,images:[],currentImage:null,updateDisplay:(n,r,i)=>{e(H(o=>{o.currentImage={id:n,display:r,info:i},o.images.unshift({id:n,data:r,info:i}),o.currentImage=o.images[0]}))},setCurrentImage:n=>{e(H(r=>{r.currentImage=n}))},clearDisplay:()=>{e(H(n=>{n.images=[],n.currentImage=null}))}}));let Hi;const mS=new Uint8Array(16);function vS(){if(!Hi&&(Hi=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Hi))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Hi(mS)}const fe=[];for(let e=0;e<256;++e)fe.push((e+256).toString(16).slice(1));function yS(e,t=0){return(fe[e[t+0]]+fe[e[t+1]]+fe[e[t+2]]+fe[e[t+3]]+"-"+fe[e[t+4]]+fe[e[t+5]]+"-"+fe[e[t+6]]+fe[e[t+7]]+"-"+fe[e[t+8]]+fe[e[t+9]]+"-"+fe[e[t+10]]+fe[e[t+11]]+fe[e[t+12]]+fe[e[t+13]]+fe[e[t+14]]+fe[e[t+15]]).toLowerCase()}const SS=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Uf={randomUUID:SS};function wS(e,t,n){if(Uf.randomUUID&&!t&&!e)return Uf.randomUUID();e=e||{};const r=e.random||(e.rng||vS)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return yS(r)}var xS="_1hnlbmt0 _1961rof4";const kS="_batch";function OS(){const{t:e}=At(),t=_.exports.useRef(),n=F(w=>w.parallelCount),r=F(w=>w.builtRequest),i=F(w=>w.isRandomSeed()),o=F(w=>w.setRequestOptions),s=Bi(w=>w.addNewImage),a=Bi(w=>w.hasQueuedImages()),l=Bi(w=>w.removeFirstInQueue),{id:u,options:c}=Bi(w=>w.firstInQueue()),f=ke(w=>w.status),d=ke(w=>w.setStatus),m=ke(w=>w.setStep),h=ke(w=>w.setTotalSteps),y=ke(w=>w.addProgressImage),k=ke(w=>w.setStartTime),v=ke(w=>w.setNowTime),p=ke(w=>w.resetForFetching);ke(w=>w.appendData);const g=Vr(w=>w.updateDisplay),S=(w,R)=>{try{const L=JSON.parse(w),{status:j,request:U,output:V}=L;j==="succeeded"?V.forEach((Be,Le)=>{const{data:ae,seed:b}=Be,D={...U,seed:b},M=`${R}${kS}-${b}-${Le}`;g(M,ae,D)}):console.warn(`Unexpected status: ${j}`)}catch(L){console.log("Error HACKING JSON: ",L)}},O=async(w,R)=>{var U;const L=new TextDecoder;let j="";for(;;){const{done:V,value:Be}=await R.read(),Le=L.decode(Be);if(V){l(),d(qe.COMPLETE),S(j,w),(U=t.current)==null||U.play();break}try{const ae=JSON.parse(Le),{status:b}=ae;if(b==="progress"){d(qe.PROGRESSING);const{progress:{step:D,total_steps:M},output:z}=ae;m(D),h(M),D===0?k():v(),z!==void 0&&z.forEach(Z=>{const $t=`${Z.path}?t=${new Date().getTime()}`;y($t)})}else b==="succeeded"?(d(qe.SUCCEEDED),console.log(ae)):b==="failed"?(console.warn("failed"),console.log(ae)):console.log("UNKNOWN ?",ae)}catch{console.log("EXPECTED PARSE ERRROR"),j+=Le}}},E=async(w,R)=>{var L;try{p();const U=(L=(await u0(R)).body)==null?void 0:L.getReader();U!==void 0&&O(w,U)}catch(j){console.log("TOP LINE STREAM ERROR"),console.log(j)}},P=async w=>{const R=[];let{num_outputs:L}=w;if(n>L)R.push(L);else for(;L>=1;)L-=n,L<=0?R.push(n):R.push(Math.abs(L));R.forEach((j,U)=>{let V=w.seed;U!==0&&(V=zo()),s(wS(),{...w,num_outputs:j,seed:V})})},C=async()=>{i&&o("seed",zo());const w=r();await P(w)};return _.exports.useEffect(()=>{const w=async R=>{await E(u!=null?u:"",R)};if(!(f===qe.PROGRESSING||f===qe.FETCHING)&&a){if(c===void 0){console.log("req is undefined");return}w(c).catch(R=>{console.log("HAS QUEUE ERROR"),console.log(R)})}},[a,f,u,c,E]),I(jt,{children:[x("button",{className:xS,onClick:()=>{C()},disabled:a,children:e("home.make-img-btn")}),x(Pu,{ref:t})]})}function PS(){const{t:e}=At(),t=F(i=>i.getValueForRequestKey("prompt")),n=F(i=>i.setRequestOptions),r=i=>{n("prompt",i.target.value)};return I("div",{className:sS,children:[I("div",{className:aS,children:[x("p",{children:e("home.editor-title")}),x("textarea",{value:t,onChange:r})]}),x(OS,{}),x(hS,{}),x(gS,{})]})}function ES(){const e=F(t=>t.isInpainting);return I(jt,{children:[I("div",{className:iS,children:[x(PS,{}),x(Q1,{}),x(X1,{})]}),e&&x("div",{className:oS,children:x(rS,{})})]})}var CS="_1iqbo9r0";var _S="_1yvg52n0";function RS({imageData:e,metadata:t,className:n}){return x("div",{className:[_S,n].join(" "),children:x("img",{src:e,alt:t.prompt})})}var NS="kiqcbi2",IS="kiqcbi1",bS="kiqcbi3",LS="kiqcbi0";function TS({info:e,data:t}){const n=()=>{const{prompt:s,seed:a,num_inference_steps:l,guidance_scale:u,use_face_correction:c,use_upscale:f,width:d,height:m}=e;let h=s.replace(/[^a-zA-Z0-9]/g,"_");h=h.substring(0,100);let y=`${h}_Seed-${a}_Steps-${l}_Guidance-${u}`;return typeof c=="string"&&(y+=`_FaceCorrection-${c}`),typeof f=="string"&&(y+=`_Upscale-${f}`),y+=`_${d}x${m}`,y+=".png",y},r=F(s=>s.setRequestOptions),i=()=>{const s=document.createElement("a");s.download=n(),s.href=t!=null?t:"",s.click()},o=()=>{r("init_image",t)};return x("div",{className:LS,children:x("div",{className:IS,children:x("div",{className:NS,children:I("div",{className:bS,children:[I("div",{children:[I("p",{children:[" ",e==null?void 0:e.prompt]}),I("div",{children:[x("button",{className:If,onClick:i,children:"Save"}),x("button",{className:If,onClick:o,children:"Use as Input"})]})]}),x(RS,{imageData:t,metadata:e})]})})})})}const DS=()=>x("h4",{className:"no-image",children:"Try Making a new image!"}),FS=()=>{const e=ke(u=>u.step),t=ke(u=>u.totalSteps),n=ke(u=>u.progressImages),r=ke(u=>u.timeStarted),i=ke(u=>u.timeNow),[o,s]=_.exports.useState(0),[a,l]=_.exports.useState(0);return _.exports.useEffect(()=>{t>0?l(Math.round(e/t*100)):l(0)},[e,t]),_.exports.useEffect(()=>{const u=+i-+r,d=((e==0?0:u/e)*t-u)/1e3;s(d.toPrecision(3))},[e,t,r,i,s]),I(jt,{children:[x("h4",{className:"loading",children:"Loading..."}),I("p",{children:[a," % Complete "]}),o!=0&&I("p",{children:["Time Remaining: ",o," s"]}),n.map((u,c)=>{if(c==n.length-1)return x("img",{src:`${xt}${u}`},c)})]})};function MS(){const e=ke(n=>n.status),t=Vr(n=>n.currentImage);return I("div",{className:CS,children:[e===qe.IDLE&&x(DS,{}),(e===qe.FETCHING||e===qe.PROGRESSING)&&x(FS,{}),e===qe.COMPLETE&&t!=null&&x(TS,{info:t==null?void 0:t.info,data:t==null?void 0:t.data})]})}var jS="fsj92y3",AS="fsj92y1",$S="fsj92y0",US="fsj92y2";function zS(){const e=Vr(i=>i.images),t=Vr(i=>i.setCurrentImage),n=Vr(i=>i.clearDisplay),r=()=>{n()};return I("div",{className:$S,children:[e!=null&&e.length>0&&x("button",{className:jS,onClick:()=>{r()},children:"REMOVE"}),x("ul",{className:AS,children:e==null?void 0:e.map((i,o)=>i===void 0?(console.warn(`image ${o} is undefined`),null):x("li",{children:x("button",{className:US,onClick:()=>{t(i)},children:x("img",{src:i.data,alt:i.info.prompt})})},i.id))})]})}var BS="_688lcr1",HS="_688lcr0",QS="_688lcr2";function VS(){return I("div",{className:HS,children:[x("div",{className:BS,children:x(MS,{})}),x("div",{className:QS,children:x(zS,{})})]})}var KS="_97t2g71",qS="_97t2g70";function WS(){return I("div",{className:qS,children:[I("p",{children:["If you found this project useful and want to help keep it alive, please"," ",x("a",{href:"https://ko-fi.com/cmdr2_stablediffusion_ui",target:"_blank",rel:"noreferrer",children:x("img",{src:`${xt}/kofi.png`,className:KS})})," ","to help cover the cost of development and maintenance! Thank you for your support!"]}),I("p",{children:["Please feel free to join the"," ",x("a",{href:"https://discord.com/invite/u9yhsFmEkB",target:"_blank",rel:"noreferrer",children:"discord community"})," ","or"," ",x("a",{href:"https://github.com/cmdr2/stable-diffusion-ui/issues",target:"_blank",rel:"noreferrer",children:"file an issue"})," ","if you have any problems or suggestions in using this interface."]}),I("div",{id:"footer-legal",children:[I("p",{children:[x("b",{children:"Disclaimer:"})," The authors of this project are not responsible for any content generated using this interface."]}),I("p",{children:["This license of this software forbids you from sharing any content that violates any laws, produce any harm to a person, disseminate any personal information that would be meant for harm, ",x("br",{}),"spread misinformation and target vulnerable groups. For the full list of restrictions please read"," ",x("a",{href:"https://github.com/cmdr2/stable-diffusion-ui/blob/main/LICENSE",target:"_blank",rel:"noreferrer",children:"the license"}),"."]}),x("p",{children:"By using this software, you consent to the terms and conditions of the license."})]})]})}function GS({className:e}){const t=F(a=>a.setRequestOptions),{status:n,data:r}=ur(["SaveDir"],s0),{status:i,data:o}=ur(["modifications"],o0),s=F(a=>a.setAllModifiers);return _.exports.useEffect(()=>{n==="success"&&t("save_to_disk_path",r)},[t,n,r]),_.exports.useEffect(()=>{i==="success"?s(o):i==="error"&&s(c0)},[t,i,o]),I("div",{className:[Xy,e].join(" "),children:[x("header",{className:n0,children:x(A1,{})}),x("nav",{className:Zy,children:x(ES,{})}),x("main",{className:e0,children:x(VS,{})}),x("footer",{className:t0,children:x(WS,{})})]})}function YS({className:e}){return x("div",{children:x("h1",{children:"Settings"})})}var JS="_4vfmtj23";function sn(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ml(e,t){return ml=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},ml(e,t)}function ms(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ml(e,t)}function ki(e,t){if(t&&(on(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return sn(e)}function wt(e){return wt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},wt(e)}function XS(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ZS(e){return og(e)||XS(e)||sg(e)||ag()}function zf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Bf(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};lt(this,e),this.init(t,n)}return ut(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=n||ew,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(n){this.debug=n}},{key:"log",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i1?r-1:0),o=1;o-1?a.replace(/###/g,"."):a}function i(){return!e||typeof e=="string"}for(var o=typeof t!="string"?[].concat(t):t.split(".");o.length>1;){if(i())return{};var s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function Qf(e,t,n){var r=Du(e,t,Object),i=r.obj,o=r.k;i[o]=n}function rw(e,t,n,r){var i=Du(e,t,Object),o=i.obj,s=i.k;o[s]=o[s]||[],r&&(o[s]=o[s].concat(n)),r||o[s].push(n)}function Qo(e,t){var n=Du(e,t),r=n.obj,i=n.k;if(!!r)return r[i]}function Vf(e,t,n){var r=Qo(e,n);return r!==void 0?r:Qo(t,n)}function ug(e,t,n){for(var r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):ug(e[r],t[r],n):e[r]=t[r]);return e}function Tn(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var iw={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function ow(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return iw[t]}):e}var vs=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,sw=[" ",",","?","!",";"];function aw(e,t,n){t=t||"",n=n||"";var r=sw.filter(function(a){return t.indexOf(a)<0&&n.indexOf(a)<0});if(r.length===0)return!0;var i=new RegExp("(".concat(r.map(function(a){return a==="?"?"\\?":a}).join("|"),")")),o=!i.test(e);if(!o){var s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function Kf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Qi(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function cg(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!!e){if(e[t])return e[t];for(var r=t.split(n),i=e,o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}var u=r.slice(o+s).join(n);return u?cg(l,u,n):void 0}i=i[r[o]]}return i}}var cw=function(e){ms(n,e);var t=lw(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return lt(this,n),i=t.call(this),vs&&un.call(sn(i)),i.data=r||{},i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.options.ignoreJSONStructure===void 0&&(i.options.ignoreJSONStructure=!0),i}return ut(n,[{key:"addNamespaces",value:function(i){this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}},{key:"removeNamespaces",value:function(i){var o=this.options.ns.indexOf(i);o>-1&&this.options.ns.splice(o,1)}},{key:"getResource",value:function(i,o,s){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,u=a.ignoreJSONStructure!==void 0?a.ignoreJSONStructure:this.options.ignoreJSONStructure,c=[i,o];s&&typeof s!="string"&&(c=c.concat(s)),s&&typeof s=="string"&&(c=c.concat(l?s.split(l):s)),i.indexOf(".")>-1&&(c=i.split("."));var f=Qo(this.data,c);return f||!u||typeof s!="string"?f:cg(this.data&&this.data[i]&&this.data[i][o],s,l)}},{key:"addResource",value:function(i,o,s,a){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},u=this.options.keySeparator;u===void 0&&(u=".");var c=[i,o];s&&(c=c.concat(u?s.split(u):s)),i.indexOf(".")>-1&&(c=i.split("."),a=o,o=c[1]),this.addNamespaces(o),Qf(this.data,c,a),l.silent||this.emit("added",i,o,s,a)}},{key:"addResources",value:function(i,o,s){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in s)(typeof s[l]=="string"||Object.prototype.toString.apply(s[l])==="[object Array]")&&this.addResource(i,o,l,s[l],{silent:!0});a.silent||this.emit("added",i,o,s)}},{key:"addResourceBundle",value:function(i,o,s,a,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},c=[i,o];i.indexOf(".")>-1&&(c=i.split("."),a=s,s=o,o=c[1]),this.addNamespaces(o);var f=Qo(this.data,c)||{};a?ug(f,s,l):f=Qi(Qi({},f),s),Qf(this.data,c,f),u.silent||this.emit("added",i,o,s)}},{key:"removeResourceBundle",value:function(i,o){this.hasResourceBundle(i,o)&&delete this.data[i][o],this.removeNamespaces(o),this.emit("removed",i,o)}},{key:"hasResourceBundle",value:function(i,o){return this.getResource(i,o)!==void 0}},{key:"getResourceBundle",value:function(i,o){return o||(o=this.options.defaultNS),this.options.compatibilityAPI==="v1"?Qi(Qi({},{}),this.getResource(i,o)):this.getResource(i,o)}},{key:"getDataByLanguage",value:function(i){return this.data[i]}},{key:"hasLanguageSomeTranslations",value:function(i){var o=this.getDataByLanguage(i),s=o&&Object.keys(o)||[];return!!s.find(function(a){return o[a]&&Object.keys(o[a]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(un),fg={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,i,o){var s=this;return t.forEach(function(a){s.processors[a]&&(n=s.processors[a].process(n,r,i,o))}),n}};function qf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function we(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Wf={},Gf=function(e){ms(n,e);var t=fw(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return lt(this,n),i=t.call(this),vs&&un.call(sn(i)),nw(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,sn(i)),i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=gt.create("translator"),i}return ut(n,[{key:"changeLanguage",value:function(i){i&&(this.language=i)}},{key:"exists",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(i==null)return!1;var s=this.resolve(i,o);return s&&s.res!==void 0}},{key:"extractFromKey",value:function(i,o){var s=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;s===void 0&&(s=":");var a=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,l=o.ns||this.options.defaultNS||[],u=s&&i.indexOf(s)>-1,c=!this.options.userDefinedKeySeparator&&!o.keySeparator&&!this.options.userDefinedNsSeparator&&!o.nsSeparator&&!aw(i,s,a);if(u&&!c){var f=i.match(this.interpolator.nestingRegexp);if(f&&f.length>0)return{key:i,namespaces:l};var d=i.split(s);(s!==a||s===a&&this.options.ns.indexOf(d[0])>-1)&&(l=d.shift()),i=d.join(a)}return typeof l=="string"&&(l=[l]),{key:i,namespaces:l}}},{key:"translate",value:function(i,o,s){var a=this;if(on(o)!=="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),o||(o={}),i==null)return"";Array.isArray(i)||(i=[String(i)]);var l=o.returnDetails!==void 0?o.returnDetails:this.options.returnDetails,u=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,c=this.extractFromKey(i[i.length-1],o),f=c.key,d=c.namespaces,m=d[d.length-1],h=o.lng||this.language,y=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(h&&h.toLowerCase()==="cimode"){if(y){var k=o.nsSeparator||this.options.nsSeparator;return l?(v.res="".concat(m).concat(k).concat(f),v):"".concat(m).concat(k).concat(f)}return l?(v.res=f,v):f}var v=this.resolve(i,o),p=v&&v.res,g=v&&v.usedKey||f,S=v&&v.exactUsedKey||f,O=Object.prototype.toString.apply(p),E=["[object Number]","[object Function]","[object RegExp]"],P=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,C=!this.i18nFormat||this.i18nFormat.handleAsObject,w=typeof p!="string"&&typeof p!="boolean"&&typeof p!="number";if(C&&p&&w&&E.indexOf(O)<0&&!(typeof P=="string"&&O==="[object Array]")){if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var R=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,we(we({},o),{},{ns:d})):"key '".concat(f," (").concat(this.language,")' returned an object instead of string.");return l?(v.res=R,v):R}if(u){var L=O==="[object Array]",j=L?[]:{},U=L?S:g;for(var V in p)if(Object.prototype.hasOwnProperty.call(p,V)){var Be="".concat(U).concat(u).concat(V);j[V]=this.translate(Be,we(we({},o),{joinArrays:!1,ns:d})),j[V]===Be&&(j[V]=p[V])}p=j}}else if(C&&typeof P=="string"&&O==="[object Array]")p=p.join(P),p&&(p=this.extendTranslation(p,i,o,s));else{var Le=!1,ae=!1,b=o.count!==void 0&&typeof o.count!="string",D=n.hasDefaultValue(o),M=b?this.pluralResolver.getSuffix(h,o.count,o):"",z=o["defaultValue".concat(M)]||o.defaultValue;!this.isValidLookup(p)&&D&&(Le=!0,p=z),this.isValidLookup(p)||(ae=!0,p=f);var Z=o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,$t=Z&&ae?void 0:p,Te=D&&z!==p&&this.options.updateMissing;if(ae||Le||Te){if(this.logger.log(Te?"updateKey":"missingKey",h,m,f,Te?z:p),u){var In=this.resolve(f,we(we({},o),{},{keySeparator:!1}));In&&In.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var De=[],Ot=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Ot&&Ot[0])for(var ys=0;ys1&&arguments[1]!==void 0?arguments[1]:{},a,l,u,c,f;return typeof i=="string"&&(i=[i]),i.forEach(function(d){if(!o.isValidLookup(a)){var m=o.extractFromKey(d,s),h=m.key;l=h;var y=m.namespaces;o.options.fallbackNS&&(y=y.concat(o.options.fallbackNS));var k=s.count!==void 0&&typeof s.count!="string",v=k&&!s.ordinal&&s.count===0&&o.pluralResolver.shouldUseIntlApi(),p=s.context!==void 0&&(typeof s.context=="string"||typeof s.context=="number")&&s.context!=="",g=s.lngs?s.lngs:o.languageUtils.toResolveHierarchy(s.lng||o.language,s.fallbackLng);y.forEach(function(S){o.isValidLookup(a)||(f=S,!Wf["".concat(g[0],"-").concat(S)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(f)&&(Wf["".concat(g[0],"-").concat(S)]=!0,o.logger.warn('key "'.concat(l,'" for languages "').concat(g.join(", "),`" won't get resolved as namespace "`).concat(f,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach(function(O){if(!o.isValidLookup(a)){c=O;var E=[h];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(E,h,O,S,s);else{var P;k&&(P=o.pluralResolver.getSuffix(O,s.count,s));var C="".concat(o.options.pluralSeparator,"zero");if(k&&(E.push(h+P),v&&E.push(h+C)),p){var w="".concat(h).concat(o.options.contextSeparator).concat(s.context);E.push(w),k&&(E.push(w+P),v&&E.push(w+C))}}for(var R;R=E.pop();)o.isValidLookup(a)||(u=R,a=o.getResource(O,S,R,s))}}))})}}),{res:a,usedKey:l,exactUsedKey:u,usedLng:c,usedNS:f}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,o,s){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,o,s,a):this.resourceStore.getResource(i,o,s,a)}}],[{key:"hasDefaultValue",value:function(i){var o="defaultValue";for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)&&o===s.substring(0,o.length)&&i[s]!==void 0)return!0;return!1}}]),n}(un);function ia(e){return e.charAt(0).toUpperCase()+e.slice(1)}var pw=function(){function e(t){lt(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=gt.create("languageUtils")}return ut(e,[{key:"getScriptPartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return null;var r=n.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}},{key:"getLanguagePartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return n;var r=n.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(n){if(typeof n=="string"&&n.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],i=n.split("-");return this.options.lowerCaseLng?i=i.map(function(o){return o.toLowerCase()}):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=ia(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=ia(i[1].toLowerCase())),r.indexOf(i[2].toLowerCase())>-1&&(i[2]=ia(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}},{key:"isSupportedCode",value:function(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}},{key:"getBestMatchFromCodes",value:function(n){var r=this;if(!n)return null;var i;return n.forEach(function(o){if(!i){var s=r.formatLanguageCode(o);(!r.options.supportedLngs||r.isSupportedCode(s))&&(i=s)}}),!i&&this.options.supportedLngs&&n.forEach(function(o){if(!i){var s=r.getLanguagePartFromCode(o);if(r.isSupportedCode(s))return i=s;i=r.options.supportedLngs.find(function(a){if(a.indexOf(s)===0)return a})}}),i||(i=this.getFallbackCodes(this.options.fallbackLng)[0]),i}},{key:"getFallbackCodes",value:function(n,r){if(!n)return[];if(typeof n=="function"&&(n=n(r)),typeof n=="string"&&(n=[n]),Object.prototype.toString.apply(n)==="[object Array]")return n;if(!r)return n.default||[];var i=n[r];return i||(i=n[this.getScriptPartFromCode(r)]),i||(i=n[this.formatLanguageCode(r)]),i||(i=n[this.getLanguagePartFromCode(r)]),i||(i=n.default),i||[]}},{key:"toResolveHierarchy",value:function(n,r){var i=this,o=this.getFallbackCodes(r||this.options.fallbackLng||[],n),s=[],a=function(u){!u||(i.isSupportedCode(u)?s.push(u):i.logger.warn("rejecting language code not found in supportedLngs: ".concat(u)))};return typeof n=="string"&&n.indexOf("-")>-1?(this.options.load!=="languageOnly"&&a(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&a(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&a(this.getLanguagePartFromCode(n))):typeof n=="string"&&a(this.formatLanguageCode(n)),o.forEach(function(l){s.indexOf(l)<0&&a(i.formatLanguageCode(l))}),s}}]),e}(),hw=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],gw={1:function(t){return Number(t>1)},2:function(t){return Number(t!=1)},3:function(t){return 0},4:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},5:function(t){return Number(t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5)},6:function(t){return Number(t==1?0:t>=2&&t<=4?1:2)},7:function(t){return Number(t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},8:function(t){return Number(t==1?0:t==2?1:t!=8&&t!=11?2:3)},9:function(t){return Number(t>=2)},10:function(t){return Number(t==1?0:t==2?1:t<7?2:t<11?3:4)},11:function(t){return Number(t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3)},12:function(t){return Number(t%10!=1||t%100==11)},13:function(t){return Number(t!==0)},14:function(t){return Number(t==1?0:t==2?1:t==3?2:3)},15:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2)},16:function(t){return Number(t%10==1&&t%100!=11?0:t!==0?1:2)},17:function(t){return Number(t==1||t%10==1&&t%100!=11?0:1)},18:function(t){return Number(t==0?0:t==1?1:2)},19:function(t){return Number(t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3)},20:function(t){return Number(t==1?0:t==0||t%100>0&&t%100<20?1:2)},21:function(t){return Number(t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0)},22:function(t){return Number(t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3)}},mw=["v1","v2","v3"],Yf={zero:0,one:1,two:2,few:3,many:4,other:5};function vw(){var e={};return hw.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:gw[t.fc]}})}),e}var yw=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};lt(this,e),this.languageUtils=t,this.options=n,this.logger=gt.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=vw()}return ut(e,[{key:"addRule",value:function(n,r){this.rules[n]=r}},{key:"getRule",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(n,{type:r.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}},{key:"needsPlural",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(n,r);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,i).map(function(o){return"".concat(r).concat(o)})}},{key:"getSuffixes",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort(function(s,a){return Yf[s]-Yf[a]}).map(function(s){return"".concat(r.options.prepend).concat(s)}):o.numbers.map(function(s){return r.getSuffix(n,s,i)}):[]}},{key:"getSuffix",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(o.select(r)):this.getSuffixRetroCompatible(o,r):(this.logger.warn("no plural rule found for: ".concat(n)),"")}},{key:"getSuffixRetroCompatible",value:function(n,r){var i=this,o=n.noAbs?n.plurals(r):n.plurals(Math.abs(r)),s=n.numbers[o];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(s===2?s="plural":s===1&&(s=""));var a=function(){return i.options.prepend&&s.toString()?i.options.prepend+s.toString():s.toString()};return this.options.compatibilityJSON==="v1"?s===1?"":typeof s=="number"?"_plural_".concat(s.toString()):a():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?a():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!mw.includes(this.options.compatibilityJSON)}}]),e}();function Jf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ze(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};lt(this,e),this.logger=gt.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return ut(e,[{key:"init",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});var r=n.interpolation;this.escape=r.escape!==void 0?r.escape:ow,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?Tn(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?Tn(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?Tn(r.nestingPrefix):r.nestingPrefixEscaped||Tn("$t("),this.nestingSuffix=r.nestingSuffix?Tn(r.nestingSuffix):r.nestingSuffixEscaped||Tn(")"),this.nestingOptionsSeparator=r.nestingOptionsSeparator?r.nestingOptionsSeparator:r.nestingOptionsSeparator||",",this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.alwaysFormat=r.alwaysFormat!==void 0?r.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var n="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(n,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var i="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(i,"g")}},{key:"interpolate",value:function(n,r,i,o){var s=this,a,l,u,c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function f(k){return k.replace(/\$/g,"$$$$")}var d=function(v){if(v.indexOf(s.formatSeparator)<0){var p=Vf(r,c,v);return s.alwaysFormat?s.format(p,void 0,i,Ze(Ze(Ze({},o),r),{},{interpolationkey:v})):p}var g=v.split(s.formatSeparator),S=g.shift().trim(),O=g.join(s.formatSeparator).trim();return s.format(Vf(r,c,S),O,i,Ze(Ze(Ze({},o),r),{},{interpolationkey:S}))};this.resetRegExp();var m=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,h=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,y=[{regex:this.regexpUnescape,safeValue:function(v){return f(v)}},{regex:this.regexp,safeValue:function(v){return s.escapeValue?f(s.escape(v)):f(v)}}];return y.forEach(function(k){for(u=0;a=k.regex.exec(n);){var v=a[1].trim();if(l=d(v),l===void 0)if(typeof m=="function"){var p=m(n,a,o);l=typeof p=="string"?p:""}else if(o&&o.hasOwnProperty(v))l="";else if(h){l=a[0];continue}else s.logger.warn("missed to pass in variable ".concat(v," for interpolating ").concat(n)),l="";else typeof l!="string"&&!s.useRawValueToEscape&&(l=Hf(l));var g=k.safeValue(l);if(n=n.replace(a[0],g),h?(k.regex.lastIndex+=l.length,k.regex.lastIndex-=a[0].length):k.regex.lastIndex=0,u++,u>=s.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var i=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s,a,l=Ze({},o);l.applyPostProcessor=!1,delete l.defaultValue;function u(m,h){var y=this.nestingOptionsSeparator;if(m.indexOf(y)<0)return m;var k=m.split(new RegExp("".concat(y,"[ ]*{"))),v="{".concat(k[1]);m=k[0],v=this.interpolate(v,l);var p=v.match(/'/g),g=v.match(/"/g);(p&&p.length%2===0&&!g||g.length%2!==0)&&(v=v.replace(/'/g,'"'));try{l=JSON.parse(v),h&&(l=Ze(Ze({},h),l))}catch(S){return this.logger.warn("failed parsing options string in nesting for key ".concat(m),S),"".concat(m).concat(y).concat(v)}return delete l.defaultValue,m}for(;s=this.nestingRegexp.exec(n);){var c=[],f=!1;if(s[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(s[1])){var d=s[1].split(this.formatSeparator).map(function(m){return m.trim()});s[1]=d.shift(),c=d,f=!0}if(a=r(u.call(this,s[1].trim(),l),l),a&&s[0]===n&&typeof a!="string")return a;typeof a!="string"&&(a=Hf(a)),a||(this.logger.warn("missed to resolve ".concat(s[1]," for nesting ").concat(n)),a=""),f&&(a=c.reduce(function(m,h){return i.format(m,h,o.lng,Ze(Ze({},o),{},{interpolationkey:s[1].trim()}))},a.trim())),n=n.replace(s[0],a),this.regexp.lastIndex=0}return n}}]),e}();function Xf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function zt(e){for(var t=1;t-1){var r=e.split("(");t=r[0].toLowerCase().trim();var i=r[1].substring(0,r[1].length-1);if(t==="currency"&&i.indexOf(":")<0)n.currency||(n.currency=i.trim());else if(t==="relativetime"&&i.indexOf(":")<0)n.range||(n.range=i.trim());else{var o=i.split(";");o.forEach(function(s){if(!!s){var a=s.split(":"),l=ZS(a),u=l[0],c=l.slice(1),f=c.join(":").trim().replace(/^'+|'+$/g,"");n[u.trim()]||(n[u.trim()]=f),f==="false"&&(n[u.trim()]=!1),f==="true"&&(n[u.trim()]=!0),isNaN(f)||(n[u.trim()]=parseInt(f,10))}})}}return{formatName:t,formatOptions:n}}var xw=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};lt(this,e),this.logger=gt.create("formatter"),this.options=t,this.formats={number:function(r,i,o){return new Intl.NumberFormat(i,o).format(r)},currency:function(r,i,o){return new Intl.NumberFormat(i,zt(zt({},o),{},{style:"currency"})).format(r)},datetime:function(r,i,o){return new Intl.DateTimeFormat(i,zt({},o)).format(r)},relativetime:function(r,i,o){return new Intl.RelativeTimeFormat(i,zt({},o)).format(r,o.range||"day")},list:function(r,i,o){return new Intl.ListFormat(i,zt({},o)).format(r)}},this.init(t)}return ut(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},i=r.interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}},{key:"add",value:function(n,r){this.formats[n.toLowerCase().trim()]=r}},{key:"format",value:function(n,r,i,o){var s=this,a=r.split(this.formatSeparator),l=a.reduce(function(u,c){var f=ww(c),d=f.formatName,m=f.formatOptions;if(s.formats[d]){var h=u;try{var y=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},k=y.locale||y.lng||o.locale||o.lng||i;h=s.formats[d](u,k,zt(zt(zt({},m),o),y))}catch(v){s.logger.warn(v)}return h}else s.logger.warn("there was no format function for ".concat(d));return u},n);return l}}]),e}();function Zf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ed(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Pw(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var Ew=function(e){ms(n,e);var t=kw(n);function n(r,i,o){var s,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return lt(this,n),s=t.call(this),vs&&un.call(sn(s)),s.backend=r,s.store=i,s.services=o,s.languageUtils=o.languageUtils,s.options=a,s.logger=gt.create("backendConnector"),s.waitingReads=[],s.maxParallelReads=a.maxParallelReads||10,s.readingCalls=0,s.maxRetries=a.maxRetries>=0?a.maxRetries:5,s.retryTimeout=a.retryTimeout>=1?a.retryTimeout:350,s.state={},s.queue=[],s.backend&&s.backend.init&&s.backend.init(o,a.backend,a),s}return ut(n,[{key:"queueLoad",value:function(i,o,s,a){var l=this,u={},c={},f={},d={};return i.forEach(function(m){var h=!0;o.forEach(function(y){var k="".concat(m,"|").concat(y);!s.reload&&l.store.hasResourceBundle(m,y)?l.state[k]=2:l.state[k]<0||(l.state[k]===1?c[k]===void 0&&(c[k]=!0):(l.state[k]=1,h=!1,c[k]===void 0&&(c[k]=!0),u[k]===void 0&&(u[k]=!0),d[y]===void 0&&(d[y]=!0)))}),h||(f[m]=!0)}),(Object.keys(u).length||Object.keys(c).length)&&this.queue.push({pending:c,pendingCount:Object.keys(c).length,loaded:{},errors:[],callback:a}),{toLoad:Object.keys(u),pending:Object.keys(c),toLoadLanguages:Object.keys(f),toLoadNamespaces:Object.keys(d)}}},{key:"loaded",value:function(i,o,s){var a=i.split("|"),l=a[0],u=a[1];o&&this.emit("failedLoading",l,u,o),s&&this.store.addResourceBundle(l,u,s),this.state[i]=o?-1:2;var c={};this.queue.forEach(function(f){rw(f.loaded,[l],u),Pw(f,i),o&&f.errors.push(o),f.pendingCount===0&&!f.done&&(Object.keys(f.loaded).forEach(function(d){c[d]||(c[d]={});var m=f.loaded[d];m.length&&m.forEach(function(h){c[d][h]===void 0&&(c[d][h]=!0)})}),f.done=!0,f.errors.length?f.callback(f.errors):f.callback())}),this.emit("loaded",c),this.queue=this.queue.filter(function(f){return!f.done})}},{key:"read",value:function(i,o,s){var a=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,c=arguments.length>5?arguments[5]:void 0;if(!i.length)return c(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:o,fcName:s,tried:l,wait:u,callback:c});return}return this.readingCalls++,this.backend[s](i,o,function(f,d){if(a.readingCalls--,a.waitingReads.length>0){var m=a.waitingReads.shift();a.read(m.lng,m.ns,m.fcName,m.tried,m.wait,m.callback)}if(f&&d&&l2&&arguments[2]!==void 0?arguments[2]:{},l=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),l&&l();typeof i=="string"&&(i=this.languageUtils.toResolveHierarchy(i)),typeof o=="string"&&(o=[o]);var u=this.queueLoad(i,o,a,l);if(!u.toLoad.length)return u.pending.length||l(),null;u.toLoad.forEach(function(c){s.loadOne(c)})}},{key:"load",value:function(i,o,s){this.prepareLoading(i,o,{},s)}},{key:"reload",value:function(i,o,s){this.prepareLoading(i,o,{reload:!0},s)}},{key:"loadOne",value:function(i){var o=this,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",a=i.split("|"),l=a[0],u=a[1];this.read(l,u,"read",void 0,void 0,function(c,f){c&&o.logger.warn("".concat(s,"loading namespace ").concat(u," for language ").concat(l," failed"),c),!c&&f&&o.logger.log("".concat(s,"loaded namespace ").concat(u," for language ").concat(l),f),o.loaded(i,c,f)})}},{key:"saveMissing",value:function(i,o,s,a,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(s,'" as the namespace "').concat(o,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}s==null||s===""||(this.backend&&this.backend.create&&this.backend.create(i,o,s,a,null,ed(ed({},u),{},{isUpdate:l})),!(!i||!i[0])&&this.store.addResource(i[0],o,s,a))}}]),n}(un);function Cw(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if(on(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),on(t[2])==="object"||on(t[3])==="object"){var r=t[3]||t[2];Object.keys(r).forEach(function(i){n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:function(t,n,r,i){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function td(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function nd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Vi(){}function Nw(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(n){typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}var Vo=function(e){ms(n,e);var t=_w(n);function n(){var r,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(lt(this,n),r=t.call(this),vs&&un.call(sn(r)),r.options=td(i),r.services={},r.logger=gt,r.modules={external:[]},Nw(sn(r)),o&&!r.isInitialized&&!i.isClone){if(!r.options.initImmediate)return r.init(i,o),ki(r,sn(r));setTimeout(function(){r.init(i,o)},0)}return r}return ut(n,[{key:"init",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(s=o,o={}),!o.defaultNS&&o.defaultNS!==!1&&o.ns&&(typeof o.ns=="string"?o.defaultNS=o.ns:o.ns.indexOf("translation")<0&&(o.defaultNS=o.ns[0]));var a=Cw();this.options=ft(ft(ft({},a),this.options),td(o)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=ft(ft({},a.interpolation),this.options.interpolation)),o.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=o.keySeparator),o.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=o.nsSeparator);function l(v){return v?typeof v=="function"?new v:v:null}if(!this.options.isClone){this.modules.logger?gt.init(l(this.modules.logger),this.options):gt.init(null,this.options);var u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=xw);var c=new pw(this.options);this.store=new cw(this.options.resources,this.options);var f=this.services;f.logger=gt,f.resourceStore=this.store,f.languageUtils=c,f.pluralResolver=new yw(c,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===a.interpolation.format)&&(f.formatter=l(u),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new Sw(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new Ew(l(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(v){for(var p=arguments.length,g=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var m=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];m.forEach(function(v){i[v]=function(){var p;return(p=i.store)[v].apply(p,arguments)}});var h=["addResource","addResources","addResourceBundle","removeResourceBundle"];h.forEach(function(v){i[v]=function(){var p;return(p=i.store)[v].apply(p,arguments),i}});var y=Ir(),k=function(){var p=function(S,O){i.isInitialized&&!i.initializedStoreOnce&&i.logger.warn("init: i18next is already initialized. You should call init just once!"),i.isInitialized=!0,i.options.isClone||i.logger.log("initialized",i.options),i.emit("initialized",i.options),y.resolve(O),s(S,O)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return p(null,i.t.bind(i));i.changeLanguage(i.options.lng,p)};return this.options.resources||!this.options.initImmediate?k():setTimeout(k,0),y}},{key:"loadResources",value:function(i){var o=this,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Vi,a=s,l=typeof i=="string"?i:this.language;if(typeof i=="function"&&(a=i),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return a();var u=[],c=function(m){if(!!m){var h=o.services.languageUtils.toResolveHierarchy(m);h.forEach(function(y){u.indexOf(y)<0&&u.push(y)})}};if(l)c(l);else{var f=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);f.forEach(function(d){return c(d)})}this.options.preload&&this.options.preload.forEach(function(d){return c(d)}),this.services.backendConnector.load(u,this.options.ns,function(d){!d&&!o.resolvedLanguage&&o.language&&o.setResolvedLanguage(o.language),a(d)})}else a(null)}},{key:"reloadResources",value:function(i,o,s){var a=Ir();return i||(i=this.languages),o||(o=this.options.ns),s||(s=Vi),this.services.backendConnector.reload(i,o,function(l){a.resolve(),s(l)}),a}},{key:"use",value:function(i){if(!i)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!i.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return i.type==="backend"&&(this.modules.backend=i),(i.type==="logger"||i.log&&i.warn&&i.error)&&(this.modules.logger=i),i.type==="languageDetector"&&(this.modules.languageDetector=i),i.type==="i18nFormat"&&(this.modules.i18nFormat=i),i.type==="postProcessor"&&fg.addPostProcessor(i),i.type==="formatter"&&(this.modules.formatter=i),i.type==="3rdParty"&&this.modules.external.push(i),this}},{key:"setResolvedLanguage",value:function(i){if(!(!i||!this.languages)&&!(["cimode","dev"].indexOf(i)>-1))for(var o=0;o-1)&&this.store.hasLanguageSomeTranslations(s)){this.resolvedLanguage=s;break}}}},{key:"changeLanguage",value:function(i,o){var s=this;this.isLanguageChangingTo=i;var a=Ir();this.emit("languageChanging",i);var l=function(d){s.language=d,s.languages=s.services.languageUtils.toResolveHierarchy(d),s.resolvedLanguage=void 0,s.setResolvedLanguage(d)},u=function(d,m){m?(l(m),s.translator.changeLanguage(m),s.isLanguageChangingTo=void 0,s.emit("languageChanged",m),s.logger.log("languageChanged",m)):s.isLanguageChangingTo=void 0,a.resolve(function(){return s.t.apply(s,arguments)}),o&&o(d,function(){return s.t.apply(s,arguments)})},c=function(d){!i&&!d&&s.services.languageDetector&&(d=[]);var m=typeof d=="string"?d:s.services.languageUtils.getBestMatchFromCodes(d);m&&(s.language||l(m),s.translator.language||s.translator.changeLanguage(m),s.services.languageDetector&&s.services.languageDetector.cacheUserLanguage(m)),s.loadResources(m,function(h){u(h,m)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?c(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(c):c(i),a}},{key:"getFixedT",value:function(i,o,s){var a=this,l=function u(c,f){var d;if(on(f)!=="object"){for(var m=arguments.length,h=new Array(m>2?m-2:0),y=2;y1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var a=this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(a.toLowerCase()==="cimode")return!0;var c=function(m,h){var y=o.services.backendConnector.state["".concat(m,"|").concat(h)];return y===-1||y===2};if(s.precheck){var f=s.precheck(this,c);if(f!==void 0)return f}return!!(this.hasResourceBundle(a,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||c(a,i)&&(!l||c(u,i)))}},{key:"loadNamespaces",value:function(i,o){var s=this,a=Ir();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(l){s.options.ns.indexOf(l)<0&&s.options.ns.push(l)}),this.loadResources(function(l){a.resolve(),o&&o(l)}),a):(o&&o(),Promise.resolve())}},{key:"loadLanguages",value:function(i,o){var s=Ir();typeof i=="string"&&(i=[i]);var a=this.options.preload||[],l=i.filter(function(u){return a.indexOf(u)<0});return l.length?(this.options.preload=a.concat(l),this.loadResources(function(u){s.resolve(),o&&o(u)}),s):(o&&o(),Promise.resolve())}},{key:"dir",value:function(i){if(i||(i=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!i)return"rtl";var o=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"];return o.indexOf(this.services.languageUtils.getLanguagePartFromCode(i))>-1||i.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Vi,a=ft(ft(ft({},this.options),o),{isClone:!0}),l=new n(a);(o.debug!==void 0||o.prefix!==void 0)&&(l.logger=l.logger.clone(o));var u=["store","services","language"];return u.forEach(function(c){l[c]=i[c]}),l.services=ft({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new Gf(l.services,l.options),l.translator.on("*",function(c){for(var f=arguments.length,d=new Array(f>1?f-1:0),m=1;m0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new Vo(e,t)});var Ce=Vo.createInstance();Ce.createInstance=Vo.createInstance;Ce.createInstance;Ce.init;Ce.loadResources;Ce.reloadResources;Ce.use;Ce.changeLanguage;Ce.getFixedT;Ce.t;Ce.exists;Ce.setDefaultNamespace;Ce.hasLoadedNamespace;Ce.loadNamespaces;Ce.loadLanguages;const Iw="Stable Diffusion UI",bw="",Lw={home:"Home",history:"History",community:"Community",settings:"Settings"},Tw={"status-starting":"Stable Diffusion is starting...","status-ready":"Stable Diffusion is ready to use!","status-error":"Stable Diffusion is not running!","editor-title":"Prompt","initial-img-txt":"Initial Image: (optional)","initial-img-btn":"Browse...","initial-img-text2":"No file selected.","make-img-btn":"Make Image","make-img-btn-stop":"Stop"},Dw={"base-img":"Use base image:",seed:"Seed:","amount-of-img":"Amount of images to make:","how-many":"How many at once:","stream-img":"Stream images (this will slow down image generation):",width:"Width:",height:"Height:",sampler:"Sampler:",steps:"Number of inference steps:","guide-scale":"Guidance Scale:","prompt-str":"Prompt Strength:","live-preview":"Show a live preview of the image (disable this for faster image generation)","fix-face":"Fix incorrect faces and eyes (uses GFPGAN)",ups:"Upscale the image to 4x resolution using:","no-ups":"No Upscaling",corrected:"Show only the corrected/upscaled image"},Fw={txt:"Image Modifiers (art styles, tags etc)"},Mw={"use-btn":"Use Image","use-btn2":"Use Image and Tags"},jw={fave:"Favorites Only",search:"Search"},Aw={ast:"Automatically save to","ast-disc":"File path to auto save your creations",place:"File path",cps:"Cross profile sharing","cps-disc":"Profiles will see suggestions from each other.",acb:"Allow cloud backup","acb-disc":"A button will show up for images on hover","acb-place":"Choose your","acc-api":"Api key","acb-api-place":"Your API key",save:"SAVE"},$w=`If you found this project useful and want to help keep it alive, please to help cover the cost of development and maintenance! Thank you for your support! +`));return P.exports.cloneElement(u,Object.assign({},pg(u.props,wl(sa(a,["ref"]))),c,l,u1(u.ref,l.ref)))}return P.exports.createElement(i,Object.assign({},sa(a,["ref"]),i!==P.exports.Fragment&&l,i!==P.exports.Fragment&&c),u)}function u1(...e){return{ref:e.every(t=>t==null)?void 0:t=>{for(let n of e)n!=null&&(typeof n=="function"?n(t):n.current=t)}}}function pg(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},n={};for(let r of e)for(let i in r)i.startsWith("on")&&typeof r[i]=="function"?(n[i]!=null||(n[i]=[]),n[i].push(r[i])):t[i]=r[i];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map(r=>[r,void 0])));for(let r in n)Object.assign(t,{[r](i,...o){let s=n[r];for(let a of s){if((i instanceof Event||(i==null?void 0:i.nativeEvent)instanceof Event)&&i.defaultPrevented)return;a(i,...o)}}});return t}function ze(e){var t;return Object.assign(P.exports.forwardRef(e),{displayName:(t=e.displayName)!=null?t:e.name})}function wl(e){let t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function sa(e,t=[]){let n=Object.assign({},e);for(let r of t)r in n&&delete n[r];return n}function Mu(e){let t=e.parentElement,n=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(n=t),t=t.parentElement;let r=(t==null?void 0:t.getAttribute("disabled"))==="";return r&&c1(n)?!1:r}function c1(e){if(!e)return!1;let t=e.previousElementSibling;for(;t!==null;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}function f1(e){var t;let n=(t=e==null?void 0:e.form)!=null?t:e.closest("form");if(n){for(let r of n.elements)if(r.tagName==="INPUT"&&r.type==="submit"||r.tagName==="BUTTON"&&r.type==="submit"||r.nodeName==="INPUT"&&r.type==="image"){r.click();return}}}let d1="div";var _r=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(_r||{});let Er=ze(function(e,t){let{features:n=1,...r}=e,i={ref:t,"aria-hidden":(n&2)===2?!0:void 0,style:{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 Ie({ourProps:i,theirProps:r,slot:{},defaultTag:d1,name:"Hidden"})}),ju=P.exports.createContext(null);ju.displayName="OpenClosedContext";var Pi=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Pi||{});function hg(){return P.exports.useContext(ju)}function p1({value:e,children:t}){return G.createElement(ju.Provider,{value:e},t)}var se=(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))(se||{});function h1(e,t,n){let[r,i]=P.exports.useState(n),o=e!==void 0;return[o?e:r,q(s=>(o||i(s),t==null?void 0:t(s)))]}function g1(e,t,n){let r=Dn(t);P.exports.useEffect(()=>{function i(o){r.current(o)}return window.addEventListener(e,i,n),()=>window.removeEventListener(e,i,n)},[e,n])}var Tn=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(Tn||{});function gg(){let e=P.exports.useRef(0);return g1("keydown",t=>{t.key==="Tab"&&(e.current=t.shiftKey?1:0)},!0),e}function Au(...e){return P.exports.useMemo(()=>Lu(...e),[...e])}function m1(e,t,n,r){let i=Dn(n);P.exports.useEffect(()=>{e=e!=null?e:window;function o(s){i.current(s)}return e.addEventListener(t,o,r),()=>e.removeEventListener(t,o,r)},[e,t,r])}let mg=P.exports.createContext(null);function vg(){let e=P.exports.useContext(mg);if(e===null){let t=new Error("You used a component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(t,vg),t}return e}function v1(){let[e,t]=P.exports.useState([]);return[e.length>0?e.join(" "):void 0,P.exports.useMemo(()=>function(n){let r=q(o=>(t(s=>[...s,o]),()=>t(s=>{let a=s.slice(),l=a.indexOf(o);return l!==-1&&a.splice(l,1),a}))),i=P.exports.useMemo(()=>({register:r,slot:n.slot,name:n.name,props:n.props}),[r,n.slot,n.name,n.props]);return G.createElement(mg.Provider,{value:i},n.children)},[t])]}let y1="p",S1=ze(function(e,t){let n=vg(),r=`headlessui-description-${yt()}`,i=Ue(t);Wt(()=>n.register(r),[r,n.register]);let o=e,s={ref:i,...n.props,id:r};return Ie({ourProps:s,theirProps:o,slot:n.slot||{},defaultTag:y1,name:n.name||"Description"})});var w1=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(w1||{}),x1=(e=>(e[e.TogglePopover=0]="TogglePopover",e[e.ClosePopover=1]="ClosePopover",e[e.SetButton=2]="SetButton",e[e.SetButtonId=3]="SetButtonId",e[e.SetPanel=4]="SetPanel",e[e.SetPanelId=5]="SetPanelId",e))(x1||{});let P1={[0]:e=>({...e,popoverState:St(e.popoverState,{[0]:1,[1]:0})}),[1](e){return e.popoverState===1?e:{...e,popoverState:1}},[2](e,t){return e.button===t.button?e:{...e,button:t.button}},[3](e,t){return e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId}},[4](e,t){return e.panel===t.panel?e:{...e,panel:t.panel}},[5](e,t){return e.panelId===t.panelId?e:{...e,panelId:t.panelId}}},$u=P.exports.createContext(null);$u.displayName="PopoverContext";function ws(e){let t=P.exports.useContext($u);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,ws),n}return t}let Uu=P.exports.createContext(null);Uu.displayName="PopoverAPIContext";function zu(e){let t=P.exports.useContext(Uu);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,zu),n}return t}let Bu=P.exports.createContext(null);Bu.displayName="PopoverGroupContext";function yg(){return P.exports.useContext(Bu)}let Qu=P.exports.createContext(null);Qu.displayName="PopoverPanelContext";function k1(){return P.exports.useContext(Qu)}function O1(e,t){return St(t.type,P1,e,t)}let _1="div",E1=ze(function(e,t){var n;let r=`headlessui-popover-button-${yt()}`,i=`headlessui-popover-panel-${yt()}`,o=P.exports.useRef(null),s=Ue(t,a1(k=>{o.current=k})),a=P.exports.useReducer(O1,{popoverState:1,button:null,buttonId:r,panel:null,panelId:i,beforePanelSentinel:P.exports.createRef(),afterPanelSentinel:P.exports.createRef()}),[{popoverState:l,button:u,panel:c,beforePanelSentinel:f,afterPanelSentinel:d},p]=a,g=Au((n=o.current)!=null?n:u);P.exports.useEffect(()=>p({type:3,buttonId:r}),[r,p]),P.exports.useEffect(()=>p({type:5,panelId:i}),[i,p]);let y=P.exports.useMemo(()=>{if(!u||!c)return!1;for(let k of document.querySelectorAll("body > *"))if(Number(k==null?void 0:k.contains(u))^Number(k==null?void 0:k.contains(c)))return!0;return!1},[u,c]),x=P.exports.useMemo(()=>({buttonId:r,panelId:i,close:()=>p({type:1})}),[r,i,p]),v=yg(),h=v==null?void 0:v.registerPopover,m=q(()=>{var k;return(k=v==null?void 0:v.isFocusWithinPopoverGroup())!=null?k:(g==null?void 0:g.activeElement)&&((u==null?void 0:u.contains(g.activeElement))||(c==null?void 0:c.contains(g.activeElement)))});P.exports.useEffect(()=>h==null?void 0:h(x),[h,x]),m1(g==null?void 0:g.defaultView,"focus",k=>{var E,I,j,z;l===0&&(m()||!u||!c||(I=(E=f.current)==null?void 0:E.contains)!=null&&I.call(E,k.target)||(z=(j=d.current)==null?void 0:j.contains)!=null&&z.call(j,k.target)||p({type:1}))},!0),s1([u,c],(k,E)=>{p({type:1}),fg(E,Du.Loose)||(k.preventDefault(),u==null||u.focus())},l===0);let S=q(k=>{p({type:1});let E=(()=>k?k instanceof HTMLElement?k:"current"in k&&k.current instanceof HTMLElement?k.current:u:u)();E==null||E.focus()}),_=P.exports.useMemo(()=>({close:S,isPortalled:y}),[S,y]),O=P.exports.useMemo(()=>({open:l===0,close:S}),[l,S]),C=e,b={ref:s};return G.createElement($u.Provider,{value:a},G.createElement(Uu.Provider,{value:_},G.createElement(p1,{value:St(l,{[0]:Pi.Open,[1]:Pi.Closed})},Ie({ourProps:b,theirProps:C,slot:O,defaultTag:_1,name:"Popover"}))))}),C1="button",b1=ze(function(e,t){let[n,r]=ws("Popover.Button"),{isPortalled:i}=zu("Popover.Button"),o=P.exports.useRef(null),s=`headlessui-focus-sentinel-${yt()}`,a=yg(),l=a==null?void 0:a.closeOthers,u=k1(),c=u===null?!1:u===n.panelId,f=Ue(o,t,c?null:k=>r({type:2,button:k})),d=Ue(o,t),p=Au(o),g=q(k=>{var E,I,j;if(c){if(n.popoverState===1)return;switch(k.key){case se.Space:case se.Enter:k.preventDefault(),(I=(E=k.target).click)==null||I.call(E),r({type:1}),(j=n.button)==null||j.focus();break}}else switch(k.key){case se.Space:case se.Enter:k.preventDefault(),k.stopPropagation(),n.popoverState===1&&(l==null||l(n.buttonId)),r({type:0});break;case se.Escape:if(n.popoverState!==0)return l==null?void 0:l(n.buttonId);if(!o.current||(p==null?void 0:p.activeElement)&&!o.current.contains(p.activeElement))return;k.preventDefault(),k.stopPropagation(),r({type:1});break}}),y=q(k=>{c||k.key===se.Space&&k.preventDefault()}),x=q(k=>{var E,I;Mu(k.currentTarget)||e.disabled||(c?(r({type:1}),(E=n.button)==null||E.focus()):(k.preventDefault(),k.stopPropagation(),n.popoverState===1&&(l==null||l(n.buttonId)),r({type:0}),(I=n.button)==null||I.focus()))}),v=q(k=>{k.preventDefault(),k.stopPropagation()}),h=n.popoverState===0,m=P.exports.useMemo(()=>({open:h}),[h]),S=Fu(e,o),_=e,O=c?{ref:d,type:S,onKeyDown:g,onClick:x}:{ref:f,id:n.buttonId,type:S,"aria-expanded":e.disabled?void 0:n.popoverState===0,"aria-controls":n.panel?n.panelId:void 0,onKeyDown:g,onKeyUp:y,onClick:x,onMouseDown:v},C=gg(),b=q(()=>{let k=n.panel;if(!k)return;function E(){St(C.current,{[Tn.Forwards]:()=>nt(k,me.First),[Tn.Backwards]:()=>nt(k,me.Last)})}E()});return R(lt,{children:[Ie({ourProps:O,theirProps:_,slot:m,defaultTag:C1,name:"Popover.Button"}),h&&!c&&i&&w(Er,{id:s,features:_r.Focusable,as:"button",type:"button",onFocus:b})]})}),R1="div",N1=Un.RenderStrategy|Un.Static,T1=ze(function(e,t){let[{popoverState:n},r]=ws("Popover.Overlay"),i=Ue(t),o=`headlessui-popover-overlay-${yt()}`,s=hg(),a=(()=>s!==null?s===Pi.Open:n===0)(),l=q(c=>{if(Mu(c.currentTarget))return c.preventDefault();r({type:1})}),u=P.exports.useMemo(()=>({open:n===0}),[n]);return Ie({ourProps:{ref:i,id:o,"aria-hidden":!0,onClick:l},theirProps:e,slot:u,defaultTag:R1,features:N1,visible:a,name:"Popover.Overlay"})}),I1="div",L1=Un.RenderStrategy|Un.Static,D1=ze(function(e,t){let{focus:n=!1,...r}=e,[i,o]=ws("Popover.Panel"),{close:s,isPortalled:a}=zu("Popover.Panel"),l=`headlessui-focus-sentinel-before-${yt()}`,u=`headlessui-focus-sentinel-after-${yt()}`,c=P.exports.useRef(null),f=Ue(c,t,_=>{o({type:4,panel:_})}),d=Au(c),p=hg(),g=(()=>p!==null?p===Pi.Open:i.popoverState===0)(),y=q(_=>{var O;switch(_.key){case se.Escape:if(i.popoverState!==0||!c.current||(d==null?void 0:d.activeElement)&&!c.current.contains(d.activeElement))return;_.preventDefault(),_.stopPropagation(),o({type:1}),(O=i.button)==null||O.focus();break}});P.exports.useEffect(()=>{var _;e.static||i.popoverState===1&&((_=e.unmount)!=null?_:!0)&&o({type:4,panel:null})},[i.popoverState,e.unmount,e.static,o]),P.exports.useEffect(()=>{if(!n||i.popoverState!==0||!c.current)return;let _=d==null?void 0:d.activeElement;c.current.contains(_)||nt(c.current,me.First)},[n,c,i.popoverState]);let x=P.exports.useMemo(()=>({open:i.popoverState===0,close:s}),[i,s]),v={ref:f,id:i.panelId,onKeyDown:y,onBlur:n&&i.popoverState===0?_=>{var O,C,b,k,E;let I=_.relatedTarget;!I||!c.current||(O=c.current)!=null&&O.contains(I)||(o({type:1}),(((b=(C=i.beforePanelSentinel.current)==null?void 0:C.contains)==null?void 0:b.call(C,I))||((E=(k=i.afterPanelSentinel.current)==null?void 0:k.contains)==null?void 0:E.call(k,I)))&&I.focus({preventScroll:!0}))}:void 0,tabIndex:-1},h=gg(),m=q(()=>{let _=c.current;if(!_)return;function O(){St(h.current,{[Tn.Forwards]:()=>{nt(_,me.First)},[Tn.Backwards]:()=>{var C;(C=i.button)==null||C.focus({preventScroll:!0})}})}O()}),S=q(()=>{let _=c.current;if(!_)return;function O(){St(h.current,{[Tn.Forwards]:()=>{var C,b,k;if(!i.button)return;let E=cg(),I=E.indexOf(i.button),j=E.slice(0,I+1),z=[...E.slice(I+1),...j];for(let H of z.slice())if(((b=(C=H==null?void 0:H.id)==null?void 0:C.startsWith)==null?void 0:b.call(C,"headlessui-focus-sentinel-"))||((k=i.panel)==null?void 0:k.contains(H))){let Oe=z.indexOf(H);Oe!==-1&&z.splice(Oe,1)}nt(z,me.First,!1)},[Tn.Backwards]:()=>nt(_,me.Last)})}O()});return G.createElement(Qu.Provider,{value:i.panelId},g&&a&&w(Er,{id:l,ref:i.beforePanelSentinel,features:_r.Focusable,as:"button",type:"button",onFocus:m}),Ie({ourProps:v,theirProps:r,slot:x,defaultTag:I1,features:L1,visible:g,name:"Popover.Panel"}),g&&a&&w(Er,{id:u,ref:i.afterPanelSentinel,features:_r.Focusable,as:"button",type:"button",onFocus:S}))}),F1="div",M1=ze(function(e,t){let n=P.exports.useRef(null),r=Ue(n,t),[i,o]=P.exports.useState([]),s=q(g=>{o(y=>{let x=y.indexOf(g);if(x!==-1){let v=y.slice();return v.splice(x,1),v}return y})}),a=q(g=>(o(y=>[...y,g]),()=>s(g))),l=q(()=>{var g;let y=Lu(n);if(!y)return!1;let x=y.activeElement;return(g=n.current)!=null&&g.contains(x)?!0:i.some(v=>{var h,m;return((h=y.getElementById(v.buttonId))==null?void 0:h.contains(x))||((m=y.getElementById(v.panelId))==null?void 0:m.contains(x))})}),u=q(g=>{for(let y of i)y.buttonId!==g&&y.close()}),c=P.exports.useMemo(()=>({registerPopover:a,unregisterPopover:s,isFocusWithinPopoverGroup:l,closeOthers:u}),[a,s,l,u]),f=P.exports.useMemo(()=>({}),[]),d=e,p={ref:r};return G.createElement(Bu.Provider,{value:c},Ie({ourProps:p,theirProps:d,slot:f,defaultTag:F1,name:"Popover.Group"}))}),fr=Object.assign(E1,{Button:b1,Overlay:T1,Panel:D1,Group:M1}),Sg=P.exports.createContext(null);function wg(){let e=P.exports.useContext(Sg);if(e===null){let t=new Error("You used a